Mercurial > repos > goeckslab > vitessce_spatial
view static/js/2.eb2fd6ea.chunk.js @ 3:7cc457aa78b1 draft default tip
planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/vitessce commit af71ccb3b89c9735c6f985a3e8ffe22cd14c0e04
author | goeckslab |
---|---|
date | Thu, 30 May 2024 17:24:44 +0000 |
parents | 9f60ef2d586e |
children |
line wrap: on
line source
/*! For license information please see 2.eb2fd6ea.chunk.js.LICENSE.txt */ (this.webpackJsonpvitessce=this.webpackJsonpvitessce||[]).push([[2],[function(e,t,A){"use strict";e.exports=A(750)},function(e,t,A){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";function n(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}A.d(t,"a",(function(){return n}))},function(e,t,A){e.exports=A(853)},function(e,t,A){"use strict";function n(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function r(e,t,A){return t&&n(e.prototype,t),A&&n(e,A),e}A.d(t,"a",(function(){return r}))},function(e,t,A){"use strict";function n(e,t,A){return e.fields=t||[],e.fname=A,e}function r(e){return null==e?null:e.fname}function i(e){return null==e?null:e.fields}function o(e){return 1===e.length?a(e[0]):s(e)}A.d(t,"a",(function(){return v})),A.d(t,"b",(function(){return E})),A.d(t,"c",(function(){return y})),A.d(t,"d",(function(){return p})),A.d(t,"e",(function(){return Q})),A.d(t,"f",(function(){return n})),A.d(t,"g",(function(){return i})),A.d(t,"h",(function(){return r})),A.d(t,"i",(function(){return X})),A.d(t,"j",(function(){return ee})),A.d(t,"k",(function(){return q})),A.d(t,"l",(function(){return $})),A.d(t,"m",(function(){return re})),A.d(t,"n",(function(){return ie})),A.d(t,"o",(function(){return g})),A.d(t,"p",(function(){return oe})),A.d(t,"q",(function(){return ae})),A.d(t,"r",(function(){return se})),A.d(t,"s",(function(){return d})),A.d(t,"t",(function(){return le})),A.d(t,"u",(function(){return u})),A.d(t,"v",(function(){return Ie})),A.d(t,"w",(function(){return ce})),A.d(t,"x",(function(){return l})),A.d(t,"y",(function(){return I})),A.d(t,"z",(function(){return Ce})),A.d(t,"A",(function(){return he})),A.d(t,"B",(function(){return b})),A.d(t,"C",(function(){return fe})),A.d(t,"D",(function(){return de})),A.d(t,"E",(function(){return z})),A.d(t,"F",(function(){return Be})),A.d(t,"G",(function(){return pe})),A.d(t,"H",(function(){return w})),A.d(t,"I",(function(){return Ee})),A.d(t,"J",(function(){return Qe})),A.d(t,"K",(function(){return ye})),A.d(t,"L",(function(){return ve})),A.d(t,"M",(function(){return m})),A.d(t,"N",(function(){return me})),A.d(t,"O",(function(){return be})),A.d(t,"P",(function(){return F})),A.d(t,"Q",(function(){return h})),A.d(t,"R",(function(){return Se})),A.d(t,"S",(function(){return L})),A.d(t,"T",(function(){return T})),A.d(t,"U",(function(){return Z})),A.d(t,"V",(function(){return H})),A.d(t,"W",(function(){return G})),A.d(t,"X",(function(){return K})),A.d(t,"Y",(function(){return we})),A.d(t,"Z",(function(){return Fe})),A.d(t,"ab",(function(){return c})),A.d(t,"bb",(function(){return Re})),A.d(t,"cb",(function(){return De})),A.d(t,"db",(function(){return ke})),A.d(t,"eb",(function(){return k})),A.d(t,"fb",(function(){return Ne})),A.d(t,"gb",(function(){return xe})),A.d(t,"hb",(function(){return Ue})),A.d(t,"ib",(function(){return f})),A.d(t,"jb",(function(){return W})),A.d(t,"kb",(function(){return _e})),A.d(t,"lb",(function(){return R})),A.d(t,"mb",(function(){return C})),A.d(t,"nb",(function(){return J})),A.d(t,"ob",(function(){return j})),A.d(t,"pb",(function(){return P})),A.d(t,"qb",(function(){return V}));var a=function(e){return function(t){return t[e]}},s=function(e){var t=e.length;return function(A){for(var n=0;n<t;++n)A=A[e[n]];return A}};function g(e){throw Error(e)}function c(e){var t,A,n,r=[],i=e.length,o=null,a=0,s="";function c(){r.push(s+e.substring(t,A)),s="",t=A+1}for(e+="",t=A=0;A<i;++A)if("\\"===(n=e[A]))s+=e.substring(t,A),s+=e.substring(++A,++A),t=A;else if(n===o)c(),o=null,a=-1;else{if(o)continue;t===a&&'"'===n||t===a&&"'"===n?(t=A+1,o=n):"."!==n||a?"["===n?(A>t&&c(),a=t=A+1):"]"===n&&(a||g("Access path missing open bracket: "+e),a>0&&c(),a=0,t=A+1):A>t?c():t=A+1}return a&&g("Access path missing closing bracket: "+e),o&&g("Access path missing closing quote: "+e),A>t&&(A++,c()),r}function u(e,t,A){var r=c(e);return e=1===r.length?r[0]:e,n((A&&A.get||o)(r),[e],t||e)}var l=u("id"),I=n((function(e){return e}),[],"identity"),C=n((function(){return 0}),[],"zero"),h=n((function(){return 1}),[],"one"),f=n((function(){return!0}),[],"true"),d=n((function(){return!1}),[],"false");function B(e,t,A){var n=[t].concat([].slice.call(A));console[e].apply(console,n)}var p=0,E=1,Q=2,y=3,v=4;function m(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:B,n=e||p;return{level:function(e){return arguments.length?(n=+e,this):n},error:function(){return n>=E&&A(t||"error","ERROR",arguments),this},warn:function(){return n>=Q&&A(t||"warn","WARN",arguments),this},info:function(){return n>=y&&A(t||"log","INFO",arguments),this},debug:function(){return n>=v&&A(t||"log","DEBUG",arguments),this}}}var b=Array.isArray;function w(e){return e===Object(e)}var S=function(e){return"__proto__"!==e};function F(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];return t.reduce((function(e,t){for(var A in t)if("signals"===A)e.signals=D(e.signals,t.signals);else{var n="legend"===A?{layout:1}:"style"===A||null;R(e,A,t[A],n)}return e}),{})}function R(e,t,A,n){var r,i;if(S(t))if(w(A)&&!b(A))for(r in i=w(e[t])?e[t]:e[t]={},A)n&&(!0===n||n[r])?R(i,r,A[r]):S(r)&&(i[r]=A[r]);else e[t]=A}function D(e,t){if(null==e)return t;var A={},n=[];function r(e){A[e.name]||(A[e.name]=1,n.push(e))}return t.forEach(r),e.forEach(r),n}function G(e){return e[e.length-1]}function k(e){return null==e||""===e?null:+e}var x=function(e){return function(t){return e*Math.exp(t)}},N=function(e){return function(t){return Math.log(e*t)}},U=function(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}},_=function(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}},M=function(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}};function O(e,t,A,n){var r=A(e[0]),i=A(G(e)),o=(i-r)*t;return[n(r-o),n(i-o)]}function L(e,t){return O(e,t,k,I)}function T(e,t){var A=Math.sign(e[0]);return O(e,t,N(A),x(A))}function Z(e,t,A){return O(e,t,M(A),M(1/A))}function H(e,t,A){return O(e,t,U(A),_(A))}function Y(e,t,A,n,r){var i=n(e[0]),o=n(G(e)),a=null!=t?n(t):(i+o)/2;return[r(a+(i-a)*A),r(a+(o-a)*A)]}function J(e,t,A){return Y(e,t,A,k,I)}function j(e,t,A){var n=Math.sign(e[0]);return Y(e,t,A,N(n),x(n))}function P(e,t,A,n){return Y(e,t,A,M(n),M(1/n))}function V(e,t,A,n){return Y(e,t,A,U(n),_(n))}function K(e){return 1+~~(new Date(e).getMonth()/3)}function W(e){return 1+~~(new Date(e).getUTCMonth()/3)}function X(e){return null!=e?b(e)?e:[e]:[]}function q(e,t,A){var n,r=e[0],i=e[1];return i<r&&(n=i,i=r,r=n),(n=i-r)>=A-t?[t,A]:[r=Math.min(Math.max(r,t),A-n),r+n]}function z(e){return"function"===typeof e}function $(e,t,A){A=A||{},t=X(t)||[];var r=[],o=[],a={},s=A.comparator||te;return X(e).forEach((function(e,n){null!=e&&(r.push("descending"===t[n]?-1:1),o.push(e=z(e)?e:u(e,null,A)),(i(e)||[]).forEach((function(e){return a[e]=1})))})),0===o.length?null:n(s(o,r),Object.keys(a))}var ee=function(e,t){return(e<t||null==e)&&null!=t?-1:(e>t||null==t)&&null!=e?1:(t=t instanceof Date?+t:t,(e=e instanceof Date?+e:e)!==e&&t===t?-1:t!==t&&e===e?1:0)},te=function(e,t){return 1===e.length?Ae(e[0],t[0]):ne(e,t,e.length)},Ae=function(e,t){return function(A,n){return ee(e(A),e(n))*t}},ne=function(e,t,A){return t.push(0),function(n,r){for(var i,o=0,a=-1;0===o&&++a<A;)i=e[a],o=ee(i(n),i(r));return o*t[a]}};function re(e){return z(e)?e:function(){return e}}function ie(e,t){var A;return function(n){A&&clearTimeout(A),A=setTimeout((function(){return t(n),A=null}),e)}}function oe(e){for(var t,A,n=1,r=arguments.length;n<r;++n)for(A in t=arguments[n])e[A]=t[A];return e}function ae(e,t){var A,n,r,i,o=0;if(e&&(A=e.length))if(null==t){for(n=e[o];o<A&&(null==n||n!==n);n=e[++o]);for(r=i=n;o<A;++o)null!=(n=e[o])&&(n<r&&(r=n),n>i&&(i=n))}else{for(n=t(e[o]);o<A&&(null==n||n!==n);n=t(e[++o]));for(r=i=n;o<A;++o)null!=(n=t(e[o]))&&(n<r&&(r=n),n>i&&(i=n))}return[r,i]}function se(e,t){var A,n,r,i,o,a=e.length,s=-1;if(null==t){for(;++s<a;)if(null!=(n=e[s])&&n>=n){A=r=n;break}if(s===a)return[-1,-1];for(i=o=s;++s<a;)null!=(n=e[s])&&(A>n&&(A=n,i=s),r<n&&(r=n,o=s))}else{for(;++s<a;)if(null!=(n=t(e[s],s,e))&&n>=n){A=r=n;break}if(s===a)return[-1,-1];for(i=o=s;++s<a;)null!=(n=t(e[s],s,e))&&(A>n&&(A=n,i=s),r<n&&(r=n,o=s))}return[i,o]}var ge=Object.prototype.hasOwnProperty;function ce(e,t){return ge.call(e,t)}var ue={};function le(e){var t,A={};function n(e){return ce(A,e)&&A[e]!==ue}var r={size:0,empty:0,object:A,has:n,get:function(e){return n(e)?A[e]:void 0},set:function(e,t){return n(e)||(++r.size,A[e]===ue&&--r.empty),A[e]=t,this},delete:function(e){return n(e)&&(--r.size,++r.empty,A[e]=ue),this},clear:function(){r.size=r.empty=0,r.object=A={}},test:function(e){return arguments.length?(t=e,r):t},clean:function(){var e={},n=0;for(var i in A){var o=A[i];o===ue||t&&t(o)||(e[i]=o,++n)}r.size=n,r.empty=0,r.object=A=e}};return e&&Object.keys(e).forEach((function(t){r.set(t,e[t])})),r}function Ie(e,t,A,n,r,i){if(!A&&0!==A)return i;var o,a=+A,s=e[0],g=G(e);g<s&&(o=s,s=g,g=o),o=Math.abs(t-s);var c=Math.abs(g-t);return o<c&&o<=a?n:c<=a?r:i}function Ce(e,t,A){var n=e.prototype=Object.create(t.prototype);return Object.defineProperty(n,"constructor",{value:e,writable:!0,enumerable:!0,configurable:!0}),oe(n,A)}function he(e,t,A,n){var r,i=t[0],o=t[t.length-1];return i>o&&(r=i,i=o,o=r),n=void 0===n||n,((A=void 0===A||A)?i<=e:i<e)&&(n?e<=o:e<o)}function fe(e){return"boolean"===typeof e}function de(e){return"[object Date]"===Object.prototype.toString.call(e)}function Be(e){return e&&z(e[Symbol.iterator])}function pe(e){return"number"===typeof e}function Ee(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function Qe(e){return"string"===typeof e}function ye(e,t,A){e&&(e=t?X(e).map((function(e){return e.replace(/\\(.)/g,"$1")})):X(e));var r,i=e&&e.length,a=A&&A.get||o,s=function(e){return a(t?[e]:c(e))};if(i)if(1===i){var g=s(e[0]);r=function(e){return""+g(e)}}else{var u=e.map(s);r=function(e){for(var t=""+u[0](e),A=0;++A<i;)t+="|"+u[A](e);return t}}else r=function(){return""};return n(r,e,"key")}function ve(e,t){var A=e[0],n=G(e),r=+t;return r?1===r?n:A+r*(n-A):A}function me(e){var t,A,n;e=+e||1e4;var r=function(){t={},A={},n=0},i=function(r,i){return++n>e&&(A=t,t={},n=1),t[r]=i};return r(),{clear:r,has:function(e){return ce(t,e)||ce(A,e)},get:function(e){return ce(t,e)?t[e]:ce(A,e)?i(e,A[e]):void 0},set:function(e,A){return ce(t,e)?t[e]=A:i(e,A)}}}function be(e,t,A,n){var r=t.length,i=A.length;if(!i)return t;if(!r)return A;for(var o=n||new t.constructor(r+i),a=0,s=0,g=0;a<r&&s<i;++g)o[g]=e(t[a],A[s])>0?A[s++]:t[a++];for(;a<r;++a,++g)o[g]=t[a];for(;s<i;++s,++g)o[g]=A[s];return o}function we(e,t){for(var A="";--t>=0;)A+=e;return A}function Se(e,t,A,n){var r=A||" ",i=e+"",o=t-i.length;return o<=0?i:"left"===n?we(r,o)+i:"center"===n?we(r,~~(o/2))+i+we(r,Math.ceil(o/2)):i+we(r,o)}function Fe(e){return e&&G(e)-e[0]||0}function Re(e){return b(e)?"["+e.map(Re)+"]":w(e)||Qe(e)?JSON.stringify(e).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):e}function De(e){return null==e||""===e?null:!(!e||"false"===e||"0"===e)&&!!e}var Ge=function(e){return pe(e)||de(e)?e:Date.parse(e)};function ke(e,t){return t=t||Ge,null==e||""===e?null:t(e)}function xe(e){return null==e||""===e?null:e+""}function Ne(e){for(var t={},A=e.length,n=0;n<A;++n)t[e[n]]=!0;return t}function Ue(e,t,A,n){var r=null!=n?n:"\u2026",i=e+"",o=i.length,a=Math.max(0,t-r.length);return o<=t?i:"left"===A?r+i.slice(o-a):"center"===A?i.slice(0,Math.ceil(a/2))+r+i.slice(o-~~(a/2)):i.slice(0,a)+r}function _e(e,t,A){if(e)if(t)for(var n=e.length,r=0;r<n;++r){var i=t(e[r]);i&&A(i,r,e)}else e.forEach(A)}},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(203);function r(e){if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=Object(n.a)(e))){var t=0,A=function(){};return{s:A,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:A}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n=A(2);function r(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function i(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?r(Object(A),!0).forEach((function(t){Object(n.a)(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):r(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}},function(e,t,A){"use strict";var n=A(393);var r=A(203),i=A(394);function o(e,t){return Object(n.a)(e)||function(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}}(e,t)||Object(r.a)(e,t)||Object(i.a)()}A.d(t,"a",(function(){return o}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(271);function r(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Object(n.a)(e,t)}},function(e,t,A){"use strict";var n=A(16),r=A(403);function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o=A(24);function a(e,t){return!t||"object"!==i(t)&&"function"!==typeof t?Object(o.a)(e):t}function s(e){return function(){var t,A=Object(n.a)(e);if(Object(r.a)()){var i=Object(n.a)(this).constructor;t=Reflect.construct(A,arguments,i)}else t=A.apply(this,arguments);return a(this,t)}}A.d(t,"a",(function(){return s}))},function(e,t,A){"use strict";var n=A(320);var r=A(395),i=A(203);function o(e){return function(e){if(Array.isArray(e))return Object(n.a)(e)}(e)||Object(r.a)(e)||Object(i.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}A.d(t,"a",(function(){return o}))},function(e,t,A){"use strict";function n(e,t,A,n,r,i,o){try{var a=e[i](o),s=a.value}catch(g){return void A(g)}a.done?t(s):Promise.resolve(s).then(n,r)}function r(e){return function(){var t=this,A=arguments;return new Promise((function(r,i){var o=e.apply(t,A);function a(e){n(o,r,i,a,s,"next",e)}function s(e){n(o,r,i,a,s,"throw",e)}a(void 0)}))}}A.d(t,"a",(function(){return r}))},function(e,t,A){e.exports=A(798)()},function(e,t,A){"use strict";function n(){return(n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}A.d(t,"a",(function(){return n}))},function(e,t){e.exports=function(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}},function(e,t,A){"use strict";function n(e){return(n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";var n=A(16);function r(e,t,A){return(r="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Object(n.a)(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(A):i.value}})(e,t,A||e)}A.d(t,"a",(function(){return r}))},function(e,t,A){"use strict";var n=new(A(1163).a)({id:"luma.gl"}),r=A(72),i=(A(572),A(196)),o=A(159),a=A(62),s=A(85);function g(e){var t=e.luma;if(e.canvas&&t){var A=t.canvasSizeInfo.clientWidth;return A?e.drawingBufferWidth/A:1}return 1}function c(e,t){var A=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=g(e),r=e.drawingBufferWidth,i=e.drawingBufferHeight;return l(t,n,r,i,A)}function u(e){var t="undefined"===typeof window?1:window.devicePixelRatio||1;return Number.isFinite(e)?e<=0?1:e:e?t:1}function l(e,t,A,n,r){var i,o=I(e[0],t,A),a=C(e[1],t,n,r),s=I(e[0]+1,t,A),g=s===A-1?s:s-1;return s=C(e[1]+1,t,n,r),r?(i=a,a=s=0===s?s:s+1):i=s===n-1?s:s-1,{x:o,y:a,width:Math.max(g-o+1,1),height:Math.max(i-a+1,1)}}function I(e,t,A){return Math.min(Math.round(e*t),A-1)}function C(e,t,A,n){return n?Math.max(0,A-1-Math.round(e*t)):Math.min(Math.round(e*t),A-1)}var h=Object(a.isBrowser)(),f=h&&"undefined"!==typeof document,d={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function B(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(s.a)(h,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils");var t,A=e=Object.assign({},d,e),n=A.width,r=A.height;function i(t){if(e.throwOnError)throw new Error(t);return console.error(t),null}e.onError=i;var o=e,a=o.canvas,g=y({canvas:a,width:n,height:r,onError:i});return(t=Q(g,e))?(v(t=p(t,e)),t):null}function p(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e||e._instrumented)return e;e._version=e._version||m(e),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var A=t=Object.assign({},d,t),r=A.manageState,i=A.debug;return r&&Object(o.c)(e,{copyState:!1,log:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];return n.log.apply(n,[1].concat(t))()}}),h&&i&&(a.global.makeDebugContext?(e=a.global.makeDebugContext(e,t),n.level=Math.max(n.level,1)):n.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),e._instrumented=!0,e}function E(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.canvas){var A=u(t.useDevicePixels);b(e,A,t)}else{var n=e.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in t&&"height"in t&&n.resize(t.width,t.height)}}function Q(e,t){var A=t.onError,n=null,r=function(e){return n=e.statusMessage||n};e.addEventListener("webglcontextcreationerror",r,!1);var i=t.webgl1,o=void 0===i||i,a=t.webgl2,s=void 0===a||a,g=null;return s&&(g=(g=g||e.getContext("webgl2",t))||e.getContext("experimental-webgl2",t)),o&&(g=(g=g||e.getContext("webgl",t))||e.getContext("experimental-webgl",t)),e.removeEventListener("webglcontextcreationerror",r,!1),g?(t.onContextLost&&e.addEventListener("webglcontextlost",t.onContextLost,!1),t.onContextRestored&&e.addEventListener("webglcontextrestored",t.onContextRestored,!1),g):A("Failed to create ".concat(s&&!o?"WebGL2":"WebGL"," context: ").concat(n||"Unknown error"))}function y(e){var t,A=e.canvas,n=e.width,r=void 0===n?800:n,i=e.height,o=void 0===i?600:i,a=e.onError;"string"===typeof A?(f&&"complete"===document.readyState||a("createGLContext called on canvas '".concat(A,"' before page was loaded")),t=document.getElementById(A)):A?t=A:((t=document.createElement("canvas")).id="lumagl-canvas",t.style.width=Number.isFinite(r)?"".concat(r,"px"):"100%",t.style.height=Number.isFinite(o)?"".concat(o,"px"):"100%",document.body.insertBefore(t,document.body.firstChild));return t}function v(e){var t=Object(r.e)(e)?"WebGL2":"WebGL1",A=function(e){var t=e.getParameter(7936),A=e.getParameter(7937),n=e.getExtension("WEBGL_debug_renderer_info");return{vendor:n&&e.getParameter(n.UNMASKED_VENDOR_WEBGL||7936)||t,renderer:n&&e.getParameter(n.UNMASKED_RENDERER_WEBGL||7937)||A,vendorMasked:t,rendererMasked:A,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}(e),i=A?"(".concat(A.vendor,",").concat(A.renderer,")"):"",o=e.debug?" debug":"";n.info(1,"".concat(t).concat(o," context ").concat(i))()}function m(e){return"undefined"!==typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext?2:1}function b(e,t,A){var r="width"in A?A.width:e.canvas.clientWidth,i="height"in A?A.height:e.canvas.clientHeight;r&&i||(n.log(1,"Canvas clientWidth/clientHeight is 0")(),t=1,r=e.canvas.width||1,i=e.canvas.height||1),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var o=e.luma.canvasSizeInfo;if(o.clientWidth!==r||o.clientHeight!==i||o.devicePixelRatio!==t){var a=t,s=Math.floor(r*a),g=Math.floor(i*a);e.canvas.width=s,e.canvas.height=g,e.drawingBufferWidth===s&&e.drawingBufferHeight===g||(n.warn("Device pixel ratio clamped")(),a=Math.min(e.drawingBufferWidth/r,e.drawingBufferHeight/i),e.canvas.width=Math.floor(r*a),e.canvas.height=Math.floor(i*a)),Object.assign(e.luma.canvasSizeInfo,{clientWidth:r,clientHeight:i,devicePixelRatio:t})}}A.d(t,"k",(function(){return n})),A.d(t,"i",(function(){return r.d})),A.d(t,"j",(function(){return r.e})),A.d(t,"g",(function(){return r.c})),A.d(t,"b",(function(){return r.b})),A.d(t,"a",(function(){return r.a})),A.d(t,"f",(function(){return i.a})),A.d(t,"n",(function(){return i.c})),A.d(t,"l",(function(){return i.b})),A.d(t,"o",(function(){return i.d})),A.d(t,"c",(function(){return B})),A.d(t,"m",(function(){return E})),A.d(t,"h",(function(){return p})),A.d(t,"e",(function(){return g})),A.d(t,"d",(function(){return c}))},function(e,t,A){"use strict";function n(e){var t,A,r="";if("string"===typeof e||"number"===typeof e)r+=e;else if("object"===typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(A=n(e[t]))&&(r&&(r+=" "),r+=A);else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}t.a=function(){for(var e,t,A=0,r="";A<arguments.length;)(e=arguments[A++])&&(t=n(e))&&(r&&(r+=" "),r+=t);return r}},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(204);function r(e,t){if(null==e)return{};var A,r,i=Object(n.a)(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)A=o[r],t.indexOf(A)>=0||Object.prototype.propertyIsEnumerable.call(e,A)&&(i[A]=e[A])}return i}},function(e,t,A){"use strict";A.r(t),t.default={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,FUNC_ADD:32774,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,BLEND_COLOR:32773,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,VENDOR:7936,RENDERER:7937,VERSION:7938,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,BROWSER_DEFAULT_WEBGL:37444,STATIC_DRAW:35044,STREAM_DRAW:35040,DYNAMIC_DRAW:35048,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,CULL_FACE:2884,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,BLEND:3042,DEPTH_TEST:2929,DITHER:3024,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,SCISSOR_TEST:3089,STENCIL_TEST:2960,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CONTEXT_LOST_WEBGL:37442,CW:2304,CCW:2305,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,COMPILE_STATUS:35713,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_ATTRIBUTES:35721,ACTIVE_UNIFORMS:35718,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,ALWAYS:519,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,GEQUAL:518,NOTEQUAL:517,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,TEXTURE_WIDTH:4096,TEXTURE_HEIGHT:4097,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,MAX_3D_TEXTURE_SIZE:32883,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,MAX_TEXTURE_LOD_BIAS:34045,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,RASTERIZER_DISCARD:35977,VERTEX_ARRAY_BINDING:34229,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,MAX_ELEMENT_INDEX:36203,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,RGB9_E5:35901,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2UI:36975,TEXTURE_IMMUTABLE_FORMAT:37167,TEXTURE_IMMUTABLE_LEVELS:33503,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,UNSIGNED_INT_24_8:34042,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,INT_2_10_10_10_REV:36255,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,MAX_SAMPLES:36183,SAMPLER_BINDING:35097,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,UNSIGNED_NORMALIZED:35863,SIGNED_NORMALIZED:36764,VERTEX_ATTRIB_ARRAY_INTEGER:35069,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,DEPTH24_STENCIL8:35056,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,COLOR:6144,DEPTH:6145,STENCIL:6146,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,INVALID_INDEX:4294967295,TIMEOUT_IGNORED:-1,MAX_CLIENT_WAIT_TIMEOUT_WEBGL:37447,VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE:35070,UNMASKED_VENDOR_WEBGL:37445,UNMASKED_RENDERER_WEBGL:37446,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047,TEXTURE_MAX_ANISOTROPY_EXT:34046,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35986,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,UNSIGNED_INT_24_8_WEBGL:34042,HALF_FLOAT_OES:36193,RGBA32F_EXT:34836,RGB32F_EXT:34837,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT:33297,UNSIGNED_NORMALIZED_EXT:35863,MIN_EXT:32775,MAX_EXT:32776,SRGB_EXT:35904,SRGB_ALPHA_EXT:35906,SRGB8_ALPHA8_EXT:35907,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT:33296,FRAGMENT_SHADER_DERIVATIVE_HINT_OES:35723,COLOR_ATTACHMENT0_WEBGL:36064,COLOR_ATTACHMENT1_WEBGL:36065,COLOR_ATTACHMENT2_WEBGL:36066,COLOR_ATTACHMENT3_WEBGL:36067,COLOR_ATTACHMENT4_WEBGL:36068,COLOR_ATTACHMENT5_WEBGL:36069,COLOR_ATTACHMENT6_WEBGL:36070,COLOR_ATTACHMENT7_WEBGL:36071,COLOR_ATTACHMENT8_WEBGL:36072,COLOR_ATTACHMENT9_WEBGL:36073,COLOR_ATTACHMENT10_WEBGL:36074,COLOR_ATTACHMENT11_WEBGL:36075,COLOR_ATTACHMENT12_WEBGL:36076,COLOR_ATTACHMENT13_WEBGL:36077,COLOR_ATTACHMENT14_WEBGL:36078,COLOR_ATTACHMENT15_WEBGL:36079,DRAW_BUFFER0_WEBGL:34853,DRAW_BUFFER1_WEBGL:34854,DRAW_BUFFER2_WEBGL:34855,DRAW_BUFFER3_WEBGL:34856,DRAW_BUFFER4_WEBGL:34857,DRAW_BUFFER5_WEBGL:34858,DRAW_BUFFER6_WEBGL:34859,DRAW_BUFFER7_WEBGL:34860,DRAW_BUFFER8_WEBGL:34861,DRAW_BUFFER9_WEBGL:34862,DRAW_BUFFER10_WEBGL:34863,DRAW_BUFFER11_WEBGL:34864,DRAW_BUFFER12_WEBGL:34865,DRAW_BUFFER13_WEBGL:34866,DRAW_BUFFER14_WEBGL:34867,DRAW_BUFFER15_WEBGL:34868,MAX_COLOR_ATTACHMENTS_WEBGL:36063,MAX_DRAW_BUFFERS_WEBGL:34852,VERTEX_ARRAY_BINDING_OES:34229,QUERY_COUNTER_BITS_EXT:34916,CURRENT_QUERY_EXT:34917,QUERY_RESULT_EXT:34918,QUERY_RESULT_AVAILABLE_EXT:34919,TIME_ELAPSED_EXT:35007,TIMESTAMP_EXT:36392,GPU_DISJOINT_EXT:36795}},function(e,t,A){"use strict";A.r(t);var n=A(156);A.d(t,"Vector2",(function(){return n.g})),A.d(t,"Vector3",(function(){return n.h})),A.d(t,"Vector4",(function(){return n.i})),A.d(t,"Matrix3",(function(){return n.b})),A.d(t,"Matrix4",(function(){return n.c})),A.d(t,"Quaternion",(function(){return n.e})),A.d(t,"config",(function(){return n.u})),A.d(t,"configure",(function(){return n.v})),A.d(t,"formatValue",(function(){return n.A})),A.d(t,"isArray",(function(){return n.B})),A.d(t,"clone",(function(){return n.t})),A.d(t,"equals",(function(){return n.y})),A.d(t,"exactEquals",(function(){return n.z})),A.d(t,"toRadians",(function(){return n.H})),A.d(t,"toDegrees",(function(){return n.G})),A.d(t,"radians",(function(){return n.D})),A.d(t,"degrees",(function(){return n.x})),A.d(t,"sin",(function(){return n.E})),A.d(t,"cos",(function(){return n.w})),A.d(t,"tan",(function(){return n.F})),A.d(t,"asin",(function(){return n.o})),A.d(t,"acos",(function(){return n.n})),A.d(t,"atan",(function(){return n.q})),A.d(t,"clamp",(function(){return n.s})),A.d(t,"lerp",(function(){return n.C})),A.d(t,"withEpsilon",(function(){return n.I})),A.d(t,"checkNumber",(function(){return n.r})),A.d(t,"_MathUtils",(function(){return n.k})),A.d(t,"SphericalCoordinates",(function(){return n.f})),A.d(t,"Pose",(function(){return n.d})),A.d(t,"Euler",(function(){return n.a})),A.d(t,"assert",(function(){return n.p})),A.d(t,"_SphericalCoordinates",(function(){return n.m})),A.d(t,"_Pose",(function(){return n.l})),A.d(t,"_Euler",(function(){return n.j}))},function(e,t,A){"use strict";function n(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";function n(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";function n(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"p",(function(){return r})),A.d(t,"e",(function(){return i})),A.d(t,"a",(function(){return o})),A.d(t,"g",(function(){return a})),A.d(t,"o",(function(){return s})),A.d(t,"n",(function(){return g})),A.d(t,"j",(function(){return c})),A.d(t,"k",(function(){return u})),A.d(t,"l",(function(){return l})),A.d(t,"m",(function(){return I})),A.d(t,"d",(function(){return C})),A.d(t,"b",(function(){return h})),A.d(t,"c",(function(){return f})),A.d(t,"i",(function(){return d})),A.d(t,"h",(function(){return B})),A.d(t,"f",(function(){return p}));var n=A(31);function r(e,t){if(e===t){var A=t[1],n=t[2],r=t[3],i=t[6],o=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=A,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=i,e[11]=t[14],e[12]=r,e[13]=o,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function i(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=t[4],a=t[5],s=t[6],g=t[7],c=t[8],u=t[9],l=t[10],I=t[11],C=t[12],h=t[13],f=t[14],d=t[15],B=A*a-n*o,p=A*s-r*o,E=A*g-i*o,Q=n*s-r*a,y=n*g-i*a,v=r*g-i*s,m=c*h-u*C,b=c*f-l*C,w=c*d-I*C,S=u*f-l*h,F=u*d-I*h,R=l*d-I*f,D=B*R-p*F+E*S+Q*w-y*b+v*m;return D?(D=1/D,e[0]=(a*R-s*F+g*S)*D,e[1]=(r*F-n*R-i*S)*D,e[2]=(h*v-f*y+d*Q)*D,e[3]=(l*y-u*v-I*Q)*D,e[4]=(s*w-o*R-g*b)*D,e[5]=(A*R-r*w+i*b)*D,e[6]=(f*E-C*v-d*p)*D,e[7]=(c*v-l*E+I*p)*D,e[8]=(o*F-a*w+g*m)*D,e[9]=(n*w-A*F-i*m)*D,e[10]=(C*y-h*E+d*B)*D,e[11]=(u*E-c*y-I*B)*D,e[12]=(a*b-o*S-s*m)*D,e[13]=(A*S-n*b+r*m)*D,e[14]=(h*p-C*Q-f*B)*D,e[15]=(c*Q-u*p+l*B)*D,e):null}function o(e){var t=e[0],A=e[1],n=e[2],r=e[3],i=e[4],o=e[5],a=e[6],s=e[7],g=e[8],c=e[9],u=e[10],l=e[11],I=e[12],C=e[13],h=e[14],f=e[15];return(t*o-A*i)*(u*f-l*h)-(t*a-n*i)*(c*f-l*C)+(t*s-r*i)*(c*h-u*C)+(A*a-n*o)*(g*f-l*I)-(A*s-r*o)*(g*h-u*I)+(n*s-r*a)*(g*C-c*I)}function a(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],g=t[6],c=t[7],u=t[8],l=t[9],I=t[10],C=t[11],h=t[12],f=t[13],d=t[14],B=t[15],p=A[0],E=A[1],Q=A[2],y=A[3];return e[0]=p*n+E*a+Q*u+y*h,e[1]=p*r+E*s+Q*l+y*f,e[2]=p*i+E*g+Q*I+y*d,e[3]=p*o+E*c+Q*C+y*B,p=A[4],E=A[5],Q=A[6],y=A[7],e[4]=p*n+E*a+Q*u+y*h,e[5]=p*r+E*s+Q*l+y*f,e[6]=p*i+E*g+Q*I+y*d,e[7]=p*o+E*c+Q*C+y*B,p=A[8],E=A[9],Q=A[10],y=A[11],e[8]=p*n+E*a+Q*u+y*h,e[9]=p*r+E*s+Q*l+y*f,e[10]=p*i+E*g+Q*I+y*d,e[11]=p*o+E*c+Q*C+y*B,p=A[12],E=A[13],Q=A[14],y=A[15],e[12]=p*n+E*a+Q*u+y*h,e[13]=p*r+E*s+Q*l+y*f,e[14]=p*i+E*g+Q*I+y*d,e[15]=p*o+E*c+Q*C+y*B,e}function s(e,t,A){var n,r,i,o,a,s,g,c,u,l,I,C,h=A[0],f=A[1],d=A[2];return t===e?(e[12]=t[0]*h+t[4]*f+t[8]*d+t[12],e[13]=t[1]*h+t[5]*f+t[9]*d+t[13],e[14]=t[2]*h+t[6]*f+t[10]*d+t[14],e[15]=t[3]*h+t[7]*f+t[11]*d+t[15]):(n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],g=t[6],c=t[7],u=t[8],l=t[9],I=t[10],C=t[11],e[0]=n,e[1]=r,e[2]=i,e[3]=o,e[4]=a,e[5]=s,e[6]=g,e[7]=c,e[8]=u,e[9]=l,e[10]=I,e[11]=C,e[12]=n*h+a*f+u*d+t[12],e[13]=r*h+s*f+l*d+t[13],e[14]=i*h+g*f+I*d+t[14],e[15]=o*h+c*f+C*d+t[15]),e}function g(e,t,A){var n=A[0],r=A[1],i=A[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function c(e,t,A,r){var i,o,a,s,g,c,u,l,I,C,h,f,d,B,p,E,Q,y,v,m,b,w,S,F,R=r[0],D=r[1],G=r[2],k=Math.hypot(R,D,G);return k<n.b?null:(R*=k=1/k,D*=k,G*=k,i=Math.sin(A),a=1-(o=Math.cos(A)),s=t[0],g=t[1],c=t[2],u=t[3],l=t[4],I=t[5],C=t[6],h=t[7],f=t[8],d=t[9],B=t[10],p=t[11],E=R*R*a+o,Q=D*R*a+G*i,y=G*R*a-D*i,v=R*D*a-G*i,m=D*D*a+o,b=G*D*a+R*i,w=R*G*a+D*i,S=D*G*a-R*i,F=G*G*a+o,e[0]=s*E+l*Q+f*y,e[1]=g*E+I*Q+d*y,e[2]=c*E+C*Q+B*y,e[3]=u*E+h*Q+p*y,e[4]=s*v+l*m+f*b,e[5]=g*v+I*m+d*b,e[6]=c*v+C*m+B*b,e[7]=u*v+h*m+p*b,e[8]=s*w+l*S+f*F,e[9]=g*w+I*S+d*F,e[10]=c*w+C*S+B*F,e[11]=u*w+h*S+p*F,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function u(e,t,A){var n=Math.sin(A),r=Math.cos(A),i=t[4],o=t[5],a=t[6],s=t[7],g=t[8],c=t[9],u=t[10],l=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*r+g*n,e[5]=o*r+c*n,e[6]=a*r+u*n,e[7]=s*r+l*n,e[8]=g*r-i*n,e[9]=c*r-o*n,e[10]=u*r-a*n,e[11]=l*r-s*n,e}function l(e,t,A){var n=Math.sin(A),r=Math.cos(A),i=t[0],o=t[1],a=t[2],s=t[3],g=t[8],c=t[9],u=t[10],l=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*r-g*n,e[1]=o*r-c*n,e[2]=a*r-u*n,e[3]=s*r-l*n,e[8]=i*n+g*r,e[9]=o*n+c*r,e[10]=a*n+u*r,e[11]=s*n+l*r,e}function I(e,t,A){var n=Math.sin(A),r=Math.cos(A),i=t[0],o=t[1],a=t[2],s=t[3],g=t[4],c=t[5],u=t[6],l=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*r+g*n,e[1]=o*r+c*n,e[2]=a*r+u*n,e[3]=s*r+l*n,e[4]=g*r-i*n,e[5]=c*r-o*n,e[6]=u*r-a*n,e[7]=l*r-s*n,e}function C(e,t){var A=t[0],n=t[1],r=t[2],i=t[4],o=t[5],a=t[6],s=t[8],g=t[9],c=t[10];return e[0]=Math.hypot(A,n,r),e[1]=Math.hypot(i,o,a),e[2]=Math.hypot(s,g,c),e}function h(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=A+A,a=n+n,s=r+r,g=A*o,c=n*o,u=n*a,l=r*o,I=r*a,C=r*s,h=i*o,f=i*a,d=i*s;return e[0]=1-u-C,e[1]=c+d,e[2]=l-f,e[3]=0,e[4]=c-d,e[5]=1-g-C,e[6]=I+h,e[7]=0,e[8]=l+f,e[9]=I-h,e[10]=1-g-u,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function f(e,t,A,n,r,i,o){var a=1/(A-t),s=1/(r-n),g=1/(i-o);return e[0]=2*i*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*i*s,e[6]=0,e[7]=0,e[8]=(A+t)*a,e[9]=(r+n)*s,e[10]=(o+i)*g,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*i*2*g,e[15]=0,e}function d(e,t,A,n,r){var i,o=1/Math.tan(t/2);return e[0]=o/A,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=r&&r!==1/0?(i=1/(n-r),e[10]=(r+n)*i,e[14]=2*r*n*i):(e[10]=-1,e[14]=-2*n),e}function B(e,t,A,n,r,i,o){var a=1/(t-A),s=1/(n-r),g=1/(i-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*g,e[11]=0,e[12]=(t+A)*a,e[13]=(r+n)*s,e[14]=(o+i)*g,e[15]=1,e}function p(e,t,A,r){var i,o,a,s,g,c,u,l,I,C,h=t[0],f=t[1],d=t[2],B=r[0],p=r[1],E=r[2],Q=A[0],y=A[1],v=A[2];return Math.abs(h-Q)<n.b&&Math.abs(f-y)<n.b&&Math.abs(d-v)<n.b?function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}(e):(u=h-Q,l=f-y,I=d-v,i=p*(I*=C=1/Math.hypot(u,l,I))-E*(l*=C),o=E*(u*=C)-B*I,a=B*l-p*u,(C=Math.hypot(i,o,a))?(i*=C=1/C,o*=C,a*=C):(i=0,o=0,a=0),s=l*a-I*o,g=I*i-u*a,c=u*o-l*i,(C=Math.hypot(s,g,c))?(s*=C=1/C,g*=C,c*=C):(s=0,g=0,c=0),e[0]=i,e[1]=s,e[2]=u,e[3]=0,e[4]=o,e[5]=g,e[6]=l,e[7]=0,e[8]=a,e[9]=c,e[10]=I,e[11]=0,e[12]=-(i*h+o*f+a*d),e[13]=-(s*h+g*f+c*d),e[14]=-(u*h+l*f+I*d),e[15]=1,e)}},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=A.n(i),a=(A(13),A(413)),s=A.n(a),g=A(1164),c=A(1250),u=A(532),l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(A){var i=t.defaultTheme,a=t.withTheme,l=void 0!==a&&a,I=t.name,C=Object(r.a)(t,["defaultTheme","withTheme","name"]);var h=I,f=Object(g.a)(e,Object(n.a)({defaultTheme:i,Component:A,name:I||A.displayName,classNamePrefix:h},C)),d=o.a.forwardRef((function(e,t){e.classes;var a,s=e.innerRef,g=Object(r.a)(e,["classes","innerRef"]),C=f(Object(n.a)({},A.defaultProps,e)),h=g;return("string"===typeof I||l)&&(a=Object(u.a)()||i,I&&(h=Object(c.a)({theme:a,name:I,props:g})),l&&!h.theme&&(h.theme=a)),o.a.createElement(A,Object(n.a)({ref:s||t,classes:C},h))}));return s()(d,A),d}},I=A(205);t.a=function(e,t){return l(e,Object(n.a)({defaultTheme:I.a},t))}},function(e,t,A){"use strict";A.d(t,"b",(function(){return r})),A.d(t,"g",(function(){return i})),A.d(t,"e",(function(){return o})),A.d(t,"i",(function(){return a})),A.d(t,"d",(function(){return s})),A.d(t,"c",(function(){return g})),A.d(t,"h",(function(){return c})),A.d(t,"p",(function(){return u})),A.d(t,"o",(function(){return l})),A.d(t,"q",(function(){return I})),A.d(t,"j",(function(){return C})),A.d(t,"k",(function(){return h})),A.d(t,"l",(function(){return f})),A.d(t,"a",(function(){return d})),A.d(t,"n",(function(){return B})),A.d(t,"f",(function(){return p})),A.d(t,"m",(function(){return E}));var n=A(31);function r(){var e=new n.a(3);return n.a!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function i(e){var t=e[0],A=e[1],n=e[2];return Math.hypot(t,A,n)}function o(e,t,A){var r=new n.a(3);return r[0]=e,r[1]=t,r[2]=A,r}function a(e,t){var A=t[0],n=t[1],r=t[2],i=A*A+n*n+r*r;return i>0&&(i=1/Math.sqrt(i)),e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e}function s(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function g(e,t,A){var n=t[0],r=t[1],i=t[2],o=A[0],a=A[1],s=A[2];return e[0]=r*s-i*a,e[1]=i*o-n*s,e[2]=n*a-r*o,e}function c(e,t,A,n){var r=t[0],i=t[1],o=t[2];return e[0]=r+n*(A[0]-r),e[1]=i+n*(A[1]-i),e[2]=o+n*(A[2]-o),e}function u(e,t,A){var n=t[0],r=t[1],i=t[2],o=A[3]*n+A[7]*r+A[11]*i+A[15];return o=o||1,e[0]=(A[0]*n+A[4]*r+A[8]*i+A[12])/o,e[1]=(A[1]*n+A[5]*r+A[9]*i+A[13])/o,e[2]=(A[2]*n+A[6]*r+A[10]*i+A[14])/o,e}function l(e,t,A){var n=t[0],r=t[1],i=t[2];return e[0]=n*A[0]+r*A[3]+i*A[6],e[1]=n*A[1]+r*A[4]+i*A[7],e[2]=n*A[2]+r*A[5]+i*A[8],e}function I(e,t,A){var n=A[0],r=A[1],i=A[2],o=A[3],a=t[0],s=t[1],g=t[2],c=r*g-i*s,u=i*a-n*g,l=n*s-r*a,I=r*l-i*u,C=i*c-n*l,h=n*u-r*c,f=2*o;return c*=f,u*=f,l*=f,I*=2,C*=2,h*=2,e[0]=a+c+I,e[1]=s+u+C,e[2]=g+l+h,e}function C(e,t,A,n){var r=[],i=[];return r[0]=t[0]-A[0],r[1]=t[1]-A[1],r[2]=t[2]-A[2],i[0]=r[0],i[1]=r[1]*Math.cos(n)-r[2]*Math.sin(n),i[2]=r[1]*Math.sin(n)+r[2]*Math.cos(n),e[0]=i[0]+A[0],e[1]=i[1]+A[1],e[2]=i[2]+A[2],e}function h(e,t,A,n){var r=[],i=[];return r[0]=t[0]-A[0],r[1]=t[1]-A[1],r[2]=t[2]-A[2],i[0]=r[2]*Math.sin(n)+r[0]*Math.cos(n),i[1]=r[1],i[2]=r[2]*Math.cos(n)-r[0]*Math.sin(n),e[0]=i[0]+A[0],e[1]=i[1]+A[1],e[2]=i[2]+A[2],e}function f(e,t,A,n){var r=[],i=[];return r[0]=t[0]-A[0],r[1]=t[1]-A[1],r[2]=t[2]-A[2],i[0]=r[0]*Math.cos(n)-r[1]*Math.sin(n),i[1]=r[0]*Math.sin(n)+r[1]*Math.cos(n),i[2]=r[2],e[0]=i[0]+A[0],e[1]=i[1]+A[1],e[2]=i[2]+A[2],e}function d(e,t){var A=e[0],n=e[1],r=e[2],i=t[0],o=t[1],a=t[2],g=Math.sqrt(A*A+n*n+r*r)*Math.sqrt(i*i+o*o+a*a),c=g&&s(e,t)/g;return Math.acos(Math.min(Math.max(c,-1),1))}var B=function(e,t,A){return e[0]=t[0]-A[0],e[1]=t[1]-A[1],e[2]=t[2]-A[2],e},p=i,E=function(e){var t=e[0],A=e[1],n=e[2];return t*t+A*A+n*n};!function(){var e=r()}()},function(e,t,A){"use strict";A.d(t,"b",(function(){return n})),A.d(t,"a",(function(){return r})),A.d(t,"c",(function(){return i}));var n=1e-6,r="undefined"!==typeof Float32Array?Float32Array:Array,i=Math.random;Math.PI;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)})},function(e,t,A){"use strict";A.d(t,"b",(function(){return n})),A.d(t,"a",(function(){return r})),A.d(t,"c",(function(){return i}));var n=1e-6,r="undefined"!==typeof Float32Array?Float32Array:Array,i=Math.random;Math.PI;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)})},function(e,t,A){"use strict";A.d(t,"f",(function(){return s})),A.d(t,"g",(function(){return g})),A.d(t,"l",(function(){return u})),A.d(t,"m",(function(){return l})),A.d(t,"e",(function(){return I})),A.d(t,"s",(function(){return h})),A.d(t,"r",(function(){return f})),A.d(t,"o",(function(){return d})),A.d(t,"i",(function(){return B})),A.d(t,"p",(function(){return p})),A.d(t,"h",(function(){return E})),A.d(t,"q",(function(){return Q})),A.d(t,"b",(function(){return y})),A.d(t,"a",(function(){return v})),A.d(t,"c",(function(){return m})),A.d(t,"d",(function(){return b})),A.d(t,"n",(function(){return w})),A.d(t,"j",(function(){return S})),A.d(t,"k",(function(){return F})),A.d(t,"t",(function(){return R}));var n=A(91),r=A(11),i=A(97),o=1/Math.PI*180,a=1/180*Math.PI,s={};function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in e)Object(i.a)(t in s),s[t]=e[t];return s}function c(e){return Math.round(e/s.EPSILON)*s.EPSILON}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.precision,n=void 0===A?s.precision||4:A;return e=c(e),"".concat(parseFloat(e.toPrecision(n)))}function l(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function I(e){return e.clone?e.clone():Object(n.a)(Array,Object(r.a)(e))}function C(e,t,A){if(l(e)){A=A||((r=e).clone?r.clone():new Array(r.length));for(var n=0;n<A.length&&n<e.length;++n)A[n]=t(e[n],n,A);return A}var r;return t(e)}function h(e){return d(e)}function f(e){return B(e)}function d(e,t){return C(e,(function(e){return e*a}),t)}function B(e,t){return C(e,(function(e){return e*o}),t)}function p(e){return C(e,(function(e){return Math.sin(e)}))}function E(e){return C(e,(function(e){return Math.cos(e)}))}function Q(e){return C(e,(function(e){return Math.tan(e)}))}function y(e){return C(e,(function(e){return Math.asin(e)}))}function v(e){return C(e,(function(e){return Math.acos(e)}))}function m(e){return C(e,(function(e){return Math.atan(e)}))}function b(e,t,A){return C(e,(function(e){return Math.max(t,Math.min(A,e))}))}function w(e,t,A){return l(e)?e.map((function(e,n){return w(e,t[n],A)})):A*t+(1-A)*e}function S(e,t,A){var n=s.EPSILON;A&&(s.EPSILON=A);try{if(e===t)return!0;if(l(e)&&l(t)){if(e.length!==t.length)return!1;for(var r=0;r<e.length;++r)if(!S(e[r],t[r]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):!(!Number.isFinite(e)||!Number.isFinite(t))&&Math.abs(e-t)<=s.EPSILON*Math.max(1,Math.abs(e),Math.abs(t))}finally{s.EPSILON=n}}function F(e,t){if(e===t)return!0;if(e&&"object"===typeof e&&t&&"object"===typeof t){if(e.constructor!==t.constructor)return!1;if(e.exactEquals)return e.exactEquals(t)}if(l(e)&&l(t)){if(e.length!==t.length)return!1;for(var A=0;A<e.length;++A)if(!F(e[A],t[A]))return!1;return!0}return!1}function R(e,t){var A,n=s.EPSILON;s.EPSILON=e;try{A=t()}finally{s.EPSILON=n}return A}s.EPSILON=1e-12,s.debug=!1,s.precision=4,s.printTypes=!1,s.printDegrees=!1,s.printRowMajor=!0},function(e,t,A){"use strict";A.d(t,"a",(function(){return i})),A.d(t,"b",(function(){return o})),A.d(t,"c",(function(){return s}));var n=A(32);function r(e,t){if(e.length!==t)return!1;for(var A=0;A<e.length;++A)if(!Number.isFinite(e[A]))return!1;return!0}function i(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(e));return e}function o(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(n.f.debug&&!r(e,t))throw new Error("math.gl: ".concat(A," some fields set to invalid numbers'"));return e}var a={};function s(e,t){a[e]||(a[e]=!0,console.warn("".concat(e," has been removed in version ").concat(t,", see upgrade guide for more information")))}},function(e,t,A){"use strict";A.d(t,"f",(function(){return s})),A.d(t,"p",(function(){return g})),A.d(t,"j",(function(){return c})),A.d(t,"k",(function(){return u})),A.d(t,"l",(function(){return l})),A.d(t,"m",(function(){return I})),A.d(t,"b",(function(){return C})),A.d(t,"q",(function(){return h})),A.d(t,"g",(function(){return f})),A.d(t,"c",(function(){return d})),A.d(t,"e",(function(){return B})),A.d(t,"a",(function(){return p})),A.d(t,"o",(function(){return E})),A.d(t,"d",(function(){return Q})),A.d(t,"i",(function(){return y})),A.d(t,"h",(function(){return v})),A.d(t,"r",(function(){return m})),A.d(t,"n",(function(){return w}));var n=A(31),r=A(58),i=A(29),o=A(56);function a(){var e=new n.a(4);return n.a!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function s(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function g(e,t,A){A*=.5;var n=Math.sin(A);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(A),e}function c(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3],a=A[0],s=A[1],g=A[2],c=A[3];return e[0]=n*c+o*a+r*g-i*s,e[1]=r*c+o*s+i*a-n*g,e[2]=i*c+o*g+n*s-r*a,e[3]=o*c-n*a-r*s-i*g,e}function u(e,t,A){A*=.5;var n=t[0],r=t[1],i=t[2],o=t[3],a=Math.sin(A),s=Math.cos(A);return e[0]=n*s+o*a,e[1]=r*s+i*a,e[2]=i*s-r*a,e[3]=o*s-n*a,e}function l(e,t,A){A*=.5;var n=t[0],r=t[1],i=t[2],o=t[3],a=Math.sin(A),s=Math.cos(A);return e[0]=n*s-i*a,e[1]=r*s+o*a,e[2]=i*s+n*a,e[3]=o*s-r*a,e}function I(e,t,A){A*=.5;var n=t[0],r=t[1],i=t[2],o=t[3],a=Math.sin(A),s=Math.cos(A);return e[0]=n*s+r*a,e[1]=r*s-n*a,e[2]=i*s+o*a,e[3]=o*s-i*a,e}function C(e,t){var A=t[0],n=t[1],r=t[2];return e[0]=A,e[1]=n,e[2]=r,e[3]=Math.sqrt(Math.abs(1-A*A-n*n-r*r)),e}function h(e,t,A,r){var i,o,a,s,g,c=t[0],u=t[1],l=t[2],I=t[3],C=A[0],h=A[1],f=A[2],d=A[3];return(o=c*C+u*h+l*f+I*d)<0&&(o=-o,C=-C,h=-h,f=-f,d=-d),1-o>n.b?(i=Math.acos(o),a=Math.sin(i),s=Math.sin((1-r)*i)/a,g=Math.sin(r*i)/a):(s=1-r,g=r),e[0]=s*c+g*C,e[1]=s*u+g*h,e[2]=s*l+g*f,e[3]=s*I+g*d,e}function f(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=A*A+n*n+r*r+i*i,a=o?1/o:0;return e[0]=-A*a,e[1]=-n*a,e[2]=-r*a,e[3]=i*a,e}function d(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function B(e,t){var A,n=t[0]+t[4]+t[8];if(n>0)A=Math.sqrt(n+1),e[3]=.5*A,A=.5/A,e[0]=(t[5]-t[7])*A,e[1]=(t[6]-t[2])*A,e[2]=(t[1]-t[3])*A;else{var r=0;t[4]>t[0]&&(r=1),t[8]>t[3*r+r]&&(r=2);var i=(r+1)%3,o=(r+2)%3;A=Math.sqrt(t[3*r+r]-t[3*i+i]-t[3*o+o]+1),e[r]=.5*A,A=.5/A,e[3]=(t[3*i+o]-t[3*o+i])*A,e[i]=(t[3*i+r]+t[3*r+i])*A,e[o]=(t[3*o+r]+t[3*r+o])*A}return e}o.b,o.g,o.c,o.l;var p=o.a,E=o.k,Q=o.d,y=o.i,v=o.h,m=o.m,b=o.j,w=(o.f,o.e,function(){var e=i.b(),t=i.e(1,0,0),A=i.e(0,1,0);return function(n,r,o){var a=i.d(r,o);return a<-.999999?(i.c(e,t,r),i.f(e)<1e-6&&i.c(e,A,r),i.i(e,e),g(n,e,Math.PI),n):a>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(i.c(e,r,o),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+a,b(n,n))}}());(function(){var e=a(),t=a()})(),function(){var e=r.a()}()},function(e,t,A){"use strict";A.r(t);var n=A(36),r=A(318),i=A(383),o=A(222),a=A(7),s=A(1),g=A(4),c=A(324),u=[255,255,255],l=[0,0,1],I=[0,0,1],C=0,h=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(s.a)(this,e);var A=t.color,n=void 0===A?u:A,r=t.intensity,i=void 0===r?1:r,o=t.position,g=void 0===o?I:o;this.id=t.id||"point-".concat(C++),this.color=n,this.intensity=i,this.type="point",this.position=g,this.attenuation=f(t),this.projectedLight=Object(a.a)({},this)}return Object(g.a)(e,[{key:"getProjectedLight",value:function(e){var t=e.layer,A=this.projectedLight,r=t.context.viewport,i=t.props,o=i.coordinateSystem,a=i.coordinateOrigin,s=Object(c.b)(this.position,{viewport:r,coordinateSystem:o,coordinateOrigin:a,fromCoordinateSystem:r.isGeospatial?n.a.LNGLAT:n.a.CARTESIAN,fromCoordinateOrigin:[0,0,0]});return A.color=this.color,A.intensity=this.intensity,A.position=s,A}}]),e}();function f(e){return"attenuation"in e?e.attenuation:"intensity"in e?[0,0,e.intensity]:l}var d=A(9),B=A(10),p=A(274),E=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(){return Object(s.a)(this,A),t.apply(this,arguments)}return Object(g.a)(A,[{key:"getProjectedLight",value:function(e){var t=e.layer,A=this.projectedLight,n=t.context.viewport,r=t.props,i=r.coordinateSystem,o=r.coordinateOrigin,a=r.modelMatrix,s=Object(p.b)({viewport:n,modelMatrix:a,coordinateSystem:i,coordinateOrigin:o}).project_uCameraPosition;return A.color=this.color,A.intensity=this.intensity,A.position=s,A}}]),A}(h),Q=A(8),y=A(83),v=Math.PI/180,m=23.4397*v;function b(e,t,A){var n=v*-A,r=v*t,i=function(e){return function(e){return e/864e5-.5+2440588}(e)-2451545}(e),o=function(e){var t=function(e){var t=e,A=v*(1.9148*Math.sin(t)+.02*Math.sin(2*t)+3e-4*Math.sin(3*t));return t+A+102.9372*v+Math.PI}((A=e,v*(357.5291+.98560028*A)));var A;return{declination:F(t,0),rightAscension:S(t,0)}}(i),a=function(e,t){return v*(280.147+360.9856235*e)-t}(i,n)-o.rightAscension;return{azimuth:R(a,r,o.declination),altitude:D(a,r,o.declination)}}function w(e,t,A){var n=b(e,t,A),r=n.azimuth,i=n.altitude;return[Math.sin(r)*Math.cos(i),Math.cos(r)*Math.cos(i),-Math.sin(i)]}function S(e,t){var A=e;return Math.atan2(Math.sin(A)*Math.cos(m)-Math.tan(t)*Math.sin(m),Math.cos(A))}function F(e,t){var A=e;return Math.asin(Math.sin(t)*Math.cos(m)+Math.cos(t)*Math.sin(m)*Math.sin(A))}function R(e,t,A){var n=e,r=t,i=A;return Math.atan2(Math.sin(n),Math.cos(n)*Math.sin(r)-Math.tan(i)*Math.cos(r))}function D(e,t,A){var n=e,r=t,i=A;return Math.asin(Math.sin(r)*Math.sin(i)+Math.cos(r)*Math.cos(i)*Math.cos(n))}var G=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(e){var n,r=e.timestamp,i=Object(y.a)(e,["timestamp"]);return Object(s.a)(this,A),(n=t.call(this,i)).timestamp=r,n}return Object(g.a)(A,[{key:"getProjectedLight",value:function(e){var t=e.layer.context.viewport;if(t.resolution>0){var A=w(this.timestamp,0,0),n=Object(Q.a)(A,3),r=n[0],i=n[1],o=n[2];this.direction=[r,-o,i]}else{var a=t.latitude,s=t.longitude;this.direction=w(this.timestamp,a,s)}return this}}]),A}(o.a),k=A(6),x=A(198),N=A(1257),U=A(18),_=A(428),M=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(s.a)(this,A),n=t.call(this,e,r);var i=r.module,o=r.fs,a=r.id;return n.model=new N.a(e,{id:a,fs:o,modules:[i]}),n}return Object(g.a)(A,[{key:"render",value:function(e){var t=this,A=this.gl;Object(U.n)(A,{viewport:[0,0,A.drawingBufferWidth,A.drawingBufferHeight]}),Object(U.o)(A,{framebuffer:e.outputBuffer,clearColor:[0,0,0,0]},(function(){return t._renderPass(A,e)}))}},{key:"delete",value:function(){this.model.delete(),this.model=null}},{key:"_renderPass",value:function(e,t){var A=t.inputBuffer;t.outputBuffer;Object(_.a)(e,{color:!0}),this.model.draw({moduleSettings:this.props.moduleSettings,uniforms:{texture:A,texSize:[A.width,A.height]},parameters:{depthWrite:!1,depthTest:!1}})}}]),A}(A(410).a),O=A(531),L=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(s.a)(this,A),(n=t.call(this,r)).id="".concat(e.name,"-pass"),Object(O.b)(e),n.module=e,n}return Object(g.a)(A,[{key:"postRender",value:function(e,t){this.passes||(this.passes=function(e,t,A,n){if(t.filter||t.sampler){var r=H(t);return[new M(e,{id:A,module:t,fs:r,moduleSettings:n})]}return(t.passes||[]).map((function(r,i){var o=H(t,r),a="".concat(A,"-").concat(i);return new M(e,{id:a,module:t,fs:o,moduleSettings:n})}))}(e,this.module,this.id,this.props));for(var A=t.target,n=t.inputBuffer,r=t.swapBuffer,i=0;i<this.passes.length;i++){A&&i===this.passes.length-1&&(r=A),this.passes[i].render({inputBuffer:n,outputBuffer:r});var o=r;r=n,n=o}return n}},{key:"cleanup",value:function(){if(this.passes){var e,t=Object(k.a)(this.passes);try{for(t.s();!(e=t.n()).done;){e.value.delete()}}catch(A){t.e(A)}finally{t.f()}this.passes=null}}}]),A}(x.a);var T=function(e){return"uniform sampler2D texture;\nuniform vec2 texSize;\n\nvarying vec2 position;\nvarying vec2 coordinate;\nvarying vec2 uv;\n\nvoid main() {\n vec2 texCoord = coordinate;\n\n gl_FragColor = texture2D(texture, texCoord);\n gl_FragColor = ".concat(e,"(gl_FragColor, texSize, texCoord);\n}\n")},Z=function(e){return"uniform sampler2D texture;\nuniform vec2 texSize;\n\nvarying vec2 position;\nvarying vec2 coordinate;\nvarying vec2 uv;\n\nvoid main() {\n vec2 texCoord = coordinate;\n\n gl_FragColor = ".concat(e,"(texture, texSize, texCoord);\n}\n")};function H(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;if(t.filter){var A="string"===typeof t.filter?t.filter:"".concat(e.name,"_filterColor");return T(A)}if(t.sampler){var n="string"===typeof t.sampler?t.sampler:"".concat(e.name,"_sampleColor");return Z(n)}return null}var Y=A(199),J=A(644),j=A(390),P=A(385),V=A(384),K=A(511),W=A(392),X=A(96),q=A(263),z=A(23),$=A(29),ee=A(56),te=Math.PI/180,Ae=180/Math.PI;function ne(){var e=Math.PI/180*256;return{unitsPerMeter:[256/6370972,256/6370972,256/6370972],unitsPerMeter2:[0,0,0],metersPerUnit:[24886.609375,24886.609375,24886.609375],unitsPerDegree:[e,e,256/6370972],unitsPerDegree2:[0,0,0],degreesPerUnit:[1/e,1/e,24886.609375]}}var re=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(s.a)(this,A);var r=n.latitude,i=void 0===r?0:r,o=n.longitude,g=void 0===o?0:o,c=n.zoom,u=void 0===c?11:c,l=n.nearZMultiplier,I=void 0===l?.1:l,C=n.farZMultiplier,h=void 0===C?2:C,f=n.resolution,d=void 0===f?10:f,B=n.width,p=n.height,E=n.altitude,Q=void 0===E?1.5:E;B=B||1,p=p||1,Q=Math.max(.75,Q);var y=(new z.Matrix4).lookAt({eye:[0,-Q,0],up:[0,0,1]}),v=Math.pow(2,u);y.rotateX(i*te),y.rotateZ(-g*te),y.scale(v/p);var m=Math.atan(.5/Q),b=512*v/p;return(e=t.call(this,Object(a.a)({},n,{width:B,height:p,viewMatrix:y,longitude:g,latitude:i,zoom:u,fovyRadians:2*m,aspect:B/p,focalDistance:Q,near:I,far:Math.min(2,1/b+1)*Q*h}))).resolution=d,e.distanceScales=ne(),e}return Object(g.a)(A,[{key:"getDistanceScales",value:function(){return this.distanceScales}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={targetZ:e.z||0},A=this.unproject([0,this.height/2],t),n=this.unproject([this.width/2,0],t),r=this.unproject([this.width,this.height/2],t),i=this.unproject([this.width/2,this.height],t);return r[0]<this.longitude&&(r[0]+=360),A[0]>this.longitude&&(A[0]-=360),[Math.min(A[0],r[0],n[0],i[0]),Math.min(A[1],r[1],n[1],i[1]),Math.max(A[0],r[0],n[0],i[0]),Math.max(A[1],r[1],n[1],i[1])]}},{key:"unproject",value:function(e){var t,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=A.topLeft,r=void 0===n||n,i=A.targetZ,o=Object(Q.a)(e,3),a=o[0],s=o[1],g=o[2],c=r?s:this.height-s,u=this.pixelUnprojectionMatrix;if(Number.isFinite(g))t=ie(u,[a,c,g,1]);else{var l=ie(u,[a,c,-1,1]),I=ie(u,[a,c,1,1]),C=256*((i||0)/6370972+1),h=$.m($.n([],l,I)),f=$.m(l),d=$.m(I),B=(4*f*d-Math.pow(h-f-d,2))/16,p=4*B/h,E=Math.sqrt(f-p),y=Math.sqrt(Math.max(0,C*C-p)),v=(E-y)/Math.sqrt(h);t=$.h([],l,I,v)}var m=this.unprojectPosition(t),b=Object(Q.a)(m,3),w=b[0],S=b[1],F=b[2];return Number.isFinite(g)?[w,S,F]:Number.isFinite(i)?[w,S,i]:[w,S]}},{key:"projectPosition",value:function(e){var t=Object(Q.a)(e,3),A=t[0],n=t[1],r=t[2],i=void 0===r?0:r,o=A*te,a=n*te,s=Math.cos(a),g=256*(i/6370972+1);return[Math.sin(o)*s*g,-Math.cos(o)*s*g,Math.sin(a)*g]}},{key:"unprojectPosition",value:function(e){var t=Object(Q.a)(e,3),A=t[0],n=t[1],r=t[2],i=$.f(e),o=Math.asin(r/i);return[Math.atan2(A,-n)*Ae,o*Ae,6370972*(i/256-1)]}},{key:"projectFlat",value:function(e){return e}},{key:"unprojectFlat",value:function(e){return e}},{key:"panByPosition",value:function(e,t){var A=this.unproject(t);return{longitude:e[0]-A[0]+this.longitude,latitude:e[1]-A[1]+this.latitude}}},{key:"projectionMode",get:function(){return n.c.GLOBE}}]),A}(X.a);function ie(e,t){var A=ee.n([],t,e);return ee.k(A,A,1/A[3]),A}var oe=A(576),ae=A(223),se=A(575),ge=A(655),ce=A(276),ue=A(134),le=A(381),Ie=A(42),Ce=A(133),he=A(275),fe=A(84),de={position:[0,0,0],pitch:0,bearing:0,maxPitch:90,minPitch:-90},Be=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(e){var n,r=e.width,i=e.height,o=e.position,a=void 0===o?de.position:o,g=e.bearing,c=void 0===g?de.bearing:g,u=e.pitch,l=void 0===u?de.pitch:u,I=e.longitude,C=e.latitude,h=e.maxPitch,f=void 0===h?de.maxPitch:h,d=e.minPitch,B=void 0===d?de.minPitch:d,p=e.startRotatePos,E=e.startBearing,Q=e.startPitch,y=e.startZoomPosition,v=e.startZoom;return Object(s.a)(this,A),(n=t.call(this,{width:r,height:i,position:a,bearing:c,pitch:l,longitude:I,latitude:C,maxPitch:f,minPitch:B}))._state={startRotatePos:p,startBearing:E,startPitch:Q,startZoomPosition:y,startZoom:v},n}return Object(g.a)(A,[{key:"getDirection",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=new z._SphericalCoordinates({bearing:this._viewportProps.bearing,pitch:e?90:90+this._viewportProps.pitch}),A=t.toVector3().normalize();return A}},{key:"panStart",value:function(){return this}},{key:"pan",value:function(){return this}},{key:"panEnd",value:function(){return this}},{key:"rotateStart",value:function(e){var t=e.pos;return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}},{key:"rotate",value:function(e){var t,A=e.pos,n=e.deltaAngleX,r=void 0===n?0:n,i=e.deltaAngleY,o=void 0===i?0:i,a=this._state,s=a.startRotatePos,g=a.startBearing,c=a.startPitch,u=this._viewportProps,l=u.width,I=u.height;if(!s||!Number.isFinite(g)||!Number.isFinite(c))return this;A?t={bearing:g-180*((A[0]-s[0])/l),pitch:c-90*((A[1]-s[1])/I)}:t={bearing:g-r,pitch:c-o};return this._getUpdatedState(t)}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startRotatePos:null,startBearing:null,startPitch:null})}},{key:"zoomStart",value:function(){return this._getUpdatedState({startZoomPosition:this._viewportProps.position,startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.scale,A=this._state.startZoomPosition;A||(A=this._viewportProps.position);var n=this.getDirection();return this._move(n,20*Math.log2(t),A)}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=this.getDirection(!0);return this._move(t.rotateZ({radians:Math.PI/2}),e)}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=this.getDirection(!0);return this._move(t.rotateZ({radians:-Math.PI/2}),e)}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=this.getDirection(!0);return this._move(t,e)}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=this.getDirection(!0);return this._move(t.negate(),e)}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this.zoom({scale:e})}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this.zoom({scale:1/e})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),A=Object(a.a)({},this._viewportProps),n=A.bearing,r=A.longitude;return Math.abs(n-t.bearing)>180&&(A.bearing=n<0?n+360:n-360),Math.abs(r-t.longitude)>180&&(A.longitude=r<0?r+360:r-360),A}},{key:"_move",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._viewportProps.position,n=e.scale(t);return this._getUpdatedState({position:new z.Vector3(A).add(n)})}},{key:"_getUpdatedState",value:function(e){return new A(Object(a.a)({},this._viewportProps,{},this._state,{},e))}},{key:"_applyConstraints",value:function(e){var t=e.pitch,A=e.maxPitch,n=e.minPitch,r=e.longitude,i=e.bearing;return e.pitch=Object(z.clamp)(t,n,A),(r<-180||r>180)&&(e.longitude=Object(fe.e)(r+180,360)-180),(i<-180||i>180)&&(e.bearing=Object(fe.e)(i+180,360)-180),e}}]),A}(he.a),pe=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(e){return Object(s.a)(this,A),t.call(this,Be,e)}return Object(g.a)(A,[{key:"linearTransitionProps",get:function(){return["position","pitch","bearing"]}}]),A}(Ce.a);var Ee=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(e){Object(s.a)(this,A);var n=e.modelMatrix,r=void 0===n?null:n,i=e.bearing,o=void 0===i?0:i,g=e.pitch,c=void 0===g?0:g,u=e.up,l=void 0===u?[0,0,1]:u,I=function(e){var t=e.bearing,A=e.pitch;return new z._SphericalCoordinates({bearing:t,pitch:A}).toVector3().normalize()}({bearing:o,pitch:-90===c?1e-4:90+c}),C=r?r.transformDirection(I):I,h=Object(Ie.j)(e),f=Math.pow(2,h),d=(new z.Matrix4).lookAt({eye:[0,0,0],center:C,up:l}).scale(f);return t.call(this,Object(a.a)({},e,{zoom:h,viewMatrix:d}))}return A}(X.a),Qe=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(e){return Object(s.a)(this,A),t.call(this,Object(a.a)({},e,{type:Ee}))}return Object(g.a)(A,[{key:"controller",get:function(){return this._getControllerProps({type:pe})}}]),A}(ue.a);Qe.displayName="FirstPersonView";var ye=A(582),ve=A(581),me=A(16),be=A(17),we=A(266),Se=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(){return Object(s.a)(this,A),t.apply(this,arguments)}return Object(g.a)(A,[{key:"_applyConstraints",value:function(e){var t=e.maxZoom,A=e.minZoom,n=e.zoom;e.zoom=Object(z.clamp)(n,A,t);var r=e.longitude,i=e.latitude;return(r<-180||r>180)&&(e.longitude=Object(fe.e)(r+180,360)-180),e.latitude=Object(z.clamp)(i,-89,89),e}}]),A}(we.a),Fe=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(e){return Object(s.a)(this,A),e.dragMode=e.dragMode||"pan",t.call(this,Se,e)}return Object(g.a)(A,[{key:"setProps",value:function(e){Object(be.a)(Object(me.a)(A.prototype),"setProps",this).call(this,e),this.dragRotate=!1,this.touchRotate=!1}},{key:"linearTransitionProps",get:function(){return["longitude","latitude","zoom"]}}]),A}(Ce.a),Re=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(e){return Object(s.a)(this,A),t.call(this,Object(a.a)({},e,{type:re}))}return Object(g.a)(A,[{key:"controller",get:function(){return this._getControllerProps({type:Fe})}}]),A}(ue.a);Re.displayName="GlobeView";var De=A(264),Ge=A(380),ke=A(579),xe=A(315),Ne=A(265),Ue=A(316),_e=["bearing","pitch"],Me={speed:1.2,curve:1.414},Oe=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object(s.a)(this,A),(e=t.call(this,{compare:["longitude","latitude","zoom","bearing","pitch"],extract:["width","height","longitude","latitude","zoom","bearing","pitch"],required:["width","height","latitude","longitude","zoom"]})).props=Object(a.a)({},Me,{},n),e}return Object(g.a)(A,[{key:"interpolateProps",value:function(e,t,A){var n,r=Object(Ie.e)(e,t,A,this.props),i=Object(k.a)(_e);try{for(i.s();!(n=i.n()).done;){var o=n.value;r[o]=Object(z.lerp)(e[o]||0,t[o]||0,A)}}catch(a){i.e(a)}finally{i.f()}return r}},{key:"getDuration",value:function(e,t){var A=t.transitionDuration;return"auto"===A&&(A=Object(Ie.i)(e,t,this.props)),A}}]),A}(Ne.a),Le=A(41),Te=A(116),Ze=A(577),He=A(147),Ye=A(379),Je=A(173),je=A(378),Pe=A(313);A.d(t,"COORDINATE_SYSTEM",(function(){return n.a})),A.d(t,"UNIT",(function(){return n.d})),A.d(t,"LightingEffect",(function(){return r.a})),A.d(t,"AmbientLight",(function(){return i.a})),A.d(t,"DirectionalLight",(function(){return o.a})),A.d(t,"PointLight",(function(){return h})),A.d(t,"_CameraLight",(function(){return E})),A.d(t,"_SunLight",(function(){return G})),A.d(t,"PostProcessEffect",(function(){return L})),A.d(t,"_LayersPass",(function(){return Y.a})),A.d(t,"Deck",(function(){return J.a})),A.d(t,"LayerManager",(function(){return j.a})),A.d(t,"AttributeManager",(function(){return P.a})),A.d(t,"Layer",(function(){return V.a})),A.d(t,"CompositeLayer",(function(){return K.a})),A.d(t,"DeckRenderer",(function(){return W.a})),A.d(t,"Viewport",(function(){return X.a})),A.d(t,"WebMercatorViewport",(function(){return q.a})),A.d(t,"_GlobeViewport",(function(){return re})),A.d(t,"picking",(function(){return oe.a})),A.d(t,"project",(function(){return ae.a})),A.d(t,"project32",(function(){return se.a})),A.d(t,"gouraudLighting",(function(){return ge.a})),A.d(t,"phongLighting",(function(){return ge.b})),A.d(t,"shadow",(function(){return ce.a})),A.d(t,"View",(function(){return ue.a})),A.d(t,"MapView",(function(){return le.a})),A.d(t,"FirstPersonView",(function(){return Qe})),A.d(t,"OrbitView",(function(){return ye.a})),A.d(t,"OrthographicView",(function(){return ve.a})),A.d(t,"_GlobeView",(function(){return Re})),A.d(t,"Controller",(function(){return Ce.a})),A.d(t,"MapController",(function(){return we.b})),A.d(t,"_GlobeController",(function(){return Fe})),A.d(t,"FirstPersonController",(function(){return pe})),A.d(t,"OrbitController",(function(){return De.b})),A.d(t,"OrthographicController",(function(){return Ge.a})),A.d(t,"Effect",(function(){return x.a})),A.d(t,"LayerExtension",(function(){return ke.a})),A.d(t,"TRANSITION_EVENTS",(function(){return xe.a})),A.d(t,"TransitionInterpolator",(function(){return Ne.a})),A.d(t,"LinearInterpolator",(function(){return Ue.a})),A.d(t,"FlyToInterpolator",(function(){return Oe})),A.d(t,"log",(function(){return Le.a})),A.d(t,"createIterable",(function(){return Te.a})),A.d(t,"fp64LowPart",(function(){return fe.b})),A.d(t,"Tesselator",(function(){return Ze.a})),A.d(t,"_fillArray",(function(){return He.a})),A.d(t,"_flatten",(function(){return He.b})),A.d(t,"_count",(function(){return Ye.a})),A.d(t,"_memoize",(function(){return Je.a})),A.d(t,"_mergeShaders",(function(){return je.a})),A.d(t,"_compareProps",(function(){return Pe.a}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return r})),A.d(t,"c",(function(){return i})),A.d(t,"d",(function(){return o})),A.d(t,"b",(function(){return a}));var n=A(41),r={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(r,"IDENTITY",{get:function(){return n.a.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0}});var i={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},o={common:0,meters:1,pixels:2},a={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}}},,function(e,t,A){var n=A(444);e.exports=function(e,t){return n(e,t)}},function(e,t,A){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}}(),e.exports=A(749)},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(717);function r(e){if("string"!==typeof e)throw new Error(Object(n.a)(7));return e.charAt(0).toUpperCase()+e.slice(1)}},function(e,t,A){"use strict";var n=A(1163);t.a=new n.a({id:"deck"})},function(e,t,A){"use strict";var n=A(11),r=A(8),i=A(1),o=A(4),a=1e-6,s="undefined"!==typeof Float32Array?Float32Array:Array;Math.random;Math.PI;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});!function(){var e=function(){var e=new s(4);return s!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}()}();function g(e,t){var A,n,r,i=function(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3];return e[0]=A[0]*n+A[4]*r+A[8]*i+A[12]*o,e[1]=A[1]*n+A[5]*r+A[9]*i+A[13]*o,e[2]=A[2]*n+A[6]*r+A[10]*i+A[14]*o,e[3]=A[3]*n+A[7]*r+A[11]*i+A[15]*o,e}([],t,e);return A=i,n=i,r=1/i[3],A[0]=n[0]*r,A[1]=n[1]*r,A[2]=n[2]*r,A[3]=n[3]*r,i}function c(e,t){var A=e%t;return A<0?t+A:A}function u(e,t,A){return A*t+(1-A)*e}var l=Math.log2||function(e){return Math.log(e)*Math.LOG2E};function I(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],g=t[6],c=t[7],u=t[8],l=t[9],I=t[10],C=t[11],h=t[12],f=t[13],d=t[14],B=t[15],p=A[0],E=A[1],Q=A[2],y=A[3];return e[0]=p*n+E*a+Q*u+y*h,e[1]=p*r+E*s+Q*l+y*f,e[2]=p*i+E*g+Q*I+y*d,e[3]=p*o+E*c+Q*C+y*B,p=A[4],E=A[5],Q=A[6],y=A[7],e[4]=p*n+E*a+Q*u+y*h,e[5]=p*r+E*s+Q*l+y*f,e[6]=p*i+E*g+Q*I+y*d,e[7]=p*o+E*c+Q*C+y*B,p=A[8],E=A[9],Q=A[10],y=A[11],e[8]=p*n+E*a+Q*u+y*h,e[9]=p*r+E*s+Q*l+y*f,e[10]=p*i+E*g+Q*I+y*d,e[11]=p*o+E*c+Q*C+y*B,p=A[12],E=A[13],Q=A[14],y=A[15],e[12]=p*n+E*a+Q*u+y*h,e[13]=p*r+E*s+Q*l+y*f,e[14]=p*i+E*g+Q*I+y*d,e[15]=p*o+E*c+Q*C+y*B,e}function C(e,t,A){var n,r,i,o,a,s,g,c,u,l,I,C,h=A[0],f=A[1],d=A[2];return t===e?(e[12]=t[0]*h+t[4]*f+t[8]*d+t[12],e[13]=t[1]*h+t[5]*f+t[9]*d+t[13],e[14]=t[2]*h+t[6]*f+t[10]*d+t[14],e[15]=t[3]*h+t[7]*f+t[11]*d+t[15]):(n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],g=t[6],c=t[7],u=t[8],l=t[9],I=t[10],C=t[11],e[0]=n,e[1]=r,e[2]=i,e[3]=o,e[4]=a,e[5]=s,e[6]=g,e[7]=c,e[8]=u,e[9]=l,e[10]=I,e[11]=C,e[12]=n*h+a*f+u*d+t[12],e[13]=r*h+s*f+l*d+t[13],e[14]=i*h+g*f+I*d+t[14],e[15]=o*h+c*f+C*d+t[15]),e}function h(e,t,A){var n=A[0],r=A[1],i=A[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function f(e,t){var A=e[0],n=e[1],r=e[2],i=e[3],o=e[4],s=e[5],g=e[6],c=e[7],u=e[8],l=e[9],I=e[10],C=e[11],h=e[12],f=e[13],d=e[14],B=e[15],p=t[0],E=t[1],Q=t[2],y=t[3],v=t[4],m=t[5],b=t[6],w=t[7],S=t[8],F=t[9],R=t[10],D=t[11],G=t[12],k=t[13],x=t[14],N=t[15];return Math.abs(A-p)<=a*Math.max(1,Math.abs(A),Math.abs(p))&&Math.abs(n-E)<=a*Math.max(1,Math.abs(n),Math.abs(E))&&Math.abs(r-Q)<=a*Math.max(1,Math.abs(r),Math.abs(Q))&&Math.abs(i-y)<=a*Math.max(1,Math.abs(i),Math.abs(y))&&Math.abs(o-v)<=a*Math.max(1,Math.abs(o),Math.abs(v))&&Math.abs(s-m)<=a*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(g-b)<=a*Math.max(1,Math.abs(g),Math.abs(b))&&Math.abs(c-w)<=a*Math.max(1,Math.abs(c),Math.abs(w))&&Math.abs(u-S)<=a*Math.max(1,Math.abs(u),Math.abs(S))&&Math.abs(l-F)<=a*Math.max(1,Math.abs(l),Math.abs(F))&&Math.abs(I-R)<=a*Math.max(1,Math.abs(I),Math.abs(R))&&Math.abs(C-D)<=a*Math.max(1,Math.abs(C),Math.abs(D))&&Math.abs(h-G)<=a*Math.max(1,Math.abs(h),Math.abs(G))&&Math.abs(f-k)<=a*Math.max(1,Math.abs(f),Math.abs(k))&&Math.abs(d-x)<=a*Math.max(1,Math.abs(d),Math.abs(x))&&Math.abs(B-N)<=a*Math.max(1,Math.abs(B),Math.abs(N))}function d(e,t,A){return e[0]=t[0]+A[0],e[1]=t[1]+A[1],e}function B(e,t,A){return e[0]=t[0]*A,e[1]=t[1]*A,e}function p(e){var t=e[0],A=e[1];return Math.hypot(t,A)}function E(e,t,A,n){var r=t[0],i=t[1];return e[0]=r+n*(A[0]-r),e[1]=i+n*(A[1]-i),e}var Q=function(e,t,A){return e[0]=t[0]-A[0],e[1]=t[1]-A[1],e};!function(){var e=function(){var e=new s(2);return s!=Float32Array&&(e[0]=0,e[1]=0),e}()}();function y(e,t,A){return e[0]=t[0]+A[0],e[1]=t[1]+A[1],e[2]=t[2]+A[2],e}var v=function(e,t,A){return e[0]=t[0]*A[0],e[1]=t[1]*A[1],e[2]=t[2]*A[2],e};!function(){var e=function(){var e=new s(3);return s!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}()}();function m(e,t){if(!e)throw new Error(t||"@math.gl/web-mercator: assertion failed.")}var b=Math.PI,w=b/4,S=b/180,F=180/b;function R(e){return Math.pow(2,e)}function D(e){return l(e)}function G(e){var t=Object(r.a)(e,2),A=t[0],n=t[1];m(Number.isFinite(A)),m(Number.isFinite(n)&&n>=-90&&n<=90,"invalid latitude");var i=n*S;return[512*(A*S+b)/(2*b),512*(b+Math.log(Math.tan(w+.5*i)))/(2*b)]}function k(e){var t=Object(r.a)(e,2),A=t[0],n=t[1],i=A/512*(2*b)-b,o=2*(Math.atan(Math.exp(n/512*(2*b)-b))-w);return[i*F,o*F]}function x(e){var t=e.latitude;return m(Number.isFinite(t)),D(4003e4*Math.cos(t*S))-9}function N(e){var t=e.latitude,A=e.longitude,n=e.highPrecision,r=void 0!==n&&n;m(Number.isFinite(t)&&Number.isFinite(A));var i={},o=Math.cos(t*S),a=512/360/o,s=512/4003e4/o;if(i.unitsPerMeter=[s,s,s],i.metersPerUnit=[1/s,1/s,1/s],i.unitsPerDegree=[512/360,a,s],i.degreesPerUnit=[.703125,1/a,1/s],r){var g=S*Math.tan(t*S)/o,c=512/360*g/2,u=512/4003e4*g,l=u/a*s;i.unitsPerDegree2=[0,c,u],i.unitsPerMeter2=[l,0,l]}return i}function U(e,t){var A=Object(r.a)(e,3),n=A[0],i=A[1],o=A[2],a=Object(r.a)(t,3),s=a[0],g=a[1],c=a[2],u=N({longitude:n,latitude:i,highPrecision:!0}),l=u.unitsPerMeter,I=u.unitsPerMeter2,C=G(e);C[0]+=s*(l[0]+I[0]*g),C[1]+=g*(l[1]+I[1]*g);var h=k(C),f=(o||0)+(c||0);return Number.isFinite(o)||Number.isFinite(c)?[h[0],h[1],f]:h}function _(e){var t,A,n=e.height,r=e.pitch,i=e.bearing,o=e.altitude,a=e.scale,s=e.center,g=void 0===s?null:s,c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return C(c,c,[0,0,-o]),function(e,t,A){var n=Math.sin(A),r=Math.cos(A),i=t[4],o=t[5],a=t[6],s=t[7],g=t[8],c=t[9],u=t[10],l=t[11];t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*r+g*n,e[5]=o*r+c*n,e[6]=a*r+u*n,e[7]=s*r+l*n,e[8]=g*r-i*n,e[9]=c*r-o*n,e[10]=u*r-a*n,e[11]=l*r-s*n}(c,c,-r*S),function(e,t,A){var n=Math.sin(A),r=Math.cos(A),i=t[0],o=t[1],a=t[2],s=t[3],g=t[4],c=t[5],u=t[6],l=t[7];t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*r+g*n,e[1]=o*r+c*n,e[2]=a*r+u*n,e[3]=s*r+l*n,e[4]=g*r-i*n,e[5]=c*r-o*n,e[6]=u*r-a*n,e[7]=l*r-s*n}(c,c,i*S),h(c,c,[a/=n,a,a]),g&&C(c,c,((t=[])[0]=-(A=g)[0],t[1]=-A[1],t[2]=-A[2],t)),c}function M(e){var t=e.width,A=e.height,n=e.fovy,r=void 0===n?L(1.5):n,i=e.altitude,o=e.pitch,a=void 0===o?0:o,s=e.nearZMultiplier,g=void 0===s?1:s,c=e.farZMultiplier,u=void 0===c?1:c;void 0!==i&&(r=L(i));var l=.5*r*S,I=T(r),C=a*S,h=Math.sin(l)*I/Math.sin(Math.min(Math.max(Math.PI/2-C-l,.01),Math.PI-.01));return{fov:2*l,aspect:t/A,focalDistance:I,near:g,far:(Math.sin(C)*h+I)*u}}function O(e){var t=e.width,A=e.height,n=e.pitch,r=M({width:t,height:A,altitude:e.altitude,fovy:e.fovy,pitch:n,nearZMultiplier:e.nearZMultiplier,farZMultiplier:e.farZMultiplier});return function(e,t,A,n,r){var i,o=1/Math.tan(t/2);return e[0]=o/A,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=r&&r!==1/0?(i=1/(n-r),e[10]=(r+n)*i,e[14]=2*r*n*i):(e[10]=-1,e[14]=-2*n),e}([],r.fov,r.aspect,r.near,r.far)}function L(e){return 2*Math.atan(.5/e)*F}function T(e){return.5/Math.tan(.5*e*S)}function Z(e,t){var A=Object(r.a)(e,3),n=A[0],i=A[1],o=A[2],a=void 0===o?0:o;return m(Number.isFinite(n)&&Number.isFinite(i)&&Number.isFinite(a)),g(t,[n,i,a,1])}function H(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=Object(r.a)(e,3),i=n[0],o=n[1],a=n[2];if(m(Number.isFinite(i)&&Number.isFinite(o),"invalid pixel coordinate"),Number.isFinite(a)){var s=g(t,[i,o,a,1]);return s}var c=g(t,[i,o,0,1]),u=g(t,[i,o,1,1]),l=c[2],I=u[2],C=l===I?0:((A||0)-l)/(I-l);return E([],c,u,C)}function Y(e){var t=e.width,A=e.height,n=e.bounds,i=e.minExtent,o=void 0===i?0:i,a=e.maxZoom,s=void 0===a?24:a,g=e.padding,c=void 0===g?0:g,u=e.offset,I=void 0===u?[0,0]:u,C=Object(r.a)(n,2),h=Object(r.a)(C[0],2),f=h[0],d=h[1],B=Object(r.a)(C[1],2),p=B[0],E=B[1];if(Number.isFinite(c)){c={top:c,bottom:c,left:c,right:c}}else m(Number.isFinite(c.top)&&Number.isFinite(c.bottom)&&Number.isFinite(c.left)&&Number.isFinite(c.right));var Q=new V({width:t,height:A,longitude:0,latitude:0,zoom:0}),y=Q.project([f,E]),v=Q.project([p,d]),b=[Math.max(Math.abs(v[0]-y[0]),o),Math.max(Math.abs(v[1]-y[1]),o)],w=[t-c.left-c.right-2*Math.abs(I[0]),A-c.top-c.bottom-2*Math.abs(I[1])];m(w[0]>0&&w[1]>0);var S=w[0]/b[0],F=w[1]/b[1],R=(c.right-c.left)/2/S,D=(c.bottom-c.top)/2/F,G=[(v[0]+y[0])/2+R,(v[1]+y[1])/2+D],k=Q.unproject(G),x=Math.min(s,Q.zoom+l(Math.abs(Math.min(S,F))));return m(Number.isFinite(x)),{longitude:k[0],latitude:k[1],zoom:x}}var J=Math.PI/180;function j(e){var t,A,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.width,i=e.height,o=e.unproject,a={targetZ:n},s=o([0,i],a),g=o([r,i],a),c=e.fovy?.5*e.fovy*J:Math.atan(.5/e.altitude),u=(90-e.pitch)*J;return c>u-.01?(t=P(e,0,n),A=P(e,r,n)):(t=o([0,0],a),A=o([r,0],a)),[s,g,A,t]}function P(e,t,A){var n=e.pixelUnprojectionMatrix,r=g(n,[t,0,1,1]),i=g(n,[t,e.height,1,1]),o=k(E([],r,i,(A*e.distanceScales.unitsPerMeter[2]-r[2])/(i[2]-r[2])));return o[2]=A,o}var V=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{width:1,height:1},A=t.width,n=t.height,r=t.latitude,o=void 0===r?0:r,a=t.longitude,s=void 0===a?0:a,g=t.zoom,c=void 0===g?0:g,u=t.pitch,l=void 0===u?0:u,I=t.bearing,C=void 0===I?0:I,h=t.altitude,f=void 0===h?null:h,d=t.fovy,B=void 0===d?null:d,p=t.position,E=void 0===p?null:p,Q=t.nearZMultiplier,m=void 0===Q?.02:Q,b=t.farZMultiplier,w=void 0===b?1.01:b;Object(i.a)(this,e),A=A||1,n=n||1,null===B&&null===f?B=L(f=1.5):null===B?B=L(f):null===f&&(f=T(B));var S=R(c);f=Math.max(.75,f);var F=N({longitude:s,latitude:o}),D=G([s,o]);D[2]=0,E&&y(D,D,v([],E,F.unitsPerMeter)),this.projectionMatrix=O({width:A,height:n,pitch:l,fovy:B,nearZMultiplier:m,farZMultiplier:w}),this.viewMatrix=_({height:n,scale:S,center:D,pitch:l,bearing:C,altitude:f}),this.width=A,this.height=n,this.scale=S,this.latitude=o,this.longitude=s,this.zoom=c,this.pitch=l,this.bearing=C,this.altitude=f,this.fovy=B,this.center=D,this.meterOffset=E||[0,0,0],this.distanceScales=F,this._initMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),Object.freeze(this)}return Object(o.a)(e,[{key:"_initMatrices",value:function(){var e=this.width,t=this.height,A=this.projectionMatrix,n=this.viewMatrix,r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];I(r,r,A),I(r,r,n),this.viewProjectionMatrix=r;var i=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];h(i,i,[e/2,-t/2,1]),C(i,i,[1,-1,0]),I(i,i,r);var o=function(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=t[4],a=t[5],s=t[6],g=t[7],c=t[8],u=t[9],l=t[10],I=t[11],C=t[12],h=t[13],f=t[14],d=t[15],B=A*a-n*o,p=A*s-r*o,E=A*g-i*o,Q=n*s-r*a,y=n*g-i*a,v=r*g-i*s,m=c*h-u*C,b=c*f-l*C,w=c*d-I*C,S=u*f-l*h,F=u*d-I*h,R=l*d-I*f,D=B*R-p*F+E*S+Q*w-y*b+v*m;return D?(D=1/D,e[0]=(a*R-s*F+g*S)*D,e[1]=(r*F-n*R-i*S)*D,e[2]=(h*v-f*y+d*Q)*D,e[3]=(l*y-u*v-I*Q)*D,e[4]=(s*w-o*R-g*b)*D,e[5]=(A*R-r*w+i*b)*D,e[6]=(f*E-C*v-d*p)*D,e[7]=(c*v-l*E+I*p)*D,e[8]=(o*F-a*w+g*m)*D,e[9]=(n*w-A*F-i*m)*D,e[10]=(C*y-h*E+d*B)*D,e[11]=(u*E-c*y-I*B)*D,e[12]=(a*b-o*S-s*m)*D,e[13]=(A*S-n*b+r*m)*D,e[14]=(h*p-C*Q-f*B)*D,e[15]=(c*Q-u*p+l*B)*D,e):null}([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],i);if(!o)throw new Error("Pixel project matrix not invertible");this.pixelProjectionMatrix=i,this.pixelUnprojectionMatrix=o}},{key:"equals",value:function(t){return t instanceof e&&(t.width===this.width&&t.height===this.height&&f(t.projectionMatrix,this.projectionMatrix)&&f(t.viewMatrix,this.viewMatrix))}},{key:"project",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.topLeft,n=void 0===A||A,i=this.projectPosition(e),o=Z(i,this.pixelProjectionMatrix),a=Object(r.a)(o,2),s=a[0],g=a[1],c=n?g:this.height-g;return 2===e.length?[s,c]:[s,c,o[2]]}},{key:"unproject",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.topLeft,n=void 0===A||A,i=t.targetZ,o=void 0===i?void 0:i,a=Object(r.a)(e,3),s=a[0],g=a[1],c=a[2],u=n?g:this.height-g,l=o&&o*this.distanceScales.unitsPerMeter[2],I=H([s,u,c],this.pixelUnprojectionMatrix,l),C=this.unprojectPosition(I),h=Object(r.a)(C,3),f=h[0],d=h[1],B=h[2];return Number.isFinite(c)?[f,d,B]:Number.isFinite(o)?[f,d,o]:[f,d]}},{key:"projectPosition",value:function(e){var t=G(e),A=Object(r.a)(t,2);return[A[0],A[1],(e[2]||0)*this.distanceScales.unitsPerMeter[2]]}},{key:"unprojectPosition",value:function(e){var t=k(e),A=Object(r.a)(t,2);return[A[0],A[1],(e[2]||0)*this.distanceScales.metersPerUnit[2]]}},{key:"projectFlat",value:function(e){return G(e)}},{key:"unprojectFlat",value:function(e){return k(e)}},{key:"getMapCenterByLngLatPosition",value:function(e){var t,A,n=e.lngLat,r=H(e.pos,this.pixelUnprojectionMatrix),i=d([],G(n),((t=[])[0]=-(A=r)[0],t[1]=-A[1],t));return k(d([],this.center,i))}},{key:"getLocationAtPoint",value:function(e){var t=e.lngLat,A=e.pos;return this.getMapCenterByLngLatPosition({lngLat:t,pos:A})}},{key:"fitBounds",value:function(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.width,r=this.height,i=Y(Object.assign({width:n,height:r,bounds:t},A)),o=i.longitude,a=i.latitude,s=i.zoom;return new e({width:n,height:r,longitude:o,latitude:a,zoom:s})}},{key:"getBounds",value:function(e){var t=this.getBoundingRegion(e),A=Math.min.apply(Math,Object(n.a)(t.map((function(e){return e[0]})))),r=Math.max.apply(Math,Object(n.a)(t.map((function(e){return e[0]}))));return[[A,Math.min.apply(Math,Object(n.a)(t.map((function(e){return e[1]}))))],[r,Math.max.apply(Math,Object(n.a)(t.map((function(e){return e[1]}))))]]}},{key:"getBoundingRegion",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return j(this,e.z||0)}}]),e}();function K(e){var t=e.width,A=e.height,n=e.longitude,r=e.latitude,i=e.zoom,o=e.pitch,a=void 0===o?0:o,s=e.bearing,g=void 0===s?0:s;(n<-180||n>180)&&(n=c(n+180,360)-180),(g<-180||g>180)&&(g=c(g+180,360)-180);var u=l(A/512);if(i<=u)i=u,r=0;else{var I=A/2/Math.pow(2,i),C=k([0,I])[1];if(r<C)r=C;else{var h=k([0,512-I])[1];r>h&&(r=h)}}return{width:t,height:A,longitude:n,latitude:r,zoom:i,pitch:a,bearing:g}}var W=A(6),X=["longitude","latitude","zoom"],q={curve:1.414,speed:1.2};function z(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r={},i=ee(e,t,n),o=i.startZoom,a=i.startCenterXY,s=i.uDelta,g=i.w0,c=i.u1,l=i.S,I=i.rho,C=i.rho2,h=i.r0;if(c<.01){var f,p=Object(W.a)(X);try{for(p.s();!(f=p.n()).done;){var E=f.value,Q=e[E],y=t[E];r[E]=u(Q,y,A)}}catch(G){p.e(G)}finally{p.f()}return r}var v=A*l,m=Math.cosh(h)/Math.cosh(h+I*v),b=g*((Math.cosh(h)*Math.tanh(h+I*v)-Math.sinh(h))/C)/c,w=1/m,S=o+D(w),F=B([],s,b);d(F,F,a);var R=k(F);return r.longitude=R[0],r.latitude=R[1],r.zoom=S,r}function $(e,t){var A,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n=Object.assign({},q,n),i=r.screenSpeed,o=r.speed,a=r.maxDuration,s=ee(e,t,n),g=s.S,c=s.rho,u=1e3*g;return A=Number.isFinite(i)?u/(i/c):u/o,Number.isFinite(a)&&A>a?0:A}function ee(e,t,A){var n=(A=Object.assign({},q,A)).curve,r=e.zoom,i=[e.longitude,e.latitude],o=R(r),a=t.zoom,s=[t.longitude,t.latitude],g=R(a-r),c=G(i),u=G(s),l=Q([],u,c),I=Math.max(e.width,e.height),C=I/g,h=p(l)*o,f=Math.max(h,.01),d=n*n,B=(C*C-I*I+d*d*f*f)/(2*I*d*f),E=(C*C-I*I-d*d*f*f)/(2*C*d*f),y=Math.log(Math.sqrt(B*B+1)-B),v=Math.log(Math.sqrt(E*E+1)-E);return{startZoom:r,startCenterXY:c,uDelta:l,w0:I,u1:h,S:(v-y)/n,rho:n,rho2:d,r0:y,r1:v}}A.d(t,"a",(function(){return V})),A.d(t,"g",(function(){return j})),A.d(t,"d",(function(){return Y})),A.d(t,"o",(function(){return K})),A.d(t,"e",(function(){return z})),A.d(t,"i",(function(){return $})),A.d(t,"n",(function(){return G})),A.d(t,"r",(function(){return k})),A.d(t,"s",(function(){return Z})),A.d(t,"p",(function(){return H})),A.d(t,"t",(function(){return R})),A.d(t,"q",(function(){return D})),A.d(t,"c",(function(){return L})),A.d(t,"f",(function(){return T})),A.d(t,"j",(function(){return x})),A.d(t,"h",(function(){return N})),A.d(t,"b",(function(){return U})),A.d(t,"m",(function(){return _})),A.d(t,"k",(function(){return O})),A.d(t,"l",(function(){return M}))},function(e,t,A){"use strict";A.r(t);var n=A(18),r=A(330),i=A(427),o=A(718),a=A(80),s=A(1288),g=A(161),c=A(238),u=A(232),l=A(664),I=A(428),C=A(530),h=A(663),f=A(665),d=A(1246),B=A(1293),p=A(422),E=A(1289),Q=A(528),y=A(1247),v=A(135),m=A(1257),b=A(7),w=A(1),S=A(9),F=A(10),R=A(108),D={x:[2,0,1],y:[0,1,2],z:[1,2,0]},G=function(e){Object(S.a)(A,e);var t=Object(F.a)(A);function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(w.a)(this,A);var n=e.id,r=void 0===n?Object(R.c)("truncated-code-geometry"):n,i=k(e),o=i.indices,a=i.attributes;return t.call(this,Object(b.a)({},e,{id:r,indices:o,attributes:Object(b.a)({},a,{},e.attributes)}))}return A}(v.a);function k(e){for(var t=e.bottomRadius,A=void 0===t?0:t,n=e.topRadius,r=void 0===n?0:n,i=e.height,o=void 0===i?1:i,a=e.nradial,s=void 0===a?10:a,g=e.nvertical,c=void 0===g?10:g,u=e.verticalAxis,l=void 0===u?"y":u,I=e.topCap,C=void 0!==I&&I,h=e.bottomCap,f=void 0!==h&&h,d=(C?2:0)+(f?2:0),B=(s+1)*(c+1+d),p=Math.atan2(A-r,o),E=Math.sin,Q=Math.cos,y=Math.PI,v=Q(p),m=E(p),b=C?-2:0,w=c+(f?2:0),S=s+1,F=new Uint16Array(s*(c+d)*6),R=D[l],G=new Float32Array(3*B),k=new Float32Array(3*B),x=new Float32Array(2*B),N=0,U=0,_=b;_<=w;_++){var M=_/c,O=o*M,L=void 0;_<0?(O=0,M=1,L=A):_>c?(O=o,M=1,L=r):L=A+_/c*(r-A),-2!==_&&_!==c+2||(L=0,M=0),O-=o/2;for(var T=0;T<S;T++){var Z=E(T*y*2/s),H=Q(T*y*2/s);G[N+R[0]]=Z*L,G[N+R[1]]=O,G[N+R[2]]=H*L,k[N+R[0]]=_<0||_>c?0:Z*v,k[N+R[1]]=_<0?-1:_>c?1:m,k[N+R[2]]=_<0||_>c?0:H*v,x[U+0]=T/s,x[U+1]=M,U+=2,N+=3}}for(var Y=0;Y<c+d;Y++)for(var J=0;J<s;J++){var j=6*(Y*s+J);F[j+0]=S*(Y+0)+0+J,F[j+1]=S*(Y+0)+1+J,F[j+2]=S*(Y+1)+1+J,F[j+3]=S*(Y+0)+0+J,F[j+4]=S*(Y+1)+1+J,F[j+5]=S*(Y+1)+0+J}return{indices:F,attributes:{POSITION:{size:3,value:G},NORMAL:{size:3,value:k},TEXCOORD_0:{size:2,value:x}}}}var x=function(e){Object(S.a)(A,e);var t=Object(F.a)(A);function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(w.a)(this,A);var n=e.id,r=void 0===n?Object(R.c)("cone-geometry"):n,i=e.radius,o=void 0===i?1:i,a=e.cap,s=void 0===a||a;return t.call(this,Object(b.a)({},e,{id:r,topRadius:0,topCap:Boolean(s),bottomCap:Boolean(s),bottomRadius:o}))}return A}(G),N=A(1256),U=function(e){Object(S.a)(A,e);var t=Object(F.a)(A);function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(w.a)(this,A);var n=e.id,r=void 0===n?Object(R.c)("cylinder-geometry"):n,i=e.radius,o=void 0===i?1:i;return t.call(this,Object(b.a)({},e,{id:r,bottomRadius:o,topRadius:o}))}return A}(G),_=A(221),M=[-1,0,0,0,1,0,0,0,-1,0,0,1,0,-1,0,1,0,0],O=[3,4,5,3,5,1,3,1,0,3,0,4,4,0,2,4,2,5,2,0,1,5,2,1],L=function(e){Object(S.a)(A,e);var t=Object(F.a)(A);function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(w.a)(this,A);var n=e.id,r=void 0===n?Object(R.c)("ico-sphere-geometry"):n,i=T(e),o=i.indices,a=i.attributes;return t.call(this,Object(b.a)({},e,{id:r,indices:o,attributes:Object(b.a)({},a,{},e.attributes)}))}return A}(v.a);function T(e){var t=e.iterations,A=void 0===t?0:t,n=Math.PI,r=2*n,i=[].concat(M),o=[].concat(O);i.push(),o.push();for(var a=function(){var e={};return function(t,A){var n=(t*=3)>(A*=3)?t:A,r="".concat(t<A?t:A,"|").concat(n);if(r in e)return e[r];var o=i[t],a=i[t+1],s=i[t+2],g=(o+i[A])/2,c=(a+i[A+1])/2,u=(s+i[A+2])/2,l=Math.sqrt(g*g+c*c+u*u);return g/=l,c/=l,u/=l,i.push(g,c,u),e[r]=i.length/3-1}}(),s=0;s<A;s++){for(var g=[],c=0;c<o.length;c+=3){var u=a(o[c+0],o[c+1]),l=a(o[c+1],o[c+2]),I=a(o[c+2],o[c+0]);g.push(I,o[c+0],u,u,o[c+1],l,l,o[c+2],I,u,l,I)}o=g}for(var C=new Array(i.length),h=new Array(i.length/3*2),f=o.length-3;f>=0;f-=3){var d=o[f+0],B=o[f+1],p=o[f+2],E=3*d,Q=3*B,y=3*p,v=2*d,m=2*B,b=2*p,w=i[E+0],S=i[E+1],F=i[E+2],R=Math.acos(F/Math.sqrt(w*w+S*S+F*F))/n,D=1-(Math.atan2(S,w)+n)/r,G=i[Q+0],k=i[Q+1],x=i[Q+2],N=Math.acos(x/Math.sqrt(G*G+k*k+x*x))/n,U=1-(Math.atan2(k,G)+n)/r,L=i[y+0],T=i[y+1],Z=i[y+2],H=Math.acos(Z/Math.sqrt(L*L+T*T+Z*Z))/n,Y=1-(Math.atan2(T,L)+n)/r,J=[L-G,T-k,Z-x],j=[w-G,S-k,F-x],P=new _.a(J).cross(j).normalize(),V=void 0;(0===D||0===U||0===Y)&&(0===D||D>.5)&&(0===U||U>.5)&&(0===Y||Y>.5)&&(i.push(i[E+0],i[E+1],i[E+2]),V=i.length/3-1,o.push(V),h[2*V+0]=1,h[2*V+1]=R,C[3*V+0]=P.x,C[3*V+1]=P.y,C[3*V+2]=P.z,i.push(i[Q+0],i[Q+1],i[Q+2]),V=i.length/3-1,o.push(V),h[2*V+0]=1,h[2*V+1]=N,C[3*V+0]=P.x,C[3*V+1]=P.y,C[3*V+2]=P.z,i.push(i[y+0],i[y+1],i[y+2]),V=i.length/3-1,o.push(V),h[2*V+0]=1,h[2*V+1]=H,C[3*V+0]=P.x,C[3*V+1]=P.y,C[3*V+2]=P.z),C[E+0]=C[Q+0]=C[y+0]=P.x,C[E+1]=C[Q+1]=C[y+1]=P.y,C[E+2]=C[Q+2]=C[y+2]=P.z,h[v+0]=D,h[v+1]=R,h[m+0]=U,h[m+1]=N,h[b+0]=Y,h[b+1]=H}return{indices:{size:1,value:new Uint16Array(o)},attributes:{POSITION:{size:3,value:new Float32Array(i)},NORMAL:{size:3,value:new Float32Array(C)},TEXCOORD_0:{size:2,value:new Float32Array(h)}}}}var Z=function(e){Object(S.a)(A,e);var t=Object(F.a)(A);function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(w.a)(this,A);var n=e.id,r=void 0===n?Object(R.c)("plane-geometry"):n,i=H(e),o=i.indices,a=i.attributes;return t.call(this,Object(b.a)({},e,{id:r,indices:o,attributes:Object(b.a)({},a,{},e.attributes)}))}return A}(v.a);function H(e){var t=e.type,A=void 0===t?"x,y":t,n=e.offset,r=void 0===n?0:n,i=e.flipCull,o=void 0!==i&&i,a=e.unpack,s=void 0!==a&&a,g=A.split(","),c=e["".concat(g[0],"len")]||1,u=e["".concat(g[1],"len")]||1,l=e["n".concat(g[0])]||1,I=e["n".concat(g[1])]||1,C=(l+1)*(I+1),h=new Float32Array(3*C),f=new Float32Array(3*C),d=new Float32Array(2*C);o&&(c=-c);for(var B=0,p=0,E=0;E<=I;E++)for(var Q=0;Q<=l;Q++){var y=Q/l,v=E/I;switch(d[B+0]=o?1-y:y,d[B+1]=v,A){case"x,y":h[p+0]=c*y-.5*c,h[p+1]=u*v-.5*u,h[p+2]=r,f[p+0]=0,f[p+1]=0,f[p+2]=o?1:-1;break;case"x,z":h[p+0]=c*y-.5*c,h[p+1]=r,h[p+2]=u*v-.5*u,f[p+0]=0,f[p+1]=o?1:-1,f[p+2]=0;break;case"y,z":h[p+0]=r,h[p+1]=c*y-.5*c,h[p+2]=u*v-.5*u,f[p+0]=o?1:-1,f[p+1]=0,f[p+2]=0;break;default:throw new Error("PlaneGeometry: unknown type")}B+=2,p+=3}for(var m=l+1,b=new Uint16Array(l*I*6),w=0;w<I;w++)for(var S=0;S<l;S++){var F=6*(w*l+S);b[F+0]=(w+0)*m+S,b[F+1]=(w+1)*m+S,b[F+2]=(w+0)*m+S+1,b[F+3]=(w+1)*m+S,b[F+4]=(w+1)*m+S+1,b[F+5]=(w+0)*m+S+1}var R={indices:{size:1,value:b},attributes:{POSITION:{size:3,value:h},NORMAL:{size:3,value:f},TEXCOORD_0:{size:2,value:d}}};return s?function(e){var t=e.indices,A=e.attributes;if(!t)return e;var n=t.value.length,r={};for(var i in A){var o=A[i],a=o.constant,s=o.value,g=o.size;if(!a&&g){for(var c=new s.constructor(n*g),u=0;u<n;++u)for(var l=t.value[u],I=0;I<g;I++)c[u*g+I]=s[l*g+I];r[i]={size:g,value:c}}}return{attributes:Object.assign({},A,r)}}(R):R}var Y=function(e){Object(S.a)(A,e);var t=Object(F.a)(A);function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(w.a)(this,A);var n=e.id,r=void 0===n?Object(R.c)("sphere-geometry"):n,i=J(e),o=i.indices,a=i.attributes;return t.call(this,Object(b.a)({},e,{id:r,indices:o,attributes:Object(b.a)({},a,{},e.attributes)}))}return A}(v.a);function J(e){var t=e.nlat,A=void 0===t?10:t,n=e.nlong,r=void 0===n?10:n,i=e.radius,o=void 0===i?1:i,a=Math.PI-0,s=2*Math.PI-0,g=(A+1)*(r+1);if("number"===typeof o){var c=o;o=function(e,t,A,n,r){return c}}for(var u=new Float32Array(3*g),l=new Float32Array(3*g),I=new Float32Array(2*g),C=new(g>65535?Uint32Array:Uint16Array)(A*r*6),h=0;h<=A;h++)for(var f=0;f<=r;f++){var d=f/r,B=h/A,p=f+h*(r+1),E=2*p,Q=3*p,y=s*d,v=a*B,m=Math.sin(y),b=Math.cos(y),w=Math.sin(v),S=b*w,F=Math.cos(v),R=m*w,D=o(S,F,R,d,B);u[Q+0]=D*S,u[Q+1]=D*F,u[Q+2]=D*R,l[Q+0]=S,l[Q+1]=F,l[Q+2]=R,I[E+0]=d,I[E+1]=1-B}for(var G=r+1,k=0;k<r;k++)for(var x=0;x<A;x++){var N=6*(k*A+x);C[N+0]=x*G+k,C[N+1]=x*G+k+1,C[N+2]=(x+1)*G+k,C[N+3]=(x+1)*G+k,C[N+4]=x*G+k+1,C[N+5]=(x+1)*G+k+1}return{indices:{size:1,value:C},attributes:{POSITION:{size:3,value:u},NORMAL:{size:3,value:l},TEXCOORD_0:{size:2,value:I}}}}var j=A(531),P=A(1245);function V(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=Math.fround(e),r=e-n;return t[A]=n,t[A+1]=r,t}function K(e){return e-Math.fround(e)}function W(e){for(var t=new Float32Array(32),A=0;A<4;++A)for(var n=0;n<4;++n){var r=4*A+n;V(e[4*n+A],t,2*r)}return t}var X={ONE:1};var q={name:"fp64",vs:"const vec2 E_FP64 = vec2(2.7182817459106445e+00, 8.254840366817007e-08);\nconst vec2 LOG2_FP64 = vec2(0.6931471824645996e+00, -1.9046542121259336e-09);\nconst vec2 PI_FP64 = vec2(3.1415927410125732, -8.742278012618954e-8);\nconst vec2 TWO_PI_FP64 = vec2(6.2831854820251465, -1.7484556025237907e-7);\nconst vec2 PI_2_FP64 = vec2(1.5707963705062866, -4.371139006309477e-8);\nconst vec2 PI_4_FP64 = vec2(0.7853981852531433, -2.1855695031547384e-8);\nconst vec2 PI_16_FP64 = vec2(0.19634954631328583, -5.463923757886846e-9);\nconst vec2 PI_16_2_FP64 = vec2(0.39269909262657166, -1.0927847515773692e-8);\nconst vec2 PI_16_3_FP64 = vec2(0.5890486240386963, -1.4906100798128818e-9);\nconst vec2 PI_180_FP64 = vec2(0.01745329238474369, 1.3519960498364902e-10);\n\nconst vec2 SIN_TABLE_0_FP64 = vec2(0.19509032368659973, -1.6704714833615242e-9);\nconst vec2 SIN_TABLE_1_FP64 = vec2(0.3826834261417389, 6.22335089017767e-9);\nconst vec2 SIN_TABLE_2_FP64 = vec2(0.5555702447891235, -1.1769521357507529e-8);\nconst vec2 SIN_TABLE_3_FP64 = vec2(0.7071067690849304, 1.2101617041793133e-8);\n\nconst vec2 COS_TABLE_0_FP64 = vec2(0.9807852506637573, 2.9739473106360492e-8);\nconst vec2 COS_TABLE_1_FP64 = vec2(0.9238795042037964, 2.8307490351764386e-8);\nconst vec2 COS_TABLE_2_FP64 = vec2(0.8314695954322815, 1.6870263741530778e-8);\nconst vec2 COS_TABLE_3_FP64 = vec2(0.7071067690849304, 1.2101617152815436e-8);\n\nconst vec2 INVERSE_FACTORIAL_3_FP64 = vec2(1.666666716337204e-01, -4.967053879312289e-09);\nconst vec2 INVERSE_FACTORIAL_4_FP64 = vec2(4.16666679084301e-02, -1.2417634698280722e-09);\nconst vec2 INVERSE_FACTORIAL_5_FP64 = vec2(8.333333767950535e-03, -4.34617203337595e-10);\nconst vec2 INVERSE_FACTORIAL_6_FP64 = vec2(1.3888889225199819e-03, -3.3631094437103215e-11);\nconst vec2 INVERSE_FACTORIAL_7_FP64 = vec2(1.9841270113829523e-04, -2.725596874933456e-12);\nconst vec2 INVERSE_FACTORIAL_8_FP64 = vec2(2.4801587642286904e-05, -3.406996025904184e-13);\nconst vec2 INVERSE_FACTORIAL_9_FP64 = vec2(2.75573188446287533e-06, 3.7935713937038186e-14);\nconst vec2 INVERSE_FACTORIAL_10_FP64 = vec2(2.755731998149713e-07, -7.575112367869873e-15);\n\nfloat nint(float d) {\n if (d == floor(d)) return d;\n return floor(d + 0.5);\n}\n\nvec2 nint_fp64(vec2 a) {\n float hi = nint(a.x);\n float lo;\n vec2 tmp;\n if (hi == a.x) {\n lo = nint(a.y);\n tmp = quickTwoSum(hi, lo);\n } else {\n lo = 0.0;\n if (abs(hi - a.x) == 0.5 && a.y < 0.0) {\n hi -= 1.0;\n }\n tmp = vec2(hi, lo);\n }\n return tmp;\n}\n\nvec2 exp_fp64(vec2 a) {\n\n const int k_power = 4;\n const float k = 16.0;\n\n const float inv_k = 1.0 / k;\n\n if (a.x <= -88.0) return vec2(0.0, 0.0);\n if (a.x >= 88.0) return vec2(1.0 / 0.0, 1.0 / 0.0);\n if (a.x == 0.0 && a.y == 0.0) return vec2(1.0, 0.0);\n if (a.x == 1.0 && a.y == 0.0) return E_FP64;\n\n float m = floor(a.x / LOG2_FP64.x + 0.5);\n vec2 r = sub_fp64(a, mul_fp64(LOG2_FP64, vec2(m, 0.0))) * inv_k;\n vec2 s, t, p;\n\n p = mul_fp64(r, r);\n s = sum_fp64(r, p * 0.5);\n p = mul_fp64(p, r);\n t = mul_fp64(p, INVERSE_FACTORIAL_3_FP64);\n\n s = sum_fp64(s, t);\n p = mul_fp64(p, r);\n t = mul_fp64(p, INVERSE_FACTORIAL_4_FP64);\n\n s = sum_fp64(s, t);\n p = mul_fp64(p, r);\n t = mul_fp64(p, INVERSE_FACTORIAL_5_FP64);\n\n\n\n\n\n\n s = sum_fp64(s, t);\n for (int i = 0; i < k_power; i++) {\n s = sum_fp64(s * 2.0, mul_fp64(s, s));\n }\n\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n s = sum_fp64(s, vec2(ONE, 0.0));\n#else\n s = sum_fp64(s, vec2(1.0, 0.0));\n#endif\n\n return s * pow(2.0, m);\n}\n\nvec2 log_fp64(vec2 a)\n{\n if (a.x == 1.0 && a.y == 0.0) return vec2(0.0, 0.0);\n if (a.x <= 0.0) return vec2(0.0 / 0.0, 0.0 / 0.0);\n vec2 x = vec2(log(a.x), 0.0);\n vec2 s;\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n s = vec2(ONE, 0.0);\n#else\n s = vec2(1.0, 0.0);\n#endif\n\n x = sub_fp64(sum_fp64(x, mul_fp64(a, exp_fp64(-x))), s);\n return x;\n}\n\nvec2 sin_taylor_fp64(vec2 a) {\n vec2 r, s, t, x;\n\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(0.0, 0.0);\n }\n\n x = -mul_fp64(a, a);\n s = a;\n r = a;\n\n r = mul_fp64(r, x);\n t = mul_fp64(r, INVERSE_FACTORIAL_3_FP64);\n s = sum_fp64(s, t);\n\n r = mul_fp64(r, x);\n t = mul_fp64(r, INVERSE_FACTORIAL_5_FP64);\n s = sum_fp64(s, t);\n\n\n\n\n\n\n return s;\n}\n\nvec2 cos_taylor_fp64(vec2 a) {\n vec2 r, s, t, x;\n\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(1.0, 0.0);\n }\n\n x = -mul_fp64(a, a);\n r = x;\n s = sum_fp64(vec2(1.0, 0.0), r * 0.5);\n\n r = mul_fp64(r, x);\n t = mul_fp64(r, INVERSE_FACTORIAL_4_FP64);\n s = sum_fp64(s, t);\n\n r = mul_fp64(r, x);\n t = mul_fp64(r, INVERSE_FACTORIAL_6_FP64);\n s = sum_fp64(s, t);\n\n\n\n\n\n\n return s;\n}\n\nvoid sincos_taylor_fp64(vec2 a, out vec2 sin_t, out vec2 cos_t) {\n if (a.x == 0.0 && a.y == 0.0) {\n sin_t = vec2(0.0, 0.0);\n cos_t = vec2(1.0, 0.0);\n }\n\n sin_t = sin_taylor_fp64(a);\n cos_t = sqrt_fp64(sub_fp64(vec2(1.0, 0.0), mul_fp64(sin_t, sin_t)));\n}\n\nvec2 sin_fp64(vec2 a) {\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(0.0, 0.0);\n }\n vec2 z = nint_fp64(div_fp64(a, TWO_PI_FP64));\n vec2 r = sub_fp64(a, mul_fp64(TWO_PI_FP64, z));\n\n vec2 t;\n float q = floor(r.x / PI_2_FP64.x + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n }\n\n t = sub_fp64(r, mul_fp64(PI_2_FP64, vec2(q, 0.0)));\n\n q = floor(t.x / PI_16_FP64.x + 0.5);\n int k = int(q);\n\n if (k == 0) {\n if (j == 0) {\n return sin_taylor_fp64(t);\n } else if (j == 1) {\n return cos_taylor_fp64(t);\n } else if (j == -1) {\n return -cos_taylor_fp64(t);\n } else {\n return -sin_taylor_fp64(t);\n }\n }\n\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n } else {\n t = sub_fp64(t, mul_fp64(PI_16_FP64, vec2(q, 0.0)));\n }\n\n vec2 u = vec2(0.0, 0.0);\n vec2 v = vec2(0.0, 0.0);\n\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#else\n if (abs_k == 1) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs_k == 2) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs_k == 3) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs_k == 4) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#endif\n\n vec2 sin_t, cos_t;\n sincos_taylor_fp64(t, sin_t, cos_t);\n\n\n\n vec2 result = vec2(0.0, 0.0);\n if (j == 0) {\n if (k > 0) {\n result = sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n } else {\n result = sub_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n }\n } else if (j == 1) {\n if (k > 0) {\n result = sub_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n } else {\n result = sum_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n }\n } else if (j == -1) {\n if (k > 0) {\n result = sub_fp64(mul_fp64(v, sin_t), mul_fp64(u, cos_t));\n } else {\n result = -sum_fp64(mul_fp64(v, sin_t), mul_fp64(u, cos_t));\n }\n } else {\n if (k > 0) {\n result = -sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n } else {\n result = sub_fp64(mul_fp64(v, cos_t), mul_fp64(u, sin_t));\n }\n }\n\n return result;\n}\n\nvec2 cos_fp64(vec2 a) {\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(1.0, 0.0);\n }\n vec2 z = nint_fp64(div_fp64(a, TWO_PI_FP64));\n vec2 r = sub_fp64(a, mul_fp64(TWO_PI_FP64, z));\n\n vec2 t;\n float q = floor(r.x / PI_2_FP64.x + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n }\n\n t = sub_fp64(r, mul_fp64(PI_2_FP64, vec2(q, 0.0)));\n\n q = floor(t.x / PI_16_FP64.x + 0.5);\n int k = int(q);\n\n if (k == 0) {\n if (j == 0) {\n return cos_taylor_fp64(t);\n } else if (j == 1) {\n return -sin_taylor_fp64(t);\n } else if (j == -1) {\n return sin_taylor_fp64(t);\n } else {\n return -cos_taylor_fp64(t);\n }\n }\n\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n } else {\n t = sub_fp64(t, mul_fp64(PI_16_FP64, vec2(q, 0.0)));\n }\n\n vec2 u = vec2(0.0, 0.0);\n vec2 v = vec2(0.0, 0.0);\n\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#else\n if (abs_k == 1) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs_k == 2) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs_k == 3) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs_k == 4) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#endif\n\n vec2 sin_t, cos_t;\n sincos_taylor_fp64(t, sin_t, cos_t);\n\n vec2 result = vec2(0.0, 0.0);\n if (j == 0) {\n if (k > 0) {\n result = sub_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n } else {\n result = sum_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n }\n } else if (j == 1) {\n if (k > 0) {\n result = -sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n } else {\n result = sub_fp64(mul_fp64(v, cos_t), mul_fp64(u, sin_t));\n }\n } else if (j == -1) {\n if (k > 0) {\n result = sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n } else {\n result = sub_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n }\n } else {\n if (k > 0) {\n result = sub_fp64(mul_fp64(v, sin_t), mul_fp64(u, cos_t));\n } else {\n result = -sum_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n }\n }\n\n return result;\n}\n\nvec2 tan_fp64(vec2 a) {\n vec2 sin_a;\n vec2 cos_a;\n\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(0.0, 0.0);\n }\n vec2 z = nint_fp64(div_fp64(a, TWO_PI_FP64));\n vec2 r = sub_fp64(a, mul_fp64(TWO_PI_FP64, z));\n\n vec2 t;\n float q = floor(r.x / PI_2_FP64.x + 0.5);\n int j = int(q);\n\n\n if (j < -2 || j > 2) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n }\n\n t = sub_fp64(r, mul_fp64(PI_2_FP64, vec2(q, 0.0)));\n\n q = floor(t.x / PI_16_FP64.x + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n } else {\n t = sub_fp64(t, mul_fp64(PI_16_FP64, vec2(q, 0.0)));\n }\n\n\n vec2 u = vec2(0.0, 0.0);\n vec2 v = vec2(0.0, 0.0);\n\n vec2 sin_t, cos_t;\n vec2 s, c;\n sincos_taylor_fp64(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#else\n if (abs_k == 1) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs_k == 2) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs_k == 3) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs_k == 4) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#endif\n if (k > 0) {\n s = sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n c = sub_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n } else {\n s = sub_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n c = sum_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return div_fp64(sin_a, cos_a);\n}\n\nvec2 radians_fp64(vec2 degree) {\n return mul_fp64(degree, PI_180_FP64);\n}\n\nvec2 mix_fp64(vec2 a, vec2 b, float x) {\n vec2 range = sub_fp64(b, a);\n return sum_fp64(a, mul_fp64(range, vec2(x, 0.0)));\n}\n\nvoid vec2_sum_fp64(vec2 a[2], vec2 b[2], out vec2 out_val[2]) {\n out_val[0] = sum_fp64(a[0], b[0]);\n out_val[1] = sum_fp64(a[1], b[1]);\n}\n\nvoid vec2_sub_fp64(vec2 a[2], vec2 b[2], out vec2 out_val[2]) {\n out_val[0] = sub_fp64(a[0], b[0]);\n out_val[1] = sub_fp64(a[1], b[1]);\n}\n\nvoid vec2_mul_fp64(vec2 a[2], vec2 b[2], out vec2 out_val[2]) {\n out_val[0] = mul_fp64(a[0], b[0]);\n out_val[1] = mul_fp64(a[1], b[1]);\n}\n\nvoid vec2_div_fp64(vec2 a[2], vec2 b[2], out vec2 out_val[2]) {\n out_val[0] = div_fp64(a[0], b[0]);\n out_val[1] = div_fp64(a[1], b[1]);\n}\n\nvoid vec2_mix_fp64(vec2 x[2], vec2 y[2], float a, out vec2 out_val[2]) {\n vec2 range[2];\n vec2_sub_fp64(y, x, range);\n vec2 portion[2];\n portion[0] = range[0] * a;\n portion[1] = range[1] * a;\n vec2_sum_fp64(x, portion, out_val);\n}\n\nvec2 vec2_length_fp64(vec2 x[2]) {\n return sqrt_fp64(sum_fp64(mul_fp64(x[0], x[0]), mul_fp64(x[1], x[1])));\n}\n\nvoid vec2_normalize_fp64(vec2 x[2], out vec2 out_val[2]) {\n vec2 length = vec2_length_fp64(x);\n vec2 length_vec2[2];\n length_vec2[0] = length;\n length_vec2[1] = length;\n\n vec2_div_fp64(x, length_vec2, out_val);\n}\n\nvec2 vec2_distance_fp64(vec2 x[2], vec2 y[2]) {\n vec2 diff[2];\n vec2_sub_fp64(x, y, diff);\n return vec2_length_fp64(diff);\n}\n\nvec2 vec2_dot_fp64(vec2 a[2], vec2 b[2]) {\n vec2 v[2];\n\n v[0] = mul_fp64(a[0], b[0]);\n v[1] = mul_fp64(a[1], b[1]);\n\n return sum_fp64(v[0], v[1]);\n}\nvoid vec3_sub_fp64(vec2 a[3], vec2 b[3], out vec2 out_val[3]) {\n for (int i = 0; i < 3; i++) {\n out_val[i] = sum_fp64(a[i], b[i]);\n }\n}\n\nvoid vec3_sum_fp64(vec2 a[3], vec2 b[3], out vec2 out_val[3]) {\n for (int i = 0; i < 3; i++) {\n out_val[i] = sum_fp64(a[i], b[i]);\n }\n}\n\nvec2 vec3_length_fp64(vec2 x[3]) {\n return sqrt_fp64(sum_fp64(sum_fp64(mul_fp64(x[0], x[0]), mul_fp64(x[1], x[1])),\n mul_fp64(x[2], x[2])));\n}\n\nvec2 vec3_distance_fp64(vec2 x[3], vec2 y[3]) {\n vec2 diff[3];\n vec3_sub_fp64(x, y, diff);\n return vec3_length_fp64(diff);\n}\nvoid vec4_fp64(vec4 a, out vec2 out_val[4]) {\n out_val[0].x = a[0];\n out_val[0].y = 0.0;\n\n out_val[1].x = a[1];\n out_val[1].y = 0.0;\n\n out_val[2].x = a[2];\n out_val[2].y = 0.0;\n\n out_val[3].x = a[3];\n out_val[3].y = 0.0;\n}\n\nvoid vec4_scalar_mul_fp64(vec2 a[4], vec2 b, out vec2 out_val[4]) {\n out_val[0] = mul_fp64(a[0], b);\n out_val[1] = mul_fp64(a[1], b);\n out_val[2] = mul_fp64(a[2], b);\n out_val[3] = mul_fp64(a[3], b);\n}\n\nvoid vec4_sum_fp64(vec2 a[4], vec2 b[4], out vec2 out_val[4]) {\n for (int i = 0; i < 4; i++) {\n out_val[i] = sum_fp64(a[i], b[i]);\n }\n}\n\nvoid vec4_dot_fp64(vec2 a[4], vec2 b[4], out vec2 out_val) {\n vec2 v[4];\n\n v[0] = mul_fp64(a[0], b[0]);\n v[1] = mul_fp64(a[1], b[1]);\n v[2] = mul_fp64(a[2], b[2]);\n v[3] = mul_fp64(a[3], b[3]);\n\n out_val = sum_fp64(sum_fp64(v[0], v[1]), sum_fp64(v[2], v[3]));\n}\n\nvoid mat4_vec4_mul_fp64(vec2 b[16], vec2 a[4], out vec2 out_val[4]) {\n vec2 tmp[4];\n\n for (int i = 0; i < 4; i++)\n {\n for (int j = 0; j < 4; j++)\n {\n tmp[j] = b[j + i * 4];\n }\n vec4_dot_fp64(a, tmp, out_val[i]);\n }\n}\n",fs:null,dependencies:[{name:"fp64-arithmetic",vs:"uniform float ONE;\nvec2 split(float a) {\n const float SPLIT = 4097.0;\n float t = a * SPLIT;\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float a_hi = t * ONE - (t - a);\n float a_lo = a * ONE - a_hi;\n#else\n float a_hi = t - (t - a);\n float a_lo = a - a_hi;\n#endif\n return vec2(a_hi, a_lo);\n}\nvec2 split2(vec2 a) {\n vec2 b = split(a.x);\n b.y += a.y;\n return b;\n}\nvec2 quickTwoSum(float a, float b) {\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float sum = (a + b) * ONE;\n float err = b - (sum - a) * ONE;\n#else\n float sum = a + b;\n float err = b - (sum - a);\n#endif\n return vec2(sum, err);\n}\nvec2 twoSum(float a, float b) {\n float s = (a + b);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float v = (s * ONE - a) * ONE;\n float err = (a - (s - v) * ONE) * ONE * ONE * ONE + (b - v);\n#else\n float v = s - a;\n float err = (a - (s - v)) + (b - v);\n#endif\n return vec2(s, err);\n}\n\nvec2 twoSub(float a, float b) {\n float s = (a - b);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float v = (s * ONE - a) * ONE;\n float err = (a - (s - v) * ONE) * ONE * ONE * ONE - (b + v);\n#else\n float v = s - a;\n float err = (a - (s - v)) - (b + v);\n#endif\n return vec2(s, err);\n}\n\nvec2 twoSqr(float a) {\n float prod = a * a;\n vec2 a_fp64 = split(a);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float err = ((a_fp64.x * a_fp64.x - prod) * ONE + 2.0 * a_fp64.x *\n a_fp64.y * ONE * ONE) + a_fp64.y * a_fp64.y * ONE * ONE * ONE;\n#else\n float err = ((a_fp64.x * a_fp64.x - prod) + 2.0 * a_fp64.x * a_fp64.y) + a_fp64.y * a_fp64.y;\n#endif\n return vec2(prod, err);\n}\n\nvec2 twoProd(float a, float b) {\n float prod = a * b;\n vec2 a_fp64 = split(a);\n vec2 b_fp64 = split(b);\n float err = ((a_fp64.x * b_fp64.x - prod) + a_fp64.x * b_fp64.y +\n a_fp64.y * b_fp64.x) + a_fp64.y * b_fp64.y;\n return vec2(prod, err);\n}\n\nvec2 sum_fp64(vec2 a, vec2 b) {\n vec2 s, t;\n s = twoSum(a.x, b.x);\n t = twoSum(a.y, b.y);\n s.y += t.x;\n s = quickTwoSum(s.x, s.y);\n s.y += t.y;\n s = quickTwoSum(s.x, s.y);\n return s;\n}\n\nvec2 sub_fp64(vec2 a, vec2 b) {\n vec2 s, t;\n s = twoSub(a.x, b.x);\n t = twoSub(a.y, b.y);\n s.y += t.x;\n s = quickTwoSum(s.x, s.y);\n s.y += t.y;\n s = quickTwoSum(s.x, s.y);\n return s;\n}\n\nvec2 mul_fp64(vec2 a, vec2 b) {\n vec2 prod = twoProd(a.x, b.x);\n prod.y += a.x * b.y;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n prod = split2(prod);\n#endif\n prod = quickTwoSum(prod.x, prod.y);\n prod.y += a.y * b.x;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n prod = split2(prod);\n#endif\n prod = quickTwoSum(prod.x, prod.y);\n return prod;\n}\n\nvec2 div_fp64(vec2 a, vec2 b) {\n float xn = 1.0 / b.x;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n vec2 yn = mul_fp64(a, vec2(xn, 0));\n#else\n vec2 yn = a * xn;\n#endif\n float diff = (sub_fp64(a, mul_fp64(b, yn))).x;\n vec2 prod = twoProd(xn, diff);\n return sum_fp64(yn, prod);\n}\n\nvec2 sqrt_fp64(vec2 a) {\n if (a.x == 0.0 && a.y == 0.0) return vec2(0.0, 0.0);\n if (a.x < 0.0) return vec2(0.0 / 0.0, 0.0 / 0.0);\n\n float x = 1.0 / sqrt(a.x);\n float yn = a.x * x;\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n vec2 yn_sqr = twoSqr(yn) * ONE;\n#else\n vec2 yn_sqr = twoSqr(yn);\n#endif\n float diff = sub_fp64(a, yn_sqr).x;\n vec2 prod = twoProd(x * 0.5, diff);\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n return sum_fp64(split(yn), prod);\n#else\n return sum_fp64(vec2(yn, 0.0), prod);\n#endif\n}\n",fs:null,getUniforms:function(){return X},fp64ify:V,fp64LowPart:K,fp64ifyMatrix4:W}],fp64ify:V,fp64LowPart:K,fp64ifyMatrix4:W},z=A(286),$=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],ee={modelMatrix:$,viewMatrix:$,projectionMatrix:$,cameraPositionWorld:[0,0,0]};var te="varying vec4 project_vPositionWorld;\nvarying vec3 project_vNormalWorld;\n\nvec4 project_getPosition_World() {\n return project_vPositionWorld;\n}\n\nvec3 project_getNormal_World() {\n return project_vNormalWorld;\n}\n",Ae={name:"project",getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ee,t=(arguments.length>1&&void 0!==arguments[1]&&arguments[1],{});return void 0!==e.modelMatrix&&(t.modelMatrix=e.modelMatrix),void 0!==e.viewMatrix&&(t.viewMatrix=e.viewMatrix),void 0!==e.projectionMatrix&&(t.projectionMatrix=e.projectionMatrix),void 0!==e.cameraPositionWorld&&(t.cameraPositionWorld=e.cameraPositionWorld),void 0===e.projectionMatrix&&void 0===e.viewMatrix||(t.viewProjectionMatrix=new z.a(e.projectionMatrix).multiplyRight(e.viewMatrix)),t},vs:"".concat(te,"\nuniform mat4 modelMatrix;\nuniform mat4 viewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewProjectionMatrix;\nuniform vec3 cameraPositionWorld;\n\nstruct World {\n vec3 position;\n vec3 normal;\n};\n\nWorld world;\n\nvoid project_setPosition(vec4 position) {\n project_vPositionWorld = position;\n}\n\nvoid project_setNormal(vec3 normal) {\n project_vNormalWorld = normal;\n}\n\nvoid project_setPositionAndNormal_World(vec3 position, vec3 normal) {\n world.position = position;\n world.normal = normal;\n}\n\nvoid project_setPositionAndNormal_Model(vec3 position, vec3 normal) {\n world.position = (modelMatrix * vec4(position, 1.)).xyz;\n world.normal = mat3(modelMatrix) * normal;\n}\n\nvec4 project_model_to_clipspace(vec4 position) {\n return viewProjectionMatrix * modelMatrix * position;\n}\n\nvec4 project_model_to_clipspace(vec3 position) {\n return viewProjectionMatrix * modelMatrix * vec4(position, 1.);\n}\n\nvec4 project_world_to_clipspace(vec3 position) {\n return viewProjectionMatrix * vec4(position, 1.);\n}\n\nvec4 project_view_to_clipspace(vec3 position) {\n return projectionMatrix * vec4(position, 1.);\n}\n\nvec4 project_to_clipspace(vec3 position) {\n return viewProjectionMatrix * vec4(position, 1.);\n}\n"),fs:"\n".concat(te)},ne={lightDirection:new Float32Array([1,1,2])};var re={name:"dirlight",vs:null,fs:"uniform vec3 dirlight_uLightDirection;\nvec4 dirlight_filterColor(vec4 color) {\n vec3 normal = project_getNormal_World();\n float d = abs(dot(normalize(normal), normalize(dirlight_uLightDirection)));\n return vec4(color.rgb * d, color.a);\n}\n",getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ne,t={};return e.lightDirection&&(t.dirlight_uLightDirection=e.lightDirection),t},dependencies:[Ae]},ie=A(1158),oe=A(655),ae=A(1295),se=A(26);A.d(t,"createGLContext",(function(){return n.c})),A.d(t,"instrumentGLContext",(function(){return n.h})),A.d(t,"isWebGL",(function(){return n.i})),A.d(t,"isWebGL2",(function(){return n.j})),A.d(t,"getParameters",(function(){return n.f})),A.d(t,"setParameters",(function(){return n.n})),A.d(t,"withParameters",(function(){return n.o})),A.d(t,"resetParameters",(function(){return n.l})),A.d(t,"cssToDeviceRatio",(function(){return n.e})),A.d(t,"cssToDevicePixels",(function(){return n.d})),A.d(t,"lumaStats",(function(){return r.a})),A.d(t,"FEATURES",(function(){return i.a})),A.d(t,"hasFeature",(function(){return o.b})),A.d(t,"hasFeatures",(function(){return o.c})),A.d(t,"Buffer",(function(){return a.a})),A.d(t,"Program",(function(){return s.a})),A.d(t,"Framebuffer",(function(){return g.a})),A.d(t,"Renderbuffer",(function(){return c.a})),A.d(t,"Texture2D",(function(){return u.a})),A.d(t,"TextureCube",(function(){return l.a})),A.d(t,"clear",(function(){return I.a})),A.d(t,"readPixelsToArray",(function(){return C.c})),A.d(t,"readPixelsToBuffer",(function(){return C.d})),A.d(t,"cloneTextureFrom",(function(){return h.a})),A.d(t,"copyToTexture",(function(){return C.b})),A.d(t,"Texture3D",(function(){return f.a})),A.d(t,"TransformFeedback",(function(){return d.a})),A.d(t,"AnimationLoop",(function(){return B.a})),A.d(t,"Model",(function(){return p.a})),A.d(t,"Transform",(function(){return E.a})),A.d(t,"ProgramManager",(function(){return Q.a})),A.d(t,"Timeline",(function(){return y.a})),A.d(t,"Geometry",(function(){return v.a})),A.d(t,"ClipSpace",(function(){return m.a})),A.d(t,"ConeGeometry",(function(){return x})),A.d(t,"CubeGeometry",(function(){return N.a})),A.d(t,"CylinderGeometry",(function(){return U})),A.d(t,"IcoSphereGeometry",(function(){return L})),A.d(t,"PlaneGeometry",(function(){return Z})),A.d(t,"SphereGeometry",(function(){return Y})),A.d(t,"TruncatedConeGeometry",(function(){return G})),A.d(t,"normalizeShaderModule",(function(){return j.b})),A.d(t,"fp32",(function(){return P.a})),A.d(t,"fp64",(function(){return q})),A.d(t,"project",(function(){return Ae})),A.d(t,"dirlight",(function(){return re})),A.d(t,"picking",(function(){return ie.a})),A.d(t,"gouraudLighting",(function(){return oe.a})),A.d(t,"phongLighting",(function(){return oe.b})),A.d(t,"pbr",(function(){return ae.a})),A.d(t,"log",(function(){return n.k})),A.d(t,"assert",(function(){return se.a})),A.d(t,"uid",(function(){return R.c}))},,function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,A){"use strict";var n=A(2),r=A(5),i=new Date,o=new Date;function a(e,t,A,n){function r(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return r.floor=function(t){return e(t=new Date(+t)),t},r.ceil=function(A){return e(A=new Date(A-1)),t(A,1),e(A),A},r.round=function(e){var t=r(e),A=r.ceil(e);return e-t<A-e?t:A},r.offset=function(e,A){return t(e=new Date(+e),null==A?1:Math.floor(A)),e},r.range=function(A,n,i){var o,a=[];if(A=r.ceil(A),i=null==i?1:Math.floor(i),!(A<n)||!(i>0))return a;do{a.push(o=new Date(+A)),t(A,i),e(A)}while(o<A&&A<n);return a},r.filter=function(A){return a((function(t){if(t>=t)for(;e(t),!A(t);)t.setTime(t-1)}),(function(e,n){if(e>=e)if(n<0)for(;++n<=0;)for(;t(e,-1),!A(e););else for(;--n>=0;)for(;t(e,1),!A(e););}))},A&&(r.count=function(t,n){return i.setTime(+t),o.setTime(+n),e(i),e(o),Math.floor(A(i,o))},r.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?r.filter(n?function(t){return n(t)%e===0}:function(t){return r.count(0,t)%e===0}):r:null}),r}var s=a((function(e){return e.setHours(0,0,0,0)}),(function(e,t){return e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5}),(function(e){return e.getDate()-1})),g=s;s.range;function c(e){return a((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/6048e5}))}var u=c(0),l=c(1),I=c(2),C=c(3),h=c(4),f=c(5),d=c(6),B=(u.range,l.range,I.range,C.range,h.range,f.range,d.range,a((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/864e5}),(function(e){return e.getUTCDate()-1}))),p=B;B.range;function E(e){return a((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/6048e5}))}var Q=E(0),y=E(1),v=E(2),m=E(3),b=E(4),w=E(5),S=E(6),F=(Q.range,y.range,v.range,m.range,b.range,w.range,S.range,a((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()})));F.every=function(e){return isFinite(e=Math.floor(e))&&e>0?a((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,A){t.setFullYear(t.getFullYear()+A*e)})):null};var R=F,D=(F.range,a((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()}))),G=D,k=(D.range,a((function(e){e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds()-6e4*e.getMinutes())}),(function(e,t){e.setTime(+e+36e5*t)}),(function(e,t){return(t-e)/36e5}),(function(e){return e.getHours()}))),x=k,N=(k.range,a((function(e){e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds())}),(function(e,t){e.setTime(+e+6e4*t)}),(function(e,t){return(t-e)/6e4}),(function(e){return e.getMinutes()}))),U=N,_=(N.range,a((function(e){e.setTime(e-e.getMilliseconds())}),(function(e,t){e.setTime(+e+1e3*t)}),(function(e,t){return(t-e)/1e3}),(function(e){return e.getUTCSeconds()}))),M=_,O=(_.range,a((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e})));O.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?a((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,A){t.setTime(+t+A*e)}),(function(t,A){return(A-t)/e})):O:null};var L=O,T=(O.range,a((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()})));T.every=function(e){return isFinite(e=Math.floor(e))&&e>0?a((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,A){t.setUTCFullYear(t.getUTCFullYear()+A*e)})):null};var Z=T,H=(T.range,a((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()}))),Y=H,J=(H.range,a((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+36e5*t)}),(function(e,t){return(t-e)/36e5}),(function(e){return e.getUTCHours()}))),j=J,P=(J.range,a((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+6e4*t)}),(function(e,t){return(t-e)/6e4}),(function(e){return e.getUTCMinutes()}))),V=P,K=(P.range,function(e){var t=e,A=e;function n(e,t,n,r){for(null==n&&(n=0),null==r&&(r=e.length);n<r;){var i=n+r>>>1;A(e[i],t)<0?n=i+1:r=i}return n}return 1===e.length&&(t=function(t,A){return e(t)-A},A=function(e){return function(t,A){return(n=e(t))<(r=A)?-1:n>r?1:n>=r?0:NaN;var n,r}}(e)),{left:n,center:function(e,A,r,i){null==r&&(r=0),null==i&&(i=e.length);var o=n(e,A,r,i-1);return o>r&&t(e[o-1],A)>-t(e[o],A)?o-1:o},right:function(e,t,n,r){for(null==n&&(n=0),null==r&&(r=e.length);n<r;){var i=n+r>>>1;A(e[i],t)>0?r=i:n=i+1}return n}}});var W,X,q,z,$,ee,te,Ae=Math.sqrt(50),ne=Math.sqrt(10),re=Math.sqrt(2);function ie(e,t,A){var n=Math.abs(t-e)/Math.max(0,A),r=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),i=n/r;return i>=Ae?r*=10:i>=ne?r*=5:i>=re&&(r*=2),t<e?-r:r}A.d(t,"a",(function(){return ce})),A.d(t,"b",(function(){return ue})),A.d(t,"c",(function(){return le})),A.d(t,"d",(function(){return Ie})),A.d(t,"e",(function(){return fe})),A.d(t,"f",(function(){return Ce})),A.d(t,"g",(function(){return se})),A.d(t,"h",(function(){return ae})),A.d(t,"i",(function(){return he})),A.d(t,"j",(function(){return de})),A.d(t,"k",(function(){return ge})),A.d(t,"l",(function(){return oe})),A.d(t,"m",(function(){return me})),A.d(t,"n",(function(){return st})),A.d(t,"o",(function(){return Te})),A.d(t,"p",(function(){return Pe})),A.d(t,"q",(function(){return We})),A.d(t,"r",(function(){return ze})),A.d(t,"s",(function(){return Qe})),A.d(t,"t",(function(){return pe})),A.d(t,"u",(function(){return Ye})),A.d(t,"v",(function(){return Ve})),A.d(t,"w",(function(){return Xe})),A.d(t,"x",(function(){return $e})),A.d(t,"y",(function(){return De})),A.d(t,"z",(function(){return Ge})),A.d(t,"A",(function(){return be}));var oe="year",ae="quarter",se="month",ge="week",ce="date",ue="day",le="dayofyear",Ie="hours",Ce="minutes",he="seconds",fe="milliseconds",de=[oe,ae,se,ge,ce,ue,le,Ie,Ce,he,fe],Be=de.reduce((function(e,t,A){return e[t]=1+A,e}),{});function pe(e){var t=Object(r.i)(e).slice(),A={};return t.length||Object(r.o)("Missing time unit."),t.forEach((function(e){Object(r.w)(Be,e)?A[e]=1:Object(r.o)("Invalid time unit: ".concat(e,"."))})),(A[ge]||A[ue]?1:0)+(A[ae]||A[se]||A[ce]?1:0)+(A[le]?1:0)>1&&Object(r.o)("Incompatible time units: ".concat(e)),t.sort((function(e,t){return Be[e]-Be[t]})),t}var Ee=(W={},Object(n.a)(W,oe,"%Y "),Object(n.a)(W,ae,"Q%q "),Object(n.a)(W,se,"%b "),Object(n.a)(W,ce,"%d "),Object(n.a)(W,ge,"W%U "),Object(n.a)(W,ue,"%a "),Object(n.a)(W,le,"%j "),Object(n.a)(W,Ie,"%H:00"),Object(n.a)(W,Ce,"00:%M"),Object(n.a)(W,he,":%S"),Object(n.a)(W,fe,".%L"),Object(n.a)(W,"".concat(oe,"-").concat(se),"%Y-%m "),Object(n.a)(W,"".concat(oe,"-").concat(se,"-").concat(ce),"%Y-%m-%d "),Object(n.a)(W,"".concat(Ie,"-").concat(Ce),"%H:%M"),W);function Qe(e,t){var A,n,i=Object(r.p)({},Ee,t),o=pe(e),a=o.length,s="",g=0;for(g=0;g<a;)for(A=o.length;A>g;--A)if(null!=i[n=o.slice(g,A).join("-")]){s+=i[n],g=A;break}return s.trim()}var ye=new Date;function ve(e){return ye.setFullYear(e),ye.setMonth(0),ye.setDate(1),ye.setHours(0,0,0,0),ye}function me(e){return we(new Date(e))}function be(e){return Se(new Date(e))}function we(e){return g.count(ve(e.getFullYear())-1,e)}function Se(e){return u.count(ve(e.getFullYear())-1,e)}function Fe(e){return ve(e).getDay()}function Re(e,t,A,n,r,i,o){if(0<=e&&e<100){var a=new Date(-1,t,A,n,r,i,o);return a.setFullYear(e),a}return new Date(e,t,A,n,r,i,o)}function De(e){return ke(new Date(e))}function Ge(e){return xe(new Date(e))}function ke(e){var t=Date.UTC(e.getUTCFullYear(),0,1);return p.count(t-1,e)}function xe(e){var t=Date.UTC(e.getUTCFullYear(),0,1);return Q.count(t-1,e)}function Ne(e){return ye.setTime(Date.UTC(e,0,1)),ye.getUTCDay()}function Ue(e,t,A,n,r,i,o){if(0<=e&&e<100){var a=new Date(Date.UTC(-1,t,A,n,r,i,o));return a.setUTCFullYear(A.y),a}return new Date(Date.UTC(e,t,A,n,r,i,o))}function _e(e,t,A,n,i){var o=t||1,a=Object(r.W)(e),s=function(e,t,r){return function(e,t,A,n){var r=A<=1?e:n?function(t,r){return n+A*Math.floor((e(t,r)-n)/A)}:function(t,n){return A*Math.floor(e(t,n)/A)};return t?function(e,A){return t(r(e,A),A)}:r}(A[r=r||e],n[r],e===a&&o,t)},g=new Date,c=Object(r.fb)(e),u=c[oe]?s(oe):Object(r.m)(2012),l=c[se]?s(se):c[ae]?s(ae):r.mb,I=c[ge]&&c[ue]?s(ue,1,ge+ue):c[ge]?s(ge,1):c[ue]?s(ue,1):c[ce]?s(ce,1):c[le]?s(le,1):r.Q,C=c[Ie]?s(Ie):r.mb,h=c[Ce]?s(Ce):r.mb,f=c[he]?s(he):r.mb,d=c[fe]?s(fe):r.mb;return function(e){g.setTime(+e);var t=u(g);return i(t,l(g),I(g,t),C(g),h(g),f(g),d(g))}}function Me(e,t,A){return t+7*e-(A+6)%7}var Oe=(X={},Object(n.a)(X,oe,(function(e){return e.getFullYear()})),Object(n.a)(X,ae,(function(e){return Math.floor(e.getMonth()/3)})),Object(n.a)(X,se,(function(e){return e.getMonth()})),Object(n.a)(X,ce,(function(e){return e.getDate()})),Object(n.a)(X,Ie,(function(e){return e.getHours()})),Object(n.a)(X,Ce,(function(e){return e.getMinutes()})),Object(n.a)(X,he,(function(e){return e.getSeconds()})),Object(n.a)(X,fe,(function(e){return e.getMilliseconds()})),Object(n.a)(X,le,(function(e){return we(e)})),Object(n.a)(X,ge,(function(e){return Se(e)})),Object(n.a)(X,ge+ue,(function(e,t){return Me(Se(e),e.getDay(),Fe(t))})),Object(n.a)(X,ue,(function(e,t){return Me(1,e.getDay(),Fe(t))})),X),Le=(q={},Object(n.a)(q,ae,(function(e){return 3*e})),Object(n.a)(q,ge,(function(e,t){return Me(e,0,Fe(t))})),q);function Te(e,t){return _e(e,t||1,Oe,Le,Re)}var Ze=(z={},Object(n.a)(z,oe,(function(e){return e.getUTCFullYear()})),Object(n.a)(z,ae,(function(e){return Math.floor(e.getUTCMonth()/3)})),Object(n.a)(z,se,(function(e){return e.getUTCMonth()})),Object(n.a)(z,ce,(function(e){return e.getUTCDate()})),Object(n.a)(z,Ie,(function(e){return e.getUTCHours()})),Object(n.a)(z,Ce,(function(e){return e.getUTCMinutes()})),Object(n.a)(z,he,(function(e){return e.getUTCSeconds()})),Object(n.a)(z,fe,(function(e){return e.getUTCMilliseconds()})),Object(n.a)(z,le,(function(e){return ke(e)})),Object(n.a)(z,ge,(function(e){return xe(e)})),Object(n.a)(z,ue,(function(e,t){return Me(1,e.getUTCDay(),Ne(t))})),Object(n.a)(z,ge+ue,(function(e,t){return Me(xe(e),e.getUTCDay(),Ne(t))})),z),He=($={},Object(n.a)($,ae,(function(e){return 3*e})),Object(n.a)($,ge,(function(e,t){return Me(e,0,Ne(t))})),$);function Ye(e,t){return _e(e,t||1,Ze,He,Ue)}var Je=(ee={},Object(n.a)(ee,oe,R),Object(n.a)(ee,ae,G.every(3)),Object(n.a)(ee,se,G),Object(n.a)(ee,ge,u),Object(n.a)(ee,ce,g),Object(n.a)(ee,ue,g),Object(n.a)(ee,le,g),Object(n.a)(ee,Ie,x),Object(n.a)(ee,Ce,U),Object(n.a)(ee,he,M),Object(n.a)(ee,fe,L),ee),je=(te={},Object(n.a)(te,oe,Z),Object(n.a)(te,ae,Y.every(3)),Object(n.a)(te,se,Y),Object(n.a)(te,ge,Q),Object(n.a)(te,ce,p),Object(n.a)(te,ue,p),Object(n.a)(te,le,p),Object(n.a)(te,Ie,j),Object(n.a)(te,Ce,V),Object(n.a)(te,he,M),Object(n.a)(te,fe,L),te);function Pe(e){return Je[e]}function Ve(e){return je[e]}function Ke(e,t,A){return e?e.offset(t,A):void 0}function We(e,t,A){return Ke(Pe(e),t,A)}function Xe(e,t,A){return Ke(Ve(e),t,A)}function qe(e,t,A,n){return e?e.range(t,A,n):void 0}function ze(e,t,A,n){return qe(Pe(e),t,A,n)}function $e(e,t,A,n){return qe(Ve(e),t,A,n)}var et=[oe,se,ce,Ie,Ce,he,fe],tt=et.slice(0,-1),At=tt.slice(0,-1),nt=At.slice(0,-1),rt=nt.slice(0,-1),it=[oe,se],ot=[oe],at=[[tt,1,1e3],[tt,5,5e3],[tt,15,15e3],[tt,30,3e4],[At,1,6e4],[At,5,3e5],[At,15,9e5],[At,30,18e5],[nt,1,36e5],[nt,3,108e5],[nt,6,216e5],[nt,12,432e5],[rt,1,864e5],[[oe,ge],1,6048e5],[it,1,2592e6],[it,3,7776e6],[ot,1,31536e6]];function st(e){var t,A,n=e.extent,i=e.maxbins||40,o=Math.abs(Object(r.Z)(n))/i,a=K((function(e){return e[2]})).right(at,o);return a===at.length?(t=ot,A=ie(n[0]/31536e6,n[1]/31536e6,i)):a?(t=(a=at[o/at[a-1][2]<at[a][2]/o?a-1:a])[0],A=a[1]):(t=et,A=Math.max(ie(n[0],n[1],i),1)),{units:t,step:A}}},function(e,t,A){"use strict";(function(e,n){A.d(t,"a",(function(){return k})),A.d(t,"b",(function(){return nt})),A.d(t,"c",(function(){return D})),A.d(t,"d",(function(){return E})),A.d(t,"e",(function(){return ft})),A.d(t,"f",(function(){return Et})),A.d(t,"g",(function(){return M}));var r=A(7),i=A(73),o=A(8),a=A(11),s=A(4),g=A(3),c=A.n(g),u=A(6),l=A(1),I=A(24),C=A(9),h=A(10),f=A(54),d=A(12),B=c.a.mark(K),p=new Map;function E(e,t){p.set(e,t)}function Q(e){return y.apply(this,arguments)}function y(){return(y=Object(d.a)(c.a.mark((function e(t){var A;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(p.has(t.id)){e.next=2;break}throw new Error("Compression codec ".concat(t.id," is not supported by Zarr.js yet."));case 2:return e.next=4,p.get(t.id)();case 4:return A=e.sent,e.abrupt("return",A.fromConfig(t));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function v(e){return new Proxy(e,{set:function(e,t,A,n){return e.setItem(t,A)},get:function(e,t,A){return e.getItem(t)},deleteProperty:function(e,t){return e.deleteItem(t)},has:function(e,t){return e.containsItem(t)}})}function m(e){return"object"===typeof(t=e)&&null!==t&&"__zarr__"in t&&"KeyError"===e.__zarr__;var t}var b=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,"path ".concat(e," contains an array"))).__zarr__="ContainsArrayError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),w=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,"path ".concat(e," contains a group"))).__zarr__="ContainsGroupError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),S=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,"array not found at path ".concat(e))).__zarr__="ArrayNotFoundError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),F=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,"ground not found at path ".concat(e))).__zarr__="GroupNotFoundError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),R=(Error,function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,e)).__zarr__="PermissionError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error))),D=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,"key ".concat(e," not present"))).__zarr__="KeyError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),G=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e,n){var r;return Object(l.a)(this,A),(r=t.call(this,"too many indices for array; expected ".concat(n.length,", got ").concat(e.length))).__zarr__="TooManyIndicesError",Object.setPrototypeOf(Object(I.a)(r),A.prototype),r}return A}(Object(f.a)(RangeError)),k=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,e)).__zarr__="BoundsCheckError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(RangeError)),x=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e,n,r,i){var o;return Object(l.a)(this,A),(o=t.call(this,"slice arguments slice(".concat(e,", ").concat(n,", ").concat(r,") invalid: ").concat(i))).__zarr__="InvalidSliceError",Object.setPrototypeOf(Object(I.a)(o),A.prototype),o}return A}(Object(f.a)(RangeError)),N=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(){var e;return Object(l.a)(this,A),(e=t.call(this,"Negative step size is not supported when indexing.")).__zarr__="NegativeStepError",Object.setPrototypeOf(Object(I.a)(e),A.prototype),e}return A}(Object(f.a)(Error)),U=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,e)).__zarr__="ValueError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),_=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,e)).__zarr__="HTTPError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error));function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(void 0===e)throw new x(e,t,A,"The first argument must not be undefined");if("string"===typeof e&&":"!==e||"string"===typeof t&&":"!==t)throw new x(e,t,A,'Arguments can only be integers, ":" or null');return void 0===t&&(t=e,e=null),{start:":"===e?null:e,stop:":"===t?null:t,step:A,_slice:!0}}function O(e,t){var A,n,r;r=null===e.step?1:e.step,null===e.start?A=r<0?Number.MAX_SAFE_INTEGER:0:(A=e.start)<0&&(A+=t),null===e.stop?n=r<0?-Number.MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER:(n=e.stop)<0&&(n+=t);var i=function(e,t,A,n){if(e<0?(e+=n)<0&&(e=A<0?-1:0):e>=n&&(e=A<0?n-1:n),t<0?(t+=n)<0&&(t=A<0?-1:0):t>=n&&(t=A<0?n-1:n),A<0){if(t<e)return[e,t,A,Math.floor((e-t-1)/-A+1)]}else if(e<t)return[e,t,A,Math.floor((t-e-1)/A+1)];return[e,t,A,0]}(A,n,r,t);if(A=i[0],n=i[1],r=i[2],t=i[3],0===r)throw new Error("Step size 0 is invalid");return[A,n,r,t]}function L(e){return Array.isArray(e)?e:[e]}function T(e,t){for(var A=[],n=[],r=0;r<e.length;r++){var i=e[r];if("number"===typeof i)A.push(i);else{var o=O(i,t[r]),a=o[3];n.push(a),A.push(o)}}return[A,n]}function Z(e,t){var A=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e=H(e,t);for(var n=0;n<e.length;n++){var r=e[n];if("number"===typeof r)e[n]=A?M(r,r+1,1):Y(r,t[n]);else{if(J(r))throw new TypeError("Integer array selections are not supported (yet)");":"!==r&&null!==r||(e[n]=M(null,null,1))}}return e}function H(e,t){e=L(e);for(var A=-1,n=0,r=0;r<e.length;r++)"..."===e[r]&&(A=r,n+=1);if(n>1)throw new RangeError("an index can only have a single ellipsis ('...')");if(1===n){var i=A,o=e.length-(i+1),a=e.length-1;if(a>=t.length)e=e.filter((function(e){return"..."!==e}));else{var s=t.length-a,g=e.slice(0,i).concat(new Array(s).fill(null));o>0&&(g=g.concat(e.slice(e.length-o))),e=g}}if(e.length<t.length){var c=t.length-e.length;e=e.concat(new Array(c).fill(null))}return function(e,t){if(e.length>t.length)throw new G(e,t)}(e,t),e}function Y(e,t){if(e<0&&(e=t+e),e>=t||e<0)throw new k("index out of bounds for dimension with length ".concat(t));return e}function J(e){if(!Array.isArray(e))return!1;var t,A=Object(u.a)(e);try{for(A.s();!(t=A.n()).done;){if("number"!==typeof t.value)return!1}}catch(n){A.e(n)}finally{A.f()}return!0}function j(e){return null!==e&&!0===e._slice}function P(e){return j(e)&&(null===e.step||1===e.step)}function V(e){e=L(e);for(var t=0;t<e.length;t++){var A=e[t];if(!J(A)&&!P(A)&&"..."!==A)return!1}return!0}function K(){var e,t,A,n,r,i,o=arguments;return c.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:for(e=o.length,t=new Array(e),A=0;A<e;A++)t[A]=o[A];if(0!==t.length){a.next=3;break}return a.abrupt("return");case 3:n=t.map((function(e){return e()})),r=n.map((function(e){return e.next()})),i=0;case 6:if(!r[i].done){a.next=13;break}if(n[i]=t[i](),r[i]=n[i].next(),!(++i>=n.length)){a.next=11;break}return a.abrupt("return");case 11:a.next=16;break;case 13:return a.next=15,r.map((function(e){return e.value}));case 15:i=0;case 16:r[i]=n[i].next();case 17:a.next=6;break;case 19:case"end":return a.stop()}}),B)}var W=function(){function e(t,A){Object(l.a)(this,e),t=Z(t,A.shape),this.dimIndexers=[];for(var n=A.shape,r=0;r<n.length;r++){var i=t[r],o=n[r],a=A.chunks[r];if(null===i&&(i=M(null)),"number"===typeof i)this.dimIndexers.push(new X(i,o,a));else{if(!j(i))throw new RangeError("Unspported selection item for basic indexing; expected integer or slice, got ".concat(i));this.dimIndexers.push(new q(i,o,a))}}this.shape=[];var s,g=Object(u.a)(this.dimIndexers);try{for(g.s();!(s=g.n()).done;){var c=s.value;c instanceof q&&this.shape.push(c.numItems)}}catch(I){g.e(I)}finally{g.f()}this.dropAxes=null}return Object(s.a)(e,[{key:"iter",value:c.a.mark((function e(){var t,A,n,r,i,o,s,g,l,I,C;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.dimIndexers.map((function(e){return function(){return e.iter()}})),A=K.apply(void 0,Object(a.a)(t)),n=Object(u.a)(A),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=16;break}i=r.value,o=[],s=[],g=[],l=Object(u.a)(i);try{for(l.s();!(I=l.n()).done;)C=I.value,o.push(C.dimChunkIndex),s.push(C.dimChunkSelection),null!==C.dimOutSelection&&g.push(C.dimOutSelection)}catch(c){l.e(c)}finally{l.f()}return e.next=14,{chunkCoords:o,chunkSelection:s,outSelection:g};case 14:e.next=5;break;case 16:e.next=21;break;case 18:e.prev=18,e.t0=e.catch(3),n.e(e.t0);case 21:return e.prev=21,n.f(),e.finish(21);case 24:case"end":return e.stop()}}),e,this,[[3,18,21,24]])}))}]),e}(),X=function(){function e(t,A,n){Object(l.a)(this,e),t=Y(t,A),this.dimSelection=t,this.dimLength=A,this.dimChunkLength=n,this.numItems=1}return Object(s.a)(e,[{key:"iter",value:c.a.mark((function e(){var t,A,n;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Math.floor(this.dimSelection/this.dimChunkLength),A=t*this.dimChunkLength,n=this.dimSelection-A,null,e.next=6,{dimChunkIndex:t,dimChunkSelection:n,dimOutSelection:null};case 6:case"end":return e.stop()}}),e,this)}))}]),e}(),q=function(){function e(t,A,n){Object(l.a)(this,e);var r=O(t,A),i=Object(o.a)(r,3),a=i[0],s=i[1],g=i[2];if(this.start=a,this.stop=s,this.step=g,this.step<1)throw new N;this.dimLength=A,this.dimChunkLength=n,this.numItems=Math.max(0,Math.ceil((this.stop-this.start)/this.step)),this.numChunks=Math.ceil(this.dimLength/this.dimChunkLength)}return Object(s.a)(e,[{key:"iter",value:c.a.mark((function e(){var t,A,n,r,i,o,a,s,g,u,l,I,C;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=Math.floor(this.start/this.dimChunkLength),A=Math.ceil(this.stop/this.dimChunkLength),n=t;case 3:if(!(n<A)){e.next=20;break}return r=n*this.dimChunkLength,i=Math.min(this.dimLength,(n+1)*this.dimChunkLength),o=i-r,a=void 0,s=void 0,g=void 0,this.start<r?(a=0,(u=(r-this.start)%this.step)>0&&(a+=this.step-u),g=Math.ceil((r-this.start)/this.step)):(a=this.start-r,g=0),s=this.stop>i?o:this.stop-r,l=M(a,s,this.step),I=Math.ceil((s-a)/this.step),C=M(g,g+I),e.next=17,{dimChunkIndex:n,dimChunkSelection:l,dimOutSelection:C};case 17:n++,e.next=3;break;case 20:case"end":return e.stop()}}),e,this)}))}]),e}(),z="undefined"!==typeof e&&e.versions&&e.versions.node;function $(e){if(null===e)return"";for(e instanceof String&&(e=e.valueOf()),e=e.replace(/\\/g,"/");e.length>0&&"/"===e[0];)e=e.slice(1);for(;e.length>0&&"/"===e[e.length-1];)e=e.slice(0,e.length-1);var t,A=(e=e.replace(/\/\/+/g,"/")).split("/"),n=Object(u.a)(A);try{for(n.s();!(t=n.n()).done;){var r=t.value;if("."===r||".."===r)throw Error("path containing '.' or '..' segment not allowed")}}catch(i){n.e(i)}finally{n.f()}return e}function ee(e){return"number"===typeof e&&(e=[e]),e.map((function(e){return Math.floor(e)}))}function te(e,t){if(null===e||!0===e)throw new Error("Chunk guessing is not supported yet");return!1===e?t:("number"===typeof e&&(e=[e]),e.length<t.length&&(e=e.concat(t.slice(e.length))),e.map((function(e,A){return-1===e||null===e?t[A]:Math.floor(e)})))}function Ae(e){return e=e.toUpperCase()}function ne(e,t){if(null===e)return!0;Array.isArray(e)||(e=[e]);for(var A=0;A<Math.min(e.length,t.length);A++){var n=e[A];if(null!==n){if(j(n)){var r=n,i=1===r.step||null===r.step;if(null===r.start&&null===r.stop&&i)continue;if(r.stop-r.start===t[A]&&i)continue;return!1}return!1}}return!0}function re(e,t){if(e.length!==t.length)return!1;for(var A=0;A<e.length;A++)if(e[A]!==t[A])return!1;return!0}function ie(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];return t.map((function(e,t){return 0===t?e.trim().replace(/[\/]*$/g,""):e.trim().replace(/(^[\/]*|[\/]*$)/g,"")})).filter((function(e){return e.length})).join("/")}function oe(e){var t=e.BYTES_PER_ELEMENT;if(1!==t){if(z){var A=n.from(e.buffer,e.byteOffset,e.length*t);return 2===t&&A.swap16(),4===t&&A.swap32(),void(8===t&&A.swap64())}for(var r,i=new Uint8Array(e.buffer,e.byteOffset,e.length*t),o=t/2,a=t-1,s=0;s<i.length;s+=t)for(var g=0;g<o;g++)r=i[s+g],i[s+g]=i[s+a-g],i[s+a-g]=r}}function ae(e){var t=e.slice();return oe(t),t}function se(e){return ge.apply(this,arguments)}function ge(){return(ge=Object(d.a)(c.a.mark((function e(t){var A,n,r,i=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=$(A=i.length>1&&void 0!==i[1]?i[1]:null),n=le(A),r=n+".zarray",e.abrupt("return",t.containsItem(r));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ce(e){return ue.apply(this,arguments)}function ue(){return(ue=Object(d.a)(c.a.mark((function e(t){var A,n,r,i=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=$(A=i.length>1&&void 0!==i[1]?i[1]:null),n=le(A),r=n+".zgroup",e.abrupt("return",t.containsItem(r));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function le(e){return e.length>0?e+"/":""}function Ie(e,t,A,n){return Ce.apply(this,arguments)}function Ce(){return(Ce=Object(d.a)(c.a.mark((function e(t,A,n,r){var i,o,a,s,g;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==A.length){e.next=2;break}return e.abrupt("return");case 2:i=A.split("/"),o="",a=Object(u.a)(i.slice(0,i.length-1)),e.prev=5,a.s();case 7:if((s=a.n()).done){e.next=25;break}return g=s.value,o+=g,e.next=12,se(t,o);case 12:if(!e.sent){e.next=17;break}return e.next=15,he(t,o,r);case 15:e.next=22;break;case 17:return e.next=19,ce(t,o);case 19:if(e.sent){e.next=22;break}return e.next=22,he(t,o);case 22:o+="/";case 23:e.next=7;break;case 25:e.next=30;break;case 27:e.prev=27,e.t0=e.catch(5),a.e(e.t0);case 30:return e.prev=30,a.f(),e.finish(30);case 33:case"end":return e.stop()}}),e,null,[[5,27,30,33]])})))).apply(this,arguments)}function he(e){return fe.apply(this,arguments)}function fe(){return(fe=Object(d.a)(c.a.mark((function e(t){var A,n,r,i,o=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=o.length>1&&void 0!==o[1]?o[1]:null,n=o.length>2&&void 0!==o[2]&&o[2],A=$(A),!n){e.next=7;break}throw Error("Group overwriting not implemented yet :(");case 7:return e.next=9,se(t,A);case 9:if(!e.sent){e.next=13;break}throw new b(A);case 13:return e.next=15,ce(t,A);case 15:if(!e.sent){e.next=17;break}throw new w(A);case 17:return r={zarr_format:2},i=le(A)+".zgroup",e.next=21,t.setItem(i,JSON.stringify(r));case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function de(e){return Be.apply(this,arguments)}function Be(){return(Be=Object(d.a)(c.a.mark((function e(t){var A,n,r,i=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=i.length>1&&void 0!==i[1]?i[1]:null,n=i.length>2&&void 0!==i[2]?i[2]:null,r=i.length>3&&void 0!==i[3]&&i[3],A=$(A),e.next=6,Ie(t,A,n,r);case 6:return e.next=8,he(t,A,r);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function pe(e,t,A,n,r,i,o,a,s,g,c,u){return Ee.apply(this,arguments)}function Ee(){return(Ee=Object(d.a)(c.a.mark((function e(t,A,n,r,i,o,a,s,g,u,l,I){var C,h,f;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!g){e.next=4;break}throw Error("Array overwriting not implemented yet :(");case 4:return e.next=6,se(t,i);case 6:if(!e.sent){e.next=10;break}throw new b(i);case 10:return e.next=12,ce(t,i);case 12:if(!e.sent){e.next=14;break}throw new w(i);case 14:if(r=r,A=ee(A),n=te(n,A),s=Ae(s),a=a,!(null!==l&&l.length>0)){e.next=21;break}throw Error("Filters are not supported yet");case 21:return C=a,"number"===typeof a&&(Number.isNaN(a)&&(C="NaN"),Number.POSITIVE_INFINITY===a&&(C="Infinity"),Number.NEGATIVE_INFINITY===a&&(C="-Infinity")),h={zarr_format:2,shape:A,chunks:n,dtype:r,fill_value:C,order:s,compressor:o,filters:l=null},I&&(h.dimension_separator=I),f=le(i)+".zarray",e.next=29,t.setItem(f,JSON.stringify(h));case 29:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Qe(e,t,A,n){return ye.apply(this,arguments)}function ye(){return(ye=Object(d.a)(c.a.mark((function e(t,A,n,r){var i,o,a,s,g,u,l,I,C=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=C.length>4&&void 0!==C[4]?C[4]:null,o=C.length>5&&void 0!==C[5]?C[5]:null,a=C.length>6&&void 0!==C[6]?C[6]:null,s=C.length>7&&void 0!==C[7]?C[7]:"C",g=C.length>8&&void 0!==C[8]&&C[8],u=C.length>9&&void 0!==C[9]?C[9]:null,l=C.length>10&&void 0!==C[10]?C[10]:null,I=C.length>11?C[11]:void 0,i=$(i),e.next=11,Ie(t,i,u,g);case 11:return e.next=13,pe(t,A,n,r,i,o,a,s,g,u,l,I);case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ve(e){if("string"!==typeof e){if(z&&n.isBuffer(e))return JSON.parse(e.toString());if(e instanceof ArrayBuffer){var t=new TextDecoder,A=new Uint8Array(e);return JSON.parse(t.decode(A))}return e}return JSON.parse(e)}var me=function(){function e(t,A,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];Object(l.a)(this,e),this.store=t,this.key=A,this.readOnly=n,this.cache=r,this.cachedValue=null}return Object(s.a)(e,[{key:"asObject",value:function(){var e=Object(d.a)(c.a.mark((function e(){var t;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.cache||null===this.cachedValue){e.next=2;break}return e.abrupt("return",this.cachedValue);case 2:return e.next=4,this.getNoSync();case 4:return t=e.sent,this.cache&&(this.cachedValue=t),e.abrupt("return",t);case 7:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"getNoSync",value:function(){var e=Object(d.a)(c.a.mark((function e(){var t;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.store.getItem(this.key);case 3:return t=e.sent,e.abrupt("return",ve(t));case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",{});case 10:case"end":return e.stop()}}),e,this,[[0,7]])})));return function(){return e.apply(this,arguments)}}()},{key:"setNoSync",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var n;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getNoSync();case 2:return(n=e.sent)[t]=A,e.next=6,this.putNoSync(n);case 6:return e.abrupt("return",!0);case 7:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"putNoSync",value:function(){var e=Object(d.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.store.setItem(this.key,JSON.stringify(t));case 2:this.cache&&(this.cachedValue=t);case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"delNoSync",value:function(){var e=Object(d.a)(c.a.mark((function e(t){var A;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getNoSync();case 2:return delete(A=e.sent)[t],e.next=6,this.putNoSync(A);case 6:return e.abrupt("return",!0);case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"put",value:function(){var e=Object(d.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.readOnly){e.next=2;break}throw new R("attributes are read-only");case 2:return e.abrupt("return",this.putNoSync(t));case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"setItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.readOnly){e.next=2;break}throw new R("attributes are read-only");case 2:return e.abrupt("return",this.setNoSync(t,A));case 3:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"getItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.asObject();case 2:return e.t0=t,e.abrupt("return",e.sent[e.t0]);case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"deleteItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.readOnly){e.next=2;break}throw new R("attributes are read-only");case 2:return e.abrupt("return",this.delNoSync(t));case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"containsItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.asObject();case 2:return e.t0=t,e.t1=e.sent[e.t0],e.t2=void 0,e.abrupt("return",e.t1!==e.t2);case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"proxy",value:function(){return v(this)}}]),e}(),be={"|b":Int8Array,"|B":Uint8Array,"|u1":Uint8Array,"|i1":Int8Array,"<b":Int8Array,"<B":Uint8Array,"<u1":Uint8Array,"<i1":Int8Array,"<u2":Uint16Array,"<i2":Int16Array,"<u4":Uint32Array,"<i4":Int32Array,"<f4":Float32Array,"<f8":Float64Array,">b":Int8Array,">B":Uint8Array,">u1":Uint8Array,">i1":Int8Array,">u2":Uint16Array,">i2":Int16Array,">u4":Uint32Array,">i4":Int32Array,">f4":Float32Array,">f8":Float64Array};function we(e){var t=be[e];if(!t)throw Error("Dtype not recognized or not supported in zarr.js, got ".concat(e,"."));return t}function Se(e){if(e instanceof Uint8Array)return"|u1";if(e instanceof Int8Array)return"|i1";if(e instanceof Uint16Array)return"<u2";if(e instanceof Int16Array)return"<i2";if(e instanceof Uint32Array)return"<u4";if(e instanceof Int32Array)return"<i4";if(e instanceof Float32Array)return"<f4";if(e instanceof Float64Array)return"<f8";throw new U("Mapping for TypedArray to Dtypestring not known")}function Fe(e){return void 0!==e.byteLength?e.constructor:Fe(e[0])}function Re(e,t,A){var n=T(Z(A,t),t),r=Object(o.a)(n,2),i=r[0],a=r[1];return[function e(t,A,n){var r=n[0];if("number"===typeof r)return 1===A.length?t[r]:e(t[r],A.slice(1),n.slice(1));var i=Object(o.a)(r,4),a=i[0],s=i[1],g=i[2],c=i[3];if(0===c)return new(Fe(t))(0);if(1===A.length){if(1===g)return t.slice(a,s);for(var u=new t.constructor(c),l=0;l<c;l++)u[l]=t[a+l*g];return u}for(var I=new Array(c),C=0;C<c;C++)I[C]=e(t[a+C*g],A.slice(1),n.slice(1));if(c>0&&"number"===typeof I[0]){var h=t[0].constructor;I=h.from(I)}return I}(e,t,i),a]}function De(e,t,A,n){var r=T(Z(n,A,!0),A),i=Object(o.a)(r,2),a=i[0];i[1];ke(e,t,A,a)}function Ge(e,t,A,n,r){var i=T(Z(r,A,!1),A),a=Object(o.a)(i,2),s=a[0],g=a[1];if(JSON.stringify(g)!==JSON.stringify(n))throw new U("Shape mismatch in target and source NestedArray: ".concat(g," and ").concat(n));!function e(t,A,n,r){var i=r[0];if("number"===typeof A)return void ke(t,A,n,r.map((function(e){return"number"===typeof e?[e,e+1,1,1]:e})));if("number"===typeof i)return void e(t[i],A,n.slice(1),r.slice(1));var a=Object(o.a)(i,4),s=a[0],g=(a[1],a[2]),c=a[3];if(1===n.length){if(1===g)t.set(A,s);else for(var u=0;u<c;u++)t[s+u*g]=A[u];return}for(var l=0;l<c;l++)e(t[s+l*g],A[l],n.slice(1),r.slice(1))}(e,t,A,s)}function ke(e,t,A,n){var r=n[0],i=Object(o.a)(r,4),a=i[0],s=i[1],g=i[2],c=i[3];if(1!==A.length)for(var u=0;u<c;u++)ke(e[a+u*g],t,A.slice(1),n.slice(1));else if(1===g)e.fill(t,a,s);else for(var l=0;l<c;l++)e[a+l*g]=t}function xe(e,t,A){void 0===A&&(A=Fe(e));var n=new A(t.reduce((function(e,t){return e*t}),1));return function e(t,A,n,r){if(1===A.length)return void n.set(t,r);if(2===A.length){for(var i=0;i<A[0];i++)n.set(t[i],r+A[1]*i);return t}for(var o=A.slice(1),a=o.reduce((function(e,t){return e*t}),1),s=0;s<A[0];s++)e(t[s],o,n,r+a*s);return t}(e,t,n,0),n}var Ne=function(){function e(t,A,r){Object(l.a)(this,e);var i=null!==t&&!!t.BYTES_PER_ELEMENT;if(void 0===A){if(!i)throw new U("Shape argument is required unless you pass in a TypedArray");A=[t.length]}if(void 0===r){if(!i)throw new U("Dtype argument is required unless you pass in a TypedArray");r=Se(t)}if(A=ee(A),this.shape=A,this.dtype=r,i&&1!==A.length&&(t=t.buffer),0===this.shape.length)this.data=new(we(r))(1);else if(z&&n.isBuffer(t)||t instanceof ArrayBuffer||null===t||t.toString().startsWith("[object ArrayBuffer]")){var o=A.reduce((function(e,t){return e*t}),1);null===t&&(t=new ArrayBuffer(o*parseInt(r[r.length-1],10)));var a=t.byteLength/parseInt(r[r.length-1],10);if(o!==a)throw new Error("Buffer has ".concat(a," of dtype ").concat(r,", shape is too large or small ").concat(A," (flat=").concat(o,")"));var s=we(r);this.data=function e(t,A,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(1===n.length)return new A(t.slice(r,r+n[0]*A.BYTES_PER_ELEMENT));var i=new Array(n[0]);if(2===n.length){for(var o=0;o<n[0];o++)i[o]=new A(t.slice(r+n[1]*o*A.BYTES_PER_ELEMENT,r+n[1]*(o+1)*A.BYTES_PER_ELEMENT));return i}for(var a=n.slice(1),s=a.reduce((function(e,t){return e*t}),1),g=0;g<n[0];g++)i[g]=e(t,A,a,r+s*g*A.BYTES_PER_ELEMENT);return i}(t,s,A)}else this.data=t}return Object(s.a)(e,[{key:"get",value:function(t){var A=Re(this.data,this.shape,t),n=Object(o.a)(A,2),r=n[0],i=n[1];return 0===i.length?r:new e(r,i,this.dtype)}},{key:"set",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1?arguments[1]:void 0;null===e&&(e=[M(null)]),"number"===typeof t?0===this.shape.length?this.data[0]=t:De(this.data,t,this.shape,e):Ge(this.data,t.data,this.shape,t.shape,e)}},{key:"flatten",value:function(){return 1===this.shape.length?this.data:xe(this.data,this.shape,we(this.dtype))}}],[{key:"arange",value:function(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"<i4",n=we(A),r=Ue([t],n);return new e(r,[t],A)}}]),e}();function Ue(e,t){var A=e.reduce((function(e,t){return e*t}),1),n=new t(A);return n.set(Object(a.a)(Array(A).keys())),n}function _e(e,t,A,n,r){var a=T(Z(n,A,!0),A);!function e(t,A,n,r){var a=Object(i.a)(r),s=a[0],g=a.slice(1),c=Object(i.a)(n),u=c[0],l=c.slice(1),I=Object(o.a)(s,4),C=I[0],h=(I[1],I[2]),f=I[3];if(1===n.length){if(1===h&&1===u)A.fill(t,C,C+f);else for(var d=0;d<f;d++)A[u*(C+h*d)]=t;return}for(var B=0;B<f;B++)e(t,A.subarray(u*(C+h*B)),l,g)}(r,e,t,Object(o.a)(a,1)[0])}function Me(e,t,A,n,r,a,s){var g=T(Z(n,A,!1),A),c=Object(o.a)(g,2),u=c[0],l=c[1];if(JSON.stringify(l)!==JSON.stringify(s))throw new U("Shape mismatch in target and source RawArray: ".concat(l," and ").concat(s));!function e(t,A,n,r,a){if(0===n.length)return void t.set(r);var s=Object(i.a)(n),g=s[0],c=s.slice(1),u=Object(i.a)(A),l=u[0],I=u.slice(1);if("number"===typeof g)return void e(t.subarray(g*l),I,c,r,a);var C=Object(i.a)(a),h=C[0],f=C.slice(1),d=Object(o.a)(g,4),B=d[0],p=(d[1],d[2]),E=d[3];if(1===A.length){if(1===p&&1===l&&1===h)t.set(r.subarray(0,E),B);else for(var Q=0;Q<E;Q++)t[l*(B+p*Q)]=r[h*Q];return}for(var y=0;y<E;y++)e(t.subarray(l*(B+y*p)),I,c,r.subarray(h*y),f)}(e,t,u,r,a)}function Oe(e,t,A,n,r,a,s,g){var c=T(Z(n,A,!0),A),u=Object(o.a)(c,1)[0],l=T(Z(g,s,!1),s);!function e(t,A,n,r,a,s){if(0===s.length)return void t.set(r.subarray(0,t.length));var g=Object(i.a)(n),c=g[0],u=g.slice(1),l=Object(i.a)(s),I=l[0],C=l.slice(1),h=Object(i.a)(A),f=h[0],d=h.slice(1),B=Object(i.a)(a),p=B[0],E=B.slice(1);if("number"===typeof I)return void e(t,A,n,r.subarray(p*I),E,C);var Q=Object(o.a)(c,4),y=Q[0],v=(Q[1],Q[2]),m=Q[3],b=Object(o.a)(I,4),w=b[0],S=(b[1],b[2]);b[3];if(1===A.length&&1===a.length){if(1===v&&1===f&&1===S&&1===p)t.set(r.subarray(w,w+m),y);else for(var F=0;F<m;F++)t[f*(y+v*F)]=r[p*(w+S*F)];return}for(var R=0;R<m;R++)e(t.subarray(f*(y+R*v)),d,u,r.subarray(p*(w+R*S)),E,C)}(e,t,u,r,a,Object(o.a)(l,1)[0])}var Le=function(){function e(t,A,r,i){Object(l.a)(this,e);var o=null!==t&&!!t.BYTES_PER_ELEMENT;if(void 0===A){if(!o)throw new U("Shape argument is required unless you pass in a TypedArray");A=[t.length]}if(A=ee(A),void 0===r){if(!o)throw new U("Dtype argument is required unless you pass in a TypedArray");r=Se(t)}if(void 0===i&&(i=function(e){for(var t=e.length,A=Array(t),n=1,r=t-1;r>=0;r--)A[r]=n,n*=e[r];return A}(A)),this.shape=A,this.dtype=r,this.strides=i,o&&1!==A.length&&(t=t.buffer),0===this.shape.length)this.data=new(we(r))(1);else if(z&&n.isBuffer(t)||t instanceof ArrayBuffer||null===t||t.toString().startsWith("[object ArrayBuffer]")){var a=A.reduce((function(e,t){return e*t}),1);null===t&&(t=new ArrayBuffer(a*parseInt(r[r.length-1],10)));var s=t.byteLength/parseInt(r[r.length-1],10);if(a!==s)throw new Error("Buffer has ".concat(s," of dtype ").concat(r,", shape is too large or small ").concat(A," (flat=").concat(a,")"));var g=we(r);this.data=new g(t)}else this.data=t}return Object(s.a)(e,[{key:"set",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,A=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;null===t&&(t=[M(null)]),"number"===typeof A?0===this.shape.length?this.data[0]=A:_e(this.data,this.strides,this.shape,t,A):A instanceof e&&n?Oe(this.data,this.strides,this.shape,t,A.data,A.strides,A.shape,n):Me(this.data,this.strides,this.shape,t,A.data,A.strides,A.shape)}}]),e}();var Te=function(e){var t={exports:{}};return e(t,t.exports),t.exports}((function(e){var t=Object.prototype.hasOwnProperty,A="~";function n(){}function r(e,t,A){this.fn=e,this.context=t,this.once=A||!1}function i(e,t,n,i,o){if("function"!==typeof n)throw new TypeError("The listener must be a function");var a=new r(n,i||e,o),s=A?A+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],a]:e._events[s].push(a):(e._events[s]=a,e._eventsCount++),e}function o(e,t){0===--e._eventsCount?e._events=new n:delete e._events[t]}function a(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(A=!1)),a.prototype.eventNames=function(){var e,n,r=[];if(0===this._eventsCount)return r;for(n in e=this._events)t.call(e,n)&&r.push(A?n.slice(1):n);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},a.prototype.listeners=function(e){var t=A?A+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var r=0,i=n.length,o=new Array(i);r<i;r++)o[r]=n[r].fn;return o},a.prototype.listenerCount=function(e){var t=A?A+e:e,n=this._events[t];return n?n.fn?1:n.length:0},a.prototype.emit=function(e,t,n,r,i,o){var a=A?A+e:e;if(!this._events[a])return!1;var s,g,c=this._events[a],u=arguments.length;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,r),!0;case 5:return c.fn.call(c.context,t,n,r,i),!0;case 6:return c.fn.call(c.context,t,n,r,i,o),!0}for(g=1,s=new Array(u-1);g<u;g++)s[g-1]=arguments[g];c.fn.apply(c.context,s)}else{var l,I=c.length;for(g=0;g<I;g++)switch(c[g].once&&this.removeListener(e,c[g].fn,void 0,!0),u){case 1:c[g].fn.call(c[g].context);break;case 2:c[g].fn.call(c[g].context,t);break;case 3:c[g].fn.call(c[g].context,t,n);break;case 4:c[g].fn.call(c[g].context,t,n,r);break;default:if(!s)for(l=1,s=new Array(u-1);l<u;l++)s[l-1]=arguments[l];c[g].fn.apply(c[g].context,s)}}return!0},a.prototype.on=function(e,t,A){return i(this,e,t,A,!1)},a.prototype.once=function(e,t,A){return i(this,e,t,A,!0)},a.prototype.removeListener=function(e,t,n,r){var i=A?A+e:e;if(!this._events[i])return this;if(!t)return o(this,i),this;var a=this._events[i];if(a.fn)a.fn!==t||r&&!a.once||n&&a.context!==n||o(this,i);else{for(var s=0,g=[],c=a.length;s<c;s++)(a[s].fn!==t||r&&!a[s].once||n&&a[s].context!==n)&&g.push(a[s]);g.length?this._events[i]=1===g.length?g[0]:g:o(this,i)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=A?A+e:e,this._events[t]&&o(this,t)):(this._events=new n,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=A,a.EventEmitter=a,e.exports=a})),Ze=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,e)).name="TimeoutError",n}return A}(Object(f.a)(Error)),He=function(e,t,A){return new Promise((function(n,r){if("number"!==typeof t||t<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(t!==1/0){var i=setTimeout((function(){if("function"!==typeof A){var i="string"===typeof A?A:"Promise timed out after ".concat(t," milliseconds"),o=A instanceof Error?A:new Ze(i);"function"===typeof e.cancel&&e.cancel(),r(o)}else try{n(A())}catch(a){r(a)}}),t);!function(e,t){t=t||function(){},e.then((function(e){return new Promise((function(e){e(t())})).then((function(){return e}))}),(function(e){return new Promise((function(e){e(t())})).then((function(){throw e}))}))}(e.then(n,r),(function(){clearTimeout(i)}))}else n(e)}))},Ye=He,Je=He,je=Ze;Ye.default=Je,Ye.TimeoutError=je;var Pe,Ve=function(e,t,A){for(var n=0,r=e.length;r>0;){var i=r/2|0,o=n+i;A(e[o],t)<=0?(n=++o,r-=i+1):r=i}return n},Ke=Object.defineProperty({default:Ve},"__esModule",{value:!0}),We=function(){function e(){Object(l.a)(this,e),this._queue=[]}return Object(s.a)(e,[{key:"enqueue",value:function(e,t){var A={priority:(t=Object.assign({priority:0},t)).priority,run:e};if(this.size&&this._queue[this.size-1].priority>=t.priority)this._queue.push(A);else{var n=Ke.default(this._queue,A,(function(e,t){return t.priority-e.priority}));this._queue.splice(n,0,A)}}},{key:"dequeue",value:function(){var e=this._queue.shift();return e&&e.run}},{key:"size",get:function(){return this._queue.length}}]),e}(),Xe=Object.defineProperty({default:We},"__esModule",{value:!0}),qe=function(){},ze=new Ye.default.TimeoutError,$e=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;if(Object(l.a)(this,A),(n=t.call(this))._intervalCount=0,n._intervalEnd=0,n._pendingCount=0,n._resolveEmpty=qe,n._resolveIdle=qe,!("number"===typeof(e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:Xe.default},e)).intervalCap&&e.intervalCap>=1))throw new TypeError("Expected `intervalCap` to be a number from 1 and up, got `".concat(e.intervalCap,"` (").concat(typeof e.intervalCap,")"));if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError("Expected `interval` to be a finite number >= 0, got `".concat(e.interval,"` (").concat(typeof e.interval,")"));return n._carryoverConcurrencyCount=e.carryoverConcurrencyCount,n._isIntervalIgnored=e.intervalCap===1/0||0===e.interval,n._intervalCap=e.intervalCap,n._interval=e.interval,n._queue=new e.queueClass,n._queueClass=e.queueClass,n.concurrency=e.concurrency,n._timeout=e.timeout,n._throwOnTimeout=!0===e.throwOnTimeout,n._isPaused=!1===e.autoStart,n}return Object(s.a)(A,[{key:"_next",value:function(){this._pendingCount--,this._tryToStartAnother()}},{key:"_resolvePromises",value:function(){this._resolveEmpty(),this._resolveEmpty=qe,0===this._pendingCount&&(this._resolveIdle(),this._resolveIdle=qe)}},{key:"_onResumeInterval",value:function(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}},{key:"_isIntervalPaused",value:function(){var e=this,t=Date.now();if(void 0===this._intervalId){var A=this._intervalEnd-t;if(!(A<0))return void 0===this._timeoutId&&(this._timeoutId=setTimeout((function(){e._onResumeInterval()}),A)),!0;this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0}return!1}},{key:"_tryToStartAnother",value:function(){if(0===this._queue.size)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){var e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother)return this.emit("active"),this._queue.dequeue()(),e&&this._initializeIntervalIfNeeded(),!0}return!1}},{key:"_initializeIntervalIfNeeded",value:function(){var e=this;this._isIntervalIgnored||void 0!==this._intervalId||(this._intervalId=setInterval((function(){e._onInterval()}),this._interval),this._intervalEnd=Date.now()+this._interval)}},{key:"_onInterval",value:function(){0===this._intervalCount&&0===this._pendingCount&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}},{key:"_processQueue",value:function(){for(;this._tryToStartAnother(););}},{key:"add",value:function(){var e=Object(d.a)(c.a.mark((function e(t){var A,n=this,r=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",new Promise((function(e,r){var i=function(){var i=Object(d.a)(c.a.mark((function i(){var o;return c.a.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return n._pendingCount++,n._intervalCount++,i.prev=2,o=void 0===n._timeout&&void 0===A.timeout?t():Ye.default(Promise.resolve(t()),void 0===A.timeout?n._timeout:A.timeout,(function(){(void 0===A.throwOnTimeout?n._throwOnTimeout:A.throwOnTimeout)&&r(ze)})),i.t0=e,i.next=7,o;case 7:i.t1=i.sent,(0,i.t0)(i.t1),i.next=14;break;case 11:i.prev=11,i.t2=i.catch(2),r(i.t2);case 14:n._next();case 15:case"end":return i.stop()}}),i,null,[[2,11]])})));return function(){return i.apply(this,arguments)}}();n._queue.enqueue(i,A),n._tryToStartAnother()})));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},{key:"addAll",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var n=this;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.map(function(){var e=Object(d.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",n.add(t,A));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())));case 1:case"end":return e.stop()}}),e)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"start",value:function(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}},{key:"pause",value:function(){this._isPaused=!0}},{key:"clear",value:function(){this._queue=new this._queueClass}},{key:"onEmpty",value:function(){var e=Object(d.a)(c.a.mark((function e(){var t=this;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==this._queue.size){e.next=2;break}return e.abrupt("return");case 2:return e.abrupt("return",new Promise((function(e){var A=t._resolveEmpty;t._resolveEmpty=function(){A(),e()}})));case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"onIdle",value:function(){var e=Object(d.a)(c.a.mark((function e(){var t=this;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==this._pendingCount||0!==this._queue.size){e.next=2;break}return e.abrupt("return");case 2:return e.abrupt("return",new Promise((function(e){var A=t._resolveIdle;t._resolveIdle=function(){A(),e()}})));case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"_doesIntervalAllowAnother",get:function(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}},{key:"_doesConcurrentAllowAnother",get:function(){return this._pendingCount<this._concurrency}},{key:"concurrency",get:function(){return this._concurrency},set:function(e){if(!("number"===typeof e&&e>=1))throw new TypeError("Expected `concurrency` to be a number from 1 and up, got `".concat(e,"` (").concat(typeof e,")"));this._concurrency=e,this._processQueue()}},{key:"size",get:function(){return this._queue.size}},{key:"pending",get:function(){return this._pendingCount}},{key:"isPaused",get:function(){return this._isPaused}},{key:"timeout",set:function(e){this._timeout=e},get:function(){return this._timeout}}]),A}(Te),et=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];Object(l.a)(this,e),this.store=t,this._chunkStore=i,this.path=$(A),this.keyPrefix=le(this.path),this.readOnly=r,this.cacheMetadata=o,this.cacheAttrs=a,this.meta=n,null!==this.meta.compressor?this.compressor=Q(this.meta.compressor):this.compressor=null;var s=this.keyPrefix+".zattrs";this.attrs=new me(this.store,s,this.readOnly,a)}return Object(s.a)(e,[{key:"reloadMetadata",value:function(){var e=Object(d.a)(c.a.mark((function e(){var t,A;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.keyPrefix+".zarray",A=this.store.getItem(t),e.t0=ve,e.next=5,A;case 5:return e.t1=e.sent,this.meta=(0,e.t0)(e.t1),e.abrupt("return",this.meta);case 8:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"refreshMetadata",value:function(){var e=Object(d.a)(c.a.mark((function e(){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.cacheMetadata){e.next=3;break}return e.next=3,this.reloadMetadata();case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"get",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.getBasicSelection(e,!1,t)}},{key:"getRaw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.getBasicSelection(e,!0,t)}},{key:"getBasicSelection",value:function(){var e=Object(d.a)(c.a.mark((function e(t){var A,n,r,i,o,a=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=a.length>1&&void 0!==a[1]&&a[1],n=a.length>2&&void 0!==a[2]?a[2]:{},r=n.concurrencyLimit,i=void 0===r?10:r,o=n.progressCallback,this.cacheMetadata){e.next=5;break}return e.next=5,this.reloadMetadata();case 5:if(this.shape!==[]){e.next=9;break}throw new Error("Shape [] indexing is not supported yet");case 9:return e.abrupt("return",this.getBasicSelectionND(t,A,i,o));case 10:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"getBasicSelectionND",value:function(e,t,A,n){var r=new W(e,this);return this.getSelection(r,t,A,n)}},{key:"getSelection",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A,n,r){var i,o,a,s,g,l,I,C,h,f,B,p,E=this;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=this.dtype,o=t.shape,a=t.shape.reduce((function(e,t){return e*t}),1),!A||a!==this.chunkSize){e.next=12;break}if(s=t.iter(),!1!==(g=s.next()).done||!0!==s.next().done){e.next=12;break}return l=g.value,e.next=10,this.decodeDirectToRawArray(l,o,a);case 10:return I=e.sent,e.abrupt("return",I);case 12:if(C=A?new Le(null,o,i):new Ne(null,o,i),0!==a){e.next=15;break}return e.abrupt("return",C);case 15:if(h=new $e({concurrency:n}),r)!function(){var e,A=0,n=0,i=Object(u.a)(t.iter());try{for(i.s();!(e=i.n()).done;){e.value;n+=1}}catch(g){i.e(g)}finally{i.f()}r({progress:0,queueSize:n});var o,a=Object(u.a)(t.iter());try{var s=function(){var e=o.value;Object(d.a)(c.a.mark((function i(){return c.a.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,h.add((function(){return E.chunkGetItem(e.chunkCoords,e.chunkSelection,C,e.outSelection,t.dropAxes)}));case 2:r({progress:A+=1,queueSize:n});case 4:case"end":return i.stop()}}),i)})))()};for(a.s();!(o=a.n()).done;)s()}catch(g){a.e(g)}finally{a.f()}}();else{f=Object(u.a)(t.iter());try{for(p=function(){var e=B.value;h.add((function(){return E.chunkGetItem(e.chunkCoords,e.chunkSelection,C,e.outSelection,t.dropAxes)}))},f.s();!(B=f.n()).done;)p()}catch(Q){f.e(Q)}finally{f.f()}}return e.next=19,h.onIdle();case 19:if(0!==C.shape.length){e.next=21;break}return e.abrupt("return",C.data[0]);case 21:return e.abrupt("return",C);case 22:case"end":return e.stop()}}),e,this)})));return function(t,A,n,r){return e.apply(this,arguments)}}()},{key:"chunkGetItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A,n,r,i){var o,a,s,g,u;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.length===this._chunkDataShape.length){e.next=2;break}throw new U("Inconsistent shapes: chunkCoordsLength: ".concat(t.length,", cDataShapeLength: ").concat(this.chunkDataShape.length));case 2:return o=this.chunkKey(t),e.prev=3,e.next=6,this.chunkStore.getItem(o);case 6:return a=e.sent,e.next=9,this.decodeChunk(a);case 9:if(s=e.sent,!(n instanceof Ne)){e.next=21;break}if(!V(r)||!ne(A,this.chunks)||this.meta.filters){e.next=14;break}return n.set(r,this.toNestedArray(s)),e.abrupt("return");case 14:if(g=this.toNestedArray(s),u=g.get(A),null===i){e.next=18;break}throw new Error("Drop axes is not supported yet");case 18:n.set(r,u),e.next=22;break;case 21:n.set(r,this.chunkBufferToRawArray(s),A);case 22:e.next=31;break;case 24:if(e.prev=24,e.t0=e.catch(3),!m(e.t0)){e.next=30;break}null!==this.fillValue&&n.set(r,this.fillValue),e.next=31;break;case 30:throw e.t0;case 31:case"end":return e.stop()}}),e,this,[[3,24]])})));return function(t,A,n,r,i){return e.apply(this,arguments)}}()},{key:"getRawChunk",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var n,r,i,o,a,s;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.length===this.shape.length){e.next=2;break}throw new Error("Chunk coordinates ".concat(t.join(".")," do not correspond to shape ").concat(this.shape,"."));case 2:for(e.prev=2,n=0;n<t.length;n++)r=Math.ceil(this.shape[n]/this.chunks[n]),t[n]=Y(t[n],r);e.next=13;break;case 6:if(e.prev=6,e.t0=e.catch(2),!(e.t0 instanceof k)){e.next=12;break}throw new k("index ".concat(t.join(".")," is out of bounds for shape: ").concat(this.shape," and chunks ").concat(this.chunks));case 12:throw e.t0;case 13:return i=this.chunkKey(t),o=this.chunkStore.getItem(i,null===A||void 0===A?void 0:A.storeOptions),e.t1=this,e.next=18,o;case 18:return e.t2=e.sent,e.next=21,e.t1.decodeChunk.call(e.t1,e.t2);case 21:return a=e.sent,s=this.chunks.filter((function(e){return 1!==e})),e.abrupt("return",new Le(a,s,this.dtype));case 24:case"end":return e.stop()}}),e,this,[[2,6]])})));return function(t,A){return e.apply(this,arguments)}}()},{key:"chunkKey",value:function(e){var t,A=null!==(t=this.meta.dimension_separator)&&void 0!==t?t:".";return this.keyPrefix+e.join(A)}},{key:"ensureByteArray",value:function(e){return"string"===typeof e?new Uint8Array(n.from(e).buffer):new Uint8Array(e)}},{key:"toTypedArray",value:function(e){return new(we(this.dtype))(e)}},{key:"toNestedArray",value:function(e){var t=this.ensureByteArray(e).buffer;return new Ne(t,this.chunks,this.dtype)}},{key:"decodeChunk",value:function(){var e=Object(d.a)(c.a.mark((function e(t){var A;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=this.ensureByteArray(t),null===this.compressor){e.next=7;break}return e.next=4,this.compressor;case 4:return e.next=6,e.sent.decode(A);case 6:A=e.sent;case 7:return this.dtype.includes(">")&&oe(this.toTypedArray(A.buffer)),e.abrupt("return",A.buffer);case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"chunkBufferToRawArray",value:function(e){return new Le(e,this.chunks,this.dtype)}},{key:"decodeDirectToRawArray",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A,n){var r,i,o,a;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.chunkCoords,i=this.chunkKey(r),e.prev=2,e.next=5,this.chunkStore.getItem(i);case 5:return o=e.sent,e.t0=Le,e.next=9,this.decodeChunk(o);case 9:return e.t1=e.sent,e.t2=A,e.t3=this.dtype,e.abrupt("return",new e.t0(e.t1,e.t2,e.t3));case 15:if(e.prev=15,e.t4=e.catch(2),!m(e.t4)){e.next=22;break}return a=new(we(this.dtype))(n),e.abrupt("return",new Le(a.fill(this.fillValue),A));case 22:throw e.t4;case 23:case"end":return e.stop()}}),e,this,[[2,15]])})));return function(t,A,n){return e.apply(this,arguments)}}()},{key:"set",value:function(){var e=Object(d.a)(c.a.mark((function e(){var t,A,n,r=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.length>0&&void 0!==r[0]?r[0]:null,A=r.length>1?r[1]:void 0,n=r.length>2&&void 0!==r[2]?r[2]:{},e.next=5,this.setBasicSelection(t,A,n);case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"setBasicSelection",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var n,r,i,o,a=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=a.length>2&&void 0!==a[2]?a[2]:{},r=n.concurrencyLimit,i=void 0===r?10:r,o=n.progressCallback,!this.readOnly){e.next=3;break}throw new R("Object is read only");case 3:if(this.cacheMetadata){e.next=6;break}return e.next=6,this.reloadMetadata();case 6:if(this.shape!==[]){e.next=10;break}throw new Error("Shape [] indexing is not supported yet");case 10:return e.next=12,this.setBasicSelectionND(t,A,i,o);case 12:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"setBasicSelectionND",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A,n,r){var i;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new W(t,this),e.next=3,this.setSelection(i,A,n,r);case 3:case"end":return e.stop()}}),e,this)})));return function(t,A,n,r){return e.apply(this,arguments)}}()},{key:"getChunkValue",value:function(e,t,A,n){var r;if(n===[])r=A;else if("number"===typeof A)r=A;else if(r=A.get(e.outSelection),null!==t.dropAxes)throw new Error("Handling drop axes not supported yet");return r}},{key:"setSelection",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A,n,r){var i,o,a,s,g,l=this;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((i=t.shape)!==[]){e.next=5;break}e.next=15;break;case 5:if("number"!==typeof A){e.next=9;break}e.next=15;break;case 9:if(!(A instanceof Ne)){e.next=14;break}if(re(A.shape,i)){e.next=12;break}throw new U("Shape mismatch in source NestedArray and set selection: ".concat(A.shape," and ").concat(i));case 12:e.next=15;break;case 14:throw new Error("Unknown data type for setting :(");case 15:if(o=new $e({concurrency:n}),r)!function(){var e,n=0,a=Object(u.a)(t.iter());try{for(a.s();!(e=a.n()).done;){e.value;n+=1}}catch(h){a.e(h)}finally{a.f()}var s=0;r({progress:0,queueSize:n});var g,I=Object(u.a)(t.iter());try{var C=function(){var e=g.value,a=l.getChunkValue(e,t,A,i);Object(d.a)(c.a.mark((function t(){return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,o.add((function(){return l.chunkSetItem(e.chunkCoords,e.chunkSelection,a)}));case 2:r({progress:s+=1,queueSize:n});case 4:case"end":return t.stop()}}),t)})))()};for(I.s();!(g=I.n()).done;)C()}catch(h){I.e(h)}finally{I.f()}}();else{a=Object(u.a)(t.iter());try{for(g=function(){var e=s.value,n=l.getChunkValue(e,t,A,i);o.add((function(){return l.chunkSetItem(e.chunkCoords,e.chunkSelection,n)}))},a.s();!(s=a.n()).done;)g()}catch(I){a.e(I)}finally{a.f()}}return e.next=19,o.onIdle();case 19:case"end":return e.stop()}}),e)})));return function(t,A,n,r){return e.apply(this,arguments)}}()},{key:"chunkSetItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A,n){var r,i,o,a,s,g,u,l,I;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.chunkKey(t),i=null,o=we(this.dtype),a=this.chunkSize,!ne(A,this.chunks)){e.next=8;break}"number"===typeof n?(i=new o(a)).fill(n):i=n.flatten(),e.next=29;break;case 8:return e.prev=8,e.next=11,this.chunkStore.getItem(r);case 11:return g=e.sent,e.next=14,this.decodeChunk(g);case 14:u=e.sent,s=this.toTypedArray(u),e.next=26;break;case 18:if(e.prev=18,e.t0=e.catch(8),!m(e.t0)){e.next=25;break}s=new o(a),null!==this.fillValue&&s.fill(this.fillValue),e.next=26;break;case 25:throw e.t0;case 26:(l=new Ne(s,this.chunks,this.dtype)).set(A,n),i=l.flatten();case 29:return e.next=31,this.encodeChunk(i);case 31:I=e.sent,this.chunkStore.setItem(r,I);case 33:case"end":return e.stop()}}),e,this,[[8,18]])})));return function(t,A,n){return e.apply(this,arguments)}}()},{key:"encodeChunk",value:function(){var e=Object(d.a)(c.a.mark((function e(t){var A,n;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.dtype.includes(">")&&(t=ae(t)),null===this.compressor){e.next=9;break}return A=new Uint8Array(t.buffer),e.next=5,this.compressor;case 5:return e.next=7,e.sent.encode(A);case 7:return n=e.sent,e.abrupt("return",n.buffer);case 9:return e.abrupt("return",t.buffer);case 10:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"chunkStore",get:function(){return this._chunkStore?this._chunkStore:this.store}},{key:"name",get:function(){return this.path.length>0?"/"!==this.path[0]?"/"+this.path:this.path:null}},{key:"basename",get:function(){var e=this.name;if(null===e)return null;var t=e.split("/");return t[t.length-1]}},{key:"shape",get:function(){return this.meta.shape}},{key:"chunks",get:function(){return this.meta.chunks}},{key:"chunkSize",get:function(){return this.chunks.reduce((function(e,t){return e*t}),1)}},{key:"dtype",get:function(){return this.meta.dtype}},{key:"fillValue",get:function(){var e=this.meta.fill_value;return"NaN"===e?NaN:"Infinity"===e?1/0:"-Infinity"===e?-1/0:this.meta.fill_value}},{key:"nDims",get:function(){return this.meta.shape.length}},{key:"size",get:function(){return this.meta.shape.reduce((function(e,t){return e*t}),1)}},{key:"length",get:function(){return this.shape[0]}},{key:"_chunkDataShape",get:function(){if(this.shape===[])return[1];for(var e=[],t=0;t<this.shape.length;t++)e[t]=Math.ceil(this.shape[t]/this.chunks[t]);return e}},{key:"chunkDataShape",get:function(){return this._chunkDataShape}},{key:"numChunks",get:function(){return this.chunkDataShape.reduce((function(e,t){return e*t}),1)}}],[{key:"create",value:function(){var t=Object(d.a)(c.a.mark((function t(A){var n,r,i,o,a,s,g=arguments;return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=g.length>1&&void 0!==g[1]?g[1]:null,r=g.length>2&&void 0!==g[2]&&g[2],i=g.length>3&&void 0!==g[3]?g[3]:null,o=!(g.length>4&&void 0!==g[4])||g[4],a=!(g.length>5&&void 0!==g[5])||g[5],t.next=7,this.loadMetadataForConstructor(A,n);case 7:return s=t.sent,t.abrupt("return",new e(A,n,s,r,i,o,a));case 9:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"loadMetadataForConstructor",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var n,r;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,A=$(A),n=le(A),e.next=5,t.getItem(n+".zarray");case 5:return r=e.sent,e.abrupt("return",ve(r));case 9:return e.prev=9,e.t0=e.catch(0),e.next=13,ce(t,A);case 13:if(!e.sent){e.next=15;break}throw new w(null!==A&&void 0!==A?A:"");case 15:throw new Error("Failed to load metadata for ZarrArray:"+e.t0.toString());case 16:case"end":return e.stop()}}),e,null,[[0,9]])})));return function(t,A){return e.apply(this,arguments)}}()}]),e}(),tt=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(l.a)(this,e),this.root=t}return Object(s.a)(e,[{key:"proxy",value:function(){return v(this)}},{key:"getParent",value:function(e){var t,A=this.root,n=e.split("/"),r=Object(u.a)(n.slice(0,n.length-1));try{for(r.s();!(t=r.n()).done;){if(!(A=A[t.value]))throw Error(e)}}catch(i){r.e(i)}finally{r.f()}return[A,n[n.length-1]]}},{key:"requireParent",value:function(e){var t,A=this.root,n=e.split("/"),r=Object(u.a)(n.slice(0,n.length-1));try{for(r.s();!(t=r.n()).done;){var i=t.value;void 0===A[i]&&(A[i]={}),A=A[i]}}catch(o){r.e(o)}finally{r.f()}return[A,n[n.length-1]]}},{key:"getItem",value:function(e){var t=this.getParent(e),A=Object(o.a)(t,2),n=A[0][A[1]];if(void 0===n)throw new D(e);return n}},{key:"setItem",value:function(e,t){var A=this.requireParent(e),n=Object(o.a)(A,2);return n[0][n[1]]=t,!0}},{key:"deleteItem",value:function(e){var t=this.getParent(e),A=Object(o.a)(t,2);return delete A[0][A[1]]}},{key:"containsItem",value:function(e){try{return void 0!==this.getItem(e)}catch(t){return!1}}},{key:"keys",value:function(){throw new Error("Method not implemented.")}}]),e}();!function(e){e.HEAD="HEAD",e.GET="GET",e.PUT="PUT"}(Pe||(Pe={}));var At=[Pe.HEAD,Pe.GET,Pe.PUT],nt=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(l.a)(this,e),this.url=t;var n=A.fetchOptions,r=void 0===n?{}:n,i=A.supportedMethods,o=void 0===i?At:i;this.fetchOptions=r,this.supportedMethods=new Set(o)}return Object(s.a)(e,[{key:"keys",value:function(){throw new Error("Method not implemented.")}},{key:"getItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var i,o;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=ie(this.url,t),e.next=3,fetch(i,Object(r.a)({},this.fetchOptions,{},A));case 3:if(404!==(o=e.sent).status){e.next=8;break}throw new D(t);case 8:if(200===o.status){e.next=10;break}throw new _(String(o.status));case 10:if(!z){e.next=18;break}return e.t0=n,e.next=14,o.arrayBuffer();case 14:return e.t1=e.sent,e.abrupt("return",e.t0.from.call(e.t0,e.t1));case 18:return e.abrupt("return",o.arrayBuffer());case 19:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"setItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var n,i;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.supportedMethods.has(Pe.PUT)){e.next=2;break}throw new Error("HTTP PUT no a supported method for store.");case 2:return n=ie(this.url,t),"string"===typeof A&&(A=(new TextEncoder).encode(A).buffer),e.next=6,fetch(n,Object(r.a)({},this.fetchOptions,{method:Pe.PUT,body:A}));case 6:return i=e.sent,e.abrupt("return","2"===i.status.toString()[0]);case 8:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"deleteItem",value:function(e){throw new Error("Method not implemented.")}},{key:"containsItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t){var A,n,i;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=ie(this.url,t),n=this.supportedMethods.has(Pe.HEAD)?Pe.HEAD:Pe.GET,e.next=4,fetch(A,Object(r.a)({},this.fetchOptions,{method:n}));case 4:return i=e.sent,e.abrupt("return",200===i.status);case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()}]),e}();function rt(e){return it.apply(this,arguments)}function it(){return(it=Object(d.a)(c.a.mark((function e(t){var A,n,r,i,o,a,s,g,u,l,I,C,h,f,d,B,p,E,Q,y,v,m,b,w,S;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=t.shape,n=t.chunks,r=void 0===n||n,i=t.dtype,o=void 0===i?"<i4":i,a=t.compressor,s=void 0===a?null:a,g=t.fillValue,u=void 0===g?null:g,l=t.order,I=void 0===l?"C":l,C=t.store,h=t.overwrite,f=void 0!==h&&h,d=t.path,B=t.chunkStore,p=t.filters,E=t.cacheMetadata,Q=void 0===E||E,y=t.cacheAttrs,v=void 0===y||y,m=t.readOnly,b=void 0!==m&&m,w=t.dimensionSeparator,C=Bt(C),e.next=4,Qe(C,A,r,o,d,s,u,I,f,B,p,w);case 4:return e.next=6,et.create(C,d,b,B,Q,v);case 6:return S=e.sent,e.abrupt("return",S);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ot(e){return at.apply(this,arguments)}function at(){return(at=Object(d.a)(c.a.mark((function e(t){var A,n=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(A=n.length>1&&void 0!==n[1]?n[1]:{}).fillValue=null,e.abrupt("return",rt(Object(r.a)({shape:t},A)));case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function st(e){return gt.apply(this,arguments)}function gt(){return(gt=Object(d.a)(c.a.mark((function e(t){var A,n=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(A=n.length>1&&void 0!==n[1]?n[1]:{}).fillValue=0,e.abrupt("return",rt(Object(r.a)({shape:t},A)));case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ct(e){return ut.apply(this,arguments)}function ut(){return(ut=Object(d.a)(c.a.mark((function e(t){var A,n=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(A=n.length>1&&void 0!==n[1]?n[1]:{}).fillValue=1,e.abrupt("return",rt(Object(r.a)({shape:t},A)));case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function lt(e,t){return It.apply(this,arguments)}function It(){return(It=Object(d.a)(c.a.mark((function e(t,A){var n,i=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(n=i.length>2&&void 0!==i[2]?i[2]:{}).fillValue=A,e.abrupt("return",rt(Object(r.a)({shape:t},n)));case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ct(e){return ht.apply(this,arguments)}function ht(){return(ht=Object(d.a)(c.a.mark((function e(t){var A,n,i,o,a=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=a.length>1&&void 0!==a[1]?a[1]:{},n=null,t instanceof Ne?(n=t.shape,A.dtype=void 0===A.dtype?t.dtype:A.dtype):n=t.byteLength,i=void 0!==A.readOnly&&A.readOnly,A.readOnly=!1,e.next=7,rt(Object(r.a)({shape:n},A));case 7:return o=e.sent,e.next=10,o.set(null,t);case 10:return o.readOnly=i,e.abrupt("return",o);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ft(){return dt.apply(this,arguments)}function dt(){return(dt=Object(d.a)(c.a.mark((function e(){var t,A,n,r,i,o,a,s,g,u,l,I,C,h,f,d,B,p,E,Q,y,v,m,F,R,D,G,k=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=k.length>0&&void 0!==k[0]?k[0]:{},A=t.shape,n=t.mode,r=void 0===n?"a":n,i=t.chunks,o=void 0===i||i,a=t.dtype,s=void 0===a?"<i4":a,g=t.compressor,u=void 0===g?null:g,l=t.fillValue,I=void 0===l?null:l,C=t.order,h=void 0===C?"C":C,f=t.store,d=t.overwrite,B=void 0!==d&&d,p=t.path,E=void 0===p?null:p,Q=t.chunkStore,y=t.filters,v=t.cacheMetadata,m=void 0===v||v,F=t.cacheAttrs,R=void 0===F||F,D=t.dimensionSeparator,f=Bt(f),void 0===Q&&(Q=Bt(f)),E=$(E),"r"!==r&&"r+"!==r){e.next=15;break}return e.next=7,se(f,E);case 7:if(e.sent){e.next=13;break}return e.next=10,ce(f,E);case 10:if(!e.sent){e.next=12;break}throw new w(E);case 12:throw new S(E);case 13:e.next=56;break;case 15:if("w"!==r){e.next=22;break}if(void 0!==A){e.next=18;break}throw new U("Shape can not be undefined when creating a new array");case 18:return e.next=20,Qe(f,A,o,s,E,u,I,h,B,Q,y,D);case 20:e.next=56;break;case 22:if("a"!==r){e.next=36;break}return e.next=25,se(f,E);case 25:if(e.sent){e.next=34;break}return e.next=28,ce(f,E);case 28:if(!e.sent){e.next=30;break}throw new w(E);case 30:if(void 0!==A){e.next=32;break}throw new U("Shape can not be undefined when creating a new array");case 32:return e.next=34,Qe(f,A,o,s,E,u,I,h,B,Q,y,D);case 34:e.next=56;break;case 36:if("w-"!==r&&"x"!==r){e.next=55;break}return e.next=39,se(f,E);case 39:if(!e.sent){e.next=43;break}throw new b(E);case 43:return e.next=45,ce(f,E);case 45:if(!e.sent){e.next=49;break}throw new w(E);case 49:if(void 0!==A){e.next=51;break}throw new U("Shape can not be undefined when creating a new array");case 51:return e.next=53,Qe(f,A,o,s,E,u,I,h,B,Q,y,D);case 53:e.next=56;break;case 55:throw new U("Invalid mode argument: ".concat(r));case 56:return G="r"===r,e.abrupt("return",et.create(f,E,G,Q,m,R));case 58:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Bt(e){return void 0===e?new tt:"string"===typeof e?new nt(e):e}var pt=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];Object(l.a)(this,e),this.store=t,this._chunkStore=i,this.path=$(A),this.keyPrefix=le(this.path),this.readOnly=r,this.meta=n;var a=this.keyPrefix+".zattrs";this.attrs=new me(this.store,a,this.readOnly,o)}return Object(s.a)(e,[{key:"itemPath",value:function(e){var t="string"===typeof e&&e.length>0&&"/"===e[0],A=$(e);return!t&&this.path.length>0?this.keyPrefix+A:A}},{key:"createGroup",value:function(){var t=Object(d.a)(c.a.mark((function t(A){var n,r,i=arguments;return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=i.length>1&&void 0!==i[1]&&i[1],!this.readOnly){t.next=3;break}throw new R("group is read only");case 3:return r=this.itemPath(A),t.next=6,de(this.store,r,this._chunkStore,n);case 6:return t.abrupt("return",e.create(this.store,r,this.readOnly,this._chunkStore,this.attrs.cache));case 7:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"requireGroup",value:function(){var t=Object(d.a)(c.a.mark((function t(A){var n,r,i=arguments;return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=i.length>1&&void 0!==i[1]&&i[1],!this.readOnly){t.next=3;break}throw new R("group is read only");case 3:return r=this.itemPath(A),t.next=6,ce(this.store,r);case 6:if(t.sent){t.next=9;break}return t.next=9,de(this.store,r,this._chunkStore,n);case 9:return t.abrupt("return",e.create(this.store,r,this.readOnly,this._chunkStore,this.attrs.cache));case 10:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"getOptsForArrayCreation",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=this.itemPath(e);return t.path=A,void 0===t.cacheAttrs&&(t.cacheAttrs=this.attrs.cache),t.store=this.store,t.chunkStore=this.chunkStore,t}},{key:"array",value:function(e,t,A,n){if(this.readOnly)throw new R("group is read only");return(A=this.getOptsForArrayCreation(e,A)).overwrite=void 0===n?A.overwrite:n,Ct(t,A)}},{key:"empty",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this.readOnly)throw new R("group is read only");return ot(t,A=this.getOptsForArrayCreation(e,A))}},{key:"zeros",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this.readOnly)throw new R("group is read only");return st(t,A=this.getOptsForArrayCreation(e,A))}},{key:"ones",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this.readOnly)throw new R("group is read only");return ct(t,A=this.getOptsForArrayCreation(e,A))}},{key:"full",value:function(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(this.readOnly)throw new R("group is read only");return lt(t,A,n=this.getOptsForArrayCreation(e,n))}},{key:"createDataset",value:function(e,t,A,n){if(this.readOnly)throw new R("group is read only");var i;if(n=this.getOptsForArrayCreation(e,n),void 0===A){if(void 0===t)throw new U("Shape must be set if no data is passed to CreateDataset");i=rt(Object(r.a)({shape:t},n))}else i=Ct(A,n);return i}},{key:"getItem",value:function(){var t=Object(d.a)(c.a.mark((function t(A){var n;return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=this.itemPath(A),t.next=3,se(this.store,n);case 3:if(!t.sent){t.next=7;break}return t.abrupt("return",et.create(this.store,n,this.readOnly,this.chunkStore,void 0,this.attrs.cache));case 7:return t.next=9,ce(this.store,n);case 9:if(!t.sent){t.next=11;break}return t.abrupt("return",e.create(this.store,n,this.readOnly,this._chunkStore,this.attrs.cache));case 11:throw new D(A);case 12:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"setItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.array(t,A,{},!0);case 2:return e.abrupt("return",!0);case 3:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"deleteItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.readOnly){e.next=2;break}throw new R("group is read only");case 2:throw new Error("Method not implemented.");case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"containsItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t){var A;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=this.itemPath(t),e.next=3,se(this.store,A);case 3:if(e.t0=e.sent,e.t0){e.next=6;break}e.t0=ce(this.store,A);case 6:return e.abrupt("return",e.t0);case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"proxy",value:function(){return v(this)}},{key:"name",get:function(){return this.path.length>0?"/"!==this.path[0]?"/"+this.path:this.path:"/"}},{key:"basename",get:function(){var e=this.name.split("/");return e[e.length-1]}},{key:"chunkStore",get:function(){return this._chunkStore?this._chunkStore:this.store}}],[{key:"create",value:function(){var t=Object(d.a)(c.a.mark((function t(A){var n,r,i,o,a,s=arguments;return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=s.length>1&&void 0!==s[1]?s[1]:null,r=s.length>2&&void 0!==s[2]&&s[2],i=s.length>3&&void 0!==s[3]?s[3]:null,o=!(s.length>4&&void 0!==s[4])||s[4],t.next=6,this.loadMetadataForConstructor(A,n);case 6:return a=t.sent,t.abrupt("return",new e(A,n,a,r,i,o));case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"loadMetadataForConstructor",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var n,r;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=$(A),n=le(A),e.prev=2,e.next=5,t.getItem(n+".zgroup");case 5:return r=e.sent,e.abrupt("return",ve(r));case 9:return e.prev=9,e.t0=e.catch(2),e.next=13,se(t,A);case 13:if(!e.sent){e.next=15;break}throw new b(A);case 15:throw new F(A);case 16:case"end":return e.stop()}}),e,null,[[2,9]])})));return function(t,A){return e.apply(this,arguments)}}()}]),e}();function Et(e){return Qt.apply(this,arguments)}function Qt(){return(Qt=Object(d.a)(c.a.mark((function e(t){var A,n,r,i,o,a=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=a.length>1&&void 0!==a[1]?a[1]:null,n=a.length>2&&void 0!==a[2]?a[2]:"a",r=a.length>3?a[3]:void 0,i=!(a.length>4&&void 0!==a[4])||a[4],t=Bt(t),void 0!==r&&(r=Bt(t)),A=$(A),"r"!==n&&"r+"!==n){e.next=18;break}return e.next=10,ce(t,A);case 10:if(e.sent){e.next=16;break}return e.next=13,se(t,A);case 13:if(!e.sent){e.next=15;break}throw new b(A);case 15:throw new F(A);case 16:e.next=53;break;case 18:if("w"!==n){e.next=23;break}return e.next=21,de(t,A,r,!0);case 21:e.next=53;break;case 23:if("a"!==n){e.next=35;break}return e.next=26,ce(t,A);case 26:if(e.sent){e.next=33;break}return e.next=29,se(t,A);case 29:if(!e.sent){e.next=31;break}throw new b(A);case 31:return e.next=33,de(t,A,r);case 33:e.next=53;break;case 35:if("w-"!==n&&"x"!==n){e.next=52;break}return e.next=38,se(t,A);case 38:if(!e.sent){e.next=42;break}throw new b(A);case 42:return e.next=44,ce(t,A);case 44:if(!e.sent){e.next=48;break}throw new w(A);case 48:return e.next=50,de(t,A,r);case 50:e.next=53;break;case 52:throw new U("Invalid mode argument: ".concat(n));case 53:return o="r"===n,e.abrupt("return",pt.create(t,A,o,r,i));case 55:case"end":return e.stop()}}),e)})))).apply(this,arguments)}}).call(this,A(90),A(188).Buffer)},function(e,t,A){"use strict";(function(e,n){A.d(t,"a",(function(){return qe})),A.d(t,"b",(function(){return E})),A.d(t,"c",(function(){return ze})),A.d(t,"d",(function(){return _}));var r=A(7),i=A(73),o=A(8),a=A(11),s=A(4),g=A(3),c=A.n(g),u=A(6),l=A(1),I=A(24),C=A(9),h=A(10),f=A(54),d=A(12),B=c.a.mark(V),p=new Map;function E(e,t){p.set(e,t)}function Q(e){return y.apply(this,arguments)}function y(){return(y=Object(d.a)(c.a.mark((function e(t){var A;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(p.has(t.id)){e.next=2;break}throw new Error("Compression codec ".concat(t.id," is not supported by Zarr.js yet."));case 2:return e.next=4,p.get(t.id)();case 4:return A=e.sent,e.abrupt("return",A.fromConfig(t));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function v(e){return new Proxy(e,{set:function(e,t,A,n){return e.setItem(t,A)},get:function(e,t,A){return e.getItem(t)},deleteProperty:function(e,t){return e.deleteItem(t)},has:function(e,t){return e.containsItem(t)}})}function m(e){return"object"===typeof(t=e)&&null!==t&&"__zarr__"in t&&"KeyError"===e.__zarr__;var t}var b=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,"path ".concat(e," contains an array"))).__zarr__="ContainsArrayError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),w=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,"path ".concat(e," contains a group"))).__zarr__="ContainsGroupError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),S=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,"array not found at path ".concat(e))).__zarr__="ArrayNotFoundError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),F=(Error,Error,function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,e)).__zarr__="PermissionError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error))),R=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,"key ".concat(e," not present"))).__zarr__="KeyError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),D=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e,n){var r;return Object(l.a)(this,A),(r=t.call(this,"too many indices for array; expected ".concat(n.length,", got ").concat(e.length))).__zarr__="TooManyIndicesError",Object.setPrototypeOf(Object(I.a)(r),A.prototype),r}return A}(Object(f.a)(RangeError)),G=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,e)).__zarr__="BoundsCheckError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(RangeError)),k=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e,n,r,i){var o;return Object(l.a)(this,A),(o=t.call(this,"slice arguments slice(".concat(e,", ").concat(n,", ").concat(r,") invalid: ").concat(i))).__zarr__="InvalidSliceError",Object.setPrototypeOf(Object(I.a)(o),A.prototype),o}return A}(Object(f.a)(RangeError)),x=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(){var e;return Object(l.a)(this,A),(e=t.call(this,"Negative step size is not supported when indexing.")).__zarr__="NegativeStepError",Object.setPrototypeOf(Object(I.a)(e),A.prototype),e}return A}(Object(f.a)(Error)),N=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,e)).__zarr__="ValueError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),U=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,e)).__zarr__="HTTPError",Object.setPrototypeOf(Object(I.a)(n),A.prototype),n}return A}(Object(f.a)(Error));function _(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(void 0===e)throw new k(e,t,A,"The first argument must not be undefined");if("string"===typeof e&&":"!==e||"string"===typeof t&&":"!==t)throw new k(e,t,A,'Arguments can only be integers, ":" or null');return void 0===t&&(t=e,e=null),{start:":"===e?null:e,stop:":"===t?null:t,step:A,_slice:!0}}function M(e,t){var A,n,r;r=null===e.step?1:e.step,null===e.start?A=r<0?Number.MAX_SAFE_INTEGER:0:(A=e.start)<0&&(A+=t),null===e.stop?n=r<0?-Number.MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER:(n=e.stop)<0&&(n+=t);var i=function(e,t,A,n){if(e<0?(e+=n)<0&&(e=A<0?-1:0):e>=n&&(e=A<0?n-1:n),t<0?(t+=n)<0&&(t=A<0?-1:0):t>=n&&(t=A<0?n-1:n),A<0){if(t<e)return[e,t,A,Math.floor((e-t-1)/-A+1)]}else if(e<t)return[e,t,A,Math.floor((t-e-1)/A+1)];return[e,t,A,0]}(A,n,r,t);if(A=i[0],n=i[1],r=i[2],t=i[3],0===r)throw new Error("Step size 0 is invalid");return[A,n,r,t]}function O(e){return Array.isArray(e)?e:[e]}function L(e,t){for(var A=[],n=[],r=0;r<e.length;r++){var i=e[r];if("number"===typeof i)A.push(i);else{var o=M(i,t[r]),a=o[3];n.push(a),A.push(o)}}return[A,n]}function T(e,t){var A=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e=Z(e,t);for(var n=0;n<e.length;n++){var r=e[n];if("number"===typeof r)e[n]=A?_(r,r+1,1):H(r,t[n]);else{if(Y(r))throw new TypeError("Integer array selections are not supported (yet)");":"!==r&&null!==r||(e[n]=_(null,null,1))}}return e}function Z(e,t){e=O(e);for(var A=-1,n=0,r=0;r<e.length;r++)"..."===e[r]&&(A=r,n+=1);if(n>1)throw new RangeError("an index can only have a single ellipsis ('...')");if(1===n){var i=A,o=e.length-(i+1),a=e.length-1;if(a>=t.length)e=e.filter((function(e){return"..."!==e}));else{var s=t.length-a,g=e.slice(0,i).concat(new Array(s).fill(null));o>0&&(g=g.concat(e.slice(e.length-o))),e=g}}if(e.length<t.length){var c=t.length-e.length;e=e.concat(new Array(c).fill(null))}return function(e,t){if(e.length>t.length)throw new D(e,t)}(e,t),e}function H(e,t){if(e<0&&(e=t+e),e>=t||e<0)throw new G("index out of bounds for dimension with length ".concat(t));return e}function Y(e){if(!Array.isArray(e))return!1;var t,A=Object(u.a)(e);try{for(A.s();!(t=A.n()).done;){if("number"!==typeof t.value)return!1}}catch(n){A.e(n)}finally{A.f()}return!0}function J(e){return null!==e&&!0===e._slice}function j(e){return J(e)&&(null===e.step||1===e.step)}function P(e){e=O(e);for(var t=0;t<e.length;t++){var A=e[t];if(!Y(A)&&!j(A)&&"..."!==A)return!1}return!0}function V(){var e,t,A,n,r,i,o=arguments;return c.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:for(e=o.length,t=new Array(e),A=0;A<e;A++)t[A]=o[A];if(0!==t.length){a.next=3;break}return a.abrupt("return");case 3:n=t.map((function(e){return e()})),r=n.map((function(e){return e.next()})),i=0;case 6:if(!r[i].done){a.next=13;break}if(n[i]=t[i](),r[i]=n[i].next(),!(++i>=n.length)){a.next=11;break}return a.abrupt("return");case 11:a.next=16;break;case 13:return a.next=15,r.map((function(e){return e.value}));case 15:i=0;case 16:r[i]=n[i].next();case 17:a.next=6;break;case 19:case"end":return a.stop()}}),B)}var K=function(){function e(t,A){Object(l.a)(this,e),t=T(t,A.shape),this.dimIndexers=[];for(var n=A.shape,r=0;r<n.length;r++){var i=t[r],o=n[r],a=A.chunks[r];if(null===i&&(i=_(null)),"number"===typeof i)this.dimIndexers.push(new W(i,o,a));else{if(!J(i))throw new RangeError("Unspported selection item for basic indexing; expected integer or slice, got ".concat(i));this.dimIndexers.push(new X(i,o,a))}}this.shape=[];var s,g=Object(u.a)(this.dimIndexers);try{for(g.s();!(s=g.n()).done;){var c=s.value;c instanceof X&&this.shape.push(c.numItems)}}catch(I){g.e(I)}finally{g.f()}this.dropAxes=null}return Object(s.a)(e,[{key:"iter",value:c.a.mark((function e(){var t,A,n,r,i,o,s,g,l,I,C;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.dimIndexers.map((function(e){return function(){return e.iter()}})),A=V.apply(void 0,Object(a.a)(t)),n=Object(u.a)(A),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=16;break}i=r.value,o=[],s=[],g=[],l=Object(u.a)(i);try{for(l.s();!(I=l.n()).done;)C=I.value,o.push(C.dimChunkIndex),s.push(C.dimChunkSelection),null!==C.dimOutSelection&&g.push(C.dimOutSelection)}catch(c){l.e(c)}finally{l.f()}return e.next=14,{chunkCoords:o,chunkSelection:s,outSelection:g};case 14:e.next=5;break;case 16:e.next=21;break;case 18:e.prev=18,e.t0=e.catch(3),n.e(e.t0);case 21:return e.prev=21,n.f(),e.finish(21);case 24:case"end":return e.stop()}}),e,this,[[3,18,21,24]])}))}]),e}(),W=function(){function e(t,A,n){Object(l.a)(this,e),t=H(t,A),this.dimSelection=t,this.dimLength=A,this.dimChunkLength=n,this.numItems=1}return Object(s.a)(e,[{key:"iter",value:c.a.mark((function e(){var t,A,n;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Math.floor(this.dimSelection/this.dimChunkLength),A=t*this.dimChunkLength,n=this.dimSelection-A,null,e.next=6,{dimChunkIndex:t,dimChunkSelection:n,dimOutSelection:null};case 6:case"end":return e.stop()}}),e,this)}))}]),e}(),X=function(){function e(t,A,n){Object(l.a)(this,e);var r=M(t,A),i=Object(o.a)(r,3),a=i[0],s=i[1],g=i[2];if(this.start=a,this.stop=s,this.step=g,this.step<1)throw new x;this.dimLength=A,this.dimChunkLength=n,this.numItems=Math.max(0,Math.ceil((this.stop-this.start)/this.step)),this.numChunks=Math.ceil(this.dimLength/this.dimChunkLength)}return Object(s.a)(e,[{key:"iter",value:c.a.mark((function e(){var t,A,n,r,i,o,a,s,g,u,l,I,C;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=Math.floor(this.start/this.dimChunkLength),A=Math.ceil(this.stop/this.dimChunkLength),n=t;case 3:if(!(n<A)){e.next=20;break}return r=n*this.dimChunkLength,i=Math.min(this.dimLength,(n+1)*this.dimChunkLength),o=i-r,a=void 0,s=void 0,g=void 0,this.start<r?(a=0,(u=(r-this.start)%this.step)>0&&(a+=this.step-u),g=Math.ceil((r-this.start)/this.step)):(a=this.start-r,g=0),s=this.stop>i?o:this.stop-r,l=_(a,s,this.step),I=Math.ceil((s-a)/this.step),C=_(g,g+I),e.next=17,{dimChunkIndex:n,dimChunkSelection:l,dimOutSelection:C};case 17:n++,e.next=3;break;case 20:case"end":return e.stop()}}),e,this)}))}]),e}(),q="undefined"!==typeof e&&e.versions&&e.versions.node;function z(e){if(null===e)return"";for(e instanceof String&&(e=e.valueOf()),e=e.replace(/\\/g,"/");e.length>0&&"/"===e[0];)e=e.slice(1);for(;e.length>0&&"/"===e[e.length-1];)e=e.slice(0,e.length-1);var t,A=(e=e.replace(/\/\/+/g,"/")).split("/"),n=Object(u.a)(A);try{for(n.s();!(t=n.n()).done;){var r=t.value;if("."===r||".."===r)throw Error("path containing '.' or '..' segment not allowed")}}catch(i){n.e(i)}finally{n.f()}return e}function $(e){return"number"===typeof e&&(e=[e]),e.map((function(e){return Math.floor(e)}))}function ee(e,t){if(null===e||!0===e)throw new Error("Chunk guessing is not supported yet");return!1===e?t:("number"===typeof e&&(e=[e]),e.length<t.length&&(e=e.concat(t.slice(e.length))),e.map((function(e,A){return-1===e||null===e?t[A]:Math.floor(e)})))}function te(e){return e=e.toUpperCase()}function Ae(e,t){if(null===e)return!0;Array.isArray(e)||(e=[e]);for(var A=0;A<Math.min(e.length,t.length);A++){var n=e[A];if(null!==n){if(J(n)){var r=n,i=1===r.step||null===r.step;if(null===r.start&&null===r.stop&&i)continue;if(r.stop-r.start===t[A]&&i)continue;return!1}return!1}}return!0}function ne(e,t){if(e.length!==t.length)return!1;for(var A=0;A<e.length;A++)if(e[A]!==t[A])return!1;return!0}function re(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];return t.map((function(e,t){return 0===t?e.trim().replace(/[\/]*$/g,""):e.trim().replace(/(^[\/]*|[\/]*$)/g,"")})).filter((function(e){return e.length})).join("/")}function ie(e){var t=e.BYTES_PER_ELEMENT;if(1!==t){if(q){var A=n.from(e.buffer,e.byteOffset,e.length*t);return 2===t&&A.swap16(),4===t&&A.swap32(),void(8===t&&A.swap64())}for(var r,i=new Uint8Array(e.buffer,e.byteOffset,e.length*t),o=t/2,a=t-1,s=0;s<i.length;s+=t)for(var g=0;g<o;g++)r=i[s+g],i[s+g]=i[s+a-g],i[s+a-g]=r}}function oe(e){var t=e.slice();return ie(t),t}function ae(e){return se.apply(this,arguments)}function se(){return(se=Object(d.a)(c.a.mark((function e(t){var A,n,r,i=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=z(A=i.length>1&&void 0!==i[1]?i[1]:null),n=ue(A),r=n+".zarray",e.abrupt("return",t.containsItem(r));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ge(e){return ce.apply(this,arguments)}function ce(){return(ce=Object(d.a)(c.a.mark((function e(t){var A,n,r,i=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=z(A=i.length>1&&void 0!==i[1]?i[1]:null),n=ue(A),r=n+".zgroup",e.abrupt("return",t.containsItem(r));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ue(e){return e.length>0?e+"/":""}function le(e,t,A,n){return Ie.apply(this,arguments)}function Ie(){return(Ie=Object(d.a)(c.a.mark((function e(t,A,n,r){var i,o,a,s,g;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==A.length){e.next=2;break}return e.abrupt("return");case 2:i=A.split("/"),o="",a=Object(u.a)(i.slice(0,i.length-1)),e.prev=5,a.s();case 7:if((s=a.n()).done){e.next=25;break}return g=s.value,o+=g,e.next=12,ae(t,o);case 12:if(!e.sent){e.next=17;break}return e.next=15,Ce(t,o,r);case 15:e.next=22;break;case 17:return e.next=19,ge(t,o);case 19:if(e.sent){e.next=22;break}return e.next=22,Ce(t,o);case 22:o+="/";case 23:e.next=7;break;case 25:e.next=30;break;case 27:e.prev=27,e.t0=e.catch(5),a.e(e.t0);case 30:return e.prev=30,a.f(),e.finish(30);case 33:case"end":return e.stop()}}),e,null,[[5,27,30,33]])})))).apply(this,arguments)}function Ce(e){return he.apply(this,arguments)}function he(){return(he=Object(d.a)(c.a.mark((function e(t){var A,n,r,i,o=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=o.length>1&&void 0!==o[1]?o[1]:null,n=o.length>2&&void 0!==o[2]&&o[2],A=z(A),!n){e.next=7;break}throw Error("Group overwriting not implemented yet :(");case 7:return e.next=9,ae(t,A);case 9:if(!e.sent){e.next=13;break}throw new b(A);case 13:return e.next=15,ge(t,A);case 15:if(!e.sent){e.next=17;break}throw new w(A);case 17:return r={zarr_format:2},i=ue(A)+".zgroup",e.next=21,t.setItem(i,JSON.stringify(r));case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function fe(e,t,A,n,r,i,o,a,s,g,c){return de.apply(this,arguments)}function de(){return(de=Object(d.a)(c.a.mark((function e(t,A,n,r,i,o,a,s,g,u,l){var I,C,h;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!g){e.next=4;break}throw Error("Array overwriting not implemented yet :(");case 4:return e.next=6,ae(t,i);case 6:if(!e.sent){e.next=10;break}throw new b(i);case 10:return e.next=12,ge(t,i);case 12:if(!e.sent){e.next=14;break}throw new w(i);case 14:if(r=r,A=$(A),n=ee(n,A),s=te(s),a=a,!(null!==l&&l.length>0)){e.next=21;break}throw Error("Filters are not supported yet");case 21:return I=a,"number"===typeof a&&(Number.isNaN(a)&&(I="NaN"),Number.POSITIVE_INFINITY===a&&(I="Infinity"),Number.NEGATIVE_INFINITY===a&&(I="-Infinity")),C={zarr_format:2,shape:A,chunks:n,dtype:r,fill_value:I,order:s,compressor:o,filters:l=null},h=ue(i)+".zarray",e.next=28,t.setItem(h,JSON.stringify(C));case 28:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Be(e,t,A,n){return pe.apply(this,arguments)}function pe(){return(pe=Object(d.a)(c.a.mark((function e(t,A,n,r){var i,o,a,s,g,u,l,I=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=I.length>4&&void 0!==I[4]?I[4]:null,o=I.length>5&&void 0!==I[5]?I[5]:null,a=I.length>6&&void 0!==I[6]?I[6]:null,s=I.length>7&&void 0!==I[7]?I[7]:"C",g=I.length>8&&void 0!==I[8]&&I[8],u=I.length>9&&void 0!==I[9]?I[9]:null,l=I.length>10&&void 0!==I[10]?I[10]:null,i=z(i),e.next=10,le(t,i,u,g);case 10:return e.next=12,fe(t,A,n,r,i,o,a,s,g,u,l);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ee(e){if("string"!==typeof e){if(q&&n.isBuffer(e))return JSON.parse(e.toString());if(e instanceof ArrayBuffer){var t=new TextDecoder,A=new Uint8Array(e);return JSON.parse(t.decode(A))}return e}return JSON.parse(e)}var Qe=function(){function e(t,A,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];Object(l.a)(this,e),this.store=t,this.key=A,this.readOnly=n,this.cache=r,this.cachedValue=null}return Object(s.a)(e,[{key:"asObject",value:function(){var e=Object(d.a)(c.a.mark((function e(){var t;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.cache||null===this.cachedValue){e.next=2;break}return e.abrupt("return",this.cachedValue);case 2:return e.next=4,this.getNoSync();case 4:return t=e.sent,this.cache&&(this.cachedValue=t),e.abrupt("return",t);case 7:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"getNoSync",value:function(){var e=Object(d.a)(c.a.mark((function e(){var t;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.store.getItem(this.key);case 3:return t=e.sent,e.abrupt("return",Ee(t));case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",{});case 10:case"end":return e.stop()}}),e,this,[[0,7]])})));return function(){return e.apply(this,arguments)}}()},{key:"setNoSync",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var n;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getNoSync();case 2:return(n=e.sent)[t]=A,e.next=6,this.putNoSync(n);case 6:return e.abrupt("return",!0);case 7:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"putNoSync",value:function(){var e=Object(d.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.store.setItem(this.key,JSON.stringify(t));case 2:this.cache&&(this.cachedValue=t);case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"delNoSync",value:function(){var e=Object(d.a)(c.a.mark((function e(t){var A;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getNoSync();case 2:return delete(A=e.sent)[t],e.next=6,this.putNoSync(A);case 6:return e.abrupt("return",!0);case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"put",value:function(){var e=Object(d.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.readOnly){e.next=2;break}throw new F("attributes are read-only");case 2:return e.abrupt("return",this.putNoSync(t));case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"setItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.readOnly){e.next=2;break}throw new F("attributes are read-only");case 2:return e.abrupt("return",this.setNoSync(t,A));case 3:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"getItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.asObject();case 2:return e.t0=t,e.abrupt("return",e.sent[e.t0]);case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"deleteItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.readOnly){e.next=2;break}throw new F("attributes are read-only");case 2:return e.abrupt("return",this.delNoSync(t));case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"containsItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.asObject();case 2:return e.t0=t,e.t1=e.sent[e.t0],e.t2=void 0,e.abrupt("return",e.t1!==e.t2);case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"proxy",value:function(){return v(this)}}]),e}(),ye={"|b":Int8Array,"|B":Uint8Array,"|u1":Uint8Array,"|i1":Int8Array,"<b":Int8Array,"<B":Uint8Array,"<u1":Uint8Array,"<i1":Int8Array,"<u2":Uint16Array,"<i2":Int16Array,"<u4":Uint32Array,"<i4":Int32Array,"<f4":Float32Array,"<f8":Float64Array,">b":Int8Array,">B":Uint8Array,">u1":Uint8Array,">i1":Int8Array,">u2":Uint16Array,">i2":Int16Array,">u4":Uint32Array,">i4":Int32Array,">f4":Float32Array,">f8":Float64Array};function ve(e){if(e instanceof Uint8Array)return"|u1";if(e instanceof Int8Array)return"|i1";if(e instanceof Uint16Array)return"<u2";if(e instanceof Int16Array)return"<i2";if(e instanceof Uint32Array)return"<u4";if(e instanceof Int32Array)return"<i4";if(e instanceof Float32Array)return"<f4";if(e instanceof Float64Array)return"<f8";throw new N("Mapping for TypedArray to Dtypestring not known")}function me(e){return void 0!==e.byteLength?e.constructor:me(e[0])}function be(e,t,A){var n=L(T(A,t),t),r=Object(o.a)(n,2),i=r[0],a=r[1];return[function e(t,A,n){var r=n[0];if("number"===typeof r)return 1===A.length?t[r]:e(t[r],A.slice(1),n.slice(1));var i=Object(o.a)(r,4),a=i[0],s=i[1],g=i[2],c=i[3];if(0===c)return new(me(t))(0);if(1===A.length){if(1===g)return t.slice(a,s);for(var u=new t.constructor(c),l=0;l<c;l++)u[l]=t[a+l*g];return u}for(var I=new Array(c),C=0;C<c;C++)I[C]=e(t[a+C*g],A.slice(1),n.slice(1));if(c>0&&"number"===typeof I[0]){var h=t[0].constructor;I=h.from(I)}return I}(e,t,i),a]}function we(e,t,A,n){var r=L(T(n,A,!0),A),i=Object(o.a)(r,2),a=i[0];i[1];Fe(e,t,A,a)}function Se(e,t,A,n,r){var i=L(T(r,A,!1),A),a=Object(o.a)(i,2),s=a[0],g=a[1];if(JSON.stringify(g)!==JSON.stringify(n))throw new N("Shape mismatch in target and source NestedArray: ".concat(g," and ").concat(n));!function e(t,A,n,r){var i=r[0];if("number"===typeof A)return void Fe(t,A,n,r.map((function(e){return"number"===typeof e?[e,e+1,1,1]:e})));if("number"===typeof i)return void e(t[i],A,n.slice(1),r.slice(1));var a=Object(o.a)(i,4),s=a[0],g=(a[1],a[2]),c=a[3];if(1===n.length){if(1===g)t.set(A,s);else for(var u=0;u<c;u++)t[s+u*g]=A[u];return}for(var l=0;l<c;l++)e(t[s+l*g],A[l],n.slice(1),r.slice(1))}(e,t,A,s)}function Fe(e,t,A,n){var r=n[0],i=Object(o.a)(r,4),a=i[0],s=i[1],g=i[2],c=i[3];if(1!==A.length)for(var u=0;u<c;u++)Fe(e[a+u*g],t,A.slice(1),n.slice(1));else if(1===g)e.fill(t,a,s);else for(var l=0;l<c;l++)e[a+l*g]=t}function Re(e,t,A){void 0===A&&(A=me(e));var n=new A(t.reduce((function(e,t){return e*t}),1));return function e(t,A,n,r){if(1===A.length)return void n.set(t,r);if(2===A.length){for(var i=0;i<A[0];i++)n.set(t[i],r+A[1]*i);return t}for(var o=A.slice(1),a=o.reduce((function(e,t){return e*t}),1),s=0;s<A[0];s++)e(t[s],o,n,r+a*s);return t}(e,t,n,0),n}var De=function(){function e(t,A,r){Object(l.a)(this,e);var i=null!==t&&!!t.BYTES_PER_ELEMENT;if(void 0===A){if(!i)throw new N("Shape argument is required unless you pass in a TypedArray");A=[t.length]}if(void 0===r){if(!i)throw new N("Dtype argument is required unless you pass in a TypedArray");r=ve(t)}if(A=$(A),this.shape=A,this.dtype=r,i&&1!==A.length&&(t=t.buffer),0===this.shape.length)this.data=new ye[r](1);else if(q&&n.isBuffer(t)||t instanceof ArrayBuffer||null===t||t.toString().startsWith("[object ArrayBuffer]")){var o=A.reduce((function(e,t){return e*t}),1);null===t&&(t=new ArrayBuffer(o*parseInt(r[r.length-1],10)));var a=t.byteLength/parseInt(r[r.length-1],10);if(o!==a)throw new Error("Buffer has ".concat(a," of dtype ").concat(r,", shape is too large or small ").concat(A," (flat=").concat(o,")"));var s=ye[r];this.data=function e(t,A,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(1===n.length)return new A(t.slice(r,r+n[0]*A.BYTES_PER_ELEMENT));var i=new Array(n[0]);if(2===n.length){for(var o=0;o<n[0];o++)i[o]=new A(t.slice(r+n[1]*o*A.BYTES_PER_ELEMENT,r+n[1]*(o+1)*A.BYTES_PER_ELEMENT));return i}for(var a=n.slice(1),s=a.reduce((function(e,t){return e*t}),1),g=0;g<n[0];g++)i[g]=e(t,A,a,r+s*g*A.BYTES_PER_ELEMENT);return i}(t,s,A)}else this.data=t}return Object(s.a)(e,[{key:"get",value:function(t){var A=be(this.data,this.shape,t),n=Object(o.a)(A,2),r=n[0],i=n[1];return 0===i.length?r:new e(r,i,this.dtype)}},{key:"set",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1?arguments[1]:void 0;null===e&&(e=[_(null)]),"number"===typeof t?0===this.shape.length?this.data[0]=t:we(this.data,t,this.shape,e):Se(this.data,t.data,this.shape,t.shape,e)}},{key:"flatten",value:function(){return 1===this.shape.length?this.data:Re(this.data,this.shape,ye[this.dtype])}}],[{key:"arange",value:function(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"<i4",n=ye[A],r=Ge([t],n);return new e(r,[t],A)}}]),e}();function Ge(e,t){var A=e.reduce((function(e,t){return e*t}),1),n=new t(A);return n.set(Object(a.a)(Array(A).keys())),n}function ke(e,t,A,n,r){var a=L(T(n,A,!0),A);!function e(t,A,n,r){var a=Object(i.a)(r),s=a[0],g=a.slice(1),c=Object(i.a)(n),u=c[0],l=c.slice(1),I=Object(o.a)(s,4),C=I[0],h=(I[1],I[2]),f=I[3];if(1===n.length){if(1===h&&1===u)A.fill(t,C,C+f);else for(var d=0;d<f;d++)A[u*(C+h*d)]=t;return}for(var B=0;B<f;B++)e(t,A.subarray(u*(C+h*B)),l,g)}(r,e,t,Object(o.a)(a,1)[0])}function xe(e,t,A,n,r,a,s){var g=L(T(n,A,!1),A),c=Object(o.a)(g,2),u=c[0],l=c[1];if(JSON.stringify(l)!==JSON.stringify(s))throw new N("Shape mismatch in target and source RawArray: ".concat(l," and ").concat(s));!function e(t,A,n,r,a){if(0===n.length)return void t.set(r);var s=Object(i.a)(n),g=s[0],c=s.slice(1),u=Object(i.a)(A),l=u[0],I=u.slice(1);if("number"===typeof g)return void e(t.subarray(g*l),I,c,r,a);var C=Object(i.a)(a),h=C[0],f=C.slice(1),d=Object(o.a)(g,4),B=d[0],p=(d[1],d[2]),E=d[3];if(1===A.length){if(1===p&&1===l&&1===h)t.set(r.subarray(0,E),B);else for(var Q=0;Q<E;Q++)t[l*(B+p*Q)]=r[h*Q];return}for(var y=0;y<E;y++)e(t.subarray(l*(B+y*p)),I,c,r.subarray(h*y),f)}(e,t,u,r,a)}function Ne(e,t,A,n,r,a,s,g){var c=L(T(n,A,!0),A),u=Object(o.a)(c,1)[0],l=L(T(g,s,!1),s);!function e(t,A,n,r,a,s){if(0===s.length)return void t.set(r.subarray(0,t.length));var g=Object(i.a)(n),c=g[0],u=g.slice(1),l=Object(i.a)(s),I=l[0],C=l.slice(1),h=Object(i.a)(A),f=h[0],d=h.slice(1),B=Object(i.a)(a),p=B[0],E=B.slice(1);if("number"===typeof I)return void e(t,A,n,r.subarray(p*I),E,C);var Q=Object(o.a)(c,4),y=Q[0],v=(Q[1],Q[2]),m=Q[3],b=Object(o.a)(I,4),w=b[0],S=(b[1],b[2]);b[3];if(1===A.length&&1===a.length){if(1===v&&1===f&&1===S&&1===p)t.set(r.subarray(w,w+m),y);else for(var F=0;F<m;F++)t[f*(y+v*F)]=r[p*(w+S*F)];return}for(var R=0;R<m;R++)e(t.subarray(f*(y+R*v)),d,u,r.subarray(p*(w+R*S)),E,C)}(e,t,u,r,a,Object(o.a)(l,1)[0])}var Ue=function(){function e(t,A,r,i){Object(l.a)(this,e);var o=null!==t&&!!t.BYTES_PER_ELEMENT;if(void 0===A){if(!o)throw new N("Shape argument is required unless you pass in a TypedArray");A=[t.length]}if(A=$(A),void 0===r){if(!o)throw new N("Dtype argument is required unless you pass in a TypedArray");r=ve(t)}if(void 0===i&&(i=function(e){for(var t=e.length,A=Array(t),n=1,r=t-1;r>=0;r--)A[r]=n,n*=e[r];return A}(A)),this.shape=A,this.dtype=r,this.strides=i,o&&1!==A.length&&(t=t.buffer),0===this.shape.length)this.data=new ye[r](1);else if(q&&n.isBuffer(t)||t instanceof ArrayBuffer||null===t||t.toString().startsWith("[object ArrayBuffer]")){var a=A.reduce((function(e,t){return e*t}),1);null===t&&(t=new ArrayBuffer(a*parseInt(r[r.length-1],10)));var s=t.byteLength/parseInt(r[r.length-1],10);if(a!==s)throw new Error("Buffer has ".concat(s," of dtype ").concat(r,", shape is too large or small ").concat(A," (flat=").concat(a,")"));var g=ye[r];this.data=new g(t)}else this.data=t}return Object(s.a)(e,[{key:"set",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,A=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;null===t&&(t=[_(null)]),"number"===typeof A?0===this.shape.length?this.data[0]=A:ke(this.data,this.strides,this.shape,t,A):A instanceof e&&n?Ne(this.data,this.strides,this.shape,t,A.data,A.strides,A.shape,n):xe(this.data,this.strides,this.shape,t,A.data,A.strides,A.shape)}}]),e}();function _e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Me(e,t){return e(t={exports:{}},t.exports),t.exports}var Oe=Me((function(e){var t=Object.prototype.hasOwnProperty,A="~";function n(){}function r(e,t,A){this.fn=e,this.context=t,this.once=A||!1}function i(e,t,n,i,o){if("function"!==typeof n)throw new TypeError("The listener must be a function");var a=new r(n,i||e,o),s=A?A+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],a]:e._events[s].push(a):(e._events[s]=a,e._eventsCount++),e}function o(e,t){0===--e._eventsCount?e._events=new n:delete e._events[t]}function a(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(A=!1)),a.prototype.eventNames=function(){var e,n,r=[];if(0===this._eventsCount)return r;for(n in e=this._events)t.call(e,n)&&r.push(A?n.slice(1):n);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},a.prototype.listeners=function(e){var t=A?A+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var r=0,i=n.length,o=new Array(i);r<i;r++)o[r]=n[r].fn;return o},a.prototype.listenerCount=function(e){var t=A?A+e:e,n=this._events[t];return n?n.fn?1:n.length:0},a.prototype.emit=function(e,t,n,r,i,o){var a=A?A+e:e;if(!this._events[a])return!1;var s,g,c=this._events[a],u=arguments.length;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,r),!0;case 5:return c.fn.call(c.context,t,n,r,i),!0;case 6:return c.fn.call(c.context,t,n,r,i,o),!0}for(g=1,s=new Array(u-1);g<u;g++)s[g-1]=arguments[g];c.fn.apply(c.context,s)}else{var l,I=c.length;for(g=0;g<I;g++)switch(c[g].once&&this.removeListener(e,c[g].fn,void 0,!0),u){case 1:c[g].fn.call(c[g].context);break;case 2:c[g].fn.call(c[g].context,t);break;case 3:c[g].fn.call(c[g].context,t,n);break;case 4:c[g].fn.call(c[g].context,t,n,r);break;default:if(!s)for(l=1,s=new Array(u-1);l<u;l++)s[l-1]=arguments[l];c[g].fn.apply(c[g].context,s)}}return!0},a.prototype.on=function(e,t,A){return i(this,e,t,A,!1)},a.prototype.once=function(e,t,A){return i(this,e,t,A,!0)},a.prototype.removeListener=function(e,t,n,r){var i=A?A+e:e;if(!this._events[i])return this;if(!t)return o(this,i),this;var a=this._events[i];if(a.fn)a.fn!==t||r&&!a.once||n&&a.context!==n||o(this,i);else{for(var s=0,g=[],c=a.length;s<c;s++)(a[s].fn!==t||r&&!a[s].once||n&&a[s].context!==n)&&g.push(a[s]);g.length?this._events[i]=1===g.length?g[0]:g:o(this,i)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=A?A+e:e,this._events[t]&&o(this,t)):(this._events=new n,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=A,a.EventEmitter=a,e.exports=a})),Le=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(l.a)(this,A),(n=t.call(this,e)).name="TimeoutError",n}return A}(Object(f.a)(Error)),Te=function(e,t,A){return new Promise((function(n,r){if("number"!==typeof t||t<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(t!==1/0){var i=setTimeout((function(){if("function"!==typeof A){var i="string"===typeof A?A:"Promise timed out after ".concat(t," milliseconds"),o=A instanceof Error?A:new Le(i);"function"===typeof e.cancel&&e.cancel(),r(o)}else try{n(A())}catch(a){r(a)}}),t);!function(e,t){t=t||function(){},e.then((function(e){return new Promise((function(e){e(t())})).then((function(){return e}))}),(function(e){return new Promise((function(e){e(t())})).then((function(){throw e}))}))}(e.then(n,r),(function(){clearTimeout(i)}))}else n(e)}))},Ze=Te,He=Te,Ye=Le;Ze.default=He,Ze.TimeoutError=Ye;var Je=Me((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,A){for(var n=0,r=e.length;r>0;){var i=r/2|0,o=n+i;A(e[o],t)<=0?(n=++o,r-=i+1):r=i}return n}}));_e(Je);var je=Me((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var A=function(){function e(){Object(l.a)(this,e),this._queue=[]}return Object(s.a)(e,[{key:"enqueue",value:function(e,t){var A={priority:(t=Object.assign({priority:0},t)).priority,run:e};if(this.size&&this._queue[this.size-1].priority>=t.priority)this._queue.push(A);else{var n=Je.default(this._queue,A,(function(e,t){return t.priority-e.priority}));this._queue.splice(n,0,A)}}},{key:"dequeue",value:function(){var e=this._queue.shift();return e&&e.run}},{key:"size",get:function(){return this._queue.length}}]),e}();t.default=A}));_e(je);var Pe,Ve=_e(Me((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var A=function(){},n=new Ze.default.TimeoutError,r=function(e){Object(C.a)(r,e);var t=Object(h.a)(r);function r(e){var n;if(Object(l.a)(this,r),(n=t.call(this))._intervalCount=0,n._intervalEnd=0,n._pendingCount=0,n._resolveEmpty=A,n._resolveIdle=A,!("number"===typeof(e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:je.default},e)).intervalCap&&e.intervalCap>=1))throw new TypeError("Expected `intervalCap` to be a number from 1 and up, got `".concat(e.intervalCap,"` (").concat(typeof e.intervalCap,")"));if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError("Expected `interval` to be a finite number >= 0, got `".concat(e.interval,"` (").concat(typeof e.interval,")"));return n._carryoverConcurrencyCount=e.carryoverConcurrencyCount,n._isIntervalIgnored=e.intervalCap===1/0||0===e.interval,n._intervalCap=e.intervalCap,n._interval=e.interval,n._queue=new e.queueClass,n._queueClass=e.queueClass,n.concurrency=e.concurrency,n._timeout=e.timeout,n._throwOnTimeout=!0===e.throwOnTimeout,n._isPaused=!1===e.autoStart,n}return Object(s.a)(r,[{key:"_next",value:function(){this._pendingCount--,this._tryToStartAnother()}},{key:"_resolvePromises",value:function(){this._resolveEmpty(),this._resolveEmpty=A,0===this._pendingCount&&(this._resolveIdle(),this._resolveIdle=A)}},{key:"_onResumeInterval",value:function(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}},{key:"_isIntervalPaused",value:function(){var e=this,t=Date.now();if(void 0===this._intervalId){var A=this._intervalEnd-t;if(!(A<0))return void 0===this._timeoutId&&(this._timeoutId=setTimeout((function(){e._onResumeInterval()}),A)),!0;this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0}return!1}},{key:"_tryToStartAnother",value:function(){if(0===this._queue.size)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){var e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother)return this.emit("active"),this._queue.dequeue()(),e&&this._initializeIntervalIfNeeded(),!0}return!1}},{key:"_initializeIntervalIfNeeded",value:function(){var e=this;this._isIntervalIgnored||void 0!==this._intervalId||(this._intervalId=setInterval((function(){e._onInterval()}),this._interval),this._intervalEnd=Date.now()+this._interval)}},{key:"_onInterval",value:function(){0===this._intervalCount&&0===this._pendingCount&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}},{key:"_processQueue",value:function(){for(;this._tryToStartAnother(););}},{key:"add",value:function(){var e=Object(d.a)(c.a.mark((function e(t){var A,r=this,i=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=i.length>1&&void 0!==i[1]?i[1]:{},e.abrupt("return",new Promise((function(e,i){var o=function(){var o=Object(d.a)(c.a.mark((function o(){var a;return c.a.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return r._pendingCount++,r._intervalCount++,o.prev=2,a=void 0===r._timeout&&void 0===A.timeout?t():Ze.default(Promise.resolve(t()),void 0===A.timeout?r._timeout:A.timeout,(function(){(void 0===A.throwOnTimeout?r._throwOnTimeout:A.throwOnTimeout)&&i(n)})),o.t0=e,o.next=7,a;case 7:o.t1=o.sent,(0,o.t0)(o.t1),o.next=14;break;case 11:o.prev=11,o.t2=o.catch(2),i(o.t2);case 14:r._next();case 15:case"end":return o.stop()}}),o,null,[[2,11]])})));return function(){return o.apply(this,arguments)}}();r._queue.enqueue(o,A),r._tryToStartAnother()})));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},{key:"addAll",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var n=this;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.map(function(){var e=Object(d.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",n.add(t,A));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())));case 1:case"end":return e.stop()}}),e)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"start",value:function(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}},{key:"pause",value:function(){this._isPaused=!0}},{key:"clear",value:function(){this._queue=new this._queueClass}},{key:"onEmpty",value:function(){var e=Object(d.a)(c.a.mark((function e(){var t=this;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==this._queue.size){e.next=2;break}return e.abrupt("return");case 2:return e.abrupt("return",new Promise((function(e){var A=t._resolveEmpty;t._resolveEmpty=function(){A(),e()}})));case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"onIdle",value:function(){var e=Object(d.a)(c.a.mark((function e(){var t=this;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==this._pendingCount||0!==this._queue.size){e.next=2;break}return e.abrupt("return");case 2:return e.abrupt("return",new Promise((function(e){var A=t._resolveIdle;t._resolveIdle=function(){A(),e()}})));case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"_doesIntervalAllowAnother",get:function(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}},{key:"_doesConcurrentAllowAnother",get:function(){return this._pendingCount<this._concurrency}},{key:"concurrency",get:function(){return this._concurrency},set:function(e){if(!("number"===typeof e&&e>=1))throw new TypeError("Expected `concurrency` to be a number from 1 and up, got `".concat(e,"` (").concat(typeof e,")"));this._concurrency=e,this._processQueue()}},{key:"size",get:function(){return this._queue.size}},{key:"pending",get:function(){return this._pendingCount}},{key:"isPaused",get:function(){return this._isPaused}},{key:"timeout",set:function(e){this._timeout=e},get:function(){return this._timeout}}]),r}(Oe);t.default=r}))),Ke=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];Object(l.a)(this,e),this.store=t,this._chunkStore=i,this.path=z(A),this.keyPrefix=ue(this.path),this.readOnly=r,this.cacheMetadata=o,this.cacheAttrs=a,this.meta=n,null!==this.meta.compressor?this.compressor=Q(this.meta.compressor):this.compressor=null;var s=this.keyPrefix+".zattrs";this.attrs=new Qe(this.store,s,this.readOnly,a)}return Object(s.a)(e,[{key:"reloadMetadata",value:function(){var e=Object(d.a)(c.a.mark((function e(){var t,A;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.keyPrefix+".zarray",A=this.store.getItem(t),e.t0=Ee,e.next=5,A;case 5:return e.t1=e.sent,this.meta=(0,e.t0)(e.t1),e.abrupt("return",this.meta);case 8:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"refreshMetadata",value:function(){var e=Object(d.a)(c.a.mark((function e(){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.cacheMetadata){e.next=3;break}return e.next=3,this.reloadMetadata();case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"get",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.getBasicSelection(e,!1,t)}},{key:"getRaw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.getBasicSelection(e,!0,t)}},{key:"getBasicSelection",value:function(){var e=Object(d.a)(c.a.mark((function e(t){var A,n,r,i,o,a=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=a.length>1&&void 0!==a[1]&&a[1],n=a.length>2&&void 0!==a[2]?a[2]:{},r=n.concurrencyLimit,i=void 0===r?10:r,o=n.progressCallback,this.cacheMetadata){e.next=5;break}return e.next=5,this.reloadMetadata();case 5:if(this.shape!==[]){e.next=9;break}throw new Error("Shape [] indexing is not supported yet");case 9:return e.abrupt("return",this.getBasicSelectionND(t,A,i,o));case 10:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"getBasicSelectionND",value:function(e,t,A,n){var r=new K(e,this);return this.getSelection(r,t,A,n)}},{key:"getSelection",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A,n,r){var i,o,a,s,g,l,I,C,h,f,B,p,E=this;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=this.dtype,o=t.shape,a=t.shape.reduce((function(e,t){return e*t}),1),!A||a!==this.chunkSize){e.next=12;break}if(s=t.iter(),!1!==(g=s.next()).done||!0!==s.next().done){e.next=12;break}return l=g.value,e.next=10,this.decodeDirectToRawArray(l,o,a);case 10:return I=e.sent,e.abrupt("return",I);case 12:if(C=A?new Ue(null,o,i):new De(null,o,i),0!==a){e.next=15;break}return e.abrupt("return",C);case 15:if(h=new Ve({concurrency:n}),r)!function(){var e,A=0,n=0,i=Object(u.a)(t.iter());try{for(i.s();!(e=i.n()).done;){e.value;n+=1}}catch(g){i.e(g)}finally{i.f()}r({progress:0,queueSize:n});var o,a=Object(u.a)(t.iter());try{var s=function(){var e=o.value;Object(d.a)(c.a.mark((function i(){return c.a.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,h.add((function(){return E.chunkGetItem(e.chunkCoords,e.chunkSelection,C,e.outSelection,t.dropAxes)}));case 2:r({progress:A+=1,queueSize:n});case 4:case"end":return i.stop()}}),i)})))()};for(a.s();!(o=a.n()).done;)s()}catch(g){a.e(g)}finally{a.f()}}();else{f=Object(u.a)(t.iter());try{for(p=function(){var e=B.value;h.add((function(){return E.chunkGetItem(e.chunkCoords,e.chunkSelection,C,e.outSelection,t.dropAxes)}))},f.s();!(B=f.n()).done;)p()}catch(Q){f.e(Q)}finally{f.f()}}return e.next=19,h.onIdle();case 19:if(0!==C.shape.length){e.next=21;break}return e.abrupt("return",C.data[0]);case 21:return e.abrupt("return",C);case 22:case"end":return e.stop()}}),e,this)})));return function(t,A,n,r){return e.apply(this,arguments)}}()},{key:"chunkGetItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A,n,r,i){var o,a,s,g,u;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.length===this._chunkDataShape.length){e.next=2;break}throw new N("Inconsistent shapes: chunkCoordsLength: ".concat(t.length,", cDataShapeLength: ").concat(this.chunkDataShape.length));case 2:return o=this.chunkKey(t),e.prev=3,e.next=6,this.chunkStore.getItem(o);case 6:return a=e.sent,e.next=9,this.decodeChunk(a);case 9:if(s=e.sent,!(n instanceof De)){e.next=21;break}if(!P(r)||!Ae(A,this.chunks)||this.meta.filters){e.next=14;break}return n.set(r,this.toNestedArray(s)),e.abrupt("return");case 14:if(g=this.toNestedArray(s),u=g.get(A),null===i){e.next=18;break}throw new Error("Drop axes is not supported yet");case 18:n.set(r,u),e.next=22;break;case 21:n.set(r,this.chunkBufferToRawArray(s),A);case 22:e.next=31;break;case 24:if(e.prev=24,e.t0=e.catch(3),!m(e.t0)){e.next=30;break}null!==this.fillValue&&n.set(r,this.fillValue),e.next=31;break;case 30:throw e.t0;case 31:case"end":return e.stop()}}),e,this,[[3,24]])})));return function(t,A,n,r,i){return e.apply(this,arguments)}}()},{key:"getRawChunk",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var n,r,i,o,a,s;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.length===this.shape.length){e.next=2;break}throw new Error("Chunk coordinates ".concat(t.join(".")," do not correspond to shape ").concat(this.shape,"."));case 2:for(e.prev=2,n=0;n<t.length;n++)r=Math.ceil(this.shape[n]/this.chunks[n]),t[n]=H(t[n],r);e.next=13;break;case 6:if(e.prev=6,e.t0=e.catch(2),!(e.t0 instanceof G)){e.next=12;break}throw new G("index ".concat(t.join(".")," is out of bounds for shape: ").concat(this.shape," and chunks ").concat(this.chunks));case 12:throw e.t0;case 13:return i=this.chunkKey(t),o=this.chunkStore.getItem(i,null===A||void 0===A?void 0:A.storeOptions),e.t1=this,e.next=18,o;case 18:return e.t2=e.sent,e.next=21,e.t1.decodeChunk.call(e.t1,e.t2);case 21:return a=e.sent,s=this.chunks.filter((function(e){return 1!==e})),e.abrupt("return",new Ue(a,s,this.dtype));case 24:case"end":return e.stop()}}),e,this,[[2,6]])})));return function(t,A){return e.apply(this,arguments)}}()},{key:"chunkKey",value:function(e){return this.keyPrefix+e.join(".")}},{key:"ensureByteArray",value:function(e){return"string"===typeof e?new Uint8Array(n.from(e).buffer):new Uint8Array(e)}},{key:"toTypedArray",value:function(e){return new ye[this.dtype](e)}},{key:"toNestedArray",value:function(e){var t=this.ensureByteArray(e).buffer;return new De(t,this.chunks,this.dtype)}},{key:"decodeChunk",value:function(){var e=Object(d.a)(c.a.mark((function e(t){var A;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=this.ensureByteArray(t),null===this.compressor){e.next=7;break}return e.next=4,this.compressor;case 4:return e.next=6,e.sent.decode(A);case 6:A=e.sent;case 7:return this.dtype.includes(">")&&ie(this.toTypedArray(A.buffer)),e.abrupt("return",A.buffer);case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"chunkBufferToRawArray",value:function(e){return new Ue(e,this.chunks,this.dtype)}},{key:"decodeDirectToRawArray",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A,n){var r,i,o,a;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.chunkCoords,i=this.chunkKey(r),e.prev=2,e.next=5,this.chunkStore.getItem(i);case 5:return o=e.sent,e.t0=Ue,e.next=9,this.decodeChunk(o);case 9:return e.t1=e.sent,e.t2=A,e.t3=this.dtype,e.abrupt("return",new e.t0(e.t1,e.t2,e.t3));case 15:if(e.prev=15,e.t4=e.catch(2),!m(e.t4)){e.next=22;break}return a=new ye[this.dtype](n),e.abrupt("return",new Ue(a.fill(this.fillValue),A));case 22:throw e.t4;case 23:case"end":return e.stop()}}),e,this,[[2,15]])})));return function(t,A,n){return e.apply(this,arguments)}}()},{key:"set",value:function(){var e=Object(d.a)(c.a.mark((function e(){var t,A,n,r=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.length>0&&void 0!==r[0]?r[0]:null,A=r.length>1?r[1]:void 0,n=r.length>2&&void 0!==r[2]?r[2]:{},e.next=5,this.setBasicSelection(t,A,n);case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"setBasicSelection",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var n,r,i,o,a=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=a.length>2&&void 0!==a[2]?a[2]:{},r=n.concurrencyLimit,i=void 0===r?10:r,o=n.progressCallback,!this.readOnly){e.next=3;break}throw new F("Object is read only");case 3:if(this.cacheMetadata){e.next=6;break}return e.next=6,this.reloadMetadata();case 6:if(this.shape!==[]){e.next=10;break}throw new Error("Shape [] indexing is not supported yet");case 10:return e.next=12,this.setBasicSelectionND(t,A,i,o);case 12:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"setBasicSelectionND",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A,n,r){var i;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new K(t,this),e.next=3,this.setSelection(i,A,n,r);case 3:case"end":return e.stop()}}),e,this)})));return function(t,A,n,r){return e.apply(this,arguments)}}()},{key:"getChunkValue",value:function(e,t,A,n){var r;if(n===[])r=A;else if("number"===typeof A)r=A;else if(r=A.get(e.outSelection),null!==t.dropAxes)throw new Error("Handling drop axes not supported yet");return r}},{key:"setSelection",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A,n,r){var i,o,a,s,g,l=this;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((i=t.shape)!==[]){e.next=5;break}e.next=15;break;case 5:if("number"!==typeof A){e.next=9;break}e.next=15;break;case 9:if(!(A instanceof De)){e.next=14;break}if(ne(A.shape,i)){e.next=12;break}throw new N("Shape mismatch in source NestedArray and set selection: ".concat(A.shape," and ").concat(i));case 12:e.next=15;break;case 14:throw new Error("Unknown data type for setting :(");case 15:if(o=new Ve({concurrency:n}),r)!function(){var e,n=0,a=Object(u.a)(t.iter());try{for(a.s();!(e=a.n()).done;){e.value;n+=1}}catch(h){a.e(h)}finally{a.f()}var s=0;r({progress:0,queueSize:n});var g,I=Object(u.a)(t.iter());try{var C=function(){var e=g.value,a=l.getChunkValue(e,t,A,i);Object(d.a)(c.a.mark((function t(){return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,o.add((function(){return l.chunkSetItem(e.chunkCoords,e.chunkSelection,a)}));case 2:r({progress:s+=1,queueSize:n});case 4:case"end":return t.stop()}}),t)})))()};for(I.s();!(g=I.n()).done;)C()}catch(h){I.e(h)}finally{I.f()}}();else{a=Object(u.a)(t.iter());try{for(g=function(){var e=s.value,n=l.getChunkValue(e,t,A,i);o.add((function(){return l.chunkSetItem(e.chunkCoords,e.chunkSelection,n)}))},a.s();!(s=a.n()).done;)g()}catch(I){a.e(I)}finally{a.f()}}return e.next=19,o.onIdle();case 19:case"end":return e.stop()}}),e)})));return function(t,A,n,r){return e.apply(this,arguments)}}()},{key:"chunkSetItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A,n){var r,i,o,a,s,g,u,l,I;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.chunkKey(t),i=null,o=ye[this.dtype],a=this.chunkSize,!Ae(A,this.chunks)){e.next=8;break}"number"===typeof n?(i=new o(a)).fill(n):i=n.flatten(),e.next=29;break;case 8:return e.prev=8,e.next=11,this.chunkStore.getItem(r);case 11:return g=e.sent,e.next=14,this.decodeChunk(g);case 14:u=e.sent,s=this.toTypedArray(u),e.next=26;break;case 18:if(e.prev=18,e.t0=e.catch(8),!m(e.t0)){e.next=25;break}s=new o(a),null!==this.fillValue&&s.fill(this.fillValue),e.next=26;break;case 25:throw e.t0;case 26:(l=new De(s,this.chunks,this.dtype)).set(A,n),i=l.flatten();case 29:return e.next=31,this.encodeChunk(i);case 31:I=e.sent,this.chunkStore.setItem(r,I);case 33:case"end":return e.stop()}}),e,this,[[8,18]])})));return function(t,A,n){return e.apply(this,arguments)}}()},{key:"encodeChunk",value:function(){var e=Object(d.a)(c.a.mark((function e(t){var A,n;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.dtype.includes(">")&&(t=oe(t)),null===this.compressor){e.next=9;break}return A=new Uint8Array(t.buffer),e.next=5,this.compressor;case 5:return e.next=7,e.sent.encode(A);case 7:return n=e.sent,e.abrupt("return",n.buffer);case 9:return e.abrupt("return",t.buffer);case 10:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"chunkStore",get:function(){return this._chunkStore?this._chunkStore:this.store}},{key:"name",get:function(){return this.path.length>0?"/"!==this.path[0]?"/"+this.path:this.path:null}},{key:"basename",get:function(){var e=this.name;if(null===e)return null;var t=e.split("/");return t[t.length-1]}},{key:"shape",get:function(){return this.meta.shape}},{key:"chunks",get:function(){return this.meta.chunks}},{key:"chunkSize",get:function(){return this.chunks.reduce((function(e,t){return e*t}),1)}},{key:"dtype",get:function(){return this.meta.dtype}},{key:"fillValue",get:function(){var e=this.meta.fill_value;return"NaN"===e?NaN:"Infinity"===e?1/0:"-Infinity"===e?-1/0:this.meta.fill_value}},{key:"nDims",get:function(){return this.meta.shape.length}},{key:"size",get:function(){return this.meta.shape.reduce((function(e,t){return e*t}),1)}},{key:"length",get:function(){return this.shape[0]}},{key:"_chunkDataShape",get:function(){if(this.shape===[])return[1];for(var e=[],t=0;t<this.shape.length;t++)e[t]=Math.ceil(this.shape[t]/this.chunks[t]);return e}},{key:"chunkDataShape",get:function(){return this._chunkDataShape}},{key:"numChunks",get:function(){return this.chunkDataShape.reduce((function(e,t){return e*t}),1)}}],[{key:"create",value:function(){var t=Object(d.a)(c.a.mark((function t(A){var n,r,i,o,a,s,g=arguments;return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=g.length>1&&void 0!==g[1]?g[1]:null,r=g.length>2&&void 0!==g[2]&&g[2],i=g.length>3&&void 0!==g[3]?g[3]:null,o=!(g.length>4&&void 0!==g[4])||g[4],a=!(g.length>5&&void 0!==g[5])||g[5],t.next=7,this.loadMetadataForConstructor(A,n);case 7:return s=t.sent,t.abrupt("return",new e(A,n,s,r,i,o,a));case 9:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"loadMetadataForConstructor",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var n,r;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,A=z(A),n=ue(A),e.next=5,t.getItem(n+".zarray");case 5:return r=e.sent,e.abrupt("return",Ee(r));case 9:return e.prev=9,e.t0=e.catch(0),e.next=13,ge(t,A);case 13:if(!e.sent){e.next=15;break}throw new w(null!==A&&void 0!==A?A:"");case 15:throw new Error("Failed to load metadata for ZarrArray:"+e.t0.toString());case 16:case"end":return e.stop()}}),e,null,[[0,9]])})));return function(t,A){return e.apply(this,arguments)}}()}]),e}(),We=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(l.a)(this,e),this.root=t}return Object(s.a)(e,[{key:"proxy",value:function(){return v(this)}},{key:"getParent",value:function(e){var t,A=this.root,n=e.split("/"),r=Object(u.a)(n.slice(0,n.length-1));try{for(r.s();!(t=r.n()).done;){if(!(A=A[t.value]))throw Error(e)}}catch(i){r.e(i)}finally{r.f()}return[A,n[n.length-1]]}},{key:"requireParent",value:function(e){var t,A=this.root,n=e.split("/"),r=Object(u.a)(n.slice(0,n.length-1));try{for(r.s();!(t=r.n()).done;){var i=t.value;void 0===A[i]&&(A[i]={}),A=A[i]}}catch(o){r.e(o)}finally{r.f()}return[A,n[n.length-1]]}},{key:"getItem",value:function(e){var t=this.getParent(e),A=Object(o.a)(t,2),n=A[0][A[1]];if(void 0===n)throw new R(e);return n}},{key:"setItem",value:function(e,t){var A=this.requireParent(e),n=Object(o.a)(A,2);return n[0][n[1]]=t,!0}},{key:"deleteItem",value:function(e){var t=this.getParent(e),A=Object(o.a)(t,2);return delete A[0][A[1]]}},{key:"containsItem",value:function(e){try{return void 0!==this.getItem(e)}catch(t){return!1}}},{key:"keys",value:function(){throw new Error("Method not implemented.")}}]),e}();!function(e){e.HEAD="HEAD",e.GET="GET",e.PUT="PUT"}(Pe||(Pe={}));var Xe=[Pe.HEAD,Pe.GET,Pe.PUT],qe=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(l.a)(this,e),this.url=t;var n=A.fetchOptions,r=void 0===n?{}:n,i=A.supportedMethods,o=void 0===i?Xe:i;this.fetchOptions=r,this.supportedMethods=new Set(o)}return Object(s.a)(e,[{key:"keys",value:function(){throw new Error("Method not implemented.")}},{key:"getItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var i,o;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=re(this.url,t),e.next=3,fetch(i,Object(r.a)({},this.fetchOptions,{},A));case 3:if(404!==(o=e.sent).status){e.next=8;break}throw new R(t);case 8:if(200===o.status){e.next=10;break}throw new U(String(o.status));case 10:if(!q){e.next=18;break}return e.t0=n,e.next=14,o.arrayBuffer();case 14:return e.t1=e.sent,e.abrupt("return",e.t0.from.call(e.t0,e.t1));case 18:return e.abrupt("return",o.arrayBuffer());case 19:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"setItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t,A){var n,i;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.supportedMethods.has(Pe.PUT)){e.next=2;break}throw new Error("HTTP PUT no a supported method for store.");case 2:return n=re(this.url,t),"string"===typeof A&&(A=(new TextEncoder).encode(A).buffer),e.next=6,fetch(n,Object(r.a)({},this.fetchOptions,{method:Pe.PUT,body:A}));case 6:return i=e.sent,e.abrupt("return","2"===i.status.toString()[0]);case 8:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"deleteItem",value:function(e){throw new Error("Method not implemented.")}},{key:"containsItem",value:function(){var e=Object(d.a)(c.a.mark((function e(t){var A,n,i;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=re(this.url,t),n=this.supportedMethods.has(Pe.HEAD)?Pe.HEAD:Pe.GET,e.next=4,fetch(A,Object(r.a)({},this.fetchOptions,{method:n}));case 4:return i=e.sent,e.abrupt("return",200===i.status);case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()}]),e}();function ze(){return $e.apply(this,arguments)}function $e(){return($e=Object(d.a)(c.a.mark((function e(){var t,A,n,r,i,o,a,s,g,u,l,I,C,h,f,d,B,p,E,Q,y,v,m,F,R,D,G=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=G.length>0&&void 0!==G[0]?G[0]:{},A=t.shape,n=t.mode,r=void 0===n?"a":n,i=t.chunks,o=void 0===i||i,a=t.dtype,s=void 0===a?"<i4":a,g=t.compressor,u=void 0===g?null:g,l=t.fillValue,I=void 0===l?null:l,C=t.order,h=void 0===C?"C":C,f=t.store,d=t.overwrite,B=void 0!==d&&d,p=t.path,E=void 0===p?null:p,Q=t.chunkStore,y=t.filters,v=t.cacheMetadata,m=void 0===v||v,F=t.cacheAttrs,R=void 0===F||F,f=et(f),void 0===Q&&(Q=et(f)),E=z(E),"r"!==r&&"r+"!==r){e.next=15;break}return e.next=7,ae(f,E);case 7:if(e.sent){e.next=13;break}return e.next=10,ge(f,E);case 10:if(!e.sent){e.next=12;break}throw new w(E);case 12:throw new S(E);case 13:e.next=56;break;case 15:if("w"!==r){e.next=22;break}if(void 0!==A){e.next=18;break}throw new N("Shape can not be undefined when creating a new array");case 18:return e.next=20,Be(f,A,o,s,E,u,I,h,B,Q,y);case 20:e.next=56;break;case 22:if("a"!==r){e.next=36;break}return e.next=25,ae(f,E);case 25:if(e.sent){e.next=34;break}return e.next=28,ge(f,E);case 28:if(!e.sent){e.next=30;break}throw new w(E);case 30:if(void 0!==A){e.next=32;break}throw new N("Shape can not be undefined when creating a new array");case 32:return e.next=34,Be(f,A,o,s,E,u,I,h,B,Q,y);case 34:e.next=56;break;case 36:if("w-"!==r&&"x"!==r){e.next=55;break}return e.next=39,ae(f,E);case 39:if(!e.sent){e.next=43;break}throw new b(E);case 43:return e.next=45,ge(f,E);case 45:if(!e.sent){e.next=49;break}throw new w(E);case 49:if(void 0!==A){e.next=51;break}throw new N("Shape can not be undefined when creating a new array");case 51:return e.next=53,Be(f,A,o,s,E,u,I,h,B,Q,y);case 53:e.next=56;break;case 55:throw new N("Invalid mode argument: ".concat(r));case 56:return D="r"===r,e.abrupt("return",Ke.create(f,E,D,Q,m,R));case 58:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function et(e){return void 0===e?new We:"string"===typeof e?new qe(e):e}}).call(this,A(90),A(188).Buffer)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReactCSS=t.loop=t.handleActive=t.handleHover=t.hover=void 0;var n=g(A(966)),r=g(A(988)),i=g(A(989)),o=g(A(990)),a=g(A(991)),s=g(A(992));function g(e){return e&&e.__esModule?e:{default:e}}t.hover=o.default,t.handleHover=o.default,t.handleActive=a.default,t.loop=s.default;var c=t.ReactCSS=function(e){for(var t=arguments.length,A=Array(t>1?t-1:0),o=1;o<t;o++)A[o-1]=arguments[o];var a=(0,n.default)(A),s=(0,r.default)(e,a);return(0,i.default)(s)};t.default=c},function(e,t){function A(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&A(e.prototype,t),n&&A(e,n),e}},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n=A(0),r=A(136);function i(e,t){return n.useMemo((function(){return null==e&&null==t?null:function(A){Object(r.a)(e,A),Object(r.a)(t,A)}}),[e,t])}},function(e,t,A){"use strict";A.d(t,"p",(function(){return l})),A.d(t,"b",(function(){return I})),A.d(t,"a",(function(){return C})),A.d(t,"o",(function(){return h})),A.d(t,"l",(function(){return f})),A.d(t,"k",(function(){return B})),A.d(t,"m",(function(){return Q})),A.d(t,"j",(function(){return y})),A.d(t,"c",(function(){return v})),A.d(t,"d",(function(){return m})),A.d(t,"g",(function(){return S})),A.d(t,"h",(function(){return F})),A.d(t,"n",(function(){return R})),A.d(t,"e",(function(){return D})),A.d(t,"f",(function(){return G})),A.d(t,"i",(function(){return k}));var n=A(416),r=A.n(n),i=A(0),o=A.n(i),a=A(229),s=A(237),g=A.n(s),c=A(317),u=!1;function l(){u||(u=!0,g()(!1,"Tree only accept TreeNode as children."))}function I(e,t){var A=e.slice(),n=A.indexOf(t);return n>=0&&A.splice(n,1),A}function C(e,t){var A=e.slice();return-1===A.indexOf(t)&&A.push(t),A}function h(e){return e.split("-")}function f(e,t){return e+"-"+t}function d(e){return e&&e.type&&e.type.isTreeNode}function B(e){return Object(a.a)(e).filter(d)}function p(e){var t=e.props||{},A=t.disabled,n=t.disableCheckbox;return!(!A&&!n)}function E(e,t){!function A(n,r,o){var a=n?n.props.children:e,s=n?f(o.pos,r):0,g=B(a);if(n){var c={node:n,index:r,pos:s,key:n.key||s,parentPos:o.node?o.pos:null};t(c)}i.Children.forEach(g,(function(e,t){A(e,t,{node:n,pos:s})}))}(null)}function Q(e,t){var A=Object(a.a)(e).map(t);return 1===A.length?A[0]:A}function y(e,t){var A=t.props,n=A.eventKey,r=A.pos,i=[];return E(e,(function(e){var t=e.key;i.push(t)})),i.push(n||r),i}function v(e,t){var A=e.clientY,n=t.selectHandle.getBoundingClientRect(),r=n.top,i=n.bottom,o=n.height,a=Math.max(.25*o,2);return A<=r+a?-1:A>=i-a?1:0}function m(e,t){if(e)return t.multiple?e.slice():e.length?[e[0]]:e}function b(e){return e?e.map((function(e){return String(e)})):e}var w=function(e){return e};function S(e,t){if(!e)return[];var A=(t||{}).processProps,n=void 0===A?w:A;return(Array.isArray(e)?e:[e]).map((function(e){var A=e.children,i=r()(e,["children"]),a=S(A,t);return o.a.createElement(c.a,n(i),a)}))}function F(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.initWrapper,n=t.processEntity,r=t.onProcessFinished,i={},o={},a={posEntities:i,keyEntities:o};return A&&(a=A(a)||a),E(e,(function(e){var t=e.node,A=e.index,r=e.pos,s=e.key,g=e.parentPos,c={node:t,index:A,key:s,pos:r};i[r]=c,o[s]=c,c.parent=i[g],c.parent&&(c.parent.children=c.parent.children||[],c.parent.children.push(c)),n&&n(c,a)})),r&&r(a),a}function R(e){if(!e)return null;var t=void 0;if(Array.isArray(e))t={checkedKeys:e,halfCheckedKeys:void 0};else{if("object"!==typeof e)return g()(!1,"`checkedKeys` is not an array or an object"),null;t={checkedKeys:e.checked||void 0,halfCheckedKeys:e.halfChecked||void 0}}return t.checkedKeys=b(t.checkedKeys),t.halfCheckedKeys=b(t.halfCheckedKeys),t}function D(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r={},i={};function o(e){if(r[e]!==t){var n=A[e];if(n){var a=n.children,s=n.parent;if(!p(n.node)){var g=!0,c=!1;(a||[]).filter((function(e){return!p(e.node)})).forEach((function(e){var t=e.key,A=r[t],n=i[t];(A||n)&&(c=!0),A||(g=!1)})),r[e]=!!t&&g,i[e]=c,s&&o(s.key)}}}}function a(e){if(r[e]!==t){var n=A[e];if(n){var i=n.children;p(n.node)||(r[e]=t,(i||[]).forEach((function(e){a(e.key)})))}}}function s(e){var n=A[e];if(n){var i=n.children,s=n.parent,c=n.node;r[e]=t,p(c)||((i||[]).filter((function(e){return!p(e.node)})).forEach((function(e){a(e.key)})),s&&o(s.key))}else g()(!1,"'"+e+"' does not exist in the tree.")}(n.checkedKeys||[]).forEach((function(e){r[e]=!0})),(n.halfCheckedKeys||[]).forEach((function(e){i[e]=!0})),(e||[]).forEach((function(e){s(e)}));var c=[],u=[];return Object.keys(r).forEach((function(e){r[e]&&c.push(e)})),Object.keys(i).forEach((function(e){!r[e]&&i[e]&&u.push(e)})),{checkedKeys:c,halfCheckedKeys:u}}function G(e,t){var A={};return(e||[]).forEach((function(e){!function e(n){if(!A[n]){var r=t[n];if(r){A[n]=!0;var i=r.parent;p(r.node)||i&&e(i.key)}}}(e)})),Object.keys(A)}function k(e){return Object.keys(e).reduce((function(t,A){return"data-"!==A.substr(0,5)&&"aria-"!==A.substr(0,5)||(t[A]=e[A]),t}),{})}},function(e,t,A){"use strict";var n=A(6),r=A(24),i=A(3),o=A.n(i),a=A(12),s=A(8),g=A(2),c=A(83),u=A(1),l=A(4),I=A(16),C=A(17),h=A(9),f=A(10),d=A(7),B=A(11),p=A(36),E=A(575),Q=A(576),y=A(384),v=A(511),m=A(579),b=A(581),w=A(133),S=(A(582),A(23)),F=A(22),R=A(224),D=A(18),G=A(422),k=A(135),x=A(232),N=A(665),U=A(528),_=A(718),M=A(427),O=A(648),L=A(580),T=A(649),Z=A(386);function H(e,t,A,n,r){!function e(t,A,n,r,i){for(;r>n;){if(r-n>600){var o=r-n+1,a=A-n+1,s=Math.log(o),g=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*g*(o-g)/o)*(a-o/2<0?-1:1),u=Math.max(n,Math.floor(A-a*g/o+c)),l=Math.min(r,Math.floor(A+(o-a)*g/o+c));e(t,A,u,l,i)}var I=t[A],C=n,h=r;for(Y(t,n,A),i(t[r],I)>0&&Y(t,n,r);C<h;){for(Y(t,C,h),C++,h--;i(t[C],I)<0;)C++;for(;i(t[h],I)>0;)h--}0===i(t[n],I)?Y(t,n,h):(h++,Y(t,h,r)),h<=A&&(n=h+1),A<=h&&(r=h-1)}}(e,t,A||0,n||e.length-1,r||J)}function Y(e,t,A){var n=e[t];e[t]=e[A],e[A]=n}function J(e,t){return e<t?-1:e>t?1:0}var j=A(81),P=A(0),V=A(1290),K=A(146),W=A.n(K),X=A(292),q=A(54);function z(e){return e instanceof DataView}for(var $=new ArrayBuffer(4),ee=new Float32Array($),te=new Uint32Array($),Ae=new Uint32Array(512),ne=new Uint32Array(512),re=0;re<256;++re){var ie=re-127;ie<-27?(Ae[0|re]=0,Ae[256|re]=32768,ne[0|re]=24,ne[256|re]=24):ie<-14?(Ae[0|re]=1024>>-ie-14,Ae[256|re]=1024>>-ie-14|32768,ne[0|re]=-ie-1,ne[256|re]=-ie-1):ie<=15?(Ae[0|re]=ie+15<<10,Ae[256|re]=ie+15<<10|32768,ne[0|re]=13,ne[256|re]=13):ie<128?(Ae[0|re]=31744,Ae[256|re]=64512,ne[0|re]=24,ne[256|re]=24):(Ae[0|re]=31744,Ae[256|re]=64512,ne[0|re]=13,ne[256|re]=13)}var oe=new Uint32Array(2048),ae=new Uint32Array(64),se=new Uint32Array(64);oe[0]=0;for(var ge=1;ge<1024;++ge){for(var ce=ge<<13,ue=0;0===(8388608&ce);)ue-=8388608,ce<<=1;ce&=-8388609,ue+=947912704,oe[ge]=ce|ue}for(var le=1024;le<2048;++le)oe[le]=939524096+(le-1024<<13);ae[0]=0;for(var Ie=1;Ie<31;++Ie)ae[Ie]=Ie<<23;ae[31]=1199570944,ae[32]=2147483648;for(var Ce=33;Ce<63;++Ce)ae[Ce]=2147483648+(Ce-32<<23);ae[63]=3347054592,se[0]=0;for(var he=1;he<64;++he)se[he]=32===he?0:1024;function fe(e){var t=e>>10;return te[0]=oe[se[t]+(1023&e)]+ae[t],ee[0]}function de(e,t){if(!z(e))throw new TypeError("First argument to getFloat16 function must be a DataView");for(var A=arguments.length,n=new Array(A>2?A-2:0),r=2;r<A;r++)n[r-2]=arguments[r];return fe(e.getUint16.apply(e,[t].concat(n)))}function Be(e,t){var A=(t=t||{}).pos||0,n=!!t.keepComments,r=!!t.keepWhitespace,i="<".charCodeAt(0),o=">".charCodeAt(0),a="-".charCodeAt(0),s="/".charCodeAt(0),g="!".charCodeAt(0),c="'".charCodeAt(0),u='"'.charCodeAt(0),l="[".charCodeAt(0),I="]".charCodeAt(0);function C(t){for(var c=[];e[A];)if(e.charCodeAt(A)==i){if(e.charCodeAt(A+1)===s){var u=A+2;if(A=e.indexOf(">",A),-1==e.substring(u,A).indexOf(t)){var C=e.substring(0,A).split("\n");throw new Error("Unexpected close tag\nLine: "+(C.length-1)+"\nColumn: "+(C[C.length-1].length+1)+"\nChar: "+e[A])}return A+1&&(A+=1),c}if(e.charCodeAt(A+1)===g){if(e.charCodeAt(A+2)==a){for(var f=A;-1!==A&&(e.charCodeAt(A)!==o||e.charCodeAt(A-1)!=a||e.charCodeAt(A-2)!=a||-1==A);)A=e.indexOf(">",A+1);-1===A&&(A=e.length),n&&c.push(e.substring(f,A+1))}else{if(e.charCodeAt(A+2)===l&&e.charCodeAt(A+8)===l&&"cdata"===e.substr(A+3,5).toLowerCase()){var d=e.indexOf("]]>",A);-1==d?(c.push(e.substr(A+9)),A=e.length):(c.push(e.substring(A+9,d)),A=d+3);continue}var E=A+1;A+=2;for(var Q=!1;(e.charCodeAt(A)!==o||!0===Q)&&e[A];)e.charCodeAt(A)===l?Q=!0:!0===Q&&e.charCodeAt(A)===I&&(Q=!1),A++;c.push(e.substring(E,A))}A++;continue}var y=p();c.push(y),"?"===y.tagName[0]&&(c.push.apply(c,Object(B.a)(y.children)),y.children=[])}else{var v=h();if(r)v.length>0&&c.push(v);else{var m=v.trim();m.length>0&&c.push(m)}A++}return c}function h(){var t=A;return-2===(A=e.indexOf("<",A)-1)&&(A=e.length),e.slice(t,A+1)}function f(){for(var t=A;-1==="\r\n\t>/= ".indexOf(e[A])&&e[A];)A++;return e.slice(t,A)}var d=t.noChildNodes||["img","br","input","meta","link","hr"];function p(){A++;for(var t=f(),n={},r=[];e.charCodeAt(A)!==o&&e[A];){var i=e.charCodeAt(A);if(i>64&&i<91||i>96&&i<123){for(var a=f(),g=e.charCodeAt(A);g&&g!==c&&g!==u&&!(g>64&&g<91||g>96&&g<123)&&g!==o;)A++,g=e.charCodeAt(A);if(g===c||g===u){var l=E();if(-1===A)return{tagName:t,attributes:n,children:r}}else l=null,A--;n[a]=l}A++}if(e.charCodeAt(A-1)!==s)if("script"==t){var I=A+1;A=e.indexOf("<\/script>",A),r=[e.slice(I,A)],A+=9}else if("style"==t){I=A+1;A=e.indexOf("</style>",A),r=[e.slice(I,A)],A+=8}else-1===d.indexOf(t)?(A++,r=C(t)):A++;else A++;return{tagName:t,attributes:n,children:r}}function E(){var t=e[A],n=A+1;return A=e.indexOf(t,n),e.slice(n,A)}function Q(){var A=new RegExp("\\s"+t.attrName+"\\s*=['\"]"+t.attrValue+"['\"]").exec(e);return A?A.index:-1}var y=null;if(void 0!==t.attrValue){t.attrName=t.attrName||"id";for(y=[];-1!==(A=Q());)-1!==(A=e.lastIndexOf("<",A))&&y.push(p()),e=e.substr(A),A=0}else y=t.parseNode?p():C("");return t.filter&&(y=function e(t,A){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",i=[];return t.forEach((function(t,o){if("object"===typeof t&&A(t,o,n,r)&&i.push(t),t.children){var a=e(t.children,A,n+1,(r?r+".":"")+o+"."+t.tagName);i=i.concat(a)}})),i}(y,t.filter)),t.simplify?function e(t){var A={};if(!t.length)return"";if(1===t.length&&"string"==typeof t[0])return t[0];for(var n in t.forEach((function(t){if("object"===typeof t){A[t.tagName]||(A[t.tagName]=[]);var n=e(t.children);A[t.tagName].push(n),Object.keys(t.attributes).length&&"string"!==typeof n&&(n._attributes=t.attributes)}})),A)1==A[n].length&&(A[n]=A[n][0]);return A}(Array.isArray(y)?y:[y]):(t.setPos&&(y.pos=A),y)}var pe={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},Ee={};for(var Qe in pe)pe.hasOwnProperty(Qe)&&(Ee[pe[Qe]]=parseInt(Qe,10));var ye=[Ee.BitsPerSample,Ee.ExtraSamples,Ee.SampleFormat,Ee.StripByteCounts,Ee.StripOffsets,Ee.StripRowCounts,Ee.TileByteCounts,Ee.TileOffsets,Ee.SubIFDs],ve={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},me={};for(var be in ve)ve.hasOwnProperty(be)&&(me[ve[be]]=parseInt(be,10));var we=0,Se=1,Fe=2,Re=3,De=5,Ge=6,ke=8,xe=0,Ne=1,Ue=0,_e=1,Me={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},Oe={};for(var Le in Me)Me.hasOwnProperty(Le)&&(Oe[Me[Le]]=parseInt(Le,10));function Te(e,t){for(var A,n=e.width,r=e.height,i=new Uint8Array(n*r*3),o=0,a=0;o<e.length;++o,a+=3)A=256-e[o]/t*256,i[a]=A,i[a+1]=A,i[a+2]=A;return i}function Ze(e,t){for(var A,n=e.width,r=e.height,i=new Uint8Array(n*r*3),o=0,a=0;o<e.length;++o,a+=3)A=e[o]/t*256,i[a]=A,i[a+1]=A,i[a+2]=A;return i}function He(e,t){for(var A=e.width,n=e.height,r=new Uint8Array(A*n*3),i=t.length/3,o=t.length/3*2,a=0,s=0;a<e.length;++a,s+=3){var g=e[a];r[s]=t[g]/65536*256,r[s+1]=t[g+i]/65536*256,r[s+2]=t[g+o]/65536*256}return r}function Ye(e){for(var t=e.width,A=e.height,n=new Uint8Array(t*A*3),r=0,i=0;r<e.length;r+=4,i+=3){var o=e[r],a=e[r+1],s=e[r+2],g=e[r+3];n[i]=(255-o)/256*255*((255-g)/256),n[i+1]=(255-a)/256*255*((255-g)/256),n[i+2]=(255-s)/256*255*((255-g)/256)}return n}function Je(e){for(var t=e.width,A=e.height,n=new Uint8ClampedArray(t*A*3),r=0,i=0;r<e.length;r+=3,i+=3){var o=e[r],a=e[r+1],s=e[r+2];n[i]=o+1.402*(s-128),n[i+1]=o-.34414*(a-128)-.71414*(s-128),n[i+2]=o+1.772*(a-128)}return n}function je(e){for(var t=e.width,A=e.height,n=new Uint8Array(t*A*3),r=0,i=0;r<e.length;r+=3,i+=3){var o=(e[r+0]+16)/116,a=(e[r+1]<<24>>24)/500+o,s=o-(e[r+2]<<24>>24)/200,g=void 0,c=void 0,u=void 0;c=-.9689*(a=.95047*(a*a*a>.008856?a*a*a:(a-16/116)/7.787))+1.8758*(o=1*(o*o*o>.008856?o*o*o:(o-16/116)/7.787))+.0415*(s=1.08883*(s*s*s>.008856?s*s*s:(s-16/116)/7.787)),u=.0557*a+-.204*o+1.057*s,g=(g=3.2406*a+-1.5372*o+-.4986*s)>.0031308?1.055*Math.pow(g,1/2.4)-.055:12.92*g,c=c>.0031308?1.055*Math.pow(c,1/2.4)-.055:12.92*c,u=u>.0031308?1.055*Math.pow(u,1/2.4)-.055:12.92*u,n[i]=255*Math.max(0,Math.min(1,g)),n[i+1]=255*Math.max(0,Math.min(1,c)),n[i+2]=255*Math.max(0,Math.min(1,u))}return n}function Pe(e,t){var A=e.length-t,n=0;do{for(var r=t;r>0;r--)e[n+t]+=e[n],n++;A-=t}while(A>0)}function Ve(e,t,A){for(var n=0,r=e.length,i=r/A;r>t;){for(var o=t;o>0;--o)e[n+t]+=e[n],++n;r-=t}for(var a=e.slice(),s=0;s<i;++s)for(var g=0;g<A;++g)e[A*s+g]=a[(A-g-1)*i+s]}function Ke(e,t,A,n,r,i){if(!t||1===t)return e;for(var o=0;o<r.length;++o){if(r[o]%8!==0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(r[o]!==r[0])throw new Error("When decoding with predictor, all samples must have the same size.")}for(var a=r[0]/8,s=2===i?1:r.length,g=0;g<n&&!(g*s*A*a>=e.byteLength);++g){var c=void 0;if(2===t){switch(r[0]){case 8:c=new Uint8Array(e,g*s*A*a,s*A*a);break;case 16:c=new Uint16Array(e,g*s*A*a,s*A*a/2);break;case 32:c=new Uint32Array(e,g*s*A*a,s*A*a/4);break;default:throw new Error("Predictor 2 not allowed with ".concat(r[0]," bits per sample."))}Pe(c,s)}else 3===t&&Ve(c=new Uint8Array(e,g*s*A*a,s*A*a),s,a)}return e}var We,Xe=function(){function e(){Object(u.a)(this,e)}return Object(l.a)(e,[{key:"decode",value:function(){var e=Object(a.a)(o.a.mark((function e(t,A){var n,r,i,a,s;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.decodeBlock(A);case 2:if(n=e.sent,1===(r=t.Predictor||1)){e.next=9;break}return i=!t.StripOffsets,a=i?t.TileWidth:t.ImageWidth,s=i?t.TileLength:t.RowsPerStrip||t.ImageLength,e.abrupt("return",Ke(n,r,a,s,t.BitsPerSample,t.PlanarConfiguration));case 9:return e.abrupt("return",n);case 10:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()}]),e}(),qe=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"decodeBlock",value:function(e){return e}}]),A}(Xe),ze=null;function $e(){return null!==ze&&ze.buffer===We.memory.buffer||(ze=new Uint8Array(We.memory.buffer)),ze}var et=0,tt=null;function At(){return null!==tt&&tt.buffer===We.memory.buffer||(tt=new Int32Array(We.memory.buffer)),tt}function nt(e){return rt.apply(this,arguments)}function rt(){return(rt=Object(a.a)(o.a.mark((function e(t){var A,n,r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t="".replace(/\.js$/,"_bg.wasm")),("string"==typeof t||"function"==typeof Request&&t instanceof Request||"function"==typeof URL&&t instanceof URL)&&(t=fetch(t)),e.t0=function(){var e=Object(a.a)(o.a.mark((function e(t,A){var n,r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!("function"==typeof Response&&t instanceof Response)){e.next=19;break}if("function"!=typeof WebAssembly.instantiateStreaming){e.next=13;break}return e.prev=2,e.next=5,WebAssembly.instantiateStreaming(t,A);case 5:return e.abrupt("return",e.sent);case 8:if(e.prev=8,e.t0=e.catch(2),"application/wasm"!=t.headers.get("Content-Type")){e.next=12;break}throw e.t0;case 12:console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e.t0);case 13:return e.next=15,t.arrayBuffer();case 15:return n=e.sent,e.next=18,WebAssembly.instantiate(n,A);case 18:return e.abrupt("return",e.sent);case 19:return e.next=21,WebAssembly.instantiate(t,A);case 21:return r=e.sent,e.abrupt("return",r instanceof WebAssembly.Instance?{instance:r,module:t}:r);case 23:case"end":return e.stop()}}),e,null,[[2,8]])})));return function(t,A){return e.apply(this,arguments)}}(),e.next=5,t;case 5:return e.t1=e.sent,e.t2={},e.next=9,(0,e.t0)(e.t1,e.t2);case 9:return A=e.sent,n=A.instance,r=A.module,e.abrupt("return",(We=n.exports,nt.__wbindgen_wasm_module=r,We));case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var it=Object.freeze({__proto__:null,decompress:function(e,t){try{var A=We.__wbindgen_add_to_stack_pointer(-16),n=function(e,t){var A=t(1*e.length);return $e().set(e,A/1),et=e.length,A}(e,We.__wbindgen_malloc),r=et;We.decompress(A,n,r,t);var i=At()[A/4+0],o=At()[A/4+1],a=(s=i,g=o,$e().subarray(s/1,s/1+g)).slice();return We.__wbindgen_free(i,1*o),a}finally{We.__wbindgen_add_to_stack_pointer(16)}var s,g},default:nt}),ot=[62,0,0,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,0,0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function at(e){return ot[e-43]}var st,gt=function(e){for(var t,A=e.endsWith("==")?2:e.endsWith("=")?1:0,n=e.length,r=new Uint8Array(n/4*3),i=0,o=0;i<n;i+=4,o+=3)t=at(e.charCodeAt(i))<<18|at(e.charCodeAt(i+1))<<12|at(e.charCodeAt(i+2))<<6|at(e.charCodeAt(i+3)),r[o]=t>>16,r[o+1]=t>>8&255,r[o+2]=255&t;return r.subarray(0,r.length-A)}("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NwMAIANBEGokAA8LIARBCEHYhcAAEDcACyACQQhByIXAABA3AAuqAgEDfyMAQYABayIEJAACQAJAAn8CQCABKAIAIgNBEHFFBEAgACgCACECIANBIHENASACrSABEBUMAgsgACgCACECQQAhAANAIAAgBGpB/wBqIAJBD3EiA0EwciADQdcAaiADQQpJGzoAACAAQX9qIQAgAkEEdiICDQALIABBgAFqIgJBgQFPDQIgAUGkjsAAQQIgACAEakGAAWpBACAAaxAIDAELQQAhAANAIAAgBGpB/wBqIAJBD3EiA0EwciADQTdqIANBCkkbOgAAIABBf2ohACACQQR2IgINAAsgAEGAAWoiAkGBAU8NAiABQaSOwABBAiAAIARqQYABakEAIABrEAgLIARBgAFqJAAPCyACQYABQZSOwAAQOQALIAJBgAFBlI7AABA5AAuxAgEEfyMAQUBqIgIkACABKAIEIgNFBEAgAUEEaiEDIAEoAgAhBCACQQA2AiAgAkIBNwMYIAIgAkEYajYCJCACQThqIARBEGopAgA3AwAgAkEwaiAEQQhqKQIANwMAIAIgBCkCADcDKCACQSRqQdiJwAAgAkEoahAJGiACQRBqIgQgAigCIDYCACACIAIpAxg3AwgCQCABKAIEIgVFDQAgAUEIaigCAEUNACAFEAQLIAMgAikDCDcCACADQQhqIAQoAgA2AgAgAygCACEDCyABQQE2AgQgAUEMaigCACEEIAFBCGoiASgCACEFIAFCADcCAEEMQQQQWSIBRQRAQQxBBBBjAAsgASAENgIIIAEgBTYCBCABIAM2AgAgAEGQi8AANgIEIAAgATYCACACQUBrJAAL/AEBAn8jAEEQayICJAAgACgCACACQQA2AgwCfwJAAkAgAUGAAU8EQCABQYAQSQ0BIAJBDGohACABQYCABE8NAiACIAFBP3FBgAFyOgAOIAIgAUEMdkHgAXI6AAwgAiABQQZ2QT9xQYABcjoADUEDDAMLIAIgAToADCACQQxqIQBBAQwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAwgAkEMaiEAQQIMAQsgAiABQT9xQYABcjoADyACIAFBEnZB8AFyOgAMIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADUEECyEBIAAgARALIAJBEGokAAv5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QSxqQQI2AgAgAUE8akEhNgIAIAFCAjcCHCABQayMwAA2AhggAUEdNgI0IAEgAUEwajYCKCABIAFBEGo2AjggASABQQhqNgIwIAFBGGpB8IDAABBRAAtxAQN/IwBBIGsiAiQAAkAgACABEBkNACABQRxqKAIAIQMgASgCGCACQRxqQQA2AgAgAkHwi8AANgIYIAJCATcCDCACQfSLwAA2AgggAyACQQhqEAkNACAAQQRqIAEQGSACQSBqJAAPCyACQSBqJABBAQswAQF/AkACQEGAwABBAhBZIgENAQwAC0GAwABBAhBjAAsgACABNgIAIABBgCA2AgQLewECfwJAAkAgACgCBCIBBEAgACgCDCICIAFPDQEgACgCACIBIAJqIAEtAAA6AAAgAEEANgIIIAAgACgCDEEBajYCDCAAKAIERQ0CIAAoAgAtAAAPC0EAQQBBiIbAABA2AAsgAiABQZiGwAAQNgALQQBBAEGohsAAEDYAC2gBAn8gACAALQBGIgFBAWoiAjoACiAAQQEgAUEPcXRBAmoiATsBQCAAQX8gAkEPcXRBf3M7AQggAEEYaigCACABQf//A3EiAU8EQCAAIAE2AhgLIABBJGooAgAgAU8EQCAAIAE2AiQLC1ABAX8gAEEUaigCACIBRSABQQJ0RXJFBEAgACgCEBAECyAAQSBqKAIAIgFFIAFBAXRFckUEQCAAKAIcEAQLIABBLGooAgAEQCAAKAIoEAQLC2wBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRxqQQI2AgAgA0EsakEcNgIAIANCAjcCDCADQYCNwAA2AgggA0EcNgIkIAMgA0EgajYCGCADIAM2AiggAyADQQRqNgIgIANBCGogAhBRAAtsAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EcakECNgIAIANBLGpBHDYCACADQgI3AgwgA0HMkcAANgIIIANBHDYCJCADIANBIGo2AhggAyADQQRqNgIoIAMgAzYCICADQQhqIAIQUQALbAEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBHGpBAjYCACADQSxqQRw2AgAgA0ICNwIMIANBgJLAADYCCCADQRw2AiQgAyADQSBqNgIYIAMgA0EEajYCKCADIAM2AiAgA0EIaiACEFEAC2wBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRxqQQI2AgAgA0EsakEcNgIAIANCAjcCDCADQayRwAA2AgggA0EcNgIkIAMgA0EgajYCGCADIANBBGo2AiggAyADNgIgIANBCGogAhBRAAtcAQF/IwBBEGsiAyQAAkAgACgCBCABayACTwRAIANBADYCAAwBCyADIAAgASACEBYgAygCAEEBRw0AIANBCGooAgAiAARAIAMoAgQgABBjAAsQXQALIANBEGokAAtaAQF/IwBBEGsiAiQAAkAgACgCBCABa0EBTwRAIAJBADYCAAwBCyACIAAgARAeIAIoAgBBAUcNACACQQhqKAIAIgAEQCACKAIEIAAQYwALEF0ACyACQRBqJAALWgEBfyMAQRBrIgIkAAJAIAAoAgQgAWtBAU8EQCACQQA2AgAMAQsgAiAAIAEQHSACKAIAQQFHDQAgAkEIaigCACIABEAgAigCBCAAEGMACxBdAAsgAkEQaiQAC1kBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBGGogAUEQaikCADcDACACQRBqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB2InAACACQQhqEAkgAkEgaiQAC0YAAkBBCCACSQRAAn9BCCACSQRAIAIgAxAQDAELIAMQAAsiAg0BQQAPCyAAIAMQCg8LIAIgACADIAEgASADSxsQSyAAEAQLWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakHwj8AAIAJBCGoQCSACQSBqJAALWQACQAJAAkAgAUF/SgRAAkAgAgRAIAENAQwECyABRQ0DIAFBARBZIgINBAwCCyABEEciAkUNAQwDCxBdAAsgAUEBEGMAC0EBIQILIAAgATYCBCAAIAI2AgALVgEBfyMAQSBrIgIkACACIAA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakHwj8AAIAJBCGoQCSACQSBqJAALWQEDfwJAIAEoAgwiAiABKAIIIgNPBEAgASgCBCIEIAJJDQEgASgCACEBIAAgAiADazYCBCAAIAEgA2o2AgAPCyADIAJB2IbAABA4AAsgAiAEQdiGwAAQNwALVQEBfyAAQRBqIAAt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");function ct(e,t){return ut.apply(this,arguments)}function ut(){return(ut=Object(a.a)(o.a.mark((function e(t,A){var n;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.t0=st,e.t0){e.next=5;break}return e.next=4,Object(a.a)(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,nt(gt);case 2:return e.abrupt("return",it);case 3:case"end":return e.stop()}}),e)})))();case 4:st=e.sent;case 5:if(0!==(n=st.decompress(t,A)).length){e.next=8;break}throw Error("Failed to decode with LZW decoder.");case 8:return e.abrupt("return",n);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var lt=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(e){var n;Object(u.a)(this,A),n=t.call(this);var r=e.TileWidth||e.ImageWidth,i=e.TileLength||e.ImageLength,o=e.BitsPerSample[0]/8;return n.maxUncompressedSize=r*i*o,n}return Object(l.a)(A,[{key:"decodeBlock",value:function(){var e=Object(a.a)(o.a.mark((function e(t){var A,n;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=new Uint8Array(t),e.next=3,ct(A,this.maxUncompressedSize);case 3:return n=e.sent,e.abrupt("return",n.buffer);case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()}]),A}(Xe),It=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);function Ct(e,t){for(var A=0,n=[],r=16;r>0&&!e[r-1];)--r;n.push({children:[],index:0});for(var i,o=n[0],a=0;a<r;a++){for(var s=0;s<e[a];s++){for((o=n.pop()).children[o.index]=t[A];o.index>0;)o=n.pop();for(o.index++,n.push(o);n.length<=a;)n.push(i={children:[],index:0}),o.children[o.index]=i.children,o=i;A++}a+1<r&&(n.push(i={children:[],index:0}),o.children[o.index]=i.children,o=i)}return n[0].children}function ht(e,t,A,n,r,i,o,a,s){var g=A.mcusPerLine,c=A.progressive,u=t,l=t,I=0,C=0;function h(){if(C>0)return C--,I>>C&1;if(255===(I=e[l++])){var t=e[l++];if(t)throw new Error("unexpected marker: ".concat((I<<8|t).toString(16)))}return C=7,I>>>7}function f(e){for(var t,A=e;null!==(t=h());){if("number"===typeof(A=A[t]))return A;if("object"!==typeof A)throw new Error("invalid huffman sequence")}return null}function d(e){for(var t=e,A=0;t>0;){var n=h();if(null===n)return;A=A<<1|n,--t}return A}function B(e){var t=d(e);return t>=1<<e-1?t:t+(-1<<e)+1}var p=0;var E,Q=0;function y(e,t,A,n,r){var i=A%g,o=(A/g|0)*e.v+n,a=i*e.h+r;t(e,e.blocks[o][a])}function v(e,t,A){var n=A/e.blocksPerLine|0,r=A%e.blocksPerLine;t(e,e.blocks[n][r])}var m,b,w,S,F,R,D=n.length;R=c?0===i?0===a?function(e,t){var A=f(e.huffmanTableDC),n=0===A?0:B(A)<<s;e.pred+=n,t[0]=e.pred}:function(e,t){t[0]|=h()<<s}:0===a?function(e,t){if(p>0)p--;else for(var A=i,n=o;A<=n;){var r=f(e.huffmanTableAC),a=15&r,g=r>>4;if(0===a){if(g<15){p=d(g)+(1<<g)-1;break}A+=16}else{t[It[A+=g]]=B(a)*(1<<s),A++}}}:function(e,t){for(var A=i,n=o,r=0;A<=n;){var a=It[A],g=t[a]<0?-1:1;switch(Q){case 0:var c=f(e.huffmanTableAC),u=15&c;if(r=c>>4,0===u)r<15?(p=d(r)+(1<<r),Q=4):(r=16,Q=1);else{if(1!==u)throw new Error("invalid ACn encoding");E=B(u),Q=r?2:3}continue;case 1:case 2:t[a]?t[a]+=(h()<<s)*g:0===--r&&(Q=2===Q?3:0);break;case 3:t[a]?t[a]+=(h()<<s)*g:(t[a]=E<<s,Q=0);break;case 4:t[a]&&(t[a]+=(h()<<s)*g)}A++}4===Q&&0===--p&&(Q=0)}:function(e,t){var A=f(e.huffmanTableDC),n=0===A?0:B(A);e.pred+=n,t[0]=e.pred;for(var r=1;r<64;){var i=f(e.huffmanTableAC),o=15&i,a=i>>4;if(0===o){if(a<15)break;r+=16}else{t[It[r+=a]]=B(o),r++}}};var G,k,x=0;k=1===D?n[0].blocksPerLine*n[0].blocksPerColumn:g*A.mcusPerColumn;for(var N=r||k;x<k;){for(b=0;b<D;b++)n[b].pred=0;if(p=0,1===D)for(m=n[0],F=0;F<N;F++)v(m,R,x),x++;else for(F=0;F<N;F++){for(b=0;b<D;b++){var U=m=n[b],_=U.h,M=U.v;for(w=0;w<M;w++)for(S=0;S<_;S++)y(m,R,x,w,S)}if(++x===k)break}if(C=0,(G=e[l]<<8|e[l+1])<65280)throw new Error("marker was not found");if(!(G>=65488&&G<=65495))break;l+=2}return l-u}function ft(e,t){var A=[],n=t.blocksPerLine,r=t.blocksPerColumn,i=n<<3,o=new Int32Array(64),a=new Uint8Array(64);function s(e,A,n){var r,i,o,a,s,g,c,u,l,I,C=t.quantizationTable,h=n;for(I=0;I<64;I++)h[I]=e[I]*C[I];for(I=0;I<8;++I){var f=8*I;0!==h[1+f]||0!==h[2+f]||0!==h[3+f]||0!==h[4+f]||0!==h[5+f]||0!==h[6+f]||0!==h[7+f]?(r=5793*h[0+f]+128>>8,i=5793*h[4+f]+128>>8,o=h[2+f],a=h[6+f],s=2896*(h[1+f]-h[7+f])+128>>8,u=2896*(h[1+f]+h[7+f])+128>>8,g=h[3+f]<<4,l=r-i+1>>1,r=r+i+1>>1,i=l,l=3784*o+1567*a+128>>8,o=1567*o-3784*a+128>>8,a=l,l=s-(c=h[5+f]<<4)+1>>1,s=s+c+1>>1,c=l,l=u+g+1>>1,g=u-g+1>>1,u=l,l=r-a+1>>1,r=r+a+1>>1,a=l,l=i-o+1>>1,i=i+o+1>>1,o=l,l=2276*s+3406*u+2048>>12,s=3406*s-2276*u+2048>>12,u=l,l=799*g+4017*c+2048>>12,g=4017*g-799*c+2048>>12,c=l,h[0+f]=r+u,h[7+f]=r-u,h[1+f]=i+c,h[6+f]=i-c,h[2+f]=o+g,h[5+f]=o-g,h[3+f]=a+s,h[4+f]=a-s):(l=5793*h[0+f]+512>>10,h[0+f]=l,h[1+f]=l,h[2+f]=l,h[3+f]=l,h[4+f]=l,h[5+f]=l,h[6+f]=l,h[7+f]=l)}for(I=0;I<8;++I){var d=I;0!==h[8+d]||0!==h[16+d]||0!==h[24+d]||0!==h[32+d]||0!==h[40+d]||0!==h[48+d]||0!==h[56+d]?(r=5793*h[0+d]+2048>>12,i=5793*h[32+d]+2048>>12,o=h[16+d],a=h[48+d],s=2896*(h[8+d]-h[56+d])+2048>>12,u=2896*(h[8+d]+h[56+d])+2048>>12,g=h[24+d],l=r-i+1>>1,r=r+i+1>>1,i=l,l=3784*o+1567*a+2048>>12,o=1567*o-3784*a+2048>>12,a=l,l=s-(c=h[40+d])+1>>1,s=s+c+1>>1,c=l,l=u+g+1>>1,g=u-g+1>>1,u=l,l=r-a+1>>1,r=r+a+1>>1,a=l,l=i-o+1>>1,i=i+o+1>>1,o=l,l=2276*s+3406*u+2048>>12,s=3406*s-2276*u+2048>>12,u=l,l=799*g+4017*c+2048>>12,g=4017*g-799*c+2048>>12,c=l,h[0+d]=r+u,h[56+d]=r-u,h[8+d]=i+c,h[48+d]=i-c,h[16+d]=o+g,h[40+d]=o-g,h[24+d]=a+s,h[32+d]=a-s):(l=5793*n[I+0]+8192>>14,h[0+d]=l,h[8+d]=l,h[16+d]=l,h[24+d]=l,h[32+d]=l,h[40+d]=l,h[48+d]=l,h[56+d]=l)}for(I=0;I<64;++I){var B=128+(h[I]+8>>4);A[I]=B<0?0:B>255?255:B}}for(var g=0;g<r;g++){for(var c=g<<3,u=0;u<8;u++)A.push(new Uint8Array(i));for(var l=0;l<n;l++){s(t.blocks[g][l],a,o);for(var I=0,C=l<<3,h=0;h<8;h++)for(var f=A[c+h],d=0;d<8;d++)f[C+d]=a[I++]}}return A}var dt=function(){function e(){Object(u.a)(this,e),this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}return Object(l.a)(e,[{key:"resetFrames",value:function(){this.frames=[]}},{key:"parse",value:function(e){var t=0;function A(){var A=e[t]<<8|e[t+1];return t+=2,A}function n(){var n=A(),r=e.subarray(t,t+n-2);return t+=r.length,r}function r(e){var t,A,n=0,r=0;for(A in e.components)e.components.hasOwnProperty(A)&&(n<(t=e.components[A]).h&&(n=t.h),r<t.v&&(r=t.v));var i=Math.ceil(e.samplesPerLine/8/n),o=Math.ceil(e.scanLines/8/r);for(A in e.components)if(e.components.hasOwnProperty(A)){t=e.components[A];for(var a=Math.ceil(Math.ceil(e.samplesPerLine/8)*t.h/n),s=Math.ceil(Math.ceil(e.scanLines/8)*t.v/r),g=i*t.h,c=o*t.v,u=[],l=0;l<c;l++){for(var I=[],C=0;C<g;C++)I.push(new Int32Array(64));u.push(I)}t.blocksPerLine=a,t.blocksPerColumn=s,t.blocks=u}e.maxH=n,e.maxV=r,e.mcusPerLine=i,e.mcusPerColumn=o}var i=A();if(65496!==i)throw new Error("SOI not found");for(i=A();65497!==i;){switch(i){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var o=n();65504===i&&74===o[0]&&70===o[1]&&73===o[2]&&70===o[3]&&0===o[4]&&(this.jfif={version:{major:o[5],minor:o[6]},densityUnits:o[7],xDensity:o[8]<<8|o[9],yDensity:o[10]<<8|o[11],thumbWidth:o[12],thumbHeight:o[13],thumbData:o.subarray(14,14+3*o[12]*o[13])}),65518===i&&65===o[0]&&100===o[1]&&111===o[2]&&98===o[3]&&101===o[4]&&0===o[5]&&(this.adobe={version:o[6],flags0:o[7]<<8|o[8],flags1:o[9]<<8|o[10],transformCode:o[11]});break;case 65499:for(var a=A()+t-2;t<a;){var s=e[t++],g=new Int32Array(64);if(s>>4===0)for(var c=0;c<64;c++){g[It[c]]=e[t++]}else{if(s>>4!==1)throw new Error("DQT: invalid table spec");for(var u=0;u<64;u++){g[It[u]]=A()}}this.quantizationTables[15&s]=g}break;case 65472:case 65473:case 65474:A();for(var l={extended:65473===i,progressive:65474===i,precision:e[t++],scanLines:A(),samplesPerLine:A(),components:{},componentsOrder:[]},I=e[t++],C=void 0,h=0;h<I;h++){C=e[t];var f=e[t+1]>>4,d=15&e[t+1],B=e[t+2];l.componentsOrder.push(C),l.components[C]={h:f,v:d,quantizationIdx:B},t+=3}r(l),this.frames.push(l);break;case 65476:for(var p=A(),E=2;E<p;){for(var Q=e[t++],y=new Uint8Array(16),v=0,m=0;m<16;m++,t++)y[m]=e[t],v+=y[m];for(var b=new Uint8Array(v),w=0;w<v;w++,t++)b[w]=e[t];E+=17+v,Q>>4===0?this.huffmanTablesDC[15&Q]=Ct(y,b):this.huffmanTablesAC[15&Q]=Ct(y,b)}break;case 65501:A(),this.resetInterval=A();break;case 65498:A();for(var S=e[t++],F=[],R=this.frames[0],D=0;D<S;D++){var G=R.components[e[t++]],k=e[t++];G.huffmanTableDC=this.huffmanTablesDC[k>>4],G.huffmanTableAC=this.huffmanTablesAC[15&k],F.push(G)}var x=e[t++],N=e[t++],U=e[t++],_=ht(e,t,R,F,this.resetInterval,x,N,U>>4,15&U);t+=_;break;case 65535:255!==e[t]&&t--;break;default:if(255===e[t-3]&&e[t-2]>=192&&e[t-2]<=254){t-=3;break}throw new Error("unknown JPEG marker ".concat(i.toString(16)))}i=A()}}},{key:"getResult",value:function(){var e=this.frames;if(0===this.frames.length)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(var t=0;t<this.frames.length;t++)for(var A=this.frames[t].components,n=0,r=Object.keys(A);n<r.length;n++){var i=r[n];A[i].quantizationTable=this.quantizationTables[A[i].quantizationIdx],delete A[i].quantizationIdx}for(var o=e[0],a=o.components,s=o.componentsOrder,g=[],c=o.samplesPerLine,u=o.scanLines,l=0;l<s.length;l++){var I=a[s[l]];g.push({lines:ft(0,I),scaleX:I.h/o.maxH,scaleY:I.v/o.maxV})}for(var C=new Uint8Array(c*u*g.length),h=0,f=0;f<u;++f)for(var d=0;d<c;++d)for(var B=0;B<g.length;++B){var p=g[B];C[h]=p.lines[0|f*p.scaleY][0|d*p.scaleX],++h}return C}}]),e}(),Bt=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this)).reader=new dt,e.JPEGTables&&n.reader.parse(e.JPEGTables),n}return Object(l.a)(A,[{key:"decodeBlock",value:function(e){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(e)),this.reader.getResult().buffer}}]),A}(Xe);function pt(e){for(var t=e.length;--t>=0;)e[t]=0}var Et=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Qt=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),yt=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),vt=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),mt=new Array(576);pt(mt);var bt=new Array(60);pt(bt);var wt=new Array(512);pt(wt);var St=new Array(256);pt(St);var Ft=new Array(29);pt(Ft);var Rt,Dt,Gt,kt=new Array(30);function xt(e,t,A,n,r){this.static_tree=e,this.extra_bits=t,this.extra_base=A,this.elems=n,this.max_length=r,this.has_stree=e&&e.length}function Nt(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}pt(kt);var Ut=function(e){return e<256?wt[e]:wt[256+(e>>>7)]},_t=function(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},Mt=function(e,t,A){e.bi_valid>16-A?(e.bi_buf|=t<<e.bi_valid&65535,_t(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=A-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=A)},Ot=function(e,t,A){Mt(e,A[2*t],A[2*t+1])},Lt=function(e,t){var A=0;do{A|=1&e,e>>>=1,A<<=1}while(--t>0);return A>>>1},Tt=function(e,t,A){var n,r,i=new Array(16),o=0;for(n=1;n<=15;n++)i[n]=o=o+A[n-1]<<1;for(r=0;r<=t;r++){var a=e[2*r+1];0!==a&&(e[2*r]=Lt(i[a]++,a))}},Zt=function(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0},Ht=function(e){e.bi_valid>8?_t(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Yt=function(e,t,A,n){var r=2*t,i=2*A;return e[r]<e[i]||e[r]===e[i]&&n[t]<=n[A]},Jt=function(e,t,A){for(var n=e.heap[A],r=A<<1;r<=e.heap_len&&(r<e.heap_len&&Yt(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!Yt(t,n,e.heap[r],e.depth));)e.heap[A]=e.heap[r],A=r,r<<=1;e.heap[A]=n},jt=function(e,t,A){var n,r,i,o,a=0;if(0!==e.last_lit)do{n=e.pending_buf[e.d_buf+2*a]<<8|e.pending_buf[e.d_buf+2*a+1],r=e.pending_buf[e.l_buf+a],a++,0===n?Ot(e,r,t):(i=St[r],Ot(e,i+256+1,t),0!==(o=Et[i])&&(r-=Ft[i],Mt(e,r,o)),n--,i=Ut(n),Ot(e,i,A),0!==(o=Qt[i])&&(n-=kt[i],Mt(e,n,o)))}while(a<e.last_lit);Ot(e,256,t)},Pt=function(e,t){var A,n,r,i=t.dyn_tree,o=t.stat_desc.static_tree,a=t.stat_desc.has_stree,s=t.stat_desc.elems,g=-1;for(e.heap_len=0,e.heap_max=573,A=0;A<s;A++)0!==i[2*A]?(e.heap[++e.heap_len]=g=A,e.depth[A]=0):i[2*A+1]=0;for(;e.heap_len<2;)i[2*(r=e.heap[++e.heap_len]=g<2?++g:0)]=1,e.depth[r]=0,e.opt_len--,a&&(e.static_len-=o[2*r+1]);for(t.max_code=g,A=e.heap_len>>1;A>=1;A--)Jt(e,i,A);r=s;do{A=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Jt(e,i,1),n=e.heap[1],e.heap[--e.heap_max]=A,e.heap[--e.heap_max]=n,i[2*r]=i[2*A]+i[2*n],e.depth[r]=(e.depth[A]>=e.depth[n]?e.depth[A]:e.depth[n])+1,i[2*A+1]=i[2*n+1]=r,e.heap[1]=r++,Jt(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var A,n,r,i,o,a,s=t.dyn_tree,g=t.max_code,c=t.stat_desc.static_tree,u=t.stat_desc.has_stree,l=t.stat_desc.extra_bits,I=t.stat_desc.extra_base,C=t.stat_desc.max_length,h=0;for(i=0;i<=15;i++)e.bl_count[i]=0;for(s[2*e.heap[e.heap_max]+1]=0,A=e.heap_max+1;A<573;A++)(i=s[2*s[2*(n=e.heap[A])+1]+1]+1)>C&&(i=C,h++),s[2*n+1]=i,n>g||(e.bl_count[i]++,o=0,n>=I&&(o=l[n-I]),a=s[2*n],e.opt_len+=a*(i+o),u&&(e.static_len+=a*(c[2*n+1]+o)));if(0!==h){do{for(i=C-1;0===e.bl_count[i];)i--;e.bl_count[i]--,e.bl_count[i+1]+=2,e.bl_count[C]--,h-=2}while(h>0);for(i=C;0!==i;i--)for(n=e.bl_count[i];0!==n;)(r=e.heap[--A])>g||(s[2*r+1]!==i&&(e.opt_len+=(i-s[2*r+1])*s[2*r],s[2*r+1]=i),n--)}}(e,t),Tt(i,g,e.bl_count)},Vt=function(e,t,A){var n,r,i=-1,o=t[1],a=0,s=7,g=4;for(0===o&&(s=138,g=3),t[2*(A+1)+1]=65535,n=0;n<=A;n++)r=o,o=t[2*(n+1)+1],++a<s&&r===o||(a<g?e.bl_tree[2*r]+=a:0!==r?(r!==i&&e.bl_tree[2*r]++,e.bl_tree[32]++):a<=10?e.bl_tree[34]++:e.bl_tree[36]++,a=0,i=r,0===o?(s=138,g=3):r===o?(s=6,g=3):(s=7,g=4))},Kt=function(e,t,A){var n,r,i=-1,o=t[1],a=0,s=7,g=4;for(0===o&&(s=138,g=3),n=0;n<=A;n++)if(r=o,o=t[2*(n+1)+1],!(++a<s&&r===o)){if(a<g)do{Ot(e,r,e.bl_tree)}while(0!==--a);else 0!==r?(r!==i&&(Ot(e,r,e.bl_tree),a--),Ot(e,16,e.bl_tree),Mt(e,a-3,2)):a<=10?(Ot(e,17,e.bl_tree),Mt(e,a-3,3)):(Ot(e,18,e.bl_tree),Mt(e,a-11,7));a=0,i=r,0===o?(s=138,g=3):r===o?(s=6,g=3):(s=7,g=4)}},Wt=!1,Xt=function(e,t,A,n){Mt(e,0+(n?1:0),3),function(e,t,A,n){Ht(e),n&&(_t(e,A),_t(e,~A)),e.pending_buf.set(e.window.subarray(t,t+A),e.pending),e.pending+=A}(e,t,A,!0)},qt={_tr_init:function(e){Wt||(!function(){var e,t,A,n,r,i=new Array(16);for(A=0,n=0;n<28;n++)for(Ft[n]=A,e=0;e<1<<Et[n];e++)St[A++]=n;for(St[A-1]=n,r=0,n=0;n<16;n++)for(kt[n]=r,e=0;e<1<<Qt[n];e++)wt[r++]=n;for(r>>=7;n<30;n++)for(kt[n]=r<<7,e=0;e<1<<Qt[n]-7;e++)wt[256+r++]=n;for(t=0;t<=15;t++)i[t]=0;for(e=0;e<=143;)mt[2*e+1]=8,e++,i[8]++;for(;e<=255;)mt[2*e+1]=9,e++,i[9]++;for(;e<=279;)mt[2*e+1]=7,e++,i[7]++;for(;e<=287;)mt[2*e+1]=8,e++,i[8]++;for(Tt(mt,287,i),e=0;e<30;e++)bt[2*e+1]=5,bt[2*e]=Lt(e,5);Rt=new xt(mt,Et,257,286,15),Dt=new xt(bt,Qt,0,30,15),Gt=new xt(new Array(0),yt,0,19,7)}(),Wt=!0),e.l_desc=new Nt(e.dyn_ltree,Rt),e.d_desc=new Nt(e.dyn_dtree,Dt),e.bl_desc=new Nt(e.bl_tree,Gt),e.bi_buf=0,e.bi_valid=0,Zt(e)},_tr_stored_block:Xt,_tr_flush_block:function(e,t,A,n){var r,i,o=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,A=4093624447;for(t=0;t<=31;t++,A>>>=1)if(1&A&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),Pt(e,e.l_desc),Pt(e,e.d_desc),o=function(e){var t;for(Vt(e,e.dyn_ltree,e.l_desc.max_code),Vt(e,e.dyn_dtree,e.d_desc.max_code),Pt(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*vt[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),r=e.opt_len+3+7>>>3,(i=e.static_len+3+7>>>3)<=r&&(r=i)):r=i=A+5,A+4<=r&&-1!==t?Xt(e,t,A,n):4===e.strategy||i===r?(Mt(e,2+(n?1:0),3),jt(e,mt,bt)):(Mt(e,4+(n?1:0),3),function(e,t,A,n){var r;for(Mt(e,t-257,5),Mt(e,A-1,5),Mt(e,n-4,4),r=0;r<n;r++)Mt(e,e.bl_tree[2*vt[r]+1],3);Kt(e,e.dyn_ltree,t-1),Kt(e,e.dyn_dtree,A-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),jt(e,e.dyn_ltree,e.dyn_dtree)),Zt(e),n&&Ht(e)},_tr_tally:function(e,t,A){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&A,e.last_lit++,0===t?e.dyn_ltree[2*A]++:(e.matches++,t--,e.dyn_ltree[2*(St[A]+256+1)]++,e.dyn_dtree[2*Ut(t)]++),e.last_lit===e.lit_bufsize-1},_tr_align:function(e){Mt(e,2,3),Ot(e,256,mt),function(e){16===e.bi_valid?(_t(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},zt=function(e,t,A,n){for(var r=65535&e|0,i=e>>>16&65535|0,o=0;0!==A;){A-=o=A>2e3?2e3:A;do{i=i+(r=r+t[n++]|0)|0}while(--o);r%=65521,i%=65521}return r|i<<16|0},$t=new Uint32Array(function(){for(var e,t=[],A=0;A<256;A++){e=A;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[A]=e}return t}()),eA=function(e,t,A,n){var r=$t,i=n+A;e^=-1;for(var o=n;o<i;o++)e=e>>>8^r[255&(e^t[o])];return-1^e},tA={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},AA={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},nA=qt._tr_init,rA=qt._tr_stored_block,iA=qt._tr_flush_block,oA=qt._tr_tally,aA=qt._tr_align,sA=AA.Z_NO_FLUSH,gA=AA.Z_PARTIAL_FLUSH,cA=AA.Z_FULL_FLUSH,uA=AA.Z_FINISH,lA=AA.Z_BLOCK,IA=AA.Z_OK,CA=AA.Z_STREAM_END,hA=AA.Z_STREAM_ERROR,fA=AA.Z_DATA_ERROR,dA=AA.Z_BUF_ERROR,BA=AA.Z_DEFAULT_COMPRESSION,pA=AA.Z_FILTERED,EA=AA.Z_HUFFMAN_ONLY,QA=AA.Z_RLE,yA=AA.Z_FIXED,vA=AA.Z_DEFAULT_STRATEGY,mA=AA.Z_UNKNOWN,bA=AA.Z_DEFLATED,wA=function(e,t){return e.msg=tA[t],t},SA=function(e){return(e<<1)-(e>4?9:0)},FA=function(e){for(var t=e.length;--t>=0;)e[t]=0},RA=function(e,t,A){return(t<<e.hash_shift^A)&e.hash_mask},DA=function(e){var t=e.state,A=t.pending;A>e.avail_out&&(A=e.avail_out),0!==A&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+A),e.next_out),e.next_out+=A,t.pending_out+=A,e.total_out+=A,e.avail_out-=A,t.pending-=A,0===t.pending&&(t.pending_out=0))},GA=function(e,t){iA(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,DA(e.strm)},kA=function(e,t){e.pending_buf[e.pending++]=t},xA=function(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},NA=function(e,t,A,n){var r=e.avail_in;return r>n&&(r=n),0===r?0:(e.avail_in-=r,t.set(e.input.subarray(e.next_in,e.next_in+r),A),1===e.state.wrap?e.adler=zt(e.adler,t,r,A):2===e.state.wrap&&(e.adler=eA(e.adler,t,r,A)),e.next_in+=r,e.total_in+=r,r)},UA=function(e,t){var A,n,r=e.max_chain_length,i=e.strstart,o=e.prev_length,a=e.nice_match,s=e.strstart>e.w_size-262?e.strstart-(e.w_size-262):0,g=e.window,c=e.w_mask,u=e.prev,l=e.strstart+258,I=g[i+o-1],C=g[i+o];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do{if(g[(A=t)+o]===C&&g[A+o-1]===I&&g[A]===g[i]&&g[++A]===g[i+1]){i+=2,A++;do{}while(g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&i<l);if(n=258-(l-i),i=l-258,n>o){if(e.match_start=t,o=n,n>=a)break;I=g[i+o-1],C=g[i+o]}}}while((t=u[t&c])>s&&0!==--r);return o<=e.lookahead?o:e.lookahead},_A=function(e){var t,A,n,r,i,o=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=o+(o-262)){e.window.set(e.window.subarray(o,o+o),0),e.match_start-=o,e.strstart-=o,e.block_start-=o,t=A=e.hash_size;do{n=e.head[--t],e.head[t]=n>=o?n-o:0}while(--A);t=A=o;do{n=e.prev[--t],e.prev[t]=n>=o?n-o:0}while(--A);r+=o}if(0===e.strm.avail_in)break;if(A=NA(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=A,e.lookahead+e.insert>=3)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=RA(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=RA(e,e.ins_h,e.window[i+3-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<262&&0!==e.strm.avail_in)},MA=function(e,t){for(var A,n;;){if(e.lookahead<262){if(_A(e),e.lookahead<262&&t===sA)return 1;if(0===e.lookahead)break}if(A=0,e.lookahead>=3&&(e.ins_h=RA(e,e.ins_h,e.window[e.strstart+3-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==A&&e.strstart-A<=e.w_size-262&&(e.match_length=UA(e,A)),e.match_length>=3)if(n=oA(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=RA(e,e.ins_h,e.window[e.strstart+3-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!==--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=RA(e,e.ins_h,e.window[e.strstart+1]);else n=oA(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(GA(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===uA?(GA(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(GA(e,!1),0===e.strm.avail_out)?1:2},OA=function(e,t){for(var A,n,r;;){if(e.lookahead<262){if(_A(e),e.lookahead<262&&t===sA)return 1;if(0===e.lookahead)break}if(A=0,e.lookahead>=3&&(e.ins_h=RA(e,e.ins_h,e.window[e.strstart+3-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==A&&e.prev_length<e.max_lazy_match&&e.strstart-A<=e.w_size-262&&(e.match_length=UA(e,A),e.match_length<=5&&(e.strategy===pA||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-3,n=oA(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=r&&(e.ins_h=RA(e,e.ins_h,e.window[e.strstart+3-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!==--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,n&&(GA(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((n=oA(e,0,e.window[e.strstart-1]))&&GA(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=oA(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===uA?(GA(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(GA(e,!1),0===e.strm.avail_out)?1:2};function LA(e,t,A,n,r){this.good_length=e,this.max_lazy=t,this.nice_length=A,this.max_chain=n,this.func=r}var TA=[new LA(0,0,0,0,(function(e,t){var A=65535;for(A>e.pending_buf_size-5&&(A=e.pending_buf_size-5);;){if(e.lookahead<=1){if(_A(e),0===e.lookahead&&t===sA)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+A;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,GA(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-262&&(GA(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===uA?(GA(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(GA(e,!1),e.strm.avail_out),1)})),new LA(4,4,8,4,MA),new LA(4,5,16,8,MA),new LA(4,6,32,32,MA),new LA(4,4,16,16,OA),new LA(8,16,32,32,OA),new LA(8,16,128,128,OA),new LA(8,32,128,256,OA),new LA(32,128,258,1024,OA),new LA(32,258,258,4096,OA)];function ZA(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=bA,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),FA(this.dyn_ltree),FA(this.dyn_dtree),FA(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),FA(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),FA(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var HA=function(e){if(!e||!e.state)return wA(e,hA);e.total_in=e.total_out=0,e.data_type=mA;var t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:113,e.adler=2===t.wrap?0:1,t.last_flush=sA,nA(t),IA},YA=function(e){var t,A=HA(e);return A===IA&&((t=e.state).window_size=2*t.w_size,FA(t.head),t.max_lazy_match=TA[t.level].max_lazy,t.good_match=TA[t.level].good_length,t.nice_match=TA[t.level].nice_length,t.max_chain_length=TA[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),A},JA=function(e,t,A,n,r,i){if(!e)return hA;var o=1;if(t===BA&&(t=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),r<1||r>9||A!==bA||n<8||n>15||t<0||t>9||i<0||i>yA)return wA(e,hA);8===n&&(n=9);var a=new ZA;return e.state=a,a.strm=e,a.wrap=o,a.gzhead=null,a.w_bits=n,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=r+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<r+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=3*a.lit_bufsize,a.level=t,a.strategy=i,a.method=A,YA(e)},jA={deflateInit:function(e,t){return JA(e,t,bA,15,8,vA)},deflateInit2:JA,deflateReset:YA,deflateResetKeep:HA,deflateSetHeader:function(e,t){return e&&e.state?2!==e.state.wrap?hA:(e.state.gzhead=t,IA):hA},deflate:function(e,t){var A,n;if(!e||!e.state||t>lA||t<0)return e?wA(e,hA):hA;var r=e.state;if(!e.output||!e.input&&0!==e.avail_in||666===r.status&&t!==uA)return wA(e,0===e.avail_out?dA:hA);r.strm=e;var i=r.last_flush;if(r.last_flush=t,42===r.status)if(2===r.wrap)e.adler=0,kA(r,31),kA(r,139),kA(r,8),r.gzhead?(kA(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),kA(r,255&r.gzhead.time),kA(r,r.gzhead.time>>8&255),kA(r,r.gzhead.time>>16&255),kA(r,r.gzhead.time>>24&255),kA(r,9===r.level?2:r.strategy>=EA||r.level<2?4:0),kA(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(kA(r,255&r.gzhead.extra.length),kA(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=eA(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(kA(r,0),kA(r,0),kA(r,0),kA(r,0),kA(r,0),kA(r,9===r.level?2:r.strategy>=EA||r.level<2?4:0),kA(r,3),r.status=113);else{var o=bA+(r.w_bits-8<<4)<<8;o|=(r.strategy>=EA||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(o|=32),o+=31-o%31,r.status=113,xA(r,o),0!==r.strstart&&(xA(r,e.adler>>>16),xA(r,65535&e.adler)),e.adler=1}if(69===r.status)if(r.gzhead.extra){for(A=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>A&&(e.adler=eA(e.adler,r.pending_buf,r.pending-A,A)),DA(e),A=r.pending,r.pending!==r.pending_buf_size));)kA(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>A&&(e.adler=eA(e.adler,r.pending_buf,r.pending-A,A)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){A=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>A&&(e.adler=eA(e.adler,r.pending_buf,r.pending-A,A)),DA(e),A=r.pending,r.pending===r.pending_buf_size)){n=1;break}n=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,kA(r,n)}while(0!==n);r.gzhead.hcrc&&r.pending>A&&(e.adler=eA(e.adler,r.pending_buf,r.pending-A,A)),0===n&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){A=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>A&&(e.adler=eA(e.adler,r.pending_buf,r.pending-A,A)),DA(e),A=r.pending,r.pending===r.pending_buf_size)){n=1;break}n=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,kA(r,n)}while(0!==n);r.gzhead.hcrc&&r.pending>A&&(e.adler=eA(e.adler,r.pending_buf,r.pending-A,A)),0===n&&(r.status=103)}else r.status=103;if(103===r.status&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&DA(e),r.pending+2<=r.pending_buf_size&&(kA(r,255&e.adler),kA(r,e.adler>>8&255),e.adler=0,r.status=113)):r.status=113),0!==r.pending){if(DA(e),0===e.avail_out)return r.last_flush=-1,IA}else if(0===e.avail_in&&SA(t)<=SA(i)&&t!==uA)return wA(e,dA);if(666===r.status&&0!==e.avail_in)return wA(e,dA);if(0!==e.avail_in||0!==r.lookahead||t!==sA&&666!==r.status){var a=r.strategy===EA?function(e,t){for(var A;;){if(0===e.lookahead&&(_A(e),0===e.lookahead)){if(t===sA)return 1;break}if(e.match_length=0,A=oA(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,A&&(GA(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===uA?(GA(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(GA(e,!1),0===e.strm.avail_out)?1:2}(r,t):r.strategy===QA?function(e,t){for(var A,n,r,i,o=e.window;;){if(e.lookahead<=258){if(_A(e),e.lookahead<=258&&t===sA)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(n=o[r=e.strstart-1])===o[++r]&&n===o[++r]&&n===o[++r]){i=e.strstart+258;do{}while(n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&r<i);e.match_length=258-(i-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(A=oA(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(A=oA(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),A&&(GA(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===uA?(GA(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(GA(e,!1),0===e.strm.avail_out)?1:2}(r,t):TA[r.level].func(r,t);if(3!==a&&4!==a||(r.status=666),1===a||3===a)return 0===e.avail_out&&(r.last_flush=-1),IA;if(2===a&&(t===gA?aA(r):t!==lA&&(rA(r,0,0,!1),t===cA&&(FA(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),DA(e),0===e.avail_out))return r.last_flush=-1,IA}return t!==uA?IA:r.wrap<=0?CA:(2===r.wrap?(kA(r,255&e.adler),kA(r,e.adler>>8&255),kA(r,e.adler>>16&255),kA(r,e.adler>>24&255),kA(r,255&e.total_in),kA(r,e.total_in>>8&255),kA(r,e.total_in>>16&255),kA(r,e.total_in>>24&255)):(xA(r,e.adler>>>16),xA(r,65535&e.adler)),DA(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?IA:CA)},deflateEnd:function(e){if(!e||!e.state)return hA;var t=e.state.status;return 42!==t&&69!==t&&73!==t&&91!==t&&103!==t&&113!==t&&666!==t?wA(e,hA):(e.state=null,113===t?wA(e,fA):IA)},deflateSetDictionary:function(e,t){var A=t.length;if(!e||!e.state)return hA;var n=e.state,r=n.wrap;if(2===r||1===r&&42!==n.status||n.lookahead)return hA;if(1===r&&(e.adler=zt(e.adler,t,A,0)),n.wrap=0,A>=n.w_size){0===r&&(FA(n.head),n.strstart=0,n.block_start=0,n.insert=0);var i=new Uint8Array(n.w_size);i.set(t.subarray(A-n.w_size,A),0),t=i,A=n.w_size}var o=e.avail_in,a=e.next_in,s=e.input;for(e.avail_in=A,e.next_in=0,e.input=t,_A(n);n.lookahead>=3;){var g=n.strstart,c=n.lookahead-2;do{n.ins_h=RA(n,n.ins_h,n.window[g+3-1]),n.prev[g&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=g,g++}while(--c);n.strstart=g,n.lookahead=2,_A(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,e.next_in=a,e.input=s,e.avail_in=o,n.wrap=r,IA},deflateInfo:"pako deflate (from Nodeca project)"},PA=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},VA=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var A=t.shift();if(A){if("object"!==typeof A)throw new TypeError(A+"must be non-object");for(var n in A)PA(A,n)&&(e[n]=A[n])}}return e},KA=function(e){for(var t=0,A=0,n=e.length;A<n;A++)t+=e[A].length;for(var r=new Uint8Array(t),i=0,o=0,a=e.length;i<a;i++){var s=e[i];r.set(s,o),o+=s.length}return r},WA=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(aa){WA=!1}for(var XA=new Uint8Array(256),qA=0;qA<256;qA++)XA[qA]=qA>=252?6:qA>=248?5:qA>=240?4:qA>=224?3:qA>=192?2:1;XA[254]=XA[254]=1;var zA=function(e){if("function"===typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);var t,A,n,r,i,o=e.length,a=0;for(r=0;r<o;r++)55296===(64512&(A=e.charCodeAt(r)))&&r+1<o&&56320===(64512&(n=e.charCodeAt(r+1)))&&(A=65536+(A-55296<<10)+(n-56320),r++),a+=A<128?1:A<2048?2:A<65536?3:4;for(t=new Uint8Array(a),i=0,r=0;i<a;r++)55296===(64512&(A=e.charCodeAt(r)))&&r+1<o&&56320===(64512&(n=e.charCodeAt(r+1)))&&(A=65536+(A-55296<<10)+(n-56320),r++),A<128?t[i++]=A:A<2048?(t[i++]=192|A>>>6,t[i++]=128|63&A):A<65536?(t[i++]=224|A>>>12,t[i++]=128|A>>>6&63,t[i++]=128|63&A):(t[i++]=240|A>>>18,t[i++]=128|A>>>12&63,t[i++]=128|A>>>6&63,t[i++]=128|63&A);return t},$A=function(e,t){var A,n,r=t||e.length;if("function"===typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));var i=new Array(2*r);for(n=0,A=0;A<r;){var o=e[A++];if(o<128)i[n++]=o;else{var a=XA[o];if(a>4)i[n++]=65533,A+=a-1;else{for(o&=2===a?31:3===a?15:7;a>1&&A<r;)o=o<<6|63&e[A++],a--;a>1?i[n++]=65533:o<65536?i[n++]=o:(o-=65536,i[n++]=55296|o>>10&1023,i[n++]=56320|1023&o)}}}return function(e,t){if(t<65534&&e.subarray&&WA)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));for(var A="",n=0;n<t;n++)A+=String.fromCharCode(e[n]);return A}(i,n)},en=function(e,t){(t=t||e.length)>e.length&&(t=e.length);for(var A=t-1;A>=0&&128===(192&e[A]);)A--;return A<0||0===A?t:A+XA[e[A]]>t?A:t};var tn=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},An=Object.prototype.toString,nn=AA.Z_NO_FLUSH,rn=AA.Z_SYNC_FLUSH,on=AA.Z_FULL_FLUSH,an=AA.Z_FINISH,sn=AA.Z_OK,gn=AA.Z_STREAM_END,cn=AA.Z_DEFAULT_COMPRESSION,un=AA.Z_DEFAULT_STRATEGY,ln=AA.Z_DEFLATED;function In(e){this.options=VA({level:cn,method:ln,chunkSize:16384,windowBits:15,memLevel:8,strategy:un},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new tn,this.strm.avail_out=0;var A=jA.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(A!==sn)throw new Error(tA[A]);if(t.header&&jA.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"===typeof t.dictionary?zA(t.dictionary):"[object ArrayBuffer]"===An.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(A=jA.deflateSetDictionary(this.strm,n))!==sn)throw new Error(tA[A]);this._dict_set=!0}}In.prototype.push=function(e,t){var A,n,r=this.strm,i=this.options.chunkSize;if(this.ended)return!1;for(n=t===~~t?t:!0===t?an:nn,"string"===typeof e?r.input=zA(e):"[object ArrayBuffer]"===An.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),(n===rn||n===on)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if((A=jA.deflate(r,n))===gn)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),A=jA.deflateEnd(this.strm),this.onEnd(A),this.ended=!0,A===sn;if(0!==r.avail_out){if(n>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},In.prototype.onData=function(e){this.chunks.push(e)},In.prototype.onEnd=function(e){e===sn&&(this.result=KA(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var Cn=function(e,t){var A,n,r,i,o,a,s,g,c,u,l,I,C,h,f,d,B,p,E,Q,y,v,m,b,w=e.state;A=e.next_in,m=e.input,n=A+(e.avail_in-5),r=e.next_out,b=e.output,i=r-(t-e.avail_out),o=r+(e.avail_out-257),a=w.dmax,s=w.wsize,g=w.whave,c=w.wnext,u=w.window,l=w.hold,I=w.bits,C=w.lencode,h=w.distcode,f=(1<<w.lenbits)-1,d=(1<<w.distbits)-1;e:do{I<15&&(l+=m[A++]<<I,I+=8,l+=m[A++]<<I,I+=8),B=C[l&f];t:for(;;){if(l>>>=p=B>>>24,I-=p,0===(p=B>>>16&255))b[r++]=65535&B;else{if(!(16&p)){if(0===(64&p)){B=C[(65535&B)+(l&(1<<p)-1)];continue t}if(32&p){w.mode=12;break e}e.msg="invalid literal/length code",w.mode=30;break e}E=65535&B,(p&=15)&&(I<p&&(l+=m[A++]<<I,I+=8),E+=l&(1<<p)-1,l>>>=p,I-=p),I<15&&(l+=m[A++]<<I,I+=8,l+=m[A++]<<I,I+=8),B=h[l&d];A:for(;;){if(l>>>=p=B>>>24,I-=p,!(16&(p=B>>>16&255))){if(0===(64&p)){B=h[(65535&B)+(l&(1<<p)-1)];continue A}e.msg="invalid distance code",w.mode=30;break e}if(Q=65535&B,I<(p&=15)&&(l+=m[A++]<<I,(I+=8)<p&&(l+=m[A++]<<I,I+=8)),(Q+=l&(1<<p)-1)>a){e.msg="invalid distance too far back",w.mode=30;break e}if(l>>>=p,I-=p,Q>(p=r-i)){if((p=Q-p)>g&&w.sane){e.msg="invalid distance too far back",w.mode=30;break e}if(y=0,v=u,0===c){if(y+=s-p,p<E){E-=p;do{b[r++]=u[y++]}while(--p);y=r-Q,v=b}}else if(c<p){if(y+=s+c-p,(p-=c)<E){E-=p;do{b[r++]=u[y++]}while(--p);if(y=0,c<E){E-=p=c;do{b[r++]=u[y++]}while(--p);y=r-Q,v=b}}}else if(y+=c-p,p<E){E-=p;do{b[r++]=u[y++]}while(--p);y=r-Q,v=b}for(;E>2;)b[r++]=v[y++],b[r++]=v[y++],b[r++]=v[y++],E-=3;E&&(b[r++]=v[y++],E>1&&(b[r++]=v[y++]))}else{y=r-Q;do{b[r++]=b[y++],b[r++]=b[y++],b[r++]=b[y++],E-=3}while(E>2);E&&(b[r++]=b[y++],E>1&&(b[r++]=b[y++]))}break}}break}}while(A<n&&r<o);A-=E=I>>3,l&=(1<<(I-=E<<3))-1,e.next_in=A,e.next_out=r,e.avail_in=A<n?n-A+5:5-(A-n),e.avail_out=r<o?o-r+257:257-(r-o),w.hold=l,w.bits=I},hn=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),fn=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),dn=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Bn=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),pn=function(e,t,A,n,r,i,o,a){var s,g,c,u,l,I,C,h,f,d=a.bits,B=0,p=0,E=0,Q=0,y=0,v=0,m=0,b=0,w=0,S=0,F=null,R=0,D=new Uint16Array(16),G=new Uint16Array(16),k=null,x=0;for(B=0;B<=15;B++)D[B]=0;for(p=0;p<n;p++)D[t[A+p]]++;for(y=d,Q=15;Q>=1&&0===D[Q];Q--);if(y>Q&&(y=Q),0===Q)return r[i++]=20971520,r[i++]=20971520,a.bits=1,0;for(E=1;E<Q&&0===D[E];E++);for(y<E&&(y=E),b=1,B=1;B<=15;B++)if(b<<=1,(b-=D[B])<0)return-1;if(b>0&&(0===e||1!==Q))return-1;for(G[1]=0,B=1;B<15;B++)G[B+1]=G[B]+D[B];for(p=0;p<n;p++)0!==t[A+p]&&(o[G[t[A+p]]++]=p);if(0===e?(F=k=o,I=19):1===e?(F=hn,R-=257,k=fn,x-=257,I=256):(F=dn,k=Bn,I=-1),S=0,p=0,B=E,l=i,v=y,m=0,c=-1,u=(w=1<<y)-1,1===e&&w>852||2===e&&w>592)return 1;for(;;){C=B-m,o[p]<I?(h=0,f=o[p]):o[p]>I?(h=k[x+o[p]],f=F[R+o[p]]):(h=96,f=0),s=1<<B-m,E=g=1<<v;do{r[l+(S>>m)+(g-=s)]=C<<24|h<<16|f|0}while(0!==g);for(s=1<<B-1;S&s;)s>>=1;if(0!==s?(S&=s-1,S+=s):S=0,p++,0===--D[B]){if(B===Q)break;B=t[A+o[p]]}if(B>y&&(S&u)!==c){for(0===m&&(m=y),l+=E,b=1<<(v=B-m);v+m<Q&&!((b-=D[v+m])<=0);)v++,b<<=1;if(w+=1<<v,1===e&&w>852||2===e&&w>592)return 1;r[c=S&u]=y<<24|v<<16|l-i|0}}return 0!==S&&(r[l+S]=B-m<<24|64<<16|0),a.bits=y,0},En=AA.Z_FINISH,Qn=AA.Z_BLOCK,yn=AA.Z_TREES,vn=AA.Z_OK,mn=AA.Z_STREAM_END,bn=AA.Z_NEED_DICT,wn=AA.Z_STREAM_ERROR,Sn=AA.Z_DATA_ERROR,Fn=AA.Z_MEM_ERROR,Rn=AA.Z_BUF_ERROR,Dn=AA.Z_DEFLATED,Gn=function(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)};function kn(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var xn,Nn,Un=function(e){if(!e||!e.state)return wn;var t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,vn},_n=function(e){if(!e||!e.state)return wn;var t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Un(e)},Mn=function(e,t){var A;if(!e||!e.state)return wn;var n=e.state;return t<0?(A=0,t=-t):(A=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?wn:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=A,n.wbits=t,_n(e))},On=function(e,t){if(!e)return wn;var A=new kn;e.state=A,A.window=null;var n=Mn(e,t);return n!==vn&&(e.state=null),n},Ln=!0,Tn=function(e){if(Ln){xn=new Int32Array(512),Nn=new Int32Array(32);for(var t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(pn(1,e.lens,0,288,xn,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;pn(2,e.lens,0,32,Nn,0,e.work,{bits:5}),Ln=!1}e.lencode=xn,e.lenbits=9,e.distcode=Nn,e.distbits=5},Zn=function(e,t,A,n){var r,i=e.state;return null===i.window&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new Uint8Array(i.wsize)),n>=i.wsize?(i.window.set(t.subarray(A-i.wsize,A),0),i.wnext=0,i.whave=i.wsize):((r=i.wsize-i.wnext)>n&&(r=n),i.window.set(t.subarray(A-n,A-n+r),i.wnext),(n-=r)?(i.window.set(t.subarray(A-n,A),0),i.wnext=n,i.whave=i.wsize):(i.wnext+=r,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=r))),0},Hn={inflateReset:_n,inflateReset2:Mn,inflateResetKeep:Un,inflateInit:function(e){return On(e,15)},inflateInit2:On,inflate:function(e,t){var A,n,r,i,o,a,s,g,c,u,l,I,C,h,f,d,B,p,E,Q,y,v,m,b,w=0,S=new Uint8Array(4),F=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return wn;12===(A=e.state).mode&&(A.mode=13),o=e.next_out,r=e.output,s=e.avail_out,i=e.next_in,n=e.input,a=e.avail_in,g=A.hold,c=A.bits,u=a,l=s,v=vn;e:for(;;)switch(A.mode){case 1:if(0===A.wrap){A.mode=13;break}for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(2&A.wrap&&35615===g){A.check=0,S[0]=255&g,S[1]=g>>>8&255,A.check=eA(A.check,S,2,0),g=0,c=0,A.mode=2;break}if(A.flags=0,A.head&&(A.head.done=!1),!(1&A.wrap)||(((255&g)<<8)+(g>>8))%31){e.msg="incorrect header check",A.mode=30;break}if((15&g)!==Dn){e.msg="unknown compression method",A.mode=30;break}if(c-=4,y=8+(15&(g>>>=4)),0===A.wbits)A.wbits=y;else if(y>A.wbits){e.msg="invalid window size",A.mode=30;break}A.dmax=1<<A.wbits,e.adler=A.check=1,A.mode=512&g?10:12,g=0,c=0;break;case 2:for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(A.flags=g,(255&A.flags)!==Dn){e.msg="unknown compression method",A.mode=30;break}if(57344&A.flags){e.msg="unknown header flags set",A.mode=30;break}A.head&&(A.head.text=g>>8&1),512&A.flags&&(S[0]=255&g,S[1]=g>>>8&255,A.check=eA(A.check,S,2,0)),g=0,c=0,A.mode=3;case 3:for(;c<32;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.head&&(A.head.time=g),512&A.flags&&(S[0]=255&g,S[1]=g>>>8&255,S[2]=g>>>16&255,S[3]=g>>>24&255,A.check=eA(A.check,S,4,0)),g=0,c=0,A.mode=4;case 4:for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.head&&(A.head.xflags=255&g,A.head.os=g>>8),512&A.flags&&(S[0]=255&g,S[1]=g>>>8&255,A.check=eA(A.check,S,2,0)),g=0,c=0,A.mode=5;case 5:if(1024&A.flags){for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.length=g,A.head&&(A.head.extra_len=g),512&A.flags&&(S[0]=255&g,S[1]=g>>>8&255,A.check=eA(A.check,S,2,0)),g=0,c=0}else A.head&&(A.head.extra=null);A.mode=6;case 6:if(1024&A.flags&&((I=A.length)>a&&(I=a),I&&(A.head&&(y=A.head.extra_len-A.length,A.head.extra||(A.head.extra=new Uint8Array(A.head.extra_len)),A.head.extra.set(n.subarray(i,i+I),y)),512&A.flags&&(A.check=eA(A.check,n,I,i)),a-=I,i+=I,A.length-=I),A.length))break e;A.length=0,A.mode=7;case 7:if(2048&A.flags){if(0===a)break e;I=0;do{y=n[i+I++],A.head&&y&&A.length<65536&&(A.head.name+=String.fromCharCode(y))}while(y&&I<a);if(512&A.flags&&(A.check=eA(A.check,n,I,i)),a-=I,i+=I,y)break e}else A.head&&(A.head.name=null);A.length=0,A.mode=8;case 8:if(4096&A.flags){if(0===a)break e;I=0;do{y=n[i+I++],A.head&&y&&A.length<65536&&(A.head.comment+=String.fromCharCode(y))}while(y&&I<a);if(512&A.flags&&(A.check=eA(A.check,n,I,i)),a-=I,i+=I,y)break e}else A.head&&(A.head.comment=null);A.mode=9;case 9:if(512&A.flags){for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(g!==(65535&A.check)){e.msg="header crc mismatch",A.mode=30;break}g=0,c=0}A.head&&(A.head.hcrc=A.flags>>9&1,A.head.done=!0),e.adler=A.check=0,A.mode=12;break;case 10:for(;c<32;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}e.adler=A.check=Gn(g),g=0,c=0,A.mode=11;case 11:if(0===A.havedict)return e.next_out=o,e.avail_out=s,e.next_in=i,e.avail_in=a,A.hold=g,A.bits=c,bn;e.adler=A.check=1,A.mode=12;case 12:if(t===Qn||t===yn)break e;case 13:if(A.last){g>>>=7&c,c-=7&c,A.mode=27;break}for(;c<3;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}switch(A.last=1&g,c-=1,3&(g>>>=1)){case 0:A.mode=14;break;case 1:if(Tn(A),A.mode=20,t===yn){g>>>=2,c-=2;break e}break;case 2:A.mode=17;break;case 3:e.msg="invalid block type",A.mode=30}g>>>=2,c-=2;break;case 14:for(g>>>=7&c,c-=7&c;c<32;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if((65535&g)!==(g>>>16^65535)){e.msg="invalid stored block lengths",A.mode=30;break}if(A.length=65535&g,g=0,c=0,A.mode=15,t===yn)break e;case 15:A.mode=16;case 16:if(I=A.length){if(I>a&&(I=a),I>s&&(I=s),0===I)break e;r.set(n.subarray(i,i+I),o),a-=I,i+=I,s-=I,o+=I,A.length-=I;break}A.mode=12;break;case 17:for(;c<14;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(A.nlen=257+(31&g),g>>>=5,c-=5,A.ndist=1+(31&g),g>>>=5,c-=5,A.ncode=4+(15&g),g>>>=4,c-=4,A.nlen>286||A.ndist>30){e.msg="too many length or distance symbols",A.mode=30;break}A.have=0,A.mode=18;case 18:for(;A.have<A.ncode;){for(;c<3;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.lens[F[A.have++]]=7&g,g>>>=3,c-=3}for(;A.have<19;)A.lens[F[A.have++]]=0;if(A.lencode=A.lendyn,A.lenbits=7,m={bits:A.lenbits},v=pn(0,A.lens,0,19,A.lencode,0,A.work,m),A.lenbits=m.bits,v){e.msg="invalid code lengths set",A.mode=30;break}A.have=0,A.mode=19;case 19:for(;A.have<A.nlen+A.ndist;){for(;d=(w=A.lencode[g&(1<<A.lenbits)-1])>>>16&255,B=65535&w,!((f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(B<16)g>>>=f,c-=f,A.lens[A.have++]=B;else{if(16===B){for(b=f+2;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(g>>>=f,c-=f,0===A.have){e.msg="invalid bit length repeat",A.mode=30;break}y=A.lens[A.have-1],I=3+(3&g),g>>>=2,c-=2}else if(17===B){for(b=f+3;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}c-=f,y=0,I=3+(7&(g>>>=f)),g>>>=3,c-=3}else{for(b=f+7;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}c-=f,y=0,I=11+(127&(g>>>=f)),g>>>=7,c-=7}if(A.have+I>A.nlen+A.ndist){e.msg="invalid bit length repeat",A.mode=30;break}for(;I--;)A.lens[A.have++]=y}}if(30===A.mode)break;if(0===A.lens[256]){e.msg="invalid code -- missing end-of-block",A.mode=30;break}if(A.lenbits=9,m={bits:A.lenbits},v=pn(1,A.lens,0,A.nlen,A.lencode,0,A.work,m),A.lenbits=m.bits,v){e.msg="invalid literal/lengths set",A.mode=30;break}if(A.distbits=6,A.distcode=A.distdyn,m={bits:A.distbits},v=pn(2,A.lens,A.nlen,A.ndist,A.distcode,0,A.work,m),A.distbits=m.bits,v){e.msg="invalid distances set",A.mode=30;break}if(A.mode=20,t===yn)break e;case 20:A.mode=21;case 21:if(a>=6&&s>=258){e.next_out=o,e.avail_out=s,e.next_in=i,e.avail_in=a,A.hold=g,A.bits=c,Cn(e,l),o=e.next_out,r=e.output,s=e.avail_out,i=e.next_in,n=e.input,a=e.avail_in,g=A.hold,c=A.bits,12===A.mode&&(A.back=-1);break}for(A.back=0;d=(w=A.lencode[g&(1<<A.lenbits)-1])>>>16&255,B=65535&w,!((f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(d&&0===(240&d)){for(p=f,E=d,Q=B;d=(w=A.lencode[Q+((g&(1<<p+E)-1)>>p)])>>>16&255,B=65535&w,!(p+(f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}g>>>=p,c-=p,A.back+=p}if(g>>>=f,c-=f,A.back+=f,A.length=B,0===d){A.mode=26;break}if(32&d){A.back=-1,A.mode=12;break}if(64&d){e.msg="invalid literal/length code",A.mode=30;break}A.extra=15&d,A.mode=22;case 22:if(A.extra){for(b=A.extra;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.length+=g&(1<<A.extra)-1,g>>>=A.extra,c-=A.extra,A.back+=A.extra}A.was=A.length,A.mode=23;case 23:for(;d=(w=A.distcode[g&(1<<A.distbits)-1])>>>16&255,B=65535&w,!((f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(0===(240&d)){for(p=f,E=d,Q=B;d=(w=A.distcode[Q+((g&(1<<p+E)-1)>>p)])>>>16&255,B=65535&w,!(p+(f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}g>>>=p,c-=p,A.back+=p}if(g>>>=f,c-=f,A.back+=f,64&d){e.msg="invalid distance code",A.mode=30;break}A.offset=B,A.extra=15&d,A.mode=24;case 24:if(A.extra){for(b=A.extra;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.offset+=g&(1<<A.extra)-1,g>>>=A.extra,c-=A.extra,A.back+=A.extra}if(A.offset>A.dmax){e.msg="invalid distance too far back",A.mode=30;break}A.mode=25;case 25:if(0===s)break e;if(I=l-s,A.offset>I){if((I=A.offset-I)>A.whave&&A.sane){e.msg="invalid distance too far back",A.mode=30;break}I>A.wnext?(I-=A.wnext,C=A.wsize-I):C=A.wnext-I,I>A.length&&(I=A.length),h=A.window}else h=r,C=o-A.offset,I=A.length;I>s&&(I=s),s-=I,A.length-=I;do{r[o++]=h[C++]}while(--I);0===A.length&&(A.mode=21);break;case 26:if(0===s)break e;r[o++]=A.length,s--,A.mode=21;break;case 27:if(A.wrap){for(;c<32;){if(0===a)break e;a--,g|=n[i++]<<c,c+=8}if(l-=s,e.total_out+=l,A.total+=l,l&&(e.adler=A.check=A.flags?eA(A.check,r,l,o-l):zt(A.check,r,l,o-l)),l=s,(A.flags?g:Gn(g))!==A.check){e.msg="incorrect data check",A.mode=30;break}g=0,c=0}A.mode=28;case 28:if(A.wrap&&A.flags){for(;c<32;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(g!==(4294967295&A.total)){e.msg="incorrect length check",A.mode=30;break}g=0,c=0}A.mode=29;case 29:v=mn;break e;case 30:v=Sn;break e;case 31:return Fn;case 32:default:return wn}return e.next_out=o,e.avail_out=s,e.next_in=i,e.avail_in=a,A.hold=g,A.bits=c,(A.wsize||l!==e.avail_out&&A.mode<30&&(A.mode<27||t!==En))&&Zn(e,e.output,e.next_out,l-e.avail_out),u-=e.avail_in,l-=e.avail_out,e.total_in+=u,e.total_out+=l,A.total+=l,A.wrap&&l&&(e.adler=A.check=A.flags?eA(A.check,r,l,e.next_out-l):zt(A.check,r,l,e.next_out-l)),e.data_type=A.bits+(A.last?64:0)+(12===A.mode?128:0)+(20===A.mode||15===A.mode?256:0),(0===u&&0===l||t===En)&&v===vn&&(v=Rn),v},inflateEnd:function(e){if(!e||!e.state)return wn;var t=e.state;return t.window&&(t.window=null),e.state=null,vn},inflateGetHeader:function(e,t){if(!e||!e.state)return wn;var A=e.state;return 0===(2&A.wrap)?wn:(A.head=t,t.done=!1,vn)},inflateSetDictionary:function(e,t){var A,n=t.length;return e&&e.state?0!==(A=e.state).wrap&&11!==A.mode?wn:11===A.mode&&zt(1,t,n,0)!==A.check?Sn:Zn(e,t,n,n)?(A.mode=31,Fn):(A.havedict=1,vn):wn},inflateInfo:"pako inflate (from Nodeca project)"};var Yn=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},Jn=Object.prototype.toString,jn=AA.Z_NO_FLUSH,Pn=AA.Z_FINISH,Vn=AA.Z_OK,Kn=AA.Z_STREAM_END,Wn=AA.Z_NEED_DICT,Xn=AA.Z_STREAM_ERROR,qn=AA.Z_DATA_ERROR,zn=AA.Z_MEM_ERROR;function $n(e){this.options=VA({chunkSize:65536,windowBits:15,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0===(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new tn,this.strm.avail_out=0;var A=Hn.inflateInit2(this.strm,t.windowBits);if(A!==Vn)throw new Error(tA[A]);if(this.header=new Yn,Hn.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"===typeof t.dictionary?t.dictionary=zA(t.dictionary):"[object ArrayBuffer]"===Jn.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(A=Hn.inflateSetDictionary(this.strm,t.dictionary))!==Vn))throw new Error(tA[A])}function er(e,t){var A=new $n(t);if(A.push(e),A.err)throw A.msg||tA[A.err];return A.result}$n.prototype.push=function(e,t){var A,n,r,i=this.strm,o=this.options.chunkSize,a=this.options.dictionary;if(this.ended)return!1;for(n=t===~~t?t:!0===t?Pn:jn,"[object ArrayBuffer]"===Jn.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(o),i.next_out=0,i.avail_out=o),(A=Hn.inflate(i,n))===Wn&&a&&((A=Hn.inflateSetDictionary(i,a))===Vn?A=Hn.inflate(i,n):A===qn&&(A=Wn));i.avail_in>0&&A===Kn&&i.state.wrap>0&&0!==e[i.next_in];)Hn.inflateReset(i),A=Hn.inflate(i,n);switch(A){case Xn:case qn:case Wn:case zn:return this.onEnd(A),this.ended=!0,!1}if(r=i.avail_out,i.next_out&&(0===i.avail_out||A===Kn))if("string"===this.options.to){var s=en(i.output,i.next_out),g=i.next_out-s,c=$A(i.output,s);i.next_out=g,i.avail_out=o-g,g&&i.output.set(i.output.subarray(s,s+g),0),this.onData(c)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(A!==Vn||0!==r){if(A===Kn)return A=Hn.inflateEnd(this.strm),this.onEnd(A),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},$n.prototype.onData=function(e){this.chunks.push(e)},$n.prototype.onEnd=function(e){e===Vn&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=KA(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var tr={Inflate:$n,inflate:er,inflateRaw:function(e,t){return(t=t||{}).raw=!0,er(e,t)},ungzip:er,constants:AA},Ar=tr.inflate,nr=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"decodeBlock",value:function(e){return Ar(new Uint8Array(e)).buffer}}]),A}(Xe),rr=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"decodeBlock",value:function(e){for(var t=new DataView(e),A=[],n=0;n<e.byteLength;++n){var r=t.getInt8(n);if(r<0){var i=t.getUint8(n+1);r=-r;for(var o=0;o<=r;++o)A.push(i);n+=1}else{for(var a=0;a<=r;++a)A.push(t.getUint8(n+a+1));n+=r+1}}return new Uint8Array(A).buffer}}]),A}(Xe),ir=A(669),or=A.n(ir),ar=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this)).planarConfiguration="undefined"!==typeof e.PlanarConfiguration?e.PlanarConfiguration:1,n.samplesPerPixel="undefined"!==typeof e.SamplesPerPixel?e.SamplesPerPixel:1,n.addCompression=e.LercParameters[Ne],n}return Object(l.a)(A,[{key:"interleavePixels",value:function(e){for(var t=new e.constructor(e.length),A=e.length/this.samplesPerPixel,n=0;n<A;n++)for(var r=0;r<this.samplesPerPixel;r++)t[n*this.samplesPerPixel+r]=e[n+r*A];return t}},{key:"decodeBlock",value:function(e){switch(this.addCompression){case Ue:break;case _e:e=Ar(new Uint8Array(e)).buffer;break;default:throw new Error("Unsupported LERC additional compression method identifier: ".concat(this.addCompression))}var t=or.a.decode(e).pixels[0];return(1===this.planarConfiguration?this.interleavePixels(t):t).buffer}}]),A}(Xe);function sr(e){switch(e.Compression){case void 0:case 1:return new qe;case 5:return new lt(e);case 6:throw new Error("old style JPEG compression is not supported.");case 7:return new Bt(e);case 8:case 32946:return new nr;case 32773:return new rr;case 34887:return new ar(e);default:throw new Error("Unknown compression method identifier: ".concat(e.Compression))}}function gr(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return new(Object.getPrototypeOf(e).constructor)(t*A*n)}function cr(e,t,A,n,r){var i=t/n,o=A/r;return e.map((function(e){for(var a=gr(e,n,r),s=0;s<r;++s)for(var g=Math.min(Math.round(o*s),A-1),c=0;c<n;++c){var u=Math.min(Math.round(i*c),t-1),l=e[g*t+u];a[s*n+c]=l}return a}))}function ur(e,t,A){return(1-A)*e+A*t}function lr(e,t,A,n,r){var i=t/n,o=A/r;return e.map((function(e){for(var a=gr(e,n,r),s=0;s<r;++s)for(var g=o*s,c=Math.floor(g),u=Math.min(Math.ceil(g),A-1),l=0;l<n;++l){var I=i*l,C=I%1,h=Math.floor(I),f=Math.min(Math.ceil(I),t-1),d=e[c*t+h],B=e[c*t+f],p=e[u*t+h],E=e[u*t+f],Q=ur(ur(d,B,C),ur(p,E,C),g%1);a[s*n+l]=Q}return a}))}function Ir(e,t,A,n,r){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"nearest";switch(i.toLowerCase()){case"nearest":return cr(e,t,A,n,r);case"bilinear":case"linear":return lr(e,t,A,n,r);default:throw new Error("Unsupported resampling method: '".concat(i,"'"))}}function Cr(e,t,A,n,r,i){for(var o=t/n,a=A/r,s=gr(e,n,r,i),g=0;g<r;++g)for(var c=Math.min(Math.round(a*g),A-1),u=0;u<n;++u)for(var l=Math.min(Math.round(o*u),t-1),I=0;I<i;++I){var C=e[c*t*i+l*i+I];s[g*n*i+u*i+I]=C}return s}function hr(e,t,A,n,r,i){for(var o=t/n,a=A/r,s=gr(e,n,r,i),g=0;g<r;++g)for(var c=a*g,u=Math.floor(c),l=Math.min(Math.ceil(c),A-1),I=0;I<n;++I)for(var C=o*I,h=C%1,f=Math.floor(C),d=Math.min(Math.ceil(C),t-1),B=0;B<i;++B){var p=e[u*t*i+f*i+B],E=e[u*t*i+d*i+B],Q=e[l*t*i+f*i+B],y=e[l*t*i+d*i+B],v=ur(ur(p,E,h),ur(Q,y,h),c%1);s[g*n*i+I*i+B]=v}return s}function fr(e,t,A,n,r,i){var o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"nearest";switch(o.toLowerCase()){case"nearest":return Cr(e,t,A,n,r,i);case"bilinear":case"linear":return hr(e,t,A,n,r,i);default:throw new Error("Unsupported resampling method: '".concat(o,"'"))}}function dr(e,t,A){for(var n=0,r=t;r<A;++r)n+=e[r];return n}function Br(e,t,A){switch(e){case 1:if(t<=8)return new Uint8Array(A);if(t<=16)return new Uint16Array(A);if(t<=32)return new Uint32Array(A);break;case 2:if(8===t)return new Int8Array(A);if(16===t)return new Int16Array(A);if(32===t)return new Int32Array(A);break;case 3:switch(t){case 16:case 32:return new Float32Array(A);case 64:return new Float64Array(A)}}throw Error("Unsupported data format/bitsPerSample")}function pr(e,t){return(1!==e&&2!==e||!(t<=32)||t%8!==0)&&(3!==e||16!==t&&32!==t&&64!==t)}function Er(e,t,A,n,r,i,o){var a=new DataView(e),s=2===A?1:n,g=Br(t,r,2===A?o*i:o*i*n),c=parseInt("1".repeat(r),2);if(1===t){var u=i*(1===A?n*r:r);0!==(7&u)&&(u=u+7&-8);for(var l=0;l<o;++l)for(var I=l*u,C=0;C<i;++C)for(var h=I+C*s*r,f=0;f<s;++f){var d=h+f*r,B=(l*i+C)*s+f,p=Math.floor(d/8),E=d%8;if(E+r<=8)g[B]=a.getUint8(p)>>8-r-E&c;else if(E+r<=16)g[B]=a.getUint16(p)>>16-r-E&c;else if(E+r<=24){var Q=a.getUint16(p)<<8|a.getUint8(p+2);g[B]=Q>>24-r-E&c}else g[B]=a.getUint32(p)>>32-r-E&c}}return g.buffer}var Qr=function(){function e(t,A,n,r,i,o){Object(u.a)(this,e),this.fileDirectory=t,this.geoKeys=A,this.dataView=n,this.littleEndian=r,this.tiles=i?{}:null,this.isTiled=!t.StripOffsets;var a=t.PlanarConfiguration;if(this.planarConfiguration="undefined"===typeof a?1:a,1!==this.planarConfiguration&&2!==this.planarConfiguration)throw new Error("Invalid planar configuration.");this.source=o}return Object(l.a)(e,[{key:"getFileDirectory",value:function(){return this.fileDirectory}},{key:"getGeoKeys",value:function(){return this.geoKeys}},{key:"getWidth",value:function(){return this.fileDirectory.ImageWidth}},{key:"getHeight",value:function(){return this.fileDirectory.ImageLength}},{key:"getSamplesPerPixel",value:function(){return"undefined"!==typeof this.fileDirectory.SamplesPerPixel?this.fileDirectory.SamplesPerPixel:1}},{key:"getTileWidth",value:function(){return this.isTiled?this.fileDirectory.TileWidth:this.getWidth()}},{key:"getTileHeight",value:function(){return this.isTiled?this.fileDirectory.TileLength:"undefined"!==typeof this.fileDirectory.RowsPerStrip?Math.min(this.fileDirectory.RowsPerStrip,this.getHeight()):this.getHeight()}},{key:"getBlockWidth",value:function(){return this.getTileWidth()}},{key:"getBlockHeight",value:function(e){return this.isTiled||(e+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-e*this.getTileHeight()}},{key:"getBytesPerPixel",value:function(){for(var e=0,t=0;t<this.fileDirectory.BitsPerSample.length;++t)e+=this.getSampleByteSize(t);return e}},{key:"getSampleByteSize",value:function(e){if(e>=this.fileDirectory.BitsPerSample.length)throw new RangeError("Sample index ".concat(e," is out of range."));return Math.ceil(this.fileDirectory.BitsPerSample[e]/8)}},{key:"getReaderForSample",value:function(e){var t=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[e]:1,A=this.fileDirectory.BitsPerSample[e];switch(t){case 1:if(A<=8)return DataView.prototype.getUint8;if(A<=16)return DataView.prototype.getUint16;if(A<=32)return DataView.prototype.getUint32;break;case 2:if(A<=8)return DataView.prototype.getInt8;if(A<=16)return DataView.prototype.getInt16;if(A<=32)return DataView.prototype.getInt32;break;case 3:switch(A){case 16:return function(e,t){return de(this,e,t)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64}}throw Error("Unsupported data format/bitsPerSample")}},{key:"getSampleFormat",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[e]:1}},{key:"getBitsPerSample",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.fileDirectory.BitsPerSample[e]}},{key:"getArrayForSample",value:function(e,t){return Br(this.getSampleFormat(e),this.getBitsPerSample(e),t)}},{key:"getTileOrStrip",value:function(){var e=Object(a.a)(o.a.mark((function e(t,A,n,r,i){var s,g,c,u,l,I,C,h,f=this;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=Math.ceil(this.getWidth()/this.getTileWidth()),g=Math.ceil(this.getHeight()/this.getTileHeight()),u=this.tiles,1===this.planarConfiguration?c=A*s+t:2===this.planarConfiguration&&(c=n*s*g+A*s+t),this.isTiled?(l=this.fileDirectory.TileOffsets[c],I=this.fileDirectory.TileByteCounts[c]):(l=this.fileDirectory.StripOffsets[c],I=this.fileDirectory.StripByteCounts[c]),e.next=7,this.source.fetch([{offset:l,length:I}],i);case 7:return C=e.sent[0],null!==u&&u[c]?h=u[c]:(h=Object(a.a)(o.a.mark((function e(){var t,n,i;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.decode(f.fileDirectory,C);case 2:return t=e.sent,n=f.getSampleFormat(),i=f.getBitsPerSample(),pr(n,i)&&(t=Er(t,n,f.planarConfiguration,f.getSamplesPerPixel(),i,f.getTileWidth(),f.getBlockHeight(A))),e.abrupt("return",t);case 7:case"end":return e.stop()}}),e)})))(),null!==u&&(u[c]=h)),e.t0=t,e.t1=A,e.t2=n,e.next=14,h;case 14:return e.t3=e.sent,e.abrupt("return",{x:e.t0,y:e.t1,sample:e.t2,data:e.t3});case 16:case"end":return e.stop()}}),e,this)})));return function(t,A,n,r,i){return e.apply(this,arguments)}}()},{key:"_readRaster",value:function(){var e=Object(a.a)(o.a.mark((function e(t,A,n,r,i,a,s,g,c){var u,l,I,C,h,f,d,B,p,E,Q,y,v,m,b,w,S,F,R=this;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(u=this.getTileWidth(),l=this.getTileHeight(),I=Math.max(Math.floor(t[0]/u),0),C=Math.min(Math.ceil(t[2]/u),Math.ceil(this.getWidth()/this.getTileWidth())),h=Math.max(Math.floor(t[1]/l),0),f=Math.min(Math.ceil(t[3]/l),Math.ceil(this.getHeight()/this.getTileHeight())),d=t[2]-t[0],B=this.getBytesPerPixel(),p=[],E=[],Q=0;Q<A.length;++Q)1===this.planarConfiguration?p.push(dr(this.fileDirectory.BitsPerSample,0,A[Q])/8):p.push(0),E.push(this.getReaderForSample(A[Q]));for(y=[],v=this.littleEndian,m=h;m<f;++m)for(b=I;b<C;++b)for(w=function(e){var o=e,a=A[e];2===R.planarConfiguration&&(B=R.getSampleByteSize(e));var s=R.getTileOrStrip(b,m,a,i,c).then((function(e){for(var i=e.data,a=new DataView(i),s=R.getBlockHeight(e.y),g=e.y*l,c=e.x*u,I=g+s,C=(e.x+1)*u,h=E[o],f=Math.min(s,s-(I-t[3])),Q=Math.min(u,u-(C-t[2])),y=Math.max(0,t[1]-g);y<f;++y)for(var m=Math.max(0,t[0]-c);m<Q;++m){var b=(y*u+m)*B,w=h.call(a,b+p[o],v),S=void 0;r?(S=(y+g-t[1])*d*A.length+(m+c-t[0])*A.length+o,n[S]=w):(S=(y+g-t[1])*d+m+c-t[0],n[o][S]=w)}}));y.push(s)},S=0;S<A.length;++S)w(S);return e.next=16,Promise.all(y);case 16:if(!(a&&t[2]-t[0]!==a||s&&t[3]-t[1]!==s)){e.next=21;break}return(F=r?fr(n,t[2]-t[0],t[3]-t[1],a,s,A.length,g):Ir(n,t[2]-t[0],t[3]-t[1],a,s,g)).width=a,F.height=s,e.abrupt("return",F);case 21:return n.width=a||t[2]-t[0],n.height=s||t[3]-t[1],e.abrupt("return",n);case 24:case"end":return e.stop()}}),e,this)})));return function(t,A,n,r,i,o,a,s,g){return e.apply(this,arguments)}}()},{key:"readRasters",value:function(){var e=Object(a.a)(o.a.mark((function e(){var t,A,n,r,i,a,s,g,c,u,l,I,C,h,f,d,B,p,E,Q,y,v,m,b,w,S,F=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=F.length>0&&void 0!==F[0]?F[0]:{},A=t.window,n=t.samples,r=void 0===n?[]:n,i=t.interleave,a=t.pool,s=void 0===a?null:a,g=t.width,c=t.height,u=t.resampleMethod,l=t.fillValue,I=t.signal,!((C=A||[0,0,this.getWidth(),this.getHeight()])[0]>C[2]||C[1]>C[3])){e.next=4;break}throw new Error("Invalid subsets");case 4:if(h=C[2]-C[0],f=C[3]-C[1],d=h*f,B=this.getSamplesPerPixel(),r&&r.length){e.next=12;break}for(p=0;p<B;++p)r.push(p);e.next=19;break;case 12:E=0;case 13:if(!(E<r.length)){e.next=19;break}if(!(r[E]>=B)){e.next=16;break}return e.abrupt("return",Promise.reject(new RangeError("Invalid sample index '".concat(r[E],"'."))));case 16:++E,e.next=13;break;case 19:if(i)y=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,v=Math.max.apply(null,this.fileDirectory.BitsPerSample),Q=Br(y,v,d*r.length),l&&Q.fill(l);else for(Q=[],m=0;m<r.length;++m)b=this.getArrayForSample(r[m],d),Array.isArray(l)&&m<l.length?b.fill(l[m]):l&&!Array.isArray(l)&&b.fill(l),Q.push(b);return w=s||sr(this.fileDirectory),e.next=23,this._readRaster(C,r,Q,i,w,g,c,u,I);case 23:return S=e.sent,e.abrupt("return",S);case 25:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"readRGB",value:function(){var e=Object(a.a)(o.a.mark((function e(){var t,A,n,r,i,a,s,g,c,u,l,I,C,h,f,d,B,p,E,Q,y=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=y.length>0&&void 0!==y[0]?y[0]:{},A=t.window,n=t.pool,r=void 0===n?null:n,i=t.width,a=t.height,s=t.resampleMethod,g=t.enableAlpha,c=void 0!==g&&g,u=t.signal,!((l=A||[0,0,this.getWidth(),this.getHeight()])[0]>l[2]||l[1]>l[3])){e.next=4;break}throw new Error("Invalid subsets");case 4:if((I=this.fileDirectory.PhotometricInterpretation)!==Fe){e.next=9;break}if(C=[0,1,2],this.fileDirectory.ExtraSamples!==xe&&c)for(C=[],h=0;h<this.fileDirectory.BitsPerSample.length;h+=1)C.push(h);return e.abrupt("return",this.readRasters({window:A,interleave:!0,samples:C,pool:r,width:i,height:a,resampleMethod:s,signal:u}));case 9:e.t0=I,e.next=e.t0===we||e.t0===Se||e.t0===Re?12:e.t0===De?14:e.t0===Ge||e.t0===ke?16:18;break;case 12:return f=[0],e.abrupt("break",19);case 14:return f=[0,1,2,3],e.abrupt("break",19);case 16:return f=[0,1,2],e.abrupt("break",19);case 18:throw new Error("Invalid or unsupported photometric interpretation.");case 19:return d={window:l,interleave:!0,samples:f,pool:r,width:i,height:a,resampleMethod:s,signal:u},B=this.fileDirectory,e.next=23,this.readRasters(d);case 23:p=e.sent,E=Math.pow(2,this.fileDirectory.BitsPerSample[0]),e.t1=I,e.next=e.t1===we?28:e.t1===Se?30:e.t1===Re?32:e.t1===De?34:e.t1===Ge?36:e.t1===ke?38:40;break;case 28:return Q=Te(p,E),e.abrupt("break",41);case 30:return Q=Ze(p,E),e.abrupt("break",41);case 32:return Q=He(p,B.ColorMap),e.abrupt("break",41);case 34:return Q=Ye(p),e.abrupt("break",41);case 36:return Q=Je(p),e.abrupt("break",41);case 38:return Q=je(p),e.abrupt("break",41);case 40:throw new Error("Unsupported photometric interpretation.");case 41:return Q.width=p.width,Q.height=p.height,e.abrupt("return",Q);case 44:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"getTiePoints",value:function(){if(!this.fileDirectory.ModelTiepoint)return[];for(var e=[],t=0;t<this.fileDirectory.ModelTiepoint.length;t+=6)e.push({i:this.fileDirectory.ModelTiepoint[t],j:this.fileDirectory.ModelTiepoint[t+1],k:this.fileDirectory.ModelTiepoint[t+2],x:this.fileDirectory.ModelTiepoint[t+3],y:this.fileDirectory.ModelTiepoint[t+4],z:this.fileDirectory.ModelTiepoint[t+5]});return e}},{key:"getGDALMetadata",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t={};if(!this.fileDirectory.GDAL_METADATA)return null;var A=this.fileDirectory.GDAL_METADATA,n=Be(A.substring(0,A.length-1));if(!n[0].tagName)throw new Error("Failed to parse GDAL metadata XML.");var r=n[0];if("GDALMetadata"!==r.tagName)throw new Error("Unexpected GDAL metadata XML tag.");var i=r.children.filter((function(e){return"Item"===e.tagName}));null!==e&&(i=i.filter((function(t){return Number(t.attributes.sample)===e})));for(var o=0;o<i.length;++o){var a=i[o];t[a.attributes.name]=a.children[0]}return t}},{key:"getGDALNoData",value:function(){if(!this.fileDirectory.GDAL_NODATA)return null;var e=this.fileDirectory.GDAL_NODATA;return Number(e.substring(0,e.length-1))}},{key:"getOrigin",value:function(){var e=this.fileDirectory.ModelTiepoint,t=this.fileDirectory.ModelTransformation;if(e&&6===e.length)return[e[3],e[4],e[5]];if(t)return[t[3],t[7],t[11]];throw new Error("The image does not have an affine transformation.")}},{key:"getResolution",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=this.fileDirectory.ModelPixelScale,A=this.fileDirectory.ModelTransformation;if(t)return[t[0],-t[1],t[2]];if(A)return[A[0],A[5],A[10]];if(e){var n=e.getResolution(),r=Object(s.a)(n,3),i=r[0],o=r[1],a=r[2];return[i*e.getWidth()/this.getWidth(),o*e.getHeight()/this.getHeight(),a*e.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}},{key:"pixelIsArea",value:function(){return 1===this.geoKeys.GTRasterTypeGeoKey}},{key:"getBoundingBox",value:function(){var e=this.getOrigin(),t=this.getResolution(),A=e[0],n=e[1],r=A+t[0]*this.getWidth(),i=n+t[1]*this.getHeight();return[Math.min(A,r),Math.min(n,i),Math.max(A,r),Math.max(n,i)]}}]),e}(),yr=function(){function e(t){Object(u.a)(this,e),this._dataView=new DataView(t)}return Object(l.a)(e,[{key:"getUint64",value:function(e,t){var A,n=this.getUint32(e,t),r=this.getUint32(e+4,t);if(t){if(A=n+Math.pow(2,32)*r,!Number.isSafeInteger(A))throw new Error("".concat(A," exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues"));return A}if(A=Math.pow(2,32)*n+r,!Number.isSafeInteger(A))throw new Error("".concat(A," exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues"));return A}},{key:"getInt64",value:function(e,t){for(var A=0,n=(128&this._dataView.getUint8(e+(t?7:0)))>0,r=!0,i=0;i<8;i++){var o=this._dataView.getUint8(e+(t?i:7-i));n&&(r?0!==o&&(o=255&~(o-1),r=!1):o=255&~o),A+=o*Math.pow(256,i)}return n&&(A=-A),A}},{key:"getUint8",value:function(e,t){return this._dataView.getUint8(e,t)}},{key:"getInt8",value:function(e,t){return this._dataView.getInt8(e,t)}},{key:"getUint16",value:function(e,t){return this._dataView.getUint16(e,t)}},{key:"getInt16",value:function(e,t){return this._dataView.getInt16(e,t)}},{key:"getUint32",value:function(e,t){return this._dataView.getUint32(e,t)}},{key:"getInt32",value:function(e,t){return this._dataView.getInt32(e,t)}},{key:"getFloat16",value:function(e,t){return de(this._dataView,t)}},{key:"getFloat32",value:function(e,t){return this._dataView.getFloat32(e,t)}},{key:"getFloat64",value:function(e,t){return this._dataView.getFloat64(e,t)}},{key:"buffer",get:function(){return this._dataView.buffer}}]),e}(),vr=function(){function e(t,A,n,r){Object(u.a)(this,e),this._dataView=new DataView(t),this._sliceOffset=A,this._littleEndian=n,this._bigTiff=r}return Object(l.a)(e,[{key:"covers",value:function(e,t){return this.sliceOffset<=e&&this.sliceTop>=e+t}},{key:"readUint8",value:function(e){return this._dataView.getUint8(e-this._sliceOffset,this._littleEndian)}},{key:"readInt8",value:function(e){return this._dataView.getInt8(e-this._sliceOffset,this._littleEndian)}},{key:"readUint16",value:function(e){return this._dataView.getUint16(e-this._sliceOffset,this._littleEndian)}},{key:"readInt16",value:function(e){return this._dataView.getInt16(e-this._sliceOffset,this._littleEndian)}},{key:"readUint32",value:function(e){return this._dataView.getUint32(e-this._sliceOffset,this._littleEndian)}},{key:"readInt32",value:function(e){return this._dataView.getInt32(e-this._sliceOffset,this._littleEndian)}},{key:"readFloat32",value:function(e){return this._dataView.getFloat32(e-this._sliceOffset,this._littleEndian)}},{key:"readFloat64",value:function(e){return this._dataView.getFloat64(e-this._sliceOffset,this._littleEndian)}},{key:"readUint64",value:function(e){var t,A=this.readUint32(e),n=this.readUint32(e+4);if(this._littleEndian){if(t=A+Math.pow(2,32)*n,!Number.isSafeInteger(t))throw new Error("".concat(t," exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues"));return t}if(t=Math.pow(2,32)*A+n,!Number.isSafeInteger(t))throw new Error("".concat(t," exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues"));return t}},{key:"readInt64",value:function(e){for(var t=0,A=(128&this._dataView.getUint8(e+(this._littleEndian?7:0)))>0,n=!0,r=0;r<8;r++){var i=this._dataView.getUint8(e+(this._littleEndian?r:7-r));A&&(n?0!==i&&(i=255&~(i-1),n=!1):i=255&~i),t+=i*Math.pow(256,r)}return A&&(t=-t),t}},{key:"readOffset",value:function(e){return this._bigTiff?this.readUint64(e):this.readUint32(e)}},{key:"sliceOffset",get:function(){return this._sliceOffset}},{key:"sliceTop",get:function(){return this._sliceOffset+this.buffer.byteLength}},{key:"littleEndian",get:function(){return this._littleEndian}},{key:"bigTiff",get:function(){return this._bigTiff}},{key:"buffer",get:function(){return this._dataView.buffer}}]),e}(),mr=A(73);function br(e){if("undefined"!==typeof Object.fromEntries)return Object.fromEntries(e);var t,A={},r=Object(n.a)(e);try{for(r.s();!(t=r.n()).done;){var i=Object(s.a)(t.value,2),o=i[0],a=i[1];A[o.toLowerCase()]=a}}catch(g){r.e(g)}finally{r.f()}return A}function wr(e){return br(e.split("\r\n").map((function(e){var t=e.split(":").map((function(e){return e.trim()}));return t[0]=t[0].toLowerCase(),t})))}function Sr(e){var t=e.split(";").map((function(e){return e.trim()})),A=Object(mr.a)(t);return{type:A[0],params:br(A.slice(1).map((function(e){return e.split("=")})))}}function Fr(e){var t,A,n;if(e){var r=e.match(/bytes (\d+)-(\d+)\/(\d+)/),i=Object(s.a)(r,4);t=i[1],A=i[2],n=i[3],t=parseInt(t,10),A=parseInt(A,10),n=parseInt(n,10)}return{start:t,end:A,total:n}}function Rr(e,t){for(var A=null,n=new TextDecoder("ascii"),r=[],i="--".concat(t),o="".concat(i,"--"),a=0;a<10;++a){n.decode(new Uint8Array(e,a,i.length))===i&&(A=a)}if(null===A)throw new Error("Could not find initial boundary");for(;A<e.byteLength;){var s=n.decode(new Uint8Array(e,A,Math.min(i.length+1024,e.byteLength-A)));if(0===s.length||s.startsWith(o))break;if(!s.startsWith(i))throw new Error("Part does not start with boundary");var g=s.substr(i.length+2);if(0===g.length)break;var c=g.indexOf("\r\n\r\n"),u=wr(g.substr(0,c)),l=Fr(u["content-range"]),I=l.start,C=l.end,h=l.total,f=A+i.length+c+"\r\n\r\n".length,d=parseInt(C,10)+1-parseInt(I,10);r.push({headers:u,data:e.slice(f,f+d),offset:I,length:d,fileSize:h}),A=f+d+4}return r}var Dr=A(164),Gr=A(670),kr=A.n(Gr),xr=A(57),Nr=function(){function e(t,A){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;Object(u.a)(this,e),this.offset=t,this.length=A,this.data=n}return Object(l.a)(e,[{key:"top",get:function(){return this.offset+this.length}}]),e}(),Ur=function e(t,A,n){Object(u.a)(this,e),this.offset=t,this.length=A,this.blockIds=n},_r=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.blockSize,o=void 0===i?65536:i,a=r.cacheSize,s=void 0===a?100:a;return Object(u.a)(this,A),(n=t.call(this)).source=e,n.blockSize=o,n.blockCache=new kr.a({max:s}),n.blockRequests=new Map,n.blockIdsToFetch=new Set,n.abortedBlockIds=new Set,n}return Object(l.a)(A,[{key:"fetch",value:function(){var e=Object(a.a)(o.a.mark((function e(t,A){var r,i,a,s,g,c,u,l,I,C,h,f,d,B,p,E,Q,y,v,m,b,w,S,F,R,D,G=this;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=[],i=[],a=[],s=Object(n.a)(t);try{for(s.s();!(g=s.n()).done;)for(c=g.value,u=c.offset,l=c.length,I=u+l,null!==(C=this.fileSize)&&(I=Math.min(I,C)),h=Math.floor(u/this.blockSize)*this.blockSize,f=h;f<I;f+=this.blockSize)d=Math.floor(f/this.blockSize),this.blockCache.has(d)||this.blockRequests.has(d)||(this.blockIdsToFetch.add(d),i.push(d)),this.blockRequests.has(d)&&r.push(this.blockRequests.get(d)),a.push(d)}catch(o){s.e(o)}finally{s.f()}return e.next=7,Object(xr.h)();case 7:for(this.fetchBlocks(A),B=[],p=0,E=i;p<E.length;p++)Q=E[p],this.blockRequests.has(Q)&&B.push(this.blockRequests.get(Q));return e.next=12,Promise.allSettled(r.values());case 12:return e.next=14,Promise.allSettled(B.values());case 14:if(y=[],(v=a.filter((function(e){return G.abortedBlockIds.has(e)||!G.blockCache.has(e)}))).forEach((function(e){return G.blockIdsToFetch.add(e)})),!(v.length>0&&A)||A.aborted){e.next=40;break}this.fetchBlocks(null),m=Object(n.a)(v),e.prev=20,m.s();case 22:if((b=m.n()).done){e.next=30;break}if(w=b.value,S=this.blockRequests.get(w)){e.next=27;break}throw new Error("Block ".concat(w," is not in the block requests"));case 27:y.push(S);case 28:e.next=22;break;case 30:e.next=35;break;case 32:e.prev=32,e.t0=e.catch(20),m.e(e.t0);case 35:return e.prev=35,m.f(),e.finish(35);case 38:return e.next=40,Promise.allSettled(Array.from(y.values()));case 40:if(!A||!A.aborted){e.next=42;break}throw new xr.a("Request was aborted");case 42:if(F=a.map((function(e){return G.blockCache.get(e)})),!(R=F.filter((function(e){return!e}))).length){e.next=46;break}throw new xr.b(R,"Request failed");case 46:return D=new Map(Object(xr.i)(a,F)),e.abrupt("return",this.readSliceData(t,D));case 48:case"end":return e.stop()}}),e,this,[[20,32,35,38]])})));return function(t,A){return e.apply(this,arguments)}}()},{key:"fetchBlocks",value:function(e){var t=this;this.blockIdsToFetch.size>0&&function(){for(var A=t.groupBlocks(t.blockIdsToFetch),r=t.source.fetch(A,e),i=function(i){var s,g=A[i],c=Object(n.a)(g.blockIds);try{var u=function(){var A=s.value;t.blockRequests.set(A,Object(a.a)(o.a.mark((function n(){var a,s,g,c,u,l;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,r;case 3:n.t0=i,a=n.sent[n.t0],s=A*t.blockSize,g=s-a.offset,c=Math.min(g+t.blockSize,a.data.byteLength),u=a.data.slice(g,c),l=new Nr(s,u.byteLength,u,A),t.blockCache.set(A,l),t.abortedBlockIds.delete(A),n.next=23;break;case 14:if(n.prev=14,n.t1=n.catch(0),"AbortError"!==n.t1.name){n.next=22;break}n.t1.signal=e,t.blockCache.del(A),t.abortedBlockIds.add(A),n.next=23;break;case 22:throw n.t1;case 23:return n.prev=23,t.blockRequests.delete(A),n.finish(23);case 26:case"end":return n.stop()}}),n,null,[[0,14,23,26]])})))())};for(c.s();!(s=c.n()).done;)u()}catch(l){c.e(l)}finally{c.f()}},s=0;s<A.length;++s)i(s);t.blockIdsToFetch.clear()}()}},{key:"groupBlocks",value:function(e){var t=Array.from(e).sort((function(e,t){return e-t}));if(0===t.length)return[];var A,r=[],i=null,o=[],a=Object(n.a)(t);try{for(a.s();!(A=a.n()).done;){var s=A.value;null===i||i+1===s?(r.push(s),i=s):(o.push(new Ur(r[0]*this.blockSize,r.length*this.blockSize,r)),r=[s],i=s)}}catch(g){a.e(g)}finally{a.f()}return o.push(new Ur(r[0]*this.blockSize,r.length*this.blockSize,r)),o}},{key:"readSliceData",value:function(e,t){var A=this;return e.map((function(e){for(var n=e.offset+e.length,r=Math.floor(e.offset/A.blockSize),i=Math.floor((e.offset+e.length)/A.blockSize),o=new ArrayBuffer(e.length),a=new Uint8Array(o),s=r;s<=i;++s){var g=t.get(s),c=g.offset-e.offset,u=0,l=0,I=void 0;c<0?u=-c:c>0&&(l=c),I=g.top-n<0?g.length-u:n-g.offset-u;var C=new Uint8Array(g.data,u,I);a.set(C,l)}return o}))}},{key:"fileSize",get:function(){return this.source.fileSize}}]),A}(Dr.a),Mr=A(181),Or=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this)).response=e,n}return Object(l.a)(A,[{key:"getHeader",value:function(e){return this.response.headers.get(e)}},{key:"getData",value:function(){var e=Object(a.a)(o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.response.arrayBuffer){e.next=6;break}return e.next=3,this.response.arrayBuffer();case 3:e.t0=e.sent,e.next=9;break;case 6:return e.next=8,this.response.buffer();case 8:e.t0=e.sent.buffer;case 9:return t=e.t0,e.abrupt("return",t);case 11:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"status",get:function(){return this.response.status}}]),A}(Mr.b),Lr=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(e,n){var r;return Object(u.a)(this,A),(r=t.call(this,e)).credentials=n,r}return Object(l.a)(A,[{key:"request",value:function(){var e=Object(a.a)(o.a.mark((function e(){var t,A,n,r,i,a=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.length>0&&void 0!==a[0]?a[0]:{},A=t.headers,n=t.credentials,r=t.signal,e.next=3,fetch(this.url,{headers:A,credentials:n,signal:r});case 3:return i=e.sent,e.abrupt("return",new Or(i));case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()}]),A}(Mr.a),Tr=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(e,n){var r;return Object(u.a)(this,A),(r=t.call(this)).xhr=e,r.data=n,r}return Object(l.a)(A,[{key:"getHeader",value:function(e){return this.xhr.getResponseHeader(e)}},{key:"getData",value:function(){var e=Object(a.a)(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.data);case 1:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"status",get:function(){return this.xhr.status}}]),A}(Mr.b),Zr=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"constructRequest",value:function(e,t){var A=this;return new Promise((function(n,r){var i=new XMLHttpRequest;i.open("GET",A.url),i.responseType="arraybuffer";for(var o=0,a=Object.entries(e);o<a.length;o++){var g=Object(s.a)(a[o],2),c=g[0],u=g[1];i.setRequestHeader(c,u)}i.onload=function(){var e=i.response;n(new Tr(i,e))},i.onerror=r,i.onabort=function(){return r(new xr.a("Request aborted"))},i.send(),t&&(t.aborted&&i.abort(),t.addEventListener("abort",(function(){return i.abort()})))}))}},{key:"request",value:function(){var e=Object(a.a)(o.a.mark((function e(){var t,A,n,r,i=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=i.length>0&&void 0!==i[0]?i[0]:{},A=t.headers,n=t.signal,e.next=3,this.constructRequest(A,n);case 3:return r=e.sent,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()}]),A}(Mr.a),Hr=A(671),Yr=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(e,n,r,i){var o;return Object(u.a)(this,A),(o=t.call(this)).client=e,o.headers=n,o.maxRanges=r,o.allowFullFile=i,o._fileSize=null,o}return Object(l.a)(A,[{key:"fetch",value:function(){var e=Object(a.a)(o.a.mark((function e(t,A){var n=this;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(this.maxRanges>=t.length)){e.next=4;break}return e.abrupt("return",this.fetchSlices(t,A));case 4:this.maxRanges>0&&t.length;case 5:return e.next=7,Promise.all(t.map((function(e){return n.fetchSlice(e,A)})));case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"fetchSlices",value:function(){var e=Object(a.a)(o.a.mark((function e(t,A){var n,r,i,a,s,g,c,u,l,I,C,h,f,B=this;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.client.request({headers:Object(d.a)({},this.headers,{Range:"bytes=".concat(t.map((function(e){var t=e.offset,A=e.length;return"".concat(t,"-").concat(t+A)})).join(","))}),signal:A});case 2:if((n=e.sent).ok){e.next=7;break}throw new Error("Error fetching data.");case 7:if(206!==n.status){e.next=32;break}if(r=Sr(n.getHeader("content-type")),i=r.type,a=r.params,"multipart/byteranges"!==i){e.next=18;break}return e.t0=Rr,e.next=13,n.getData();case 13:return e.t1=e.sent,e.t2=a.boundary,s=(0,e.t0)(e.t1,e.t2),this._fileSize=s[0].fileSize||null,e.abrupt("return",s);case 18:return e.next=20,n.getData();case 20:if(g=e.sent,c=Fr(n.getHeader("content-range")),u=c.start,l=c.end,I=c.total,this._fileSize=I||null,C=[{data:g,offset:u,length:l-u}],!(t.length>1)){e.next=29;break}return e.next=27,Promise.all(t.slice(1).map((function(e){return B.fetchSlice(e,A)})));case 27:return h=e.sent,e.abrupt("return",C.concat(h));case 29:return e.abrupt("return",C);case 32:if(this.allowFullFile){e.next=34;break}throw new Error("Server responded with full file");case 34:return e.next=36,n.getData();case 36:return f=e.sent,this._fileSize=f.byteLength,e.abrupt("return",[{data:f,offset:0,length:f.byteLength}]);case 39:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"fetchSlice",value:function(){var e=Object(a.a)(o.a.mark((function e(t,A){var n,r,i,a,s,g,c;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.offset,r=t.length,e.next=3,this.client.request({headers:Object(d.a)({},this.headers,{Range:"bytes=".concat(n,"-").concat(n+r)}),signal:A});case 3:if((i=e.sent).ok){e.next=8;break}throw new Error("Error fetching data.");case 8:if(206!==i.status){e.next=17;break}return e.next=11,i.getData();case 11:return a=e.sent,s=Fr(i.getHeader("content-range")),g=s.total,this._fileSize=g||null,e.abrupt("return",{data:a,offset:n,length:r});case 17:if(this.allowFullFile){e.next=19;break}throw new Error("Server responded with full file");case 19:return e.next=21,i.getData();case 21:return c=e.sent,this._fileSize=c.byteLength,e.abrupt("return",{data:c,offset:0,length:c.byteLength});case 24:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"fileSize",get:function(){return this._fileSize}}]),A}(Dr.a);function Jr(e,t){var A=t.blockSize,n=t.cacheSize;return null===A?e:new _r(e,{blockSize:A,cacheSize:n})}function jr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.headers,n=void 0===A?{}:A,r=t.credentials,i=t.maxRanges,o=void 0===i?0:i,a=t.allowFullFile,s=void 0!==a&&a,g=Object(c.a)(t,["headers","credentials","maxRanges","allowFullFile"]),u=new Lr(e,r),l=new Yr(u,n,o,s);return Jr(l,g)}function Pr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.headers,n=void 0===A?{}:A,r=t.maxRanges,i=void 0===r?0:r,o=t.allowFullFile,a=void 0!==o&&o,s=Object(c.a)(t,["headers","maxRanges","allowFullFile"]),g=new Zr(e),u=new Yr(g,n,i,a);return Jr(u,s)}function Vr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.headers,n=void 0===A?{}:A,r=t.maxRanges,i=void 0===r?0:r,o=t.allowFullFile,a=void 0!==o&&o,s=Object(c.a)(t,["headers","maxRanges","allowFullFile"]),g=new Hr.a(e),u=new Yr(g,n,i,a);return Jr(u,s)}function Kr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.forceXHR,n=void 0!==A&&A,r=Object(c.a)(t,["forceXHR"]);return"function"!==typeof fetch||n?"undefined"!==typeof XMLHttpRequest?Pr(e,r):Vr(e,r):jr(e,r)}Dr.a;var Wr=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this)).file=e,n}return Object(l.a)(A,[{key:"fetchSlice",value:function(){var e=Object(a.a)(o.a.mark((function e(t,A){var n=this;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,r){var i=n.file.slice(t.offset,t.offset+t.length),o=new FileReader;o.onload=function(t){return e(t.target.result)},o.onerror=r,o.onabort=r,o.readAsArrayBuffer(i),A&&A.addEventListener("abort",(function(){return o.abort()}))})));case 1:case"end":return e.stop()}}),e)})));return function(t,A){return e.apply(this,arguments)}}()}]),A}(Dr.a);function Xr(e){return new Wr(e)}A(675);var qr=Object(xr.f)(pe),zr=Object(xr.f)(Me),$r={};Object(xr.c)($r,qr),Object(xr.c)($r,zr);Object(xr.f)(ve);var ei={nextZero:function(e,t){for(var A=t;0!==e[A];)A++;return A},readUshort:function(e,t){return e[t]<<8|e[t+1]},readShort:function(e,t){var A=ei.ui8;return A[0]=e[t+1],A[1]=e[t+0],ei.i16[0]},readInt:function(e,t){var A=ei.ui8;return A[0]=e[t+3],A[1]=e[t+2],A[2]=e[t+1],A[3]=e[t+0],ei.i32[0]},readUint:function(e,t){var A=ei.ui8;return A[0]=e[t+3],A[1]=e[t+2],A[2]=e[t+1],A[3]=e[t+0],ei.ui32[0]},readASCII:function(e,t,A){return A.map((function(A){return String.fromCharCode(e[t+A])})).join("")},readFloat:function(e,t){var A=ei.ui8;return Object(xr.g)(4,(function(n){A[n]=e[t+3-n]})),ei.fl32[0]},readDouble:function(e,t){var A=ei.ui8;return Object(xr.g)(8,(function(n){A[n]=e[t+7-n]})),ei.fl64[0]},writeUshort:function(e,t,A){e[t]=A>>8&255,e[t+1]=255&A},writeUint:function(e,t,A){e[t]=A>>24&255,e[t+1]=A>>16&255,e[t+2]=A>>8&255,e[t+3]=A>>0&255},writeASCII:function(e,t,A){Object(xr.g)(A.length,(function(n){e[t+n]=A.charCodeAt(n)}))},ui8:new Uint8Array(8)};ei.fl64=new Float64Array(ei.ui8.buffer),ei.writeDouble=function(e,t,A){ei.fl64[0]=A,Object(xr.g)(8,(function(A){e[t+A]=ei.ui8[7-A]}))};function ti(e){switch(e){case me.BYTE:case me.ASCII:case me.SBYTE:case me.UNDEFINED:return 1;case me.SHORT:case me.SSHORT:return 2;case me.LONG:case me.SLONG:case me.FLOAT:case me.IFD:return 4;case me.RATIONAL:case me.SRATIONAL:case me.DOUBLE:case me.LONG8:case me.SLONG8:case me.IFD8:return 8;default:throw new RangeError("Invalid field type: ".concat(e))}}function Ai(e){var t=e.GeoKeyDirectory;if(!t)return null;for(var A={},n=4;n<=4*t[3];n+=4){var r=Me[t[n]],i=t[n+1]?pe[t[n+1]]:null,o=t[n+2],a=t[n+3],s=null;if(i){if("undefined"===typeof(s=e[i])||null===s)throw new Error("Could not get value of geoKey '".concat(r,"'."));"string"===typeof s?s=s.substring(a,a+o-1):s.subarray&&(s=s.subarray(a,a+o),1===o&&(s=s[0]))}else s=a;A[r]=s}return A}function ni(e,t,A,n){var r=null,i=null,o=ti(t);switch(t){case me.BYTE:case me.ASCII:case me.UNDEFINED:r=new Uint8Array(A),i=e.readUint8;break;case me.SBYTE:r=new Int8Array(A),i=e.readInt8;break;case me.SHORT:r=new Uint16Array(A),i=e.readUint16;break;case me.SSHORT:r=new Int16Array(A),i=e.readInt16;break;case me.LONG:case me.IFD:r=new Uint32Array(A),i=e.readUint32;break;case me.SLONG:r=new Int32Array(A),i=e.readInt32;break;case me.LONG8:case me.IFD8:r=new Array(A),i=e.readUint64;break;case me.SLONG8:r=new Array(A),i=e.readInt64;break;case me.RATIONAL:r=new Uint32Array(2*A),i=e.readUint32;break;case me.SRATIONAL:r=new Int32Array(2*A),i=e.readInt32;break;case me.FLOAT:r=new Float32Array(A),i=e.readFloat32;break;case me.DOUBLE:r=new Float64Array(A),i=e.readFloat64;break;default:throw new RangeError("Invalid field type: ".concat(t))}if(t!==me.RATIONAL&&t!==me.SRATIONAL)for(var a=0;a<A;++a)r[a]=i.call(e,n+a*o);else for(var s=0;s<A;s+=2)r[s]=i.call(e,n+s*o),r[s+1]=i.call(e,n+(s*o+4));return t===me.ASCII?new TextDecoder("utf-8").decode(r):r}var ri=function e(t,A,n){Object(u.a)(this,e),this.fileDirectory=t,this.geoKeyDirectory=A,this.nextIFDByteOffset=n},ii=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this,"No image at index ".concat(e))).index=e,n}return A}(Object(q.a)(Error)),oi=function(){function e(){Object(u.a)(this,e)}return Object(l.a)(e,[{key:"readRasters",value:function(){var e=Object(a.a)(o.a.mark((function e(){var t,A,n,r,i,a,g,c,u,l,I,C,h,f,B,p,E,Q,y,v,m,b,w,S,F,R,D,G,k,x,N,U,_,M,O,L,T,Z,H,Y=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Y.length>0&&void 0!==Y[0]?Y[0]:{},A=t.window,n=t.width,r=t.height,i=t.resX,a=t.resY,g=t.bbox,e.next=5,this.getImage();case 5:return c=e.sent,u=c,e.next=9,this.getImageCount();case 9:if(l=e.sent,I=c.getBoundingBox(),!A||!g){e.next=13;break}throw new Error('Both "bbox" and "window" passed.');case 13:if(!n&&!r){e.next=24;break}if(A&&(C=c.getOrigin(),h=Object(s.a)(C,2),f=h[0],B=h[1],p=c.getResolution(),E=Object(s.a)(p,2),Q=E[0],y=E[1],g=[f+A[0]*Q,B+A[1]*y,f+A[2]*Q,B+A[3]*y]),v=g||I,!n){e.next=20;break}if(!i){e.next=19;break}throw new Error("Both width and resX passed");case 19:i=(v[2]-v[0])/n;case 20:if(!r){e.next=24;break}if(!a){e.next=23;break}throw new Error("Both width and resY passed");case 23:a=(v[3]-v[1])/r;case 24:if(!i&&!a){e.next=48;break}m=[],b=0;case 27:if(!(b<l)){e.next=36;break}return e.next=30,this.getImage(b);case 30:w=e.sent,S=w.fileDirectory,F=S.SubfileType,R=S.NewSubfileType,(0===b||2===F||1&R)&&m.push(w);case 33:++b,e.next=27;break;case 36:m.sort((function(e,t){return e.getWidth()-t.getWidth()})),D=0;case 38:if(!(D<m.length)){e.next=48;break}if(G=m[D],k=(I[2]-I[0])/G.getWidth(),x=(I[3]-I[1])/G.getHeight(),u=G,!(i&&i>k||a&&a>x)){e.next=45;break}return e.abrupt("break",48);case 45:++D,e.next=38;break;case 48:return N=A,g&&(U=c.getOrigin(),_=Object(s.a)(U,2),M=_[0],O=_[1],L=u.getResolution(c),T=Object(s.a)(L,2),Z=T[0],H=T[1],N=[Math.round((g[0]-M)/Z),Math.round((g[1]-O)/H),Math.round((g[2]-M)/Z),Math.round((g[3]-O)/H)],N=[Math.min(N[0],N[2]),Math.min(N[1],N[3]),Math.max(N[0],N[2]),Math.max(N[1],N[3])]),e.abrupt("return",u.readRasters(Object(d.a)({},t,{window:N})));case 51:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()}]),e}(),ai=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(e,n,r,i){var o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return Object(u.a)(this,A),(o=t.call(this)).source=e,o.littleEndian=n,o.bigTiff=r,o.firstIFDOffset=i,o.cache=a.cache||!1,o.ifdRequests=[],o.ghostValues=null,o}return Object(l.a)(A,[{key:"getSlice",value:function(){var e=Object(a.a)(o.a.mark((function e(t,A){var n;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.bigTiff?4048:1024,e.t0=vr,e.next=4,this.source.fetch([{offset:t,length:"undefined"!==typeof A?A:n}]);case 4:return e.t1=e.sent[0],e.t2=t,e.t3=this.littleEndian,e.t4=this.bigTiff,e.abrupt("return",new e.t0(e.t1,e.t2,e.t3,e.t4));case 9:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"parseFileDirectoryAt",value:function(){var e=Object(a.a)(o.a.mark((function e(t){var A,n,r,i,a,s,g,c,u,l,I,C,h,f,d,B,p,E,Q,y;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=this.bigTiff?20:12,n=this.bigTiff?8:2,e.next=4,this.getSlice(t);case 4:if(r=e.sent,i=this.bigTiff?r.readUint64(t):r.readUint16(t),a=i*A+(this.bigTiff?16:6),r.covers(t,a)){e.next=11;break}return e.next=10,this.getSlice(t,a);case 10:r=e.sent;case 11:s={},g=t+(this.bigTiff?8:2),c=0;case 14:if(!(c<i)){e.next=41;break}if(u=r.readUint16(g),l=r.readUint16(g+2),I=this.bigTiff?r.readUint64(g+4):r.readUint32(g+4),C=void 0,h=void 0,f=ti(l),d=g+(this.bigTiff?12:8),!(f*I<=(this.bigTiff?8:4))){e.next=26;break}C=ni(r,l,I,d),e.next=36;break;case 26:if(B=r.readOffset(d),p=ti(l)*I,!r.covers(B,p)){e.next=32;break}C=ni(r,l,I,B),e.next=36;break;case 32:return e.next=34,this.getSlice(B,p);case 34:E=e.sent,C=ni(E,l,I,B);case 36:h=1===I&&-1===ye.indexOf(u)&&l!==me.RATIONAL&&l!==me.SRATIONAL?C[0]:C,s[pe[u]]=h;case 38:g+=A,++c,e.next=14;break;case 41:return Q=Ai(s),y=r.readOffset(t+n+A*i),e.abrupt("return",new ri(s,Q,y));case 44:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"requestIFD",value:function(){var e=Object(a.a)(o.a.mark((function e(t){var A=this;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.ifdRequests[t]){e.next=4;break}return e.abrupt("return",this.ifdRequests[t]);case 4:if(0!==t){e.next=9;break}return this.ifdRequests[t]=this.parseFileDirectoryAt(this.firstIFDOffset),e.abrupt("return",this.ifdRequests[t]);case 9:if(this.ifdRequests[t-1]){e.next=19;break}e.prev=10,this.ifdRequests[t-1]=this.requestIFD(t-1),e.next=19;break;case 14:if(e.prev=14,e.t0=e.catch(10),!(e.t0 instanceof ii)){e.next=18;break}throw new ii(t);case 18:throw e.t0;case 19:return this.ifdRequests[t]=Object(a.a)(o.a.mark((function e(){var n;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,A.ifdRequests[t-1];case 2:if(0!==(n=e.sent).nextIFDByteOffset){e.next=5;break}throw new ii(t);case 5:return e.abrupt("return",A.parseFileDirectoryAt(n.nextIFDByteOffset));case 6:case"end":return e.stop()}}),e)})))(),e.abrupt("return",this.ifdRequests[t]);case 21:case"end":return e.stop()}}),e,this,[[10,14]])})));return function(t){return e.apply(this,arguments)}}()},{key:"getImage",value:function(){var e=Object(a.a)(o.a.mark((function e(){var t,A,n=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:0,e.next=3,this.requestIFD(t);case 3:return A=e.sent,e.abrupt("return",new Qr(A.fileDirectory,A.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source));case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"getImageCount",value:function(){var e=Object(a.a)(o.a.mark((function e(){var t,A;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=0,A=!0;case 2:if(!A){e.next=18;break}return e.prev=3,e.next=6,this.requestIFD(t);case 6:++t,e.next=16;break;case 9:if(e.prev=9,e.t0=e.catch(3),!(e.t0 instanceof ii)){e.next=15;break}A=!1,e.next=16;break;case 15:throw e.t0;case 16:e.next=2;break;case 18:return e.abrupt("return",t);case 19:case"end":return e.stop()}}),e,this,[[3,9]])})));return function(){return e.apply(this,arguments)}}()},{key:"getGhostValues",value:function(){var e=Object(a.a)(o.a.mark((function e(){var t,A,n,r,i,a,g,c,u=this;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.bigTiff?16:8,!this.ghostValues){e.next=3;break}return e.abrupt("return",this.ghostValues);case 3:return n=(A="GDAL_STRUCTURAL_METADATA_SIZE=").length+100,e.next=7,this.getSlice(t,n);case 7:if(r=e.sent,A!==ni(r,me.ASCII,A.length,t)){e.next=19;break}if(i=ni(r,me.ASCII,n,t),a=i.split("\n")[0],!((g=Number(a.split("=")[1].split(" ")[0])+a.length)>n)){e.next=16;break}return e.next=15,this.getSlice(t,g);case 15:r=e.sent;case 16:c=ni(r,me.ASCII,g,t),this.ghostValues={},c.split("\n").filter((function(e){return e.length>0})).map((function(e){return e.split("=")})).forEach((function(e){var t=Object(s.a)(e,2),A=t[0],n=t[1];u.ghostValues[A]=n}));case 19:return e.abrupt("return",this.ghostValues);case 20:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"close",value:function(){return"function"===typeof this.source.close&&this.source.close()}}],[{key:"fromSource",value:function(){var e=Object(a.a)(o.a.mark((function e(t,n,r){var i,a,s,g,c,u,l;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.fetch([{offset:0,length:1024}],r);case 2:if(i=e.sent[0],a=new yr(i),18761!==(s=a.getUint16(0,0))){e.next=9;break}g=!0,e.next=14;break;case 9:if(19789!==s){e.next=13;break}g=!1,e.next=14;break;case 13:throw new TypeError("Invalid byte order value.");case 14:if(42!==(c=a.getUint16(2,g))){e.next=19;break}u=!1,e.next=27;break;case 19:if(43!==c){e.next=26;break}if(u=!0,8===a.getUint16(4,g)){e.next=24;break}throw new Error("Unsupported offset byte-size.");case 24:e.next=27;break;case 26:throw new TypeError("Invalid magic number.");case 27:return l=u?a.getUint64(8,g):a.getUint32(4,g),e.abrupt("return",new A(t,g,u,l,n));case 29:case"end":return e.stop()}}),e)})));return function(t,A,n){return e.apply(this,arguments)}}()}]),A}(oi);function si(e){return gi.apply(this,arguments)}function gi(){return(gi=Object(a.a)(o.a.mark((function e(t){var A,n,r=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=r.length>1&&void 0!==r[1]?r[1]:{},n=r.length>2?r[2]:void 0,e.abrupt("return",ai.fromSource(Kr(t,A),n));case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ci(e,t){return ui.apply(this,arguments)}function ui(){return(ui=Object(a.a)(o.a.mark((function e(t,A){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",ai.fromSource(Xr(t),A));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var li,Ii,Ci,hi,fi=A(661),di=A.n(fi),Bi=A(71);A.d(t,"a",(function(){return oo})),A.d(t,"b",(function(){return no})),A.d(t,"c",(function(){return mi})),A.d(t,"d",(function(){return so})),A.d(t,"e",(function(){return vi})),A.d(t,"f",(function(){return co})),A.d(t,"g",(function(){return pi})),A.d(t,"h",(function(){return fo})),A.d(t,"i",(function(){return Fo})),A.d(t,"j",(function(){return Ni})),A.d(t,"k",(function(){return Aa})),A.d(t,"l",(function(){return Li})),A.d(t,"m",(function(){return ho})),A.d(t,"n",(function(){return Xo})),A.d(t,"o",(function(){return ia}));var pi,Ei,Qi={name:"channel-intensity-module",defines:{SAMPLER_TYPE:"usampler2D",COLORMAP_FUNCTION:""},fs:"#define GLSLIFY 1\nfloat apply_contrast_limits(float intensity,vec2 contrastLimits){return max(0.,(intensity-contrastLimits[0])/max(0.0005,(contrastLimits[1]-contrastLimits[0])));}"},yi=[0,0,0],vi=6,mi={Uint8:{format:F.default.R8UI,dataFormat:F.default.RED_INTEGER,type:F.default.UNSIGNED_BYTE,max:Math.pow(2,8)-1,sampler:"usampler2D"},Uint16:{format:F.default.R16UI,dataFormat:F.default.RED_INTEGER,type:F.default.UNSIGNED_SHORT,max:Math.pow(2,16)-1,sampler:"usampler2D"},Uint32:{format:F.default.R32UI,dataFormat:F.default.RED_INTEGER,type:F.default.UNSIGNED_INT,max:Math.pow(2,32)-1,sampler:"usampler2D"},Float32:{format:F.default.R32F,dataFormat:F.default.RED,type:F.default.FLOAT,max:3.4*Math.pow(10,38),sampler:"sampler2D"},Int8:{format:F.default.R8I,dataFormat:F.default.RED_INTEGER,type:F.default.BYTE,max:Math.pow(2,7)-1,sampler:"isampler2D"},Int16:{format:F.default.R16I,dataFormat:F.default.RED_INTEGER,type:F.default.SHORT,max:Math.pow(2,15)-1,sampler:"isampler2D"},Int32:{format:F.default.R32I,dataFormat:F.default.RED_INTEGER,type:F.default.INT,max:Math.pow(2,31)-1,sampler:"isampler2D"},Float64:{format:F.default.R32F,dataFormat:F.default.RED,type:F.default.FLOAT,max:3.4*Math.pow(10,38),sampler:"sampler2D",cast:function(e){return new Float32Array(e)}}},bi=["jet","hsv","hot","cool","spring","summer","autumn","winter","bone","copper","greys","yignbu","greens","yiorrd","bluered","rdbu","picnic","rainbow","portland","blackbody","earth","electric","alpha","viridis","inferno","magma","plasma","warm","rainbow-soft","bathymetry","cdom","chlorophyll","density","freesurface-blue","freesurface-red","oxygen","par","phase","salinity","temperature","turbidity","velocity-blue","velocity-green","cubehelix"];function wi(e,t,A){for(var n=0;n<A;n+=1)e.push(t);return e}function Si(e){var t=mi[e];if(!t){var A=Object.keys(mi);throw Error("Dtype not supported, got ".concat(e,". Must be one of ").concat(A,"."))}return t}function Fi(e){var t=e.contrastLimits,A=void 0===t?[]:t,n=e.channelsVisible,r=e.domain,i=e.dtype,o=r&&r[1]||Si(i).max,a=A.map((function(e,t){return n[t]?e:[o,o]})),s=vi-a.length;if(s<0)throw Error("".concat(a.lengths," channels passed in, but only 6 are allowed."));return wi(a,[o,o],s).reduce((function(e,t){return e.concat(t)}),[])}function Ri(e){var t,A,n=null!==(t=null===e||void 0===e||null===(A=e.meta)||void 0===A?void 0:A.physicalSizes)&&void 0!==t?t:{},r=n.x,i=n.y,o=n.z;if((null===r||void 0===r?void 0:r.size)&&(null===i||void 0===i?void 0:i.size)&&(null===o||void 0===o?void 0:o.size)){var a=Math.min(o.size,r.size,i.size),s=[r.size/a,i.size/a,o.size/a];return(new S.Matrix4).scale(s)}return(new S.Matrix4).identity()}(Ei=pi||(pi={})).MAX_INTENSITY_PROJECTION="Maximum Intensity Projection",Ei.MIN_INTENSITY_PROJECTION="Minimum Intensity Projection",Ei.ADDITIVE="Additive";var Di={fs:"#define SHADER_NAME xr-layer-fragment-shader\nprecision highp float;precision highp int;precision highp SAMPLER_TYPE;\n#define GLSLIFY 1\nuniform SAMPLER_TYPE channel0;uniform SAMPLER_TYPE channel1;uniform SAMPLER_TYPE channel2;uniform SAMPLER_TYPE channel3;uniform SAMPLER_TYPE channel4;uniform SAMPLER_TYPE channel5;in vec2 vTexCoord;uniform vec2 contrastLimits[6];void main(){float intensity0=float(texture(channel0,vTexCoord).r);DECKGL_PROCESS_INTENSITY(intensity0,contrastLimits[0],0);float intensity1=float(texture(channel1,vTexCoord).r);DECKGL_PROCESS_INTENSITY(intensity1,contrastLimits[1],1);float intensity2=float(texture(channel2,vTexCoord).r);DECKGL_PROCESS_INTENSITY(intensity2,contrastLimits[2],2);float intensity3=float(texture(channel3,vTexCoord).r);DECKGL_PROCESS_INTENSITY(intensity3,contrastLimits[3],3);float intensity4=float(texture(channel4,vTexCoord).r);DECKGL_PROCESS_INTENSITY(intensity4,contrastLimits[4],4);float intensity5=float(texture(channel5,vTexCoord).r);DECKGL_PROCESS_INTENSITY(intensity5,contrastLimits[5],5);DECKGL_MUTATE_COLOR(gl_FragColor,intensity0,intensity1,intensity2,intensity3,intensity4,intensity5,vTexCoord);geometry.uv=vTexCoord;DECKGL_FILTER_COLOR(gl_FragColor,geometry);}",vs:"#define GLSLIFY 1\n#define SHADER_NAME xr-layer-vertex-shader\nattribute vec2 texCoords;attribute vec3 positions;attribute vec3 positions64Low;attribute vec3 instancePickingColors;varying vec2 vTexCoord;void main(void){geometry.worldPosition=positions;geometry.uv=texCoords;geometry.pickingColor=instancePickingColors;gl_Position=project_position_to_clipspace(positions,positions64Low,vec3(0.),geometry.position);DECKGL_FILTER_GL_POSITION(gl_Position,geometry);vTexCoord=texCoords;vec4 color=vec4(0.);DECKGL_FILTER_COLOR(color,geometry);}"};function Gi(e,t){var A=Object(_.b)(e,M.a.TEXTURE_FLOAT),n=Object(_.b)(e,M.a.TEXTURE_FILTER_LINEAR_FLOAT);if(!A)throw new Error("WebGL1 context does not support floating point textures. Unable to display raster data.");return n||t!==F.default.LINEAR?t:(console.warn("LINEAR filtering not supported in WebGL1 context. Falling back to NEAREST."),F.default.NEAREST)}function ki(e,t,A){if(!Object(D.j)(t))return{format:F.default.LUMINANCE,dataFormat:F.default.LUMINANCE,type:F.default.FLOAT,sampler:"sampler2D",shaderModule:Di,filter:Gi(t,A),cast:function(e){return new Float32Array(e)}};var n=A===F.default.LINEAR,r=Object(d.a)({},Di);r.fs="#version 300 es\n".concat(r.fs),r.vs="#version 300 es\n".concat(r.vs);var i=Si(n?"Float32":e);return Object(d.a)({},i,{shaderModule:r,filter:A,cast:n?function(e){return new Float32Array(e)}:function(e){return e}})}var xi={pickable:{type:"boolean",value:!0,compare:!0},coordinateSystem:p.a.CARTESIAN,channelData:{type:"object",value:{},compare:!0},bounds:{type:"array",value:[0,0,1,1],compare:!0},contrastLimits:{type:"array",value:[],compare:!0},channelsVisible:{type:"array",value:[],compare:!0},dtype:{type:"string",value:"Uint16",compare:!0},interpolation:{type:"number",value:F.default.NEAREST,compare:!0}},Ni=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"getShaders",value:function(){var e=this.props,t=e.dtype,n=e.interpolation,r=ki(t,this.context.gl,n),i=r.shaderModule,o=r.sampler,a=this._isHookDefinedByExtensions("fs:DECKGL_PROCESS_INTENSITY"),s=Object(d.a)({},Qi,{inject:{}});return a||(s.inject["fs:DECKGL_PROCESS_INTENSITY"]="\n intensity = apply_contrast_limits(intensity, contrastLimits);\n "),Object(C.a)(Object(I.a)(A.prototype),"getShaders",this).call(this,Object(d.a)({},i,{defines:{SAMPLER_TYPE:o},modules:[E.a,Q.a,s]}))}},{key:"_isHookDefinedByExtensions",value:function(e){var t=this.props.extensions;return null===t||void 0===t?void 0:t.some((function(t){var A=t.getShaders(),n=A.inject,r=void 0===n?{}:n,i=A.modules,o=void 0===i?[]:i,a=r[e],s=o.some((function(t){return null===t||void 0===t?void 0:t.inject[e]}));return a||s}))}},{key:"initializeState",value:function(){var e=this.context.gl;e.pixelStorei(F.default.UNPACK_ALIGNMENT,1),e.pixelStorei(F.default.PACK_ALIGNMENT,1),this.getAttributeManager().add({positions:{size:3,type:F.default.DOUBLE,fp64:this.use64bitPositions(),update:this.calculatePositions,noAlloc:!0}}),this.setState({numInstances:1,positions:new Float64Array(12)});var t=U.a.getDefaultProgramManager(e),A="fs:DECKGL_MUTATE_COLOR(inout vec4 rgba, float intensity0, float intensity1, float intensity2, float intensity3, float intensity4, float intensity5, vec2 vTexCoord)",n="fs:DECKGL_PROCESS_INTENSITY(inout float intensity, vec2 contrastLimits, int channelIndex)";t._hookFunctions.includes(A)||t.addShaderHook(A),t._hookFunctions.includes(n)||t.addShaderHook(n)}},{key:"finalizeState",value:function(){Object(C.a)(Object(I.a)(A.prototype),"finalizeState",this).call(this),this.state.textures&&Object.values(this.state.textures).forEach((function(e){return e&&e.delete()}))}},{key:"updateState",value:function(e){var t,n,r=e.props,i=e.oldProps,o=e.changeFlags,a=Object(c.a)(e,["props","oldProps","changeFlags"]);if(Object(C.a)(Object(I.a)(A.prototype),"updateState",this).call(this,Object(d.a)({props:r,oldProps:i,changeFlags:o},a)),o.extensionsChanged||r.interpolation!==i.interpolation){var s=this.context.gl;this.state.model&&this.state.model.delete(),this.setState({model:this._getModel(s)}),this.getAttributeManager().invalidateAll()}(r.channelData!==i.channelData&&(null===(t=r.channelData)||void 0===t?void 0:t.data)!==(null===(n=i.channelData)||void 0===n?void 0:n.data)||r.interpolation!==i.interpolation)&&this.loadChannelTextures(r.channelData);var g=this.getAttributeManager();r.bounds!==i.bounds&&g.invalidate("positions")}},{key:"_getModel",value:function(e){return e?new G.a(e,Object(d.a)({},this.getShaders(),{id:this.props.id,geometry:new k.a({drawMode:F.default.TRIANGLE_FAN,vertexCount:4,attributes:{texCoords:new Float32Array([0,1,0,0,1,0,1,1])}}),isInstanced:!1})):null}},{key:"calculatePositions",value:function(e){var t=this.state.positions,A=this.props.bounds;t[0]=A[0],t[1]=A[1],t[2]=0,t[3]=A[0],t[4]=A[3],t[5]=0,t[6]=A[2],t[7]=A[3],t[8]=0,t[9]=A[2],t[10]=A[1],t[11]=0,e.value=t}},{key:"draw",value:function(e){var t=e.uniforms,A=this.state,n=A.textures,r=A.model;if(n&&r){var i=this.props,o=i.contrastLimits,a=i.domain,s=i.dtype,g=i.channelsVisible,c=Object.values(n).filter((function(e){return e})).length,u=Fi({contrastLimits:o.slice(0,c),channelsVisible:g.slice(0,c),domain:a,dtype:s});r.setUniforms(Object(d.a)({},t,{contrastLimits:u},n)).draw()}}},{key:"loadChannelTextures",value:function(e){var t=this,A={channel0:null,channel1:null,channel2:null,channel3:null,channel4:null,channel5:null};this.state.textures&&Object.values(this.state.textures).forEach((function(e){return e&&e.delete()})),e&&Object.keys(e).length>0&&e.data&&(e.data.forEach((function(n,r){A["channel".concat(r)]=t.dataToTexture(n,e.width,e.height)}),this),this.setState({textures:A}))}},{key:"dataToTexture",value:function(e,t,A){var n,r,i,o=this.props.interpolation,a=ki(this.props.dtype,this.context.gl,o);return new x.a(this.context.gl,{width:t,height:A,data:null!==(n=null===(r=a.cast)||void 0===r?void 0:r.call(a,e))&&void 0!==n?n:e,mipmaps:!1,parameters:(i={},Object(g.a)(i,F.default.TEXTURE_MIN_FILTER,a.filter),Object(g.a)(i,F.default.TEXTURE_MAG_FILTER,a.filter),Object(g.a)(i,F.default.TEXTURE_WRAP_S,F.default.CLAMP_TO_EDGE),Object(g.a)(i,F.default.TEXTURE_WRAP_T,F.default.CLAMP_TO_EDGE),i),format:a.format,dataFormat:a.dataFormat,type:a.type})}}]),A}(y.a);Ni.layerName="XRLayer",Ni.defaultProps=xi;var Ui={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},_i=Object(d.a)({},O.a.defaultProps,{pickable:{type:"boolean",value:!0,compare:!0},coordinateSystem:p.a.CARTESIAN}),Mi=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"_getModel",value:function(e){var t=this.props,A=function(e,t){var A=t?"true":"false",n="vec3(".concat((t||[0,0,0]).map((function(e){return String(e/255)})).join(","),")");switch(e){case Ui.RGB:return"color[3] = (".concat(A," && (color.rgb == ").concat(n,")) ? 0.0 : color.a;");case Ui.WhiteIsZero:return" float value = 1.0 - (color.r / 256.0);\n color = vec4(value, value, value, (".concat(A," && vec3(value, value, value) == ").concat(n,") ? 0.0 : color.a);\n ");case Ui.BlackIsZero:return" float value = (color.r / 256.0);\n color = vec4(value, value, value, (".concat(A," && vec3(value, value, value) == ").concat(n,") ? 0.0 : color.a);\n ");case Ui.YCbCr:return" float y = color[0];\n float cb = color[1];\n float cr = color[2];\n color[0] = (y + (1.40200 * (cr - .5)));\n color[1] = (y - (0.34414 * (cb - .5)) - (0.71414 * (cr - .5)));\n color[2] = (y + (1.77200 * (cb - .5)));\n color[3] = (".concat(A," && distance(color.rgb, ").concat(n,") < 0.01) ? 0.0 : color.a;\n ");default:return console.error("Unsupported photometric interpretation or none provided. No transformation will be done to image data"),""}}(t.photometricInterpretation,t.transparentColorInHook);return e?new G.a(e,Object(d.a)({},this.getShaders(),{id:this.props.id,geometry:new k.a({drawMode:F.default.TRIANGLES,vertexCount:6}),isInstanced:!1,inject:{"fs:DECKGL_FILTER_COLOR":A}})):null}}]),A}(O.a),Oi=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"initializeState",value:function(e){var t=this.context.gl;t.pixelStorei(F.default.UNPACK_ALIGNMENT,1),t.pixelStorei(F.default.PACK_ALIGNMENT,1),Object(C.a)(Object(I.a)(A.prototype),"initializeState",this).call(this,e)}},{key:"renderLayers",value:function(){var e=this.props,t=e.photometricInterpretation,A=e.transparentColor,n=function(e){switch(e){case Ui.RGB:return[0,0,0,0];case Ui.WhiteIsZero:return[255,255,255,0];case Ui.BlackIsZero:return[0,0,0,0];case Ui.YCbCr:return[16,128,128,0];default:return console.error("Unsupported photometric interpretation or none provided. No transformation will be done to image data"),[0,0,0,0]}}(t);return new Mi(this.props,{transparentColor:n,transparentColorInHook:A,id:"".concat(this.props.id,"-wrapped")})}}]),A}(v.a);function Li(e){for(var t=e.length,A=1/0,n=-1/0,r=0;t--;)e[t]<A&&(A=e[t]),e[t]>n&&(n=e[t]),r+=e[t];var i=r/e.length;t=e.length;for(var o=0;t--;)o+=Math.pow(e[t]-i,2);var a=Math.pow(o/e.length,.5),s=Math.floor(e.length/2),g=Math.floor(e.length/4),c=3*Math.floor(e.length/4);H(e,s);var u=e[s];H(e,g,0,s);var l=e[g];H(e,c,s,e.length-1);var I=e[c],C=e.filter((function(e){return e>0})),h=Math.floor(.9995*C.length),f=Math.floor(5e-4*C.length);return H(C,h),H(C,f,0,h),{mean:i,sd:a,q1:l,q3:I,median:u,domain:[A,n],contrastLimits:[C[f]||0,C[h]||0]}}function Ti(e){return Array.isArray(e)?e:[e]}function Zi(e){if(!Number.isInteger(e))throw Error("Not an integer.");var t=new ArrayBuffer(4);new DataView(t).setInt32(0,e,!1);var A=new Uint8Array(t);return Array.from(A)}function Hi(e){var t=e[e.length-1];return 3===t||4===t}function Yi(e){return e.toLowerCase().split("").reverse()}function Ji(e){var t=new Map(e.map((function(e,t){return[e,t]})));if(t.size!==e.length)throw Error("Labels must be unique, found duplicated label.");return function(e){var A=t.get(e);if(void 0===A)throw Error("Invalid dimension.");return A}}function ji(e){var t=Hi(e.shape),A=e.shape.slice(t?-3:-2),n=Object(s.a)(A,2);return{height:n[0],width:n[1]}}function Pi(e){return Math.pow(2,Math.floor(Math.log2(e)))}Oi.layerName="BitmapLayer",Oi.PHOTOMETRIC_INTERPRETATIONS=Ui,Oi.defaultProps=Object(d.a)({},_i,{image:{type:"object",value:{},compare:!0},transparentColor:{type:"array",value:[0,0,0],compare:!0},photometricInterpretation:{type:"number",value:2,compare:!0}}),Mi.defaultProps=_i,Mi.layerName="BitmapLayerWrapper";var Vi={pickable:{type:"boolean",value:!0,compare:!0},coordinateSystem:p.a.CARTESIAN,contrastLimits:{type:"array",value:[],compare:!0},channelsVisible:{type:"array",value:[],compare:!0},renderSubLayers:{type:"function",value:function(e){var t=e.tile,A=t.bbox,n=A.left,r=A.top,i=A.right,o=A.bottom,a=t.x,s=t.y,g=t.z,c=e.data,u=e.id,l=e.loader,I=e.maxZoom;if([n,o,i,r].some((function(e){return e<0}))||!c)return null;var C=l[0],h=ji(C),f=h.height,d=h.width,B=[n,c.height<C.tileSize?f:o,c.width<C.tileSize?d:i,r];if(Hi(C.shape)){var p=C.meta.photometricInterpretation;return new Oi(e,{image:c,photometricInterpretation:void 0===p?2:p,bounds:B,id:"tile-sub-layer-".concat(B,"-").concat(u),tileId:{x:a,y:s,z:g}})}return new Ni(e,{channelData:c,bounds:B,id:"tile-sub-layer-".concat(B,"-").concat(u),tileId:{x:a,y:s,z:g},interpolation:g===I?F.default.NEAREST:F.default.LINEAR})},compare:!1},dtype:{type:"string",value:"Uint16",compare:!0},domain:{type:"array",value:[],compare:!0},viewportId:{type:"string",value:"",compare:!0},interpolation:{type:"number",value:null,compare:!0}},Ki=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"_updateTileset",value:function(){this.props.viewportId||Object(C.a)(Object(I.a)(A.prototype),"_updateTileset",this).call(this),(this.props.viewportId&&this.context.viewport.id===this.props.viewportId||!this.state.tileset._viewport)&&Object(C.a)(Object(I.a)(A.prototype),"_updateTileset",this).call(this)}}]),A}(R.a);Ki.layerName="MultiscaleImageLayerBase",Ki.defaultProps=Vi;var Wi={name:"lens-module",fs:"#define GLSLIFY 1\nuniform float majorLensAxis;uniform float minorLensAxis;uniform vec2 lensCenter;uniform bool lensEnabled;uniform int lensSelection;uniform vec3 lensBorderColor;uniform float lensBorderRadius;uniform vec3 colors[6];bool frag_in_lens_bounds(vec2 vTexCoord){return pow((lensCenter.x-vTexCoord.x)/majorLensAxis,2.)+pow((lensCenter.y-vTexCoord.y)/minorLensAxis,2.)<(1.-lensBorderRadius);}bool frag_on_lens_bounds(vec2 vTexCoord){float ellipseDistance=pow((lensCenter.x-vTexCoord.x)/majorLensAxis,2.)+pow((lensCenter.y-vTexCoord.y)/minorLensAxis,2.);return ellipseDistance<=1.&&ellipseDistance>=(1.-lensBorderRadius);}float get_use_color_float(vec2 vTexCoord,int channelIndex){bool isFragInLensBounds=frag_in_lens_bounds(vTexCoord);bool inLensAndUseLens=lensEnabled&&isFragInLensBounds;return float(int((inLensAndUseLens&&channelIndex==lensSelection)||(!inLensAndUseLens)));}void mutate_color(inout vec3 rgb,float intensity0,float intensity1,float intensity2,float intensity3,float intensity4,float intensity5,vec2 vTexCoord){float useColorValue=0.;useColorValue=get_use_color_float(vTexCoord,0);rgb+=max(0.,min(1.,intensity0))*max(vec3(colors[0]),(1.-useColorValue)*vec3(1.,1.,1.));useColorValue=get_use_color_float(vTexCoord,1);rgb+=max(0.,min(1.,intensity1))*max(vec3(colors[1]),(1.-useColorValue)*vec3(1.,1.,1.));useColorValue=get_use_color_float(vTexCoord,2);rgb+=max(0.,min(1.,intensity2))*max(vec3(colors[2]),(1.-useColorValue)*vec3(1.,1.,1.));useColorValue=get_use_color_float(vTexCoord,3);rgb+=max(0.,min(1.,intensity3))*max(vec3(colors[3]),(1.-useColorValue)*vec3(1.,1.,1.));useColorValue=get_use_color_float(vTexCoord,4);rgb+=max(0.,min(1.,intensity4))*max(vec3(colors[4]),(1.-useColorValue)*vec3(1.,1.,1.));useColorValue=get_use_color_float(vTexCoord,5);rgb+=max(0.,min(1.,intensity5))*max(vec3(colors[5]),(1.-useColorValue)*vec3(1.,1.,1.));}",inject:{"fs:DECKGL_MUTATE_COLOR":"\n vec3 rgb = rgba.rgb;\n mutate_color(rgb, intensity0, intensity1, intensity2, intensity3, intensity4, intensity5, vTexCoord);\n rgba = vec4(rgb, 1.);\n ","fs:#main-end":"\n bool isFragOnLensBounds = frag_on_lens_bounds(vTexCoord);\n gl_FragColor = (lensEnabled && isFragOnLensBounds) ? vec4(lensBorderColor, 1.) : gl_FragColor;\n "}},Xi=[[0,0,255],[0,255,0],[255,0,255],[255,255,0],[255,128,0],[0,255,255],[255,255,255],[255,0,0]];function qi(e){if(e>Xi.length)throw new Error("Too many colors");return Xi.slice(0,e)}function zi(e){var t=e.colors,A=e.channelsVisible,n=t.map((function(e,t){return A[t]?e.map((function(e){return e/255})):yi})),r=vi-n.length;return wi(n,yi,r).reduce((function(e,t){return e.concat(t)}),[])}var $i={lensEnabled:{type:"boolean",value:!1,compare:!0},lensSelection:{type:"number",value:0,compare:!0},lensRadius:{type:"number",value:100,compare:!0},lensBorderColor:{type:"array",value:[255,255,255],compare:!0},lensBorderRadius:{type:"number",value:.02,compare:!0},colors:{type:"array",value:null,compare:!0}},eo=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"getShaders",value:function(){return Object(d.a)({},Object(C.a)(Object(I.a)(A.prototype),"getShaders",this).call(this),{modules:[Wi]})}},{key:"initializeState",value:function(){var e=this,t=this.getCurrentLayer();if(!t.isComposite){var A=function(){var A=t.props.viewportId,n=e.props.lensRadius,r=void 0===n?$i.lensRadius.value:n;if(A){var i=t.context.mousePosition,o=t.context.deck.viewManager.views.filter((function(e){return e.id===A}))[0],a=t.context.deck.viewManager.viewState[A],s=o.makeViewport(Object(d.a)({},a,{viewState:a}));if(i&&s.containsPixel(i)){var g={x:i.x-s.x,y:i.y-s.y},c=[[g.x-r,g.y],[g.x,g.y+r],[g.x+r,g.y],[g.x,g.y-r]].map((function(e,t){return s.unproject(e)[t%2]}));t.setState({unprojectLensBounds:c})}else t.setState({unprojectLensBounds:[0,0,0,0]})}else t.setState({unprojectLensBounds:[0,0,0,0]})};this.context.deck&&this.context.deck.eventManager.on({pointermove:A,pointerleave:A,wheel:A}),this.setState({onMouseMove:A,unprojectLensBounds:[0,0,0,0]})}}},{key:"draw",value:function(){var e,t=this.state.unprojectLensBounds,A=void 0===t?[0,0,0,0]:t,n=this.props,r=n.bounds,i=n.lensEnabled,o=void 0===i?$i.lensEnabled.value:i,a=n.lensSelection,g=void 0===a?$i.lensSelection.value:a,c=n.lensBorderColor,u=void 0===c?$i.lensBorderColor.value:c,l=n.lensBorderRadius,I=void 0===l?$i.lensBorderRadius.value:l,C=n.colors,h=n.channelsVisible,f=Object(s.a)(A,4),d=f[0],B=f[1],p=f[2],E=f[3],Q=Object(s.a)(r,4),y=Q[0],v=Q[1],m=Q[2],b=Q[3],w=(d-y)/(m-y),S=(B-b)/(v-b),F=(p-y)/(m-y),R=(E-b)/(v-b),D={majorLensAxis:(F-w)/2,minorLensAxis:(S-R)/2,lensCenter:[(F+w)/2,(S+R)/2],lensEnabled:o,lensSelection:g,lensBorderColor:u,lensBorderRadius:I,colors:zi({channelsVisible:h||this.selections.map((function(){return!0})),colors:C||qi(this.props.selections.length)})};null===(e=this.state.model)||void 0===e||e.setUniforms(D)}},{key:"finalizeState",value:function(){var e,t,A;this.context.deck&&this.context.deck.eventManager.off({pointermove:null===(e=this.state)||void 0===e?void 0:e.onMouseMove,pointerleave:null===(t=this.state)||void 0===t?void 0:t.onMouseMove,wheel:null===(A=this.state)||void 0===A?void 0:A.onMouseMove})}}]),A}(m.a);eo.extensionName="LensExtension",eo.defaultProps=$i;var to={name:"color-palette-module",fs:"#define GLSLIFY 1\nvec4 apply_transparent_color_1540259130(vec3 color,vec3 transparentColor,bool useTransparentColor,float opacity){return vec4(color,(color==transparentColor&&useTransparentColor)? 0. : opacity);}uniform vec3 transparentColor;uniform bool useTransparentColor;uniform float opacity;uniform vec3 colors[6];void mutate_color(inout vec3 rgb,float intensity0,float intensity1,float intensity2,float intensity3,float intensity4,float intensity5){rgb+=max(0.0,min(1.0,intensity0))*vec3(colors[0]);rgb+=max(0.0,min(1.0,intensity1))*vec3(colors[1]);rgb+=max(0.0,min(1.0,intensity2))*vec3(colors[2]);rgb+=max(0.0,min(1.0,intensity3))*vec3(colors[3]);rgb+=max(0.0,min(1.0,intensity4))*vec3(colors[4]);rgb+=max(0.0,min(1.0,intensity5))*vec3(colors[5]);}vec4 apply_opacity(vec3 rgb){return vec4(apply_transparent_color_1540259130(rgb,transparentColor,useTransparentColor,opacity));}",inject:{"fs:DECKGL_MUTATE_COLOR":"\n vec3 rgb = rgba.rgb;\n mutate_color(rgb, intensity0, intensity1, intensity2, intensity3, intensity4, intensity5);\n rgba = apply_opacity(rgb);\n "}},Ao={colors:{type:"array",value:null,compare:!0},opacity:{type:"number",value:1,compare:!0},transparentColor:{type:"array",value:null,compare:!0},useTransparentColor:{type:"boolean",value:!1,compare:!0}},no=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"getShaders",value:function(){return Object(d.a)({},Object(C.a)(Object(I.a)(A.prototype),"getShaders",this).call(this),{modules:[to]})}},{key:"draw",value:function(){var e,t=this.props,A=t.colors,n=t.channelsVisible,r=t.opacity,i=void 0===r?Ao.opacity.value:r,o=t.transparentColor,a=void 0===o?Ao.transparentColor.value:o,s=t.useTransparentColor,g=void 0===s?Ao.useTransparentColor.value:s,c={colors:zi({channelsVisible:n||this.selections.map((function(){return!0})),colors:A||qi(this.props.selections.length)}),opacity:i,transparentColor:(a||[0,0,0]).map((function(e){return e/255})),useTransparentColor:Boolean(g)};null===(e=this.state.model)||void 0===e||e.setUniforms(c)}}]),A}(m.a);no.extensionName="ColorPaletteExtension",no.defaultProps=Ao;var ro={name:"additive-colormap",fs:"#define GLSLIFY 1\nvec4 jet(float x_17){const float e0=0.0;const vec4 v0=vec4(0,0,0.5137254901960784,1);const float e1=0.125;const vec4 v1=vec4(0,0.23529411764705882,0.6666666666666666,1);const float e2=0.375;const vec4 v2=vec4(0.0196078431372549,1,1,1);const float e3=0.625;const vec4 v3=vec4(1,1,0,1);const float e4=0.875;const vec4 v4=vec4(0.9803921568627451,0,0,1);const float e5=1.0;const vec4 v5=vec4(0.5019607843137255,0,0,1);float a0=smoothstep(e0,e1,x_17);float a1=smoothstep(e1,e2,x_17);float a2=smoothstep(e2,e3,x_17);float a3=smoothstep(e3,e4,x_17);float a4=smoothstep(e4,e5,x_17);return max(mix(v0,v1,a0)*step(e0,x_17)*step(x_17,e1),max(mix(v1,v2,a1)*step(e1,x_17)*step(x_17,e2),max(mix(v2,v3,a2)*step(e2,x_17)*step(x_17,e3),max(mix(v3,v4,a3)*step(e3,x_17)*step(x_17,e4),mix(v4,v5,a4)*step(e4,x_17)*step(x_17,e5)))));}vec4 hsv(float x_18){const float e0=0.0;const vec4 v0=vec4(1,0,0,1);const float e1=0.169;const vec4 v1=vec4(0.9921568627450981,1,0.00784313725490196,1);const float e2=0.173;const vec4 v2=vec4(0.9686274509803922,1,0.00784313725490196,1);const float e3=0.337;const vec4 v3=vec4(0,0.9882352941176471,0.01568627450980392,1);const float e4=0.341;const vec4 v4=vec4(0,0.9882352941176471,0.0392156862745098,1);const float e5=0.506;const vec4 v5=vec4(0.00392156862745098,0.9764705882352941,1,1);const float e6=0.671;const vec4 v6=vec4(0.00784313725490196,0,0.9921568627450981,1);const float e7=0.675;const vec4 v7=vec4(0.03137254901960784,0,0.9921568627450981,1);const float e8=0.839;const vec4 v8=vec4(1,0,0.984313725490196,1);const float e9=0.843;const vec4 v9=vec4(1,0,0.9607843137254902,1);const float e10=1.0;const vec4 v10=vec4(1,0,0.023529411764705882,1);float a0=smoothstep(e0,e1,x_18);float a1=smoothstep(e1,e2,x_18);float a2=smoothstep(e2,e3,x_18);float a3=smoothstep(e3,e4,x_18);float a4=smoothstep(e4,e5,x_18);float a5=smoothstep(e5,e6,x_18);float a6=smoothstep(e6,e7,x_18);float a7=smoothstep(e7,e8,x_18);float a8=smoothstep(e8,e9,x_18);float a9=smoothstep(e9,e10,x_18);return max(mix(v0,v1,a0)*step(e0,x_18)*step(x_18,e1),max(mix(v1,v2,a1)*step(e1,x_18)*step(x_18,e2),max(mix(v2,v3,a2)*step(e2,x_18)*step(x_18,e3),max(mix(v3,v4,a3)*step(e3,x_18)*step(x_18,e4),max(mix(v4,v5,a4)*step(e4,x_18)*step(x_18,e5),max(mix(v5,v6,a5)*step(e5,x_18)*step(x_18,e6),max(mix(v6,v7,a6)*step(e6,x_18)*step(x_18,e7),max(mix(v7,v8,a7)*step(e7,x_18)*step(x_18,e8),max(mix(v8,v9,a8)*step(e8,x_18)*step(x_18,e9),mix(v9,v10,a9)*step(e9,x_18)*step(x_18,e10))))))))));}vec4 hot(float x_13){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=0.3;const vec4 v1=vec4(0.9019607843137255,0,0,1);const float e2=0.6;const vec4 v2=vec4(1,0.8235294117647058,0,1);const float e3=1.0;const vec4 v3=vec4(1,1,1,1);float a0=smoothstep(e0,e1,x_13);float a1=smoothstep(e1,e2,x_13);float a2=smoothstep(e2,e3,x_13);return max(mix(v0,v1,a0)*step(e0,x_13)*step(x_13,e1),max(mix(v1,v2,a1)*step(e1,x_13)*step(x_13,e2),mix(v2,v3,a2)*step(e2,x_13)*step(x_13,e3)));}vec4 cool(float x_24){const float e0=0.0;const vec4 v0=vec4(0.49019607843137253,0,0.7019607843137254,1);const float e1=0.13;const vec4 v1=vec4(0.4549019607843137,0,0.8549019607843137,1);const float e2=0.25;const vec4 v2=vec4(0.3843137254901961,0.2901960784313726,0.9294117647058824,1);const float e3=0.38;const vec4 v3=vec4(0.26666666666666666,0.5725490196078431,0.9058823529411765,1);const float e4=0.5;const vec4 v4=vec4(0,0.8,0.7725490196078432,1);const float e5=0.63;const vec4 v5=vec4(0,0.9686274509803922,0.5725490196078431,1);const float e6=0.75;const vec4 v6=vec4(0,1,0.34509803921568627,1);const float e7=0.88;const vec4 v7=vec4(0.1568627450980392,1,0.03137254901960784,1);const float e8=1.0;const vec4 v8=vec4(0.5764705882352941,1,0,1);float a0=smoothstep(e0,e1,x_24);float a1=smoothstep(e1,e2,x_24);float a2=smoothstep(e2,e3,x_24);float a3=smoothstep(e3,e4,x_24);float a4=smoothstep(e4,e5,x_24);float a5=smoothstep(e5,e6,x_24);float a6=smoothstep(e6,e7,x_24);float a7=smoothstep(e7,e8,x_24);return max(mix(v0,v1,a0)*step(e0,x_24)*step(x_24,e1),max(mix(v1,v2,a1)*step(e1,x_24)*step(x_24,e2),max(mix(v2,v3,a2)*step(e2,x_24)*step(x_24,e3),max(mix(v3,v4,a3)*step(e3,x_24)*step(x_24,e4),max(mix(v4,v5,a4)*step(e4,x_24)*step(x_24,e5),max(mix(v5,v6,a5)*step(e5,x_24)*step(x_24,e6),max(mix(v6,v7,a6)*step(e6,x_24)*step(x_24,e7),mix(v7,v8,a7)*step(e7,x_24)*step(x_24,e8))))))));}vec4 spring(float x_5){const float e0=0.0;const vec4 v0=vec4(1,0,1,1);const float e1=1.0;const vec4 v1=vec4(1,1,0,1);float a0=smoothstep(e0,e1,x_5);return mix(v0,v1,a0)*step(e0,x_5)*step(x_5,e1);}vec4 summer(float x_12){const float e0=0.0;const vec4 v0=vec4(0,0.5019607843137255,0.4,1);const float e1=1.0;const vec4 v1=vec4(1,1,0.4,1);float a0=smoothstep(e0,e1,x_12);return mix(v0,v1,a0)*step(e0,x_12)*step(x_12,e1);}vec4 autumn(float x_25){const float e0=0.0;const vec4 v0=vec4(1,0,0,1);const float e1=1.0;const vec4 v1=vec4(1,1,0,1);float a0=smoothstep(e0,e1,x_25);return mix(v0,v1,a0)*step(e0,x_25)*step(x_25,e1);}vec4 winter(float x_16){const float e0=0.0;const vec4 v0=vec4(0,0,1,1);const float e1=1.0;const vec4 v1=vec4(0,1,0.5019607843137255,1);float a0=smoothstep(e0,e1,x_16);return mix(v0,v1,a0)*step(e0,x_16)*step(x_16,e1);}vec4 bone(float x_15){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=0.376;const vec4 v1=vec4(0.32941176470588235,0.32941176470588235,0.4549019607843137,1);const float e2=0.753;const vec4 v2=vec4(0.6627450980392157,0.7843137254901961,0.7843137254901961,1);const float e3=1.0;const vec4 v3=vec4(1,1,1,1);float a0=smoothstep(e0,e1,x_15);float a1=smoothstep(e1,e2,x_15);float a2=smoothstep(e2,e3,x_15);return max(mix(v0,v1,a0)*step(e0,x_15)*step(x_15,e1),max(mix(v1,v2,a1)*step(e1,x_15)*step(x_15,e2),mix(v2,v3,a2)*step(e2,x_15)*step(x_15,e3)));}vec4 copper(float x_10){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=0.804;const vec4 v1=vec4(1,0.6274509803921569,0.4,1);const float e2=1.0;const vec4 v2=vec4(1,0.7803921568627451,0.4980392156862745,1);float a0=smoothstep(e0,e1,x_10);float a1=smoothstep(e1,e2,x_10);return max(mix(v0,v1,a0)*step(e0,x_10)*step(x_10,e1),mix(v1,v2,a1)*step(e1,x_10)*step(x_10,e2));}vec4 greys(float x_4){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=1.0;const vec4 v1=vec4(1,1,1,1);float a0=smoothstep(e0,e1,x_4);return mix(v0,v1,a0)*step(e0,x_4)*step(x_4,e1);}vec4 yignbu(float x_32){const float e0=0.0;const vec4 v0=vec4(0.03137254901960784,0.11372549019607843,0.34509803921568627,1);const float e1=0.125;const vec4 v1=vec4(0.1450980392156863,0.20392156862745098,0.5803921568627451,1);const float e2=0.25;const vec4 v2=vec4(0.13333333333333333,0.3686274509803922,0.6588235294117647,1);const float e3=0.375;const vec4 v3=vec4(0.11372549019607843,0.5686274509803921,0.7529411764705882,1);const float e4=0.5;const vec4 v4=vec4(0.2549019607843137,0.7137254901960784,0.7686274509803922,1);const float e5=0.625;const vec4 v5=vec4(0.4980392156862745,0.803921568627451,0.7333333333333333,1);const float e6=0.75;const vec4 v6=vec4(0.7803921568627451,0.9137254901960784,0.7058823529411765,1);const float e7=0.875;const vec4 v7=vec4(0.9294117647058824,0.9725490196078431,0.8509803921568627,1);const float e8=1.0;const vec4 v8=vec4(1,1,0.8509803921568627,1);float a0=smoothstep(e0,e1,x_32);float a1=smoothstep(e1,e2,x_32);float a2=smoothstep(e2,e3,x_32);float a3=smoothstep(e3,e4,x_32);float a4=smoothstep(e4,e5,x_32);float a5=smoothstep(e5,e6,x_32);float a6=smoothstep(e6,e7,x_32);float a7=smoothstep(e7,e8,x_32);return max(mix(v0,v1,a0)*step(e0,x_32)*step(x_32,e1),max(mix(v1,v2,a1)*step(e1,x_32)*step(x_32,e2),max(mix(v2,v3,a2)*step(e2,x_32)*step(x_32,e3),max(mix(v3,v4,a3)*step(e3,x_32)*step(x_32,e4),max(mix(v4,v5,a4)*step(e4,x_32)*step(x_32,e5),max(mix(v5,v6,a5)*step(e5,x_32)*step(x_32,e6),max(mix(v6,v7,a6)*step(e6,x_32)*step(x_32,e7),mix(v7,v8,a7)*step(e7,x_32)*step(x_32,e8))))))));}vec4 greens(float x_34){const float e0=0.0;const vec4 v0=vec4(0,0.26666666666666666,0.10588235294117647,1);const float e1=0.125;const vec4 v1=vec4(0,0.42745098039215684,0.17254901960784313,1);const float e2=0.25;const vec4 v2=vec4(0.13725490196078433,0.5450980392156862,0.27058823529411763,1);const float e3=0.375;const vec4 v3=vec4(0.2549019607843137,0.6705882352941176,0.36470588235294116,1);const float e4=0.5;const vec4 v4=vec4(0.4549019607843137,0.7686274509803922,0.4627450980392157,1);const float e5=0.625;const vec4 v5=vec4(0.6313725490196078,0.8509803921568627,0.6078431372549019,1);const float e6=0.75;const vec4 v6=vec4(0.7803921568627451,0.9137254901960784,0.7529411764705882,1);const float e7=0.875;const vec4 v7=vec4(0.8980392156862745,0.9607843137254902,0.8784313725490196,1);const float e8=1.0;const vec4 v8=vec4(0.9686274509803922,0.9882352941176471,0.9607843137254902,1);float a0=smoothstep(e0,e1,x_34);float a1=smoothstep(e1,e2,x_34);float a2=smoothstep(e2,e3,x_34);float a3=smoothstep(e3,e4,x_34);float a4=smoothstep(e4,e5,x_34);float a5=smoothstep(e5,e6,x_34);float a6=smoothstep(e6,e7,x_34);float a7=smoothstep(e7,e8,x_34);return max(mix(v0,v1,a0)*step(e0,x_34)*step(x_34,e1),max(mix(v1,v2,a1)*step(e1,x_34)*step(x_34,e2),max(mix(v2,v3,a2)*step(e2,x_34)*step(x_34,e3),max(mix(v3,v4,a3)*step(e3,x_34)*step(x_34,e4),max(mix(v4,v5,a4)*step(e4,x_34)*step(x_34,e5),max(mix(v5,v6,a5)*step(e5,x_34)*step(x_34,e6),max(mix(v6,v7,a6)*step(e6,x_34)*step(x_34,e7),mix(v7,v8,a7)*step(e7,x_34)*step(x_34,e8))))))));}vec4 yiorrd(float x_41){const float e0=0.0;const vec4 v0=vec4(0.5019607843137255,0,0.14901960784313725,1);const float e1=0.125;const vec4 v1=vec4(0.7411764705882353,0,0.14901960784313725,1);const float e2=0.25;const vec4 v2=vec4(0.8901960784313725,0.10196078431372549,0.10980392156862745,1);const float e3=0.375;const vec4 v3=vec4(0.9882352941176471,0.3058823529411765,0.16470588235294117,1);const float e4=0.5;const vec4 v4=vec4(0.9921568627450981,0.5529411764705883,0.23529411764705882,1);const float e5=0.625;const vec4 v5=vec4(0.996078431372549,0.6980392156862745,0.2980392156862745,1);const float e6=0.75;const vec4 v6=vec4(0.996078431372549,0.8509803921568627,0.4627450980392157,1);const float e7=0.875;const vec4 v7=vec4(1,0.9294117647058824,0.6274509803921569,1);const float e8=1.0;const vec4 v8=vec4(1,1,0.8,1);float a0=smoothstep(e0,e1,x_41);float a1=smoothstep(e1,e2,x_41);float a2=smoothstep(e2,e3,x_41);float a3=smoothstep(e3,e4,x_41);float a4=smoothstep(e4,e5,x_41);float a5=smoothstep(e5,e6,x_41);float a6=smoothstep(e6,e7,x_41);float a7=smoothstep(e7,e8,x_41);return max(mix(v0,v1,a0)*step(e0,x_41)*step(x_41,e1),max(mix(v1,v2,a1)*step(e1,x_41)*step(x_41,e2),max(mix(v2,v3,a2)*step(e2,x_41)*step(x_41,e3),max(mix(v3,v4,a3)*step(e3,x_41)*step(x_41,e4),max(mix(v4,v5,a4)*step(e4,x_41)*step(x_41,e5),max(mix(v5,v6,a5)*step(e5,x_41)*step(x_41,e6),max(mix(v6,v7,a6)*step(e6,x_41)*step(x_41,e7),mix(v7,v8,a7)*step(e7,x_41)*step(x_41,e8))))))));}vec4 bluered(float x_23){const float e0=0.0;const vec4 v0=vec4(0,0,1,1);const float e1=1.0;const vec4 v1=vec4(1,0,0,1);float a0=smoothstep(e0,e1,x_23);return mix(v0,v1,a0)*step(e0,x_23)*step(x_23,e1);}vec4 rdbu(float x_1){const float e0=0.0;const vec4 v0=vec4(0.0196078431372549,0.0392156862745098,0.6745098039215687,1);const float e1=0.35;const vec4 v1=vec4(0.41568627450980394,0.5372549019607843,0.9686274509803922,1);const float e2=0.5;const vec4 v2=vec4(0.7450980392156863,0.7450980392156863,0.7450980392156863,1);const float e3=0.6;const vec4 v3=vec4(0.8627450980392157,0.6666666666666666,0.5176470588235295,1);const float e4=0.7;const vec4 v4=vec4(0.9019607843137255,0.5686274509803921,0.35294117647058826,1);const float e5=1.0;const vec4 v5=vec4(0.6980392156862745,0.0392156862745098,0.10980392156862745,1);float a0=smoothstep(e0,e1,x_1);float a1=smoothstep(e1,e2,x_1);float a2=smoothstep(e2,e3,x_1);float a3=smoothstep(e3,e4,x_1);float a4=smoothstep(e4,e5,x_1);return max(mix(v0,v1,a0)*step(e0,x_1)*step(x_1,e1),max(mix(v1,v2,a1)*step(e1,x_1)*step(x_1,e2),max(mix(v2,v3,a2)*step(e2,x_1)*step(x_1,e3),max(mix(v3,v4,a3)*step(e3,x_1)*step(x_1,e4),mix(v4,v5,a4)*step(e4,x_1)*step(x_1,e5)))));}vec4 picnic(float x_42){const float e0=0.0;const vec4 v0=vec4(0,0,1,1);const float e1=0.1;const vec4 v1=vec4(0.2,0.6,1,1);const float e2=0.2;const vec4 v2=vec4(0.4,0.8,1,1);const float e3=0.3;const vec4 v3=vec4(0.6,0.8,1,1);const float e4=0.4;const vec4 v4=vec4(0.8,0.8,1,1);const float e5=0.5;const vec4 v5=vec4(1,1,1,1);const float e6=0.6;const vec4 v6=vec4(1,0.8,1,1);const float e7=0.7;const vec4 v7=vec4(1,0.6,1,1);const float e8=0.8;const vec4 v8=vec4(1,0.4,0.8,1);const float e9=0.9;const vec4 v9=vec4(1,0.4,0.4,1);const float e10=1.0;const vec4 v10=vec4(1,0,0,1);float a0=smoothstep(e0,e1,x_42);float a1=smoothstep(e1,e2,x_42);float a2=smoothstep(e2,e3,x_42);float a3=smoothstep(e3,e4,x_42);float a4=smoothstep(e4,e5,x_42);float a5=smoothstep(e5,e6,x_42);float a6=smoothstep(e6,e7,x_42);float a7=smoothstep(e7,e8,x_42);float a8=smoothstep(e8,e9,x_42);float a9=smoothstep(e9,e10,x_42);return max(mix(v0,v1,a0)*step(e0,x_42)*step(x_42,e1),max(mix(v1,v2,a1)*step(e1,x_42)*step(x_42,e2),max(mix(v2,v3,a2)*step(e2,x_42)*step(x_42,e3),max(mix(v3,v4,a3)*step(e3,x_42)*step(x_42,e4),max(mix(v4,v5,a4)*step(e4,x_42)*step(x_42,e5),max(mix(v5,v6,a5)*step(e5,x_42)*step(x_42,e6),max(mix(v6,v7,a6)*step(e6,x_42)*step(x_42,e7),max(mix(v7,v8,a7)*step(e7,x_42)*step(x_42,e8),max(mix(v8,v9,a8)*step(e8,x_42)*step(x_42,e9),mix(v9,v10,a9)*step(e9,x_42)*step(x_42,e10))))))))));}vec4 rainbow(float x_31){const float e0=0.0;const vec4 v0=vec4(0.5882352941176471,0,0.35294117647058826,1);const float e1=0.125;const vec4 v1=vec4(0,0,0.7843137254901961,1);const float e2=0.25;const vec4 v2=vec4(0,0.09803921568627451,1,1);const float e3=0.375;const vec4 v3=vec4(0,0.596078431372549,1,1);const float e4=0.5;const vec4 v4=vec4(0.17254901960784313,1,0.5882352941176471,1);const float e5=0.625;const vec4 v5=vec4(0.592156862745098,1,0,1);const float e6=0.75;const vec4 v6=vec4(1,0.9176470588235294,0,1);const float e7=0.875;const vec4 v7=vec4(1,0.43529411764705883,0,1);const float e8=1.0;const vec4 v8=vec4(1,0,0,1);float a0=smoothstep(e0,e1,x_31);float a1=smoothstep(e1,e2,x_31);float a2=smoothstep(e2,e3,x_31);float a3=smoothstep(e3,e4,x_31);float a4=smoothstep(e4,e5,x_31);float a5=smoothstep(e5,e6,x_31);float a6=smoothstep(e6,e7,x_31);float a7=smoothstep(e7,e8,x_31);return max(mix(v0,v1,a0)*step(e0,x_31)*step(x_31,e1),max(mix(v1,v2,a1)*step(e1,x_31)*step(x_31,e2),max(mix(v2,v3,a2)*step(e2,x_31)*step(x_31,e3),max(mix(v3,v4,a3)*step(e3,x_31)*step(x_31,e4),max(mix(v4,v5,a4)*step(e4,x_31)*step(x_31,e5),max(mix(v5,v6,a5)*step(e5,x_31)*step(x_31,e6),max(mix(v6,v7,a6)*step(e6,x_31)*step(x_31,e7),mix(v7,v8,a7)*step(e7,x_31)*step(x_31,e8))))))));}vec4 portland(float x_21){const float e0=0.0;const vec4 v0=vec4(0.047058823529411764,0.2,0.5137254901960784,1);const float e1=0.25;const vec4 v1=vec4(0.0392156862745098,0.5333333333333333,0.7294117647058823,1);const float e2=0.5;const vec4 v2=vec4(0.9490196078431372,0.8274509803921568,0.2196078431372549,1);const float e3=0.75;const vec4 v3=vec4(0.9490196078431372,0.5607843137254902,0.2196078431372549,1);const float e4=1.0;const vec4 v4=vec4(0.8509803921568627,0.11764705882352941,0.11764705882352941,1);float a0=smoothstep(e0,e1,x_21);float a1=smoothstep(e1,e2,x_21);float a2=smoothstep(e2,e3,x_21);float a3=smoothstep(e3,e4,x_21);return max(mix(v0,v1,a0)*step(e0,x_21)*step(x_21,e1),max(mix(v1,v2,a1)*step(e1,x_21)*step(x_21,e2),max(mix(v2,v3,a2)*step(e2,x_21)*step(x_21,e3),mix(v3,v4,a3)*step(e3,x_21)*step(x_21,e4))));}vec4 blackbody(float x_38){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=0.2;const vec4 v1=vec4(0.9019607843137255,0,0,1);const float e2=0.4;const vec4 v2=vec4(0.9019607843137255,0.8235294117647058,0,1);const float e3=0.7;const vec4 v3=vec4(1,1,1,1);const float e4=1.0;const vec4 v4=vec4(0.6274509803921569,0.7843137254901961,1,1);float a0=smoothstep(e0,e1,x_38);float a1=smoothstep(e1,e2,x_38);float a2=smoothstep(e2,e3,x_38);float a3=smoothstep(e3,e4,x_38);return max(mix(v0,v1,a0)*step(e0,x_38)*step(x_38,e1),max(mix(v1,v2,a1)*step(e1,x_38)*step(x_38,e2),max(mix(v2,v3,a2)*step(e2,x_38)*step(x_38,e3),mix(v3,v4,a3)*step(e3,x_38)*step(x_38,e4))));}vec4 earth(float x_29){const float e0=0.0;const vec4 v0=vec4(0,0,0.5098039215686274,1);const float e1=0.1;const vec4 v1=vec4(0,0.7058823529411765,0.7058823529411765,1);const float e2=0.2;const vec4 v2=vec4(0.1568627450980392,0.8235294117647058,0.1568627450980392,1);const float e3=0.4;const vec4 v3=vec4(0.9019607843137255,0.9019607843137255,0.19607843137254902,1);const float e4=0.6;const vec4 v4=vec4(0.47058823529411764,0.27450980392156865,0.0784313725490196,1);const float e5=1.0;const vec4 v5=vec4(1,1,1,1);float a0=smoothstep(e0,e1,x_29);float a1=smoothstep(e1,e2,x_29);float a2=smoothstep(e2,e3,x_29);float a3=smoothstep(e3,e4,x_29);float a4=smoothstep(e4,e5,x_29);return max(mix(v0,v1,a0)*step(e0,x_29)*step(x_29,e1),max(mix(v1,v2,a1)*step(e1,x_29)*step(x_29,e2),max(mix(v2,v3,a2)*step(e2,x_29)*step(x_29,e3),max(mix(v3,v4,a3)*step(e3,x_29)*step(x_29,e4),mix(v4,v5,a4)*step(e4,x_29)*step(x_29,e5)))));}vec4 electric(float x_9){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=0.15;const vec4 v1=vec4(0.11764705882352941,0,0.39215686274509803,1);const float e2=0.4;const vec4 v2=vec4(0.47058823529411764,0,0.39215686274509803,1);const float e3=0.6;const vec4 v3=vec4(0.6274509803921569,0.35294117647058826,0,1);const float e4=0.8;const vec4 v4=vec4(0.9019607843137255,0.7843137254901961,0,1);const float e5=1.0;const vec4 v5=vec4(1,0.9803921568627451,0.8627450980392157,1);float a0=smoothstep(e0,e1,x_9);float a1=smoothstep(e1,e2,x_9);float a2=smoothstep(e2,e3,x_9);float a3=smoothstep(e3,e4,x_9);float a4=smoothstep(e4,e5,x_9);return max(mix(v0,v1,a0)*step(e0,x_9)*step(x_9,e1),max(mix(v1,v2,a1)*step(e1,x_9)*step(x_9,e2),max(mix(v2,v3,a2)*step(e2,x_9)*step(x_9,e3),max(mix(v3,v4,a3)*step(e3,x_9)*step(x_9,e4),mix(v4,v5,a4)*step(e4,x_9)*step(x_9,e5)))));}vec4 alpha(float x_0){const float e0=0.0;const vec4 v0=vec4(1,1,1,0);const float e1=1.0;const vec4 v1=vec4(1,1,1,1);float a0=smoothstep(e0,e1,x_0);return mix(v0,v1,a0)*step(e0,x_0)*step(x_0,e1);}vec4 viridis(float x_22){const float e0=0.0;const vec4 v0=vec4(0.26666666666666666,0.00392156862745098,0.32941176470588235,1);const float e1=0.13;const vec4 v1=vec4(0.2784313725490196,0.17254901960784313,0.47843137254901963,1);const float e2=0.25;const vec4 v2=vec4(0.23137254901960785,0.3176470588235294,0.5450980392156862,1);const float e3=0.38;const vec4 v3=vec4(0.17254901960784313,0.44313725490196076,0.5568627450980392,1);const float e4=0.5;const vec4 v4=vec4(0.12941176470588237,0.5647058823529412,0.5529411764705883,1);const float e5=0.63;const vec4 v5=vec4(0.15294117647058825,0.6784313725490196,0.5058823529411764,1);const float e6=0.75;const vec4 v6=vec4(0.3607843137254902,0.7843137254901961,0.38823529411764707,1);const float e7=0.88;const vec4 v7=vec4(0.6666666666666666,0.8627450980392157,0.19607843137254902,1);const float e8=1.0;const vec4 v8=vec4(0.9921568627450981,0.9058823529411765,0.1450980392156863,1);float a0=smoothstep(e0,e1,x_22);float a1=smoothstep(e1,e2,x_22);float a2=smoothstep(e2,e3,x_22);float a3=smoothstep(e3,e4,x_22);float a4=smoothstep(e4,e5,x_22);float a5=smoothstep(e5,e6,x_22);float a6=smoothstep(e6,e7,x_22);float a7=smoothstep(e7,e8,x_22);return max(mix(v0,v1,a0)*step(e0,x_22)*step(x_22,e1),max(mix(v1,v2,a1)*step(e1,x_22)*step(x_22,e2),max(mix(v2,v3,a2)*step(e2,x_22)*step(x_22,e3),max(mix(v3,v4,a3)*step(e3,x_22)*step(x_22,e4),max(mix(v4,v5,a4)*step(e4,x_22)*step(x_22,e5),max(mix(v5,v6,a5)*step(e5,x_22)*step(x_22,e6),max(mix(v6,v7,a6)*step(e6,x_22)*step(x_22,e7),mix(v7,v8,a7)*step(e7,x_22)*step(x_22,e8))))))));}vec4 inferno(float x_30){const float e0=0.0;const vec4 v0=vec4(0,0,0.01568627450980392,1);const float e1=0.13;const vec4 v1=vec4(0.12156862745098039,0.047058823529411764,0.2823529411764706,1);const float e2=0.25;const vec4 v2=vec4(0.3333333333333333,0.058823529411764705,0.42745098039215684,1);const float e3=0.38;const vec4 v3=vec4(0.5333333333333333,0.13333333333333333,0.41568627450980394,1);const float e4=0.5;const vec4 v4=vec4(0.7294117647058823,0.21176470588235294,0.3333333333333333,1);const float e5=0.63;const vec4 v5=vec4(0.8901960784313725,0.34901960784313724,0.2,1);const float e6=0.75;const vec4 v6=vec4(0.9764705882352941,0.5490196078431373,0.0392156862745098,1);const float e7=0.88;const vec4 v7=vec4(0.9764705882352941,0.788235294117647,0.19607843137254902,1);const float e8=1.0;const vec4 v8=vec4(0.9882352941176471,1,0.6431372549019608,1);float a0=smoothstep(e0,e1,x_30);float a1=smoothstep(e1,e2,x_30);float a2=smoothstep(e2,e3,x_30);float a3=smoothstep(e3,e4,x_30);float a4=smoothstep(e4,e5,x_30);float a5=smoothstep(e5,e6,x_30);float a6=smoothstep(e6,e7,x_30);float a7=smoothstep(e7,e8,x_30);return max(mix(v0,v1,a0)*step(e0,x_30)*step(x_30,e1),max(mix(v1,v2,a1)*step(e1,x_30)*step(x_30,e2),max(mix(v2,v3,a2)*step(e2,x_30)*step(x_30,e3),max(mix(v3,v4,a3)*step(e3,x_30)*step(x_30,e4),max(mix(v4,v5,a4)*step(e4,x_30)*step(x_30,e5),max(mix(v5,v6,a5)*step(e5,x_30)*step(x_30,e6),max(mix(v6,v7,a6)*step(e6,x_30)*step(x_30,e7),mix(v7,v8,a7)*step(e7,x_30)*step(x_30,e8))))))));}vec4 magma(float x_33){const float e0=0.0;const vec4 v0=vec4(0,0,0.01568627450980392,1);const float e1=0.13;const vec4 v1=vec4(0.10980392156862745,0.06274509803921569,0.26666666666666666,1);const float e2=0.25;const vec4 v2=vec4(0.30980392156862746,0.07058823529411765,0.4823529411764706,1);const float e3=0.38;const vec4 v3=vec4(0.5058823529411764,0.1450980392156863,0.5058823529411764,1);const float e4=0.5;const vec4 v4=vec4(0.7098039215686275,0.21176470588235294,0.47843137254901963,1);const float e5=0.63;const vec4 v5=vec4(0.8980392156862745,0.3137254901960784,0.39215686274509803,1);const float e6=0.75;const vec4 v6=vec4(0.984313725490196,0.5294117647058824,0.3803921568627451,1);const float e7=0.88;const vec4 v7=vec4(0.996078431372549,0.7607843137254902,0.5294117647058824,1);const float e8=1.0;const vec4 v8=vec4(0.9882352941176471,0.9921568627450981,0.7490196078431373,1);float a0=smoothstep(e0,e1,x_33);float a1=smoothstep(e1,e2,x_33);float a2=smoothstep(e2,e3,x_33);float a3=smoothstep(e3,e4,x_33);float a4=smoothstep(e4,e5,x_33);float a5=smoothstep(e5,e6,x_33);float a6=smoothstep(e6,e7,x_33);float a7=smoothstep(e7,e8,x_33);return max(mix(v0,v1,a0)*step(e0,x_33)*step(x_33,e1),max(mix(v1,v2,a1)*step(e1,x_33)*step(x_33,e2),max(mix(v2,v3,a2)*step(e2,x_33)*step(x_33,e3),max(mix(v3,v4,a3)*step(e3,x_33)*step(x_33,e4),max(mix(v4,v5,a4)*step(e4,x_33)*step(x_33,e5),max(mix(v5,v6,a5)*step(e5,x_33)*step(x_33,e6),max(mix(v6,v7,a6)*step(e6,x_33)*step(x_33,e7),mix(v7,v8,a7)*step(e7,x_33)*step(x_33,e8))))))));}vec4 plasma(float x_3){const float e0=0.0;const vec4 v0=vec4(0.050980392156862744,0.03137254901960784,0.5294117647058824,1);const float e1=0.13;const vec4 v1=vec4(0.29411764705882354,0.011764705882352941,0.6313725490196078,1);const float e2=0.25;const vec4 v2=vec4(0.49019607843137253,0.011764705882352941,0.6588235294117647,1);const float e3=0.38;const vec4 v3=vec4(0.6588235294117647,0.13333333333333333,0.5882352941176471,1);const float e4=0.5;const vec4 v4=vec4(0.796078431372549,0.27450980392156865,0.4745098039215686,1);const float e5=0.63;const vec4 v5=vec4(0.8980392156862745,0.4196078431372549,0.36470588235294116,1);const float e6=0.75;const vec4 v6=vec4(0.9725490196078431,0.5803921568627451,0.2549019607843137,1);const float e7=0.88;const vec4 v7=vec4(0.9921568627450981,0.7647058823529411,0.1568627450980392,1);const float e8=1.0;const vec4 v8=vec4(0.9411764705882353,0.9764705882352941,0.12941176470588237,1);float a0=smoothstep(e0,e1,x_3);float a1=smoothstep(e1,e2,x_3);float a2=smoothstep(e2,e3,x_3);float a3=smoothstep(e3,e4,x_3);float a4=smoothstep(e4,e5,x_3);float a5=smoothstep(e5,e6,x_3);float a6=smoothstep(e6,e7,x_3);float a7=smoothstep(e7,e8,x_3);return max(mix(v0,v1,a0)*step(e0,x_3)*step(x_3,e1),max(mix(v1,v2,a1)*step(e1,x_3)*step(x_3,e2),max(mix(v2,v3,a2)*step(e2,x_3)*step(x_3,e3),max(mix(v3,v4,a3)*step(e3,x_3)*step(x_3,e4),max(mix(v4,v5,a4)*step(e4,x_3)*step(x_3,e5),max(mix(v5,v6,a5)*step(e5,x_3)*step(x_3,e6),max(mix(v6,v7,a6)*step(e6,x_3)*step(x_3,e7),mix(v7,v8,a7)*step(e7,x_3)*step(x_3,e8))))))));}vec4 warm(float x_43){const float e0=0.0;const vec4 v0=vec4(0.49019607843137253,0,0.7019607843137254,1);const float e1=0.13;const vec4 v1=vec4(0.6745098039215687,0,0.7333333333333333,1);const float e2=0.25;const vec4 v2=vec4(0.8588235294117647,0,0.6666666666666666,1);const float e3=0.38;const vec4 v3=vec4(1,0,0.5098039215686274,1);const float e4=0.5;const vec4 v4=vec4(1,0.24705882352941178,0.2901960784313726,1);const float e5=0.63;const vec4 v5=vec4(1,0.4823529411764706,0,1);const float e6=0.75;const vec4 v6=vec4(0.9176470588235294,0.6901960784313725,0,1);const float e7=0.88;const vec4 v7=vec4(0.7450980392156863,0.8941176470588236,0,1);const float e8=1.0;const vec4 v8=vec4(0.5764705882352941,1,0,1);float a0=smoothstep(e0,e1,x_43);float a1=smoothstep(e1,e2,x_43);float a2=smoothstep(e2,e3,x_43);float a3=smoothstep(e3,e4,x_43);float a4=smoothstep(e4,e5,x_43);float a5=smoothstep(e5,e6,x_43);float a6=smoothstep(e6,e7,x_43);float a7=smoothstep(e7,e8,x_43);return max(mix(v0,v1,a0)*step(e0,x_43)*step(x_43,e1),max(mix(v1,v2,a1)*step(e1,x_43)*step(x_43,e2),max(mix(v2,v3,a2)*step(e2,x_43)*step(x_43,e3),max(mix(v3,v4,a3)*step(e3,x_43)*step(x_43,e4),max(mix(v4,v5,a4)*step(e4,x_43)*step(x_43,e5),max(mix(v5,v6,a5)*step(e5,x_43)*step(x_43,e6),max(mix(v6,v7,a6)*step(e6,x_43)*step(x_43,e7),mix(v7,v8,a7)*step(e7,x_43)*step(x_43,e8))))))));}vec4 rainbow_soft_1310269270(float x_14){const float e0=0.0;const vec4 v0=vec4(0.49019607843137253,0,0.7019607843137254,1);const float e1=0.1;const vec4 v1=vec4(0.7803921568627451,0,0.7058823529411765,1);const float e2=0.2;const vec4 v2=vec4(1,0,0.4745098039215686,1);const float e3=0.3;const vec4 v3=vec4(1,0.4235294117647059,0,1);const float e4=0.4;const vec4 v4=vec4(0.8705882352941177,0.7607843137254902,0,1);const float e5=0.5;const vec4 v5=vec4(0.5882352941176471,1,0,1);const float e6=0.6;const vec4 v6=vec4(0,1,0.21568627450980393,1);const float e7=0.7;const vec4 v7=vec4(0,0.9647058823529412,0.5882352941176471,1);const float e8=0.8;const vec4 v8=vec4(0.19607843137254902,0.6549019607843137,0.8705882352941177,1);const float e9=0.9;const vec4 v9=vec4(0.403921568627451,0.2,0.9215686274509803,1);const float e10=1.0;const vec4 v10=vec4(0.48627450980392156,0,0.7294117647058823,1);float a0=smoothstep(e0,e1,x_14);float a1=smoothstep(e1,e2,x_14);float a2=smoothstep(e2,e3,x_14);float a3=smoothstep(e3,e4,x_14);float a4=smoothstep(e4,e5,x_14);float a5=smoothstep(e5,e6,x_14);float a6=smoothstep(e6,e7,x_14);float a7=smoothstep(e7,e8,x_14);float a8=smoothstep(e8,e9,x_14);float a9=smoothstep(e9,e10,x_14);return max(mix(v0,v1,a0)*step(e0,x_14)*step(x_14,e1),max(mix(v1,v2,a1)*step(e1,x_14)*step(x_14,e2),max(mix(v2,v3,a2)*step(e2,x_14)*step(x_14,e3),max(mix(v3,v4,a3)*step(e3,x_14)*step(x_14,e4),max(mix(v4,v5,a4)*step(e4,x_14)*step(x_14,e5),max(mix(v5,v6,a5)*step(e5,x_14)*step(x_14,e6),max(mix(v6,v7,a6)*step(e6,x_14)*step(x_14,e7),max(mix(v7,v8,a7)*step(e7,x_14)*step(x_14,e8),max(mix(v8,v9,a8)*step(e8,x_14)*step(x_14,e9),mix(v9,v10,a9)*step(e9,x_14)*step(x_14,e10))))))))));}vec4 bathymetry(float x_36){const float e0=0.0;const vec4 v0=vec4(0.1568627450980392,0.10196078431372549,0.17254901960784313,1);const float e1=0.13;const vec4 v1=vec4(0.23137254901960785,0.19215686274509805,0.35294117647058826,1);const float e2=0.25;const vec4 v2=vec4(0.25098039215686274,0.2980392156862745,0.5450980392156862,1);const float e3=0.38;const vec4 v3=vec4(0.24705882352941178,0.43137254901960786,0.592156862745098,1);const float e4=0.5;const vec4 v4=vec4(0.2823529411764706,0.5568627450980392,0.6196078431372549,1);const float e5=0.63;const vec4 v5=vec4(0.3333333333333333,0.6823529411764706,0.6392156862745098,1);const float e6=0.75;const vec4 v6=vec4(0.47058823529411764,0.807843137254902,0.6392156862745098,1);const float e7=0.88;const vec4 v7=vec4(0.7333333333333333,0.9019607843137255,0.6745098039215687,1);const float e8=1.0;const vec4 v8=vec4(0.9921568627450981,0.996078431372549,0.8,1);float a0=smoothstep(e0,e1,x_36);float a1=smoothstep(e1,e2,x_36);float a2=smoothstep(e2,e3,x_36);float a3=smoothstep(e3,e4,x_36);float a4=smoothstep(e4,e5,x_36);float a5=smoothstep(e5,e6,x_36);float a6=smoothstep(e6,e7,x_36);float a7=smoothstep(e7,e8,x_36);return max(mix(v0,v1,a0)*step(e0,x_36)*step(x_36,e1),max(mix(v1,v2,a1)*step(e1,x_36)*step(x_36,e2),max(mix(v2,v3,a2)*step(e2,x_36)*step(x_36,e3),max(mix(v3,v4,a3)*step(e3,x_36)*step(x_36,e4),max(mix(v4,v5,a4)*step(e4,x_36)*step(x_36,e5),max(mix(v5,v6,a5)*step(e5,x_36)*step(x_36,e6),max(mix(v6,v7,a6)*step(e6,x_36)*step(x_36,e7),mix(v7,v8,a7)*step(e7,x_36)*step(x_36,e8))))))));}vec4 cdom(float x_7){const float e0=0.0;const vec4 v0=vec4(0.1843137254901961,0.058823529411764705,0.24313725490196078,1);const float e1=0.13;const vec4 v1=vec4(0.3411764705882353,0.09019607843137255,0.33725490196078434,1);const float e2=0.25;const vec4 v2=vec4(0.5098039215686274,0.10980392156862745,0.38823529411764707,1);const float e3=0.38;const vec4 v3=vec4(0.6705882352941176,0.1607843137254902,0.3764705882352941,1);const float e4=0.5;const vec4 v4=vec4(0.807843137254902,0.2627450980392157,0.33725490196078434,1);const float e5=0.63;const vec4 v5=vec4(0.9019607843137255,0.41568627450980394,0.32941176470588235,1);const float e6=0.75;const vec4 v6=vec4(0.9490196078431372,0.5843137254901961,0.403921568627451,1);const float e7=0.88;const vec4 v7=vec4(0.9764705882352941,0.7568627450980392,0.5294117647058824,1);const float e8=1.0;const vec4 v8=vec4(0.996078431372549,0.9294117647058824,0.6901960784313725,1);float a0=smoothstep(e0,e1,x_7);float a1=smoothstep(e1,e2,x_7);float a2=smoothstep(e2,e3,x_7);float a3=smoothstep(e3,e4,x_7);float a4=smoothstep(e4,e5,x_7);float a5=smoothstep(e5,e6,x_7);float a6=smoothstep(e6,e7,x_7);float a7=smoothstep(e7,e8,x_7);return max(mix(v0,v1,a0)*step(e0,x_7)*step(x_7,e1),max(mix(v1,v2,a1)*step(e1,x_7)*step(x_7,e2),max(mix(v2,v3,a2)*step(e2,x_7)*step(x_7,e3),max(mix(v3,v4,a3)*step(e3,x_7)*step(x_7,e4),max(mix(v4,v5,a4)*step(e4,x_7)*step(x_7,e5),max(mix(v5,v6,a5)*step(e5,x_7)*step(x_7,e6),max(mix(v6,v7,a6)*step(e6,x_7)*step(x_7,e7),mix(v7,v8,a7)*step(e7,x_7)*step(x_7,e8))))))));}vec4 chlorophyll(float x_6){const float e0=0.0;const vec4 v0=vec4(0.07058823529411765,0.1411764705882353,0.0784313725490196,1);const float e1=0.13;const vec4 v1=vec4(0.09803921568627451,0.24705882352941178,0.1607843137254902,1);const float e2=0.25;const vec4 v2=vec4(0.09411764705882353,0.3568627450980392,0.23137254901960785,1);const float e3=0.38;const vec4 v3=vec4(0.050980392156862744,0.4666666666666667,0.2823529411764706,1);const float e4=0.5;const vec4 v4=vec4(0.07058823529411765,0.5803921568627451,0.3137254901960784,1);const float e5=0.63;const vec4 v5=vec4(0.3137254901960784,0.6784313725490196,0.34901960784313724,1);const float e6=0.75;const vec4 v6=vec4(0.5176470588235295,0.7686274509803922,0.47843137254901963,1);const float e7=0.88;const vec4 v7=vec4(0.6862745098039216,0.8666666666666667,0.6352941176470588,1);const float e8=1.0;const vec4 v8=vec4(0.8431372549019608,0.9764705882352941,0.8156862745098039,1);float a0=smoothstep(e0,e1,x_6);float a1=smoothstep(e1,e2,x_6);float a2=smoothstep(e2,e3,x_6);float a3=smoothstep(e3,e4,x_6);float a4=smoothstep(e4,e5,x_6);float a5=smoothstep(e5,e6,x_6);float a6=smoothstep(e6,e7,x_6);float a7=smoothstep(e7,e8,x_6);return max(mix(v0,v1,a0)*step(e0,x_6)*step(x_6,e1),max(mix(v1,v2,a1)*step(e1,x_6)*step(x_6,e2),max(mix(v2,v3,a2)*step(e2,x_6)*step(x_6,e3),max(mix(v3,v4,a3)*step(e3,x_6)*step(x_6,e4),max(mix(v4,v5,a4)*step(e4,x_6)*step(x_6,e5),max(mix(v5,v6,a5)*step(e5,x_6)*step(x_6,e6),max(mix(v6,v7,a6)*step(e6,x_6)*step(x_6,e7),mix(v7,v8,a7)*step(e7,x_6)*step(x_6,e8))))))));}vec4 density(float x_19){const float e0=0.0;const vec4 v0=vec4(0.21176470588235294,0.054901960784313725,0.1411764705882353,1);const float e1=0.13;const vec4 v1=vec4(0.34901960784313724,0.09019607843137255,0.3137254901960784,1);const float e2=0.25;const vec4 v2=vec4(0.43137254901960786,0.17647058823529413,0.5176470588235295,1);const float e3=0.38;const vec4 v3=vec4(0.47058823529411764,0.30196078431372547,0.6980392156862745,1);const float e4=0.5;const vec4 v4=vec4(0.47058823529411764,0.44313725490196076,0.8352941176470589,1);const float e5=0.63;const vec4 v5=vec4(0.45098039215686275,0.592156862745098,0.8941176470588236,1);const float e6=0.75;const vec4 v6=vec4(0.5254901960784314,0.7254901960784313,0.8901960784313725,1);const float e7=0.88;const vec4 v7=vec4(0.6941176470588235,0.8392156862745098,0.8901960784313725,1);const float e8=1.0;const vec4 v8=vec4(0.9019607843137255,0.9450980392156862,0.9450980392156862,1);float a0=smoothstep(e0,e1,x_19);float a1=smoothstep(e1,e2,x_19);float a2=smoothstep(e2,e3,x_19);float a3=smoothstep(e3,e4,x_19);float a4=smoothstep(e4,e5,x_19);float a5=smoothstep(e5,e6,x_19);float a6=smoothstep(e6,e7,x_19);float a7=smoothstep(e7,e8,x_19);return max(mix(v0,v1,a0)*step(e0,x_19)*step(x_19,e1),max(mix(v1,v2,a1)*step(e1,x_19)*step(x_19,e2),max(mix(v2,v3,a2)*step(e2,x_19)*step(x_19,e3),max(mix(v3,v4,a3)*step(e3,x_19)*step(x_19,e4),max(mix(v4,v5,a4)*step(e4,x_19)*step(x_19,e5),max(mix(v5,v6,a5)*step(e5,x_19)*step(x_19,e6),max(mix(v6,v7,a6)*step(e6,x_19)*step(x_19,e7),mix(v7,v8,a7)*step(e7,x_19)*step(x_19,e8))))))));}vec4 freesurface_blue_3154355989(float x_35){const float e0=0.0;const vec4 v0=vec4(0.11764705882352941,0.01568627450980392,0.43137254901960786,1);const float e1=0.13;const vec4 v1=vec4(0.1843137254901961,0.054901960784313725,0.6901960784313725,1);const float e2=0.25;const vec4 v2=vec4(0.1607843137254902,0.17647058823529413,0.9254901960784314,1);const float e3=0.38;const vec4 v3=vec4(0.09803921568627451,0.38823529411764707,0.8313725490196079,1);const float e4=0.5;const vec4 v4=vec4(0.26666666666666666,0.5137254901960784,0.7843137254901961,1);const float e5=0.63;const vec4 v5=vec4(0.4470588235294118,0.611764705882353,0.7725490196078432,1);const float e6=0.75;const vec4 v6=vec4(0.615686274509804,0.7098039215686275,0.796078431372549,1);const float e7=0.88;const vec4 v7=vec4(0.7843137254901961,0.8156862745098039,0.8470588235294118,1);const float e8=1.0;const vec4 v8=vec4(0.9450980392156862,0.9294117647058824,0.9254901960784314,1);float a0=smoothstep(e0,e1,x_35);float a1=smoothstep(e1,e2,x_35);float a2=smoothstep(e2,e3,x_35);float a3=smoothstep(e3,e4,x_35);float a4=smoothstep(e4,e5,x_35);float a5=smoothstep(e5,e6,x_35);float a6=smoothstep(e6,e7,x_35);float a7=smoothstep(e7,e8,x_35);return max(mix(v0,v1,a0)*step(e0,x_35)*step(x_35,e1),max(mix(v1,v2,a1)*step(e1,x_35)*step(x_35,e2),max(mix(v2,v3,a2)*step(e2,x_35)*step(x_35,e3),max(mix(v3,v4,a3)*step(e3,x_35)*step(x_35,e4),max(mix(v4,v5,a4)*step(e4,x_35)*step(x_35,e5),max(mix(v5,v6,a5)*step(e5,x_35)*step(x_35,e6),max(mix(v6,v7,a6)*step(e6,x_35)*step(x_35,e7),mix(v7,v8,a7)*step(e7,x_35)*step(x_35,e8))))))));}vec4 freesurface_red_1679163293(float x_20){const float e0=0.0;const vec4 v0=vec4(0.23529411764705882,0.03529411764705882,0.07058823529411765,1);const float e1=0.13;const vec4 v1=vec4(0.39215686274509803,0.06666666666666667,0.10588235294117647,1);const float e2=0.25;const vec4 v2=vec4(0.5568627450980392,0.0784313725490196,0.11372549019607843,1);const float e3=0.38;const vec4 v3=vec4(0.6941176470588235,0.16862745098039217,0.10588235294117647,1);const float e4=0.5;const vec4 v4=vec4(0.7529411764705882,0.3411764705882353,0.24705882352941178,1);const float e5=0.63;const vec4 v5=vec4(0.803921568627451,0.49019607843137253,0.4117647058823529,1);const float e6=0.75;const vec4 v6=vec4(0.8470588235294118,0.6352941176470588,0.5803921568627451,1);const float e7=0.88;const vec4 v7=vec4(0.8901960784313725,0.7803921568627451,0.7568627450980392,1);const float e8=1.0;const vec4 v8=vec4(0.9450980392156862,0.9294117647058824,0.9254901960784314,1);float a0=smoothstep(e0,e1,x_20);float a1=smoothstep(e1,e2,x_20);float a2=smoothstep(e2,e3,x_20);float a3=smoothstep(e3,e4,x_20);float a4=smoothstep(e4,e5,x_20);float a5=smoothstep(e5,e6,x_20);float a6=smoothstep(e6,e7,x_20);float a7=smoothstep(e7,e8,x_20);return max(mix(v0,v1,a0)*step(e0,x_20)*step(x_20,e1),max(mix(v1,v2,a1)*step(e1,x_20)*step(x_20,e2),max(mix(v2,v3,a2)*step(e2,x_20)*step(x_20,e3),max(mix(v3,v4,a3)*step(e3,x_20)*step(x_20,e4),max(mix(v4,v5,a4)*step(e4,x_20)*step(x_20,e5),max(mix(v5,v6,a5)*step(e5,x_20)*step(x_20,e6),max(mix(v6,v7,a6)*step(e6,x_20)*step(x_20,e7),mix(v7,v8,a7)*step(e7,x_20)*step(x_20,e8))))))));}vec4 oxygen(float x_11){const float e0=0.0;const vec4 v0=vec4(0.25098039215686274,0.0196078431372549,0.0196078431372549,1);const float e1=0.13;const vec4 v1=vec4(0.41568627450980394,0.023529411764705882,0.058823529411764705,1);const float e2=0.25;const vec4 v2=vec4(0.5647058823529412,0.10196078431372549,0.027450980392156862,1);const float e3=0.38;const vec4 v3=vec4(0.6588235294117647,0.25098039215686274,0.011764705882352941,1);const float e4=0.5;const vec4 v4=vec4(0.7372549019607844,0.39215686274509803,0.01568627450980392,1);const float e5=0.63;const vec4 v5=vec4(0.807843137254902,0.5333333333333333,0.043137254901960784,1);const float e6=0.75;const vec4 v6=vec4(0.8627450980392157,0.6823529411764706,0.09803921568627451,1);const float e7=0.88;const vec4 v7=vec4(0.9058823529411765,0.8431372549019608,0.17254901960784313,1);const float e8=1.0;const vec4 v8=vec4(0.9725490196078431,0.996078431372549,0.4117647058823529,1);float a0=smoothstep(e0,e1,x_11);float a1=smoothstep(e1,e2,x_11);float a2=smoothstep(e2,e3,x_11);float a3=smoothstep(e3,e4,x_11);float a4=smoothstep(e4,e5,x_11);float a5=smoothstep(e5,e6,x_11);float a6=smoothstep(e6,e7,x_11);float a7=smoothstep(e7,e8,x_11);return max(mix(v0,v1,a0)*step(e0,x_11)*step(x_11,e1),max(mix(v1,v2,a1)*step(e1,x_11)*step(x_11,e2),max(mix(v2,v3,a2)*step(e2,x_11)*step(x_11,e3),max(mix(v3,v4,a3)*step(e3,x_11)*step(x_11,e4),max(mix(v4,v5,a4)*step(e4,x_11)*step(x_11,e5),max(mix(v5,v6,a5)*step(e5,x_11)*step(x_11,e6),max(mix(v6,v7,a6)*step(e6,x_11)*step(x_11,e7),mix(v7,v8,a7)*step(e7,x_11)*step(x_11,e8))))))));}vec4 par(float x_28){const float e0=0.0;const vec4 v0=vec4(0.2,0.0784313725490196,0.09411764705882353,1);const float e1=0.13;const vec4 v1=vec4(0.35294117647058826,0.12549019607843137,0.13725490196078433,1);const float e2=0.25;const vec4 v2=vec4(0.5058823529411764,0.17254901960784313,0.13333333333333333,1);const float e3=0.38;const vec4 v3=vec4(0.6235294117647059,0.26666666666666666,0.09803921568627451,1);const float e4=0.5;const vec4 v4=vec4(0.7137254901960784,0.38823529411764707,0.07450980392156863,1);const float e5=0.63;const vec4 v5=vec4(0.7803921568627451,0.5254901960784314,0.08627450980392157,1);const float e6=0.75;const vec4 v6=vec4(0.8313725490196079,0.6705882352941176,0.13725490196078433,1);const float e7=0.88;const vec4 v7=vec4(0.8666666666666667,0.8235294117647058,0.21176470588235294,1);const float e8=1.0;const vec4 v8=vec4(0.8823529411764706,0.9921568627450981,0.29411764705882354,1);float a0=smoothstep(e0,e1,x_28);float a1=smoothstep(e1,e2,x_28);float a2=smoothstep(e2,e3,x_28);float a3=smoothstep(e3,e4,x_28);float a4=smoothstep(e4,e5,x_28);float a5=smoothstep(e5,e6,x_28);float a6=smoothstep(e6,e7,x_28);float a7=smoothstep(e7,e8,x_28);return max(mix(v0,v1,a0)*step(e0,x_28)*step(x_28,e1),max(mix(v1,v2,a1)*step(e1,x_28)*step(x_28,e2),max(mix(v2,v3,a2)*step(e2,x_28)*step(x_28,e3),max(mix(v3,v4,a3)*step(e3,x_28)*step(x_28,e4),max(mix(v4,v5,a4)*step(e4,x_28)*step(x_28,e5),max(mix(v5,v6,a5)*step(e5,x_28)*step(x_28,e6),max(mix(v6,v7,a6)*step(e6,x_28)*step(x_28,e7),mix(v7,v8,a7)*step(e7,x_28)*step(x_28,e8))))))));}vec4 phase(float x_39){const float e0=0.0;const vec4 v0=vec4(0.5686274509803921,0.4117647058823529,0.07058823529411765,1);const float e1=0.13;const vec4 v1=vec4(0.7215686274509804,0.2784313725490196,0.14901960784313725,1);const float e2=0.25;const vec4 v2=vec4(0.7294117647058823,0.22745098039215686,0.45098039215686275,1);const float e3=0.38;const vec4 v3=vec4(0.6274509803921569,0.2784313725490196,0.7254901960784313,1);const float e4=0.5;const vec4 v4=vec4(0.43137254901960786,0.3803921568627451,0.8549019607843137,1);const float e5=0.63;const vec4 v5=vec4(0.19607843137254902,0.4823529411764706,0.6431372549019608,1);const float e6=0.75;const vec4 v6=vec4(0.12156862745098039,0.5137254901960784,0.43137254901960786,1);const float e7=0.88;const vec4 v7=vec4(0.30196078431372547,0.5058823529411764,0.13333333333333333,1);const float e8=1.0;const vec4 v8=vec4(0.5686274509803921,0.4117647058823529,0.07058823529411765,1);float a0=smoothstep(e0,e1,x_39);float a1=smoothstep(e1,e2,x_39);float a2=smoothstep(e2,e3,x_39);float a3=smoothstep(e3,e4,x_39);float a4=smoothstep(e4,e5,x_39);float a5=smoothstep(e5,e6,x_39);float a6=smoothstep(e6,e7,x_39);float a7=smoothstep(e7,e8,x_39);return max(mix(v0,v1,a0)*step(e0,x_39)*step(x_39,e1),max(mix(v1,v2,a1)*step(e1,x_39)*step(x_39,e2),max(mix(v2,v3,a2)*step(e2,x_39)*step(x_39,e3),max(mix(v3,v4,a3)*step(e3,x_39)*step(x_39,e4),max(mix(v4,v5,a4)*step(e4,x_39)*step(x_39,e5),max(mix(v5,v6,a5)*step(e5,x_39)*step(x_39,e6),max(mix(v6,v7,a6)*step(e6,x_39)*step(x_39,e7),mix(v7,v8,a7)*step(e7,x_39)*step(x_39,e8))))))));}vec4 salinity(float x_26){const float e0=0.0;const vec4 v0=vec4(0.16470588235294117,0.09411764705882353,0.4235294117647059,1);const float e1=0.13;const vec4 v1=vec4(0.12941176470588237,0.19607843137254902,0.6352941176470588,1);const float e2=0.25;const vec4 v2=vec4(0.058823529411764705,0.35294117647058826,0.5686274509803921,1);const float e3=0.38;const vec4 v3=vec4(0.1568627450980392,0.4627450980392157,0.5372549019607843,1);const float e4=0.5;const vec4 v4=vec4(0.23137254901960785,0.5725490196078431,0.5294117647058824,1);const float e5=0.63;const vec4 v5=vec4(0.30980392156862746,0.6862745098039216,0.49411764705882355,1);const float e6=0.75;const vec4 v6=vec4(0.47058823529411764,0.796078431372549,0.40784313725490196,1);const float e7=0.88;const vec4 v7=vec4(0.7568627450980392,0.8666666666666667,0.39215686274509803,1);const float e8=1.0;const vec4 v8=vec4(0.9921568627450981,0.9372549019607843,0.6039215686274509,1);float a0=smoothstep(e0,e1,x_26);float a1=smoothstep(e1,e2,x_26);float a2=smoothstep(e2,e3,x_26);float a3=smoothstep(e3,e4,x_26);float a4=smoothstep(e4,e5,x_26);float a5=smoothstep(e5,e6,x_26);float a6=smoothstep(e6,e7,x_26);float a7=smoothstep(e7,e8,x_26);return max(mix(v0,v1,a0)*step(e0,x_26)*step(x_26,e1),max(mix(v1,v2,a1)*step(e1,x_26)*step(x_26,e2),max(mix(v2,v3,a2)*step(e2,x_26)*step(x_26,e3),max(mix(v3,v4,a3)*step(e3,x_26)*step(x_26,e4),max(mix(v4,v5,a4)*step(e4,x_26)*step(x_26,e5),max(mix(v5,v6,a5)*step(e5,x_26)*step(x_26,e6),max(mix(v6,v7,a6)*step(e6,x_26)*step(x_26,e7),mix(v7,v8,a7)*step(e7,x_26)*step(x_26,e8))))))));}vec4 temperature(float x_8){const float e0=0.0;const vec4 v0=vec4(0.01568627450980392,0.13725490196078433,0.2,1);const float e1=0.13;const vec4 v1=vec4(0.09019607843137255,0.2,0.47843137254901963,1);const float e2=0.25;const vec4 v2=vec4(0.3333333333333333,0.23137254901960785,0.615686274509804,1);const float e3=0.38;const vec4 v3=vec4(0.5058823529411764,0.30980392156862746,0.5607843137254902,1);const float e4=0.5;const vec4 v4=vec4(0.6862745098039216,0.37254901960784315,0.5098039215686274,1);const float e5=0.63;const vec4 v5=vec4(0.8705882352941177,0.4392156862745098,0.396078431372549,1);const float e6=0.75;const vec4 v6=vec4(0.9764705882352941,0.5725490196078431,0.25882352941176473,1);const float e7=0.88;const vec4 v7=vec4(0.9764705882352941,0.7686274509803922,0.2549019607843137,1);const float e8=1.0;const vec4 v8=vec4(0.9098039215686274,0.9803921568627451,0.3568627450980392,1);float a0=smoothstep(e0,e1,x_8);float a1=smoothstep(e1,e2,x_8);float a2=smoothstep(e2,e3,x_8);float a3=smoothstep(e3,e4,x_8);float a4=smoothstep(e4,e5,x_8);float a5=smoothstep(e5,e6,x_8);float a6=smoothstep(e6,e7,x_8);float a7=smoothstep(e7,e8,x_8);return max(mix(v0,v1,a0)*step(e0,x_8)*step(x_8,e1),max(mix(v1,v2,a1)*step(e1,x_8)*step(x_8,e2),max(mix(v2,v3,a2)*step(e2,x_8)*step(x_8,e3),max(mix(v3,v4,a3)*step(e3,x_8)*step(x_8,e4),max(mix(v4,v5,a4)*step(e4,x_8)*step(x_8,e5),max(mix(v5,v6,a5)*step(e5,x_8)*step(x_8,e6),max(mix(v6,v7,a6)*step(e6,x_8)*step(x_8,e7),mix(v7,v8,a7)*step(e7,x_8)*step(x_8,e8))))))));}vec4 turbidity(float x_40){const float e0=0.0;const vec4 v0=vec4(0.13333333333333333,0.12156862745098039,0.10588235294117647,1);const float e1=0.13;const vec4 v1=vec4(0.2549019607843137,0.19607843137254902,0.1607843137254902,1);const float e2=0.25;const vec4 v2=vec4(0.3843137254901961,0.27058823529411763,0.20392156862745098,1);const float e3=0.38;const vec4 v3=vec4(0.5137254901960784,0.34901960784313724,0.2235294117647059,1);const float e4=0.5;const vec4 v4=vec4(0.6313725490196078,0.4392156862745098,0.23137254901960785,1);const float e5=0.63;const vec4 v5=vec4(0.7254901960784313,0.5490196078431373,0.25882352941176473,1);const float e6=0.75;const vec4 v6=vec4(0.792156862745098,0.6823529411764706,0.34509803921568627,1);const float e7=0.88;const vec4 v7=vec4(0.8470588235294118,0.8196078431372549,0.49411764705882355,1);const float e8=1.0;const vec4 v8=vec4(0.9137254901960784,0.9647058823529412,0.6705882352941176,1);float a0=smoothstep(e0,e1,x_40);float a1=smoothstep(e1,e2,x_40);float a2=smoothstep(e2,e3,x_40);float a3=smoothstep(e3,e4,x_40);float a4=smoothstep(e4,e5,x_40);float a5=smoothstep(e5,e6,x_40);float a6=smoothstep(e6,e7,x_40);float a7=smoothstep(e7,e8,x_40);return max(mix(v0,v1,a0)*step(e0,x_40)*step(x_40,e1),max(mix(v1,v2,a1)*step(e1,x_40)*step(x_40,e2),max(mix(v2,v3,a2)*step(e2,x_40)*step(x_40,e3),max(mix(v3,v4,a3)*step(e3,x_40)*step(x_40,e4),max(mix(v4,v5,a4)*step(e4,x_40)*step(x_40,e5),max(mix(v5,v6,a5)*step(e5,x_40)*step(x_40,e6),max(mix(v6,v7,a6)*step(e6,x_40)*step(x_40,e7),mix(v7,v8,a7)*step(e7,x_40)*step(x_40,e8))))))));}vec4 velocity_blue_297387650(float x_2){const float e0=0.0;const vec4 v0=vec4(0.06666666666666667,0.12549019607843137,0.25098039215686274,1);const float e1=0.13;const vec4 v1=vec4(0.13725490196078433,0.20392156862745098,0.4549019607843137,1);const float e2=0.25;const vec4 v2=vec4(0.11372549019607843,0.3176470588235294,0.611764705882353,1);const float e3=0.38;const vec4 v3=vec4(0.12156862745098039,0.44313725490196076,0.6352941176470588,1);const float e4=0.5;const vec4 v4=vec4(0.19607843137254902,0.5647058823529412,0.6627450980392157,1);const float e5=0.63;const vec4 v5=vec4(0.3411764705882353,0.6784313725490196,0.6901960784313725,1);const float e6=0.75;const vec4 v6=vec4(0.5843137254901961,0.7686274509803922,0.7411764705882353,1);const float e7=0.88;const vec4 v7=vec4(0.796078431372549,0.8666666666666667,0.8274509803921568,1);const float e8=1.0;const vec4 v8=vec4(0.996078431372549,0.984313725490196,0.9019607843137255,1);float a0=smoothstep(e0,e1,x_2);float a1=smoothstep(e1,e2,x_2);float a2=smoothstep(e2,e3,x_2);float a3=smoothstep(e3,e4,x_2);float a4=smoothstep(e4,e5,x_2);float a5=smoothstep(e5,e6,x_2);float a6=smoothstep(e6,e7,x_2);float a7=smoothstep(e7,e8,x_2);return max(mix(v0,v1,a0)*step(e0,x_2)*step(x_2,e1),max(mix(v1,v2,a1)*step(e1,x_2)*step(x_2,e2),max(mix(v2,v3,a2)*step(e2,x_2)*step(x_2,e3),max(mix(v3,v4,a3)*step(e3,x_2)*step(x_2,e4),max(mix(v4,v5,a4)*step(e4,x_2)*step(x_2,e5),max(mix(v5,v6,a5)*step(e5,x_2)*step(x_2,e6),max(mix(v6,v7,a6)*step(e6,x_2)*step(x_2,e7),mix(v7,v8,a7)*step(e7,x_2)*step(x_2,e8))))))));}vec4 velocity_green_2558432129(float x_27){const float e0=0.0;const vec4 v0=vec4(0.09019607843137255,0.13725490196078433,0.07450980392156863,1);const float e1=0.13;const vec4 v1=vec4(0.09411764705882353,0.25098039215686274,0.14901960784313725,1);const float e2=0.25;const vec4 v2=vec4(0.043137254901960784,0.37254901960784315,0.17647058823529413,1);const float e3=0.38;const vec4 v3=vec4(0.15294117647058825,0.4823529411764706,0.13725490196078433,1);const float e4=0.5;const vec4 v4=vec4(0.37254901960784315,0.5725490196078431,0.047058823529411764,1);const float e5=0.63;const vec4 v5=vec4(0.596078431372549,0.6470588235294118,0.07058823529411765,1);const float e6=0.75;const vec4 v6=vec4(0.788235294117647,0.7294117647058823,0.27058823529411763,1);const float e7=0.88;const vec4 v7=vec4(0.9137254901960784,0.8470588235294118,0.5372549019607843,1);const float e8=1.0;const vec4 v8=vec4(1,0.9921568627450981,0.803921568627451,1);float a0=smoothstep(e0,e1,x_27);float a1=smoothstep(e1,e2,x_27);float a2=smoothstep(e2,e3,x_27);float a3=smoothstep(e3,e4,x_27);float a4=smoothstep(e4,e5,x_27);float a5=smoothstep(e5,e6,x_27);float a6=smoothstep(e6,e7,x_27);float a7=smoothstep(e7,e8,x_27);return max(mix(v0,v1,a0)*step(e0,x_27)*step(x_27,e1),max(mix(v1,v2,a1)*step(e1,x_27)*step(x_27,e2),max(mix(v2,v3,a2)*step(e2,x_27)*step(x_27,e3),max(mix(v3,v4,a3)*step(e3,x_27)*step(x_27,e4),max(mix(v4,v5,a4)*step(e4,x_27)*step(x_27,e5),max(mix(v5,v6,a5)*step(e5,x_27)*step(x_27,e6),max(mix(v6,v7,a6)*step(e6,x_27)*step(x_27,e7),mix(v7,v8,a7)*step(e7,x_27)*step(x_27,e8))))))));}vec4 cubehelix(float x_37){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=0.07;const vec4 v1=vec4(0.08627450980392157,0.0196078431372549,0.23137254901960785,1);const float e2=0.13;const vec4 v2=vec4(0.23529411764705882,0.01568627450980392,0.4117647058823529,1);const float e3=0.2;const vec4 v3=vec4(0.42745098039215684,0.00392156862745098,0.5294117647058824,1);const float e4=0.27;const vec4 v4=vec4(0.6313725490196078,0,0.5764705882352941,1);const float e5=0.33;const vec4 v5=vec4(0.8235294117647058,0.00784313725490196,0.5568627450980392,1);const float e6=0.4;const vec4 v6=vec4(0.984313725490196,0.043137254901960784,0.4823529411764706,1);const float e7=0.47;const vec4 v7=vec4(1,0.11372549019607843,0.3803921568627451,1);const float e8=0.53;const vec4 v8=vec4(1,0.21176470588235294,0.27058823529411763,1);const float e9=0.6;const vec4 v9=vec4(1,0.3333333333333333,0.1803921568627451,1);const float e10=0.67;const vec4 v10=vec4(1,0.47058823529411764,0.13333333333333333,1);const float e11=0.73;const vec4 v11=vec4(1,0.615686274509804,0.1450980392156863,1);const float e12=0.8;const vec4 v12=vec4(0.9450980392156862,0.7490196078431373,0.2235294117647059,1);const float e13=0.87;const vec4 v13=vec4(0.8784313725490196,0.8627450980392157,0.36470588235294116,1);const float e14=0.93;const vec4 v14=vec4(0.8549019607843137,0.9450980392156862,0.5568627450980392,1);const float e15=1.0;const vec4 v15=vec4(0.8901960784313725,0.9921568627450981,0.7764705882352941,1);float a0=smoothstep(e0,e1,x_37);float a1=smoothstep(e1,e2,x_37);float a2=smoothstep(e2,e3,x_37);float a3=smoothstep(e3,e4,x_37);float a4=smoothstep(e4,e5,x_37);float a5=smoothstep(e5,e6,x_37);float a6=smoothstep(e6,e7,x_37);float a7=smoothstep(e7,e8,x_37);float a8=smoothstep(e8,e9,x_37);float a9=smoothstep(e9,e10,x_37);float a10=smoothstep(e10,e11,x_37);float a11=smoothstep(e11,e12,x_37);float a12=smoothstep(e12,e13,x_37);float a13=smoothstep(e13,e14,x_37);float a14=smoothstep(e14,e15,x_37);return max(mix(v0,v1,a0)*step(e0,x_37)*step(x_37,e1),max(mix(v1,v2,a1)*step(e1,x_37)*step(x_37,e2),max(mix(v2,v3,a2)*step(e2,x_37)*step(x_37,e3),max(mix(v3,v4,a3)*step(e3,x_37)*step(x_37,e4),max(mix(v4,v5,a4)*step(e4,x_37)*step(x_37,e5),max(mix(v5,v6,a5)*step(e5,x_37)*step(x_37,e6),max(mix(v6,v7,a6)*step(e6,x_37)*step(x_37,e7),max(mix(v7,v8,a7)*step(e7,x_37)*step(x_37,e8),max(mix(v8,v9,a8)*step(e8,x_37)*step(x_37,e9),max(mix(v9,v10,a9)*step(e9,x_37)*step(x_37,e10),max(mix(v10,v11,a10)*step(e10,x_37)*step(x_37,e11),max(mix(v11,v12,a11)*step(e11,x_37)*step(x_37,e12),max(mix(v12,v13,a12)*step(e12,x_37)*step(x_37,e13),max(mix(v13,v14,a13)*step(e13,x_37)*step(x_37,e14),mix(v14,v15,a14)*step(e14,x_37)*step(x_37,e15)))))))))))))));}vec4 apply_transparent_color_452471729(vec3 color,vec3 transparentColor,bool useTransparentColor,float opacity){return vec4(color,(color==transparentColor&&useTransparentColor)? 0. : opacity);}uniform float opacity;uniform bool useTransparentColor;vec4 colormap(float intensity){return vec4(apply_transparent_color_452471729(COLORMAP_FUNCTION(min(1.,intensity)).xyz,COLORMAP_FUNCTION(0.).xyz,useTransparentColor,opacity));}",inject:{"fs:DECKGL_MUTATE_COLOR":"\n float intensityCombo = 0.;\n intensityCombo += max(0.,intensity0);\n intensityCombo += max(0.,intensity1);\n intensityCombo += max(0.,intensity2);\n intensityCombo += max(0.,intensity3);\n intensityCombo += max(0.,intensity4);\n intensityCombo += max(0.,intensity5);\n rgba = colormap(intensityCombo);\n"}},io={colormap:{type:"string",value:"viridis",compare:!0},opacity:{type:"number",value:1,compare:!0},useTransparentColor:{type:"boolean",value:!1,compare:!0}},oo=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"getShaders",value:function(){var e;return{defines:{COLORMAP_FUNCTION:(null===this||void 0===this||null===(e=this.props)||void 0===e?void 0:e.colormap)||io.colormap.value},modules:[ro]}}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,r=e.changeFlags,i=Object(c.a)(e,["props","oldProps","changeFlags"]);if(Object(C.a)(Object(I.a)(A.prototype),"updateState",this).call(this,Object(d.a)({props:t,oldProps:n,changeFlags:r},i)),t.colormap!==n.colormap){var o=this.context.gl;this.state.model&&(this.state.model.delete(),this.setState({model:this._getModel(o)}))}}},{key:"draw",value:function(){var e,t=this.props,A=t.useTransparentColor,n=void 0===A?io.useTransparentColor.value:A,r=t.opacity,i={opacity:void 0===r?io.opacity.value:r,useTransparentColor:n};null===(e=this.state.model)||void 0===e||e.setUniforms(i)}}]),A}(m.a);oo.extensionName="AdditiveColormapExtension",oo.defaultProps=io;var ao={pickable:{type:"boolean",value:!0,compare:!0},coordinateSystem:p.a.CARTESIAN,contrastLimits:{type:"array",value:[],compare:!0},channelsVisible:{type:"array",value:[],compare:!0},selections:{type:"array",value:[],compare:!0},domain:{type:"array",value:[],compare:!0},viewportId:{type:"string",value:"",compare:!0},loader:{type:"object",value:{getRaster:function(){var e=Object(a.a)(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{data:[],height:0,width:0});case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),dtype:"Uint16"},compare:!0},onClick:{type:"function",value:null,compare:!0},onViewportLoad:{type:"function",value:null,compare:!0},interpolation:{type:"number",value:F.default.NEAREST,compare:!0},extensions:{type:"array",value:[new no],compare:!0}},so=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"finalizeState",value:function(){this.state.abortController.abort()}},{key:"updateState",value:function(e){var t=this,A=e.props,n=e.oldProps,r=A.loader!==n.loader,i=A.selections!==n.selections;if(r||i){var o=this.props,a=o.loader,s=o.selections,g=void 0===s?[]:s,c=o.onViewportLoad,u=new AbortController;this.setState({abortController:u});var l=u.signal,I=g.map((function(e){return a.getRaster({selection:e,signal:l})}));Promise.all(I).then((function(e){var A={data:e.map((function(e){return e.data})),width:e[0].width,height:e[0].height};Hi(a.shape)&&(A.data=A.data[0],A.data.length===A.width*A.height*3&&(A.format=F.default.RGB,A.dataFormat=F.default.RGB)),c&&c(A),t.setState(Object(d.a)({},A))})).catch((function(e){if("__vivSignalAborted"!==e)throw e}))}}},{key:"getPickingInfo",value:function(e){var t=e.info,A=e.sourceLayer;return t.sourceLayer=A,t.tile=A.props.tile,t}},{key:"renderLayers",value:function(){var e=this.props,t=e.loader,A=e.id,n=t.dtype,r=this.state,i=r.width,o=r.height,a=r.data;if(!i||!o)return null;var s=[0,o,i,0];if(Hi(t.shape)){var g=t.meta.photometricInterpretation,c=void 0===g?2:g;return new Oi(this.props,{image:this.state,photometricInterpretation:c,bounds:s,id:"image-sub-layer-".concat(s,"-").concat(A)})}return new Ni(this.props,{channelData:{data:a,height:o,width:i},bounds:s,id:"image-sub-layer-".concat(s,"-").concat(A),dtype:n})}}]),A}(v.a);so.layerName="ImageLayer",so.defaultProps=ao;var go={pickable:{type:"boolean",value:!0,compare:!0},onHover:{type:"function",value:null,compare:!1},contrastLimits:{type:"array",value:[],compare:!0},channelsVisible:{type:"array",value:[],compare:!0},domain:{type:"array",value:[],compare:!0},viewportId:{type:"string",value:"",compare:!0},maxRequests:{type:"number",value:10,compare:!0},onClick:{type:"function",value:null,compare:!0},refinementStrategy:{type:"string",value:null,compare:!0},excludeBackground:{type:"boolean",value:!1,compare:!0},extensions:{type:"array",value:[new no],compare:!0}},co=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"renderLayers",value:function(){var e=this.props,t=e.loader,A=e.selections,n=e.opacity,r=e.viewportId,i=e.onTileError,s=e.onHover,g=e.id,c=e.onClick,u=e.modelMatrix,l=e.excludeBackground,I=e.refinementStrategy,C=t[0],h=C.tileSize,f=C.dtype,d=function(){var e=Object(a.a)(o.a.mark((function e(n){var r,i,a,s,g,c,u,l;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.x,i=n.y,a=n.z,s=n.signal,A&&0!==A.length){e.next=3;break}return e.abrupt("return",null);case 3:return g=Math.round(-a),c=function(e){var A={x:r,y:i,selection:e,signal:s};return t[g].getTile(A)},e.prev=5,e.next=8,Promise.all(A.map(c));case 8:if(u=e.sent,l={data:u.map((function(e){return e.data})),width:u[0].width,height:u[0].height},!Hi(t[g].shape)){e.next=14;break}return l.data=l.data[0],l.data.length===l.width*l.height*3&&(l.format=F.default.RGB,l.dataFormat=F.default.RGB),e.abrupt("return",l);case 14:return e.abrupt("return",l);case 17:if(e.prev=17,e.t0=e.catch(5),"__vivSignalAborted"!==e.t0){e.next=21;break}return e.abrupt("return",null);case 21:throw e.t0;case 22:case"end":return e.stop()}}),e,null,[[5,17]])})));return function(t){return e.apply(this,arguments)}}(),B=ji(t[0]),p=B.height,E=B.width,Q=new Ki(this.props,{id:"Tiled-Image-".concat(g),getTileData:d,dtype:f,tileSize:h,zoomOffset:Math.round(Math.log2(u?u.getScale()[0]:1)),extent:[0,0,E,p],minZoom:Math.round(-(t.length-1)),maxZoom:0,refinementStrategy:I||(1===n?"best-available":"no-overlap"),updateTriggers:{getTileData:[t,A]},onTileError:i||t[0].onTileError}),y=t[t.length-1],v="function"===typeof y.getRaster,m=u?u.clone():new S.Matrix4;return[v&&!l&&new so(this.props,{id:"Background-Image-".concat(g),loader:y,modelMatrix:m.scale(Math.pow(2,t.length-1)),visible:!r||this.context.viewport.id===r,onHover:s,onClick:c,interpolation:F.default.LINEAR,onViewportLoad:null}),Q]}}]),A}(v.a);co.layerName="MultiscaleImageLayer",co.defaultProps=go;var uo={pickable:{type:"boolean",value:!0,compare:!0},loader:{type:"object",value:{getRaster:function(){var e=Object(a.a)(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{data:[],height:0,width:0});case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),getRasterSize:function(){return{height:0,width:0}},dtype:"<u2"},compare:!0},id:{type:"string",value:"",compare:!0},boundingBox:{type:"array",value:[[0,0],[0,1],[1,1],[1,0]],compare:!0},boundingBoxColor:{type:"array",value:[255,0,0],compare:!0},boundingBoxOutlineWidth:{type:"number",value:1,compare:!0},viewportOutlineColor:{type:"array",value:[255,190,0],compare:!0},viewportOutlineWidth:{type:"number",value:2,compare:!0},overviewScale:{type:"number",value:1,compare:!0},zoom:{type:"number",value:1,compare:!0}},lo=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"renderLayers",value:function(){var e=this.props,t=e.loader,A=e.id,n=e.zoom,r=e.boundingBox,i=e.boundingBoxColor,o=e.boundingBoxOutlineWidth,a=e.viewportOutlineColor,s=e.viewportOutlineWidth,g=e.overviewScale,c=ji(t[0]),u=c.width,l=c.height,I=t.length-1,C=t[I];return[new so(this.props,{id:"viewport-".concat(A),modelMatrix:(new S.Matrix4).scale(Math.pow(2,I)*g),loader:C}),new L.a({id:"bounding-box-overview-".concat(A),coordinateSystem:p.a.CARTESIAN,data:[r],getPolygon:function(e){return e},filled:!1,stroked:!0,getLineColor:i,getLineWidth:o*Math.pow(2,n)}),new L.a({id:"viewport-outline-".concat(A),coordinateSystem:p.a.CARTESIAN,data:[[[0,0],[u*g,0],[u*g,l*g],[0,l*g]]],getPolygon:function(e){return e},filled:!1,stroked:!0,getLineColor:a,getLineWidth:s*Math.pow(2,n)})]}}]),A}(v.a);function Io(e){return"-#".concat(e,"#")}function Co(e){var t=(new b.a).makeViewport({viewState:e,height:e.height,width:e.width});return[t.unproject([0,0]),t.unproject([t.width,0]),t.unproject([t.width,t.height]),t.unproject([0,t.height])]}function ho(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4?arguments[4]:void 0,i=Array.isArray(e)?e[0]:e,o=ji(i),a=o.width,s=o.height,g=i.shape[i.labels.indexOf("z")],c=Math.log2(Math.min(t.width/a,t.height/s))-A,u=Ri(i),l={target:(r||new S.Matrix4).transformPoint((n?u:new S.Matrix4).transformPoint([a/2,s/2,n?g/2:0])),zoom:c};return l}lo.layerName="OverviewLayer",lo.defaultProps=uo;var fo=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"renderLayers",value:function(){var e,t=this.props,A=t.id,n=t.unit,r=t.size,i=t.position,o=t.viewState,a=t.length,g=Co(o),c=o.zoom,u=.05*(g[2][0]-g[0][0]),l=Math.max(Math.pow(2,1.5-c),.007*(g[2][1]-g[0][1])),I=u*r,C=function(e,t,A){var n=e[2][0]-e[0][0];switch(t){case"bottom-right":return[e[2][1]-(e[2][1]-e[0][1])*A,e[2][0]-n*A];case"top-right":return[(e[2][1]-e[0][1])*A,e[2][0]-n*A];case"top-left":return[(e[2][1]-e[0][1])*A,n*A];case"bottom-left":return[e[2][1]-(e[2][1]-e[0][1])*A,n*A];default:throw new Error("Position ".concat(t," not found"))}}(g,i,a),h=Object(s.a)(C,2),f=h[0],d=h[1];return[new T.a({id:"scale-bar-length-".concat(A),coordinateSystem:p.a.CARTESIAN,data:[[[d,f],[d+u,f]]],getSourcePosition:function(e){return e[0]},getTargetPosition:function(e){return e[1]},getWidth:2,getColor:[220,220,220]}),new T.a({id:"scale-bar-height-left-".concat(A),coordinateSystem:p.a.CARTESIAN,data:[[[d,f-l],[d,f+l]]],getSourcePosition:function(e){return e[0]},getTargetPosition:function(e){return e[1]},getWidth:2,getColor:[220,220,220]}),new T.a({id:"scale-bar-height-right-".concat(A),coordinateSystem:p.a.CARTESIAN,data:[[[d+u,f-l],[d+u,f+l]]],getSourcePosition:function(e){return e[0]},getTargetPosition:function(e){return e[1]},getWidth:2,getColor:[220,220,220]}),new Z.a({id:"units-label-layer-".concat(A),coordinateSystem:p.a.CARTESIAN,data:[{text:String(I).slice(0,5).replace(/\.$/,"")+n,position:[d+.5*u,f+4*l]}],getColor:[220,220,220,255],getSize:12,fontFamily:"-apple-system, 'Helvetica Neue', Arial, sans-serif",sizeUnits:"meters",sizeScale:Math.pow(2,-c),characterSet:[].concat(Object(B.a)(n.split("")),Object(B.a)((e=10,Object(B.a)(Array(e).keys())).map((function(e){return String(e)}))),["."])})]}}]),A}(v.a);fo.layerName="ScaleBarLayer",fo.defaultProps={pickable:{type:"boolean",value:!0,compare:!0},viewState:{type:"object",value:{zoom:0,target:[0,0,0]},compare:!0},unit:{type:"string",value:"",compare:!0},size:{type:"number",value:1,compare:!0},position:{type:"string",value:"bottom-right",compare:!0},length:{type:"number",value:.085,compare:!0}};var Bo={name:"channel-intensity-module",fs:"#define GLSLIFY 1\nvec4 jet(float x_17){const float e0=0.0;const vec4 v0=vec4(0,0,0.5137254901960784,1);const float e1=0.125;const vec4 v1=vec4(0,0.23529411764705882,0.6666666666666666,1);const float e2=0.375;const vec4 v2=vec4(0.0196078431372549,1,1,1);const float e3=0.625;const vec4 v3=vec4(1,1,0,1);const float e4=0.875;const vec4 v4=vec4(0.9803921568627451,0,0,1);const float e5=1.0;const vec4 v5=vec4(0.5019607843137255,0,0,1);float a0=smoothstep(e0,e1,x_17);float a1=smoothstep(e1,e2,x_17);float a2=smoothstep(e2,e3,x_17);float a3=smoothstep(e3,e4,x_17);float a4=smoothstep(e4,e5,x_17);return max(mix(v0,v1,a0)*step(e0,x_17)*step(x_17,e1),max(mix(v1,v2,a1)*step(e1,x_17)*step(x_17,e2),max(mix(v2,v3,a2)*step(e2,x_17)*step(x_17,e3),max(mix(v3,v4,a3)*step(e3,x_17)*step(x_17,e4),mix(v4,v5,a4)*step(e4,x_17)*step(x_17,e5)))));}vec4 hsv(float x_18){const float e0=0.0;const vec4 v0=vec4(1,0,0,1);const float e1=0.169;const vec4 v1=vec4(0.9921568627450981,1,0.00784313725490196,1);const float e2=0.173;const vec4 v2=vec4(0.9686274509803922,1,0.00784313725490196,1);const float e3=0.337;const vec4 v3=vec4(0,0.9882352941176471,0.01568627450980392,1);const float e4=0.341;const vec4 v4=vec4(0,0.9882352941176471,0.0392156862745098,1);const float e5=0.506;const vec4 v5=vec4(0.00392156862745098,0.9764705882352941,1,1);const float e6=0.671;const vec4 v6=vec4(0.00784313725490196,0,0.9921568627450981,1);const float e7=0.675;const vec4 v7=vec4(0.03137254901960784,0,0.9921568627450981,1);const float e8=0.839;const vec4 v8=vec4(1,0,0.984313725490196,1);const float e9=0.843;const vec4 v9=vec4(1,0,0.9607843137254902,1);const float e10=1.0;const vec4 v10=vec4(1,0,0.023529411764705882,1);float a0=smoothstep(e0,e1,x_18);float a1=smoothstep(e1,e2,x_18);float a2=smoothstep(e2,e3,x_18);float a3=smoothstep(e3,e4,x_18);float a4=smoothstep(e4,e5,x_18);float a5=smoothstep(e5,e6,x_18);float a6=smoothstep(e6,e7,x_18);float a7=smoothstep(e7,e8,x_18);float a8=smoothstep(e8,e9,x_18);float a9=smoothstep(e9,e10,x_18);return max(mix(v0,v1,a0)*step(e0,x_18)*step(x_18,e1),max(mix(v1,v2,a1)*step(e1,x_18)*step(x_18,e2),max(mix(v2,v3,a2)*step(e2,x_18)*step(x_18,e3),max(mix(v3,v4,a3)*step(e3,x_18)*step(x_18,e4),max(mix(v4,v5,a4)*step(e4,x_18)*step(x_18,e5),max(mix(v5,v6,a5)*step(e5,x_18)*step(x_18,e6),max(mix(v6,v7,a6)*step(e6,x_18)*step(x_18,e7),max(mix(v7,v8,a7)*step(e7,x_18)*step(x_18,e8),max(mix(v8,v9,a8)*step(e8,x_18)*step(x_18,e9),mix(v9,v10,a9)*step(e9,x_18)*step(x_18,e10))))))))));}vec4 hot(float x_13){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=0.3;const vec4 v1=vec4(0.9019607843137255,0,0,1);const float e2=0.6;const vec4 v2=vec4(1,0.8235294117647058,0,1);const float e3=1.0;const vec4 v3=vec4(1,1,1,1);float a0=smoothstep(e0,e1,x_13);float a1=smoothstep(e1,e2,x_13);float a2=smoothstep(e2,e3,x_13);return max(mix(v0,v1,a0)*step(e0,x_13)*step(x_13,e1),max(mix(v1,v2,a1)*step(e1,x_13)*step(x_13,e2),mix(v2,v3,a2)*step(e2,x_13)*step(x_13,e3)));}vec4 cool(float x_24){const float e0=0.0;const vec4 v0=vec4(0.49019607843137253,0,0.7019607843137254,1);const float e1=0.13;const vec4 v1=vec4(0.4549019607843137,0,0.8549019607843137,1);const float e2=0.25;const vec4 v2=vec4(0.3843137254901961,0.2901960784313726,0.9294117647058824,1);const float e3=0.38;const vec4 v3=vec4(0.26666666666666666,0.5725490196078431,0.9058823529411765,1);const float e4=0.5;const vec4 v4=vec4(0,0.8,0.7725490196078432,1);const float e5=0.63;const vec4 v5=vec4(0,0.9686274509803922,0.5725490196078431,1);const float e6=0.75;const vec4 v6=vec4(0,1,0.34509803921568627,1);const float e7=0.88;const vec4 v7=vec4(0.1568627450980392,1,0.03137254901960784,1);const float e8=1.0;const vec4 v8=vec4(0.5764705882352941,1,0,1);float a0=smoothstep(e0,e1,x_24);float a1=smoothstep(e1,e2,x_24);float a2=smoothstep(e2,e3,x_24);float a3=smoothstep(e3,e4,x_24);float a4=smoothstep(e4,e5,x_24);float a5=smoothstep(e5,e6,x_24);float a6=smoothstep(e6,e7,x_24);float a7=smoothstep(e7,e8,x_24);return max(mix(v0,v1,a0)*step(e0,x_24)*step(x_24,e1),max(mix(v1,v2,a1)*step(e1,x_24)*step(x_24,e2),max(mix(v2,v3,a2)*step(e2,x_24)*step(x_24,e3),max(mix(v3,v4,a3)*step(e3,x_24)*step(x_24,e4),max(mix(v4,v5,a4)*step(e4,x_24)*step(x_24,e5),max(mix(v5,v6,a5)*step(e5,x_24)*step(x_24,e6),max(mix(v6,v7,a6)*step(e6,x_24)*step(x_24,e7),mix(v7,v8,a7)*step(e7,x_24)*step(x_24,e8))))))));}vec4 spring(float x_5){const float e0=0.0;const vec4 v0=vec4(1,0,1,1);const float e1=1.0;const vec4 v1=vec4(1,1,0,1);float a0=smoothstep(e0,e1,x_5);return mix(v0,v1,a0)*step(e0,x_5)*step(x_5,e1);}vec4 summer(float x_12){const float e0=0.0;const vec4 v0=vec4(0,0.5019607843137255,0.4,1);const float e1=1.0;const vec4 v1=vec4(1,1,0.4,1);float a0=smoothstep(e0,e1,x_12);return mix(v0,v1,a0)*step(e0,x_12)*step(x_12,e1);}vec4 autumn(float x_25){const float e0=0.0;const vec4 v0=vec4(1,0,0,1);const float e1=1.0;const vec4 v1=vec4(1,1,0,1);float a0=smoothstep(e0,e1,x_25);return mix(v0,v1,a0)*step(e0,x_25)*step(x_25,e1);}vec4 winter(float x_16){const float e0=0.0;const vec4 v0=vec4(0,0,1,1);const float e1=1.0;const vec4 v1=vec4(0,1,0.5019607843137255,1);float a0=smoothstep(e0,e1,x_16);return mix(v0,v1,a0)*step(e0,x_16)*step(x_16,e1);}vec4 bone(float x_15){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=0.376;const vec4 v1=vec4(0.32941176470588235,0.32941176470588235,0.4549019607843137,1);const float e2=0.753;const vec4 v2=vec4(0.6627450980392157,0.7843137254901961,0.7843137254901961,1);const float e3=1.0;const vec4 v3=vec4(1,1,1,1);float a0=smoothstep(e0,e1,x_15);float a1=smoothstep(e1,e2,x_15);float a2=smoothstep(e2,e3,x_15);return max(mix(v0,v1,a0)*step(e0,x_15)*step(x_15,e1),max(mix(v1,v2,a1)*step(e1,x_15)*step(x_15,e2),mix(v2,v3,a2)*step(e2,x_15)*step(x_15,e3)));}vec4 copper(float x_10){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=0.804;const vec4 v1=vec4(1,0.6274509803921569,0.4,1);const float e2=1.0;const vec4 v2=vec4(1,0.7803921568627451,0.4980392156862745,1);float a0=smoothstep(e0,e1,x_10);float a1=smoothstep(e1,e2,x_10);return max(mix(v0,v1,a0)*step(e0,x_10)*step(x_10,e1),mix(v1,v2,a1)*step(e1,x_10)*step(x_10,e2));}vec4 greys(float x_4){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=1.0;const vec4 v1=vec4(1,1,1,1);float a0=smoothstep(e0,e1,x_4);return mix(v0,v1,a0)*step(e0,x_4)*step(x_4,e1);}vec4 yignbu(float x_32){const float e0=0.0;const vec4 v0=vec4(0.03137254901960784,0.11372549019607843,0.34509803921568627,1);const float e1=0.125;const vec4 v1=vec4(0.1450980392156863,0.20392156862745098,0.5803921568627451,1);const float e2=0.25;const vec4 v2=vec4(0.13333333333333333,0.3686274509803922,0.6588235294117647,1);const float e3=0.375;const vec4 v3=vec4(0.11372549019607843,0.5686274509803921,0.7529411764705882,1);const float e4=0.5;const vec4 v4=vec4(0.2549019607843137,0.7137254901960784,0.7686274509803922,1);const float e5=0.625;const vec4 v5=vec4(0.4980392156862745,0.803921568627451,0.7333333333333333,1);const float e6=0.75;const vec4 v6=vec4(0.7803921568627451,0.9137254901960784,0.7058823529411765,1);const float e7=0.875;const vec4 v7=vec4(0.9294117647058824,0.9725490196078431,0.8509803921568627,1);const float e8=1.0;const vec4 v8=vec4(1,1,0.8509803921568627,1);float a0=smoothstep(e0,e1,x_32);float a1=smoothstep(e1,e2,x_32);float a2=smoothstep(e2,e3,x_32);float a3=smoothstep(e3,e4,x_32);float a4=smoothstep(e4,e5,x_32);float a5=smoothstep(e5,e6,x_32);float a6=smoothstep(e6,e7,x_32);float a7=smoothstep(e7,e8,x_32);return max(mix(v0,v1,a0)*step(e0,x_32)*step(x_32,e1),max(mix(v1,v2,a1)*step(e1,x_32)*step(x_32,e2),max(mix(v2,v3,a2)*step(e2,x_32)*step(x_32,e3),max(mix(v3,v4,a3)*step(e3,x_32)*step(x_32,e4),max(mix(v4,v5,a4)*step(e4,x_32)*step(x_32,e5),max(mix(v5,v6,a5)*step(e5,x_32)*step(x_32,e6),max(mix(v6,v7,a6)*step(e6,x_32)*step(x_32,e7),mix(v7,v8,a7)*step(e7,x_32)*step(x_32,e8))))))));}vec4 greens(float x_34){const float e0=0.0;const vec4 v0=vec4(0,0.26666666666666666,0.10588235294117647,1);const float e1=0.125;const vec4 v1=vec4(0,0.42745098039215684,0.17254901960784313,1);const float e2=0.25;const vec4 v2=vec4(0.13725490196078433,0.5450980392156862,0.27058823529411763,1);const float e3=0.375;const vec4 v3=vec4(0.2549019607843137,0.6705882352941176,0.36470588235294116,1);const float e4=0.5;const vec4 v4=vec4(0.4549019607843137,0.7686274509803922,0.4627450980392157,1);const float e5=0.625;const vec4 v5=vec4(0.6313725490196078,0.8509803921568627,0.6078431372549019,1);const float e6=0.75;const vec4 v6=vec4(0.7803921568627451,0.9137254901960784,0.7529411764705882,1);const float e7=0.875;const vec4 v7=vec4(0.8980392156862745,0.9607843137254902,0.8784313725490196,1);const float e8=1.0;const vec4 v8=vec4(0.9686274509803922,0.9882352941176471,0.9607843137254902,1);float a0=smoothstep(e0,e1,x_34);float a1=smoothstep(e1,e2,x_34);float a2=smoothstep(e2,e3,x_34);float a3=smoothstep(e3,e4,x_34);float a4=smoothstep(e4,e5,x_34);float a5=smoothstep(e5,e6,x_34);float a6=smoothstep(e6,e7,x_34);float a7=smoothstep(e7,e8,x_34);return max(mix(v0,v1,a0)*step(e0,x_34)*step(x_34,e1),max(mix(v1,v2,a1)*step(e1,x_34)*step(x_34,e2),max(mix(v2,v3,a2)*step(e2,x_34)*step(x_34,e3),max(mix(v3,v4,a3)*step(e3,x_34)*step(x_34,e4),max(mix(v4,v5,a4)*step(e4,x_34)*step(x_34,e5),max(mix(v5,v6,a5)*step(e5,x_34)*step(x_34,e6),max(mix(v6,v7,a6)*step(e6,x_34)*step(x_34,e7),mix(v7,v8,a7)*step(e7,x_34)*step(x_34,e8))))))));}vec4 yiorrd(float x_41){const float e0=0.0;const vec4 v0=vec4(0.5019607843137255,0,0.14901960784313725,1);const float e1=0.125;const vec4 v1=vec4(0.7411764705882353,0,0.14901960784313725,1);const float e2=0.25;const vec4 v2=vec4(0.8901960784313725,0.10196078431372549,0.10980392156862745,1);const float e3=0.375;const vec4 v3=vec4(0.9882352941176471,0.3058823529411765,0.16470588235294117,1);const float e4=0.5;const vec4 v4=vec4(0.9921568627450981,0.5529411764705883,0.23529411764705882,1);const float e5=0.625;const vec4 v5=vec4(0.996078431372549,0.6980392156862745,0.2980392156862745,1);const float e6=0.75;const vec4 v6=vec4(0.996078431372549,0.8509803921568627,0.4627450980392157,1);const float e7=0.875;const vec4 v7=vec4(1,0.9294117647058824,0.6274509803921569,1);const float e8=1.0;const vec4 v8=vec4(1,1,0.8,1);float a0=smoothstep(e0,e1,x_41);float a1=smoothstep(e1,e2,x_41);float a2=smoothstep(e2,e3,x_41);float a3=smoothstep(e3,e4,x_41);float a4=smoothstep(e4,e5,x_41);float a5=smoothstep(e5,e6,x_41);float a6=smoothstep(e6,e7,x_41);float a7=smoothstep(e7,e8,x_41);return max(mix(v0,v1,a0)*step(e0,x_41)*step(x_41,e1),max(mix(v1,v2,a1)*step(e1,x_41)*step(x_41,e2),max(mix(v2,v3,a2)*step(e2,x_41)*step(x_41,e3),max(mix(v3,v4,a3)*step(e3,x_41)*step(x_41,e4),max(mix(v4,v5,a4)*step(e4,x_41)*step(x_41,e5),max(mix(v5,v6,a5)*step(e5,x_41)*step(x_41,e6),max(mix(v6,v7,a6)*step(e6,x_41)*step(x_41,e7),mix(v7,v8,a7)*step(e7,x_41)*step(x_41,e8))))))));}vec4 bluered(float x_23){const float e0=0.0;const vec4 v0=vec4(0,0,1,1);const float e1=1.0;const vec4 v1=vec4(1,0,0,1);float a0=smoothstep(e0,e1,x_23);return mix(v0,v1,a0)*step(e0,x_23)*step(x_23,e1);}vec4 rdbu(float x_1){const float e0=0.0;const vec4 v0=vec4(0.0196078431372549,0.0392156862745098,0.6745098039215687,1);const float e1=0.35;const vec4 v1=vec4(0.41568627450980394,0.5372549019607843,0.9686274509803922,1);const float e2=0.5;const vec4 v2=vec4(0.7450980392156863,0.7450980392156863,0.7450980392156863,1);const float e3=0.6;const vec4 v3=vec4(0.8627450980392157,0.6666666666666666,0.5176470588235295,1);const float e4=0.7;const vec4 v4=vec4(0.9019607843137255,0.5686274509803921,0.35294117647058826,1);const float e5=1.0;const vec4 v5=vec4(0.6980392156862745,0.0392156862745098,0.10980392156862745,1);float a0=smoothstep(e0,e1,x_1);float a1=smoothstep(e1,e2,x_1);float a2=smoothstep(e2,e3,x_1);float a3=smoothstep(e3,e4,x_1);float a4=smoothstep(e4,e5,x_1);return max(mix(v0,v1,a0)*step(e0,x_1)*step(x_1,e1),max(mix(v1,v2,a1)*step(e1,x_1)*step(x_1,e2),max(mix(v2,v3,a2)*step(e2,x_1)*step(x_1,e3),max(mix(v3,v4,a3)*step(e3,x_1)*step(x_1,e4),mix(v4,v5,a4)*step(e4,x_1)*step(x_1,e5)))));}vec4 picnic(float x_42){const float e0=0.0;const vec4 v0=vec4(0,0,1,1);const float e1=0.1;const vec4 v1=vec4(0.2,0.6,1,1);const float e2=0.2;const vec4 v2=vec4(0.4,0.8,1,1);const float e3=0.3;const vec4 v3=vec4(0.6,0.8,1,1);const float e4=0.4;const vec4 v4=vec4(0.8,0.8,1,1);const float e5=0.5;const vec4 v5=vec4(1,1,1,1);const float e6=0.6;const vec4 v6=vec4(1,0.8,1,1);const float e7=0.7;const vec4 v7=vec4(1,0.6,1,1);const float e8=0.8;const vec4 v8=vec4(1,0.4,0.8,1);const float e9=0.9;const vec4 v9=vec4(1,0.4,0.4,1);const float e10=1.0;const vec4 v10=vec4(1,0,0,1);float a0=smoothstep(e0,e1,x_42);float a1=smoothstep(e1,e2,x_42);float a2=smoothstep(e2,e3,x_42);float a3=smoothstep(e3,e4,x_42);float a4=smoothstep(e4,e5,x_42);float a5=smoothstep(e5,e6,x_42);float a6=smoothstep(e6,e7,x_42);float a7=smoothstep(e7,e8,x_42);float a8=smoothstep(e8,e9,x_42);float a9=smoothstep(e9,e10,x_42);return max(mix(v0,v1,a0)*step(e0,x_42)*step(x_42,e1),max(mix(v1,v2,a1)*step(e1,x_42)*step(x_42,e2),max(mix(v2,v3,a2)*step(e2,x_42)*step(x_42,e3),max(mix(v3,v4,a3)*step(e3,x_42)*step(x_42,e4),max(mix(v4,v5,a4)*step(e4,x_42)*step(x_42,e5),max(mix(v5,v6,a5)*step(e5,x_42)*step(x_42,e6),max(mix(v6,v7,a6)*step(e6,x_42)*step(x_42,e7),max(mix(v7,v8,a7)*step(e7,x_42)*step(x_42,e8),max(mix(v8,v9,a8)*step(e8,x_42)*step(x_42,e9),mix(v9,v10,a9)*step(e9,x_42)*step(x_42,e10))))))))));}vec4 rainbow(float x_31){const float e0=0.0;const vec4 v0=vec4(0.5882352941176471,0,0.35294117647058826,1);const float e1=0.125;const vec4 v1=vec4(0,0,0.7843137254901961,1);const float e2=0.25;const vec4 v2=vec4(0,0.09803921568627451,1,1);const float e3=0.375;const vec4 v3=vec4(0,0.596078431372549,1,1);const float e4=0.5;const vec4 v4=vec4(0.17254901960784313,1,0.5882352941176471,1);const float e5=0.625;const vec4 v5=vec4(0.592156862745098,1,0,1);const float e6=0.75;const vec4 v6=vec4(1,0.9176470588235294,0,1);const float e7=0.875;const vec4 v7=vec4(1,0.43529411764705883,0,1);const float e8=1.0;const vec4 v8=vec4(1,0,0,1);float a0=smoothstep(e0,e1,x_31);float a1=smoothstep(e1,e2,x_31);float a2=smoothstep(e2,e3,x_31);float a3=smoothstep(e3,e4,x_31);float a4=smoothstep(e4,e5,x_31);float a5=smoothstep(e5,e6,x_31);float a6=smoothstep(e6,e7,x_31);float a7=smoothstep(e7,e8,x_31);return max(mix(v0,v1,a0)*step(e0,x_31)*step(x_31,e1),max(mix(v1,v2,a1)*step(e1,x_31)*step(x_31,e2),max(mix(v2,v3,a2)*step(e2,x_31)*step(x_31,e3),max(mix(v3,v4,a3)*step(e3,x_31)*step(x_31,e4),max(mix(v4,v5,a4)*step(e4,x_31)*step(x_31,e5),max(mix(v5,v6,a5)*step(e5,x_31)*step(x_31,e6),max(mix(v6,v7,a6)*step(e6,x_31)*step(x_31,e7),mix(v7,v8,a7)*step(e7,x_31)*step(x_31,e8))))))));}vec4 portland(float x_21){const float e0=0.0;const vec4 v0=vec4(0.047058823529411764,0.2,0.5137254901960784,1);const float e1=0.25;const vec4 v1=vec4(0.0392156862745098,0.5333333333333333,0.7294117647058823,1);const float e2=0.5;const vec4 v2=vec4(0.9490196078431372,0.8274509803921568,0.2196078431372549,1);const float e3=0.75;const vec4 v3=vec4(0.9490196078431372,0.5607843137254902,0.2196078431372549,1);const float e4=1.0;const vec4 v4=vec4(0.8509803921568627,0.11764705882352941,0.11764705882352941,1);float a0=smoothstep(e0,e1,x_21);float a1=smoothstep(e1,e2,x_21);float a2=smoothstep(e2,e3,x_21);float a3=smoothstep(e3,e4,x_21);return max(mix(v0,v1,a0)*step(e0,x_21)*step(x_21,e1),max(mix(v1,v2,a1)*step(e1,x_21)*step(x_21,e2),max(mix(v2,v3,a2)*step(e2,x_21)*step(x_21,e3),mix(v3,v4,a3)*step(e3,x_21)*step(x_21,e4))));}vec4 blackbody(float x_38){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=0.2;const vec4 v1=vec4(0.9019607843137255,0,0,1);const float e2=0.4;const vec4 v2=vec4(0.9019607843137255,0.8235294117647058,0,1);const float e3=0.7;const vec4 v3=vec4(1,1,1,1);const float e4=1.0;const vec4 v4=vec4(0.6274509803921569,0.7843137254901961,1,1);float a0=smoothstep(e0,e1,x_38);float a1=smoothstep(e1,e2,x_38);float a2=smoothstep(e2,e3,x_38);float a3=smoothstep(e3,e4,x_38);return max(mix(v0,v1,a0)*step(e0,x_38)*step(x_38,e1),max(mix(v1,v2,a1)*step(e1,x_38)*step(x_38,e2),max(mix(v2,v3,a2)*step(e2,x_38)*step(x_38,e3),mix(v3,v4,a3)*step(e3,x_38)*step(x_38,e4))));}vec4 earth(float x_29){const float e0=0.0;const vec4 v0=vec4(0,0,0.5098039215686274,1);const float e1=0.1;const vec4 v1=vec4(0,0.7058823529411765,0.7058823529411765,1);const float e2=0.2;const vec4 v2=vec4(0.1568627450980392,0.8235294117647058,0.1568627450980392,1);const float e3=0.4;const vec4 v3=vec4(0.9019607843137255,0.9019607843137255,0.19607843137254902,1);const float e4=0.6;const vec4 v4=vec4(0.47058823529411764,0.27450980392156865,0.0784313725490196,1);const float e5=1.0;const vec4 v5=vec4(1,1,1,1);float a0=smoothstep(e0,e1,x_29);float a1=smoothstep(e1,e2,x_29);float a2=smoothstep(e2,e3,x_29);float a3=smoothstep(e3,e4,x_29);float a4=smoothstep(e4,e5,x_29);return max(mix(v0,v1,a0)*step(e0,x_29)*step(x_29,e1),max(mix(v1,v2,a1)*step(e1,x_29)*step(x_29,e2),max(mix(v2,v3,a2)*step(e2,x_29)*step(x_29,e3),max(mix(v3,v4,a3)*step(e3,x_29)*step(x_29,e4),mix(v4,v5,a4)*step(e4,x_29)*step(x_29,e5)))));}vec4 electric(float x_9){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=0.15;const vec4 v1=vec4(0.11764705882352941,0,0.39215686274509803,1);const float e2=0.4;const vec4 v2=vec4(0.47058823529411764,0,0.39215686274509803,1);const float e3=0.6;const vec4 v3=vec4(0.6274509803921569,0.35294117647058826,0,1);const float e4=0.8;const vec4 v4=vec4(0.9019607843137255,0.7843137254901961,0,1);const float e5=1.0;const vec4 v5=vec4(1,0.9803921568627451,0.8627450980392157,1);float a0=smoothstep(e0,e1,x_9);float a1=smoothstep(e1,e2,x_9);float a2=smoothstep(e2,e3,x_9);float a3=smoothstep(e3,e4,x_9);float a4=smoothstep(e4,e5,x_9);return max(mix(v0,v1,a0)*step(e0,x_9)*step(x_9,e1),max(mix(v1,v2,a1)*step(e1,x_9)*step(x_9,e2),max(mix(v2,v3,a2)*step(e2,x_9)*step(x_9,e3),max(mix(v3,v4,a3)*step(e3,x_9)*step(x_9,e4),mix(v4,v5,a4)*step(e4,x_9)*step(x_9,e5)))));}vec4 alpha(float x_0){const float e0=0.0;const vec4 v0=vec4(1,1,1,0);const float e1=1.0;const vec4 v1=vec4(1,1,1,1);float a0=smoothstep(e0,e1,x_0);return mix(v0,v1,a0)*step(e0,x_0)*step(x_0,e1);}vec4 viridis(float x_22){const float e0=0.0;const vec4 v0=vec4(0.26666666666666666,0.00392156862745098,0.32941176470588235,1);const float e1=0.13;const vec4 v1=vec4(0.2784313725490196,0.17254901960784313,0.47843137254901963,1);const float e2=0.25;const vec4 v2=vec4(0.23137254901960785,0.3176470588235294,0.5450980392156862,1);const float e3=0.38;const vec4 v3=vec4(0.17254901960784313,0.44313725490196076,0.5568627450980392,1);const float e4=0.5;const vec4 v4=vec4(0.12941176470588237,0.5647058823529412,0.5529411764705883,1);const float e5=0.63;const vec4 v5=vec4(0.15294117647058825,0.6784313725490196,0.5058823529411764,1);const float e6=0.75;const vec4 v6=vec4(0.3607843137254902,0.7843137254901961,0.38823529411764707,1);const float e7=0.88;const vec4 v7=vec4(0.6666666666666666,0.8627450980392157,0.19607843137254902,1);const float e8=1.0;const vec4 v8=vec4(0.9921568627450981,0.9058823529411765,0.1450980392156863,1);float a0=smoothstep(e0,e1,x_22);float a1=smoothstep(e1,e2,x_22);float a2=smoothstep(e2,e3,x_22);float a3=smoothstep(e3,e4,x_22);float a4=smoothstep(e4,e5,x_22);float a5=smoothstep(e5,e6,x_22);float a6=smoothstep(e6,e7,x_22);float a7=smoothstep(e7,e8,x_22);return max(mix(v0,v1,a0)*step(e0,x_22)*step(x_22,e1),max(mix(v1,v2,a1)*step(e1,x_22)*step(x_22,e2),max(mix(v2,v3,a2)*step(e2,x_22)*step(x_22,e3),max(mix(v3,v4,a3)*step(e3,x_22)*step(x_22,e4),max(mix(v4,v5,a4)*step(e4,x_22)*step(x_22,e5),max(mix(v5,v6,a5)*step(e5,x_22)*step(x_22,e6),max(mix(v6,v7,a6)*step(e6,x_22)*step(x_22,e7),mix(v7,v8,a7)*step(e7,x_22)*step(x_22,e8))))))));}vec4 inferno(float x_30){const float e0=0.0;const vec4 v0=vec4(0,0,0.01568627450980392,1);const float e1=0.13;const vec4 v1=vec4(0.12156862745098039,0.047058823529411764,0.2823529411764706,1);const float e2=0.25;const vec4 v2=vec4(0.3333333333333333,0.058823529411764705,0.42745098039215684,1);const float e3=0.38;const vec4 v3=vec4(0.5333333333333333,0.13333333333333333,0.41568627450980394,1);const float e4=0.5;const vec4 v4=vec4(0.7294117647058823,0.21176470588235294,0.3333333333333333,1);const float e5=0.63;const vec4 v5=vec4(0.8901960784313725,0.34901960784313724,0.2,1);const float e6=0.75;const vec4 v6=vec4(0.9764705882352941,0.5490196078431373,0.0392156862745098,1);const float e7=0.88;const vec4 v7=vec4(0.9764705882352941,0.788235294117647,0.19607843137254902,1);const float e8=1.0;const vec4 v8=vec4(0.9882352941176471,1,0.6431372549019608,1);float a0=smoothstep(e0,e1,x_30);float a1=smoothstep(e1,e2,x_30);float a2=smoothstep(e2,e3,x_30);float a3=smoothstep(e3,e4,x_30);float a4=smoothstep(e4,e5,x_30);float a5=smoothstep(e5,e6,x_30);float a6=smoothstep(e6,e7,x_30);float a7=smoothstep(e7,e8,x_30);return max(mix(v0,v1,a0)*step(e0,x_30)*step(x_30,e1),max(mix(v1,v2,a1)*step(e1,x_30)*step(x_30,e2),max(mix(v2,v3,a2)*step(e2,x_30)*step(x_30,e3),max(mix(v3,v4,a3)*step(e3,x_30)*step(x_30,e4),max(mix(v4,v5,a4)*step(e4,x_30)*step(x_30,e5),max(mix(v5,v6,a5)*step(e5,x_30)*step(x_30,e6),max(mix(v6,v7,a6)*step(e6,x_30)*step(x_30,e7),mix(v7,v8,a7)*step(e7,x_30)*step(x_30,e8))))))));}vec4 magma(float x_33){const float e0=0.0;const vec4 v0=vec4(0,0,0.01568627450980392,1);const float e1=0.13;const vec4 v1=vec4(0.10980392156862745,0.06274509803921569,0.26666666666666666,1);const float e2=0.25;const vec4 v2=vec4(0.30980392156862746,0.07058823529411765,0.4823529411764706,1);const float e3=0.38;const vec4 v3=vec4(0.5058823529411764,0.1450980392156863,0.5058823529411764,1);const float e4=0.5;const vec4 v4=vec4(0.7098039215686275,0.21176470588235294,0.47843137254901963,1);const float e5=0.63;const vec4 v5=vec4(0.8980392156862745,0.3137254901960784,0.39215686274509803,1);const float e6=0.75;const vec4 v6=vec4(0.984313725490196,0.5294117647058824,0.3803921568627451,1);const float e7=0.88;const vec4 v7=vec4(0.996078431372549,0.7607843137254902,0.5294117647058824,1);const float e8=1.0;const vec4 v8=vec4(0.9882352941176471,0.9921568627450981,0.7490196078431373,1);float a0=smoothstep(e0,e1,x_33);float a1=smoothstep(e1,e2,x_33);float a2=smoothstep(e2,e3,x_33);float a3=smoothstep(e3,e4,x_33);float a4=smoothstep(e4,e5,x_33);float a5=smoothstep(e5,e6,x_33);float a6=smoothstep(e6,e7,x_33);float a7=smoothstep(e7,e8,x_33);return max(mix(v0,v1,a0)*step(e0,x_33)*step(x_33,e1),max(mix(v1,v2,a1)*step(e1,x_33)*step(x_33,e2),max(mix(v2,v3,a2)*step(e2,x_33)*step(x_33,e3),max(mix(v3,v4,a3)*step(e3,x_33)*step(x_33,e4),max(mix(v4,v5,a4)*step(e4,x_33)*step(x_33,e5),max(mix(v5,v6,a5)*step(e5,x_33)*step(x_33,e6),max(mix(v6,v7,a6)*step(e6,x_33)*step(x_33,e7),mix(v7,v8,a7)*step(e7,x_33)*step(x_33,e8))))))));}vec4 plasma(float x_3){const float e0=0.0;const vec4 v0=vec4(0.050980392156862744,0.03137254901960784,0.5294117647058824,1);const float e1=0.13;const vec4 v1=vec4(0.29411764705882354,0.011764705882352941,0.6313725490196078,1);const float e2=0.25;const vec4 v2=vec4(0.49019607843137253,0.011764705882352941,0.6588235294117647,1);const float e3=0.38;const vec4 v3=vec4(0.6588235294117647,0.13333333333333333,0.5882352941176471,1);const float e4=0.5;const vec4 v4=vec4(0.796078431372549,0.27450980392156865,0.4745098039215686,1);const float e5=0.63;const vec4 v5=vec4(0.8980392156862745,0.4196078431372549,0.36470588235294116,1);const float e6=0.75;const vec4 v6=vec4(0.9725490196078431,0.5803921568627451,0.2549019607843137,1);const float e7=0.88;const vec4 v7=vec4(0.9921568627450981,0.7647058823529411,0.1568627450980392,1);const float e8=1.0;const vec4 v8=vec4(0.9411764705882353,0.9764705882352941,0.12941176470588237,1);float a0=smoothstep(e0,e1,x_3);float a1=smoothstep(e1,e2,x_3);float a2=smoothstep(e2,e3,x_3);float a3=smoothstep(e3,e4,x_3);float a4=smoothstep(e4,e5,x_3);float a5=smoothstep(e5,e6,x_3);float a6=smoothstep(e6,e7,x_3);float a7=smoothstep(e7,e8,x_3);return max(mix(v0,v1,a0)*step(e0,x_3)*step(x_3,e1),max(mix(v1,v2,a1)*step(e1,x_3)*step(x_3,e2),max(mix(v2,v3,a2)*step(e2,x_3)*step(x_3,e3),max(mix(v3,v4,a3)*step(e3,x_3)*step(x_3,e4),max(mix(v4,v5,a4)*step(e4,x_3)*step(x_3,e5),max(mix(v5,v6,a5)*step(e5,x_3)*step(x_3,e6),max(mix(v6,v7,a6)*step(e6,x_3)*step(x_3,e7),mix(v7,v8,a7)*step(e7,x_3)*step(x_3,e8))))))));}vec4 warm(float x_43){const float e0=0.0;const vec4 v0=vec4(0.49019607843137253,0,0.7019607843137254,1);const float e1=0.13;const vec4 v1=vec4(0.6745098039215687,0,0.7333333333333333,1);const float e2=0.25;const vec4 v2=vec4(0.8588235294117647,0,0.6666666666666666,1);const float e3=0.38;const vec4 v3=vec4(1,0,0.5098039215686274,1);const float e4=0.5;const vec4 v4=vec4(1,0.24705882352941178,0.2901960784313726,1);const float e5=0.63;const vec4 v5=vec4(1,0.4823529411764706,0,1);const float e6=0.75;const vec4 v6=vec4(0.9176470588235294,0.6901960784313725,0,1);const float e7=0.88;const vec4 v7=vec4(0.7450980392156863,0.8941176470588236,0,1);const float e8=1.0;const vec4 v8=vec4(0.5764705882352941,1,0,1);float a0=smoothstep(e0,e1,x_43);float a1=smoothstep(e1,e2,x_43);float a2=smoothstep(e2,e3,x_43);float a3=smoothstep(e3,e4,x_43);float a4=smoothstep(e4,e5,x_43);float a5=smoothstep(e5,e6,x_43);float a6=smoothstep(e6,e7,x_43);float a7=smoothstep(e7,e8,x_43);return max(mix(v0,v1,a0)*step(e0,x_43)*step(x_43,e1),max(mix(v1,v2,a1)*step(e1,x_43)*step(x_43,e2),max(mix(v2,v3,a2)*step(e2,x_43)*step(x_43,e3),max(mix(v3,v4,a3)*step(e3,x_43)*step(x_43,e4),max(mix(v4,v5,a4)*step(e4,x_43)*step(x_43,e5),max(mix(v5,v6,a5)*step(e5,x_43)*step(x_43,e6),max(mix(v6,v7,a6)*step(e6,x_43)*step(x_43,e7),mix(v7,v8,a7)*step(e7,x_43)*step(x_43,e8))))))));}vec4 rainbow_soft_1310269270(float x_14){const float e0=0.0;const vec4 v0=vec4(0.49019607843137253,0,0.7019607843137254,1);const float e1=0.1;const vec4 v1=vec4(0.7803921568627451,0,0.7058823529411765,1);const float e2=0.2;const vec4 v2=vec4(1,0,0.4745098039215686,1);const float e3=0.3;const vec4 v3=vec4(1,0.4235294117647059,0,1);const float e4=0.4;const vec4 v4=vec4(0.8705882352941177,0.7607843137254902,0,1);const float e5=0.5;const vec4 v5=vec4(0.5882352941176471,1,0,1);const float e6=0.6;const vec4 v6=vec4(0,1,0.21568627450980393,1);const float e7=0.7;const vec4 v7=vec4(0,0.9647058823529412,0.5882352941176471,1);const float e8=0.8;const vec4 v8=vec4(0.19607843137254902,0.6549019607843137,0.8705882352941177,1);const float e9=0.9;const vec4 v9=vec4(0.403921568627451,0.2,0.9215686274509803,1);const float e10=1.0;const vec4 v10=vec4(0.48627450980392156,0,0.7294117647058823,1);float a0=smoothstep(e0,e1,x_14);float a1=smoothstep(e1,e2,x_14);float a2=smoothstep(e2,e3,x_14);float a3=smoothstep(e3,e4,x_14);float a4=smoothstep(e4,e5,x_14);float a5=smoothstep(e5,e6,x_14);float a6=smoothstep(e6,e7,x_14);float a7=smoothstep(e7,e8,x_14);float a8=smoothstep(e8,e9,x_14);float a9=smoothstep(e9,e10,x_14);return max(mix(v0,v1,a0)*step(e0,x_14)*step(x_14,e1),max(mix(v1,v2,a1)*step(e1,x_14)*step(x_14,e2),max(mix(v2,v3,a2)*step(e2,x_14)*step(x_14,e3),max(mix(v3,v4,a3)*step(e3,x_14)*step(x_14,e4),max(mix(v4,v5,a4)*step(e4,x_14)*step(x_14,e5),max(mix(v5,v6,a5)*step(e5,x_14)*step(x_14,e6),max(mix(v6,v7,a6)*step(e6,x_14)*step(x_14,e7),max(mix(v7,v8,a7)*step(e7,x_14)*step(x_14,e8),max(mix(v8,v9,a8)*step(e8,x_14)*step(x_14,e9),mix(v9,v10,a9)*step(e9,x_14)*step(x_14,e10))))))))));}vec4 bathymetry(float x_36){const float e0=0.0;const vec4 v0=vec4(0.1568627450980392,0.10196078431372549,0.17254901960784313,1);const float e1=0.13;const vec4 v1=vec4(0.23137254901960785,0.19215686274509805,0.35294117647058826,1);const float e2=0.25;const vec4 v2=vec4(0.25098039215686274,0.2980392156862745,0.5450980392156862,1);const float e3=0.38;const vec4 v3=vec4(0.24705882352941178,0.43137254901960786,0.592156862745098,1);const float e4=0.5;const vec4 v4=vec4(0.2823529411764706,0.5568627450980392,0.6196078431372549,1);const float e5=0.63;const vec4 v5=vec4(0.3333333333333333,0.6823529411764706,0.6392156862745098,1);const float e6=0.75;const vec4 v6=vec4(0.47058823529411764,0.807843137254902,0.6392156862745098,1);const float e7=0.88;const vec4 v7=vec4(0.7333333333333333,0.9019607843137255,0.6745098039215687,1);const float e8=1.0;const vec4 v8=vec4(0.9921568627450981,0.996078431372549,0.8,1);float a0=smoothstep(e0,e1,x_36);float a1=smoothstep(e1,e2,x_36);float a2=smoothstep(e2,e3,x_36);float a3=smoothstep(e3,e4,x_36);float a4=smoothstep(e4,e5,x_36);float a5=smoothstep(e5,e6,x_36);float a6=smoothstep(e6,e7,x_36);float a7=smoothstep(e7,e8,x_36);return max(mix(v0,v1,a0)*step(e0,x_36)*step(x_36,e1),max(mix(v1,v2,a1)*step(e1,x_36)*step(x_36,e2),max(mix(v2,v3,a2)*step(e2,x_36)*step(x_36,e3),max(mix(v3,v4,a3)*step(e3,x_36)*step(x_36,e4),max(mix(v4,v5,a4)*step(e4,x_36)*step(x_36,e5),max(mix(v5,v6,a5)*step(e5,x_36)*step(x_36,e6),max(mix(v6,v7,a6)*step(e6,x_36)*step(x_36,e7),mix(v7,v8,a7)*step(e7,x_36)*step(x_36,e8))))))));}vec4 cdom(float x_7){const float e0=0.0;const vec4 v0=vec4(0.1843137254901961,0.058823529411764705,0.24313725490196078,1);const float e1=0.13;const vec4 v1=vec4(0.3411764705882353,0.09019607843137255,0.33725490196078434,1);const float e2=0.25;const vec4 v2=vec4(0.5098039215686274,0.10980392156862745,0.38823529411764707,1);const float e3=0.38;const vec4 v3=vec4(0.6705882352941176,0.1607843137254902,0.3764705882352941,1);const float e4=0.5;const vec4 v4=vec4(0.807843137254902,0.2627450980392157,0.33725490196078434,1);const float e5=0.63;const vec4 v5=vec4(0.9019607843137255,0.41568627450980394,0.32941176470588235,1);const float e6=0.75;const vec4 v6=vec4(0.9490196078431372,0.5843137254901961,0.403921568627451,1);const float e7=0.88;const vec4 v7=vec4(0.9764705882352941,0.7568627450980392,0.5294117647058824,1);const float e8=1.0;const vec4 v8=vec4(0.996078431372549,0.9294117647058824,0.6901960784313725,1);float a0=smoothstep(e0,e1,x_7);float a1=smoothstep(e1,e2,x_7);float a2=smoothstep(e2,e3,x_7);float a3=smoothstep(e3,e4,x_7);float a4=smoothstep(e4,e5,x_7);float a5=smoothstep(e5,e6,x_7);float a6=smoothstep(e6,e7,x_7);float a7=smoothstep(e7,e8,x_7);return max(mix(v0,v1,a0)*step(e0,x_7)*step(x_7,e1),max(mix(v1,v2,a1)*step(e1,x_7)*step(x_7,e2),max(mix(v2,v3,a2)*step(e2,x_7)*step(x_7,e3),max(mix(v3,v4,a3)*step(e3,x_7)*step(x_7,e4),max(mix(v4,v5,a4)*step(e4,x_7)*step(x_7,e5),max(mix(v5,v6,a5)*step(e5,x_7)*step(x_7,e6),max(mix(v6,v7,a6)*step(e6,x_7)*step(x_7,e7),mix(v7,v8,a7)*step(e7,x_7)*step(x_7,e8))))))));}vec4 chlorophyll(float x_6){const float e0=0.0;const vec4 v0=vec4(0.07058823529411765,0.1411764705882353,0.0784313725490196,1);const float e1=0.13;const vec4 v1=vec4(0.09803921568627451,0.24705882352941178,0.1607843137254902,1);const float e2=0.25;const vec4 v2=vec4(0.09411764705882353,0.3568627450980392,0.23137254901960785,1);const float e3=0.38;const vec4 v3=vec4(0.050980392156862744,0.4666666666666667,0.2823529411764706,1);const float e4=0.5;const vec4 v4=vec4(0.07058823529411765,0.5803921568627451,0.3137254901960784,1);const float e5=0.63;const vec4 v5=vec4(0.3137254901960784,0.6784313725490196,0.34901960784313724,1);const float e6=0.75;const vec4 v6=vec4(0.5176470588235295,0.7686274509803922,0.47843137254901963,1);const float e7=0.88;const vec4 v7=vec4(0.6862745098039216,0.8666666666666667,0.6352941176470588,1);const float e8=1.0;const vec4 v8=vec4(0.8431372549019608,0.9764705882352941,0.8156862745098039,1);float a0=smoothstep(e0,e1,x_6);float a1=smoothstep(e1,e2,x_6);float a2=smoothstep(e2,e3,x_6);float a3=smoothstep(e3,e4,x_6);float a4=smoothstep(e4,e5,x_6);float a5=smoothstep(e5,e6,x_6);float a6=smoothstep(e6,e7,x_6);float a7=smoothstep(e7,e8,x_6);return max(mix(v0,v1,a0)*step(e0,x_6)*step(x_6,e1),max(mix(v1,v2,a1)*step(e1,x_6)*step(x_6,e2),max(mix(v2,v3,a2)*step(e2,x_6)*step(x_6,e3),max(mix(v3,v4,a3)*step(e3,x_6)*step(x_6,e4),max(mix(v4,v5,a4)*step(e4,x_6)*step(x_6,e5),max(mix(v5,v6,a5)*step(e5,x_6)*step(x_6,e6),max(mix(v6,v7,a6)*step(e6,x_6)*step(x_6,e7),mix(v7,v8,a7)*step(e7,x_6)*step(x_6,e8))))))));}vec4 density(float x_19){const float e0=0.0;const vec4 v0=vec4(0.21176470588235294,0.054901960784313725,0.1411764705882353,1);const float e1=0.13;const vec4 v1=vec4(0.34901960784313724,0.09019607843137255,0.3137254901960784,1);const float e2=0.25;const vec4 v2=vec4(0.43137254901960786,0.17647058823529413,0.5176470588235295,1);const float e3=0.38;const vec4 v3=vec4(0.47058823529411764,0.30196078431372547,0.6980392156862745,1);const float e4=0.5;const vec4 v4=vec4(0.47058823529411764,0.44313725490196076,0.8352941176470589,1);const float e5=0.63;const vec4 v5=vec4(0.45098039215686275,0.592156862745098,0.8941176470588236,1);const float e6=0.75;const vec4 v6=vec4(0.5254901960784314,0.7254901960784313,0.8901960784313725,1);const float e7=0.88;const vec4 v7=vec4(0.6941176470588235,0.8392156862745098,0.8901960784313725,1);const float e8=1.0;const vec4 v8=vec4(0.9019607843137255,0.9450980392156862,0.9450980392156862,1);float a0=smoothstep(e0,e1,x_19);float a1=smoothstep(e1,e2,x_19);float a2=smoothstep(e2,e3,x_19);float a3=smoothstep(e3,e4,x_19);float a4=smoothstep(e4,e5,x_19);float a5=smoothstep(e5,e6,x_19);float a6=smoothstep(e6,e7,x_19);float a7=smoothstep(e7,e8,x_19);return max(mix(v0,v1,a0)*step(e0,x_19)*step(x_19,e1),max(mix(v1,v2,a1)*step(e1,x_19)*step(x_19,e2),max(mix(v2,v3,a2)*step(e2,x_19)*step(x_19,e3),max(mix(v3,v4,a3)*step(e3,x_19)*step(x_19,e4),max(mix(v4,v5,a4)*step(e4,x_19)*step(x_19,e5),max(mix(v5,v6,a5)*step(e5,x_19)*step(x_19,e6),max(mix(v6,v7,a6)*step(e6,x_19)*step(x_19,e7),mix(v7,v8,a7)*step(e7,x_19)*step(x_19,e8))))))));}vec4 freesurface_blue_3154355989(float x_35){const float e0=0.0;const vec4 v0=vec4(0.11764705882352941,0.01568627450980392,0.43137254901960786,1);const float e1=0.13;const vec4 v1=vec4(0.1843137254901961,0.054901960784313725,0.6901960784313725,1);const float e2=0.25;const vec4 v2=vec4(0.1607843137254902,0.17647058823529413,0.9254901960784314,1);const float e3=0.38;const vec4 v3=vec4(0.09803921568627451,0.38823529411764707,0.8313725490196079,1);const float e4=0.5;const vec4 v4=vec4(0.26666666666666666,0.5137254901960784,0.7843137254901961,1);const float e5=0.63;const vec4 v5=vec4(0.4470588235294118,0.611764705882353,0.7725490196078432,1);const float e6=0.75;const vec4 v6=vec4(0.615686274509804,0.7098039215686275,0.796078431372549,1);const float e7=0.88;const vec4 v7=vec4(0.7843137254901961,0.8156862745098039,0.8470588235294118,1);const float e8=1.0;const vec4 v8=vec4(0.9450980392156862,0.9294117647058824,0.9254901960784314,1);float a0=smoothstep(e0,e1,x_35);float a1=smoothstep(e1,e2,x_35);float a2=smoothstep(e2,e3,x_35);float a3=smoothstep(e3,e4,x_35);float a4=smoothstep(e4,e5,x_35);float a5=smoothstep(e5,e6,x_35);float a6=smoothstep(e6,e7,x_35);float a7=smoothstep(e7,e8,x_35);return max(mix(v0,v1,a0)*step(e0,x_35)*step(x_35,e1),max(mix(v1,v2,a1)*step(e1,x_35)*step(x_35,e2),max(mix(v2,v3,a2)*step(e2,x_35)*step(x_35,e3),max(mix(v3,v4,a3)*step(e3,x_35)*step(x_35,e4),max(mix(v4,v5,a4)*step(e4,x_35)*step(x_35,e5),max(mix(v5,v6,a5)*step(e5,x_35)*step(x_35,e6),max(mix(v6,v7,a6)*step(e6,x_35)*step(x_35,e7),mix(v7,v8,a7)*step(e7,x_35)*step(x_35,e8))))))));}vec4 freesurface_red_1679163293(float x_20){const float e0=0.0;const vec4 v0=vec4(0.23529411764705882,0.03529411764705882,0.07058823529411765,1);const float e1=0.13;const vec4 v1=vec4(0.39215686274509803,0.06666666666666667,0.10588235294117647,1);const float e2=0.25;const vec4 v2=vec4(0.5568627450980392,0.0784313725490196,0.11372549019607843,1);const float e3=0.38;const vec4 v3=vec4(0.6941176470588235,0.16862745098039217,0.10588235294117647,1);const float e4=0.5;const vec4 v4=vec4(0.7529411764705882,0.3411764705882353,0.24705882352941178,1);const float e5=0.63;const vec4 v5=vec4(0.803921568627451,0.49019607843137253,0.4117647058823529,1);const float e6=0.75;const vec4 v6=vec4(0.8470588235294118,0.6352941176470588,0.5803921568627451,1);const float e7=0.88;const vec4 v7=vec4(0.8901960784313725,0.7803921568627451,0.7568627450980392,1);const float e8=1.0;const vec4 v8=vec4(0.9450980392156862,0.9294117647058824,0.9254901960784314,1);float a0=smoothstep(e0,e1,x_20);float a1=smoothstep(e1,e2,x_20);float a2=smoothstep(e2,e3,x_20);float a3=smoothstep(e3,e4,x_20);float a4=smoothstep(e4,e5,x_20);float a5=smoothstep(e5,e6,x_20);float a6=smoothstep(e6,e7,x_20);float a7=smoothstep(e7,e8,x_20);return max(mix(v0,v1,a0)*step(e0,x_20)*step(x_20,e1),max(mix(v1,v2,a1)*step(e1,x_20)*step(x_20,e2),max(mix(v2,v3,a2)*step(e2,x_20)*step(x_20,e3),max(mix(v3,v4,a3)*step(e3,x_20)*step(x_20,e4),max(mix(v4,v5,a4)*step(e4,x_20)*step(x_20,e5),max(mix(v5,v6,a5)*step(e5,x_20)*step(x_20,e6),max(mix(v6,v7,a6)*step(e6,x_20)*step(x_20,e7),mix(v7,v8,a7)*step(e7,x_20)*step(x_20,e8))))))));}vec4 oxygen(float x_11){const float e0=0.0;const vec4 v0=vec4(0.25098039215686274,0.0196078431372549,0.0196078431372549,1);const float e1=0.13;const vec4 v1=vec4(0.41568627450980394,0.023529411764705882,0.058823529411764705,1);const float e2=0.25;const vec4 v2=vec4(0.5647058823529412,0.10196078431372549,0.027450980392156862,1);const float e3=0.38;const vec4 v3=vec4(0.6588235294117647,0.25098039215686274,0.011764705882352941,1);const float e4=0.5;const vec4 v4=vec4(0.7372549019607844,0.39215686274509803,0.01568627450980392,1);const float e5=0.63;const vec4 v5=vec4(0.807843137254902,0.5333333333333333,0.043137254901960784,1);const float e6=0.75;const vec4 v6=vec4(0.8627450980392157,0.6823529411764706,0.09803921568627451,1);const float e7=0.88;const vec4 v7=vec4(0.9058823529411765,0.8431372549019608,0.17254901960784313,1);const float e8=1.0;const vec4 v8=vec4(0.9725490196078431,0.996078431372549,0.4117647058823529,1);float a0=smoothstep(e0,e1,x_11);float a1=smoothstep(e1,e2,x_11);float a2=smoothstep(e2,e3,x_11);float a3=smoothstep(e3,e4,x_11);float a4=smoothstep(e4,e5,x_11);float a5=smoothstep(e5,e6,x_11);float a6=smoothstep(e6,e7,x_11);float a7=smoothstep(e7,e8,x_11);return max(mix(v0,v1,a0)*step(e0,x_11)*step(x_11,e1),max(mix(v1,v2,a1)*step(e1,x_11)*step(x_11,e2),max(mix(v2,v3,a2)*step(e2,x_11)*step(x_11,e3),max(mix(v3,v4,a3)*step(e3,x_11)*step(x_11,e4),max(mix(v4,v5,a4)*step(e4,x_11)*step(x_11,e5),max(mix(v5,v6,a5)*step(e5,x_11)*step(x_11,e6),max(mix(v6,v7,a6)*step(e6,x_11)*step(x_11,e7),mix(v7,v8,a7)*step(e7,x_11)*step(x_11,e8))))))));}vec4 par(float x_28){const float e0=0.0;const vec4 v0=vec4(0.2,0.0784313725490196,0.09411764705882353,1);const float e1=0.13;const vec4 v1=vec4(0.35294117647058826,0.12549019607843137,0.13725490196078433,1);const float e2=0.25;const vec4 v2=vec4(0.5058823529411764,0.17254901960784313,0.13333333333333333,1);const float e3=0.38;const vec4 v3=vec4(0.6235294117647059,0.26666666666666666,0.09803921568627451,1);const float e4=0.5;const vec4 v4=vec4(0.7137254901960784,0.38823529411764707,0.07450980392156863,1);const float e5=0.63;const vec4 v5=vec4(0.7803921568627451,0.5254901960784314,0.08627450980392157,1);const float e6=0.75;const vec4 v6=vec4(0.8313725490196079,0.6705882352941176,0.13725490196078433,1);const float e7=0.88;const vec4 v7=vec4(0.8666666666666667,0.8235294117647058,0.21176470588235294,1);const float e8=1.0;const vec4 v8=vec4(0.8823529411764706,0.9921568627450981,0.29411764705882354,1);float a0=smoothstep(e0,e1,x_28);float a1=smoothstep(e1,e2,x_28);float a2=smoothstep(e2,e3,x_28);float a3=smoothstep(e3,e4,x_28);float a4=smoothstep(e4,e5,x_28);float a5=smoothstep(e5,e6,x_28);float a6=smoothstep(e6,e7,x_28);float a7=smoothstep(e7,e8,x_28);return max(mix(v0,v1,a0)*step(e0,x_28)*step(x_28,e1),max(mix(v1,v2,a1)*step(e1,x_28)*step(x_28,e2),max(mix(v2,v3,a2)*step(e2,x_28)*step(x_28,e3),max(mix(v3,v4,a3)*step(e3,x_28)*step(x_28,e4),max(mix(v4,v5,a4)*step(e4,x_28)*step(x_28,e5),max(mix(v5,v6,a5)*step(e5,x_28)*step(x_28,e6),max(mix(v6,v7,a6)*step(e6,x_28)*step(x_28,e7),mix(v7,v8,a7)*step(e7,x_28)*step(x_28,e8))))))));}vec4 phase(float x_39){const float e0=0.0;const vec4 v0=vec4(0.5686274509803921,0.4117647058823529,0.07058823529411765,1);const float e1=0.13;const vec4 v1=vec4(0.7215686274509804,0.2784313725490196,0.14901960784313725,1);const float e2=0.25;const vec4 v2=vec4(0.7294117647058823,0.22745098039215686,0.45098039215686275,1);const float e3=0.38;const vec4 v3=vec4(0.6274509803921569,0.2784313725490196,0.7254901960784313,1);const float e4=0.5;const vec4 v4=vec4(0.43137254901960786,0.3803921568627451,0.8549019607843137,1);const float e5=0.63;const vec4 v5=vec4(0.19607843137254902,0.4823529411764706,0.6431372549019608,1);const float e6=0.75;const vec4 v6=vec4(0.12156862745098039,0.5137254901960784,0.43137254901960786,1);const float e7=0.88;const vec4 v7=vec4(0.30196078431372547,0.5058823529411764,0.13333333333333333,1);const float e8=1.0;const vec4 v8=vec4(0.5686274509803921,0.4117647058823529,0.07058823529411765,1);float a0=smoothstep(e0,e1,x_39);float a1=smoothstep(e1,e2,x_39);float a2=smoothstep(e2,e3,x_39);float a3=smoothstep(e3,e4,x_39);float a4=smoothstep(e4,e5,x_39);float a5=smoothstep(e5,e6,x_39);float a6=smoothstep(e6,e7,x_39);float a7=smoothstep(e7,e8,x_39);return max(mix(v0,v1,a0)*step(e0,x_39)*step(x_39,e1),max(mix(v1,v2,a1)*step(e1,x_39)*step(x_39,e2),max(mix(v2,v3,a2)*step(e2,x_39)*step(x_39,e3),max(mix(v3,v4,a3)*step(e3,x_39)*step(x_39,e4),max(mix(v4,v5,a4)*step(e4,x_39)*step(x_39,e5),max(mix(v5,v6,a5)*step(e5,x_39)*step(x_39,e6),max(mix(v6,v7,a6)*step(e6,x_39)*step(x_39,e7),mix(v7,v8,a7)*step(e7,x_39)*step(x_39,e8))))))));}vec4 salinity(float x_26){const float e0=0.0;const vec4 v0=vec4(0.16470588235294117,0.09411764705882353,0.4235294117647059,1);const float e1=0.13;const vec4 v1=vec4(0.12941176470588237,0.19607843137254902,0.6352941176470588,1);const float e2=0.25;const vec4 v2=vec4(0.058823529411764705,0.35294117647058826,0.5686274509803921,1);const float e3=0.38;const vec4 v3=vec4(0.1568627450980392,0.4627450980392157,0.5372549019607843,1);const float e4=0.5;const vec4 v4=vec4(0.23137254901960785,0.5725490196078431,0.5294117647058824,1);const float e5=0.63;const vec4 v5=vec4(0.30980392156862746,0.6862745098039216,0.49411764705882355,1);const float e6=0.75;const vec4 v6=vec4(0.47058823529411764,0.796078431372549,0.40784313725490196,1);const float e7=0.88;const vec4 v7=vec4(0.7568627450980392,0.8666666666666667,0.39215686274509803,1);const float e8=1.0;const vec4 v8=vec4(0.9921568627450981,0.9372549019607843,0.6039215686274509,1);float a0=smoothstep(e0,e1,x_26);float a1=smoothstep(e1,e2,x_26);float a2=smoothstep(e2,e3,x_26);float a3=smoothstep(e3,e4,x_26);float a4=smoothstep(e4,e5,x_26);float a5=smoothstep(e5,e6,x_26);float a6=smoothstep(e6,e7,x_26);float a7=smoothstep(e7,e8,x_26);return max(mix(v0,v1,a0)*step(e0,x_26)*step(x_26,e1),max(mix(v1,v2,a1)*step(e1,x_26)*step(x_26,e2),max(mix(v2,v3,a2)*step(e2,x_26)*step(x_26,e3),max(mix(v3,v4,a3)*step(e3,x_26)*step(x_26,e4),max(mix(v4,v5,a4)*step(e4,x_26)*step(x_26,e5),max(mix(v5,v6,a5)*step(e5,x_26)*step(x_26,e6),max(mix(v6,v7,a6)*step(e6,x_26)*step(x_26,e7),mix(v7,v8,a7)*step(e7,x_26)*step(x_26,e8))))))));}vec4 temperature(float x_8){const float e0=0.0;const vec4 v0=vec4(0.01568627450980392,0.13725490196078433,0.2,1);const float e1=0.13;const vec4 v1=vec4(0.09019607843137255,0.2,0.47843137254901963,1);const float e2=0.25;const vec4 v2=vec4(0.3333333333333333,0.23137254901960785,0.615686274509804,1);const float e3=0.38;const vec4 v3=vec4(0.5058823529411764,0.30980392156862746,0.5607843137254902,1);const float e4=0.5;const vec4 v4=vec4(0.6862745098039216,0.37254901960784315,0.5098039215686274,1);const float e5=0.63;const vec4 v5=vec4(0.8705882352941177,0.4392156862745098,0.396078431372549,1);const float e6=0.75;const vec4 v6=vec4(0.9764705882352941,0.5725490196078431,0.25882352941176473,1);const float e7=0.88;const vec4 v7=vec4(0.9764705882352941,0.7686274509803922,0.2549019607843137,1);const float e8=1.0;const vec4 v8=vec4(0.9098039215686274,0.9803921568627451,0.3568627450980392,1);float a0=smoothstep(e0,e1,x_8);float a1=smoothstep(e1,e2,x_8);float a2=smoothstep(e2,e3,x_8);float a3=smoothstep(e3,e4,x_8);float a4=smoothstep(e4,e5,x_8);float a5=smoothstep(e5,e6,x_8);float a6=smoothstep(e6,e7,x_8);float a7=smoothstep(e7,e8,x_8);return max(mix(v0,v1,a0)*step(e0,x_8)*step(x_8,e1),max(mix(v1,v2,a1)*step(e1,x_8)*step(x_8,e2),max(mix(v2,v3,a2)*step(e2,x_8)*step(x_8,e3),max(mix(v3,v4,a3)*step(e3,x_8)*step(x_8,e4),max(mix(v4,v5,a4)*step(e4,x_8)*step(x_8,e5),max(mix(v5,v6,a5)*step(e5,x_8)*step(x_8,e6),max(mix(v6,v7,a6)*step(e6,x_8)*step(x_8,e7),mix(v7,v8,a7)*step(e7,x_8)*step(x_8,e8))))))));}vec4 turbidity(float x_40){const float e0=0.0;const vec4 v0=vec4(0.13333333333333333,0.12156862745098039,0.10588235294117647,1);const float e1=0.13;const vec4 v1=vec4(0.2549019607843137,0.19607843137254902,0.1607843137254902,1);const float e2=0.25;const vec4 v2=vec4(0.3843137254901961,0.27058823529411763,0.20392156862745098,1);const float e3=0.38;const vec4 v3=vec4(0.5137254901960784,0.34901960784313724,0.2235294117647059,1);const float e4=0.5;const vec4 v4=vec4(0.6313725490196078,0.4392156862745098,0.23137254901960785,1);const float e5=0.63;const vec4 v5=vec4(0.7254901960784313,0.5490196078431373,0.25882352941176473,1);const float e6=0.75;const vec4 v6=vec4(0.792156862745098,0.6823529411764706,0.34509803921568627,1);const float e7=0.88;const vec4 v7=vec4(0.8470588235294118,0.8196078431372549,0.49411764705882355,1);const float e8=1.0;const vec4 v8=vec4(0.9137254901960784,0.9647058823529412,0.6705882352941176,1);float a0=smoothstep(e0,e1,x_40);float a1=smoothstep(e1,e2,x_40);float a2=smoothstep(e2,e3,x_40);float a3=smoothstep(e3,e4,x_40);float a4=smoothstep(e4,e5,x_40);float a5=smoothstep(e5,e6,x_40);float a6=smoothstep(e6,e7,x_40);float a7=smoothstep(e7,e8,x_40);return max(mix(v0,v1,a0)*step(e0,x_40)*step(x_40,e1),max(mix(v1,v2,a1)*step(e1,x_40)*step(x_40,e2),max(mix(v2,v3,a2)*step(e2,x_40)*step(x_40,e3),max(mix(v3,v4,a3)*step(e3,x_40)*step(x_40,e4),max(mix(v4,v5,a4)*step(e4,x_40)*step(x_40,e5),max(mix(v5,v6,a5)*step(e5,x_40)*step(x_40,e6),max(mix(v6,v7,a6)*step(e6,x_40)*step(x_40,e7),mix(v7,v8,a7)*step(e7,x_40)*step(x_40,e8))))))));}vec4 velocity_blue_297387650(float x_2){const float e0=0.0;const vec4 v0=vec4(0.06666666666666667,0.12549019607843137,0.25098039215686274,1);const float e1=0.13;const vec4 v1=vec4(0.13725490196078433,0.20392156862745098,0.4549019607843137,1);const float e2=0.25;const vec4 v2=vec4(0.11372549019607843,0.3176470588235294,0.611764705882353,1);const float e3=0.38;const vec4 v3=vec4(0.12156862745098039,0.44313725490196076,0.6352941176470588,1);const float e4=0.5;const vec4 v4=vec4(0.19607843137254902,0.5647058823529412,0.6627450980392157,1);const float e5=0.63;const vec4 v5=vec4(0.3411764705882353,0.6784313725490196,0.6901960784313725,1);const float e6=0.75;const vec4 v6=vec4(0.5843137254901961,0.7686274509803922,0.7411764705882353,1);const float e7=0.88;const vec4 v7=vec4(0.796078431372549,0.8666666666666667,0.8274509803921568,1);const float e8=1.0;const vec4 v8=vec4(0.996078431372549,0.984313725490196,0.9019607843137255,1);float a0=smoothstep(e0,e1,x_2);float a1=smoothstep(e1,e2,x_2);float a2=smoothstep(e2,e3,x_2);float a3=smoothstep(e3,e4,x_2);float a4=smoothstep(e4,e5,x_2);float a5=smoothstep(e5,e6,x_2);float a6=smoothstep(e6,e7,x_2);float a7=smoothstep(e7,e8,x_2);return max(mix(v0,v1,a0)*step(e0,x_2)*step(x_2,e1),max(mix(v1,v2,a1)*step(e1,x_2)*step(x_2,e2),max(mix(v2,v3,a2)*step(e2,x_2)*step(x_2,e3),max(mix(v3,v4,a3)*step(e3,x_2)*step(x_2,e4),max(mix(v4,v5,a4)*step(e4,x_2)*step(x_2,e5),max(mix(v5,v6,a5)*step(e5,x_2)*step(x_2,e6),max(mix(v6,v7,a6)*step(e6,x_2)*step(x_2,e7),mix(v7,v8,a7)*step(e7,x_2)*step(x_2,e8))))))));}vec4 velocity_green_2558432129(float x_27){const float e0=0.0;const vec4 v0=vec4(0.09019607843137255,0.13725490196078433,0.07450980392156863,1);const float e1=0.13;const vec4 v1=vec4(0.09411764705882353,0.25098039215686274,0.14901960784313725,1);const float e2=0.25;const vec4 v2=vec4(0.043137254901960784,0.37254901960784315,0.17647058823529413,1);const float e3=0.38;const vec4 v3=vec4(0.15294117647058825,0.4823529411764706,0.13725490196078433,1);const float e4=0.5;const vec4 v4=vec4(0.37254901960784315,0.5725490196078431,0.047058823529411764,1);const float e5=0.63;const vec4 v5=vec4(0.596078431372549,0.6470588235294118,0.07058823529411765,1);const float e6=0.75;const vec4 v6=vec4(0.788235294117647,0.7294117647058823,0.27058823529411763,1);const float e7=0.88;const vec4 v7=vec4(0.9137254901960784,0.8470588235294118,0.5372549019607843,1);const float e8=1.0;const vec4 v8=vec4(1,0.9921568627450981,0.803921568627451,1);float a0=smoothstep(e0,e1,x_27);float a1=smoothstep(e1,e2,x_27);float a2=smoothstep(e2,e3,x_27);float a3=smoothstep(e3,e4,x_27);float a4=smoothstep(e4,e5,x_27);float a5=smoothstep(e5,e6,x_27);float a6=smoothstep(e6,e7,x_27);float a7=smoothstep(e7,e8,x_27);return max(mix(v0,v1,a0)*step(e0,x_27)*step(x_27,e1),max(mix(v1,v2,a1)*step(e1,x_27)*step(x_27,e2),max(mix(v2,v3,a2)*step(e2,x_27)*step(x_27,e3),max(mix(v3,v4,a3)*step(e3,x_27)*step(x_27,e4),max(mix(v4,v5,a4)*step(e4,x_27)*step(x_27,e5),max(mix(v5,v6,a5)*step(e5,x_27)*step(x_27,e6),max(mix(v6,v7,a6)*step(e6,x_27)*step(x_27,e7),mix(v7,v8,a7)*step(e7,x_27)*step(x_27,e8))))))));}vec4 cubehelix(float x_37){const float e0=0.0;const vec4 v0=vec4(0,0,0,1);const float e1=0.07;const vec4 v1=vec4(0.08627450980392157,0.0196078431372549,0.23137254901960785,1);const float e2=0.13;const vec4 v2=vec4(0.23529411764705882,0.01568627450980392,0.4117647058823529,1);const float e3=0.2;const vec4 v3=vec4(0.42745098039215684,0.00392156862745098,0.5294117647058824,1);const float e4=0.27;const vec4 v4=vec4(0.6313725490196078,0,0.5764705882352941,1);const float e5=0.33;const vec4 v5=vec4(0.8235294117647058,0.00784313725490196,0.5568627450980392,1);const float e6=0.4;const vec4 v6=vec4(0.984313725490196,0.043137254901960784,0.4823529411764706,1);const float e7=0.47;const vec4 v7=vec4(1,0.11372549019607843,0.3803921568627451,1);const float e8=0.53;const vec4 v8=vec4(1,0.21176470588235294,0.27058823529411763,1);const float e9=0.6;const vec4 v9=vec4(1,0.3333333333333333,0.1803921568627451,1);const float e10=0.67;const vec4 v10=vec4(1,0.47058823529411764,0.13333333333333333,1);const float e11=0.73;const vec4 v11=vec4(1,0.615686274509804,0.1450980392156863,1);const float e12=0.8;const vec4 v12=vec4(0.9450980392156862,0.7490196078431373,0.2235294117647059,1);const float e13=0.87;const vec4 v13=vec4(0.8784313725490196,0.8627450980392157,0.36470588235294116,1);const float e14=0.93;const vec4 v14=vec4(0.8549019607843137,0.9450980392156862,0.5568627450980392,1);const float e15=1.0;const vec4 v15=vec4(0.8901960784313725,0.9921568627450981,0.7764705882352941,1);float a0=smoothstep(e0,e1,x_37);float a1=smoothstep(e1,e2,x_37);float a2=smoothstep(e2,e3,x_37);float a3=smoothstep(e3,e4,x_37);float a4=smoothstep(e4,e5,x_37);float a5=smoothstep(e5,e6,x_37);float a6=smoothstep(e6,e7,x_37);float a7=smoothstep(e7,e8,x_37);float a8=smoothstep(e8,e9,x_37);float a9=smoothstep(e9,e10,x_37);float a10=smoothstep(e10,e11,x_37);float a11=smoothstep(e11,e12,x_37);float a12=smoothstep(e12,e13,x_37);float a13=smoothstep(e13,e14,x_37);float a14=smoothstep(e14,e15,x_37);return max(mix(v0,v1,a0)*step(e0,x_37)*step(x_37,e1),max(mix(v1,v2,a1)*step(e1,x_37)*step(x_37,e2),max(mix(v2,v3,a2)*step(e2,x_37)*step(x_37,e3),max(mix(v3,v4,a3)*step(e3,x_37)*step(x_37,e4),max(mix(v4,v5,a4)*step(e4,x_37)*step(x_37,e5),max(mix(v5,v6,a5)*step(e5,x_37)*step(x_37,e6),max(mix(v6,v7,a6)*step(e6,x_37)*step(x_37,e7),max(mix(v7,v8,a7)*step(e7,x_37)*step(x_37,e8),max(mix(v8,v9,a8)*step(e8,x_37)*step(x_37,e9),max(mix(v9,v10,a9)*step(e9,x_37)*step(x_37,e10),max(mix(v10,v11,a10)*step(e10,x_37)*step(x_37,e11),max(mix(v11,v12,a11)*step(e11,x_37)*step(x_37,e12),max(mix(v12,v13,a12)*step(e12,x_37)*step(x_37,e13),max(mix(v13,v14,a13)*step(e13,x_37)*step(x_37,e14),mix(v14,v15,a14)*step(e14,x_37)*step(x_37,e15)))))))))))))));}float apply_contrast_limits(float intensity,vec2 contrastLimits){float contrastLimitsAppliedToIntensity=(intensity-contrastLimits[0])/max(0.0005,(contrastLimits[1]-contrastLimits[0]));return max(0.,contrastLimitsAppliedToIntensity);}vec4 colormap(float intensity,float opacity){return vec4(COLORMAP_FUNCTION(min(1.,intensity)).xyz,opacity);}"},po=(li={},Object(g.a)(li,pi.MAX_INTENSITY_PROJECTION,{_BEFORE_RENDER:" float maxVals[6] = float[6](-1.0, -1.0, -1.0, -1.0, -1.0, -1.0);\n ",_RENDER:" \n float intensityArray[6] = float[6](intensityValue0, intensityValue1, intensityValue2, intensityValue3, intensityValue4, intensityValue5);\n\n for(int i = 0; i < 6; i++) {\n if(intensityArray[i] > maxVals[i]) {\n maxVals[i] = intensityArray[i];\n }\n }\n ",_AFTER_RENDER:" vec3 rgbCombo = vec3(0.0);\n for(int i = 0; i < 6; i++) {\n rgbCombo += max(0.0, min(1.0, maxVals[i])) * vec3(colors[i]);\n }\n color = vec4(rgbCombo, 1.0);\n "}),Object(g.a)(li,pi.MIN_INTENSITY_PROJECTION,{_BEFORE_RENDER:" float minVals[6] = float[6](1. / 0., 1. / 0., 1. / 0., 1. / 0., 1. / 0., 1. / 0.);\n ",_RENDER:" \n float intensityArray[6] = float[6](intensityValue0, intensityValue1, intensityValue2, intensityValue3, intensityValue4, intensityValue5);\n\n for(int i = 0; i < 6; i++) {\n if(intensityArray[i] < minVals[i]) {\n minVals[i] = intensityArray[i];\n }\n }\n ",_AFTER_RENDER:" vec3 rgbCombo = vec3(0.0);\n for(int i = 0; i < 6; i++) {\n rgbCombo += max(0.0, min(1.0, minVals[i])) * vec3(colors[i]);\n }\n color = vec4(rgbCombo, 1.0);\n "}),Object(g.a)(li,pi.ADDITIVE,{_BEFORE_RENDER:"",_RENDER:" vec3 rgbCombo = vec3(0.0);\n vec3 hsvCombo = vec3(0.0);\n float intensityArray[6] = float[6](intensityValue0, intensityValue1, intensityValue2, intensityValue3, intensityValue4, intensityValue5);\n float total = 0.0;\n for(int i = 0; i < 6; i++) {\n float intensityValue = intensityArray[i];\n rgbCombo += max(0.0, min(1.0, intensityValue)) * colors[i];\n total += intensityValue;\n }\n // Do not go past 1 in opacity.\n total = min(total, 1.0);\n vec4 val_color = vec4(rgbCombo, total);\n // Opacity correction\n val_color.a = 1.0 - pow(1.0 - val_color.a, 1.0);\n color.rgb += (1.0 - color.a) * val_color.a * val_color.rgb;\n color.a += (1.0 - color.a) * val_color.a;\n if (color.a >= 0.95) {\n break;\n }\n ",_AFTER_RENDER:""}),li),Eo=(Ii={},Object(g.a)(Ii,pi.MAX_INTENSITY_PROJECTION,{_BEFORE_RENDER:" float maxVals[6] = float[6](-1.0, -1.0, -1.0, -1.0, -1.0, -1.0);\n ",_RENDER:" \n float intensityArray[6] = float[6](intensityValue0, intensityValue1, intensityValue2, intensityValue3, intensityValue4, intensityValue5);\n\n for(int i = 0; i < 6; i++) {\n if(intensityArray[i] > maxVals[i]) {\n maxVals[i] = intensityArray[i];\n }\n }\n ",_AFTER_RENDER:" float total = 0.0;\n for(int i = 0; i < 6; i++) {\n total += maxVals[i];\n }\n // Do not go past 1 in opacity/colormap value.\n total = min(total, 1.0);\n color = colormap(total, total);\n "}),Object(g.a)(Ii,pi.MIN_INTENSITY_PROJECTION,{_BEFORE_RENDER:" float minVals[6] = float[6](1. / 0., 1. / 0., 1. / 0., 1. / 0., 1. / 0., 1. / 0.);\n ",_RENDER:" \n float intensityArray[6] = float[6](intensityValue0, intensityValue1, intensityValue2, intensityValue3, intensityValue4, intensityValue5);\n\n for(int i = 0; i < 6; i++) {\n if(intensityArray[i] < minVals[i]) {\n minVals[i] = intensityArray[i];\n }\n }\n ",_AFTER_RENDER:" float total = 0.0;\n for(int i = 0; i < 6; i++) {\n total += minVals[i];\n }\n // Do not go past 1 in opacity/colormap value.\n total = min(total, 1.0);\n color = colormap(total, total);\n "}),Object(g.a)(Ii,pi.ADDITIVE,{_BEFORE_RENDER:"",_RENDER:" float intensityArray[6] = float[6](intensityValue0, intensityValue1, intensityValue2, intensityValue3, intensityValue4, intensityValue5);\n\t\tfloat total = 0.0;\n\n\t\tfor(int i = 0; i < 6; i++) {\n\t\t\ttotal += intensityArray[i];\n\t\t}\n\t\t// Do not go past 1 in opacity/colormap value.\n\t\ttotal = min(total, 1.0);\n\n\t\tvec4 val_color = colormap(total, total);\n\n\t\t// Opacity correction\n\t\tval_color.a = 1.0 - pow(1.0 - val_color.a, 1.0);\n\t\tcolor.rgb += (1.0 - color.a) * val_color.a * val_color.rgb;\n\t\tcolor.a += (1.0 - color.a) * val_color.a;\n\t\tif (color.a >= 0.95) {\n\t\t\tbreak;\n\t\t}\n p += ray_dir * dt;\n ",_AFTER_RENDER:""}),Ii),Qo=[1,1,0,0,1,0,1,1,1,0,1,1,0,0,1,0,1,0,0,0,0,1,1,0,1,0,0,1,1,1,1,0,1,0,0,1,1,0,0,0,0,0],yo={pickable:!1,coordinateSystem:p.a.CARTESIAN,channelData:{type:"object",value:{},compare:!0},colors:{type:"array",value:[],compare:!0},contrastLimits:{type:"array",value:[],compare:!0},dtype:{type:"string",value:"Uint8",compare:!0},colormap:{type:"string",value:"",compare:!0},xSlice:{type:"array",value:null,compare:!0},ySlice:{type:"array",value:null,compare:!0},zSlice:{type:"array",value:null,compare:!0},clippingPlanes:{type:"array",value:[],compare:!0},renderingMode:{type:"string",value:pi.ADDITIVE,compare:!0},resolutionMatrix:{type:"object",value:new S.Matrix4,compare:!0}};function vo(){var e=Si("Float32");return Object(d.a)({},e,{sampler:e.sampler.replace("2D","3D"),cast:function(e){return new Float32Array(e)}})}var mo=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"initializeState",value:function(){var e=this.context.gl;e.pixelStorei(F.default.UNPACK_ALIGNMENT,1),e.pixelStorei(F.default.PACK_ALIGNMENT,1);var t=U.a.getDefaultProgramManager(e),A="fs:DECKGL_PROCESS_INTENSITY(inout float intensity, vec2 contrastLimits, int channelIndex)";t._hookFunctions.includes(A)||t.addShaderHook(A)}},{key:"_isHookDefinedByExtensions",value:function(e){var t=this.props.extensions;return null===t||void 0===t?void 0:t.some((function(t){var A=t.getShaders(),n=A.inject,r=void 0===n?{}:n,i=A.modules,o=void 0===i?[]:i,a=r[e],s=o.some((function(t){return null===t||void 0===t?void 0:t.inject[e]}));return a||s}))}},{key:"getShaders",value:function(){var e=this.props,t=e.colormap,n=e.renderingMode,r=e.clippingPlanes,i=vo().sampler,o=t?Eo[n]:po[n],a=o._BEFORE_RENDER,s=o._RENDER,g=o._AFTER_RENDER,c=function(e){var t=bi.filter((function(t){return t!==(e||"viridis")})).map((function(e){return e.replace(/-/g,"_")})),A=new RegExp("vec4 (".concat(t.join("(_([0-9]*))?|"),")\\(float x_[0-9]+\\){([^}]+)}"),"g");return Object(d.a)({},Bo,{fs:Bo.fs.replace(A,""),defines:{COLORMAP_FUNCTION:e||"viridis"}})}(t),u=this._isHookDefinedByExtensions("fs:DECKGL_PROCESS_INTENSITY"),l=Object(d.a)({},c,{inject:{}});return u||(l.inject["fs:DECKGL_PROCESS_INTENSITY"]="\n intensity = apply_contrast_limits(intensity, contrastLimits);\n "),Object(C.a)(Object(I.a)(A.prototype),"getShaders",this).call(this,{vs:'#version 300 es\n#define GLSLIFY 1\n#define SHADER_NAME xr-layer-vertex-shader\nin vec3 positions;uniform vec3 eye_pos;uniform mat4 proj;uniform mat4 model;uniform mat4 view;uniform mat4 scale;uniform mat4 resolution;out vec3 vray_dir;flat out vec3 transformed_eye;void main(){gl_Position=proj*view*model*scale*resolution*vec4(positions,1.);/*This first diagram is a skewed volume(i.e a "shear" model matrix applied)top down with the eye marked as #,all in world space^___|__\\|\\\\|\\|____|||\n#\nThis next diagram shows the volume after the inverse model matrix has placed it back in model coordinates,but the eye still in world space.^___|___|||||||__|__||||\n#\nFinally,we apply the inverse model matrix transformation to the eye as well to bring it too into world space.Notice that the ray here matches the "voxels" through which the first ray also passes,as desired.^____/__|/||/||/____|///\n#\n*/transformed_eye=(inverse(resolution)*inverse(scale)*inverse(model)*(vec4(eye_pos,1.))).xyz;vray_dir=positions-transformed_eye;}',fs:"#version 300 es\nprecision highp int;precision highp float;precision highp SAMPLER_TYPE;\n#define GLSLIFY 1\nuniform highp SAMPLER_TYPE volume0;uniform highp SAMPLER_TYPE volume1;uniform highp SAMPLER_TYPE volume2;uniform highp SAMPLER_TYPE volume3;uniform highp SAMPLER_TYPE volume4;uniform highp SAMPLER_TYPE volume5;uniform vec3 scaledDimensions;uniform mat4 scale;uniform vec3 normals[NUM_PLANES];uniform float distances[NUM_PLANES];uniform vec3 colors[6];uniform vec2 xSlice;uniform vec2 ySlice;uniform vec2 zSlice;uniform vec2 contrastLimits[6];in vec3 vray_dir;flat in vec3 transformed_eye;out vec4 color;vec2 intersect_box(vec3 orig,vec3 dir){vec3 box_min=vec3(xSlice[0],ySlice[0],zSlice[0]);vec3 box_max=vec3(xSlice[1],ySlice[1],zSlice[1]);vec3 inv_dir=1./dir;vec3 tmin_tmp=(box_min-orig)*inv_dir;vec3 tmax_tmp=(box_max-orig)*inv_dir;vec3 tmin=min(tmin_tmp,tmax_tmp);vec3 tmax=max(tmin_tmp,tmax_tmp);float t0=max(tmin.x,max(tmin.y,tmin.z));float t1=min(tmax.x,min(tmax.y,tmax.z));vec2 val=vec2(t0,t1);return val;}float linear_to_srgb(float x){if(x<=0.0031308f){return 12.92f*x;}return 1.055f*pow(x,1.f/2.4f)-0.055f;}float wang_hash(int seed){seed=(seed ^ 61)^(seed>>16);seed*=9;seed=seed ^(seed>>4);seed*=0x27d4eb2d;seed=seed ^(seed>>15);return float(seed % 2147483647)/float(2147483647);}void main(void){vec3 ray_dir=normalize(vray_dir);vec2 t_hit=intersect_box(transformed_eye,ray_dir);if(t_hit.x>t_hit.y){discard;}t_hit.x=max(t_hit.x,0.);vec3 dt_vec=1./(scale*vec4(abs(ray_dir),1.)).xyz;float dt=1.*min(dt_vec.x,min(dt_vec.y,dt_vec.z));float offset=wang_hash(int(gl_FragCoord.x+640.*gl_FragCoord.y));vec3 p=transformed_eye+(t_hit.x+offset*dt)*ray_dir;_BEFORE_RENDERfor(float t=t_hit.x;t<t_hit.y;t+=dt){float canShow=1.;for(int i=0;i<NUM_PLANES;i+=1){canShow*=max(0.,sign(dot(normals[i],p)+distances[i]));}float canShowXCoordinate=max(p.x-0.,0.)*max(1.-p.x,0.);float canShowYCoordinate=max(p.y-0.,0.)*max(1.-p.y,0.);float canShowZCoordinate=max(p.z-0.,0.)*max(1.-p.z,0.);float canShowCoordinate=float(ceil(canShowXCoordinate*canShowYCoordinate*canShowZCoordinate));canShow=canShowCoordinate*canShow;float intensityValue0=float(texture(volume0,p).r);DECKGL_PROCESS_INTENSITY(intensityValue0,contrastLimits[0],0);intensityValue0=canShow*intensityValue0;float intensityValue1=float(texture(volume1,p).r);DECKGL_PROCESS_INTENSITY(intensityValue1,contrastLimits[1],1);intensityValue1=canShow*intensityValue1;float intensityValue2=float(texture(volume2,p).r);DECKGL_PROCESS_INTENSITY(intensityValue2,contrastLimits[2],2);intensityValue2=canShow*intensityValue2;float intensityValue3=float(texture(volume3,p).r);DECKGL_PROCESS_INTENSITY(intensityValue3,contrastLimits[3],3);intensityValue3=canShow*intensityValue3;float intensityValue4=float(texture(volume4,p).r);DECKGL_PROCESS_INTENSITY(intensityValue4,contrastLimits[4],4);intensityValue4=canShow*intensityValue4;float intensityValue5=float(texture(volume5,p).r);DECKGL_PROCESS_INTENSITY(intensityValue5,contrastLimits[5],5);intensityValue5=canShow*intensityValue5;_RENDERp+=ray_dir*dt;}_AFTER_RENDERcolor.r=linear_to_srgb(color.r);color.g=linear_to_srgb(color.g);color.b=linear_to_srgb(color.b);}".replace("_BEFORE_RENDER",a).replace("_RENDER",s).replace("_AFTER_RENDER",g),defines:{SAMPLER_TYPE:i,COLORMAP_FUNCTION:t||"viridis",NUM_PLANES:String(r.length||1)},modules:[l]})}},{key:"finalizeState",value:function(){Object(C.a)(Object(I.a)(A.prototype),"finalizeState",this).call(this),this.state.textures&&Object.values(this.state.textures).forEach((function(e){return e&&e.delete()}))}},{key:"updateState",value:function(e){var t,A,n=e.props,r=e.oldProps;if(e.changeFlags.extensionsChanged||n.colormap!==r.colormap||n.renderingMode!==r.renderingMode||n.clippingPlanes.length!==r.clippingPlanes.length){var i=this.context.gl;this.state.model&&this.state.model.delete(),this.setState({model:this._getModel(i)})}n.channelData&&(null===n||void 0===n||null===(t=n.channelData)||void 0===t?void 0:t.data)!==(null===r||void 0===r||null===(A=r.channelData)||void 0===A?void 0:A.data)&&this.loadTexture(n.channelData)}},{key:"_getModel",value:function(e){return e?new G.a(e,Object(d.a)({},this.getShaders(),{geometry:new k.a({drawMode:e.TRIANGLE_STRIP,attributes:{positions:new Float32Array(Qo)}})})):null}},{key:"draw",value:function(e){var t=e.uniforms,A=this.state,n=A.textures,r=A.model,i=A.scaleMatrix,o=this.props,a=o.contrastLimits,s=o.colors,g=o.xSlice,c=o.ySlice,u=o.zSlice,l=o.modelMatrix,I=o.channelsVisible,C=o.domain,h=o.dtype,f=o.clippingPlanes,B=o.resolutionMatrix,p=this.context.viewport,E=p.viewMatrix,Q=p.viewMatrixInverse,y=p.projectionMatrix;if(n&&r&&i){var v=Fi({contrastLimits:a,channelsVisible:I,domain:C,dtype:h}),m=zi({colors:s,channelsVisible:I}),b=i.clone().invert(),w=B.clone().invert(),F=wi(f.map((function(e){return e.clone().transform(b).transform(w)})),new j.e([1,0,0]),f.length||1),R=F.map((function(e){return e.normal})).flat(),D=F.map((function(e){return e.distance}));r.setUniforms(Object(d.a)({},t,{},n,{contrastLimits:v,colors:m,xSlice:new Float32Array(g?g.map((function(e){return e/i[0]/B[0]})):[0,1]),ySlice:new Float32Array(c?c.map((function(e){return e/i[5]/B[5]})):[0,1]),zSlice:new Float32Array(u?u.map((function(e){return e/i[10]/B[10]})):[0,1]),eye_pos:new Float32Array([Q[12],Q[13],Q[14]]),view:E,proj:y,scale:i,resolution:B,model:l||new S.Matrix4,normals:R,distances:D})).draw()}}},{key:"loadTexture",value:function(e){var t=this,A={volume0:null,volume1:null,volume2:null,volume3:null,volume4:null,volume5:null};if(this.state.textures&&Object.values(this.state.textures).forEach((function(e){return e&&e.delete()})),e&&Object.keys(e).length>0&&e.data){var n=e.height,r=e.width,i=e.depth;e.data.forEach((function(e,o){A["volume".concat(o)]=t.dataToTexture(e,r,n,i)}),this),this.setState({textures:A,scaleMatrix:(new S.Matrix4).scale(this.props.physicalSizeScalingMatrix.transformPoint([r,n,i]))})}}},{key:"dataToTexture",value:function(e,t,A,n){var r,i,o,a=vo();return new N.a(this.context.gl,{width:t,height:A,depth:n,data:null!==(r=null===(i=a.cast)||void 0===i?void 0:i.call(a,e))&&void 0!==r?r:e,format:a.dataFormat,dataFormat:a.format,type:a.type,mipmaps:!1,parameters:(o={},Object(g.a)(o,F.default.TEXTURE_MIN_FILTER,F.default.LINEAR),Object(g.a)(o,F.default.TEXTURE_MAG_FILTER,F.default.LINEAR),Object(g.a)(o,F.default.TEXTURE_WRAP_S,F.default.CLAMP_TO_EDGE),Object(g.a)(o,F.default.TEXTURE_WRAP_T,F.default.CLAMP_TO_EDGE),Object(g.a)(o,F.default.TEXTURE_WRAP_R,F.default.CLAMP_TO_EDGE),o)})}}]),A}(y.a);function bo(){return(bo=Object(a.a)(o.a.mark((function e(t){var A,n,r,i,s,g,c,u,l,I,C,h,f,B,p,E,Q,y,v;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=t.source,n=t.selection,r=t.onUpdate,i=void 0===r?function(){}:r,s=t.downsampleDepth,g=void 0===s?1:s,c=t.signal,u=A.shape,l=A.labels,I=A.dtype,C=ji(A),h=C.height,f=C.width,B=u[l.indexOf("z")],p=Math.max(1,Math.floor(B/g)),E=h*f,Q="".concat(I,"Array"),y=globalThis[Q],v=new y(E*p),e.next=11,Promise.all(new Array(p).fill(0).map(function(){var e=Object(a.a)(o.a.mark((function e(t,r){var a,s,u,l,I,C;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=Object(d.a)({},n,{z:r*g}),e.next=3,A.getRaster({selection:a,signal:c});case 3:for(s=e.sent,u=s.data,l=0,i();l<E;)I=r*E+(E-l-1),C=(f-l-1)%f+f*Math.floor(l/f),v[I]=u[C],l+=1;i();case 9:case"end":return e.stop()}}),e)})));return function(t,A){return e.apply(this,arguments)}}()));case 11:return e.abrupt("return",{data:v,height:h,width:f,depth:p});case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}mo.layerName="XR3DLayer",mo.defaultProps=yo;var wo=function(e,t,A){return new Z.a({id:"text-".concat(A),coordinateSystem:p.a.CARTESIAN,data:[{text:e,position:t.position}],getColor:[220,220,220,255],getSize:25,sizeUnits:"meters",sizeScale:Math.pow(2,-t.zoom),fontFamily:"Helvetica"})},So={pickable:!1,coordinateSystem:p.a.CARTESIAN,contrastLimits:{type:"array",value:[],compare:!0},channelsVisible:{type:"array",value:[],compare:!0},colors:{type:"array",value:[],compare:!0},colormap:{type:"string",value:"",compare:!0},selections:{type:"array",value:[],compare:!0},resolution:{type:"number",value:0,compare:!0},domain:{type:"array",value:[],compare:!0},loader:{type:"object",value:[{getRaster:function(){var e=Object(a.a)(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{data:[],height:0,width:0});case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),dtype:"Uint16",shape:[1],labels:["z"]}],compare:!0},xSlice:{type:"array",value:null,compare:!0},ySlice:{type:"array",value:null,compare:!0},zSlice:{type:"array",value:null,compare:!0},clippingPlanes:{type:"array",value:[],compare:!0},renderingMode:{type:"string",value:pi.MAX_INTENSITY_PROJECTION,compare:!0},onUpdate:{type:"function",value:function(){},compare:!0},useProgressIndicator:{type:"boolean",value:!0,compare:!0},useWebGL1Warning:{type:"boolean",value:!0,compare:!0}},Fo=function(e){Object(h.a)(A,e);var t=Object(f.a)(A);function A(){return Object(u.a)(this,A),t.apply(this,arguments)}return Object(l.a)(A,[{key:"clearState",value:function(){this.setState({height:null,width:null,depth:null,data:null,physicalSizeScalingMatrix:null,resolutionMatrix:null,progress:0,abortController:null})}},{key:"finalizeState",value:function(){this.state.abortController.abort()}},{key:"updateState",value:function(e){var t=this,A=e.oldProps,n=e.props,r=n.loader!==A.loader,i=n.resolution!==A.resolution,o=n.selections!==A.selections;if(i&&this.clearState(),r||o||i){var a=this.props,s=a.loader,g=a.selections,c=void 0===g?[]:g,u=a.resolution,l=a.onViewportLoad,I=s[u],C=0,h=(I.shape[I.labels.indexOf("z")]>>u)*c.length,f=function(){C+=.5/h,t.props.onUpdate&&t.props.onUpdate({progress:C}),t.setState({progress:C})},B=new AbortController;this.setState({abortController:B});var p=B.signal,E=c.map((function(e){return function(e){return bo.apply(this,arguments)}({selection:e,source:I,onUpdate:f,downsampleDepth:Math.pow(2,u),signal:p})})),Q=Ri(s[u]);Promise.all(E).then((function(e){l&&l(e);var A={data:e.map((function(e){return e.data})),width:e[0].width,height:e[0].height,depth:e[0].depth};t.setState(Object(d.a)({},A,{physicalSizeScalingMatrix:Q,resolutionMatrix:(new S.Matrix4).scale(Math.pow(2,u))}))}))}}},{key:"renderLayers",value:function(){var e,t=this.props,A=t.loader,n=t.id,r=t.resolution,i=t.useProgressIndicator,o=t.useWebGL1Warning,a=A[r].dtype,s=this.state,c=s.data,u=s.width,l=s.height,I=s.depth,C=s.progress,h=s.physicalSizeScalingMatrix,f=s.resolutionMatrix,d=this.context.gl;if(!Object(D.j)(d)&&o){var B=this.context.viewport;return wo(["Volume rendering is only available on browsers that support WebGL2. If you","are using Safari, you can turn on WebGL2 by navigating in the top menubar","to check Develop > Experimental Features > WebGL 2.0 and then refreshing","the page."].join("\n"),B,n)}if((!u||!l)&&i){var p=this.context.viewport;return wo("Loading Volume ".concat(String(100*(C||0)).slice(0,5),"%..."),p,n)}return new mo(this.props,{channelData:{data:c,width:u,height:l,depth:I},id:"XR3DLayer-".concat(0,"-",l,"-").concat(u,"-",0,"-").concat(r,"-").concat(n),physicalSizeScalingMatrix:h,parameters:(e={},Object(g.a)(e,F.default.CULL_FACE,!0),Object(g.a)(e,F.default.CULL_FACE_MODE,F.default.FRONT),Object(g.a)(e,F.default.DEPTH_TEST,!1),Object(g.a)(e,"blendFunc",[F.default.SRC_ALPHA,F.default.ONE]),Object(g.a)(e,"blend",!0),e),resolutionMatrix:f,dtype:a})}}]),A}(v.a);Fo.layerName="VolumeLayer",Fo.defaultProps=So;var Ro="/Users/ilangold/Projects/Gehlenborg/viv/src/viewers/VivViewer.jsx",Do=(P.PureComponent,function e(){Object(u.a)(this,e)}),Go=(w.a,"".concat("__viv","-offsets"));function ko(e){(function(e,t){return e[t]})(e,Go)||console.warn("GeoTIFF source is missing offsets proxy.")}function xo(e,t){return new Proxy(e,{get:function(e,A){return"getImage"===A?function(A){if(!(A in e.ifdRequests)&&A in t){var n=t[A];e.ifdRequests[A]=e.parseFileDirectoryAt(n)}return e.getImage(A)}:A===Go||Reflect.get(e,A)}})}var No="KGZ1bmN0aW9uICgpIHsKICAndXNlIHN0cmljdCc7CgogIGZ1bmN0aW9uIGRlY29kZVJvd0FjYyhyb3csIHN0cmlkZSkgewogICAgbGV0IGxlbmd0aCA9IHJvdy5sZW5ndGggLSBzdHJpZGU7CiAgICBsZXQgb2Zmc2V0ID0gMDsKICAgIGRvIHsKICAgICAgZm9yIChsZXQgaSA9IHN0cmlkZTsgaSA+IDA7IGktLSkgewogICAgICAgIHJvd1tvZmZzZXQgKyBzdHJpZGVdICs9IHJvd1tvZmZzZXRdOwogICAgICAgIG9mZnNldCsrOwogICAgICB9CgogICAgICBsZW5ndGggLT0gc3RyaWRlOwogICAgfSB3aGlsZSAobGVuZ3RoID4gMCk7CiAgfQoKICBmdW5jdGlvbiBkZWNvZGVSb3dGbG9hdGluZ1BvaW50KHJvdywgc3RyaWRlLCBieXRlc1BlclNhbXBsZSkgewogICAgbGV0IGluZGV4ID0gMDsKICAgIGxldCBjb3VudCA9IHJvdy5sZW5ndGg7CiAgICBjb25zdCB3YyA9IGNvdW50IC8gYnl0ZXNQZXJTYW1wbGU7CgogICAgd2hpbGUgKGNvdW50ID4gc3RyaWRlKSB7CiAgICAgIGZvciAobGV0IGkgPSBzdHJpZGU7IGkgPiAwOyAtLWkpIHsKICAgICAgICByb3dbaW5kZXggKyBzdHJpZGVdICs9IHJvd1tpbmRleF07CiAgICAgICAgKytpbmRleDsKICAgICAgfQogICAgICBjb3VudCAtPSBzdHJpZGU7CiAgICB9CgogICAgY29uc3QgY29weSA9IHJvdy5zbGljZSgpOwogICAgZm9yIChsZXQgaSA9IDA7IGkgPCB3YzsgKytpKSB7CiAgICAgIGZvciAobGV0IGIgPSAwOyBiIDwgYnl0ZXNQZXJTYW1wbGU7ICsrYikgewogICAgICAgIHJvd1soYnl0ZXNQZXJTYW1wbGUgKiBpKSArIGJdID0gY29weVsoKGJ5dGVzUGVyU2FtcGxlIC0gYiAtIDEpICogd2MpICsgaV07CiAgICAgIH0KICAgIH0KICB9CgogIGZ1bmN0aW9uIGFwcGx5UHJlZGljdG9yKGJsb2NrLCBwcmVkaWN0b3IsIHdpZHRoLCBoZWlnaHQsIGJpdHNQZXJTYW1wbGUsCiAgICBwbGFuYXJDb25maWd1cmF0aW9uKSB7CiAgICBpZiAoIXByZWRpY3RvciB8fCBwcmVkaWN0b3IgPT09IDEpIHsKICAgICAgcmV0dXJuIGJsb2NrOwogICAgfQoKICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYml0c1BlclNhbXBsZS5sZW5ndGg7ICsraSkgewogICAgICBpZiAoYml0c1BlclNhbXBsZVtpXSAlIDggIT09IDApIHsKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1doZW4gZGVjb2Rpbmcgd2l0aCBwcmVkaWN0b3IsIG9ubHkgbXVsdGlwbGUgb2YgOCBiaXRzIGFyZSBzdXBwb3J0ZWQuJyk7CiAgICAgIH0KICAgICAgaWYgKGJpdHNQZXJTYW1wbGVbaV0gIT09IGJpdHNQZXJTYW1wbGVbMF0pIHsKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1doZW4gZGVjb2Rpbmcgd2l0aCBwcmVkaWN0b3IsIGFsbCBzYW1wbGVzIG11c3QgaGF2ZSB0aGUgc2FtZSBzaXplLicpOwogICAgICB9CiAgICB9CgogICAgY29uc3QgYnl0ZXNQZXJTYW1wbGUgPSBiaXRzUGVyU2FtcGxlWzBdIC8gODsKICAgIGNvbnN0IHN0cmlkZSA9IHBsYW5hckNvbmZpZ3VyYXRpb24gPT09IDIgPyAxIDogYml0c1BlclNhbXBsZS5sZW5ndGg7CgogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBoZWlnaHQ7ICsraSkgewogICAgICAvLyBMYXN0IHN0cmlwIHdpbGwgYmUgdHJ1bmNhdGVkIGlmIGhlaWdodCAlIHN0cmlwSGVpZ2h0ICE9IDAKICAgICAgaWYgKGkgKiBzdHJpZGUgKiB3aWR0aCAqIGJ5dGVzUGVyU2FtcGxlID49IGJsb2NrLmJ5dGVMZW5ndGgpIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBsZXQgcm93OwogICAgICBpZiAocHJlZGljdG9yID09PSAyKSB7IC8vIGhvcml6b250YWwgcHJlZGljdGlvbgogICAgICAgIHN3aXRjaCAoYml0c1BlclNhbXBsZVswXSkgewogICAgICAgICAgY2FzZSA4OgogICAgICAgICAgICByb3cgPSBuZXcgVWludDhBcnJheSgKICAgICAgICAgICAgICBibG9jaywgaSAqIHN0cmlkZSAqIHdpZHRoICogYnl0ZXNQZXJTYW1wbGUsIHN0cmlkZSAqIHdpZHRoICogYnl0ZXNQZXJTYW1wbGUsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAxNjoKICAgICAgICAgICAgcm93ID0gbmV3IFVpbnQxNkFycmF5KAogICAgICAgICAgICAgIGJsb2NrLCBpICogc3RyaWRlICogd2lkdGggKiBieXRlc1BlclNhbXBsZSwgc3RyaWRlICogd2lkdGggKiBieXRlc1BlclNhbXBsZSAvIDIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAzMjoKICAgICAgICAgICAgcm93ID0gbmV3IFVpbnQzMkFycmF5KAogICAgICAgICAgICAgIGJsb2NrLCBpICogc3RyaWRlICogd2lkdGggKiBieXRlc1BlclNhbXBsZSwgc3RyaWRlICogd2lkdGggKiBieXRlc1BlclNhbXBsZSAvIDQsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQcmVkaWN0b3IgMiBub3QgYWxsb3dlZCB3aXRoICR7Yml0c1BlclNhbXBsZVswXX0gYml0cyBwZXIgc2FtcGxlLmApOwogICAgICAgIH0KICAgICAgICBkZWNvZGVSb3dBY2Mocm93LCBzdHJpZGUpOwogICAgICB9IGVsc2UgaWYgKHByZWRpY3RvciA9PT0gMykgeyAvLyBob3Jpem9udGFsIGZsb2F0aW5nIHBvaW50CiAgICAgICAgcm93ID0gbmV3IFVpbnQ4QXJyYXkoCiAgICAgICAgICBibG9jaywgaSAqIHN0cmlkZSAqIHdpZHRoICogYnl0ZXNQZXJTYW1wbGUsIHN0cmlkZSAqIHdpZHRoICogYnl0ZXNQZXJTYW1wbGUsCiAgICAgICAgKTsKICAgICAgICBkZWNvZGVSb3dGbG9hdGluZ1BvaW50KHJvdywgc3RyaWRlLCBieXRlc1BlclNhbXBsZSk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBibG9jazsKICB9CgogIGNsYXNzIEJhc2VEZWNvZGVyIHsKICAgIGFzeW5jIGRlY29kZShmaWxlRGlyZWN0b3J5LCBidWZmZXIpIHsKICAgICAgY29uc3QgZGVjb2RlZCA9IGF3YWl0IHRoaXMuZGVjb2RlQmxvY2soYnVmZmVyKTsKICAgICAgY29uc3QgcHJlZGljdG9yID0gZmlsZURpcmVjdG9yeS5QcmVkaWN0b3IgfHwgMTsKICAgICAgaWYgKHByZWRpY3RvciAhPT0gMSkgewogICAgICAgIGNvbnN0IGlzVGlsZWQgPSAhZmlsZURpcmVjdG9yeS5TdHJpcE9mZnNldHM7CiAgICAgICAgY29uc3QgdGlsZVdpZHRoID0gaXNUaWxlZCA/IGZpbGVEaXJlY3RvcnkuVGlsZVdpZHRoIDogZmlsZURpcmVjdG9yeS5JbWFnZVdpZHRoOwogICAgICAgIGNvbnN0IHRpbGVIZWlnaHQgPSBpc1RpbGVkID8gZmlsZURpcmVjdG9yeS5UaWxlTGVuZ3RoIDogKAogICAgICAgICAgZmlsZURpcmVjdG9yeS5Sb3dzUGVyU3RyaXAgfHwgZmlsZURpcmVjdG9yeS5JbWFnZUxlbmd0aAogICAgICAgICk7CiAgICAgICAgcmV0dXJuIGFwcGx5UHJlZGljdG9yKAogICAgICAgICAgZGVjb2RlZCwgcHJlZGljdG9yLCB0aWxlV2lkdGgsIHRpbGVIZWlnaHQsIGZpbGVEaXJlY3RvcnkuQml0c1BlclNhbXBsZSwKICAgICAgICAgIGZpbGVEaXJlY3RvcnkuUGxhbmFyQ29uZmlndXJhdGlvbiwKICAgICAgICApOwogICAgICB9CiAgICAgIHJldHVybiBkZWNvZGVkOwogICAgfQogIH0KCiAgY2xhc3MgUmF3RGVjb2RlciBleHRlbmRzIEJhc2VEZWNvZGVyIHsKICAgIGRlY29kZUJsb2NrKGJ1ZmZlcikgewogICAgICByZXR1cm4gYnVmZmVyOwogICAgfQogIH0KCiAgbGV0IEEsST1udWxsO2Z1bmN0aW9uIGcoKXtyZXR1cm4gbnVsbCE9PUkmJkkuYnVmZmVyPT09QS5tZW1vcnkuYnVmZmVyfHwoST1uZXcgVWludDhBcnJheShBLm1lbW9yeS5idWZmZXIpKSxJfWxldCBCPTA7bGV0IFE9bnVsbDtmdW5jdGlvbiBDKCl7cmV0dXJuIG51bGwhPT1RJiZRLmJ1ZmZlcj09PUEubWVtb3J5LmJ1ZmZlcnx8KFE9bmV3IEludDMyQXJyYXkoQS5tZW1vcnkuYnVmZmVyKSksUX1hc3luYyBmdW5jdGlvbiBFKEkpe3ZvaWQgMD09PUkmJihJPSIiLnJlcGxhY2UoL1wuanMkLywiX2JnLndhc20iKSk7KCJzdHJpbmciPT10eXBlb2YgSXx8ImZ1bmN0aW9uIj09dHlwZW9mIFJlcXVlc3QmJkkgaW5zdGFuY2VvZiBSZXF1ZXN0fHwiZnVuY3Rpb24iPT10eXBlb2YgVVJMJiZJIGluc3RhbmNlb2YgVVJMKSYmKEk9ZmV0Y2goSSkpO2NvbnN0e2luc3RhbmNlOmcsbW9kdWxlOkJ9PWF3YWl0IGFzeW5jIGZ1bmN0aW9uKEEsSSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIFJlc3BvbnNlJiZBIGluc3RhbmNlb2YgUmVzcG9uc2Upe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyl0cnl7cmV0dXJuIGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKEEsSSl9Y2F0Y2goSSl7aWYoImFwcGxpY2F0aW9uL3dhc20iPT1BLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKSl0aHJvdyBJO2NvbnNvbGUud2FybigiYFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nYCBmYWlsZWQgYmVjYXVzZSB5b3VyIHNlcnZlciBkb2VzIG5vdCBzZXJ2ZSB3YXNtIHdpdGggYGFwcGxpY2F0aW9uL3dhc21gIE1JTUUgdHlwZS4gRmFsbGluZyBiYWNrIHRvIGBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZWAgd2hpY2ggaXMgc2xvd2VyLiBPcmlnaW5hbCBlcnJvcjpcbiIsSSk7fWNvbnN0IGc9YXdhaXQgQS5hcnJheUJ1ZmZlcigpO3JldHVybiBhd2FpdCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShnLEkpfXtjb25zdCBnPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEEsSSk7cmV0dXJuIGcgaW5zdGFuY2VvZiBXZWJBc3NlbWJseS5JbnN0YW5jZT97aW5zdGFuY2U6Zyxtb2R1bGU6QX06Z319KGF3YWl0IEkse30pO3JldHVybiBBPWcuZXhwb3J0cyxFLl9fd2JpbmRnZW5fd2FzbV9tb2R1bGU9QixBfXZhciBEPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGRlY29tcHJlc3M6ZnVuY3Rpb24oSSxRKXt0cnl7Y29uc3QgRj1BLl9fd2JpbmRnZW5fYWRkX3RvX3N0YWNrX3BvaW50ZXIoLTE2KTt2YXIgRT1mdW5jdGlvbihBLEkpe2NvbnN0IFE9SSgxKkEubGVuZ3RoKTtyZXR1cm4gZygpLnNldChBLFEvMSksQj1BLmxlbmd0aCxRfShJLEEuX193YmluZGdlbl9tYWxsb2MpLEQ9QjtBLmRlY29tcHJlc3MoRixFLEQsUSk7dmFyIGk9QygpW0YvNCswXSx3PUMoKVtGLzQrMV0sRz0obz1pLE49dyxnKCkuc3ViYXJyYXkoby8xLG8vMStOKSkuc2xpY2UoKTtyZXR1cm4gQS5fX3diaW5kZ2VuX2ZyZWUoaSwxKncpLEd9ZmluYWxseXtBLl9fd2JpbmRnZW5fYWRkX3RvX3N0YWNrX3BvaW50ZXIoMTYpO312YXIgbyxOO30sZGVmYXVsdDpFfSk7Y29uc3QgaT1bNjIsMCwwLDAsNjMsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksNjAsNjEsMCwwLDAsMCwwLDAsMCwwLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDAsMCwwLDAsMCwwLDI2LDI3LDI4LDI5LDMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1LDQ2LDQ3LDQ4LDQ5LDUwLDUxXTtmdW5jdGlvbiB3KEEpe3JldHVybiBpW0EtNDNdfWNvbnN0IEc9ZnVuY3Rpb24oQSl7bGV0IEksZz1BLmVuZHNXaXRoKCI9PSIpPzI6QS5lbmRzV2l0aCgiPSIpPzE6MCxCPUEubGVuZ3RoLFE9bmV3IFVpbnQ4QXJyYXkoQi80KjMpO2ZvcihsZXQgZz0wLEM9MDtnPEI7Zys9NCxDKz0zKUk9dyhBLmNoYXJDb2RlQXQoZykpPDwxOHx3KEEuY2hhckNvZGVBdChnKzEpKTw8MTJ8dyhBLmNoYXJDb2RlQXQoZysyKSk8PDZ8dyhBLmNoYXJDb2RlQXQoZyszKSksUVtDXT1JPj4xNixRW0MrMV09ST4+OCYyNTUsUVtDKzJdPTI1NSZJO3JldHVybiBRLnN1YmFycmF5KDAsUS5sZW5ndGgtZyl9KCJBR0Z6YlFFQUFBQUJXUTVnQW45L0FYOWdBMzkvZndGL1lBSi9md0JnQVg4QVlBTi9mMzhBWUFGL0FYOWdCSDkvZjM4QVlBUi9mMzkvQVg5Z0JuOS9mMzkvZndCZ0FYOEJmbUFBQUdBRmYzOS9mMzhBWUFWL2YzOS9md0YvWUFKK2Z3Ri9BMjFzQlFnSUN3TUJBZ1VNQVFBQkFBSUFCUUFDQWdZR0RRWURBZ0FDQUFBRUJBUUNBZ1lHQUFZQkJnSUhBd1FEQkFRREF3QURCUU1EQkFRRUJBUUNBZ0FIQUFRQUFnTUJBZ2NGQkFJREFRVUNBZ0lEQWdJREF3Y0NBUUFBQkFJQUNnQUFBUUFGQWdBREJRa0pDUU1DQkFVQmNBRXJLd1VEQVFBUkJna0Jmd0ZCZ0lEQUFBc0hYd1VHYldWdGIzSjVBZ0FLWkdWamIyMXdjbVZ6Y3dBbkgxOWZkMkpwYm1SblpXNWZZV1JrWDNSdlgzTjBZV05yWDNCdmFXNTBaWElBWWhGZlgzZGlhVzVrWjJWdVgyMWhiR3h2WXdCTUQxOWZkMkpwYm1SblpXNWZabkpsWlFCV0NUQUJBRUVCQ3lwcUpEVUNabVZETlFGbVpVTmhhMnBYREQxcFZCb2hTVnRUYUdkZlhERU9YbGhxYVFzY1FXQWJQMlFLc3VnQmJOTXFBZ2gvQVg0Q1FBSkFBa0FDUUNBQVFmVUJUd1JBSUFCQnpmOTdUdzBDSUFCQkMyb2lBRUY0Y1NFR1FaQ253QUFvQWdBaUNFVU5BVUVBSUFacklRUUNRQUpBQW45QkFDQUFRUWgySWdCRkRRQWFRUjhnQmtILy8vOEhTdzBBR2lBR1FRWWdBR2NpQUd0QkgzRjJRUUZ4SUFCQkFYUnJRVDVxQ3lJSFFRSjBRWnlwd0FCcUtBSUFJZ0FFUUNBR1FRQkJHU0FIUVFGMmEwRWZjU0FIUVI5R0czUWhBZ05BQWtBZ0FFRUVhaWdDQUVGNGNTSUZJQVpKRFFBZ0JTQUdheUlGSUFSUERRQWdBQ0VESUFVaUJBMEFRUUFoQkF3REN5QUFRUlJxS0FJQUlnVWdBU0FGSUFBZ0FrRWRka0VFY1dwQkVHb29BZ0FpQUVjYklBRWdCUnNoQVNBQ1FRRjBJUUlnQUEwQUN5QUJCRUFnQVNFQURBSUxJQU1OQWd0QkFDRURRUUlnQjBFZmNYUWlBRUVBSUFCcmNpQUljU0lBUlEwRElBQkJBQ0FBYTNGb1FRSjBRWnlwd0FCcUtBSUFJZ0JGRFFNTEEwQWdBQ0FESUFCQkJHb29BZ0JCZUhFaUFpQUdUeUFDSUFacklnSWdCRWx4SWdFYklRTWdBaUFFSUFFYklRUWdBQ2dDRUNJQ0JIOGdBZ1VnQUVFVWFpZ0NBQXNpQUEwQUN5QURSUTBDQzBHY3FzQUFLQUlBSWdBZ0JrOUJBQ0FFSUFBZ0JtdFBHdzBCSUFNb0FoZ2hCd0pBQWtBZ0F5QURLQUlNSWdGR0JFQWdBMEVVUVJBZ0EwRVVhaUlDS0FJQUlnRWJhaWdDQUNJQURRRkJBQ0VCREFJTElBTW9BZ2dpQUNBQk5nSU1JQUVnQURZQ0NBd0JDeUFDSUFOQkVHb2dBUnNoQWdOQUlBSWhCU0FBSWdGQkZHb2lBaWdDQUNJQVJRUkFJQUZCRUdvaEFpQUJLQUlRSVFBTElBQU5BQXNnQlVFQU5nSUFDd0pBSUFkRkRRQUNRQ0FESUFNb0FoeEJBblJCbktuQUFHb2lBQ2dDQUVjRVFDQUhRUkJCRkNBSEtBSVFJQU5HRzJvZ0FUWUNBQ0FCUlEwQ0RBRUxJQUFnQVRZQ0FDQUJEUUJCa0tmQUFFR1FwOEFBS0FJQVFYNGdBeWdDSEhkeE5nSUFEQUVMSUFFZ0J6WUNHQ0FES0FJUUlnQUVRQ0FCSUFBMkFoQWdBQ0FCTmdJWUN5QURRUlJxS0FJQUlnQkZEUUFnQVVFVWFpQUFOZ0lBSUFBZ0FUWUNHQXNDUUNBRVFSQlBCRUFnQXlBR1FRTnlOZ0lFSUFNZ0Jtb2lCU0FFUVFGeU5nSUVJQVFnQldvZ0JEWUNBQ0FFUVlBQ1R3UkFJQVZDQURjQ0VDQUZBbjlCQUNBRVFRaDJJZ0JGRFFBYVFSOGdCRUgvLy84SFN3MEFHaUFFUVFZZ0FHY2lBR3RCSDNGMlFRRnhJQUJCQVhSclFUNXFDeUlBTmdJY0lBQkJBblJCbktuQUFHb2hBZ0pBQWtBQ1FBSkFRWkNud0FBb0FnQWlBVUVCSUFCQkgzRjBJZ1p4QkVBZ0FpZ0NBQ0lDUVFScUtBSUFRWGh4SUFSSERRRWdBaUVBREFJTFFaQ253QUFnQVNBR2NqWUNBQ0FDSUFVMkFnQU1Bd3NnQkVFQVFSa2dBRUVCZG10QkgzRWdBRUVmUmh0MElRRURRQ0FDSUFGQkhYWkJCSEZxUVJCcUlnWW9BZ0FpQUVVTkFpQUJRUUYwSVFFZ0FDRUNJQUJCQkdvb0FnQkJlSEVnQkVjTkFBc0xJQUFvQWdnaUFpQUZOZ0lNSUFBZ0JUWUNDQ0FGUVFBMkFoZ2dCU0FBTmdJTUlBVWdBallDQ0F3RUN5QUdJQVUyQWdBTElBVWdBallDR0NBRklBVTJBZ3dnQlNBRk5nSUlEQUlMSUFSQkEzWWlBa0VEZEVHVXA4QUFhaUVBQW45QmpLZkFBQ2dDQUNJQlFRRWdBblFpQW5FRVFDQUFLQUlJREFFTFFZeW53QUFnQVNBQ2NqWUNBQ0FBQ3lFQ0lBQWdCVFlDQ0NBQ0lBVTJBZ3dnQlNBQU5nSU1JQVVnQWpZQ0NBd0JDeUFESUFRZ0Jtb2lBRUVEY2pZQ0JDQUFJQU5xSWdBZ0FDZ0NCRUVCY2pZQ0JBc2dBMEVJYWc4TEFrQUNRRUdNcDhBQUtBSUFJZ0ZCRUNBQVFRdHFRWGh4SUFCQkMwa2JJZ1pCQTNZaUFIWWlBa0VEY1VVRVFDQUdRWnlxd0FBb0FnQk5EUU1nQWcwQlFaQ253QUFvQWdBaUFFVU5BeUFBUVFBZ0FHdHhhRUVDZEVHY3FjQUFhaWdDQUNJQlFRUnFLQUlBUVhoeElBWnJJUVFnQVNFQ0EwQWdBU2dDRUNJQVJRUkFJQUZCRkdvb0FnQWlBRVVOQkFzZ0FFRUVhaWdDQUVGNGNTQUdheUlCSUFRZ0FTQUVTU0lCR3lFRUlBQWdBaUFCR3lFQ0lBQWhBUXdBQ3dBTEFrQWdBa0YvYzBFQmNTQUFhaUlBUVFOMFFZeW53QUJxSWdOQkVHb29BZ0FpQWtFSWFpSUZLQUlBSWdRZ0EwRUlhaUlEUndSQUlBUWdBellDRENBRElBUTJBZ2dNQVF0QmpLZkFBQ0FCUVg0Z0FIZHhOZ0lBQ3lBQ0lBQkJBM1FpQUVFRGNqWUNCQ0FBSUFKcUlnQWdBQ2dDQkVFQmNqWUNCQ0FGRHdzQ1FFRUNJQUIwSWdSQkFDQUVhM0lnQWlBQWRIRWlBRUVBSUFCcmNXZ2lBa0VEZEVHTXA4QUFhaUlEUVJCcUtBSUFJZ0JCQ0dvaUJTZ0NBQ0lFSUFOQkNHb2lBMGNFUUNBRUlBTTJBZ3dnQXlBRU5nSUlEQUVMUVl5bndBQWdBVUYrSUFKM2NUWUNBQXNnQUNBR1FRTnlOZ0lFSUFBZ0Jtb2lBeUFDUVFOMElnSWdCbXNpQVVFQmNqWUNCQ0FBSUFKcUlBRTJBZ0JCbktyQUFDZ0NBQ0lBQkVBZ0FFRURkaUlFUVFOMFFaU253QUJxSVFCQnBLckFBQ2dDQUNFQ0FuOUJqS2ZBQUNnQ0FDSUdRUUVnQkVFZmNYUWlCSEVFUUNBQUtBSUlEQUVMUVl5bndBQWdCQ0FHY2pZQ0FDQUFDeUVFSUFBZ0FqWUNDQ0FFSUFJMkFnd2dBaUFBTmdJTUlBSWdCRFlDQ0F0QnBLckFBQ0FETmdJQVFaeXF3QUFnQVRZQ0FDQUZEd3NnQWlnQ0dDRUhBa0FDUUNBQ0lBSW9BZ3dpQVVZRVFDQUNRUlJCRUNBQ1FSUnFJZ0VvQWdBaUF4dHFLQUlBSWdBTkFVRUFJUUVNQWdzZ0FpZ0NDQ0lBSUFFMkFnd2dBU0FBTmdJSURBRUxJQUVnQWtFUWFpQURHeUVEQTBBZ0F5RUZJQUFpQVVFVWFpSURLQUlBSWdCRkJFQWdBVUVRYWlFRElBRW9BaEFoQUFzZ0FBMEFDeUFGUVFBMkFnQUxJQWRGRFFNZ0FpQUNLQUljUVFKMFFaeXB3QUJxSWdBb0FnQkhCRUFnQjBFUVFSUWdCeWdDRUNBQ1JodHFJQUUyQWdBZ0FVVU5CQXdEQ3lBQUlBRTJBZ0FnQVEwQ1FaQ253QUJCa0tmQUFDZ0NBRUYrSUFJb0FoeDNjVFlDQUF3REN3SkFBa0FDUUFKQUFrQkJuS3JBQUNnQ0FDSUFJQVpKQkVCQm9LckFBQ2dDQUNJQUlBWkxEUU5CQUNFQ0lBWkJyNEFFYWlJQVFSQjJRQUFpQVVGL1JnMEdJQUZCRUhRaUJVVU5Ca0dzcXNBQUlBQkJnSUI4Y1NJRVFheXF3QUFvQWdCcUlnQTJBZ0JCc0tyQUFFR3dxc0FBS0FJQUlnRWdBQ0FCSUFCTEd6WUNBRUdvcXNBQUtBSUFJZ05GRFFGQnRLckFBQ0VBQTBBZ0FDZ0NBQ0lCSUFBb0FnUWlCMm9nQlVZTkF5QUFLQUlJSWdBTkFBc01CQXRCcEtyQUFDZ0NBQ0VDQW44Z0FDQUdheUlCUVE5TkJFQkJwS3JBQUVFQU5nSUFRWnlxd0FCQkFEWUNBQ0FDSUFCQkEzSTJBZ1FnQUNBQ2FpSUJRUVJxSVFBZ0FTZ0NCRUVCY2d3QkMwR2Nxc0FBSUFFMkFnQkJwS3JBQUNBQ0lBWnFJZ1EyQWdBZ0JDQUJRUUZ5TmdJRUlBQWdBbW9nQVRZQ0FDQUNRUVJxSVFBZ0JrRURjZ3NoQVNBQUlBRTJBZ0FnQWtFSWFnOExRY2lxd0FBb0FnQWlBRUVBSUFBZ0JVMGJSUVJBUWNpcXdBQWdCVFlDQUF0QnpLckFBRUgvSHpZQ0FFRzBxc0FBSUFVMkFnQkJ3S3JBQUVFQU5nSUFRYmlxd0FBZ0JEWUNBRUdncDhBQVFaU253QUEyQWdCQnFLZkFBRUdjcDhBQU5nSUFRWnlud0FCQmxLZkFBRFlDQUVHd3A4QUFRYVNud0FBMkFnQkJwS2ZBQUVHY3A4QUFOZ0lBUWJpbndBQkJyS2ZBQURZQ0FFR3NwOEFBUWFTbndBQTJBZ0JCd0tmQUFFRzBwOEFBTmdJQVFiU253QUJCcktmQUFEWUNBRUhJcDhBQVFieW53QUEyQWdCQnZLZkFBRUcwcDhBQU5nSUFRZENud0FCQnhLZkFBRFlDQUVIRXA4QUFRYnlud0FBMkFnQkIyS2ZBQUVITXA4QUFOZ0lBUWN5bndBQkJ4S2ZBQURZQ0FFSGdwOEFBUWRTbndBQTJBZ0JCMUtmQUFFSE1wOEFBTmdJQVFkeW53QUJCMUtmQUFEWUNBRUhvcDhBQVFkeW53QUEyQWdCQjVLZkFBRUhjcDhBQU5nSUFRZkNud0FCQjVLZkFBRFlDQUVIc3A4QUFRZVNud0FBMkFnQkIrS2ZBQUVIc3A4QUFOZ0lBUWZTbndBQkI3S2ZBQURZQ0FFR0FxTUFBUWZTbndBQTJBZ0JCL0tmQUFFSDBwOEFBTmdJQVFZaW93QUJCL0tmQUFEWUNBRUdFcU1BQVFmeW53QUEyQWdCQmtLakFBRUdFcU1BQU5nSUFRWXlvd0FCQmhLakFBRFlDQUVHWXFNQUFRWXlvd0FBMkFnQkJsS2pBQUVHTXFNQUFOZ0lBUWFDb3dBQkJsS2pBQURZQ0FFR29xTUFBUVp5b3dBQTJBZ0JCbktqQUFFR1VxTUFBTmdJQVFiQ293QUJCcEtqQUFEWUNBRUdrcU1BQVFaeW93QUEyQWdCQnVLakFBRUdzcU1BQU5nSUFRYXlvd0FCQnBLakFBRFlDQUVIQXFNQUFRYlNvd0FBMkFnQkJ0S2pBQUVHc3FNQUFOZ0lBUWNpb3dBQkJ2S2pBQURZQ0FFRzhxTUFBUWJTb3dBQTJBZ0JCMEtqQUFFSEVxTUFBTmdJQVFjU293QUJCdktqQUFEWUNBRUhZcU1BQVFjeW93QUEyQWdCQnpLakFBRUhFcU1BQU5nSUFRZUNvd0FCQjFLakFBRFlDQUVIVXFNQUFRY3lvd0FBMkFnQkI2S2pBQUVIY3FNQUFOZ0lBUWR5b3dBQkIxS2pBQURZQ0FFSHdxTUFBUWVTb3dBQTJBZ0JCNUtqQUFFSGNxTUFBTmdJQVFmaW93QUJCN0tqQUFEWUNBRUhzcU1BQVFlU293QUEyQWdCQmdLbkFBRUgwcU1BQU5nSUFRZlNvd0FCQjdLakFBRFlDQUVHSXFjQUFRZnlvd0FBMkFnQkIvS2pBQUVIMHFNQUFOZ0lBUVpDcHdBQkJoS25BQURZQ0FFR0VxY0FBUWZ5b3dBQTJBZ0JCbUtuQUFFR01xY0FBTmdJQVFZeXB3QUJCaEtuQUFEWUNBRUdvcXNBQUlBVTJBZ0JCbEtuQUFFR01xY0FBTmdJQVFhQ3F3QUFnQkVGWWFpSUFOZ0lBSUFVZ0FFRUJjallDQkNBQUlBVnFRU2cyQWdSQnhLckFBRUdBZ0lBQk5nSUFEQU1MSUFCQkRHb29BZ0FnQlNBRFRYSWdBU0FEUzNJTkFTQUFJQVFnQjJvMkFnUkJxS3JBQUVHb3FzQUFLQUlBSWdCQkQycEJlSEVpQVVGNGFqWUNBRUdncXNBQVFhQ3F3QUFvQWdBZ0JHb2lCQ0FBSUFGcmFrRUlhaUlETmdJQUlBRkJmR29nQTBFQmNqWUNBQ0FBSUFScVFTZzJBZ1JCeEtyQUFFR0FnSUFCTmdJQURBSUxRYUNxd0FBZ0FDQUdheUlDTmdJQVFhaXF3QUJCcUtyQUFDZ0NBQ0lBSUFacUlnRTJBZ0FnQVNBQ1FRRnlOZ0lFSUFBZ0JrRURjallDQkNBQVFRaHFJUUlNQWd0QnlLckFBRUhJcXNBQUtBSUFJZ0FnQlNBQUlBVkpHellDQUNBRUlBVnFJUUZCdEtyQUFDRUFBa0FEUUNBQklBQW9BZ0JIQkVBZ0FDZ0NDQ0lBRFFFTUFnc0xJQUJCREdvb0FnQU5BQ0FBSUFVMkFnQWdBQ0FBS0FJRUlBUnFOZ0lFSUFVZ0JrRURjallDQkNBRklBWnFJUUFnQVNBRmF5QUdheUVHQWtBQ1FDQUJRYWlxd0FBb0FnQkhCRUJCcEtyQUFDZ0NBQ0FCUmcwQklBRkJCR29vQWdBaUFrRURjVUVCUmdSQUlBRWdBa0Y0Y1NJQ0VCRWdBaUFHYWlFR0lBRWdBbW9oQVFzZ0FTQUJLQUlFUVg1eE5nSUVJQUFnQmtFQmNqWUNCQ0FBSUFacUlBWTJBZ0FnQmtHQUFrOEVRQ0FBUWdBM0FoQWdBQUovUVFBZ0JrRUlkaUlDUlEwQUdrRWZJQVpCLy8vL0Iwc05BQm9nQmtFR0lBSm5JZ0pyUVI5eGRrRUJjU0FDUVFGMGEwRSthZ3NpQVRZQ0hDQUJRUUowUVp5cHdBQnFJUUlDUUFKQUFrQUNRRUdRcDhBQUtBSUFJZ1JCQVNBQlFSOXhkQ0lEY1FSQUlBSW9BZ0FpQWtFRWFpZ0NBRUY0Y1NBR1J3MEJJQUloQkF3Q0MwR1FwOEFBSUFNZ0JISTJBZ0FnQWlBQU5nSUFEQU1MSUFaQkFFRVpJQUZCQVhaclFSOXhJQUZCSDBZYmRDRUJBMEFnQWlBQlFSMTJRUVJ4YWtFUWFpSURLQUlBSWdSRkRRSWdBVUVCZENFQklBUWlBa0VFYWlnQ0FFRjRjU0FHUncwQUN3c2dCQ2dDQ0NJQ0lBQTJBZ3dnQkNBQU5nSUlJQUJCQURZQ0dDQUFJQVEyQWd3Z0FDQUNOZ0lJREFVTElBTWdBRFlDQUFzZ0FDQUNOZ0lZSUFBZ0FEWUNEQ0FBSUFBMkFnZ01Bd3NnQmtFRGRpSUJRUU4wUVpTbndBQnFJUUlDZjBHTXA4QUFLQUlBSWdSQkFTQUJkQ0lCY1FSQUlBSW9BZ2dNQVF0QmpLZkFBQ0FCSUFSeU5nSUFJQUlMSVFFZ0FpQUFOZ0lJSUFFZ0FEWUNEQ0FBSUFJMkFnd2dBQ0FCTmdJSURBSUxRYWlxd0FBZ0FEWUNBRUdncXNBQVFhQ3F3QUFvQWdBZ0Jtb2lBallDQUNBQUlBSkJBWEkyQWdRTUFRdEJwS3JBQUNBQU5nSUFRWnlxd0FCQm5LckFBQ2dDQUNBR2FpSUNOZ0lBSUFBZ0FrRUJjallDQkNBQUlBSnFJQUkyQWdBTElBVkJDR29QQzBHMHFzQUFJUUFEUUFKQUlBQW9BZ0FpQVNBRFRRUkFJQUVnQUNnQ0JHb2lCeUFEU3cwQkN5QUFLQUlJSVFBTUFRc0xRYWlxd0FBZ0JUWUNBRUdncXNBQUlBUkJXR29pQURZQ0FDQUZJQUJCQVhJMkFnUWdBQ0FGYWtFb05nSUVRY1Nxd0FCQmdJQ0FBVFlDQUNBRElBZEJZR3BCZUhGQmVHb2lBQ0FBSUFOQkVHcEpHeUlCUVJzMkFnUkJ0S3JBQUNrQ0FDRUpJQUZCRUdwQnZLckFBQ2tDQURjQ0FDQUJJQWszQWdoQndLckFBRUVBTmdJQVFiaXF3QUFnQkRZQ0FFRzBxc0FBSUFVMkFnQkJ2S3JBQUNBQlFRaHFOZ0lBSUFGQkhHb2hBQU5BSUFCQkJ6WUNBQ0FISUFCQkJHb2lBRXNOQUFzZ0FTQURSZzBBSUFFZ0FTZ0NCRUYrY1RZQ0JDQURJQUVnQTJzaUJVRUJjallDQkNBQklBVTJBZ0FnQlVHQUFrOEVRQ0FEUWdBM0FoQWdBMEVjYWdKL1FRQWdCVUVJZGlJQVJRMEFHa0VmSUFWQi8vLy9CMHNOQUJvZ0JVRUdJQUJuSWdCclFSOXhka0VCY1NBQVFRRjBhMEUrYWdzaUFEWUNBQ0FBUVFKMFFaeXB3QUJxSVFFQ1FBSkFBa0FDUUVHUXA4QUFLQUlBSWdSQkFTQUFRUjl4ZENJSGNRUkFJQUVvQWdBaUJFRUVhaWdDQUVGNGNTQUZSdzBCSUFRaEFBd0NDMEdRcDhBQUlBUWdCM0kyQWdBZ0FTQUROZ0lBSUFOQkdHb2dBVFlDQUF3REN5QUZRUUJCR1NBQVFRRjJhMEVmY1NBQVFSOUdHM1FoQVFOQUlBUWdBVUVkZGtFRWNXcEJFR29pQnlnQ0FDSUFSUTBDSUFGQkFYUWhBU0FBSVFRZ0FFRUVhaWdDQUVGNGNTQUZSdzBBQ3dzZ0FDZ0NDQ0lCSUFNMkFnd2dBQ0FETmdJSUlBTkJHR3BCQURZQ0FDQURJQUEyQWd3Z0F5QUJOZ0lJREFNTElBY2dBellDQUNBRFFSaHFJQVEyQWdBTElBTWdBellDRENBRElBTTJBZ2dNQVFzZ0JVRURkaUlCUVFOMFFaU253QUJxSVFBQ2YwR01wOEFBS0FJQUlnUkJBU0FCZENJQmNRUkFJQUFvQWdnTUFRdEJqS2ZBQUNBQklBUnlOZ0lBSUFBTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlDMEdncXNBQUtBSUFJZ0FnQmswTkFFR2dxc0FBSUFBZ0Jtc2lBallDQUVHb3FzQUFRYWlxd0FBb0FnQWlBQ0FHYWlJQk5nSUFJQUVnQWtFQmNqWUNCQ0FBSUFaQkEzSTJBZ1FnQUVFSWFnOExJQUlQQ3lBQklBYzJBaGdnQWlnQ0VDSUFCRUFnQVNBQU5nSVFJQUFnQVRZQ0dBc2dBa0VVYWlnQ0FDSUFSUTBBSUFGQkZHb2dBRFlDQUNBQUlBRTJBaGdMQWtBZ0JFRVFUd1JBSUFJZ0JrRURjallDQkNBQ0lBWnFJZ01nQkVFQmNqWUNCQ0FESUFScUlBUTJBZ0JCbktyQUFDZ0NBQ0lBQkVBZ0FFRURkaUlGUVFOMFFaU253QUJxSVFCQnBLckFBQ2dDQUNFQkFuOUJqS2ZBQUNnQ0FDSUdRUUVnQlVFZmNYUWlCWEVFUUNBQUtBSUlEQUVMUVl5bndBQWdCU0FHY2pZQ0FDQUFDeUVGSUFBZ0FUWUNDQ0FGSUFFMkFnd2dBU0FBTmdJTUlBRWdCVFlDQ0F0QnBLckFBQ0FETmdJQVFaeXF3QUFnQkRZQ0FBd0JDeUFDSUFRZ0Jtb2lBRUVEY2pZQ0JDQUFJQUpxSWdBZ0FDZ0NCRUVCY2pZQ0JBc2dBa0VJYWd2aEVBSVNmd0orSXdCQmdBRnJJZ1lrQUNBR0lBTTJBaXdnQmlBQ05nSW9Ba0FDZndKQUFrQUNRQUpBSUFFdEFFZEZCRUFnQVNrRE9DRVlJQUZDQURjRE9BSi9JQmhDLy84RGcxQkZCRUFnR0VJd2lLY2hFU0FZUWhDSXB5RU1JQmhDSUlpbkRBRUxJQVpCSUdvZ0FTQUdRU2hxRUNzZ0JpOEJJRVVFUUVFQklRME1CZ3RCQXlFTklBWXZBU0lpRENJQ0lBRXZBVUJQRFFVZ0FpQUJMd0ZDUmcwQ0lBRXZBVVFnREVILy93TnhSZzBESUFGQkdHb29BZ0JGRFFVZ0FVRW9haUFCUVJCcUlnY2dEQkFtR2lBQktBSVlJZ0lnREVILy93TnhJZ3BORFFRZ0J5Z0NBQ0FLUVFKMGFpSUNMUUFDSVJFZ0FpOEJBQXNoRXlBR1FSaHFJQUZCS0dvUVFpQUdLQUlZSVFJQ1FDQUdLQUljSWdjZ0JVMEVRQ0FIRFFGQkFTRVNRUUVoRFNBRklRZEJBUXdIQ3lBRlJRUkFRUUVoRFVFQUlRZEJBUXdIQ3lBRUlBSWdCUkJMR2lBQlFUQnFJZ0lnQWlnQ0FDQUZhallDQUVHSWc4QUFJUVJCQUNFTlFRQWhCMEVCREFZTElBUWdBaUFIRUVzZ0FVRXdhaUlDSUFJb0FnQWdCMm8yQWdBZ0Iyb2hCQ0FGSUFkcklRZEJBQ0VOUVFFTUJRc2dBRUVDT2dBSUlBQkNBRGNDQUF3RkN5QUJJQUV0QUVZaUIwRUJhaUlDT2dBS0lBRkJBU0FIUVE5eGRFRUNhanNCUUNBQlFYOGdBa0VQY1hSQmYzTTdBUWdnQVVFUWFpQUhFQTFCQUNFTVFRQWhEU0FGSVFkQkFBd0RDeUFCUVFFNkFFZEJBaUVOREFFTElBb2dBa0hvaHNBQUVEWUFDMEVBSVF3Z0JTRUhRUUFMSVFJZ0JrRTRha0VBTmdJQUlBWkNBRGNETUNBR1FjZ0Fha0VBTmdJQUlBWkNBRGNEUUNBR1Fmd0Fha0VBTmdJQUlBWkI5QUJxUVFBMkFnQWdCa0hzQUdwQkFEWUNBQ0FHUWVRQWFrRUFOZ0lBSUFaQjNBQnFRUUEyQWdBZ0JrSFlpY0FBTmdKNElBWkIySW5BQURZQ2NDQUdRZGlKd0FBMkFtZ2dCa0hZaWNBQU5nSmdJQVpCMkluQUFEWUNXQ0FHUVFBMkFsUWdCa0hZaWNBQU5nSlFBa0FDZndKQUlBSkZEUUFnQVVFUWFpRVVJQUZCS0dvaEZTQUdRY2dBYWlFWElBWkJQbW9oRmdKQUFrQUNRQUpBQWtBQ1FBSkFBa0FEUUFKQUFrQWdCdzBBSUFaQkVHb2dGUkJDSUFZb0FoUkZEUUJCQUNFSERBRUxJQUVnQmtFb2FoQVlRUUFoQ3lBWElSQkJBQ0VPQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQTBBZ0FTMEFDeUlDSUFFdEFBb2lDRWtOQVNBQklBSWdDR3M2QUFzZ0JrRXdhaUFMYWlJS0lBRXZBUWdpQWlBQktRTUFJQWl0aVNJWXAzRTdBUUFnQVNBWUlBS3RRbitGUW9DQWZJU0ROd01BSUE0RVFDQU9RWDlxUVFWTERRVWdCeUFMSUJacUx3RUFJZ0pKRFFZZ0VDQUVOZ0lBSUJCQkJHb2dBallDQUNBSElBSnJJUWNnQWlBRWFpRUVDeUFCTHdGQUlnSWdEbXBCLy84RGNTQUJMd0VJSUFFdEFFaHJRZi8vQTNGR0RRSWdDaThCQUNJS0lBRXZBVUpHSUFvZ0FrOXlEUUlnQ2lBQkx3RkVSZzBDSUFFb0FpUWlBaUFLVFEwR0lBY2dBU2dDSENBS1FRRjBhaThCQUNJQ1NRMENJQTVCQVdvaERpQUxJQlpxUVFKcUlBSTdBUUFnRUVFSWFpRVFJQXRCQW1vaUMwRU1SdzBBQzBFR0lRNUJCU0VRSUFZdkFUb2hDQXdIQ3lBT0RRRkJBU0FOSUJJYklRME1DQXNnRGtFQmFpRU9DeUFPUVFkUERRTWdCa0V3YWlBT1FYOXFJaEJCQVhScUx3RUFJUWdnRUEwRUlBd2hDZ3dGQ3lBT1FYOXFRUVpCbUlUQUFCQTJBQXRCNklIQUFFRWpRZmlDd0FBUVNBQUxJQW9nQWtHb2hNQUFFRFlBQ3lBT1FRWkJ1SVRBQUJBM0FBc2dCa0hRQUdvaEFpQUdRVEJxSVFzRFFDQUdRUWhxSUJRZ0ZDQUxMd0VBSWdvZ0FpZ0NBQ0FDUVFScUtBSUFFQ2tnREJBaklBWXRBQW9oRVNBR0x3RUlJUk1nQVNBQkx3RkFRUUZxT3dGQUlBdEJBbW9oQ3lBQ1FRaHFJUUlnQ2lFTUlCQkJmMm9pRUEwQUN5QU9RUU4wSUFacVFVQnJJZ0lvQWdRaENTQUNRUUEyQWdRZ0FpZ0NBQ0VQSUFKQmlJUEFBRFlDQUFzZ0NDSU1JQUV2QVVKR0RRTUNRQ0FCTHdGRUlBaEhCRUFnQ0NBQkx3RkFJZ0pORFFGQkF5RU5RUUFNRFFzZ0FVRUJPZ0JIUVFJaERVRUFEQXdMQW44Z0J3Si9Ba0FDUUNBQ0lBaEhCRUFnQVNnQ0pDSUNJQWhMRFFFZ0NDQUNRZGlFd0FBUU5nQUxJQUVvQWlRaUFpQUtRZi8vQTNFaUNFME5DQ0FISUFFb0Fod2dDRUVCZEdvdkFRQkJBV3BCLy84RGNTSUNUdzBCSUE4RVFDQUJLQUlzSWdJZ0NVa05DaUFCS0FJb0lBOGdDUkJMR2lBQklBazJBakFnQVNBSk5nSTBDMEVBSVE4Z0ZSQXpJUXRCQVF3REN5QUhJQUVvQWh3Z0NFRUJkR292QVFBaUFra0VRRUVBSVE4Z0ZTQVVJQXdRSmlFTFFRRU1Bd3NnRkNBTUlBUWdBaEFwSVFzZ0Fnd0JDeUFQUlFSQUlBRW9BaXdpQ0NBQktBSTBJZ2xKRFFrZ0ZTZ0NBQ0VQQ3lBSlJRMEVJQWtnQWtzTkNTQVBMUUFBSVFzZ0JDQVBJQWtRU3lBQ0lBbEdEUW9nQ1dvZ0N6b0FBQ0FDQ3lJSmF5RUhJQWtnQkNJUGFpRUVRUUFMSUFFb0FoaEIveDlOQkVBZ0JpQVVJQXNnQ2hBaklBRXZBVUFoRUNBR0xRQUNJUkVnQmk4QkFDRVRBa0FnQVMwQUNpSUlRUXRMRFFBZ0VDQUJMd0VJSWdvZ0FTMEFTR3RCLy84RGNVY05BQ0FCSUFoQkFXbzZBQW9nQVNBS1FRRjBRUUZ5T3dFSUN5QUJJQkJCQVdvN0FVQUxRUUFoRWtVTkFRc0xRZ0VoR1NBUFJRMEtJQUVvQWl3aUFpQUpTUTBISUFFb0FpZ2dEeUFKRUVzYUlBRWdDVFlDTUNBQklBazJBalFNQ2d0QkFFRUFRWWlGd0FBUU5nQUxJQUVRTkF3R0N5QUlJQUpCeUlUQUFCQTJBQXNnQ1NBQ1FlaUV3QUFRTndBTElBa2dDRUg0aE1BQUVEY0FDeUFKSUFKQm1JWEFBQkEzQUF0QkFFRUFRYWlGd0FBUU5nQUxJQWtnQWtHNGhjQUFFRGNBQzBFQUN5RU1RUUFoRTBFQUlSRUxJQUFnQlNBSGF6WUNCQ0FBSUFNZ0JpZ0NMQ0lDYXpZQ0FDQUFRUUFnRFNBRElBSkxHeUFOSUExQkFVWWJPZ0FJSUFFZ0RLMUMvLzhEZzBJUWhpQVpoQ0FUclVMLy93T0RRaUNHaENBUnJVTC9BWU5DTUlhRU53TTRDeUFHUVlBQmFpUUFDOVlRQWhGL0FuNGpBRUdBQVdzaUJpUUFJQVlnQXpZQ0xDQUdJQUkyQWlnQ1FBSi9Ba0FDUUFKQUFrQWdBUzBBUjBVRVFDQUJLUU00SVJjZ0FVSUFOd000QW44Z0YwTC8vd09EVUVVRVFDQVhRakNJcHlFUklCZENFSWluSVF3Z0YwSWdpS2NNQVFzZ0JrRWdhaUFCSUFaQktHb1FMaUFHTHdFZ1JRUkFRUUVoRFF3R0MwRURJUTBnQmk4QklpSU1JZ0lnQVM4QlFFOE5CU0FDSUFFdkFVSkdEUUlnQVM4QlJDQU1RZi8vQTNGR0RRTWdBVUVZYWlnQ0FFVU5CU0FCUVNocUlBRkJFR29pQnlBTUVDWWFJQUVvQWhnaUFpQU1RZi8vQTNFaUNVME5CQ0FIS0FJQUlBbEJBblJxSWdJdEFBSWhFU0FDTHdFQUN5RVNJQVpCR0dvZ0FVRW9haEJDSUFZb0FoZ2hBZ0pBSUFZb0Fod2lCeUFGVFFSQUlBY05BVUVCSVFoQkFTRU5JQVVoQjBFQkRBY0xJQVZGQkVCQkFTRU5RUUFoQjBFQkRBY0xJQVFnQWlBRkVFc2FJQUZCTUdvaUFpQUNLQUlBSUFWcU5nSUFRWWlEd0FBaEJFRUFJUTFCQUNFSFFRRU1CZ3NnQkNBQ0lBY1FTeUFCUVRCcUlnSWdBaWdDQUNBSGFqWUNBQ0FIYWlFRUlBVWdCMnNoQjBFQUlRMUJBUXdGQ3lBQVFRSTZBQWdnQUVJQU53SUFEQVVMSUFFZ0FTMEFSaUlIUVFGcUlnSTZBQW9nQVVFQklBZEJEM0YwUVFKcU93RkFJQUZCZnlBQ1FROXhkRUYvY3pzQkNDQUJRUkJxSUFjUURVRUFJUXhCQUNFTklBVWhCMEVBREFNTElBRkJBVG9BUjBFQ0lRME1BUXNnQ1NBQ1FlaUd3QUFRTmdBTFFRQWhEQ0FGSVFkQkFBc2hBaUFHUVRocVFRQTJBZ0FnQmtJQU53TXdJQVpCeUFCcVFRQTJBZ0FnQmtJQU53TkFJQVpCL0FCcVFRQTJBZ0FnQmtIMEFHcEJBRFlDQUNBR1Fld0Fha0VBTmdJQUlBWkI1QUJxUVFBMkFnQWdCa0hjQUdwQkFEWUNBQ0FHUWRpSndBQTJBbmdnQmtIWWljQUFOZ0p3SUFaQjJJbkFBRFlDYUNBR1FkaUp3QUEyQW1BZ0JrSFlpY0FBTmdKWUlBWkJBRFlDVkNBR1FkaUp3QUEyQWxBQ1FBSi9Ba0FnQWtVTkFDQUJRUkJxSVJNZ0FVRW9haUVVSUFaQnlBQnFJUllnQmtFK2FpRVZBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBTkFBa0FDUUNBSERRQWdCa0VRYWlBVUVFSWdCaWdDRkVVTkFFRUFJUWNNQVFzZ0FTQUdRU2hxRUNCQkFDRUxJQlloRUVFQUlRNENRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQURRQ0FCTFFBTElnSWdBUzBBQ2lJSlNRMEJJQUVnQWlBSmF6b0FDeUFCSUFFcEF3QWlGeUFKclVJL2c0ZzNBd0FnQmtFd2FpQUxhaUlKSUFFdkFRZ2dGNmR4T3dFQUlBNEVRQ0FPUVg5cVFRVkxEUVVnQnlBTElCVnFMd0VBSWdKSkRRWWdFQ0FFTmdJQUlCQkJCR29nQWpZQ0FDQUhJQUpySVFjZ0FpQUVhaUVFQ3lBQkx3RkFJZ0lnRG1wQi8vOERjU0FCTHdFSUlBRXRBRWhyUWYvL0EzRkdEUUlnQ1M4QkFDSUpJQUV2QVVKR0lBa2dBazl5RFFJZ0NTQUJMd0ZFUmcwQ0lBRW9BaVFpQWlBSlRRMEdJQWNnQVNnQ0hDQUpRUUYwYWk4QkFDSUNTUTBDSUE1QkFXb2hEaUFMSUJWcVFRSnFJQUk3QVFBZ0VFRUlhaUVRSUF0QkFtb2lDMEVNUncwQUMwRUdJUTVCQlNFUUlBWXZBVG9oQ0F3SEN5QU9EUUZCQVNBTklBZ2JJUTBNQ0FzZ0RrRUJhaUVPQ3lBT1FRZFBEUU1nQmtFd2FpQU9RWDlxSWhCQkFYUnFMd0VBSVFnZ0VBMEVJQXdoQ1F3RkN5QU9RWDlxUVFaQm1JVEFBQkEyQUF0QjZJSEFBRUVqUWZpQ3dBQVFTQUFMSUFrZ0FrR29oTUFBRURZQUN5QU9RUVpCdUlUQUFCQTNBQXNnQmtIUUFHb2hBaUFHUVRCcUlRc0RRQ0FHUVFocUlCTWdFeUFMTHdFQUlna2dBaWdDQUNBQ1FRUnFLQUlBRUNrZ0RCQWpJQVl0QUFvaEVTQUdMd0VJSVJJZ0FTQUJMd0ZBUVFGcU93RkFJQXRCQW1vaEN5QUNRUWhxSVFJZ0NTRU1JQkJCZjJvaUVBMEFDeUFPUVFOMElBWnFRVUJySWdJb0FnUWhDaUFDUVFBMkFnUWdBaWdDQUNFUElBSkJpSVBBQURZQ0FBc2dDQ0lNSUFFdkFVSkdEUU1DUUNBQkx3RkVJQWhIQkVBZ0NDQUJMd0ZBSWdKTkRRRkJBeUVOUVFBTURRc2dBVUVCT2dCSFFRSWhEVUVBREF3TEFuOGdCd0ovQWtBQ1FDQUNJQWhIQkVBZ0FTZ0NKQ0lDSUFoTERRRWdDQ0FDUWRpRXdBQVFOZ0FMSUFFb0FpUWlBaUFKUWYvL0EzRWlDRTBOQ0NBSElBRW9BaHdnQ0VFQmRHb3ZBUUJCQVdwQi8vOERjU0lDVHcwQklBOEVRQ0FCS0FJc0lnSWdDa2tOQ2lBQktBSW9JQThnQ2hCTEdpQUJJQW8yQWpBZ0FTQUtOZ0kwQzBFQUlROGdGQkF6SVF0QkFRd0RDeUFISUFFb0Fod2dDRUVCZEdvdkFRQWlBa2tFUUVFQUlROGdGQ0FUSUF3UUppRUxRUUVNQXdzZ0V5QU1JQVFnQWhBcElRc2dBZ3dCQ3lBUFJRUkFJQUVvQWl3aUNDQUJLQUkwSWdwSkRRa2dGQ2dDQUNFUEN5QUtSUTBFSUFvZ0Frc05DU0FQTFFBQUlRc2dCQ0FQSUFvUVN5QUNJQXBHRFFvZ0Ntb2dDem9BQUNBQ0N5SUtheUVISUFvZ0JDSVBhaUVFUVFBTElBRW9BaGhCL3g5TkJFQWdCaUFUSUFzZ0NSQWpJQUV2QVVBaEVDQUdMUUFDSVJFZ0JpOEJBQ0VTQWtBZ0FTMEFDaUlJUVF0TERRQWdFQ0FCTHdFSUlna2dBUzBBU0d0Qi8vOERjVWNOQUNBQklBaEJBV282QUFvZ0FTQUpRUUYwUVFGeU93RUlDeUFCSUJCQkFXbzdBVUFMUVFBaENFVU5BUXNMUWdFaEdDQVBSUTBLSUFFb0Fpd2lBaUFLU1EwSElBRW9BaWdnRHlBS0VFc2FJQUVnQ2pZQ01DQUJJQW8yQWpRTUNndEJBRUVBUVlpRndBQVFOZ0FMSUFFUU5Bd0dDeUFJSUFKQnlJVEFBQkEyQUFzZ0NpQUNRZWlFd0FBUU53QUxJQW9nQ0VINGhNQUFFRGNBQ3lBS0lBSkJtSVhBQUJBM0FBdEJBRUVBUWFpRndBQVFOZ0FMSUFvZ0FrRzRoY0FBRURjQUMwRUFDeUVNUVFBaEVrRUFJUkVMSUFBZ0JTQUhhellDQkNBQUlBTWdCaWdDTENJQ2F6WUNBQ0FBUVFBZ0RTQURJQUpMR3lBTklBMUJBVVliT2dBSUlBRWdESzFDLy84RGcwSVFoaUFZaENBU3JVTC8vd09EUWlDR2hDQVJyVUwvQVlOQ01JYUVOd000Q3lBR1FZQUJhaVFBQzZvSUFRWi9Jd0JCOEFCcklnVWtBQ0FGSUFNMkFnd2dCU0FDTmdJSVFRRWhCeUFCSVFZQ1FDQUJRWUVDU1EwQVFRQWdBV3NoQ1VHQUFpRUlBMEFDUUNBSUlBRlBEUUJCQUNFSElBQWdDR29zQUFCQnYzOU1EUUFnQ0NFR0RBSUxJQWhCZjJvaEJrRUFJUWNnQ0VFQlJnMEJJQWdnQ1dvZ0JpRUlRUUZIRFFBTEN5QUZJQVkyQWhRZ0JTQUFOZ0lRSUFWQkFFRUZJQWNiTmdJY0lBVkI4SXZBQUVIQWtzQUFJQWNiTmdJWUFrQUNmd0pBQWtBZ0FpQUJTeUlISUFNZ0FVdHlSUVJBSUFJZ0Ewc05BUUpBSUFKRklBRWdBa1p5UlFSQUlBRWdBazBOQVNBQUlBSnFMQUFBUVVCSURRRUxJQU1oQWdzZ0JTQUNOZ0lnSUFKQkFDQUJJQUpIRzBVRVFDQUNJUWNNQXdzZ0FVRUJhaUVEQTBBQ1FDQUNJQUZQRFFBZ0FDQUNhaXdBQUVGQVNBMEFJQUloQnlBRlFTUnFEQVVMSUFKQmYyb2hCeUFDUVFGR0RRTWdBaUFEUmlBSElRSkZEUUFMREFJTElBVWdBaUFESUFjYk5nSW9JQVZCeEFCcVFRTTJBZ0FnQlVIY0FHcEJIVFlDQUNBRlFkUUFha0VkTmdJQUlBVkNBemNDTkNBRlFlaVN3QUEyQWpBZ0JVRWNOZ0pNSUFVZ0JVSElBR28yQWtBZ0JTQUZRUmhxTmdKWUlBVWdCVUVRYWpZQ1VDQUZJQVZCS0dvMkFrZ01Bd3NnQlVIa0FHcEJIVFlDQUNBRlFkd0Fha0VkTmdJQUlBVkIxQUJxUVJ3MkFnQWdCVUhFQUdwQkJEWUNBQ0FGUWdRM0FqUWdCVUdrazhBQU5nSXdJQVZCSERZQ1RDQUZJQVZCeUFCcU5nSkFJQVVnQlVFWWFqWUNZQ0FGSUFWQkVHbzJBbGdnQlNBRlFReHFOZ0pRSUFVZ0JVRUlhallDU0F3Q0N5QUZRU1JxQ3lFSUFrQWdBU0FIUmcwQVFRRWhBd0pBQWtBQ1FDQUFJQWRxSWdZc0FBQWlBa0YvVEFSQVFRQWhBeUFBSUFGcUlnRWhBQ0FCSUFaQkFXcEhCRUFnQmkwQUFVRS9jU0VESUFaQkFtb2hBQXNnQWtFZmNTRUpJQUpCL3dGeFFkOEJTdzBCSUFNZ0NVRUdkSEloQWd3Q0N5QUZJQUpCL3dGeE5nSWtJQVZCS0dvaEFRd0NDMEVBSVFvZ0FTRUdJQUFnQVVjRVFDQUFMUUFBUVQ5eElRb2dBRUVCYWlFR0N5QUtJQU5CQm5SeUlRQWdBa0gvQVhGQjhBRkpCRUFnQUNBSlFReDBjaUVDREFFTFFRQWhBaUFCSUFaSEJIOGdCaTBBQUVFL2NRVkJBQXNnQ1VFU2RFR0FnUEFBY1NBQVFRWjBjbklpQWtHQWdNUUFSZzBDQ3lBRklBSTJBaVJCQVNFRElBVkJLR29oQVNBQ1FZQUJTUTBBUVFJaEF5QUNRWUFRU1EwQVFRTkJCQ0FDUVlDQUJFa2JJUU1MSUFVZ0J6WUNLQ0FGSUFNZ0IybzJBaXdnQlVIRUFHcEJCVFlDQUNBRlFld0Fha0VkTmdJQUlBVkI1QUJxUVIwMkFnQWdCVUhjQUdwQkhqWUNBQ0FGUWRRQWFrRWZOZ0lBSUFWQ0JUY0NOQ0FGUWZpVHdBQTJBakFnQlNBQk5nSllJQVVnQ0RZQ1VDQUZRUncyQWt3Z0JTQUZRY2dBYWpZQ1FDQUZJQVZCR0dvMkFtZ2dCU0FGUVJCcU5nSmdJQVVnQlVFZ2FqWUNTQXdCQzBIOGk4QUFRU3NnQkJCSUFBc2dCVUV3YWlBRUVGRUFDOUlJQVFWL0lBQkJlR29pQVNBQVFYeHFLQUlBSWdOQmVIRWlBR29oQWdKQUFrQWdBMEVCY1EwQUlBTkJBM0ZGRFFFZ0FTZ0NBQ0lESUFCcUlRQWdBU0FEYXlJQlFhU3F3QUFvQWdCR0JFQWdBaWdDQkVFRGNVRURSdzBCUVp5cXdBQWdBRFlDQUNBQ0lBSW9BZ1JCZm5FMkFnUWdBU0FBUVFGeU5nSUVJQUFnQVdvZ0FEWUNBQThMSUFFZ0F4QVJDd0pBSUFKQkJHb2lCQ2dDQUNJRFFRSnhCRUFnQkNBRFFYNXhOZ0lBSUFFZ0FFRUJjallDQkNBQUlBRnFJQUEyQWdBTUFRc0NRQ0FDUWFpcXdBQW9BZ0JIQkVCQnBLckFBQ2dDQUNBQ1JnMEJJQUlnQTBGNGNTSUNFQkVnQVNBQUlBSnFJZ0JCQVhJMkFnUWdBQ0FCYWlBQU5nSUFJQUZCcEtyQUFDZ0NBRWNOQWtHY3FzQUFJQUEyQWdBUEMwR29xc0FBSUFFMkFnQkJvS3JBQUVHZ3FzQUFLQUlBSUFCcUlnQTJBZ0FnQVNBQVFRRnlOZ0lFUWFTcXdBQW9BZ0FnQVVZRVFFR2Nxc0FBUVFBMkFnQkJwS3JBQUVFQU5nSUFDMEhFcXNBQUtBSUFJZ0lnQUU4TkFrR29xc0FBS0FJQUlnQkZEUUlDUUVHZ3FzQUFLQUlBSWdOQktVa05BRUcwcXNBQUlRRURRQ0FCS0FJQUlnUWdBRTBFUUNBRUlBRW9BZ1JxSUFCTERRSUxJQUVvQWdnaUFRMEFDd3RCektyQUFBSi9RZjhmUWJ5cXdBQW9BZ0FpQUVVTkFCcEJBQ0VCQTBBZ0FVRUJhaUVCSUFBb0FnZ2lBQTBBQ3lBQlFmOGZJQUZCL3g5TEd3czJBZ0FnQXlBQ1RRMENRY1Nxd0FCQmZ6WUNBQThMUWFTcXdBQWdBVFlDQUVHY3FzQUFRWnlxd0FBb0FnQWdBR29pQURZQ0FDQUJJQUJCQVhJMkFnUWdBQ0FCYWlBQU5nSUFEd3RCektyQUFBSi9Ba0FnQUVHQUFrOEVRQ0FCUWdBM0FoQWdBVUVjYWdKL1FRQWdBRUVJZGlJQ1JRMEFHa0VmSUFCQi8vLy9CMHNOQUJvZ0FFRUdJQUpuSWdKclFSOXhka0VCY1NBQ1FRRjBhMEUrYWdzaUF6WUNBQ0FEUVFKMFFaeXB3QUJxSVFJQ1FBSkFBa0FDUUFKQVFaQ253QUFvQWdBaUJFRUJJQU5CSDNGMElnVnhCRUFnQWlnQ0FDSUNRUVJxS0FJQVFYaHhJQUJIRFFFZ0FpRUREQUlMUVpDbndBQWdCQ0FGY2pZQ0FDQUNJQUUyQWdBTUF3c2dBRUVBUVJrZ0EwRUJkbXRCSDNFZ0EwRWZSaHQwSVFRRFFDQUNJQVJCSFhaQkJIRnFRUkJxSWdVb0FnQWlBMFVOQWlBRVFRRjBJUVFnQXlJQ1FRUnFLQUlBUVhoeElBQkhEUUFMQ3lBREtBSUlJZ0FnQVRZQ0RDQURJQUUyQWdnZ0FVRVlha0VBTmdJQUlBRWdBellDRENBQklBQTJBZ2dNQWdzZ0JTQUJOZ0lBQ3lBQlFSaHFJQUkyQWdBZ0FTQUJOZ0lNSUFFZ0FUWUNDQXRCektyQUFFSE1xc0FBS0FJQVFYOXFJZ0EyQWdBZ0FBMERRYnlxd0FBb0FnQWlBQTBCUWY4ZkRBSUxJQUJCQTNZaUFrRURkRUdVcDhBQWFpRUFBbjlCaktmQUFDZ0NBQ0lEUVFFZ0FuUWlBbkVFUUNBQUtBSUlEQUVMUVl5bndBQWdBaUFEY2pZQ0FDQUFDeUVDSUFBZ0FUWUNDQ0FDSUFFMkFnd2dBU0FBTmdJTUlBRWdBallDQ0E4TFFRQWhBUU5BSUFGQkFXb2hBU0FBS0FJSUlnQU5BQXNnQVVIL0h5QUJRZjhmU3hzTE5nSUFDd3VXQndFS2Z5QUFLQUlRSVFNQ1FBSkFBa0FnQUNnQ0NDSU1RUUZIQkVBZ0EwRUJSZzBCREFNTElBTkJBVWNOQVFzZ0FTQUNhaUVEQWtBQ1FDQUFRUlJxS0FJQUlnaEZCRUFnQVNFRURBRUxJQUVoQkFOQUlBTWdCQ0lIUmcwQ0lBZEJBV29oQkFKQUlBY3NBQUFpQmtGL1NnMEFJQVpCL3dGeElRa0NmeUFESUFSR0JFQkJBQ0VLSUFNTUFRc2dCeTBBQVVFL2NTRUtJQWRCQW1vaUJBc2hCaUFKUWVBQlNRMEFBbjhnQXlBR1JnUkFRUUFoQ3lBRERBRUxJQVl0QUFCQlAzRWhDeUFHUVFGcUlnUUxJUVlnQ1VId0FVa05BQ0FESUFaR0JIOUJBQVVnQmtFQmFpRUVJQVl0QUFCQlAzRUxJQWxCRW5SQmdJRHdBSEVnQ2tFTWRISWdDMEVHZEhKeVFZQ0F4QUJHRFFNTElBUWdCMnNnQldvaEJTQUlRWDlxSWdnTkFBc0xJQU1nQkVZTkFBSkFJQVFzQUFBaUIwRi9TZzBBQW44Z0F5QUVRUUZxUmdSQUlBTWhDRUVBREFFTElBUkJBbW9oQ0NBRUxRQUJRVDl4UVFaMEN5QUhRZjhCY1VIZ0FVa05BQUovSUFNZ0NFWUVRQ0FESVFaQkFBd0JDeUFJUVFGcUlRWWdDQzBBQUVFL2NRc2dCMEgvQVhGQjhBRkpEUUFnQjBIL0FYRWhCM0loQkNBRElBWkdCSDlCQUFVZ0JpMEFBRUUvY1FzZ0IwRVNkRUdBZ1BBQWNTQUVRUVowY25KQmdJREVBRVlOQVFzQ1FDQUZSU0FDSUFWR2NrVUVRRUVBSVFNZ0JTQUNUdzBCSUFFZ0JXb3NBQUJCUUVnTkFRc2dBU0VEQ3lBRklBSWdBeHNoQWlBRElBRWdBeHNoQVFzZ0RFRUJSZzBBREFFTEFrQWdBZ1JBUVFBaEJDQUNJUVVnQVNFREEwQWdCQ0FETFFBQVFjQUJjVUdBQVVacUlRUWdBMEVCYWlFRElBVkJmMm9pQlEwQUN5QUNJQVJySUFBb0Fnd2lCazhOQWtFQUlRUWdBaUVGSUFFaEF3TkFJQVFnQXkwQUFFSEFBWEZCZ0FGR2FpRUVJQU5CQVdvaEF5QUZRWDlxSWdVTkFBc01BUXRCQUNFRUlBQW9BZ3dpQmcwQURBRUxRUUFoQXlBRUlBSnJJQVpxSWdRaEJRSkFBa0FDUUVFQUlBQXRBQ0FpQmlBR1FRTkdHMEVEY1VFQmF3NERBUUFCQWdzZ0JFRUJkaUVESUFSQkFXcEJBWFloQlF3QkMwRUFJUVVnQkNFREN5QURRUUZxSVFNQ1FBTkFJQU5CZjJvaUF3UkFJQUFvQWhnZ0FDZ0NCQ0FBS0FJY0tBSVFFUUFBUlEwQkRBSUxDeUFBS0FJRUlRUWdBQ2dDR0NBQklBSWdBQ2dDSENnQ0RCRUJBQTBBSUFWQkFXb2hBeUFBS0FJY0lRRWdBQ2dDR0NFQUEwQWdBMEYvYWlJRFJRUkFRUUFQQ3lBQUlBUWdBU2dDRUJFQUFFVU5BQXNMUVFFUEN5QUFLQUlZSUFFZ0FpQUFRUnhxS0FJQUtBSU1FUUVBQzdzR0FRUi9JQUFnQVdvaEFnSkFBa0FnQUVFRWFpZ0NBQ0lEUVFGeERRQWdBMEVEY1VVTkFTQUFLQUlBSWdNZ0FXb2hBU0FBSUFOcklnQkJwS3JBQUNnQ0FFWUVRQ0FDS0FJRVFRTnhRUU5IRFFGQm5LckFBQ0FCTmdJQUlBSWdBaWdDQkVGK2NUWUNCQ0FBSUFGQkFYSTJBZ1FnQWlBQk5nSUFEd3NnQUNBREVCRUxBa0FnQWtFRWFpZ0NBQ0lEUVFKeEJFQWdBa0VFYWlBRFFYNXhOZ0lBSUFBZ0FVRUJjallDQkNBQUlBRnFJQUUyQWdBTUFRc0NRQ0FDUWFpcXdBQW9BZ0JIQkVCQnBLckFBQ2dDQUNBQ1JnMEJJQUlnQTBGNGNTSUNFQkVnQUNBQklBSnFJZ0ZCQVhJMkFnUWdBQ0FCYWlBQk5nSUFJQUJCcEtyQUFDZ0NBRWNOQWtHY3FzQUFJQUUyQWdBUEMwR29xc0FBSUFBMkFnQkJvS3JBQUVHZ3FzQUFLQUlBSUFGcUlnRTJBZ0FnQUNBQlFRRnlOZ0lFSUFCQnBLckFBQ2dDQUVjTkFrR2Nxc0FBUVFBMkFnQkJwS3JBQUVFQU5nSUFEd3RCcEtyQUFDQUFOZ0lBUVp5cXdBQkJuS3JBQUNnQ0FDQUJhaUlCTmdJQUlBQWdBVUVCY2pZQ0JDQUFJQUZxSUFFMkFnQVBDeUFCUVlBQ1R3UkFJQUJDQURjQ0VDQUFRUnhxQW45QkFDQUJRUWgySWdKRkRRQWFRUjhnQVVILy8vOEhTdzBBR2lBQlFRWWdBbWNpQW10QkgzRjJRUUZ4SUFKQkFYUnJRVDVxQ3lJRE5nSUFJQU5CQW5SQm5LbkFBR29oQWdKQUFrQUNRQUpBUVpDbndBQW9BZ0FpQkVFQklBTkJIM0YwSWdWeEJFQWdBaWdDQUNJQ1FRUnFLQUlBUVhoeElBRkhEUUVnQWlFRERBSUxRWkNud0FBZ0JDQUZjallDQUNBQ0lBQTJBZ0FNQXdzZ0FVRUFRUmtnQTBFQmRtdEJIM0VnQTBFZlJodDBJUVFEUUNBQ0lBUkJIWFpCQkhGcVFSQnFJZ1VvQWdBaUEwVU5BaUFFUVFGMElRUWdBeUlDUVFScUtBSUFRWGh4SUFGSERRQUxDeUFES0FJSUlnRWdBRFlDRENBRElBQTJBZ2dnQUVFWWFrRUFOZ0lBSUFBZ0F6WUNEQ0FBSUFFMkFnZ1BDeUFGSUFBMkFnQUxJQUJCR0dvZ0FqWUNBQ0FBSUFBMkFnd2dBQ0FBTmdJSUR3c2dBVUVEZGlJQ1FRTjBRWlNud0FCcUlRRUNmMEdNcDhBQUtBSUFJZ05CQVNBQ2RDSUNjUVJBSUFFb0FnZ01BUXRCaktmQUFDQUNJQU55TmdJQUlBRUxJUUlnQVNBQU5nSUlJQUlnQURZQ0RDQUFJQUUyQWd3Z0FDQUNOZ0lJQ3d1cUJnRUhmd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBRUdBZ0FSUEJFQWdBRUdBZ0FoSkRRRWdBRUcxMlhOcVFiWGJLMGtnQUVIaWkzUnFRZUlMU1hJZ0FFR2ZxSFJxUVo4WVNTQUFRZDdpZEdwQkRrbHljaUFBUWY3Ly93QnhRWjd3Q2tZZ0FFR2lzblZxUVNKSmNpQUFRY3VSZFdwQkMwbHljZzBDSUFCQjhJTTRTUThMSUFCQmdQNERjVUVJZGlFR1FlaVV3QUFoQVNBQVFmOEJjU0VIQTBBQ1FDQUJRUUpxSVFVZ0FpQUJMUUFCSWdScUlRTWdCaUFCTFFBQUlnRkhCRUFnQVNBR1N3MEJJQU1oQWlBRklnRkJ1cFhBQUVjTkFnd0JDeUFESUFKSkRRUWdBMEdpQWtzTkJTQUNRYnFWd0FCcUlRRUNRQU5BSUFSRkRRRWdCRUYvYWlFRUlBRXRBQUFnQVVFQmFpRUJJQWRIRFFBTFFRQWhCQXdFQ3lBRElRSWdCU0lCUWJxVndBQkhEUUVMQ3lBQVFmLy9BM0VoQTBIY2w4QUFJUUZCQVNFRUEwQWdBVUVCYWlFQUFuOGdBQ0FCTFFBQUlnSkJHSFJCR0hVaUJVRUFUZzBBR2lBQVFaR2F3QUJHRFFZZ0FTMEFBU0FGUWY4QWNVRUlkSEloQWlBQlFRSnFDeUVCSUFNZ0Ftc2lBMEVBU0EwQ0lBUkJBWE1oQkNBQlFaR2F3QUJIRFFBTERBRUxJQUJCZ1A0RGNVRUlkaUVHUVpHYXdBQWhBU0FBUWY4QmNTRUhBMEFDUUNBQlFRSnFJUVVnQWlBQkxRQUJJZ1JxSVFNZ0JpQUJMUUFBSWdGSEJFQWdBU0FHU3cwQklBTWhBaUFGSWdGQjNackFBRWNOQWd3QkN5QURJQUpKRFFZZ0EwR3ZBVXNOQnlBQ1FkMmF3QUJxSVFFQ1FBTkFJQVJGRFFFZ0JFRi9haUVFSUFFdEFBQWdBVUVCYWlFQklBZEhEUUFMUVFBaEJBd0RDeUFESVFJZ0JTSUJRZDJhd0FCSERRRUxDeUFBUWYvL0EzRWhBMEdNbk1BQUlRRkJBU0VFQTBBZ0FVRUJhaUVBQW44Z0FDQUJMUUFBSWdKQkdIUkJHSFVpQlVFQVRnMEFHaUFBUWErZndBQkdEUWdnQVMwQUFTQUZRZjhBY1VFSWRISWhBaUFCUVFKcUN5RUJJQU1nQW1zaUEwRUFTQTBCSUFSQkFYTWhCQ0FCUWErZndBQkhEUUFMQ3lBRVFRRnhEd3NnQWlBRFFjaVV3QUFRT0FBTElBTkJvZ0pCeUpUQUFCQTNBQXRCL0l2QUFFRXJRZGlVd0FBUVNBQUxJQUlnQTBISWxNQUFFRGdBQ3lBRFFhOEJRY2lVd0FBUU53QUxRZnlMd0FCQkswSFlsTUFBRUVnQUM3RUZBUWQvUVN0QmdJREVBQ0FBS0FJQUlnbEJBWEVpQlJzaENpQUVJQVZxSVFnQ1FDQUpRUVJ4UlFSQVFRQWhBUXdCQ3lBQ0JFQWdBaUVHSUFFaEJRTkFJQWNnQlMwQUFFSEFBWEZCZ0FGR2FpRUhJQVZCQVdvaEJTQUdRWDlxSWdZTkFBc0xJQUlnQ0dvZ0Iyc2hDQXNDUUFKQUlBQW9BZ2hCQVVjRVFDQUFJQW9nQVNBQ0VFWU5BUXdDQ3lBQVFReHFLQUlBSWdZZ0NFMEVRQ0FBSUFvZ0FTQUNFRVlOQVF3Q0N3SkFBa0FDUUFKQUlBbEJDSEVFUUNBQUtBSUVJUWtnQUVFd05nSUVJQUF0QUNBaEN5QUFRUUU2QUNBZ0FDQUtJQUVnQWhCR0RRVkJBQ0VGSUFZZ0NHc2lBU0VDUVFFZ0FDMEFJQ0lHSUFaQkEwWWJRUU54UVFGckRnTUNBUUlEQzBFQUlRVWdCaUFJYXlJR0lRZ0NRQUpBQWtCQkFTQUFMUUFnSWdjZ0IwRURSaHRCQTNGQkFXc09Bd0VBQVFJTElBWkJBWFloQlNBR1FRRnFRUUYySVFnTUFRdEJBQ0VJSUFZaEJRc2dCVUVCYWlFRkEwQWdCVUYvYWlJRlJRMEVJQUFvQWhnZ0FDZ0NCQ0FBS0FJY0tBSVFFUUFBUlEwQUMwRUJEd3NnQVVFQmRpRUZJQUZCQVdwQkFYWWhBZ3dCQzBFQUlRSWdBU0VGQ3lBRlFRRnFJUVVDUUFOQUlBVkJmMm9pQlVVTkFTQUFLQUlZSUFBb0FnUWdBQ2dDSENnQ0VCRUFBRVVOQUF0QkFROExJQUFvQWdRaEFTQUFLQUlZSUFNZ0JDQUFLQUljS0FJTUVRRUFEUUVnQWtFQmFpRUhJQUFvQWh3aEFpQUFLQUlZSVFNRFFDQUhRWDlxSWdjRVFDQURJQUVnQWlnQ0VCRUFBRVVOQVF3REN3c2dBQ0FMT2dBZ0lBQWdDVFlDQkVFQUR3c2dBQ2dDQkNFRklBQWdDaUFCSUFJUVJnMEFJQUFvQWhnZ0F5QUVJQUFvQWh3b0Fnd1JBUUFOQUNBSVFRRnFJUWNnQUNnQ0hDRUJJQUFvQWhnaEFBTkFJQWRCZjJvaUIwVUVRRUVBRHdzZ0FDQUZJQUVvQWhBUkFBQkZEUUFMQzBFQkR3c2dBQ2dDR0NBRElBUWdBRUVjYWlnQ0FDZ0NEQkVCQUF2MEJRRUtmeU1BUVRCcklnTWtBQ0FEUVNScUlBRTJBZ0FnQTBFRE9nQW9JQU5DZ0lDQWdJQUVOd01JSUFNZ0FEWUNJQ0FEUVFBMkFoZ2dBMEVBTmdJUUFuOENRQUpBQWtBZ0FpZ0NDQ0lFQkVBZ0FpZ0NBQ0VHSUFJb0FnUWlDQ0FDUVF4cUtBSUFJZ1VnQlNBSVN4c2lCVVVOQVNBQUlBWW9BZ0FnQmlnQ0JDQUJLQUlNRVFFQURRTWdCa0VNYWlFQUlBSW9BaFFoQnlBQ0tBSVFJUW9nQlNFSkEwQWdBeUFFUVJ4cUxRQUFPZ0FvSUFNZ0JFRUVhaWtDQUVJZ2lUY0RDQ0FFUVJocUtBSUFJUUpCQUNFTFFRQWhBUUpBQWtBQ1FDQUVRUlJxS0FJQVFRRnJEZ0lBQWdFTElBSWdCMDhFUUNBQ0lBZEJ0SkRBQUJBMkFBc2dBa0VEZENBS2FpSU1LQUlFUVNCSERRRWdEQ2dDQUNnQ0FDRUNDMEVCSVFFTElBTWdBallDRkNBRElBRTJBaEFnQkVFUWFpZ0NBQ0VDQWtBQ1FBSkFJQVJCREdvb0FnQkJBV3NPQWdBQ0FRc2dBaUFIVHdSQUlBSWdCMEcwa01BQUVEWUFDeUFDUVFOMElBcHFJZ0VvQWdSQklFY05BU0FCS0FJQUtBSUFJUUlMUVFFaEN3c2dBeUFDTmdJY0lBTWdDellDR0NBRUtBSUFJZ0VnQjBrRVFDQUtJQUZCQTNScUlnRW9BZ0FnQTBFSWFpQUJLQUlFRVFBQURRVWdDVUYvYWlJSlJRMEVJQVJCSUdvaEJDQUFRWHhxSVFFZ0FDZ0NBQ0VDSUFCQkNHb2hBQ0FES0FJZ0lBRW9BZ0FnQWlBREtBSWtLQUlNRVFFQVJRMEJEQVVMQ3lBQklBZEJwSkRBQUJBMkFBc2dBaWdDQUNFR0lBSW9BZ1FpQ0NBQ1FSUnFLQUlBSWdVZ0JTQUlTeHNpQlVVTkFDQUNLQUlRSVFRZ0FDQUdLQUlBSUFZb0FnUWdBU2dDREJFQkFBMENJQVpCREdvaEFDQUZJUUlEUUNBRUtBSUFJQU5CQ0dvZ0JFRUVhaWdDQUJFQUFBMERJQUpCZjJvaUFrVU5BaUFFUVFocUlRUWdBRUY4YWlFQklBQW9BZ0FoQ1NBQVFRaHFJUUFnQXlnQ0lDQUJLQUlBSUFrZ0F5Z0NKQ2dDREJFQkFFVU5BQXNNQWd0QkFDRUZDeUFJSUFWTEJFQWdBeWdDSUNBR0lBVkJBM1JxSWdBb0FnQWdBQ2dDQkNBREtBSWtLQUlNRVFFQURRRUxRUUFNQVF0QkFRc2dBMEV3YWlRQUM0MEZBUWQvQWtBZ0FVSE0vM3RMRFFCQkVDQUJRUXRxUVhoeElBRkJDMGtiSVFJZ0FFRjhhaUlGS0FJQUlnWkJlSEVoQXdKQUFrQUNRQUpBQWtBQ1FDQUdRUU54QkVBZ0FFRjRhaUlISUFOcUlRZ2dBeUFDVHcwQlFhaXF3QUFvQWdBZ0NFWU5Ba0drcXNBQUtBSUFJQWhHRFFNZ0NFRUVhaWdDQUNJR1FRSnhEUVlnQmtGNGNTSUdJQU5xSWdNZ0FrOE5CQXdHQ3lBQ1FZQUNTU0FESUFKQkJISkpjaUFESUFKclFZR0FDRTl5RFFVTUJBc2dBeUFDYXlJQlFSQkpEUU1nQlNBQ0lBWkJBWEZ5UVFKeU5nSUFJQUlnQjJvaUJDQUJRUU55TmdJRUlBZ2dDQ2dDQkVFQmNqWUNCQ0FFSUFFUUJnd0RDMEdncXNBQUtBSUFJQU5xSWdNZ0FrME5BeUFGSUFJZ0JrRUJjWEpCQW5JMkFnQWdBaUFIYWlJQklBTWdBbXNpQkVFQmNqWUNCRUdncXNBQUlBUTJBZ0JCcUtyQUFDQUJOZ0lBREFJTFFaeXF3QUFvQWdBZ0Eyb2lBeUFDU1EwQ0FrQWdBeUFDYXlJQlFROU5CRUFnQlNBR1FRRnhJQU55UVFKeU5nSUFJQU1nQjJvaUFTQUJLQUlFUVFGeU5nSUVRUUFoQVF3QkN5QUZJQUlnQmtFQmNYSkJBbkkyQWdBZ0FpQUhhaUlFSUFGQkFYSTJBZ1FnQXlBSGFpSUNJQUUyQWdBZ0FpQUNLQUlFUVg1eE5nSUVDMEdrcXNBQUlBUTJBZ0JCbktyQUFDQUJOZ0lBREFFTElBZ2dCaEFSSUFNZ0Ftc2lBVUVRVHdSQUlBVWdBaUFGS0FJQVFRRnhja0VDY2pZQ0FDQUNJQWRxSWdRZ0FVRURjallDQkNBRElBZHFJZ0lnQWlnQ0JFRUJjallDQkNBRUlBRVFCZ3dCQ3lBRklBTWdCU2dDQUVFQmNYSkJBbkkyQWdBZ0F5QUhhaUlCSUFFb0FnUkJBWEkyQWdRTElBQWhCQXdCQ3lBQkVBQWlBa1VOQUNBQ0lBQWdBVUY4UVhnZ0JTZ0NBQ0lFUVFOeEd5QUVRWGh4YWlJRUlBUWdBVXNiRUVzZ0FCQUVEd3NnQkF2MEJBRUpmeU1BUVRCcklnUWtBQUpBQW44Z0FnUkFJQVJCS0dvaENRTkFBa0FnQUNnQ0NDMEFBRVVOQUNBQUtBSUFRY2lOd0FCQkJDQUFLQUlFS0FJTUVRRUFSUTBBUVFFTUF3c2dCRUVLTmdJb0lBUkNpb0NBZ0JBM0F5QWdCQ0FDTmdJY1FRQWhCU0FFUVFBMkFoZ2dCQ0FDTmdJVUlBUWdBVFlDRUVFQklRY2dBU0VHSUFJaUF5RUlBbjhDUUFKQUEwQWdCU0FHYWlFR0lBUWdCMnBCSjJvdEFBQWhDZ0pBQWtBQ1FDQURRUWROQkVBZ0EwVU5BU0FJSUFWcklRdEJBQ0VEQTBBZ0F5QUdhaTBBQUNBS1JnMEVJQXNnQTBFQmFpSURSdzBBQ3d3QkN5QUVRUWhxSUFvZ0JpQURFQlFnQkNnQ0NFRUJSZzBCSUFRb0Fod2hDQXNnQkNBSU5nSVlEQVFMSUFRb0Fnd2hBeUFFS0FJa0lRY2dCQ2dDR0NFRkN5QUVJQU1nQldwQkFXb2lCVFlDR0FKQUFrQWdCU0FIU1FSQUlBUW9BaFFoQXd3QkN5QUVLQUlVSWdNZ0JVa05BQ0FIUVFWUERRTWdCU0FIYXlJR0lBUW9BaEJxSWdnZ0NVWU5BU0FJSUFrZ0J4QkVSUTBCQ3lBRUtBSWNJZ2dnQlVrZ0F5QUlTWElOQXlBSUlBVnJJUU1nQkNnQ0VDRUdEQUVMQ3lBQUtBSUlRUUU2QUFBZ0JrRUJhZ3dDQ3lBSFFRUkJzSkxBQUJBM0FBc2dBQ2dDQ0VFQU9nQUFJQUlMSVFNZ0FDZ0NCQ0VHSUFBb0FnQWhCUUpBQWtBZ0EwVWdBaUFEUm5KRkJFQWdBaUFEU3dSQUlBRWdBMm9pQnl3QUFFRy9mMG9OQWdzZ0FTQUNRUUFnQTBITWpjQUFFQU1BQ3lBRklBRWdBeUFHS0FJTUVRRUFSUTBCUVFFTUJBdEJBU0FGSUFFZ0F5QUdLQUlNRVFFQURRTWFJQWNzQUFCQnYzOU1EUVFMSUFFZ0Eyb2hBU0FDSUFOcklnSU5BQXNMUVFBTElBUkJNR29rQUE4TElBRWdBaUFESUFKQjNJM0FBQkFEQUF1NkF3RUVmeU1BUVJCcklnSWtBQ0FBS0FJQUlRUUNRQUpBQWtBQ2Z3SkFBa0FnQVVHQUFVOEVRQ0FDUVFBMkFnd2dBVUdBRUVrTkFTQUNRUXhxSVFBZ0FVR0FnQVJKQkVBZ0FpQUJRVDl4UVlBQmNqb0FEaUFDSUFGQkRIWkI0QUZ5T2dBTUlBSWdBVUVHZGtFL2NVR0FBWEk2QUExQkF5RUJEQVlMSUFJZ0FVRS9jVUdBQVhJNkFBOGdBaUFCUVJKMlFmQUJjam9BRENBQ0lBRkJCblpCUDNGQmdBRnlPZ0FPSUFJZ0FVRU1ka0UvY1VHQUFYSTZBQTFCQkNFQkRBVUxJQVFvQWdnaUFDQUVRUVJxS0FJQVJ3UkFJQVFvQWdBaEJRd0VDd0pBSUFCQkFXb2lBeUFBU1EwQUlBQkJBWFFpQlNBRElBVWdBMHNiSWdOQkNDQURRUWhMR3lFRElBQUVRQ0FEUVFCSURRRWdCQ2dDQUNJRlJRMERJQVVnQUVFQklBTVFWUXdFQ3lBRFFRQk9EUUlMRUYwQUN5QUNJQUZCUDNGQmdBRnlPZ0FOSUFJZ0FVRUdka0hBQVhJNkFBd2dBa0VNYWlFQVFRSWhBUXdEQ3lBRFFRRVFXUXNpQlFSQUlBUWdCVFlDQUNBRVFRUnFJQU0yQWdBZ0JDZ0NDQ0VBREFFTElBTkJBUkJqQUFzZ0FDQUZhaUFCT2dBQUlBUWdCQ2dDQ0VFQmFqWUNDQXdCQ3lBRUlBQWdBQ0FCYWhBZkN5QUNRUkJxSkFCQkFBdTBBd0VFZnlBQVFRQTJBZ2dnQUVFVWFrRUFOZ0lBSUFGQkQzRWhCQ0FBUVF4cUlRSkJBQ0VCQTBBZ0FDZ0NCQ0FCUmdSQUlBQWdBUkE4SUFBb0FnZ2hBUXNnQUNnQ0FDQUJRUUowYWlJQklBTTZBQUlnQVVFQU93RUFJQUFnQUNnQ0NFRUJhallDQ0NBQUtBSVVJZ0VnQUNnQ0VFWUVRQ0FDSUFFUU95QUFLQUlVSVFFTElBQW9BZ3dnQVVFQmRHcEJBVHNCQUNBQUlBQW9BaFJCQVdvMkFoUWdBQ2dDQ0NFQklBTkJBV29pQlNFRElBVkIvLzhEY1NBRWRrVU5BQXNnQUNnQ0JDQUJSZ1JBSUFBZ0FSQThJQUFvQWdnaEFRc2dBQ2dDQUNBQlFRSjBhaUlCUVFBNkFBSWdBVUVBT3dFQUlBQWdBQ2dDQ0VFQmFqWUNDQ0FBS0FJVUlnRWdBQ2dDRUVZRVFDQUNJQUVRT3lBQUtBSVVJUUVMSUFBb0Fnd2dBVUVCZEdwQkFEc0JBQ0FBSUFBb0FoUkJBV28yQWhRZ0FDZ0NDQ0lCSUFBb0FnUkdCRUFnQUNBQkVEd2dBQ2dDQ0NFQkN5QUFLQUlBSUFGQkFuUnFJZ0ZCQURvQUFpQUJRUUE3QVFBZ0FDQUFLQUlJUVFGcU5nSUlJQUFvQWhRaUFTQUFLQUlRUmdSQUlBSWdBUkE3SUFBb0FoUWhBUXNnQUNnQ0RDQUJRUUYwYWtFQU93RUFJQUFnQUNnQ0ZFRUJhallDRkF2K0F3SURmd0YrSUFFb0FoaEJKeUFCUVJ4cUtBSUFLQUlRRVFBQVJRUkFRZlFBSVFOQkFpRUNBa0FDUUFKQUFrQUNRQUpBSUFBb0FnQWlBRUYzYWc0ZkJRRURBd0FEQXdNREF3TURBd01EQXdNREF3TURBd01EQXdRREF3TURCQUlMUWZJQUlRTU1CQXRCN2dBaEF3d0RDeUFBUWR3QVJnMEJDd0ovQW40Q1FDQUFFQTlGQkVBZ0FCQUhSUTBCUVFFTUF3c2dBRUVCY21kQkFuWkJCM090UW9DQWdJRFFBSVFNQVFzZ0FFRUJjbWRCQW5aQkIzT3RRb0NBZ0lEUUFJUUxJUVZCQXdzaEFpQUFJUU1NQVFzZ0FDRURDd05BSUFJaEJFSGNBQ0VBUVFFaEFnSkFBbjRDUUFKQUFrQUNRQ0FFUVFGckRnTUJCUUFDQ3dKQUFrQUNRQUpBSUFWQ0lJaW5RZjhCY1VFQmF3NEZBd0lCQUFZRkMwSDFBQ0VBSUFWQy8vLy8vNDlnZzBLQWdJQ0FNSVFNQmd0Qit3QWhBQ0FGUXYvLy8vK1BZSU5DZ0lDQWdDQ0VEQVVMUVRCQjF3QWdBeUFGcHlJRVFRSjBRUnh4ZGtFUGNTSUFRUXBKR3lBQWFpRUFJQVZDZjN4Qy8vLy8vdytESUFWQ2dJQ0FnSENEaENBRURRUWFJQVZDLy8vLy80OWdnMEtBZ0lDQUVJUU1CQXRCL1FBaEFDQUZRdi8vLy8rUFlJTU1Bd3RCQUNFQ0lBTWhBQXdEQ3lBQktBSVlRU2NnQVNnQ0hDZ0NFQkVBQUE4TElBVkMvLy8vLzQ5Z2cwS0FnSUNBd0FDRUN5RUZRUU1oQWdzZ0FTZ0NHQ0FBSUFFb0Fod29BaEFSQUFCRkRRQUxDMEVCQzZBREFRVi9Ba0FDUUVFQVFROGdBRUdrbWdSSkd5SUJJQUZCQ0dvaUFTQUJRUUowUVppZ3dBQnFLQUlBUVF0MElBQkJDM1FpQWtzYklnRWdBVUVFYWlJQklBRkJBblJCbUtEQUFHb29BZ0JCQzNRZ0Frc2JJZ0VnQVVFQ2FpSUJJQUZCQW5SQm1LREFBR29vQWdCQkMzUWdBa3NiSWdFZ0FVRUJhaUlCSUFGQkFuUkJtS0RBQUdvb0FnQkJDM1FnQWtzYklnTkJBblJCbUtEQUFHb29BZ0JCQzNRaUFTQUNSaUFCSUFKSmFpQURhaUlDUVI1TkJFQkJzUVVoQkNBQ1FSNUhCRUFnQWtFQ2RFR2NvTUFBYWlnQ0FFRVZkaUVFQzBFQUlRRWdBa0YvYWlJRElBSk5CRUFnQTBFZlR3MERJQU5CQW5SQm1LREFBR29vQWdCQi8vLy9BSEVoQVFzQ1FDQUVJQUpCQW5SQm1LREFBR29vQWdCQkZYWWlBMEVCYWtZTkFDQUFJQUZySVFJZ0EwR3hCU0FEUWJFRlN4c2hCU0FFUVg5cUlRRkJBQ0VBQTBBZ0F5QUZSZzBESUFBZ0EwR1VvY0FBYWkwQUFHb2lBQ0FDU3cwQklBRWdBMEVCYWlJRFJ3MEFDeUFCSVFNTElBTkJBWEVQQ3lBQ1FSOUIySi9BQUJBMkFBc2dCVUd4QlVIb244QUFFRFlBQ3lBRFFSOUIrSi9BQUJBMkFBdm9BZ0VGZndKQVFjMy9leUFBUVJBZ0FFRVFTeHNpQUdzZ0FVME5BQ0FBUVJBZ0FVRUxha0Y0Y1NBQlFRdEpHeUlFYWtFTWFoQUFJZ0pGRFFBZ0FrRjRhaUVCQWtBZ0FFRi9haUlESUFKeFJRUkFJQUVoQUF3QkN5QUNRWHhxSWdVb0FnQWlCa0Y0Y1NBQ0lBTnFRUUFnQUd0eFFYaHFJZ0lnQUNBQ2FpQUNJQUZyUVJCTEd5SUFJQUZySWdKcklRTWdCa0VEY1FSQUlBQWdBeUFBS0FJRVFRRnhja0VDY2pZQ0JDQUFJQU5xSWdNZ0F5Z0NCRUVCY2pZQ0JDQUZJQUlnQlNnQ0FFRUJjWEpCQW5JMkFnQWdBQ0FBS0FJRVFRRnlOZ0lFSUFFZ0FoQUdEQUVMSUFFb0FnQWhBU0FBSUFNMkFnUWdBQ0FCSUFKcU5nSUFDd0pBSUFCQkJHb29BZ0FpQVVFRGNVVU5BQ0FCUVhoeElnSWdCRUVRYWswTkFDQUFRUVJxSUFRZ0FVRUJjWEpCQW5JMkFnQWdBQ0FFYWlJQklBSWdCR3NpQkVFRGNqWUNCQ0FBSUFKcUlnSWdBaWdDQkVFQmNqWUNCQ0FCSUFRUUJnc2dBRUVJYWlFREN5QURDNFVEQVFSL0FrQUNRQ0FCUVlBQ1R3UkFJQUJCR0dvb0FnQWhCQUpBQWtBZ0FDQUFLQUlNSWdKR0JFQWdBRUVVUVJBZ0FFRVVhaUlDS0FJQUlnTWJhaWdDQUNJQkRRRkJBQ0VDREFJTElBQW9BZ2dpQVNBQ05nSU1JQUlnQVRZQ0NBd0JDeUFDSUFCQkVHb2dBeHNoQXdOQUlBTWhCU0FCSWdKQkZHb2lBeWdDQUNJQlJRUkFJQUpCRUdvaEF5QUNLQUlRSVFFTElBRU5BQXNnQlVFQU5nSUFDeUFFUlEwQ0lBQWdBRUVjYWlnQ0FFRUNkRUdjcWNBQWFpSUJLQUlBUndSQUlBUkJFRUVVSUFRb0FoQWdBRVliYWlBQ05nSUFJQUpGRFFNTUFnc2dBU0FDTmdJQUlBSU5BVUdRcDhBQVFaQ253QUFvQWdCQmZpQUFLQUljZDNFMkFnQVBDeUFBUVF4cUtBSUFJZ0lnQUVFSWFpZ0NBQ0lBUndSQUlBQWdBallDRENBQ0lBQTJBZ2dQQzBHTXA4QUFRWXlud0FBb0FnQkJmaUFCUVFOMmQzRTJBZ0FNQVFzZ0FpQUVOZ0lZSUFBb0FoQWlBUVJBSUFJZ0FUWUNFQ0FCSUFJMkFoZ0xJQUJCRkdvb0FnQWlBRVVOQUNBQ1FSUnFJQUEyQWdBZ0FDQUNOZ0lZQ3d1akF3SUVmd0orSXdCQlFHb2lBaVFBUVFFaEJBSkFJQUF0QUFRTkFDQUFMUUFGSVFVZ0FDZ0NBQ0lETFFBQVFRUnhSUVJBSUFNb0FoaEI4WTNBQUVIempjQUFJQVViUVFKQkF5QUZHeUFEUVJ4cUtBSUFLQUlNRVFFQURRRWdBQ2dDQUNJREtBSVlRYzZtd0FCQkJ5QURRUnhxS0FJQUtBSU1FUUVBRFFFZ0FDZ0NBQ0lES0FJWVFhZU13QUJCQWlBRFFSeHFLQUlBS0FJTUVRRUFEUUVnQVNBQUtBSUFRWlNnd0FBb0FnQVJBQUFoQkF3QkN5QUZSUVJBSUFNb0FoaEI3STNBQUVFRElBTkJIR29vQWdBb0Fnd1JBUUFOQVNBQUtBSUFJUU1MSUFKQkFUb0FGeUFDUVRScVFiQ053QUEyQWdBZ0FpQURLUUlZTndNSUlBSWdBa0VYYWpZQ0VDQURLUUlJSVFZZ0F5a0NFQ0VISUFJZ0F5MEFJRG9BT0NBQ0lBYzNBeWdnQWlBR053TWdJQUlnQXlrQ0FEY0RHQ0FDSUFKQkNHbzJBakFnQWtFSWFrSE9wc0FBUVFjUUN3MEFJQUpCQ0dwQnA0ekFBRUVDRUFzTkFDQUJJQUpCR0dwQmxLREFBQ2dDQUJFQUFBMEFJQUlvQWpCQjc0M0FBRUVDSUFJb0FqUW9BZ3dSQVFBaEJBc2dBRUVCT2dBRklBQWdCRG9BQkNBQ1FVQnJKQUFMNWdJQ0JuOEJmaU1BUVRCcklnUWtBQ0FFUVJCcUVDb2dCQ0FFS0FJVUlnVTJBaHdnQkNBRUtBSVFJZ1kyQWhnZ0JFRUlhaUFEUVFBUVFDQUVLUU1JSVFvZ0FFRUFOZ0lJSUFBZ0NqY0NBQUpBQWtBZ0F3UkFRUUFoQmtFQUlRVURRQ0FBSUFWQmdDQVFPaUFBSUFNZ0FDZ0NCQ0lISUFjZ0Ewc2JFRThnQmlBQ1N3MENJQUFvQWdBaENDQUFLQUlJSWdjZ0JVa05BeUFFUVNCcUlBUkJHR29pQ1NnQ0FDQUJJQVpxSUFJZ0Jtc2dCU0FJYWlBSElBVnJJQWtvQWdRb0Fnd1JDQUFnQkNnQ0pDQUZhaUVISUFRb0FpQWhDQ0FBS0FJSUlnVWdCMDhFUUNBQUtBSUFHaUFBSUFjMkFnZ2dCeUVGQ3lBRUxRQW9RUUpIQkVBZ0JpQUlhaUVHSUFVZ0Ewa05BUXNMSUFRb0FoZ2hCaUFFS0FJY0lRVUxJQVlnQlNnQ0FCRURBQ0FFS0FJY0lnQW9BZ2dhSUFRb0FoZ2hBU0FBS0FJRUJFQWdBUkFFQ3lBRVFUQnFKQUFQQ3lBR0lBSkJ5SUhBQUJBNUFBc2dCU0FIUWRpQndBQVFPUUFMMkFJQkJYOENRQUpBQWtBQ1FBSkFJQUpCQTJwQmZIRWdBbXNpQkVVTkFDQURJQVFnQkNBRFN4c2lCVVVOQUVFQUlRUWdBVUgvQVhFaEJnSkFBMEFnQWlBRWFpMEFBQ0FHUmcwQklBVWdCRUVCYWlJRVJ3MEFDeUFGSUFOQmVHb2lCRTBOQWd3REMwRUJJUWNNQXdzZ0EwRjRhaUVFUVFBaEJRc2dBVUgvQVhGQmdZS0VDR3doQmdOQUlBSWdCV29pQjBFRWFpZ0NBQ0FHY3lJSVFYOXpJQWhCLy8zN2QycHhJQWNvQWdBZ0JuTWlCMEYvY3lBSFFmLzkrM2RxY1hKQmdJR0NoSGh4UlFSQUlBVkJDR29pQlNBRVRRMEJDd3NnQlNBRFN3MENDMEVBSVFZQ2YwRUFJQU1nQlVZTkFCb2dBaUFGYWlFQ0lBTWdCV3NoQmtFQUlRUWdBVUgvQVhFaEFRSkFBMEFnQWlBRWFpMEFBQ0FCUmcwQklBWWdCRUVCYWlJRVJ3MEFDMEVBREFFTElBUWhCa0VCQ3lFSElBVWdCbW9oQkFzZ0FDQUVOZ0lFSUFBZ0J6WUNBQThMSUFVZ0EwSG9rTUFBRURrQUM3NENBZ1YvQVg0akFFRXdheUlFSkFCQkp5RUNBa0FnQUVLUXpnQlVCRUFnQUNFSERBRUxBMEFnQkVFSmFpQUNhaUlEUVh4cUlBQWdBRUtRemdDQUlnZENrTTRBZm4ybklnVkIvLzhEY1VIa0FHNGlCa0VCZEVHbWpzQUFhaThBQURzQUFDQURRWDVxSUFVZ0JrSGtBR3hyUWYvL0EzRkJBWFJCcG83QUFHb3ZBQUE3QUFBZ0FrRjhhaUVDSUFCQy84SFhMMVlnQnlFQURRQUxDeUFIcHlJRFFlTUFTZ1JBSUFKQmZtb2lBaUFFUVFscWFpQUhweUlESUFOQi8vOERjVUhrQUc0aUEwSGtBR3hyUWYvL0EzRkJBWFJCcG83QUFHb3ZBQUE3QUFBTEFrQWdBMEVLVGdSQUlBSkJmbW9pQWlBRVFRbHFhaUFEUVFGMFFhYU93QUJxTHdBQU93QUFEQUVMSUFKQmYyb2lBaUFFUVFscWFpQURRVEJxT2dBQUN5QUJRZkNMd0FCQkFDQUVRUWxxSUFKcVFTY2dBbXNRQ0NBRVFUQnFKQUFMb3dJQ0JIOEJmaU1BUVVCcUlnUWtBQUpBQWtBQ1FDQUNJQU5xSWdNZ0FrOEVRQ0FCS0FJRUlRVWdCRUVZYWtLQmdJQ0FFRGNEQUNBRUtBSWNJZ0pCZjJvaUJpQUVLQUlZYWtFQUlBSnJJZ2R4clNBRlFRRjBJZ1VnQXlBRklBTkxHeUlEUVFnZ0EwRUlTeHV0ZmlJSVFpQ0lweUFDUlhJTkFTQUNhVUVCUmdSQUlBaW5JQVpxSUFkeElRTU1Bd3NnQkVFd2FoQXdBQXNnQkVFSWFpQURRUUFRV2lBQUlBUXBBd2czQWdSQkFTRUNEQUlMUVFBaEFnc2dCRUV3YWlBQkVFMGdCRUVnYWlBRElBSWdCRUV3YWhBbFFRRWhBaUFFUVNocUtBSUFJUU1nQkNnQ0pDRUZJQVFvQWlCQkFVY0VRQ0FCSUFVZ0F4QmFRUUFoQWd3QkN5QUVRUkJxSUFVZ0F4QmFJQUFnQkNrREVEY0NCQXNnQUNBQ05nSUFJQVJCUUdza0FBdXVBZ0VJZnlNQVFUQnJJZ0VrQUVHQUlDRUNJQUZCR0dvUUx5QUJLQUljSVFRZ0FTZ0NHQ0VGSUFGQkVHb1FNaUFCS0FJVUlRWWdBU2dDRUNFSElBRkJDR3BCZ0NCQkFSQkFJQUZCZ0NBMkFpZ2dBU0FCS0FJTUlnZzJBaVFnQVNBQktBSUlJZ00yQWlBZ0NFR0JJRThFUUNBQlFTQnFRWUFnRUVVZ0FTZ0NJQ0VESUFFb0FpZ2hBZ3NnQUVFQU93QkhJQUJCQURzQk9DQUFJQU0yQWlnZ0FDQUZOZ0lRSUFCQkNEb0FSaUFBUVFBNkFBc2dBRUlBTndNQUlBQkJNR3BDQURjREFDQUFRU3hxSUFJMkFnQWdBRUVrYWtFQU5nSUFJQUJCSUdvZ0JqWUNBQ0FBUVJ4cUlBYzJBZ0FnQUVFWWFrRUFOZ0lBSUFCQkZHb2dCRFlDQUNBQVFRazZBQW9nQUVHQUFqc0JRaUFBUVlFQ093RkVJQUJCZ2dJN0FVQWdBRUgvQXpzQkNDQUJRVEJxSkFBTHh3SUNCWDhCZmlNQVFSQnJJZ01rQUNBQUxRQUxJUUlnQTBJQU53TUlJQUVvQWdBaEJRSkFBa0FnQUFKL0lBRW9BZ1FpQkVIQUFDQUNheUlHUWZnQmNVRURkaUlDU1FSQUlBUkJDVThOQWlBRFFRaHFJQVVnQkJCTEdpQUJRUUEyQWdRZ0FVR0lnOEFBTmdJQUlBUkJBM1FNQVFzZ0JrSC9BWEZCeUFCUERRSWdBMEVJYWlBRklBSVFTeG9nQVNBRUlBSnJOZ0lFSUFFZ0FpQUZhallDQUNBR1FmZ0JjUXNnQUMwQUN5SUJham9BQ3lBQUlBQXBBd0FnQXlrRENDSUhRamlHSUFkQ0tJWkNnSUNBZ0lDQXdQOEFnNFFnQjBJWWhrS0FnSUNBZ09BL2d5QUhRZ2lHUW9DQWdJRHdINE9FaENBSFFnaUlRb0NBZ1BnUGd5QUhRaGlJUW9DQS9BZURoQ0FIUWlpSVFvRCtBNE1nQjBJNGlJU0VoQ0FCUVQ5eHJZaUVOd01BSUFOQkVHb2tBQThMSUFSQkNFSFloY0FBRURjQUN5QUNRUWhCeUlYQUFCQTNBQXVxQWdFRGZ5TUFRWUFCYXlJRUpBQUNRQUpBQW44Q1FDQUJLQUlBSWdOQkVIRkZCRUFnQUNnQ0FDRUNJQU5CSUhFTkFTQUNyU0FCRUJVTUFnc2dBQ2dDQUNFQ1FRQWhBQU5BSUFBZ0JHcEIvd0JxSUFKQkQzRWlBMEV3Y2lBRFFkY0FhaUFEUVFwSkd6b0FBQ0FBUVg5cUlRQWdBa0VFZGlJQ0RRQUxJQUJCZ0FGcUlnSkJnUUZQRFFJZ0FVR2tqc0FBUVFJZ0FDQUVha0dBQVdwQkFDQUFheEFJREFFTFFRQWhBQU5BSUFBZ0JHcEIvd0JxSUFKQkQzRWlBMEV3Y2lBRFFUZHFJQU5CQ2trYk9nQUFJQUJCZjJvaEFDQUNRUVIySWdJTkFBc2dBRUdBQVdvaUFrR0JBVThOQWlBQlFhU093QUJCQWlBQUlBUnFRWUFCYWtFQUlBQnJFQWdMSUFSQmdBRnFKQUFQQ3lBQ1FZQUJRWlNPd0FBUU9RQUxJQUpCZ0FGQmxJN0FBQkE1QUF1eEFnRUVmeU1BUVVCcUlnSWtBQ0FCS0FJRUlnTkZCRUFnQVVFRWFpRURJQUVvQWdBaEJDQUNRUUEyQWlBZ0FrSUJOd01ZSUFJZ0FrRVlhallDSkNBQ1FUaHFJQVJCRUdvcEFnQTNBd0FnQWtFd2FpQUVRUWhxS1FJQU53TUFJQUlnQkNrQ0FEY0RLQ0FDUVNScVFkaUp3QUFnQWtFb2FoQUpHaUFDUVJCcUlnUWdBaWdDSURZQ0FDQUNJQUlwQXhnM0F3Z0NRQ0FCS0FJRUlnVkZEUUFnQVVFSWFpZ0NBRVVOQUNBRkVBUUxJQU1nQWlrRENEY0NBQ0FEUVFocUlBUW9BZ0EyQWdBZ0F5Z0NBQ0VEQ3lBQlFRRTJBZ1FnQVVFTWFpZ0NBQ0VFSUFGQkNHb2lBU2dDQUNFRklBRkNBRGNDQUVFTVFRUVFXU0lCUlFSQVFReEJCQkJqQUFzZ0FTQUVOZ0lJSUFFZ0JUWUNCQ0FCSUFNMkFnQWdBRUdRaThBQU5nSUVJQUFnQVRZQ0FDQUNRVUJySkFBTC9BRUJBbjhqQUVFUWF5SUNKQUFnQUNnQ0FDQUNRUUEyQWd3Q2Z3SkFBa0FnQVVHQUFVOEVRQ0FCUVlBUVNRMEJJQUpCREdvaEFDQUJRWUNBQkU4TkFpQUNJQUZCUDNGQmdBRnlPZ0FPSUFJZ0FVRU1ka0hnQVhJNkFBd2dBaUFCUVFaMlFUOXhRWUFCY2pvQURVRUREQU1MSUFJZ0FUb0FEQ0FDUVF4cUlRQkJBUXdDQ3lBQ0lBRkJQM0ZCZ0FGeU9nQU5JQUlnQVVFR2RrSEFBWEk2QUF3Z0FrRU1haUVBUVFJTUFRc2dBaUFCUVQ5eFFZQUJjam9BRHlBQ0lBRkJFblpCOEFGeU9nQU1JQUlnQVVFR2RrRS9jVUdBQVhJNkFBNGdBaUFCUVF4MlFUOXhRWUFCY2pvQURVRUVDeUVCSUFBZ0FSQUxJQUpCRUdva0FBdjVBUUVDZnlNQVFSQnJJZ0lrQUNBQ1FRQTJBZ3dDZndKQUFrQWdBVUdBQVU4RVFDQUJRWUFRU1EwQklBSkJER29oQXlBQlFZQ0FCRThOQWlBQ0lBRkJQM0ZCZ0FGeU9nQU9JQUlnQVVFTWRrSGdBWEk2QUF3Z0FpQUJRUVoyUVQ5eFFZQUJjam9BRFVFRERBTUxJQUlnQVRvQURDQUNRUXhxSVFOQkFRd0NDeUFDSUFGQlAzRkJnQUZ5T2dBTklBSWdBVUVHZGtIQUFYSTZBQXdnQWtFTWFpRURRUUlNQVFzZ0FpQUJRVDl4UVlBQmNqb0FEeUFDSUFGQkVuWkI4QUZ5T2dBTUlBSWdBVUVHZGtFL2NVR0FBWEk2QUE0Z0FpQUJRUXgyUVQ5eFFZQUJjam9BRFVFRUN5RUJJQUFnQXlBQkVBc2dBa0VRYWlRQUMvd0JBUU4vSXdCQklHc2lCQ1FBQWtBZ0FrRUJhaUlESUFKUEJFQWdBU2dDQkNJQ1FRRjBJZ1VnQXlBRklBTkxHeUlEUVFRZ0EwRUVTeHNpQTBILy8vLy9BM0VnQTBaQkFYUWhCU0FEUVFKMElRTUNRQ0FDQkVBZ0JFRVlha0VDTmdJQUlBUWdBa0VDZERZQ0ZDQUVJQUVvQWdBMkFoQU1BUXNnQkVFQU5nSVFDeUFFSUFNZ0JTQUVRUkJxRUNWQkFTRUNJQVJCQ0dvb0FnQWhBeUFFS0FJRUlRVWdCQ2dDQUVFQlJ3UkFJQUVnQlRZQ0FDQUJJQU5CQW5ZMkFnUkJBQ0VDREFJTElBQWdCVFlDQkNBQVFRaHFJQU0yQWdBTUFRc2dBQ0FETmdJRUlBQkJDR3BCQURZQ0FFRUJJUUlMSUFBZ0FqWUNBQ0FFUVNCcUpBQUw4QUVCQkg4akFFRWdheUlFSkFBQ1FDQUNRUUZxSWdNZ0FrOEVRQ0FCS0FJRUlnVkJBWFFpQWlBRElBSWdBMHNiSWdOQkJDQURRUVJMR3lJRElBTnFJZ1lnQTA5QkFYUWhBd0pBSUFVRVFDQUVRUmhxUVFJMkFnQWdCQ0FDTmdJVUlBUWdBU2dDQURZQ0VBd0JDeUFFUVFBMkFoQUxJQVFnQmlBRElBUkJFR29RSlVFQklRSWdCRUVJYWlnQ0FDRURJQVFvQWdRaEJTQUVLQUlBUVFGSEJFQWdBU0FGTmdJQUlBRWdBMEVCZGpZQ0JFRUFJUUlNQWdzZ0FDQUZOZ0lFSUFCQkNHb2dBellDQUF3QkN5QUFJQU0yQWdRZ0FFRUlha0VBTmdJQVFRRWhBZ3NnQUNBQ05nSUFJQVJCSUdva0FBdlpBUUVEZndKQUlBQkJCR29vQWdBaUJDQUFRUWhxS0FJQUlnTnJJQUlnQVdzaUJVOEVRQ0FBS0FJQUlRUU1BUXNDZndKQUFrQWdBeUFGYWlJQ0lBTkpEUUFnQkVFQmRDSURJQUlnQXlBQ1N4c2lBa0VJSUFKQkNFc2JJUUlnQkFSQUlBSkJBRWdOQVNBQUtBSUFJZ05GRFFJZ0F5QUVRUUVnQWhCVkRBTUxJQUpCQUU0TkFRc1FYUUFMSUFKQkFSQlpDeUlFQkVBZ0FDQUVOZ0lBSUFCQkJHb2dBallDQUNBQVFRaHFLQUlBSVFNTUFRc2dBa0VCRUdNQUN5QURJQVJxSUFFZ0JSQkxHaUFBUVFocUlnQWdBQ2dDQUNBRmFqWUNBQXZvQVFFRmZ5TUFRUkJySWdNa0FDQUFMUUFMSVFJZ0EwSUFOd01JSUFFb0FnQWhCUUpBQWtBZ0FBSi9JQUVvQWdRaUJFSEFBQ0FDYXlJR1FmZ0JjVUVEZGlJQ1NRUkFJQVJCQ1U4TkFpQURRUWhxSUFVZ0JCQkxHaUFCUVFBMkFnUWdBVUdJZzhBQU5nSUFJQVJCQTNRTUFRc2dCa0gvQVhGQnlBQlBEUUlnQTBFSWFpQUZJQUlRU3hvZ0FTQUVJQUpyTmdJRUlBRWdBaUFGYWpZQ0FDQUdRZmdCY1FzZ0FDMEFDeUlCYWpvQUN5QUFJQUFwQXdBZ0F5a0RDQ0FCUVQ5eHJZYUVOd01BSUFOQkVHb2tBQThMSUFSQkNFSDRoY0FBRURjQUN5QUNRUWhCNklYQUFCQTNBQXZjQVFFRWZ5TUFRVUJxSWdJa0FDQUJRUVJxSVFRZ0FTZ0NCRVVFUUNBQktBSUFJUU1nQWtFQU5nSWdJQUpDQVRjREdDQUNJQUpCR0dvMkFpUWdBa0U0YWlBRFFSQnFLUUlBTndNQUlBSkJNR29nQTBFSWFpa0NBRGNEQUNBQ0lBTXBBZ0EzQXlnZ0FrRWtha0hZaWNBQUlBSkJLR29RQ1JvZ0FrRVFhaUlESUFJb0FpQTJBZ0FnQWlBQ0tRTVlOd01JQWtBZ0FTZ0NCQ0lGUlEwQUlBRkJDR29vQWdCRkRRQWdCUkFFQ3lBRUlBSXBBd2czQWdBZ0JFRUlhaUFES0FJQU5nSUFDeUFBUVpDTHdBQTJBZ1FnQUNBRU5nSUFJQUpCUUdza0FBdVlBZ0VDZnlNQVFTQnJJZ1FrQUVFQklRVkJpS2ZBQUVHSXA4QUFLQUlBUVFGcU5nSUFBa0FDUUFKQVFkQ3F3QUFvQWdCQkFVY0VRRUhRcXNBQVFvR0FnSUFRTndNQURBRUxRZFNxd0FCQjFLckFBQ2dDQUVFQmFpSUZOZ0lBSUFWQkFrc05BUXNnQkNBRE5nSWNJQVFnQWpZQ0dDQUVRZkNKd0FBMkFoUWdCRUh3aWNBQU5nSVFRZnltd0FBb0FnQWlBa0YvVEEwQVFmeW13QUFnQWtFQmFpSUNOZ0lBUWZ5bXdBQkJoS2ZBQUNnQ0FDSURCSDlCZ0tmQUFDZ0NBQ0FFUVFocUlBQWdBU2dDRUJFQ0FDQUVJQVFwQXdnM0F4QWdCRUVRYWlBREtBSU1FUUlBUWZ5bXdBQW9BZ0FGSUFJTFFYOXFOZ0lBSUFWQkFVME5BUXNBQ3lNQVFSQnJJZ0lrQUNBQ0lBRTJBZ3dnQWlBQU5nSUlBQXZNQVFFQ2Z5QUJRUlJxS0FJQUlnVWdBMEgvL3dOeElnUkxCRUFnQVNnQ0RDQUVRUUYwYWk4QkFDRUZJQUVvQWdnaUJDQUJLQUlFUmdSQUlBRWdCQkE4SUFFb0FnZ2hCQXNnQVNnQ0FDQUVRUUowYWlJRUlBSTZBQUlnQkNBRE93RUFJQUVnQVNnQ0NFRUJhallDQ0NBQktBSVVJZ1FnQVVFUWFpZ0NBRVlFUUNBQlFReHFJQVFRT3lBQktBSVVJUVFMSUFFb0Fnd2dCRUVCZEdvZ0JVRUJhanNCQUNBQklBRW9BaFJCQVdvMkFoUWdBQ0FDT2dBQ0lBQWdBenNCQUE4TElBUWdCVUg0aHNBQUVEWUFDOFFCQVFKL0l3QkJFR3NpQWlRQUlBSWdBYTFDZ0lDQWdCQkNBQ0FCS0FJWVFjV213QUJCQ1NBQlFSeHFLQUlBS0FJTUVRRUFHNFEzQXdBZ0FpQUFOZ0lNSUFJZ0FrRU1haEFTSUFJdEFBUWhBU0FDTFFBRkJFQWdBVUgvQVhFaEFDQUNBbjlCQVNBQURRQWFJQUlvQWdBaUFFRWNhaWdDQUNnQ0RDRUJJQUFvQWhnaEF5QUFMUUFBUVFSeFJRUkFJQU5COTQzQUFFRUNJQUVSQVFBTUFRc2dBMEgyamNBQVFRRWdBUkVCQUFzaUFUb0FCQXNnQWtFUWFpUUFJQUZCL3dGeFFRQkhDNm9CQVFKL0FrQUNRQUpBSUFJRVFFRUJJUVFnQVVFQVRnMEJEQUlMSUFBZ0FUWUNCRUVCSVFRTUFRc0NRQUpBQWtBQ1FBSkFJQU1vQWdBaUJVVUVRQ0FCUlEwQkRBTUxJQU1vQWdRaUF3MEJJQUVOQWdzZ0FpRUREQU1MSUFVZ0F5QUNJQUVRVlNJRFJRMEJEQUlMSUFFZ0FoQlpJZ01OQVFzZ0FDQUJOZ0lFSUFJaEFRd0NDeUFBSUFNMkFnUkJBQ0VFREFFTFFRQWhBUXNnQUNBRU5nSUFJQUJCQ0dvZ0FUWUNBQXVmQVFFRGZ5QUFRZ0EzQWdnQ1FDQUJRUlJxS0FJQUlnUWdBa0gvL3dOeElnTkxCRUFnQVNnQ0RDQURRUUYwYWk4QkFDRURJQUFvQWdRaEJDQUFRUUEyQWdRZ0FDZ0NBQ0VGSUFCQkFUWUNBQ0FFSUFOSkRRRWdBU0FDSUFVZ0F4QXBJQUFvQWdRRVFDQUFLQUlBRUFRTElBQWdBellDRENBQUlBUTJBZ1FnQUNBRk5nSUFEd3NnQXlBRVFiaUd3QUFRTmdBTElBTWdCRUhJaHNBQUVEY0FDNGNCQVFKL0l3QkJNR3NpQkNRQUlBUkJJR29pQlNBQ05nSUlJQVVnQWpZQ0JDQUZJQUUyQWdBZ0JFRUlhaUFFUVNCcUVFNGdCRUVRYWlBRUtBSUlJZ0VnQkNnQ0RDSUNJQU1RRXlBQ0JFQWdBUkFFQ3lBRVFTaHFJQVJCR0dvb0FnQTJBZ0FnQkNBRUtRTVFOd01nSUFRZ0JFRWdhaEJPSUFBZ0JDa0RBRGNEQUNBRVFUQnFKQUFMZ2dFQkJuOGpBRUVRYXlJREpBQWdBQ0FBS0FJSUlBRVFPaUFBS0FJQUlRVWdBQ2dDQ0NFQ0lBTkJDR3BCQVNBQkVGb2dBaUFGYWlFRUlBTW9BZ3dpQmlBREtBSUlJZ2RMQkVBZ0JDQUdJQWRyRUZJZ0JTQUNJQVpxSUFkcklnSnFJUVFMSUFBZ0FRUi9JQVJCQURvQUFDQUNRUUZxQlNBQ0N6WUNDQ0FEUVJCcUpBQUxqZ0VCQTM4Z0FDZ0NDQ0lFSUFGQi8vOERjU0lGU3dSQUlBTUVRQ0FBS0FJQUlRUWdBa0YvYWlFRklBRWhBQU5BSUFRZ0FFSC8vd054UVFKMGFpSUdMd0VBSVFBZ0F5QUZhaUFHTFFBQ09nQUFJQUFnQVNBQUlBRkIvLzhEY1VrYklRQWdBMEYvYWlJRERRQUxJQUl0QUFBUEMwRUFRUUJCbUlmQUFCQTJBQXNnQlVFQmFpQUVRWWlId0FBUU53QUxhQUVDZnlNQVFkQUFheUlDSkFBakFFRXdheUlCSkFBZ0FVRUlPZ0FQSUFGQk1Hb2tBQ0FDRUJkQjBBQkJDQkJaSWdFRVFDQUJJQUpCMEFBUVN4b2dBVUVCT2dCSUlBQkJwSVBBQURZQ0JDQUFJQUUyQWdBZ0FrSFFBR29rQUE4TFFkQUFRUWdRWXdBTGdBRUNBbjhCZmlBQkxRQUxJZ1FnQVMwQUNpSURTUVJBSUFFZ0FoQVlJQUV0QUFzaEJDQUJMUUFLSVFNTElBUWdBMEgvQVhGSkJIOUJBQVVnQVNBRUlBTnJPZ0FMSUFFZ0FTa0RBQ0FEcllraUJTQUJMd0VJSWdHdFFuK0ZRb0NBZklTRE53TUFJQUVnQmFkeElRTkJBUXNoQVNBQUlBTTdBUUlnQUNBQk93RUFDNklCQVFOL0l3QkJFR3NpQVNRQUlBQW9BZ0FpQWtFVWFpZ0NBQ0VEQWtBQ2Z3SkFBa0FnQWlnQ0JBNENBQUVEQ3lBRERRSkJBQ0VDUWZDSndBQU1BUXNnQXcwQklBSW9BZ0FpQXlnQ0JDRUNJQU1vQWdBTElRTWdBU0FDTmdJRUlBRWdBellDQUNBQlFmeUt3QUFnQUNnQ0JDZ0NDQ0FBS0FJSUVDSUFDeUFCUVFBMkFnUWdBU0FDTmdJQUlBRkI2SXJBQUNBQUtBSUVLQUlJSUFBb0FnZ1FJZ0FMZ1FFQkEzOGdBU2dDQkNJRElBSlBCRUFDUUNBRFJRMEFJQUVvQWdBaEJBSkFBa0FnQWtVRVFFRUJJUU1nQkJBRURBRUxJQVFnQTBFQklBSVFWU0lEUlEwQkN5QUJJQUkyQWdRZ0FTQUROZ0lBREFFTElBQWdBallDQkNBQVFRaHFRUUUyQWdCQkFTRUZDeUFBSUFVMkFnQVBDMEdVaU1BQVFTUkJ1SWpBQUJCSUFBdDFBZ0ovQVg0Z0FTMEFDeUlFSUFFdEFBb2lBMGtFUUNBQklBSVFJQ0FCTFFBTElRUWdBUzBBQ2lFREN5QUVJQU5CL3dGeFNRUi9RUUFGSUFFZ0JDQURhem9BQ3lBQklBRXBBd0FpQlNBRHJVSS9nNGczQXdBZ0FTOEJDQ0FGcDNFaEEwRUJDeUVCSUFBZ0F6c0JBaUFBSUFFN0FRQUxNQUVCZndKQUFrQkJnSUFCUVFJUVdTSUJEUUVNQUF0QmdJQUJRUUlRWXdBTElBQWdBVFlDQUNBQVFZQWdOZ0lFQzRZQkFRRi9Jd0JCUUdvaUFTUUFJQUZCS3pZQ0RDQUJRWUNCd0FBMkFnZ2dBVUdzZ2NBQU5nSVVJQUVnQURZQ0VDQUJRU3hxUVFJMkFnQWdBVUU4YWtFaE5nSUFJQUZDQWpjQ0hDQUJRYXlNd0FBMkFoZ2dBVUVkTmdJMElBRWdBVUV3YWpZQ0tDQUJJQUZCRUdvMkFqZ2dBU0FCUVFocU5nSXdJQUZCR0dwQjhJREFBQkJSQUF0eEFRTi9Jd0JCSUdzaUFpUUFBa0FnQUNBQkVCa05BQ0FCUVJ4cUtBSUFJUU1nQVNnQ0dDQUNRUnhxUVFBMkFnQWdBa0h3aThBQU5nSVlJQUpDQVRjQ0RDQUNRZlNMd0FBMkFnZ2dBeUFDUVFocUVBa05BQ0FBUVFScUlBRVFHU0FDUVNCcUpBQVBDeUFDUVNCcUpBQkJBUXN3QVFGL0FrQUNRRUdBd0FCQkFoQlpJZ0VOQVF3QUMwR0F3QUJCQWhCakFBc2dBQ0FCTmdJQUlBQkJnQ0EyQWdRTGV3RUNmd0pBQWtBZ0FDZ0NCQ0lCQkVBZ0FDZ0NEQ0lDSUFGUERRRWdBQ2dDQUNJQklBSnFJQUV0QUFBNkFBQWdBRUVBTmdJSUlBQWdBQ2dDREVFQmFqWUNEQ0FBS0FJRVJRMENJQUFvQWdBdEFBQVBDMEVBUVFCQmlJYkFBQkEyQUFzZ0FpQUJRWmlHd0FBUU5nQUxRUUJCQUVHb2hzQUFFRFlBQzJnQkFuOGdBQ0FBTFFCR0lnRkJBV29pQWpvQUNpQUFRUUVnQVVFUGNYUkJBbW9pQVRzQlFDQUFRWDhnQWtFUGNYUkJmM003QVFnZ0FFRVlhaWdDQUNBQlFmLy9BM0VpQVU4RVFDQUFJQUUyQWhnTElBQkJKR29vQWdBZ0FVOEVRQ0FBSUFFMkFpUUxDMUFCQVg4Z0FFRVVhaWdDQUNJQlJTQUJRUUowUlhKRkJFQWdBQ2dDRUJBRUN5QUFRU0JxS0FJQUlnRkZJQUZCQVhSRmNrVUVRQ0FBS0FJY0VBUUxJQUJCTEdvb0FnQUVRQ0FBS0FJb0VBUUxDMndCQVg4akFFRXdheUlESkFBZ0F5QUJOZ0lFSUFNZ0FEWUNBQ0FEUVJ4cVFRSTJBZ0FnQTBFc2FrRWNOZ0lBSUFOQ0FqY0NEQ0FEUVlDTndBQTJBZ2dnQTBFY05nSWtJQU1nQTBFZ2FqWUNHQ0FESUFNMkFpZ2dBeUFEUVFScU5nSWdJQU5CQ0dvZ0FoQlJBQXRzQVFGL0l3QkJNR3NpQXlRQUlBTWdBVFlDQkNBRElBQTJBZ0FnQTBFY2FrRUNOZ0lBSUFOQkxHcEJIRFlDQUNBRFFnSTNBZ3dnQTBITWtjQUFOZ0lJSUFOQkhEWUNKQ0FESUFOQklHbzJBaGdnQXlBRFFRUnFOZ0lvSUFNZ0F6WUNJQ0FEUVFocUlBSVFVUUFMYkFFQmZ5TUFRVEJySWdNa0FDQURJQUUyQWdRZ0F5QUFOZ0lBSUFOQkhHcEJBallDQUNBRFFTeHFRUncyQWdBZ0EwSUNOd0lNSUFOQmdKTEFBRFlDQ0NBRFFSdzJBaVFnQXlBRFFTQnFOZ0lZSUFNZ0EwRUVhallDS0NBRElBTTJBaUFnQTBFSWFpQUNFRkVBQzJ3QkFYOGpBRUV3YXlJREpBQWdBeUFCTmdJRUlBTWdBRFlDQUNBRFFSeHFRUUkyQWdBZ0EwRXNha0VjTmdJQUlBTkNBamNDRENBRFFheVJ3QUEyQWdnZ0EwRWNOZ0lrSUFNZ0EwRWdhallDR0NBRElBTkJCR28yQWlnZ0F5QUROZ0lnSUFOQkNHb2dBaEJSQUF0Y0FRRi9Jd0JCRUdzaUF5UUFBa0FnQUNnQ0JDQUJheUFDVHdSQUlBTkJBRFlDQUF3QkN5QURJQUFnQVNBQ0VCWWdBeWdDQUVFQlJ3MEFJQU5CQ0dvb0FnQWlBQVJBSUFNb0FnUWdBQkJqQUFzUVhRQUxJQU5CRUdva0FBdGFBUUYvSXdCQkVHc2lBaVFBQWtBZ0FDZ0NCQ0FCYTBFQlR3UkFJQUpCQURZQ0FBd0JDeUFDSUFBZ0FSQWVJQUlvQWdCQkFVY05BQ0FDUVFocUtBSUFJZ0FFUUNBQ0tBSUVJQUFRWXdBTEVGMEFDeUFDUVJCcUpBQUxXZ0VCZnlNQVFSQnJJZ0lrQUFKQUlBQW9BZ1FnQVd0QkFVOEVRQ0FDUVFBMkFnQU1BUXNnQWlBQUlBRVFIU0FDS0FJQVFRRkhEUUFnQWtFSWFpZ0NBQ0lBQkVBZ0FpZ0NCQ0FBRUdNQUN4QmRBQXNnQWtFUWFpUUFDMWtCQVg4akFFRWdheUlDSkFBZ0FpQUFLQUlBTmdJRUlBSkJHR29nQVVFUWFpa0NBRGNEQUNBQ1FSQnFJQUZCQ0dvcEFnQTNBd0FnQWlBQktRSUFOd01JSUFKQkJHcEIySW5BQUNBQ1FRaHFFQWtnQWtFZ2FpUUFDMFlBQWtCQkNDQUNTUVJBQW45QkNDQUNTUVJBSUFJZ0F4QVFEQUVMSUFNUUFBc2lBZzBCUVFBUEN5QUFJQU1RQ2c4TElBSWdBQ0FESUFFZ0FTQURTeHNRU3lBQUVBUUxXUUVCZnlNQVFTQnJJZ0lrQUNBQ0lBQW9BZ0EyQWdRZ0FrRVlhaUFCUVJCcUtRSUFOd01BSUFKQkVHb2dBVUVJYWlrQ0FEY0RBQ0FDSUFFcEFnQTNBd2dnQWtFRWFrSHdqOEFBSUFKQkNHb1FDU0FDUVNCcUpBQUxXUUFDUUFKQUFrQWdBVUYvU2dSQUFrQWdBZ1JBSUFFTkFRd0VDeUFCUlEwRElBRkJBUkJaSWdJTkJBd0NDeUFCRUVjaUFrVU5BUXdEQ3hCZEFBc2dBVUVCRUdNQUMwRUJJUUlMSUFBZ0FUWUNCQ0FBSUFJMkFnQUxWZ0VCZnlNQVFTQnJJZ0lrQUNBQ0lBQTJBZ1FnQWtFWWFpQUJRUkJxS1FJQU53TUFJQUpCRUdvZ0FVRUlhaWtDQURjREFDQUNJQUVwQWdBM0F3Z2dBa0VFYWtId2o4QUFJQUpCQ0dvUUNTQUNRU0JxSkFBTFdRRURmd0pBSUFFb0Fnd2lBaUFCS0FJSUlnTlBCRUFnQVNnQ0JDSUVJQUpKRFFFZ0FTZ0NBQ0VCSUFBZ0FpQURhellDQkNBQUlBRWdBMm8yQWdBUEN5QURJQUpCMkliQUFCQTRBQXNnQWlBRVFkaUd3QUFRTndBTFZRRUJmeUFBUVJCcUlBQXRBRVlRRFNBQVFRQTZBRWNnQUVFQU93RTRJQUJCTUdwQ0FEY0RBQ0FBUVFBNkFBc2dBRUlBTndNQUlBQWdBQzBBUmtFQmFpSUJPZ0FLSUFCQmZ5QUJRUTl4ZEVGL2N6c0JDQXREQVFOL0FrQWdBa1VOQUFOQUlBQXRBQUFpQkNBQkxRQUFJZ1ZHQkVBZ0FFRUJhaUVBSUFGQkFXb2hBU0FDUVg5cUlnSU5BUXdDQ3dzZ0JDQUZheUVEQ3lBREMwVUJBWDhqQUVFUWF5SUNKQUFnQWlBQUlBRVFMUUpBSUFJb0FnQkJBVVlFUUNBQ1FRaHFLQUlBSWdCRkRRRWdBaWdDQkNBQUVHTUFDeUFDUVJCcUpBQVBDeEJkQUF0S0FBSi9JQUZCZ0lERUFFY0VRRUVCSUFBb0FoZ2dBU0FBUVJ4cUtBSUFLQUlRRVFBQURRRWFDeUFDUlFSQVFRQVBDeUFBS0FJWUlBSWdBeUFBUVJ4cUtBSUFLQUlNRVFFQUN3c21BUUYvQWtBZ0FCQUFJZ0ZGRFFBZ0FVRjhhaTBBQUVFRGNVVU5BQ0FCSUFBUVVnc2dBUXRIQVFGL0l3QkJJR3NpQXlRQUlBTkJGR3BCQURZQ0FDQURRZkNMd0FBMkFoQWdBMElCTndJRUlBTWdBVFlDSENBRElBQTJBaGdnQXlBRFFSaHFOZ0lBSUFNZ0FoQlJBQXRFQVFKL0lBRW9BZ1FoQWlBQktBSUFJUU5CQ0VFRUVGa2lBVVVFUUVFSVFRUVFZd0FMSUFFZ0FqWUNCQ0FCSUFNMkFnQWdBRUdnaThBQU5nSUVJQUFnQVRZQ0FBdGJBUU4vSXdCQkVHc2lBU1FBSUFBb0Fnd2lBa1VFUUVHQWlzQUFRU3RCeUlyQUFCQklBQXNnQUNnQ0NDSURSUVJBUVlDS3dBQkJLMEhZaXNBQUVFZ0FDeUFCSUFJMkFnZ2dBU0FBTmdJRUlBRWdBellDQUNBQkVGQUFDek1CQVg4Z0FnUkFJQUFoQXdOQUlBTWdBUzBBQURvQUFDQUJRUUZxSVFFZ0EwRUJhaUVESUFKQmYyb2lBZzBBQ3dzZ0FBc3NBQUpBSUFCQmZFMEVRQ0FBUlFSQVFRUWhBQXdDQ3lBQUlBQkJmVWxCQW5RUVdTSUFEUUVMQUFzZ0FBc3hBUUYvSUFFb0FnUWlBZ1JBSUFBZ0FqWUNCQ0FBUVFocVFRRTJBZ0FnQUNBQktBSUFOZ0lBRHdzZ0FFRUFOZ0lBQ3pFQkFYOGdBQ0FCS0FJRUlBRW9BZ2dpQWtzRWZ5QUJJQUlRUlNBQktBSUlCU0FDQ3pZQ0JDQUFJQUVvQWdBMkFnQUxLQUVCZnlBQUtBSUlJZ0lnQVU4RVFDQUFLQUlBR2lBQUlBRTJBZ2dQQ3lBQUlBRWdBbXNRS0Fzc0FRRi9Jd0JCRUdzaUFTUUFJQUZCQ0dvZ0FFRUlhaWdDQURZQ0FDQUJJQUFwQWdBM0F3QWdBUkFzQUFzMEFRRi9Jd0JCRUdzaUFpUUFJQUlnQVRZQ0RDQUNJQUEyQWdnZ0FrRzhqTUFBTmdJRUlBSkI4SXZBQURZQ0FDQUNFRW9BQ3lFQUlBRUVRQU5BSUFCQkFEb0FBQ0FBUVFGcUlRQWdBVUYvYWlJQkRRQUxDd3NnQVFGL0FrQWdBQ2dDQUNJQlJRMEFJQUJCQkdvb0FnQkZEUUFnQVJBRUN3c2dBUUYvQWtBZ0FDZ0NCQ0lCUlEwQUlBQkJDR29vQWdCRkRRQWdBUkFFQ3dzTUFDQUFJQUVnQWlBREVENExDd0FnQVFSQUlBQVFCQXNMRWdBZ0FDZ0NBQ0FCSUFFZ0Ftb1FIMEVBQ3hRQUlBQW9BZ0FnQVNBQUtBSUVLQUlNRVFBQUN4a0FBbjlCQ0NBQlNRUkFJQUVnQUJBUURBRUxJQUFRQUFzTEVBQWdBQ0FDTmdJRUlBQWdBVFlDQUFzVEFDQUFRYUNMd0FBMkFnUWdBQ0FCTmdJQUN4QUFJQUVnQUNnQ0FDQUFLQUlFRUFVTEVRQkJ6SXZBQUVFUlFlQ0x3QUFRU0FBTERnQWdBQ2dDQUJvRFFBd0FDd0FMQ3dBZ0FEVUNBQ0FCRUJVTERRQWdBQ2dDQUNBQklBSVFDd3NMQUNBQU1RQUFJQUVRRlFzTEFDQUFJd0JxSkFBakFBc1pBQ0FBSUFGQitLYkFBQ2dDQUNJQVFRNGdBQnNSQWdBQUN3MEFJQUZCeEpEQUFFRUNFQVVMQ1FBZ0FFRUFPZ0JIQ3djQUlBQXRBRWNMRFFCQzlQbWU1dTZqcXZuK0FBc05BRUwzdU83NnFzelY3dVVBQ3d3QVF1blFvdHZNb3VxN1Jnc0RBQUVMQXdBQkN3dmZKZ0VBUVlDQXdBQUwxU1l2VlhObGNuTXZabTA0TVRNdkxuSjFjM1IxY0M5MGIyOXNZMmhoYVc1ekwzTjBZV0pzWlMxNE9EWmZOalF0WVhCd2JHVXRaR0Z5ZDJsdUwyeHBZaTl5ZFhOMGJHbGlMM055WXk5eWRYTjBMMnhwWW5KaGNua3ZZMjl5WlM5emNtTXZZV3hzYjJNdmJHRjViM1YwTG5KekFBQVFBSEFBQUFBTEFRQUFPUUFBQUdOaGJHeGxaQ0JnVW1WemRXeDBPanAxYm5keVlYQW9LV0FnYjI0Z1lXNGdZRVZ5Y21BZ2RtRnNkV1VBQVFBQUFBQUFBQUFCQUFBQUFnQUFBSE55WXk5c2FXSXVjbk1BQUx3QUVBQUtBQUFBR3dBQUFBNEFBQUM4QUJBQUNnQUFBQndBQUFBU0FBQUFZWE56WlhKMGFXOXVJR1poYVd4bFpEb2diV2xrSUR3OUlITmxiR1l1YkdWdUtDa3ZWWE5sY25NdlptMDRNVE12TG5KMWMzUjFjQzkwYjI5c1kyaGhhVzV6TDNOMFlXSnNaUzE0T0RaZk5qUXRZWEJ3YkdVdFpHRnlkMmx1TDJ4cFlpOXlkWE4wYkdsaUwzTnlZeTl5ZFhOMEwyeHBZbkpoY25rdlkyOXlaUzl6Y21NdmMyeHBZMlV2Ylc5a0xuSnpDd0VRQUcwQUFBRDlCQUFBQ1FBQUFBTUFBQUJRQUFBQUNBQUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBVUFBQUFBZ0FBQUFKQUFBQUNnQUFBQXNBQUFBTUFBQUFMMVZ6WlhKekwyWnRPREV6THk1allYSm5ieTl5WldkcGMzUnllUzl6Y21NdloybDBhSFZpTG1OdmJTMHhaV05qTmpJNU9XUmlPV1ZqT0RJekwzZGxaWHBzTFRBdU1TNDBMM055WXk5a1pXTnZaR1V1Y25NQUFNQUJFQUJXQUFBQVdnSUFBQjhBQUFEQUFSQUFWZ0FBQUcwQ0FBQWJBQUFBd0FFUUFGWUFBQUNDQWdBQUpnQUFBTUFCRUFCV0FBQUFxd0lBQUJFQUFBREFBUkFBVmdBQUFLMENBQUFSQUFBQXdBRVFBRllBQUFDNUFnQUFHUUFBQU1BQkVBQldBQUFBelFJQUFDSUFBQURBQVJBQVZnQUFBTThDQUFBYkFBQUF3QUVRQUZZQUFBRFFBZ0FBRlFBQUFNQUJFQUJXQUFBQTBRSUFBQlVBQUFEQUFSQUFWZ0FBQVBvQ0FBQU5BQUFBd0FFUUFGWUFBQUJGQXdBQUVRQUFBTUFCRUFCV0FBQUFTd01BQUJFQUFBREFBUkFBVmdBQUFJb0RBQUFSQUFBQXdBRVFBRllBQUFDUUF3QUFFUUFBQU1BQkVBQldBQUFBdkFNQUFDY0FBQURBQVJBQVZnQUFBTHdEQUFBSkFBQUF3QUVRQUZZQUFBQy9Bd0FBQ1FBQUFNQUJFQUJXQUFBQXhnTUFBQlVBQUFEQUFSQUFWZ0FBQU1rREFBQVlBQUFBd0FFUUFGWUFBQURTQXdBQUNnQUFBTUFCRUFCV0FBQUErQU1BQUFvQUFBREFBUkFBVmdBQUFBVUVBQUFWQUFBQXdBRVFBRllBQUFBTkJBQUFGZ0FBQU1BQkVBQldBQUFBR0FRQUFBa0FBQUF2VlhObGNuTXZabTA0TVRNdkxuSjFjM1IxY0M5MGIyOXNZMmhoYVc1ekwzTjBZV0pzWlMxNE9EWmZOalF0WVhCd2JHVXRaR0Z5ZDJsdUwyeHBZaTl5ZFhOMGJHbGlMM055WXk5eWRYTjBMMnhwWW5KaGNua3ZZV3hzYjJNdmMzSmpMM0poZDE5MlpXTXVjbk5VY21sbFpDQjBieUJ6YUhKcGJtc2dkRzhnWVNCc1lYSm5aWElnWTJGd1lXTnBkSG1vQXhBQWJBQUFBTVVCQUFBSkFBQUFUV0Y0YVcxMWJTQmpiMlJsSUhOcGVtVWdNVElnY21WeGRXbHlaV1FzSUdkdmRDQUFTQVFRQUNNQUFBQXZWWE5sY25NdlptMDRNVE12TG1OaGNtZHZMM0psWjJsemRISjVMM055WXk5bmFYUm9kV0l1WTI5dExURmxZMk0yTWprNVpHSTVaV000TWpNdmQyVmxlbXd0TUM0eExqUXZjM0pqTDJ4cFlpNXljd0IwQkJBQVV3QUFBRTBBQUFBRkFBQUFEd0FBQUFRQUFBQUVBQUFBRUFBQUFCRUFBQUFTQUFBQUR3QUFBQUFBQUFBQkFBQUFFd0FBQUdOaGJHeGxaQ0JnVDNCMGFXOXVPanAxYm5keVlYQW9LV0FnYjI0Z1lTQmdUbTl1WldBZ2RtRnNkV1ZzYVdKeVlYSjVMM04wWkM5emNtTXZjR0Z1YVdOcmFXNW5Mbkp6QUNzRkVBQWNBQUFBN1FFQUFCOEFBQUFyQlJBQUhBQUFBTzRCQUFBZUFBQUFGQUFBQUJBQUFBQUVBQUFBRlFBQUFCWUFBQUFQQUFBQUNBQUFBQVFBQUFBWEFBQUFHQUFBQUJrQUFBQU1BQUFBQkFBQUFCb0FBQUFQQUFBQUNBQUFBQVFBQUFBYkFBQUFiR2xpY21GeWVTOWhiR3h2WXk5emNtTXZjbUYzWDNabFl5NXljMk5oY0dGamFYUjVJRzkyWlhKbWJHOTNBQUFBc0FVUUFCd0FBQUFlQWdBQUJRQUFBR0F1TGdEeEJSQUFBZ0FBQUdOaGJHeGxaQ0JnVDNCMGFXOXVPanAxYm5keVlYQW9LV0FnYjI0Z1lTQmdUbTl1WldBZ2RtRnNkV1U2SUFBQUFQQUZFQUFBQUFBQUp3WVFBQUlBQUFBaUFBQUFBQUFBQUFFQUFBQWpBQUFBYVc1a1pYZ2diM1YwSUc5bUlHSnZkVzVrY3pvZ2RHaGxJR3hsYmlCcGN5QWdZblYwSUhSb1pTQnBibVJsZUNCcGN5QUFBRXdHRUFBZ0FBQUFiQVlRQUJJQUFBQnNhV0p5WVhKNUwyTnZjbVV2YzNKakwyWnRkQzlpZFdsc1pHVnljeTV5Y3lJQUFBQU1BQUFBQkFBQUFDUUFBQUFsQUFBQUpnQUFBQ0FnSUNDUUJoQUFJQUFBQURJQUFBQWhBQUFBa0FZUUFDQUFBQUF6QUFBQUVnQUFBQ0I3Q2l3S0xDQWdleUI5SUgxc2FXSnlZWEo1TDJOdmNtVXZjM0pqTDJadGRDOXVkVzB1Y25QNUJoQUFHd0FBQUdVQUFBQVVBQUFBTUhnd01EQXhNREl3TXpBME1EVXdOakEzTURnd09URXdNVEV4TWpFek1UUXhOVEUyTVRjeE9ERTVNakF5TVRJeU1qTXlOREkxTWpZeU56STRNamt6TURNeE16SXpNek0wTXpVek5qTTNNemd6T1RRd05ERTBNalF6TkRRME5UUTJORGMwT0RRNU5UQTFNVFV5TlRNMU5EVTFOVFkxTnpVNE5UazJNRFl4TmpJMk16WTBOalUyTmpZM05qZzJPVGN3TnpFM01qY3pOelEzTlRjMk56YzNPRGM1T0RBNE1UZ3lPRE00TkRnMU9EWTROemc0T0RrNU1Ea3hPVEk1TXprME9UVTVOamszT1RnNU9RQUFJZ0FBQUFRQUFBQUVBQUFBSndBQUFDZ0FBQUFwQUFBQWJHbGljbUZ5ZVM5amIzSmxMM055WXk5bWJYUXZiVzlrTG5KekFBZ0lFQUFiQUFBQVZRUUFBQkVBQUFBSUNCQUFHd0FBQUY4RUFBQWtBQUFBS0Nsc2FXSnlZWEo1TDJOdmNtVXZjM0pqTDNOc2FXTmxMMjFsYldOb2NpNXljd0FBUmdnUUFDQUFBQUJhQUFBQUJRQUFBSEpoYm1kbElITjBZWEowSUdsdVpHVjRJQ0J2ZFhRZ2IyWWdjbUZ1WjJVZ1ptOXlJSE5zYVdObElHOW1JR3hsYm1kMGFDQjRDQkFBRWdBQUFJb0lFQUFpQUFBQWNtRnVaMlVnWlc1a0lHbHVaR1Y0SUx3SUVBQVFBQUFBaWdnUUFDSUFBQUJ6YkdsalpTQnBibVJsZUNCemRHRnlkSE1nWVhRZ0lHSjFkQ0JsYm1SeklHRjBJQURjQ0JBQUZnQUFBUElJRUFBTkFBQUFiR2xpY21GeWVTOWpiM0psTDNOeVl5OXpkSEl2Y0dGMGRHVnliaTV5Y3dBUUNSQUFId0FBQUxBQkFBQW1BQUFBV3k0dUxsMWllWFJsSUdsdVpHVjRJQ0JwY3lCdmRYUWdiMllnWW05MWJtUnpJRzltSUdBQUFFVUpFQUFMQUFBQVVBa1FBQllBQUFEd0JSQUFBUUFBQUdKbFoybHVJRHc5SUdWdVpDQW9JRHc5SUNrZ2QyaGxiaUJ6YkdsamFXNW5JR0FBQUlBSkVBQU9BQUFBamdrUUFBUUFBQUNTQ1JBQUVBQUFBUEFGRUFBQkFBQUFJR2x6SUc1dmRDQmhJR05vWVhJZ1ltOTFibVJoY25rN0lHbDBJR2x6SUdsdWMybGtaU0FnS0dKNWRHVnpJQ2tnYjJZZ1lFVUpFQUFMQUFBQXhBa1FBQ1lBQUFEcUNSQUFDQUFBQVBJSkVBQUdBQUFBOEFVUUFBRUFBQUJzYVdKeVlYSjVMMk52Y21VdmMzSmpMM1Z1YVdOdlpHVXZjSEpwYm5SaFlteGxMbkp6QUFBQUlBb1FBQ1VBQUFBS0FBQUFIQUFBQUNBS0VBQWxBQUFBR2dBQUFEWUFBQUFBQVFNRkJRWUdBd2NHQ0FnSkVRb2NDeGtNRkEwUURnMFBCQkFERWhJVENSWUJGd1VZQWhrREdnY2NBaDBCSHhZZ0F5c0RMQUl0Q3k0Qk1BTXhBaklCcHdLcEFxb0Vxd2o2QXZzRi9RVCtBLzhKclhoNWk0MmlNRmRZaTR5UUhCM2REZzlMVFB2OExpOC9YRjFmdGVLRWpZNlJrcW14dXJ2RnhzbkszdVRsL3dBRUVSSXBNVFEzT2pzOVNVcGRoSTZTcWJHMHVydkd5czdQNU9VQUJBME9FUklwTVRRNk8wVkdTVXBlWkdXRWtadWR5YzdQRFJFcFJVbFhaR1dOa2FtMHVydkZ5ZC9rNWZBTkVVVkpaR1dBaExLOHZyL1YxL0R4ZzRXTHBLYSt2OFhIenMvYTIwaVl2YzNHenM5SlRrOVhXVjVmaVk2UHNiYTN2OEhHeDljUkZoZGJYUGIzL3YrQURXMXgzdDhPRHg5dWJ4d2RYMzErcnErN3ZQb1dGeDRmUmtkT1QxaGFYRjUrZjdYRjFOWGM4UEgxY25PUGRIV1dMMThtTGkrbnI3ZS94OC9YMzVwQWw1Z3dqeC9Bd2M3L1RrOWFXd2NJRHhBbkwrN3ZibTgzUFQ5Q1JaQ1IvdjlUWjNYSXlkRFIyTm5uL3Y4QUlGOGlndDhFZ2tRSUd3UUdFWUdzRG9Dck5TZ0xnT0FER1FnQkJDOEVOQVFIQXdFSEJnY1JDbEFQRWdkVkJ3TUVIQW9KQXdnREJ3TUNBd01EREFRRkF3c0dBUTRWQlRvREVRY0dCUkFIVndjQ0J4VU5VQVJEQXkwREFRUVJCZzhNT2dRZEpWOGdiUVJxSllESUJZS3dBeG9HZ3YwRFdRY1ZDeGNKRkF3VURHb0dDZ1lhQmxrSEt3VkdDaXdFREFRQkF6RUxMQVFhQmdzRGdLd0dDZ1loUDB3RUxRTjBDRHdERHdNOEJ6Z0lLd1dDL3hFWUNDOFJMUU1nRUNFUGdJd0VncGNaQ3hXSWxBVXZCVHNIQWc0WUNZQ3pMWFFNZ05ZYURBV0Evd1dBM3d6dURRT0VqUU0zQ1lGY0ZJQzRDSURMS2pnRENnWTRDRVlJREFaMEN4NERXZ1JaQ1lDREdCd0tGZ2xNQklDS0JxdWtEQmNFTWFFRWdkb21Cd3dGQllDbEVZRnRFSGdvS2daTUJJQ05CSUMrQXhzRER3MEFCZ0VCQXdFRUFnZ0lDUUlLQlFzQ0RnUVFBUkVDRWdVVEVSUUJGUUlYQWhrTkhBVWRDQ1FCYWdOckFyd0MwUUxVRE5VSjFnTFhBdG9CNEFYaEF1Z0M3aUR3QlBnQytRTDZBdnNCRENjN1BrNVBqNTZlbndZSENUWTlQbGJ6ME5FRUZCZzJOMVpYZjZxdXI3MDE0QktIaVk2ZUJBME9FUklwTVRRNlJVWkpTazVQWkdWY3RyY2JIQWNJQ2dzVUZ6WTVPcWlwMk5rSk41Q1JxQWNLT3o1bWFZK1NiMS91NzFwaW1wc25LRldkb0tHanBLZW9yYnE4eEFZTERCVWRPajlGVWFhbnpNMmdCeGthSWlVK1A4WEdCQ0FqSlNZb016ZzZTRXBNVUZOVlZsaGFYRjVnWTJWbWEzTjRmWCtLcEtxdnNNRFFycTk1ekc1dmsxNGlld1VEQkMwRFpnTUJMeTZBZ2gwRE1ROGNCQ1FKSGdVckJVUUVEaXFBcWdZa0JDUUVLQWcwQ3dHQWtJRTNDUllLQ0lDWU9RTmpDQWt3RmdVaEF4c0ZBVUE0QkVzRkx3UUtCd2tIUUNBbkJBd0pOZ002QlJvSEJBd0hVRWszTXcwekJ5NElDb0VtVWs0b0NDcFdIQlFYQ1U0RUhnOUREaGtIQ2daSUNDY0pkUXMvUVNvR093VUtCbEVHQVFVUUF3V0FpMkllU0FnS2dLWmVJa1VMQ2dZTkV6a0hDallzQkJDQXdEeGtVd3hJQ1FwR1JSdElDRk1kT1lFSFJnb2RBMGRKTndNT0NBb0dPUWNLZ1RZWmdMY0JEeklOZzV0bWRRdUF4SXE4aEMrUDBZSkhvYm1DT1FjcUJBSmdKZ3BHQ2lnRkU0S3dXMlZMQkRrSEVVQUZDd0lPbC9nSWhOWXFDYUwzZ1I4eEF4RUVDSUdNaVFSckJRMERDUWNRazJDQTlncHpDRzRYUm9DYUZBeFhDUm1BaDRGSEE0VkNEeFdGVUN1QTFTMERHZ1FDZ1hBNkJRR0ZBSURYS1V3RUNnUUNneEZFVEQyQXdqd0dBUVJWQlJzMEFvRU9MQVJrREZZS2dLNDRIUTBzQkFrSEFnNEdnSnFEMkFnTkF3MERkQXhaQnd3VURBUTRDQW9HS0FnaVRvRlVEQlVEQXdVSENSa0hCd2tERFFjcGdNc2xDb1FHYkdsaWNtRnllUzlqYjNKbEwzTnlZeTkxYm1samIyUmxMM1Z1YVdOdlpHVmZaR0YwWVM1eWN3Q3ZEeEFBS0FBQUFFc0FBQUFvQUFBQXJ3OFFBQ2dBQUFCWEFBQUFGZ0FBQUs4UEVBQW9BQUFBVWdBQUFENEFBQUFpQUFBQUJBQUFBQVFBQUFBcUFBQUFBQU1BQUlNRUlBQ1JCV0FBWFJPZ0FCSVhvQjRNSU9BZTd5d2dLeW93b0N0dnBtQXNBcWpnTEI3NzRDMEEvcUExbnYvZ05mMEJZVFlCQ3FFMkpBMWhONnNPNFRndkdDRTVNQnhoUnZNZW9VcndhbUZPVDIraFRwMjhJVTlsMGVGUEFOb2hVQURnNFZFdzRXRlQ3T0toVk5EbzRWUWdBQzVWOEFHL1ZRQndBQWNBTFFFQkFRSUJBZ0VCU0Fzd0ZSQUJaUWNDQmdJQ0FRUWpBUjRiV3dzNkNRa0JHQVFCQ1FFREFRVXJBM2NQQVNBM0FRRUJCQWdFQVFNSENnSWRBVG9CQVFFQ0JBZ0JDUUVLQWhvQkFnSTVBUVFDQkFJQ0F3TUJIZ0lEQVFzQ09RRUVCUUVDQkFFVUFoWUdBUUU2QVFFQ0FRUUlBUWNEQ2dJZUFUc0JBUUVNQVFrQktBRURBVGtEQlFNQkJBY0NDd0lkQVRvQkFnRUNBUU1CQlFJSEFnc0NIQUk1QWdFQkFnUUlBUWtCQ2dJZEFVZ0JCQUVDQXdFQkNBRlJBUUlIREFoaUFRSUpDd1pLQWhzQkFRRUJBVGNPQVFVQkFnVUxBU1FKQVdZRUFRWUJBZ0lDR1FJRUF4QUVEUUVDQWdZQkR3RUFBd0FESFFNZEFoNENRQUlCQndnQkFnc0pBUzBEZHdJaUFYWURCQUlKQVFZRDJ3SUNBVG9CQVFjQkFRRUJBZ2dHQ2dJQk1CRS9CREFIQVFFRkFTZ0pEQUlnQkFJQ0FRTTRBUUVDQXdFQkF6b0lBZ0tZQXdFTkFRY0VBUVlCQXdMR09nRUZBQUhESVFBRGpRRmdJQUFHYVFJQUJBRUtJQUpRQWdBQkF3RUVBUmtDQlFHWEFob1NEUUVtQ0JrTExnTXdBUUlFQWdJbkFVTUdBZ0lDQWd3QkNBRXZBVE1CQVFNQ0FnVUNBUUVxQWdnQjdnRUNBUVFCQUFFQUVCQVFBQUlBQWVJQmxRVUFBd0VDQlFRb0F3UUJwUUlBQkFBQ21RdXdBVFlQT0FNeEJBSUNSUU1rQlFFSVBnRU1BalFKQ2dRQ0FWOERBZ0VCQWdZQm9BRURDQlVDT1FJQkFRRUJGZ0VPQndNRnd3Z0NBd0VCRndGUkFRSUdBUUVDQVFFQ0FRTHJBUUlFQmdJQkFoc0NWUWdDQVFFQ2FnRUJBUUlHQVFGbEF3SUVBUVVBQ1FFQzlRRUtBZ0VCQkFHUUJBSUNCQUVnQ2lnR0FnUUlBUWtHQWdNdURRRUNBQWNCQmdFQlVoWUNCd0VDQVFKNkJnTUJBUUlCQndFQlNBSURBUUVCQUFJQUJUc0hBQUUvQkZFQkFBSUFBUUVEQkFVSUNBSUhIZ1NVQXdBM0JESUlBUTRCRmdVQkR3QUhBUkVDQndFQ0FRVUFCd0FFQUFkdEJ3QmdnUEFBVEdGNWIzVjBSWEp5Y0hKcGRtRjBaUUI3Q1hCeWIyUjFZMlZ5Y3dJSWJHRnVaM1ZoWjJVQkJGSjFjM1FBREhCeWIyTmxjM05sWkMxaWVRTUZjblZ6ZEdNZE1TNDBPUzR3SUNobE1UZzROR0U0WlRNZ01qQXlNQzB4TWkweU9Ta0dkMkZzY25WekJqQXVNVGd1TUF4M1lYTnRMV0pwYm1SblpXNFNNQzR5TGpjd0lDaGlOak0xTldNeU56QXAiKTtsZXQgbzthc3luYyBmdW5jdGlvbiBOKEEsSSl7b3x8KG89YXdhaXQoYXN5bmMoKT0+KGF3YWl0IEUoRyksRCkpKCkpO2NvbnN0IGc9by5kZWNvbXByZXNzKEEsSSk7aWYoMD09PWcubGVuZ3RoKXRocm93IEVycm9yKCJGYWlsZWQgdG8gZGVjb2RlIHdpdGggTFpXIGRlY29kZXIuIik7cmV0dXJuIGd9CgogIGNsYXNzIExaV0RlY29kZXIgZXh0ZW5kcyBCYXNlRGVjb2RlciB7CiAgICBjb25zdHJ1Y3RvcihmaWxlRGlyZWN0b3J5KSB7CiAgICAgIHN1cGVyKCk7CiAgICAgIGNvbnN0IHdpZHRoID0gZmlsZURpcmVjdG9yeS5UaWxlV2lkdGggfHwgZmlsZURpcmVjdG9yeS5JbWFnZVdpZHRoOwogICAgICBjb25zdCBoZWlnaHQgPSBmaWxlRGlyZWN0b3J5LlRpbGVMZW5ndGggfHwgZmlsZURpcmVjdG9yeS5JbWFnZUxlbmd0aDsKICAgICAgY29uc3QgbmJ5dGVzID0gZmlsZURpcmVjdG9yeS5CaXRzUGVyU2FtcGxlWzBdIC8gODsKICAgICAgdGhpcy5tYXhVbmNvbXByZXNzZWRTaXplID0gd2lkdGggKiBoZWlnaHQgKiBuYnl0ZXM7CiAgICB9CgogICAgYXN5bmMgZGVjb2RlQmxvY2soYnVmZmVyKSB7CiAgICAgIGNvbnN0IGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTsKICAgICAgY29uc3QgZGVjb2RlZCA9IGF3YWl0IE4oYnl0ZXMsIHRoaXMubWF4VW5jb21wcmVzc2VkU2l6ZSk7CiAgICAgIHJldHVybiBkZWNvZGVkLmJ1ZmZlcjsKICAgIH0KICB9CgogIC8qIC0qLSB0YWItd2lkdGg6IDI7IGluZGVudC10YWJzLW1vZGU6IG5pbDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotIC8KICAvKiB2aW06IHNldCBzaGlmdHdpZHRoPTIgdGFic3RvcD0yIGF1dG9pbmRlbnQgY2luZGVudCBleHBhbmR0YWI6ICovCiAgLyoKICAgICBDb3B5cmlnaHQgMjAxMSBub3RtYXN0ZXJ5ZXQKICAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAgICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICAqLwoKICAvLyAtIFRoZSBKUEVHIHNwZWNpZmljYXRpb24gY2FuIGJlIGZvdW5kIGluIHRoZSBJVFUgQ0NJVFQgUmVjb21tZW5kYXRpb24gVC44MQogIC8vICAgKHd3dy53My5vcmcvR3JhcGhpY3MvSlBFRy9pdHUtdDgxLnBkZikKICAvLyAtIFRoZSBKRklGIHNwZWNpZmljYXRpb24gY2FuIGJlIGZvdW5kIGluIHRoZSBKUEVHIEZpbGUgSW50ZXJjaGFuZ2UgRm9ybWF0CiAgLy8gICAod3d3LnczLm9yZy9HcmFwaGljcy9KUEVHL2pmaWYzLnBkZikKICAvLyAtIFRoZSBBZG9iZSBBcHBsaWNhdGlvbi1TcGVjaWZpYyBKUEVHIG1hcmtlcnMgaW4gdGhlIFN1cHBvcnRpbmcgdGhlIERDVCBGaWx0ZXJzCiAgLy8gICBpbiBQb3N0U2NyaXB0IExldmVsIDIsIFRlY2huaWNhbCBOb3RlICM1MTE2CiAgLy8gICAocGFydG5lcnMuYWRvYmUuY29tL3B1YmxpYy9kZXZlbG9wZXIvZW4vcHMvc2RrLzUxMTYuRENUX0ZpbHRlci5wZGYpCgoKICBjb25zdCBkY3RaaWdaYWcgPSBuZXcgSW50MzJBcnJheShbCiAgICAwLAogICAgMSwgOCwKICAgIDE2LCA5LCAyLAogICAgMywgMTAsIDE3LCAyNCwKICAgIDMyLCAyNSwgMTgsIDExLCA0LAogICAgNSwgMTIsIDE5LCAyNiwgMzMsIDQwLAogICAgNDgsIDQxLCAzNCwgMjcsIDIwLCAxMywgNiwKICAgIDcsIDE0LCAyMSwgMjgsIDM1LCA0MiwgNDksIDU2LAogICAgNTcsIDUwLCA0MywgMzYsIDI5LCAyMiwgMTUsCiAgICAyMywgMzAsIDM3LCA0NCwgNTEsIDU4LAogICAgNTksIDUyLCA0NSwgMzgsIDMxLAogICAgMzksIDQ2LCA1MywgNjAsCiAgICA2MSwgNTQsIDQ3LAogICAgNTUsIDYyLAogICAgNjMsCiAgXSk7CgogIGNvbnN0IGRjdENvczEgPSA0MDE3OyAvLyBjb3MocGkvMTYpCiAgY29uc3QgZGN0U2luMSA9IDc5OTsgLy8gc2luKHBpLzE2KQogIGNvbnN0IGRjdENvczMgPSAzNDA2OyAvLyBjb3MoMypwaS8xNikKICBjb25zdCBkY3RTaW4zID0gMjI3NjsgLy8gc2luKDMqcGkvMTYpCiAgY29uc3QgZGN0Q29zNiA9IDE1Njc7IC8vIGNvcyg2KnBpLzE2KQogIGNvbnN0IGRjdFNpbjYgPSAzNzg0OyAvLyBzaW4oNipwaS8xNikKICBjb25zdCBkY3RTcXJ0MiA9IDU3OTM7IC8vIHNxcnQoMikKICBjb25zdCBkY3RTcXJ0MWQyID0gMjg5NjsvLyBzcXJ0KDIpIC8gMgoKICBmdW5jdGlvbiBidWlsZEh1ZmZtYW5UYWJsZShjb2RlTGVuZ3RocywgdmFsdWVzKSB7CiAgICBsZXQgayA9IDA7CiAgICBjb25zdCBjb2RlID0gW107CiAgICBsZXQgbGVuZ3RoID0gMTY7CiAgICB3aGlsZSAobGVuZ3RoID4gMCAmJiAhY29kZUxlbmd0aHNbbGVuZ3RoIC0gMV0pIHsKICAgICAgLS1sZW5ndGg7CiAgICB9CiAgICBjb2RlLnB1c2goeyBjaGlsZHJlbjogW10sIGluZGV4OiAwIH0pOwoKICAgIGxldCBwID0gY29kZVswXTsKICAgIGxldCBxOwogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGNvZGVMZW5ndGhzW2ldOyBqKyspIHsKICAgICAgICBwID0gY29kZS5wb3AoKTsKICAgICAgICBwLmNoaWxkcmVuW3AuaW5kZXhdID0gdmFsdWVzW2tdOwogICAgICAgIHdoaWxlIChwLmluZGV4ID4gMCkgewogICAgICAgICAgcCA9IGNvZGUucG9wKCk7CiAgICAgICAgfQogICAgICAgIHAuaW5kZXgrKzsKICAgICAgICBjb2RlLnB1c2gocCk7CiAgICAgICAgd2hpbGUgKGNvZGUubGVuZ3RoIDw9IGkpIHsKICAgICAgICAgIGNvZGUucHVzaChxID0geyBjaGlsZHJlbjogW10sIGluZGV4OiAwIH0pOwogICAgICAgICAgcC5jaGlsZHJlbltwLmluZGV4XSA9IHEuY2hpbGRyZW47CiAgICAgICAgICBwID0gcTsKICAgICAgICB9CiAgICAgICAgaysrOwogICAgICB9CiAgICAgIGlmIChpICsgMSA8IGxlbmd0aCkgewogICAgICAgIC8vIHAgaGVyZSBwb2ludHMgdG8gbGFzdCBjb2RlCiAgICAgICAgY29kZS5wdXNoKHEgPSB7IGNoaWxkcmVuOiBbXSwgaW5kZXg6IDAgfSk7CiAgICAgICAgcC5jaGlsZHJlbltwLmluZGV4XSA9IHEuY2hpbGRyZW47CiAgICAgICAgcCA9IHE7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBjb2RlWzBdLmNoaWxkcmVuOwogIH0KCiAgZnVuY3Rpb24gZGVjb2RlU2NhbihkYXRhLCBpbml0aWFsT2Zmc2V0LAogICAgZnJhbWUsIGNvbXBvbmVudHMsIHJlc2V0SW50ZXJ2YWwsCiAgICBzcGVjdHJhbFN0YXJ0LCBzcGVjdHJhbEVuZCwKICAgIHN1Y2Nlc3NpdmVQcmV2LCBzdWNjZXNzaXZlKSB7CiAgICBjb25zdCB7IG1jdXNQZXJMaW5lLCBwcm9ncmVzc2l2ZSB9ID0gZnJhbWU7CgogICAgY29uc3Qgc3RhcnRPZmZzZXQgPSBpbml0aWFsT2Zmc2V0OwogICAgbGV0IG9mZnNldCA9IGluaXRpYWxPZmZzZXQ7CiAgICBsZXQgYml0c0RhdGEgPSAwOwogICAgbGV0IGJpdHNDb3VudCA9IDA7CiAgICBmdW5jdGlvbiByZWFkQml0KCkgewogICAgICBpZiAoYml0c0NvdW50ID4gMCkgewogICAgICAgIGJpdHNDb3VudC0tOwogICAgICAgIHJldHVybiAoYml0c0RhdGEgPj4gYml0c0NvdW50KSAmIDE7CiAgICAgIH0KICAgICAgYml0c0RhdGEgPSBkYXRhW29mZnNldCsrXTsKICAgICAgaWYgKGJpdHNEYXRhID09PSAweEZGKSB7CiAgICAgICAgY29uc3QgbmV4dEJ5dGUgPSBkYXRhW29mZnNldCsrXTsKICAgICAgICBpZiAobmV4dEJ5dGUpIHsKICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgdW5leHBlY3RlZCBtYXJrZXI6ICR7KChiaXRzRGF0YSA8PCA4KSB8IG5leHRCeXRlKS50b1N0cmluZygxNil9YCk7CiAgICAgICAgfQogICAgICAgIC8vIHVuc3R1ZmYgMAogICAgICB9CiAgICAgIGJpdHNDb3VudCA9IDc7CiAgICAgIHJldHVybiBiaXRzRGF0YSA+Pj4gNzsKICAgIH0KICAgIGZ1bmN0aW9uIGRlY29kZUh1ZmZtYW4odHJlZSkgewogICAgICBsZXQgbm9kZSA9IHRyZWU7CiAgICAgIGxldCBiaXQ7CiAgICAgIHdoaWxlICgoYml0ID0gcmVhZEJpdCgpKSAhPT0gbnVsbCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbmQtYXNzaWduCiAgICAgICAgbm9kZSA9IG5vZGVbYml0XTsKICAgICAgICBpZiAodHlwZW9mIG5vZGUgPT09ICdudW1iZXInKSB7CiAgICAgICAgICByZXR1cm4gbm9kZTsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0JykgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGh1ZmZtYW4gc2VxdWVuY2UnKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIG51bGw7CiAgICB9CiAgICBmdW5jdGlvbiByZWNlaXZlKGluaXRpYWxMZW5ndGgpIHsKICAgICAgbGV0IGxlbmd0aCA9IGluaXRpYWxMZW5ndGg7CiAgICAgIGxldCBuID0gMDsKICAgICAgd2hpbGUgKGxlbmd0aCA+IDApIHsKICAgICAgICBjb25zdCBiaXQgPSByZWFkQml0KCk7CiAgICAgICAgaWYgKGJpdCA9PT0gbnVsbCkgewogICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgICAgICB9CiAgICAgICAgbiA9IChuIDw8IDEpIHwgYml0OwogICAgICAgIC0tbGVuZ3RoOwogICAgICB9CiAgICAgIHJldHVybiBuOwogICAgfQogICAgZnVuY3Rpb24gcmVjZWl2ZUFuZEV4dGVuZChsZW5ndGgpIHsKICAgICAgY29uc3QgbiA9IHJlY2VpdmUobGVuZ3RoKTsKICAgICAgaWYgKG4gPj0gMSA8PCAobGVuZ3RoIC0gMSkpIHsKICAgICAgICByZXR1cm4gbjsKICAgICAgfQogICAgICByZXR1cm4gbiArICgtMSA8PCBsZW5ndGgpICsgMTsKICAgIH0KICAgIGZ1bmN0aW9uIGRlY29kZUJhc2VsaW5lKGNvbXBvbmVudCwgenopIHsKICAgICAgY29uc3QgdCA9IGRlY29kZUh1ZmZtYW4oY29tcG9uZW50Lmh1ZmZtYW5UYWJsZURDKTsKICAgICAgY29uc3QgZGlmZiA9IHQgPT09IDAgPyAwIDogcmVjZWl2ZUFuZEV4dGVuZCh0KTsKICAgICAgY29tcG9uZW50LnByZWQgKz0gZGlmZjsKICAgICAgenpbMF0gPSBjb21wb25lbnQucHJlZDsKICAgICAgbGV0IGsgPSAxOwogICAgICB3aGlsZSAoayA8IDY0KSB7CiAgICAgICAgY29uc3QgcnMgPSBkZWNvZGVIdWZmbWFuKGNvbXBvbmVudC5odWZmbWFuVGFibGVBQyk7CiAgICAgICAgY29uc3QgcyA9IHJzICYgMTU7CiAgICAgICAgY29uc3QgciA9IHJzID4+IDQ7CiAgICAgICAgaWYgKHMgPT09IDApIHsKICAgICAgICAgIGlmIChyIDwgMTUpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBrICs9IDE2OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBrICs9IHI7CiAgICAgICAgICBjb25zdCB6ID0gZGN0WmlnWmFnW2tdOwogICAgICAgICAgenpbel0gPSByZWNlaXZlQW5kRXh0ZW5kKHMpOwogICAgICAgICAgaysrOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgZnVuY3Rpb24gZGVjb2RlRENGaXJzdChjb21wb25lbnQsIHp6KSB7CiAgICAgIGNvbnN0IHQgPSBkZWNvZGVIdWZmbWFuKGNvbXBvbmVudC5odWZmbWFuVGFibGVEQyk7CiAgICAgIGNvbnN0IGRpZmYgPSB0ID09PSAwID8gMCA6IChyZWNlaXZlQW5kRXh0ZW5kKHQpIDw8IHN1Y2Nlc3NpdmUpOwogICAgICBjb21wb25lbnQucHJlZCArPSBkaWZmOwogICAgICB6elswXSA9IGNvbXBvbmVudC5wcmVkOwogICAgfQogICAgZnVuY3Rpb24gZGVjb2RlRENTdWNjZXNzaXZlKGNvbXBvbmVudCwgenopIHsKICAgICAgenpbMF0gfD0gcmVhZEJpdCgpIDw8IHN1Y2Nlc3NpdmU7CiAgICB9CiAgICBsZXQgZW9icnVuID0gMDsKICAgIGZ1bmN0aW9uIGRlY29kZUFDRmlyc3QoY29tcG9uZW50LCB6eikgewogICAgICBpZiAoZW9icnVuID4gMCkgewogICAgICAgIGVvYnJ1bi0tOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBsZXQgayA9IHNwZWN0cmFsU3RhcnQ7CiAgICAgIGNvbnN0IGUgPSBzcGVjdHJhbEVuZDsKICAgICAgd2hpbGUgKGsgPD0gZSkgewogICAgICAgIGNvbnN0IHJzID0gZGVjb2RlSHVmZm1hbihjb21wb25lbnQuaHVmZm1hblRhYmxlQUMpOwogICAgICAgIGNvbnN0IHMgPSBycyAmIDE1OwogICAgICAgIGNvbnN0IHIgPSBycyA+PiA0OwogICAgICAgIGlmIChzID09PSAwKSB7CiAgICAgICAgICBpZiAociA8IDE1KSB7CiAgICAgICAgICAgIGVvYnJ1biA9IHJlY2VpdmUocikgKyAoMSA8PCByKSAtIDE7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgayArPSAxNjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgayArPSByOwogICAgICAgICAgY29uc3QgeiA9IGRjdFppZ1phZ1trXTsKICAgICAgICAgIHp6W3pdID0gcmVjZWl2ZUFuZEV4dGVuZChzKSAqICgxIDw8IHN1Y2Nlc3NpdmUpOwogICAgICAgICAgaysrOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgbGV0IHN1Y2Nlc3NpdmVBQ1N0YXRlID0gMDsKICAgIGxldCBzdWNjZXNzaXZlQUNOZXh0VmFsdWU7CiAgICBmdW5jdGlvbiBkZWNvZGVBQ1N1Y2Nlc3NpdmUoY29tcG9uZW50LCB6eikgewogICAgICBsZXQgayA9IHNwZWN0cmFsU3RhcnQ7CiAgICAgIGNvbnN0IGUgPSBzcGVjdHJhbEVuZDsKICAgICAgbGV0IHIgPSAwOwogICAgICB3aGlsZSAoayA8PSBlKSB7CiAgICAgICAgY29uc3QgeiA9IGRjdFppZ1phZ1trXTsKICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSB6elt6XSA8IDAgPyAtMSA6IDE7CiAgICAgICAgc3dpdGNoIChzdWNjZXNzaXZlQUNTdGF0ZSkgewogICAgICAgICAgY2FzZSAwOiB7IC8vIGluaXRpYWwgc3RhdGUKICAgICAgICAgICAgY29uc3QgcnMgPSBkZWNvZGVIdWZmbWFuKGNvbXBvbmVudC5odWZmbWFuVGFibGVBQyk7CiAgICAgICAgICAgIGNvbnN0IHMgPSBycyAmIDE1OwogICAgICAgICAgICByID0gcnMgPj4gNDsKICAgICAgICAgICAgaWYgKHMgPT09IDApIHsKICAgICAgICAgICAgICBpZiAociA8IDE1KSB7CiAgICAgICAgICAgICAgICBlb2JydW4gPSByZWNlaXZlKHIpICsgKDEgPDwgcik7CiAgICAgICAgICAgICAgICBzdWNjZXNzaXZlQUNTdGF0ZSA9IDQ7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHIgPSAxNjsKICAgICAgICAgICAgICAgIHN1Y2Nlc3NpdmVBQ1N0YXRlID0gMTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgaWYgKHMgIT09IDEpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBBQ24gZW5jb2RpbmcnKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgc3VjY2Vzc2l2ZUFDTmV4dFZhbHVlID0gcmVjZWl2ZUFuZEV4dGVuZChzKTsKICAgICAgICAgICAgICBzdWNjZXNzaXZlQUNTdGF0ZSA9IHIgPyAyIDogMzsKICAgICAgICAgICAgfQogICAgICAgICAgICBjb250aW51ZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb250aW51ZQogICAgICAgICAgfQogICAgICAgICAgY2FzZSAxOiAvLyBza2lwcGluZyByIHplcm8gaXRlbXMKICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgaWYgKHp6W3pdKSB7CiAgICAgICAgICAgICAgenpbel0gKz0gKHJlYWRCaXQoKSA8PCBzdWNjZXNzaXZlKSAqIGRpcmVjdGlvbjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICByLS07CiAgICAgICAgICAgICAgaWYgKHIgPT09IDApIHsKICAgICAgICAgICAgICAgIHN1Y2Nlc3NpdmVBQ1N0YXRlID0gc3VjY2Vzc2l2ZUFDU3RhdGUgPT09IDIgPyAzIDogMDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDM6IC8vIHNldCB2YWx1ZSBmb3IgYSB6ZXJvIGl0ZW0KICAgICAgICAgICAgaWYgKHp6W3pdKSB7CiAgICAgICAgICAgICAgenpbel0gKz0gKHJlYWRCaXQoKSA8PCBzdWNjZXNzaXZlKSAqIGRpcmVjdGlvbjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB6elt6XSA9IHN1Y2Nlc3NpdmVBQ05leHRWYWx1ZSA8PCBzdWNjZXNzaXZlOwogICAgICAgICAgICAgIHN1Y2Nlc3NpdmVBQ1N0YXRlID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgNDogLy8gZW9iCiAgICAgICAgICAgIGlmICh6elt6XSkgewogICAgICAgICAgICAgIHp6W3pdICs9IChyZWFkQml0KCkgPDwgc3VjY2Vzc2l2ZSkgKiBkaXJlY3Rpb247CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGsrKzsKICAgICAgfQogICAgICBpZiAoc3VjY2Vzc2l2ZUFDU3RhdGUgPT09IDQpIHsKICAgICAgICBlb2JydW4tLTsKICAgICAgICBpZiAoZW9icnVuID09PSAwKSB7CiAgICAgICAgICBzdWNjZXNzaXZlQUNTdGF0ZSA9IDA7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiBkZWNvZGVNY3UoY29tcG9uZW50LCBkZWNvZGVGdW5jdGlvbiwgbWN1LCByb3csIGNvbCkgewogICAgICBjb25zdCBtY3VSb3cgPSAobWN1IC8gbWN1c1BlckxpbmUpIHwgMDsKICAgICAgY29uc3QgbWN1Q29sID0gbWN1ICUgbWN1c1BlckxpbmU7CiAgICAgIGNvbnN0IGJsb2NrUm93ID0gKG1jdVJvdyAqIGNvbXBvbmVudC52KSArIHJvdzsKICAgICAgY29uc3QgYmxvY2tDb2wgPSAobWN1Q29sICogY29tcG9uZW50LmgpICsgY29sOwogICAgICBkZWNvZGVGdW5jdGlvbihjb21wb25lbnQsIGNvbXBvbmVudC5ibG9ja3NbYmxvY2tSb3ddW2Jsb2NrQ29sXSk7CiAgICB9CiAgICBmdW5jdGlvbiBkZWNvZGVCbG9jayhjb21wb25lbnQsIGRlY29kZUZ1bmN0aW9uLCBtY3UpIHsKICAgICAgY29uc3QgYmxvY2tSb3cgPSAobWN1IC8gY29tcG9uZW50LmJsb2Nrc1BlckxpbmUpIHwgMDsKICAgICAgY29uc3QgYmxvY2tDb2wgPSBtY3UgJSBjb21wb25lbnQuYmxvY2tzUGVyTGluZTsKICAgICAgZGVjb2RlRnVuY3Rpb24oY29tcG9uZW50LCBjb21wb25lbnQuYmxvY2tzW2Jsb2NrUm93XVtibG9ja0NvbF0pOwogICAgfQoKICAgIGNvbnN0IGNvbXBvbmVudHNMZW5ndGggPSBjb21wb25lbnRzLmxlbmd0aDsKICAgIGxldCBjb21wb25lbnQ7CiAgICBsZXQgaTsKICAgIGxldCBqOwogICAgbGV0IGs7CiAgICBsZXQgbjsKICAgIGxldCBkZWNvZGVGbjsKICAgIGlmIChwcm9ncmVzc2l2ZSkgewogICAgICBpZiAoc3BlY3RyYWxTdGFydCA9PT0gMCkgewogICAgICAgIGRlY29kZUZuID0gc3VjY2Vzc2l2ZVByZXYgPT09IDAgPyBkZWNvZGVEQ0ZpcnN0IDogZGVjb2RlRENTdWNjZXNzaXZlOwogICAgICB9IGVsc2UgewogICAgICAgIGRlY29kZUZuID0gc3VjY2Vzc2l2ZVByZXYgPT09IDAgPyBkZWNvZGVBQ0ZpcnN0IDogZGVjb2RlQUNTdWNjZXNzaXZlOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBkZWNvZGVGbiA9IGRlY29kZUJhc2VsaW5lOwogICAgfQoKICAgIGxldCBtY3UgPSAwOwogICAgbGV0IG1hcmtlcjsKICAgIGxldCBtY3VFeHBlY3RlZDsKICAgIGlmIChjb21wb25lbnRzTGVuZ3RoID09PSAxKSB7CiAgICAgIG1jdUV4cGVjdGVkID0gY29tcG9uZW50c1swXS5ibG9ja3NQZXJMaW5lICogY29tcG9uZW50c1swXS5ibG9ja3NQZXJDb2x1bW47CiAgICB9IGVsc2UgewogICAgICBtY3VFeHBlY3RlZCA9IG1jdXNQZXJMaW5lICogZnJhbWUubWN1c1BlckNvbHVtbjsKICAgIH0KCiAgICBjb25zdCB1c2VkUmVzZXRJbnRlcnZhbCA9IHJlc2V0SW50ZXJ2YWwgfHwgbWN1RXhwZWN0ZWQ7CgogICAgd2hpbGUgKG1jdSA8IG1jdUV4cGVjdGVkKSB7CiAgICAgIC8vIHJlc2V0IGludGVydmFsIHN0dWZmCiAgICAgIGZvciAoaSA9IDA7IGkgPCBjb21wb25lbnRzTGVuZ3RoOyBpKyspIHsKICAgICAgICBjb21wb25lbnRzW2ldLnByZWQgPSAwOwogICAgICB9CiAgICAgIGVvYnJ1biA9IDA7CgogICAgICBpZiAoY29tcG9uZW50c0xlbmd0aCA9PT0gMSkgewogICAgICAgIGNvbXBvbmVudCA9IGNvbXBvbmVudHNbMF07CiAgICAgICAgZm9yIChuID0gMDsgbiA8IHVzZWRSZXNldEludGVydmFsOyBuKyspIHsKICAgICAgICAgIGRlY29kZUJsb2NrKGNvbXBvbmVudCwgZGVjb2RlRm4sIG1jdSk7CiAgICAgICAgICBtY3UrKzsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yIChuID0gMDsgbiA8IHVzZWRSZXNldEludGVydmFsOyBuKyspIHsKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjb21wb25lbnRzTGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgY29tcG9uZW50ID0gY29tcG9uZW50c1tpXTsKICAgICAgICAgICAgY29uc3QgeyBoLCB2IH0gPSBjb21wb25lbnQ7CiAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCB2OyBqKyspIHsKICAgICAgICAgICAgICBmb3IgKGsgPSAwOyBrIDwgaDsgaysrKSB7CiAgICAgICAgICAgICAgICBkZWNvZGVNY3UoY29tcG9uZW50LCBkZWNvZGVGbiwgbWN1LCBqLCBrKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIG1jdSsrOwoKICAgICAgICAgIC8vIElmIHdlJ3ZlIHJlYWNoZWQgb3VyIGV4cGVjdGVkIE1DVSdzLCBzdG9wIGRlY29kaW5nCiAgICAgICAgICBpZiAobWN1ID09PSBtY3VFeHBlY3RlZCkgewogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIGZpbmQgbWFya2VyCiAgICAgIGJpdHNDb3VudCA9IDA7CiAgICAgIG1hcmtlciA9IChkYXRhW29mZnNldF0gPDwgOCkgfCBkYXRhW29mZnNldCArIDFdOwogICAgICBpZiAobWFya2VyIDwgMHhGRjAwKSB7CiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtYXJrZXIgd2FzIG5vdCBmb3VuZCcpOwogICAgICB9CgogICAgICBpZiAobWFya2VyID49IDB4RkZEMCAmJiBtYXJrZXIgPD0gMHhGRkQ3KSB7IC8vIFJTVHgKICAgICAgICBvZmZzZXQgKz0gMjsKICAgICAgfSBlbHNlIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQoKICAgIHJldHVybiBvZmZzZXQgLSBzdGFydE9mZnNldDsKICB9CgogIGZ1bmN0aW9uIGJ1aWxkQ29tcG9uZW50RGF0YShmcmFtZSwgY29tcG9uZW50KSB7CiAgICBjb25zdCBsaW5lcyA9IFtdOwogICAgY29uc3QgeyBibG9ja3NQZXJMaW5lLCBibG9ja3NQZXJDb2x1bW4gfSA9IGNvbXBvbmVudDsKICAgIGNvbnN0IHNhbXBsZXNQZXJMaW5lID0gYmxvY2tzUGVyTGluZSA8PCAzOwogICAgY29uc3QgUiA9IG5ldyBJbnQzMkFycmF5KDY0KTsKICAgIGNvbnN0IHIgPSBuZXcgVWludDhBcnJheSg2NCk7CgogICAgLy8gQSBwb3J0IG9mIHBvcHBsZXIncyBJRENUIG1ldGhvZCB3aGljaCBpbiB0dXJuIGlzIHRha2VuIGZyb206CiAgICAvLyAgIENocmlzdG9waCBMb2VmZmxlciwgQWRyaWFhbiBMaWd0ZW5iZXJnLCBHZW9yZ2UgUy4gTW9zY2h5dHosCiAgICAvLyAgICJQcmFjdGljYWwgRmFzdCAxLUQgRENUIEFsZ29yaXRobXMgd2l0aCAxMSBNdWx0aXBsaWNhdGlvbnMiLAogICAgLy8gICBJRUVFIEludGwuIENvbmYuIG9uIEFjb3VzdGljcywgU3BlZWNoICYgU2lnbmFsIFByb2Nlc3NpbmcsIDE5ODksCiAgICAvLyAgIDk4OC05OTEuCiAgICBmdW5jdGlvbiBxdWFudGl6ZUFuZEludmVyc2UoenosIGRhdGFPdXQsIGRhdGFJbikgewogICAgICBjb25zdCBxdCA9IGNvbXBvbmVudC5xdWFudGl6YXRpb25UYWJsZTsKICAgICAgbGV0IHYwOwogICAgICBsZXQgdjE7CiAgICAgIGxldCB2MjsKICAgICAgbGV0IHYzOwogICAgICBsZXQgdjQ7CiAgICAgIGxldCB2NTsKICAgICAgbGV0IHY2OwogICAgICBsZXQgdjc7CiAgICAgIGxldCB0OwogICAgICBjb25zdCBwID0gZGF0YUluOwogICAgICBsZXQgaTsKCiAgICAgIC8vIGRlcXVhbnQKICAgICAgZm9yIChpID0gMDsgaSA8IDY0OyBpKyspIHsKICAgICAgICBwW2ldID0genpbaV0gKiBxdFtpXTsKICAgICAgfQoKICAgICAgLy8gaW52ZXJzZSBEQ1Qgb24gcm93cwogICAgICBmb3IgKGkgPSAwOyBpIDwgODsgKytpKSB7CiAgICAgICAgY29uc3Qgcm93ID0gOCAqIGk7CgogICAgICAgIC8vIGNoZWNrIGZvciBhbGwtemVybyBBQyBjb2VmZmljaWVudHMKICAgICAgICBpZiAocFsxICsgcm93XSA9PT0gMCAmJiBwWzIgKyByb3ddID09PSAwICYmIHBbMyArIHJvd10gPT09IDAKICAgICAgICAgICYmIHBbNCArIHJvd10gPT09IDAgJiYgcFs1ICsgcm93XSA9PT0gMCAmJiBwWzYgKyByb3ddID09PSAwCiAgICAgICAgICAmJiBwWzcgKyByb3ddID09PSAwKSB7CiAgICAgICAgICB0ID0gKChkY3RTcXJ0MiAqIHBbMCArIHJvd10pICsgNTEyKSA+PiAxMDsKICAgICAgICAgIHBbMCArIHJvd10gPSB0OwogICAgICAgICAgcFsxICsgcm93XSA9IHQ7CiAgICAgICAgICBwWzIgKyByb3ddID0gdDsKICAgICAgICAgIHBbMyArIHJvd10gPSB0OwogICAgICAgICAgcFs0ICsgcm93XSA9IHQ7CiAgICAgICAgICBwWzUgKyByb3ddID0gdDsKICAgICAgICAgIHBbNiArIHJvd10gPSB0OwogICAgICAgICAgcFs3ICsgcm93XSA9IHQ7CiAgICAgICAgICBjb250aW51ZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb250aW51ZQogICAgICAgIH0KCiAgICAgICAgLy8gc3RhZ2UgNAogICAgICAgIHYwID0gKChkY3RTcXJ0MiAqIHBbMCArIHJvd10pICsgMTI4KSA+PiA4OwogICAgICAgIHYxID0gKChkY3RTcXJ0MiAqIHBbNCArIHJvd10pICsgMTI4KSA+PiA4OwogICAgICAgIHYyID0gcFsyICsgcm93XTsKICAgICAgICB2MyA9IHBbNiArIHJvd107CiAgICAgICAgdjQgPSAoKGRjdFNxcnQxZDIgKiAocFsxICsgcm93XSAtIHBbNyArIHJvd10pKSArIDEyOCkgPj4gODsKICAgICAgICB2NyA9ICgoZGN0U3FydDFkMiAqIChwWzEgKyByb3ddICsgcFs3ICsgcm93XSkpICsgMTI4KSA+PiA4OwogICAgICAgIHY1ID0gcFszICsgcm93XSA8PCA0OwogICAgICAgIHY2ID0gcFs1ICsgcm93XSA8PCA0OwoKICAgICAgICAvLyBzdGFnZSAzCiAgICAgICAgdCA9ICh2MCAtIHYxICsgMSkgPj4gMTsKICAgICAgICB2MCA9ICh2MCArIHYxICsgMSkgPj4gMTsKICAgICAgICB2MSA9IHQ7CiAgICAgICAgdCA9ICgodjIgKiBkY3RTaW42KSArICh2MyAqIGRjdENvczYpICsgMTI4KSA+PiA4OwogICAgICAgIHYyID0gKCh2MiAqIGRjdENvczYpIC0gKHYzICogZGN0U2luNikgKyAxMjgpID4+IDg7CiAgICAgICAgdjMgPSB0OwogICAgICAgIHQgPSAodjQgLSB2NiArIDEpID4+IDE7CiAgICAgICAgdjQgPSAodjQgKyB2NiArIDEpID4+IDE7CiAgICAgICAgdjYgPSB0OwogICAgICAgIHQgPSAodjcgKyB2NSArIDEpID4+IDE7CiAgICAgICAgdjUgPSAodjcgLSB2NSArIDEpID4+IDE7CiAgICAgICAgdjcgPSB0OwoKICAgICAgICAvLyBzdGFnZSAyCiAgICAgICAgdCA9ICh2MCAtIHYzICsgMSkgPj4gMTsKICAgICAgICB2MCA9ICh2MCArIHYzICsgMSkgPj4gMTsKICAgICAgICB2MyA9IHQ7CiAgICAgICAgdCA9ICh2MSAtIHYyICsgMSkgPj4gMTsKICAgICAgICB2MSA9ICh2MSArIHYyICsgMSkgPj4gMTsKICAgICAgICB2MiA9IHQ7CiAgICAgICAgdCA9ICgodjQgKiBkY3RTaW4zKSArICh2NyAqIGRjdENvczMpICsgMjA0OCkgPj4gMTI7CiAgICAgICAgdjQgPSAoKHY0ICogZGN0Q29zMykgLSAodjcgKiBkY3RTaW4zKSArIDIwNDgpID4+IDEyOwogICAgICAgIHY3ID0gdDsKICAgICAgICB0ID0gKCh2NSAqIGRjdFNpbjEpICsgKHY2ICogZGN0Q29zMSkgKyAyMDQ4KSA+PiAxMjsKICAgICAgICB2NSA9ICgodjUgKiBkY3RDb3MxKSAtICh2NiAqIGRjdFNpbjEpICsgMjA0OCkgPj4gMTI7CiAgICAgICAgdjYgPSB0OwoKICAgICAgICAvLyBzdGFnZSAxCiAgICAgICAgcFswICsgcm93XSA9IHYwICsgdjc7CiAgICAgICAgcFs3ICsgcm93XSA9IHYwIC0gdjc7CiAgICAgICAgcFsxICsgcm93XSA9IHYxICsgdjY7CiAgICAgICAgcFs2ICsgcm93XSA9IHYxIC0gdjY7CiAgICAgICAgcFsyICsgcm93XSA9IHYyICsgdjU7CiAgICAgICAgcFs1ICsgcm93XSA9IHYyIC0gdjU7CiAgICAgICAgcFszICsgcm93XSA9IHYzICsgdjQ7CiAgICAgICAgcFs0ICsgcm93XSA9IHYzIC0gdjQ7CiAgICAgIH0KCiAgICAgIC8vIGludmVyc2UgRENUIG9uIGNvbHVtbnMKICAgICAgZm9yIChpID0gMDsgaSA8IDg7ICsraSkgewogICAgICAgIGNvbnN0IGNvbCA9IGk7CgogICAgICAgIC8vIGNoZWNrIGZvciBhbGwtemVybyBBQyBjb2VmZmljaWVudHMKICAgICAgICBpZiAocFsoMSAqIDgpICsgY29sXSA9PT0gMCAmJiBwWygyICogOCkgKyBjb2xdID09PSAwICYmIHBbKDMgKiA4KSArIGNvbF0gPT09IDAKICAgICAgICAgICYmIHBbKDQgKiA4KSArIGNvbF0gPT09IDAgJiYgcFsoNSAqIDgpICsgY29sXSA9PT0gMCAmJiBwWyg2ICogOCkgKyBjb2xdID09PSAwCiAgICAgICAgICAmJiBwWyg3ICogOCkgKyBjb2xdID09PSAwKSB7CiAgICAgICAgICB0ID0gKChkY3RTcXJ0MiAqIGRhdGFJbltpICsgMF0pICsgODE5MikgPj4gMTQ7CiAgICAgICAgICBwWygwICogOCkgKyBjb2xdID0gdDsKICAgICAgICAgIHBbKDEgKiA4KSArIGNvbF0gPSB0OwogICAgICAgICAgcFsoMiAqIDgpICsgY29sXSA9IHQ7CiAgICAgICAgICBwWygzICogOCkgKyBjb2xdID0gdDsKICAgICAgICAgIHBbKDQgKiA4KSArIGNvbF0gPSB0OwogICAgICAgICAgcFsoNSAqIDgpICsgY29sXSA9IHQ7CiAgICAgICAgICBwWyg2ICogOCkgKyBjb2xdID0gdDsKICAgICAgICAgIHBbKDcgKiA4KSArIGNvbF0gPSB0OwogICAgICAgICAgY29udGludWU7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29udGludWUKICAgICAgICB9CgogICAgICAgIC8vIHN0YWdlIDQKICAgICAgICB2MCA9ICgoZGN0U3FydDIgKiBwWygwICogOCkgKyBjb2xdKSArIDIwNDgpID4+IDEyOwogICAgICAgIHYxID0gKChkY3RTcXJ0MiAqIHBbKDQgKiA4KSArIGNvbF0pICsgMjA0OCkgPj4gMTI7CiAgICAgICAgdjIgPSBwWygyICogOCkgKyBjb2xdOwogICAgICAgIHYzID0gcFsoNiAqIDgpICsgY29sXTsKICAgICAgICB2NCA9ICgoZGN0U3FydDFkMiAqIChwWygxICogOCkgKyBjb2xdIC0gcFsoNyAqIDgpICsgY29sXSkpICsgMjA0OCkgPj4gMTI7CiAgICAgICAgdjcgPSAoKGRjdFNxcnQxZDIgKiAocFsoMSAqIDgpICsgY29sXSArIHBbKDcgKiA4KSArIGNvbF0pKSArIDIwNDgpID4+IDEyOwogICAgICAgIHY1ID0gcFsoMyAqIDgpICsgY29sXTsKICAgICAgICB2NiA9IHBbKDUgKiA4KSArIGNvbF07CgogICAgICAgIC8vIHN0YWdlIDMKICAgICAgICB0ID0gKHYwIC0gdjEgKyAxKSA+PiAxOwogICAgICAgIHYwID0gKHYwICsgdjEgKyAxKSA+PiAxOwogICAgICAgIHYxID0gdDsKICAgICAgICB0ID0gKCh2MiAqIGRjdFNpbjYpICsgKHYzICogZGN0Q29zNikgKyAyMDQ4KSA+PiAxMjsKICAgICAgICB2MiA9ICgodjIgKiBkY3RDb3M2KSAtICh2MyAqIGRjdFNpbjYpICsgMjA0OCkgPj4gMTI7CiAgICAgICAgdjMgPSB0OwogICAgICAgIHQgPSAodjQgLSB2NiArIDEpID4+IDE7CiAgICAgICAgdjQgPSAodjQgKyB2NiArIDEpID4+IDE7CiAgICAgICAgdjYgPSB0OwogICAgICAgIHQgPSAodjcgKyB2NSArIDEpID4+IDE7CiAgICAgICAgdjUgPSAodjcgLSB2NSArIDEpID4+IDE7CiAgICAgICAgdjcgPSB0OwoKICAgICAgICAvLyBzdGFnZSAyCiAgICAgICAgdCA9ICh2MCAtIHYzICsgMSkgPj4gMTsKICAgICAgICB2MCA9ICh2MCArIHYzICsgMSkgPj4gMTsKICAgICAgICB2MyA9IHQ7CiAgICAgICAgdCA9ICh2MSAtIHYyICsgMSkgPj4gMTsKICAgICAgICB2MSA9ICh2MSArIHYyICsgMSkgPj4gMTsKICAgICAgICB2MiA9IHQ7CiAgICAgICAgdCA9ICgodjQgKiBkY3RTaW4zKSArICh2NyAqIGRjdENvczMpICsgMjA0OCkgPj4gMTI7CiAgICAgICAgdjQgPSAoKHY0ICogZGN0Q29zMykgLSAodjcgKiBkY3RTaW4zKSArIDIwNDgpID4+IDEyOwogICAgICAgIHY3ID0gdDsKICAgICAgICB0ID0gKCh2NSAqIGRjdFNpbjEpICsgKHY2ICogZGN0Q29zMSkgKyAyMDQ4KSA+PiAxMjsKICAgICAgICB2NSA9ICgodjUgKiBkY3RDb3MxKSAtICh2NiAqIGRjdFNpbjEpICsgMjA0OCkgPj4gMTI7CiAgICAgICAgdjYgPSB0OwoKICAgICAgICAvLyBzdGFnZSAxCiAgICAgICAgcFsoMCAqIDgpICsgY29sXSA9IHYwICsgdjc7CiAgICAgICAgcFsoNyAqIDgpICsgY29sXSA9IHYwIC0gdjc7CiAgICAgICAgcFsoMSAqIDgpICsgY29sXSA9IHYxICsgdjY7CiAgICAgICAgcFsoNiAqIDgpICsgY29sXSA9IHYxIC0gdjY7CiAgICAgICAgcFsoMiAqIDgpICsgY29sXSA9IHYyICsgdjU7CiAgICAgICAgcFsoNSAqIDgpICsgY29sXSA9IHYyIC0gdjU7CiAgICAgICAgcFsoMyAqIDgpICsgY29sXSA9IHYzICsgdjQ7CiAgICAgICAgcFsoNCAqIDgpICsgY29sXSA9IHYzIC0gdjQ7CiAgICAgIH0KCiAgICAgIC8vIGNvbnZlcnQgdG8gOC1iaXQgaW50ZWdlcnMKICAgICAgZm9yIChpID0gMDsgaSA8IDY0OyArK2kpIHsKICAgICAgICBjb25zdCBzYW1wbGUgPSAxMjggKyAoKHBbaV0gKyA4KSA+PiA0KTsKICAgICAgICBpZiAoc2FtcGxlIDwgMCkgewogICAgICAgICAgZGF0YU91dFtpXSA9IDA7CiAgICAgICAgfSBlbHNlIGlmIChzYW1wbGUgPiAwWEZGKSB7CiAgICAgICAgICBkYXRhT3V0W2ldID0gMHhGRjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZGF0YU91dFtpXSA9IHNhbXBsZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICBmb3IgKGxldCBibG9ja1JvdyA9IDA7IGJsb2NrUm93IDwgYmxvY2tzUGVyQ29sdW1uOyBibG9ja1JvdysrKSB7CiAgICAgIGNvbnN0IHNjYW5MaW5lID0gYmxvY2tSb3cgPDwgMzsKICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA4OyBpKyspIHsKICAgICAgICBsaW5lcy5wdXNoKG5ldyBVaW50OEFycmF5KHNhbXBsZXNQZXJMaW5lKSk7CiAgICAgIH0KICAgICAgZm9yIChsZXQgYmxvY2tDb2wgPSAwOyBibG9ja0NvbCA8IGJsb2Nrc1BlckxpbmU7IGJsb2NrQ29sKyspIHsKICAgICAgICBxdWFudGl6ZUFuZEludmVyc2UoY29tcG9uZW50LmJsb2Nrc1tibG9ja1Jvd11bYmxvY2tDb2xdLCByLCBSKTsKCiAgICAgICAgbGV0IG9mZnNldCA9IDA7CiAgICAgICAgY29uc3Qgc2FtcGxlID0gYmxvY2tDb2wgPDwgMzsKICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IDg7IGorKykgewogICAgICAgICAgY29uc3QgbGluZSA9IGxpbmVzW3NjYW5MaW5lICsgal07CiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDg7IGkrKykgewogICAgICAgICAgICBsaW5lW3NhbXBsZSArIGldID0gcltvZmZzZXQrK107CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICByZXR1cm4gbGluZXM7CiAgfQoKICBjbGFzcyBKcGVnU3RyZWFtUmVhZGVyIHsKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICB0aGlzLmpmaWYgPSBudWxsOwogICAgICB0aGlzLmFkb2JlID0gbnVsbDsKCiAgICAgIHRoaXMucXVhbnRpemF0aW9uVGFibGVzID0gW107CiAgICAgIHRoaXMuaHVmZm1hblRhYmxlc0FDID0gW107CiAgICAgIHRoaXMuaHVmZm1hblRhYmxlc0RDID0gW107CiAgICAgIHRoaXMucmVzZXRGcmFtZXMoKTsKICAgIH0KCiAgICByZXNldEZyYW1lcygpIHsKICAgICAgdGhpcy5mcmFtZXMgPSBbXTsKICAgIH0KCiAgICBwYXJzZShkYXRhKSB7CiAgICAgIGxldCBvZmZzZXQgPSAwOwogICAgICAvLyBjb25zdCB7IGxlbmd0aCB9ID0gZGF0YTsKICAgICAgZnVuY3Rpb24gcmVhZFVpbnQxNigpIHsKICAgICAgICBjb25zdCB2YWx1ZSA9IChkYXRhW29mZnNldF0gPDwgOCkgfCBkYXRhW29mZnNldCArIDFdOwogICAgICAgIG9mZnNldCArPSAyOwogICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgfQogICAgICBmdW5jdGlvbiByZWFkRGF0YUJsb2NrKCkgewogICAgICAgIGNvbnN0IGxlbmd0aCA9IHJlYWRVaW50MTYoKTsKICAgICAgICBjb25zdCBhcnJheSA9IGRhdGEuc3ViYXJyYXkob2Zmc2V0LCBvZmZzZXQgKyBsZW5ndGggLSAyKTsKICAgICAgICBvZmZzZXQgKz0gYXJyYXkubGVuZ3RoOwogICAgICAgIHJldHVybiBhcnJheTsKICAgICAgfQogICAgICBmdW5jdGlvbiBwcmVwYXJlQ29tcG9uZW50cyhmcmFtZSkgewogICAgICAgIGxldCBtYXhIID0gMDsKICAgICAgICBsZXQgbWF4ViA9IDA7CiAgICAgICAgbGV0IGNvbXBvbmVudDsKICAgICAgICBsZXQgY29tcG9uZW50SWQ7CiAgICAgICAgZm9yIChjb21wb25lbnRJZCBpbiBmcmFtZS5jb21wb25lbnRzKSB7CiAgICAgICAgICBpZiAoZnJhbWUuY29tcG9uZW50cy5oYXNPd25Qcm9wZXJ0eShjb21wb25lbnRJZCkpIHsKICAgICAgICAgICAgY29tcG9uZW50ID0gZnJhbWUuY29tcG9uZW50c1tjb21wb25lbnRJZF07CiAgICAgICAgICAgIGlmIChtYXhIIDwgY29tcG9uZW50LmgpIHsKICAgICAgICAgICAgICBtYXhIID0gY29tcG9uZW50Lmg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKG1heFYgPCBjb21wb25lbnQudikgewogICAgICAgICAgICAgIG1heFYgPSBjb21wb25lbnQudjsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjb25zdCBtY3VzUGVyTGluZSA9IE1hdGguY2VpbChmcmFtZS5zYW1wbGVzUGVyTGluZSAvIDggLyBtYXhIKTsKICAgICAgICBjb25zdCBtY3VzUGVyQ29sdW1uID0gTWF0aC5jZWlsKGZyYW1lLnNjYW5MaW5lcyAvIDggLyBtYXhWKTsKICAgICAgICBmb3IgKGNvbXBvbmVudElkIGluIGZyYW1lLmNvbXBvbmVudHMpIHsKICAgICAgICAgIGlmIChmcmFtZS5jb21wb25lbnRzLmhhc093blByb3BlcnR5KGNvbXBvbmVudElkKSkgewogICAgICAgICAgICBjb21wb25lbnQgPSBmcmFtZS5jb21wb25lbnRzW2NvbXBvbmVudElkXTsKICAgICAgICAgICAgY29uc3QgYmxvY2tzUGVyTGluZSA9IE1hdGguY2VpbChNYXRoLmNlaWwoZnJhbWUuc2FtcGxlc1BlckxpbmUgLyA4KSAqIGNvbXBvbmVudC5oIC8gbWF4SCk7CiAgICAgICAgICAgIGNvbnN0IGJsb2Nrc1BlckNvbHVtbiA9IE1hdGguY2VpbChNYXRoLmNlaWwoZnJhbWUuc2NhbkxpbmVzIC8gOCkgKiBjb21wb25lbnQudiAvIG1heFYpOwogICAgICAgICAgICBjb25zdCBibG9ja3NQZXJMaW5lRm9yTWN1ID0gbWN1c1BlckxpbmUgKiBjb21wb25lbnQuaDsKICAgICAgICAgICAgY29uc3QgYmxvY2tzUGVyQ29sdW1uRm9yTWN1ID0gbWN1c1BlckNvbHVtbiAqIGNvbXBvbmVudC52OwogICAgICAgICAgICBjb25zdCBibG9ja3MgPSBbXTsKICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBibG9ja3NQZXJDb2x1bW5Gb3JNY3U7IGkrKykgewogICAgICAgICAgICAgIGNvbnN0IHJvdyA9IFtdOwogICAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgYmxvY2tzUGVyTGluZUZvck1jdTsgaisrKSB7CiAgICAgICAgICAgICAgICByb3cucHVzaChuZXcgSW50MzJBcnJheSg2NCkpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBibG9ja3MucHVzaChyb3cpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvbXBvbmVudC5ibG9ja3NQZXJMaW5lID0gYmxvY2tzUGVyTGluZTsKICAgICAgICAgICAgY29tcG9uZW50LmJsb2Nrc1BlckNvbHVtbiA9IGJsb2Nrc1BlckNvbHVtbjsKICAgICAgICAgICAgY29tcG9uZW50LmJsb2NrcyA9IGJsb2NrczsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZnJhbWUubWF4SCA9IG1heEg7CiAgICAgICAgZnJhbWUubWF4ViA9IG1heFY7CiAgICAgICAgZnJhbWUubWN1c1BlckxpbmUgPSBtY3VzUGVyTGluZTsKICAgICAgICBmcmFtZS5tY3VzUGVyQ29sdW1uID0gbWN1c1BlckNvbHVtbjsKICAgICAgfQoKICAgICAgbGV0IGZpbGVNYXJrZXIgPSByZWFkVWludDE2KCk7CiAgICAgIGlmIChmaWxlTWFya2VyICE9PSAweEZGRDgpIHsgLy8gU09JIChTdGFydCBvZiBJbWFnZSkKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NPSSBub3QgZm91bmQnKTsKICAgICAgfQoKICAgICAgZmlsZU1hcmtlciA9IHJlYWRVaW50MTYoKTsKICAgICAgd2hpbGUgKGZpbGVNYXJrZXIgIT09IDB4RkZEOSkgeyAvLyBFT0kgKEVuZCBvZiBpbWFnZSkKICAgICAgICBzd2l0Y2ggKGZpbGVNYXJrZXIpIHsKICAgICAgICAgIGNhc2UgMHhGRjAwOiBicmVhazsKICAgICAgICAgIGNhc2UgMHhGRkUwOiAvLyBBUFAwIChBcHBsaWNhdGlvbiBTcGVjaWZpYykKICAgICAgICAgIGNhc2UgMHhGRkUxOiAvLyBBUFAxCiAgICAgICAgICBjYXNlIDB4RkZFMjogLy8gQVBQMgogICAgICAgICAgY2FzZSAweEZGRTM6IC8vIEFQUDMKICAgICAgICAgIGNhc2UgMHhGRkU0OiAvLyBBUFA0CiAgICAgICAgICBjYXNlIDB4RkZFNTogLy8gQVBQNQogICAgICAgICAgY2FzZSAweEZGRTY6IC8vIEFQUDYKICAgICAgICAgIGNhc2UgMHhGRkU3OiAvLyBBUFA3CiAgICAgICAgICBjYXNlIDB4RkZFODogLy8gQVBQOAogICAgICAgICAgY2FzZSAweEZGRTk6IC8vIEFQUDkKICAgICAgICAgIGNhc2UgMHhGRkVBOiAvLyBBUFAxMAogICAgICAgICAgY2FzZSAweEZGRUI6IC8vIEFQUDExCiAgICAgICAgICBjYXNlIDB4RkZFQzogLy8gQVBQMTIKICAgICAgICAgIGNhc2UgMHhGRkVEOiAvLyBBUFAxMwogICAgICAgICAgY2FzZSAweEZGRUU6IC8vIEFQUDE0CiAgICAgICAgICBjYXNlIDB4RkZFRjogLy8gQVBQMTUKICAgICAgICAgIGNhc2UgMHhGRkZFOiB7IC8vIENPTSAoQ29tbWVudCkKICAgICAgICAgICAgY29uc3QgYXBwRGF0YSA9IHJlYWREYXRhQmxvY2soKTsKCiAgICAgICAgICAgIGlmIChmaWxlTWFya2VyID09PSAweEZGRTApIHsKICAgICAgICAgICAgICBpZiAoYXBwRGF0YVswXSA9PT0gMHg0QSAmJiBhcHBEYXRhWzFdID09PSAweDQ2ICYmIGFwcERhdGFbMl0gPT09IDB4NDkKICAgICAgICAgICAgICAgICYmIGFwcERhdGFbM10gPT09IDB4NDYgJiYgYXBwRGF0YVs0XSA9PT0gMCkgeyAvLyAnSkZJRlx4MDAnCiAgICAgICAgICAgICAgICB0aGlzLmpmaWYgPSB7CiAgICAgICAgICAgICAgICAgIHZlcnNpb246IHsgbWFqb3I6IGFwcERhdGFbNV0sIG1pbm9yOiBhcHBEYXRhWzZdIH0sCiAgICAgICAgICAgICAgICAgIGRlbnNpdHlVbml0czogYXBwRGF0YVs3XSwKICAgICAgICAgICAgICAgICAgeERlbnNpdHk6IChhcHBEYXRhWzhdIDw8IDgpIHwgYXBwRGF0YVs5XSwKICAgICAgICAgICAgICAgICAgeURlbnNpdHk6IChhcHBEYXRhWzEwXSA8PCA4KSB8IGFwcERhdGFbMTFdLAogICAgICAgICAgICAgICAgICB0aHVtYldpZHRoOiBhcHBEYXRhWzEyXSwKICAgICAgICAgICAgICAgICAgdGh1bWJIZWlnaHQ6IGFwcERhdGFbMTNdLAogICAgICAgICAgICAgICAgICB0aHVtYkRhdGE6IGFwcERhdGEuc3ViYXJyYXkoMTQsIDE0ICsgKDMgKiBhcHBEYXRhWzEyXSAqIGFwcERhdGFbMTNdKSksCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBUT0RPIEFQUDEgLSBFeGlmCiAgICAgICAgICAgIGlmIChmaWxlTWFya2VyID09PSAweEZGRUUpIHsKICAgICAgICAgICAgICBpZiAoYXBwRGF0YVswXSA9PT0gMHg0MSAmJiBhcHBEYXRhWzFdID09PSAweDY0ICYmIGFwcERhdGFbMl0gPT09IDB4NkYKICAgICAgICAgICAgICAgICYmIGFwcERhdGFbM10gPT09IDB4NjIgJiYgYXBwRGF0YVs0XSA9PT0gMHg2NSAmJiBhcHBEYXRhWzVdID09PSAwKSB7IC8vICdBZG9iZVx4MDAnCiAgICAgICAgICAgICAgICB0aGlzLmFkb2JlID0gewogICAgICAgICAgICAgICAgICB2ZXJzaW9uOiBhcHBEYXRhWzZdLAogICAgICAgICAgICAgICAgICBmbGFnczA6IChhcHBEYXRhWzddIDw8IDgpIHwgYXBwRGF0YVs4XSwKICAgICAgICAgICAgICAgICAgZmxhZ3MxOiAoYXBwRGF0YVs5XSA8PCA4KSB8IGFwcERhdGFbMTBdLAogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1Db2RlOiBhcHBEYXRhWzExXSwKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQoKICAgICAgICAgIGNhc2UgMHhGRkRCOiB7IC8vIERRVCAoRGVmaW5lIFF1YW50aXphdGlvbiBUYWJsZXMpCiAgICAgICAgICAgIGNvbnN0IHF1YW50aXphdGlvblRhYmxlc0xlbmd0aCA9IHJlYWRVaW50MTYoKTsKICAgICAgICAgICAgY29uc3QgcXVhbnRpemF0aW9uVGFibGVzRW5kID0gcXVhbnRpemF0aW9uVGFibGVzTGVuZ3RoICsgb2Zmc2V0IC0gMjsKICAgICAgICAgICAgd2hpbGUgKG9mZnNldCA8IHF1YW50aXphdGlvblRhYmxlc0VuZCkgewogICAgICAgICAgICAgIGNvbnN0IHF1YW50aXphdGlvblRhYmxlU3BlYyA9IGRhdGFbb2Zmc2V0KytdOwogICAgICAgICAgICAgIGNvbnN0IHRhYmxlRGF0YSA9IG5ldyBJbnQzMkFycmF5KDY0KTsKICAgICAgICAgICAgICBpZiAoKHF1YW50aXphdGlvblRhYmxlU3BlYyA+PiA0KSA9PT0gMCkgeyAvLyA4IGJpdCB2YWx1ZXMKICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgNjQ7IGorKykgewogICAgICAgICAgICAgICAgICBjb25zdCB6ID0gZGN0WmlnWmFnW2pdOwogICAgICAgICAgICAgICAgICB0YWJsZURhdGFbel0gPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9IGVsc2UgaWYgKChxdWFudGl6YXRpb25UYWJsZVNwZWMgPj4gNCkgPT09IDEpIHsgLy8gMTYgYml0CiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IDY0OyBqKyspIHsKICAgICAgICAgICAgICAgICAgY29uc3QgeiA9IGRjdFppZ1phZ1tqXTsKICAgICAgICAgICAgICAgICAgdGFibGVEYXRhW3pdID0gcmVhZFVpbnQxNigpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RRVDogaW52YWxpZCB0YWJsZSBzcGVjJyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHRoaXMucXVhbnRpemF0aW9uVGFibGVzW3F1YW50aXphdGlvblRhYmxlU3BlYyAmIDE1XSA9IHRhYmxlRGF0YTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KCiAgICAgICAgICBjYXNlIDB4RkZDMDogLy8gU09GMCAoU3RhcnQgb2YgRnJhbWUsIEJhc2VsaW5lIERDVCkKICAgICAgICAgIGNhc2UgMHhGRkMxOiAvLyBTT0YxIChTdGFydCBvZiBGcmFtZSwgRXh0ZW5kZWQgRENUKQogICAgICAgICAgY2FzZSAweEZGQzI6IHsgLy8gU09GMiAoU3RhcnQgb2YgRnJhbWUsIFByb2dyZXNzaXZlIERDVCkKICAgICAgICAgICAgcmVhZFVpbnQxNigpOyAvLyBza2lwIGRhdGEgbGVuZ3RoCiAgICAgICAgICAgIGNvbnN0IGZyYW1lID0gewogICAgICAgICAgICAgIGV4dGVuZGVkOiAoZmlsZU1hcmtlciA9PT0gMHhGRkMxKSwKICAgICAgICAgICAgICBwcm9ncmVzc2l2ZTogKGZpbGVNYXJrZXIgPT09IDB4RkZDMiksCiAgICAgICAgICAgICAgcHJlY2lzaW9uOiBkYXRhW29mZnNldCsrXSwKICAgICAgICAgICAgICBzY2FuTGluZXM6IHJlYWRVaW50MTYoKSwKICAgICAgICAgICAgICBzYW1wbGVzUGVyTGluZTogcmVhZFVpbnQxNigpLAogICAgICAgICAgICAgIGNvbXBvbmVudHM6IHt9LAogICAgICAgICAgICAgIGNvbXBvbmVudHNPcmRlcjogW10sCiAgICAgICAgICAgIH07CgogICAgICAgICAgICBjb25zdCBjb21wb25lbnRzQ291bnQgPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgbGV0IGNvbXBvbmVudElkOwogICAgICAgICAgICAvLyBsZXQgbWF4SCA9IDA7CiAgICAgICAgICAgIC8vIGxldCBtYXhWID0gMDsKICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb21wb25lbnRzQ291bnQ7IGkrKykgewogICAgICAgICAgICAgIGNvbXBvbmVudElkID0gZGF0YVtvZmZzZXRdOwogICAgICAgICAgICAgIGNvbnN0IGggPSBkYXRhW29mZnNldCArIDFdID4+IDQ7CiAgICAgICAgICAgICAgY29uc3QgdiA9IGRhdGFbb2Zmc2V0ICsgMV0gJiAxNTsKICAgICAgICAgICAgICBjb25zdCBxSWQgPSBkYXRhW29mZnNldCArIDJdOwogICAgICAgICAgICAgIGZyYW1lLmNvbXBvbmVudHNPcmRlci5wdXNoKGNvbXBvbmVudElkKTsKICAgICAgICAgICAgICBmcmFtZS5jb21wb25lbnRzW2NvbXBvbmVudElkXSA9IHsKICAgICAgICAgICAgICAgIGgsCiAgICAgICAgICAgICAgICB2LAogICAgICAgICAgICAgICAgcXVhbnRpemF0aW9uSWR4OiBxSWQsCiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBvZmZzZXQgKz0gMzsKICAgICAgICAgICAgfQogICAgICAgICAgICBwcmVwYXJlQ29tcG9uZW50cyhmcmFtZSk7CiAgICAgICAgICAgIHRoaXMuZnJhbWVzLnB1c2goZnJhbWUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KCiAgICAgICAgICBjYXNlIDB4RkZDNDogeyAvLyBESFQgKERlZmluZSBIdWZmbWFuIFRhYmxlcykKICAgICAgICAgICAgY29uc3QgaHVmZm1hbkxlbmd0aCA9IHJlYWRVaW50MTYoKTsKICAgICAgICAgICAgZm9yIChsZXQgaSA9IDI7IGkgPCBodWZmbWFuTGVuZ3RoOykgewogICAgICAgICAgICAgIGNvbnN0IGh1ZmZtYW5UYWJsZVNwZWMgPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgICBjb25zdCBjb2RlTGVuZ3RocyA9IG5ldyBVaW50OEFycmF5KDE2KTsKICAgICAgICAgICAgICBsZXQgY29kZUxlbmd0aFN1bSA9IDA7CiAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCAxNjsgaisrLCBvZmZzZXQrKykgewogICAgICAgICAgICAgICAgY29kZUxlbmd0aHNbal0gPSBkYXRhW29mZnNldF07CiAgICAgICAgICAgICAgICBjb2RlTGVuZ3RoU3VtICs9IGNvZGVMZW5ndGhzW2pdOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBjb25zdCBodWZmbWFuVmFsdWVzID0gbmV3IFVpbnQ4QXJyYXkoY29kZUxlbmd0aFN1bSk7CiAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBjb2RlTGVuZ3RoU3VtOyBqKyssIG9mZnNldCsrKSB7CiAgICAgICAgICAgICAgICBodWZmbWFuVmFsdWVzW2pdID0gZGF0YVtvZmZzZXRdOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpICs9IDE3ICsgY29kZUxlbmd0aFN1bTsKCiAgICAgICAgICAgICAgaWYgKChodWZmbWFuVGFibGVTcGVjID4+IDQpID09PSAwKSB7CiAgICAgICAgICAgICAgICB0aGlzLmh1ZmZtYW5UYWJsZXNEQ1todWZmbWFuVGFibGVTcGVjICYgMTVdID0gYnVpbGRIdWZmbWFuVGFibGUoCiAgICAgICAgICAgICAgICAgIGNvZGVMZW5ndGhzLCBodWZmbWFuVmFsdWVzLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhpcy5odWZmbWFuVGFibGVzQUNbaHVmZm1hblRhYmxlU3BlYyAmIDE1XSA9IGJ1aWxkSHVmZm1hblRhYmxlKAogICAgICAgICAgICAgICAgICBjb2RlTGVuZ3RocywgaHVmZm1hblZhbHVlcywKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQoKICAgICAgICAgIGNhc2UgMHhGRkREOiAvLyBEUkkgKERlZmluZSBSZXN0YXJ0IEludGVydmFsKQogICAgICAgICAgICByZWFkVWludDE2KCk7IC8vIHNraXAgZGF0YSBsZW5ndGgKICAgICAgICAgICAgdGhpcy5yZXNldEludGVydmFsID0gcmVhZFVpbnQxNigpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICBjYXNlIDB4RkZEQTogeyAvLyBTT1MgKFN0YXJ0IG9mIFNjYW4pCiAgICAgICAgICAgIHJlYWRVaW50MTYoKTsgLy8gc2tpcCBsZW5ndGgKICAgICAgICAgICAgY29uc3Qgc2VsZWN0b3JzQ291bnQgPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgY29uc3QgY29tcG9uZW50cyA9IFtdOwogICAgICAgICAgICBjb25zdCBmcmFtZSA9IHRoaXMuZnJhbWVzWzBdOwogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlbGVjdG9yc0NvdW50OyBpKyspIHsKICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBmcmFtZS5jb21wb25lbnRzW2RhdGFbb2Zmc2V0KytdXTsKICAgICAgICAgICAgICBjb25zdCB0YWJsZVNwZWMgPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgICBjb21wb25lbnQuaHVmZm1hblRhYmxlREMgPSB0aGlzLmh1ZmZtYW5UYWJsZXNEQ1t0YWJsZVNwZWMgPj4gNF07CiAgICAgICAgICAgICAgY29tcG9uZW50Lmh1ZmZtYW5UYWJsZUFDID0gdGhpcy5odWZmbWFuVGFibGVzQUNbdGFibGVTcGVjICYgMTVdOwogICAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaChjb21wb25lbnQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvbnN0IHNwZWN0cmFsU3RhcnQgPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgY29uc3Qgc3BlY3RyYWxFbmQgPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgY29uc3Qgc3VjY2Vzc2l2ZUFwcHJveGltYXRpb24gPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgY29uc3QgcHJvY2Vzc2VkID0gZGVjb2RlU2NhbihkYXRhLCBvZmZzZXQsCiAgICAgICAgICAgICAgZnJhbWUsIGNvbXBvbmVudHMsIHRoaXMucmVzZXRJbnRlcnZhbCwKICAgICAgICAgICAgICBzcGVjdHJhbFN0YXJ0LCBzcGVjdHJhbEVuZCwKICAgICAgICAgICAgICBzdWNjZXNzaXZlQXBwcm94aW1hdGlvbiA+PiA0LCBzdWNjZXNzaXZlQXBwcm94aW1hdGlvbiAmIDE1KTsKICAgICAgICAgICAgb2Zmc2V0ICs9IHByb2Nlc3NlZDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CgogICAgICAgICAgY2FzZSAweEZGRkY6IC8vIEZpbGwgYnl0ZXMKICAgICAgICAgICAgaWYgKGRhdGFbb2Zmc2V0XSAhPT0gMHhGRikgeyAvLyBBdm9pZCBza2lwcGluZyBhIHZhbGlkIG1hcmtlci4KICAgICAgICAgICAgICBvZmZzZXQtLTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBpZiAoZGF0YVtvZmZzZXQgLSAzXSA9PT0gMHhGRgogICAgICAgICAgICAgICYmIGRhdGFbb2Zmc2V0IC0gMl0gPj0gMHhDMCAmJiBkYXRhW29mZnNldCAtIDJdIDw9IDB4RkUpIHsKICAgICAgICAgICAgICAvLyBjb3VsZCBiZSBpbmNvcnJlY3QgZW5jb2RpbmcgLS0gbGFzdCAweEZGIGJ5dGUgb2YgdGhlIHByZXZpb3VzCiAgICAgICAgICAgICAgLy8gYmxvY2sgd2FzIGVhdGVuIGJ5IHRoZSBlbmNvZGVyCiAgICAgICAgICAgICAgb2Zmc2V0IC09IDM7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmtub3duIEpQRUcgbWFya2VyICR7ZmlsZU1hcmtlci50b1N0cmluZygxNil9YCk7CiAgICAgICAgfQogICAgICAgIGZpbGVNYXJrZXIgPSByZWFkVWludDE2KCk7CiAgICAgIH0KICAgIH0KCiAgICBnZXRSZXN1bHQoKSB7CiAgICAgIGNvbnN0IHsgZnJhbWVzIH0gPSB0aGlzOwogICAgICBpZiAodGhpcy5mcmFtZXMubGVuZ3RoID09PSAwKSB7CiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdubyBmcmFtZXMgd2VyZSBkZWNvZGVkJyk7CiAgICAgIH0gZWxzZSBpZiAodGhpcy5mcmFtZXMubGVuZ3RoID4gMSkgewogICAgICAgIGNvbnNvbGUud2FybignbW9yZSB0aGFuIG9uZSBmcmFtZSBpcyBub3Qgc3VwcG9ydGVkJyk7CiAgICAgIH0KCiAgICAgIC8vIHNldCBlYWNoIGZyYW1lJ3MgY29tcG9uZW50cyBxdWFudGl6YXRpb24gdGFibGUKICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZyYW1lcy5sZW5ndGg7IGkrKykgewogICAgICAgIGNvbnN0IGNwID0gdGhpcy5mcmFtZXNbaV0uY29tcG9uZW50czsKICAgICAgICBmb3IgKGNvbnN0IGogb2YgT2JqZWN0LmtleXMoY3ApKSB7CiAgICAgICAgICBjcFtqXS5xdWFudGl6YXRpb25UYWJsZSA9IHRoaXMucXVhbnRpemF0aW9uVGFibGVzW2NwW2pdLnF1YW50aXphdGlvbklkeF07CiAgICAgICAgICBkZWxldGUgY3Bbal0ucXVhbnRpemF0aW9uSWR4OwogICAgICAgIH0KICAgICAgfQoKICAgICAgY29uc3QgZnJhbWUgPSBmcmFtZXNbMF07CiAgICAgIGNvbnN0IHsgY29tcG9uZW50cywgY29tcG9uZW50c09yZGVyIH0gPSBmcmFtZTsKICAgICAgY29uc3Qgb3V0Q29tcG9uZW50cyA9IFtdOwogICAgICBjb25zdCB3aWR0aCA9IGZyYW1lLnNhbXBsZXNQZXJMaW5lOwogICAgICBjb25zdCBoZWlnaHQgPSBmcmFtZS5zY2FuTGluZXM7CgogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbXBvbmVudHNPcmRlci5sZW5ndGg7IGkrKykgewogICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGNvbXBvbmVudHNbY29tcG9uZW50c09yZGVyW2ldXTsKICAgICAgICBvdXRDb21wb25lbnRzLnB1c2goewogICAgICAgICAgbGluZXM6IGJ1aWxkQ29tcG9uZW50RGF0YShmcmFtZSwgY29tcG9uZW50KSwKICAgICAgICAgIHNjYWxlWDogY29tcG9uZW50LmggLyBmcmFtZS5tYXhILAogICAgICAgICAgc2NhbGVZOiBjb21wb25lbnQudiAvIGZyYW1lLm1heFYsCiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIGNvbnN0IG91dCA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0ICogb3V0Q29tcG9uZW50cy5sZW5ndGgpOwogICAgICBsZXQgb2kgPSAwOwogICAgICBmb3IgKGxldCB5ID0gMDsgeSA8IGhlaWdodDsgKyt5KSB7CiAgICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCB3aWR0aDsgKyt4KSB7CiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG91dENvbXBvbmVudHMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gb3V0Q29tcG9uZW50c1tpXTsKICAgICAgICAgICAgb3V0W29pXSA9IGNvbXBvbmVudC5saW5lc1swIHwgeSAqIGNvbXBvbmVudC5zY2FsZVldWzAgfCB4ICogY29tcG9uZW50LnNjYWxlWF07CiAgICAgICAgICAgICsrb2k7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBvdXQ7CiAgICB9CiAgfQoKICBjbGFzcyBKcGVnRGVjb2RlciBleHRlbmRzIEJhc2VEZWNvZGVyIHsKICAgIGNvbnN0cnVjdG9yKGZpbGVEaXJlY3RvcnkpIHsKICAgICAgc3VwZXIoKTsKICAgICAgdGhpcy5yZWFkZXIgPSBuZXcgSnBlZ1N0cmVhbVJlYWRlcigpOwogICAgICBpZiAoZmlsZURpcmVjdG9yeS5KUEVHVGFibGVzKSB7CiAgICAgICAgdGhpcy5yZWFkZXIucGFyc2UoZmlsZURpcmVjdG9yeS5KUEVHVGFibGVzKTsKICAgICAgfQogICAgfQoKICAgIGRlY29kZUJsb2NrKGJ1ZmZlcikgewogICAgICB0aGlzLnJlYWRlci5yZXNldEZyYW1lcygpOwogICAgICB0aGlzLnJlYWRlci5wYXJzZShuZXcgVWludDhBcnJheShidWZmZXIpKTsKICAgICAgcmV0dXJuIHRoaXMucmVhZGVyLmdldFJlc3VsdCgpLmJ1ZmZlcjsKICAgIH0KICB9CgogIC8qISBwYWtvIDIuMC40IGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlY2EvcGFrbyBAbGljZW5zZSAoTUlUIEFORCBabGliKSAqLwogIC8vIChDKSAxOTk1LTIwMTMgSmVhbi1sb3VwIEdhaWxseSBhbmQgTWFyayBBZGxlcgogIC8vIChDKSAyMDE0LTIwMTcgVml0YWx5IFB1enJpbiBhbmQgQW5kcmV5IFR1cGl0c2luCiAgLy8KICAvLyBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICdhcy1pcycsIHdpdGhvdXQgYW55IGV4cHJlc3Mgb3IgaW1wbGllZAogIC8vIHdhcnJhbnR5LiBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogIC8vIGFyaXNpbmcgZnJvbSB0aGUgdXNlIG9mIHRoaXMgc29mdHdhcmUuCiAgLy8KICAvLyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAvLyBpbmNsdWRpbmcgY29tbWVyY2lhbCBhcHBsaWNhdGlvbnMsIGFuZCB0byBhbHRlciBpdCBhbmQgcmVkaXN0cmlidXRlIGl0CiAgLy8gZnJlZWx5LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zOgogIC8vCiAgLy8gMS4gVGhlIG9yaWdpbiBvZiB0aGlzIHNvZnR3YXJlIG11c3Qgbm90IGJlIG1pc3JlcHJlc2VudGVkOyB5b3UgbXVzdCBub3QKICAvLyAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgLy8gICBpbiBhIHByb2R1Y3QsIGFuIGFja25vd2xlZGdtZW50IGluIHRoZSBwcm9kdWN0IGRvY3VtZW50YXRpb24gd291bGQgYmUKICAvLyAgIGFwcHJlY2lhdGVkIGJ1dCBpcyBub3QgcmVxdWlyZWQuCiAgLy8gMi4gQWx0ZXJlZCBzb3VyY2UgdmVyc2lvbnMgbXVzdCBiZSBwbGFpbmx5IG1hcmtlZCBhcyBzdWNoLCBhbmQgbXVzdCBub3QgYmUKICAvLyAgIG1pc3JlcHJlc2VudGVkIGFzIGJlaW5nIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4KICAvLyAzLiBUaGlzIG5vdGljZSBtYXkgbm90IGJlIHJlbW92ZWQgb3IgYWx0ZXJlZCBmcm9tIGFueSBzb3VyY2UgZGlzdHJpYnV0aW9uLgoKICAvKiBlc2xpbnQtZGlzYWJsZSBzcGFjZS11bmFyeS1vcHMgKi8KCiAgLyogUHVibGljIGNvbnN0YW50cyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKCiAgLy9jb25zdCBaX0ZJTFRFUkVEICAgICAgICAgID0gMTsKICAvL2NvbnN0IFpfSFVGRk1BTl9PTkxZICAgICAgPSAyOwogIC8vY29uc3QgWl9STEUgICAgICAgICAgICAgICA9IDM7CiAgY29uc3QgWl9GSVhFRCQxICAgICAgICAgICAgICAgPSA0OwogIC8vY29uc3QgWl9ERUZBVUxUX1NUUkFURUdZICA9IDA7CgogIC8qIFBvc3NpYmxlIHZhbHVlcyBvZiB0aGUgZGF0YV90eXBlIGZpZWxkICh0aG91Z2ggc2VlIGluZmxhdGUoKSkgKi8KICBjb25zdCBaX0JJTkFSWSAgICAgICAgICAgICAgPSAwOwogIGNvbnN0IFpfVEVYVCAgICAgICAgICAgICAgICA9IDE7CiAgLy9jb25zdCBaX0FTQ0lJICAgICAgICAgICAgID0gMTsgLy8gPSBaX1RFWFQKICBjb25zdCBaX1VOS05PV04kMSAgICAgICAgICAgICA9IDI7CgogIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgoKICBmdW5jdGlvbiB6ZXJvJDEoYnVmKSB7IGxldCBsZW4gPSBidWYubGVuZ3RoOyB3aGlsZSAoLS1sZW4gPj0gMCkgeyBidWZbbGVuXSA9IDA7IH0gfQoKICAvLyBGcm9tIHp1dGlsLmgKCiAgY29uc3QgU1RPUkVEX0JMT0NLID0gMDsKICBjb25zdCBTVEFUSUNfVFJFRVMgPSAxOwogIGNvbnN0IERZTl9UUkVFUyAgICA9IDI7CiAgLyogVGhlIHRocmVlIGtpbmRzIG9mIGJsb2NrIHR5cGUgKi8KCiAgY29uc3QgTUlOX01BVENIJDEgICAgPSAzOwogIGNvbnN0IE1BWF9NQVRDSCQxICAgID0gMjU4OwogIC8qIFRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIG1hdGNoIGxlbmd0aHMgKi8KCiAgLy8gRnJvbSBkZWZsYXRlLmgKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBJbnRlcm5hbCBjb21wcmVzc2lvbiBzdGF0ZS4KICAgKi8KCiAgY29uc3QgTEVOR1RIX0NPREVTJDEgID0gMjk7CiAgLyogbnVtYmVyIG9mIGxlbmd0aCBjb2Rlcywgbm90IGNvdW50aW5nIHRoZSBzcGVjaWFsIEVORF9CTE9DSyBjb2RlICovCgogIGNvbnN0IExJVEVSQUxTJDEgICAgICA9IDI1NjsKICAvKiBudW1iZXIgb2YgbGl0ZXJhbCBieXRlcyAwLi4yNTUgKi8KCiAgY29uc3QgTF9DT0RFUyQxICAgICAgID0gTElURVJBTFMkMSArIDEgKyBMRU5HVEhfQ09ERVMkMTsKICAvKiBudW1iZXIgb2YgTGl0ZXJhbCBvciBMZW5ndGggY29kZXMsIGluY2x1ZGluZyB0aGUgRU5EX0JMT0NLIGNvZGUgKi8KCiAgY29uc3QgRF9DT0RFUyQxICAgICAgID0gMzA7CiAgLyogbnVtYmVyIG9mIGRpc3RhbmNlIGNvZGVzICovCgogIGNvbnN0IEJMX0NPREVTJDEgICAgICA9IDE5OwogIC8qIG51bWJlciBvZiBjb2RlcyB1c2VkIHRvIHRyYW5zZmVyIHRoZSBiaXQgbGVuZ3RocyAqLwoKICBjb25zdCBIRUFQX1NJWkUkMSAgICAgPSAyICogTF9DT0RFUyQxICsgMTsKICAvKiBtYXhpbXVtIGhlYXAgc2l6ZSAqLwoKICBjb25zdCBNQVhfQklUUyQxICAgICAgPSAxNTsKICAvKiBBbGwgY29kZXMgbXVzdCBub3QgZXhjZWVkIE1BWF9CSVRTIGJpdHMgKi8KCiAgY29uc3QgQnVmX3NpemUgICAgICA9IDE2OwogIC8qIHNpemUgb2YgYml0IGJ1ZmZlciBpbiBiaV9idWYgKi8KCgogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAqIENvbnN0YW50cwogICAqLwoKICBjb25zdCBNQVhfQkxfQklUUyA9IDc7CiAgLyogQml0IGxlbmd0aCBjb2RlcyBtdXN0IG5vdCBleGNlZWQgTUFYX0JMX0JJVFMgYml0cyAqLwoKICBjb25zdCBFTkRfQkxPQ0sgICA9IDI1NjsKICAvKiBlbmQgb2YgYmxvY2sgbGl0ZXJhbCBjb2RlICovCgogIGNvbnN0IFJFUF8zXzYgICAgID0gMTY7CiAgLyogcmVwZWF0IHByZXZpb3VzIGJpdCBsZW5ndGggMy02IHRpbWVzICgyIGJpdHMgb2YgcmVwZWF0IGNvdW50KSAqLwoKICBjb25zdCBSRVBaXzNfMTAgICA9IDE3OwogIC8qIHJlcGVhdCBhIHplcm8gbGVuZ3RoIDMtMTAgdGltZXMgICgzIGJpdHMgb2YgcmVwZWF0IGNvdW50KSAqLwoKICBjb25zdCBSRVBaXzExXzEzOCA9IDE4OwogIC8qIHJlcGVhdCBhIHplcm8gbGVuZ3RoIDExLTEzOCB0aW1lcyAgKDcgYml0cyBvZiByZXBlYXQgY291bnQpICovCgogIC8qIGVzbGludC1kaXNhYmxlIGNvbW1hLXNwYWNpbmcsYXJyYXktYnJhY2tldC1zcGFjaW5nICovCiAgY29uc3QgZXh0cmFfbGJpdHMgPSAgIC8qIGV4dHJhIGJpdHMgZm9yIGVhY2ggbGVuZ3RoIGNvZGUgKi8KICAgIG5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDAsMSwxLDEsMSwyLDIsMiwyLDMsMywzLDMsNCw0LDQsNCw1LDUsNSw1LDBdKTsKCiAgY29uc3QgZXh0cmFfZGJpdHMgPSAgIC8qIGV4dHJhIGJpdHMgZm9yIGVhY2ggZGlzdGFuY2UgY29kZSAqLwogICAgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdKTsKCiAgY29uc3QgZXh0cmFfYmxiaXRzID0gIC8qIGV4dHJhIGJpdHMgZm9yIGVhY2ggYml0IGxlbmd0aCBjb2RlICovCiAgICBuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDMsN10pOwoKICBjb25zdCBibF9vcmRlciA9CiAgICBuZXcgVWludDhBcnJheShbMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0pOwogIC8qIGVzbGludC1lbmFibGUgY29tbWEtc3BhY2luZyxhcnJheS1icmFja2V0LXNwYWNpbmcgKi8KCiAgLyogVGhlIGxlbmd0aHMgb2YgdGhlIGJpdCBsZW5ndGggY29kZXMgYXJlIHNlbnQgaW4gb3JkZXIgb2YgZGVjcmVhc2luZwogICAqIHByb2JhYmlsaXR5LCB0byBhdm9pZCB0cmFuc21pdHRpbmcgdGhlIGxlbmd0aHMgZm9yIHVudXNlZCBiaXQgbGVuZ3RoIGNvZGVzLgogICAqLwoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBMb2NhbCBkYXRhLiBUaGVzZSBhcmUgaW5pdGlhbGl6ZWQgb25seSBvbmNlLgogICAqLwoKICAvLyBXZSBwcmUtZmlsbCBhcnJheXMgd2l0aCAwIHRvIGF2b2lkIHVuaW5pdGlhbGl6ZWQgZ2FwcwoKICBjb25zdCBESVNUX0NPREVfTEVOID0gNTEyOyAvKiBzZWUgZGVmaW5pdGlvbiBvZiBhcnJheSBkaXN0X2NvZGUgYmVsb3cgKi8KCiAgLy8gISEhISBVc2UgZmxhdCBhcnJheSBpbnN0ZWFkIG9mIHN0cnVjdHVyZSwgRnJlcSA9IGkqMiwgTGVuID0gaSoyKzEKICBjb25zdCBzdGF0aWNfbHRyZWUgID0gbmV3IEFycmF5KChMX0NPREVTJDEgKyAyKSAqIDIpOwogIHplcm8kMShzdGF0aWNfbHRyZWUpOwogIC8qIFRoZSBzdGF0aWMgbGl0ZXJhbCB0cmVlLiBTaW5jZSB0aGUgYml0IGxlbmd0aHMgYXJlIGltcG9zZWQsIHRoZXJlIGlzIG5vCiAgICogbmVlZCBmb3IgdGhlIExfQ09ERVMgZXh0cmEgY29kZXMgdXNlZCBkdXJpbmcgaGVhcCBjb25zdHJ1Y3Rpb24uIEhvd2V2ZXIKICAgKiBUaGUgY29kZXMgMjg2IGFuZCAyODcgYXJlIG5lZWRlZCB0byBidWlsZCBhIGNhbm9uaWNhbCB0cmVlIChzZWUgX3RyX2luaXQKICAgKiBiZWxvdykuCiAgICovCgogIGNvbnN0IHN0YXRpY19kdHJlZSAgPSBuZXcgQXJyYXkoRF9DT0RFUyQxICogMik7CiAgemVybyQxKHN0YXRpY19kdHJlZSk7CiAgLyogVGhlIHN0YXRpYyBkaXN0YW5jZSB0cmVlLiAoQWN0dWFsbHkgYSB0cml2aWFsIHRyZWUgc2luY2UgYWxsIGNvZGVzIHVzZQogICAqIDUgYml0cy4pCiAgICovCgogIGNvbnN0IF9kaXN0X2NvZGUgICAgPSBuZXcgQXJyYXkoRElTVF9DT0RFX0xFTik7CiAgemVybyQxKF9kaXN0X2NvZGUpOwogIC8qIERpc3RhbmNlIGNvZGVzLiBUaGUgZmlyc3QgMjU2IHZhbHVlcyBjb3JyZXNwb25kIHRvIHRoZSBkaXN0YW5jZXMKICAgKiAzIC4uIDI1OCwgdGhlIGxhc3QgMjU2IHZhbHVlcyBjb3JyZXNwb25kIHRvIHRoZSB0b3AgOCBiaXRzIG9mCiAgICogdGhlIDE1IGJpdCBkaXN0YW5jZXMuCiAgICovCgogIGNvbnN0IF9sZW5ndGhfY29kZSAgPSBuZXcgQXJyYXkoTUFYX01BVENIJDEgLSBNSU5fTUFUQ0gkMSArIDEpOwogIHplcm8kMShfbGVuZ3RoX2NvZGUpOwogIC8qIGxlbmd0aCBjb2RlIGZvciBlYWNoIG5vcm1hbGl6ZWQgbWF0Y2ggbGVuZ3RoICgwID09IE1JTl9NQVRDSCkgKi8KCiAgY29uc3QgYmFzZV9sZW5ndGggICA9IG5ldyBBcnJheShMRU5HVEhfQ09ERVMkMSk7CiAgemVybyQxKGJhc2VfbGVuZ3RoKTsKICAvKiBGaXJzdCBub3JtYWxpemVkIGxlbmd0aCBmb3IgZWFjaCBjb2RlICgwID0gTUlOX01BVENIKSAqLwoKICBjb25zdCBiYXNlX2Rpc3QgICAgID0gbmV3IEFycmF5KERfQ09ERVMkMSk7CiAgemVybyQxKGJhc2VfZGlzdCk7CiAgLyogRmlyc3Qgbm9ybWFsaXplZCBkaXN0YW5jZSBmb3IgZWFjaCBjb2RlICgwID0gZGlzdGFuY2Ugb2YgMSkgKi8KCgogIGZ1bmN0aW9uIFN0YXRpY1RyZWVEZXNjKHN0YXRpY190cmVlLCBleHRyYV9iaXRzLCBleHRyYV9iYXNlLCBlbGVtcywgbWF4X2xlbmd0aCkgewoKICAgIHRoaXMuc3RhdGljX3RyZWUgID0gc3RhdGljX3RyZWU7ICAvKiBzdGF0aWMgdHJlZSBvciBOVUxMICovCiAgICB0aGlzLmV4dHJhX2JpdHMgICA9IGV4dHJhX2JpdHM7ICAgLyogZXh0cmEgYml0cyBmb3IgZWFjaCBjb2RlIG9yIE5VTEwgKi8KICAgIHRoaXMuZXh0cmFfYmFzZSAgID0gZXh0cmFfYmFzZTsgICAvKiBiYXNlIGluZGV4IGZvciBleHRyYV9iaXRzICovCiAgICB0aGlzLmVsZW1zICAgICAgICA9IGVsZW1zOyAgICAgICAgLyogbWF4IG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgdHJlZSAqLwogICAgdGhpcy5tYXhfbGVuZ3RoICAgPSBtYXhfbGVuZ3RoOyAgIC8qIG1heCBiaXQgbGVuZ3RoIGZvciB0aGUgY29kZXMgKi8KCiAgICAvLyBzaG93IGlmIGBzdGF0aWNfdHJlZWAgaGFzIGRhdGEgb3IgZHVtbXkgLSBuZWVkZWQgZm9yIG1vbm9tb3JwaGljIG9iamVjdHMKICAgIHRoaXMuaGFzX3N0cmVlICAgID0gc3RhdGljX3RyZWUgJiYgc3RhdGljX3RyZWUubGVuZ3RoOwogIH0KCgogIGxldCBzdGF0aWNfbF9kZXNjOwogIGxldCBzdGF0aWNfZF9kZXNjOwogIGxldCBzdGF0aWNfYmxfZGVzYzsKCgogIGZ1bmN0aW9uIFRyZWVEZXNjKGR5bl90cmVlLCBzdGF0X2Rlc2MpIHsKICAgIHRoaXMuZHluX3RyZWUgPSBkeW5fdHJlZTsgICAgIC8qIHRoZSBkeW5hbWljIHRyZWUgKi8KICAgIHRoaXMubWF4X2NvZGUgPSAwOyAgICAgICAgICAgIC8qIGxhcmdlc3QgY29kZSB3aXRoIG5vbiB6ZXJvIGZyZXF1ZW5jeSAqLwogICAgdGhpcy5zdGF0X2Rlc2MgPSBzdGF0X2Rlc2M7ICAgLyogdGhlIGNvcnJlc3BvbmRpbmcgc3RhdGljIHRyZWUgKi8KICB9CgoKCiAgY29uc3QgZF9jb2RlID0gKGRpc3QpID0+IHsKCiAgICByZXR1cm4gZGlzdCA8IDI1NiA/IF9kaXN0X2NvZGVbZGlzdF0gOiBfZGlzdF9jb2RlWzI1NiArIChkaXN0ID4+PiA3KV07CiAgfTsKCgogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAqIE91dHB1dCBhIHNob3J0IExTQiBmaXJzdCBvbiB0aGUgc3RyZWFtLgogICAqIElOIGFzc2VydGlvbjogdGhlcmUgaXMgZW5vdWdoIHJvb20gaW4gcGVuZGluZ0J1Zi4KICAgKi8KICBjb25zdCBwdXRfc2hvcnQgPSAocywgdykgPT4gewogIC8vICAgIHB1dF9ieXRlKHMsICh1Y2gpKCh3KSAmIDB4ZmYpKTsKICAvLyAgICBwdXRfYnl0ZShzLCAodWNoKSgodXNoKSh3KSA+PiA4KSk7CiAgICBzLnBlbmRpbmdfYnVmW3MucGVuZGluZysrXSA9ICh3KSAmIDB4ZmY7CiAgICBzLnBlbmRpbmdfYnVmW3MucGVuZGluZysrXSA9ICh3ID4+PiA4KSAmIDB4ZmY7CiAgfTsKCgogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAqIFNlbmQgYSB2YWx1ZSBvbiBhIGdpdmVuIG51bWJlciBvZiBiaXRzLgogICAqIElOIGFzc2VydGlvbjogbGVuZ3RoIDw9IDE2IGFuZCB2YWx1ZSBmaXRzIGluIGxlbmd0aCBiaXRzLgogICAqLwogIGNvbnN0IHNlbmRfYml0cyA9IChzLCB2YWx1ZSwgbGVuZ3RoKSA9PiB7CgogICAgaWYgKHMuYmlfdmFsaWQgPiAoQnVmX3NpemUgLSBsZW5ndGgpKSB7CiAgICAgIHMuYmlfYnVmIHw9ICh2YWx1ZSA8PCBzLmJpX3ZhbGlkKSAmIDB4ZmZmZjsKICAgICAgcHV0X3Nob3J0KHMsIHMuYmlfYnVmKTsKICAgICAgcy5iaV9idWYgPSB2YWx1ZSA+PiAoQnVmX3NpemUgLSBzLmJpX3ZhbGlkKTsKICAgICAgcy5iaV92YWxpZCArPSBsZW5ndGggLSBCdWZfc2l6ZTsKICAgIH0gZWxzZSB7CiAgICAgIHMuYmlfYnVmIHw9ICh2YWx1ZSA8PCBzLmJpX3ZhbGlkKSAmIDB4ZmZmZjsKICAgICAgcy5iaV92YWxpZCArPSBsZW5ndGg7CiAgICB9CiAgfTsKCgogIGNvbnN0IHNlbmRfY29kZSA9IChzLCBjLCB0cmVlKSA9PiB7CgogICAgc2VuZF9iaXRzKHMsIHRyZWVbYyAqIDJdLyouQ29kZSovLCB0cmVlW2MgKiAyICsgMV0vKi5MZW4qLyk7CiAgfTsKCgogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAqIFJldmVyc2UgdGhlIGZpcnN0IGxlbiBiaXRzIG9mIGEgY29kZSwgdXNpbmcgc3RyYWlnaHRmb3J3YXJkIGNvZGUgKGEgZmFzdGVyCiAgICogbWV0aG9kIHdvdWxkIHVzZSBhIHRhYmxlKQogICAqIElOIGFzc2VydGlvbjogMSA8PSBsZW4gPD0gMTUKICAgKi8KICBjb25zdCBiaV9yZXZlcnNlID0gKGNvZGUsIGxlbikgPT4gewoKICAgIGxldCByZXMgPSAwOwogICAgZG8gewogICAgICByZXMgfD0gY29kZSAmIDE7CiAgICAgIGNvZGUgPj4+PSAxOwogICAgICByZXMgPDw9IDE7CiAgICB9IHdoaWxlICgtLWxlbiA+IDApOwogICAgcmV0dXJuIHJlcyA+Pj4gMTsKICB9OwoKCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICogRmx1c2ggdGhlIGJpdCBidWZmZXIsIGtlZXBpbmcgYXQgbW9zdCA3IGJpdHMgaW4gaXQuCiAgICovCiAgY29uc3QgYmlfZmx1c2ggPSAocykgPT4gewoKICAgIGlmIChzLmJpX3ZhbGlkID09PSAxNikgewogICAgICBwdXRfc2hvcnQocywgcy5iaV9idWYpOwogICAgICBzLmJpX2J1ZiA9IDA7CiAgICAgIHMuYmlfdmFsaWQgPSAwOwoKICAgIH0gZWxzZSBpZiAocy5iaV92YWxpZCA+PSA4KSB7CiAgICAgIHMucGVuZGluZ19idWZbcy5wZW5kaW5nKytdID0gcy5iaV9idWYgJiAweGZmOwogICAgICBzLmJpX2J1ZiA+Pj0gODsKICAgICAgcy5iaV92YWxpZCAtPSA4OwogICAgfQogIH07CgoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBDb21wdXRlIHRoZSBvcHRpbWFsIGJpdCBsZW5ndGhzIGZvciBhIHRyZWUgYW5kIHVwZGF0ZSB0aGUgdG90YWwgYml0IGxlbmd0aAogICAqIGZvciB0aGUgY3VycmVudCBibG9jay4KICAgKiBJTiBhc3NlcnRpb246IHRoZSBmaWVsZHMgZnJlcSBhbmQgZGFkIGFyZSBzZXQsIGhlYXBbaGVhcF9tYXhdIGFuZAogICAqICAgIGFib3ZlIGFyZSB0aGUgdHJlZSBub2RlcyBzb3J0ZWQgYnkgaW5jcmVhc2luZyBmcmVxdWVuY3kuCiAgICogT1VUIGFzc2VydGlvbnM6IHRoZSBmaWVsZCBsZW4gaXMgc2V0IHRvIHRoZSBvcHRpbWFsIGJpdCBsZW5ndGgsIHRoZQogICAqICAgICBhcnJheSBibF9jb3VudCBjb250YWlucyB0aGUgZnJlcXVlbmNpZXMgZm9yIGVhY2ggYml0IGxlbmd0aC4KICAgKiAgICAgVGhlIGxlbmd0aCBvcHRfbGVuIGlzIHVwZGF0ZWQ7IHN0YXRpY19sZW4gaXMgYWxzbyB1cGRhdGVkIGlmIHN0cmVlIGlzCiAgICogICAgIG5vdCBudWxsLgogICAqLwogIGNvbnN0IGdlbl9iaXRsZW4gPSAocywgZGVzYykgPT4KICAvLyAgICBkZWZsYXRlX3N0YXRlICpzOwogIC8vICAgIHRyZWVfZGVzYyAqZGVzYzsgICAgLyogdGhlIHRyZWUgZGVzY3JpcHRvciAqLwogIHsKICAgIGNvbnN0IHRyZWUgICAgICAgICAgICA9IGRlc2MuZHluX3RyZWU7CiAgICBjb25zdCBtYXhfY29kZSAgICAgICAgPSBkZXNjLm1heF9jb2RlOwogICAgY29uc3Qgc3RyZWUgICAgICAgICAgID0gZGVzYy5zdGF0X2Rlc2Muc3RhdGljX3RyZWU7CiAgICBjb25zdCBoYXNfc3RyZWUgICAgICAgPSBkZXNjLnN0YXRfZGVzYy5oYXNfc3RyZWU7CiAgICBjb25zdCBleHRyYSAgICAgICAgICAgPSBkZXNjLnN0YXRfZGVzYy5leHRyYV9iaXRzOwogICAgY29uc3QgYmFzZSAgICAgICAgICAgID0gZGVzYy5zdGF0X2Rlc2MuZXh0cmFfYmFzZTsKICAgIGNvbnN0IG1heF9sZW5ndGggICAgICA9IGRlc2Muc3RhdF9kZXNjLm1heF9sZW5ndGg7CiAgICBsZXQgaDsgICAgICAgICAgICAgIC8qIGhlYXAgaW5kZXggKi8KICAgIGxldCBuLCBtOyAgICAgICAgICAgLyogaXRlcmF0ZSBvdmVyIHRoZSB0cmVlIGVsZW1lbnRzICovCiAgICBsZXQgYml0czsgICAgICAgICAgIC8qIGJpdCBsZW5ndGggKi8KICAgIGxldCB4Yml0czsgICAgICAgICAgLyogZXh0cmEgYml0cyAqLwogICAgbGV0IGY7ICAgICAgICAgICAgICAvKiBmcmVxdWVuY3kgKi8KICAgIGxldCBvdmVyZmxvdyA9IDA7ICAgLyogbnVtYmVyIG9mIGVsZW1lbnRzIHdpdGggYml0IGxlbmd0aCB0b28gbGFyZ2UgKi8KCiAgICBmb3IgKGJpdHMgPSAwOyBiaXRzIDw9IE1BWF9CSVRTJDE7IGJpdHMrKykgewogICAgICBzLmJsX2NvdW50W2JpdHNdID0gMDsKICAgIH0KCiAgICAvKiBJbiBhIGZpcnN0IHBhc3MsIGNvbXB1dGUgdGhlIG9wdGltYWwgYml0IGxlbmd0aHMgKHdoaWNoIG1heQogICAgICogb3ZlcmZsb3cgaW4gdGhlIGNhc2Ugb2YgdGhlIGJpdCBsZW5ndGggdHJlZSkuCiAgICAgKi8KICAgIHRyZWVbcy5oZWFwW3MuaGVhcF9tYXhdICogMiArIDFdLyouTGVuKi8gPSAwOyAvKiByb290IG9mIHRoZSBoZWFwICovCgogICAgZm9yIChoID0gcy5oZWFwX21heCArIDE7IGggPCBIRUFQX1NJWkUkMTsgaCsrKSB7CiAgICAgIG4gPSBzLmhlYXBbaF07CiAgICAgIGJpdHMgPSB0cmVlW3RyZWVbbiAqIDIgKyAxXS8qLkRhZCovICogMiArIDFdLyouTGVuKi8gKyAxOwogICAgICBpZiAoYml0cyA+IG1heF9sZW5ndGgpIHsKICAgICAgICBiaXRzID0gbWF4X2xlbmd0aDsKICAgICAgICBvdmVyZmxvdysrOwogICAgICB9CiAgICAgIHRyZWVbbiAqIDIgKyAxXS8qLkxlbiovID0gYml0czsKICAgICAgLyogV2Ugb3ZlcndyaXRlIHRyZWVbbl0uRGFkIHdoaWNoIGlzIG5vIGxvbmdlciBuZWVkZWQgKi8KCiAgICAgIGlmIChuID4gbWF4X2NvZGUpIHsgY29udGludWU7IH0gLyogbm90IGEgbGVhZiBub2RlICovCgogICAgICBzLmJsX2NvdW50W2JpdHNdKys7CiAgICAgIHhiaXRzID0gMDsKICAgICAgaWYgKG4gPj0gYmFzZSkgewogICAgICAgIHhiaXRzID0gZXh0cmFbbiAtIGJhc2VdOwogICAgICB9CiAgICAgIGYgPSB0cmVlW24gKiAyXS8qLkZyZXEqLzsKICAgICAgcy5vcHRfbGVuICs9IGYgKiAoYml0cyArIHhiaXRzKTsKICAgICAgaWYgKGhhc19zdHJlZSkgewogICAgICAgIHMuc3RhdGljX2xlbiArPSBmICogKHN0cmVlW24gKiAyICsgMV0vKi5MZW4qLyArIHhiaXRzKTsKICAgICAgfQogICAgfQogICAgaWYgKG92ZXJmbG93ID09PSAwKSB7IHJldHVybjsgfQoKICAgIC8vIFRyYWNlKChzdGRlcnIsIlxuYml0IGxlbmd0aCBvdmVyZmxvd1xuIikpOwogICAgLyogVGhpcyBoYXBwZW5zIGZvciBleGFtcGxlIG9uIG9iajIgYW5kIHBpYyBvZiB0aGUgQ2FsZ2FyeSBjb3JwdXMgKi8KCiAgICAvKiBGaW5kIHRoZSBmaXJzdCBiaXQgbGVuZ3RoIHdoaWNoIGNvdWxkIGluY3JlYXNlOiAqLwogICAgZG8gewogICAgICBiaXRzID0gbWF4X2xlbmd0aCAtIDE7CiAgICAgIHdoaWxlIChzLmJsX2NvdW50W2JpdHNdID09PSAwKSB7IGJpdHMtLTsgfQogICAgICBzLmJsX2NvdW50W2JpdHNdLS07ICAgICAgLyogbW92ZSBvbmUgbGVhZiBkb3duIHRoZSB0cmVlICovCiAgICAgIHMuYmxfY291bnRbYml0cyArIDFdICs9IDI7IC8qIG1vdmUgb25lIG92ZXJmbG93IGl0ZW0gYXMgaXRzIGJyb3RoZXIgKi8KICAgICAgcy5ibF9jb3VudFttYXhfbGVuZ3RoXS0tOwogICAgICAvKiBUaGUgYnJvdGhlciBvZiB0aGUgb3ZlcmZsb3cgaXRlbSBhbHNvIG1vdmVzIG9uZSBzdGVwIHVwLAogICAgICAgKiBidXQgdGhpcyBkb2VzIG5vdCBhZmZlY3QgYmxfY291bnRbbWF4X2xlbmd0aF0KICAgICAgICovCiAgICAgIG92ZXJmbG93IC09IDI7CiAgICB9IHdoaWxlIChvdmVyZmxvdyA+IDApOwoKICAgIC8qIE5vdyByZWNvbXB1dGUgYWxsIGJpdCBsZW5ndGhzLCBzY2FubmluZyBpbiBpbmNyZWFzaW5nIGZyZXF1ZW5jeS4KICAgICAqIGggaXMgc3RpbGwgZXF1YWwgdG8gSEVBUF9TSVpFLiAoSXQgaXMgc2ltcGxlciB0byByZWNvbnN0cnVjdCBhbGwKICAgICAqIGxlbmd0aHMgaW5zdGVhZCBvZiBmaXhpbmcgb25seSB0aGUgd3Jvbmcgb25lcy4gVGhpcyBpZGVhIGlzIHRha2VuCiAgICAgKiBmcm9tICdhcicgd3JpdHRlbiBieSBIYXJ1aGlrbyBPa3VtdXJhLikKICAgICAqLwogICAgZm9yIChiaXRzID0gbWF4X2xlbmd0aDsgYml0cyAhPT0gMDsgYml0cy0tKSB7CiAgICAgIG4gPSBzLmJsX2NvdW50W2JpdHNdOwogICAgICB3aGlsZSAobiAhPT0gMCkgewogICAgICAgIG0gPSBzLmhlYXBbLS1oXTsKICAgICAgICBpZiAobSA+IG1heF9jb2RlKSB7IGNvbnRpbnVlOyB9CiAgICAgICAgaWYgKHRyZWVbbSAqIDIgKyAxXS8qLkxlbiovICE9PSBiaXRzKSB7CiAgICAgICAgICAvLyBUcmFjZSgoc3RkZXJyLCJjb2RlICVkIGJpdHMgJWQtPiVkXG4iLCBtLCB0cmVlW21dLkxlbiwgYml0cykpOwogICAgICAgICAgcy5vcHRfbGVuICs9IChiaXRzIC0gdHJlZVttICogMiArIDFdLyouTGVuKi8pICogdHJlZVttICogMl0vKi5GcmVxKi87CiAgICAgICAgICB0cmVlW20gKiAyICsgMV0vKi5MZW4qLyA9IGJpdHM7CiAgICAgICAgfQogICAgICAgIG4tLTsKICAgICAgfQogICAgfQogIH07CgoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBHZW5lcmF0ZSB0aGUgY29kZXMgZm9yIGEgZ2l2ZW4gdHJlZSBhbmQgYml0IGNvdW50cyAod2hpY2ggbmVlZCBub3QgYmUKICAgKiBvcHRpbWFsKS4KICAgKiBJTiBhc3NlcnRpb246IHRoZSBhcnJheSBibF9jb3VudCBjb250YWlucyB0aGUgYml0IGxlbmd0aCBzdGF0aXN0aWNzIGZvcgogICAqIHRoZSBnaXZlbiB0cmVlIGFuZCB0aGUgZmllbGQgbGVuIGlzIHNldCBmb3IgYWxsIHRyZWUgZWxlbWVudHMuCiAgICogT1VUIGFzc2VydGlvbjogdGhlIGZpZWxkIGNvZGUgaXMgc2V0IGZvciBhbGwgdHJlZSBlbGVtZW50cyBvZiBub24KICAgKiAgICAgemVybyBjb2RlIGxlbmd0aC4KICAgKi8KICBjb25zdCBnZW5fY29kZXMgPSAodHJlZSwgbWF4X2NvZGUsIGJsX2NvdW50KSA9PgogIC8vICAgIGN0X2RhdGEgKnRyZWU7ICAgICAgICAgICAgIC8qIHRoZSB0cmVlIHRvIGRlY29yYXRlICovCiAgLy8gICAgaW50IG1heF9jb2RlOyAgICAgICAgICAgICAgLyogbGFyZ2VzdCBjb2RlIHdpdGggbm9uIHplcm8gZnJlcXVlbmN5ICovCiAgLy8gICAgdXNoZiAqYmxfY291bnQ7ICAgICAgICAgICAgLyogbnVtYmVyIG9mIGNvZGVzIGF0IGVhY2ggYml0IGxlbmd0aCAqLwogIHsKICAgIGNvbnN0IG5leHRfY29kZSA9IG5ldyBBcnJheShNQVhfQklUUyQxICsgMSk7IC8qIG5leHQgY29kZSB2YWx1ZSBmb3IgZWFjaCBiaXQgbGVuZ3RoICovCiAgICBsZXQgY29kZSA9IDA7ICAgICAgICAgICAgICAvKiBydW5uaW5nIGNvZGUgdmFsdWUgKi8KICAgIGxldCBiaXRzOyAgICAgICAgICAgICAgICAgIC8qIGJpdCBpbmRleCAqLwogICAgbGV0IG47ICAgICAgICAgICAgICAgICAgICAgLyogY29kZSBpbmRleCAqLwoKICAgIC8qIFRoZSBkaXN0cmlidXRpb24gY291bnRzIGFyZSBmaXJzdCB1c2VkIHRvIGdlbmVyYXRlIHRoZSBjb2RlIHZhbHVlcwogICAgICogd2l0aG91dCBiaXQgcmV2ZXJzYWwuCiAgICAgKi8KICAgIGZvciAoYml0cyA9IDE7IGJpdHMgPD0gTUFYX0JJVFMkMTsgYml0cysrKSB7CiAgICAgIG5leHRfY29kZVtiaXRzXSA9IGNvZGUgPSAoY29kZSArIGJsX2NvdW50W2JpdHMgLSAxXSkgPDwgMTsKICAgIH0KICAgIC8qIENoZWNrIHRoYXQgdGhlIGJpdCBjb3VudHMgaW4gYmxfY291bnQgYXJlIGNvbnNpc3RlbnQuIFRoZSBsYXN0IGNvZGUKICAgICAqIG11c3QgYmUgYWxsIG9uZXMuCiAgICAgKi8KICAgIC8vQXNzZXJ0IChjb2RlICsgYmxfY291bnRbTUFYX0JJVFNdLTEgPT0gKDE8PE1BWF9CSVRTKS0xLAogICAgLy8gICAgICAgICJpbmNvbnNpc3RlbnQgYml0IGNvdW50cyIpOwogICAgLy9UcmFjZXYoKHN0ZGVyciwiXG5nZW5fY29kZXM6IG1heF9jb2RlICVkICIsIG1heF9jb2RlKSk7CgogICAgZm9yIChuID0gMDsgIG4gPD0gbWF4X2NvZGU7IG4rKykgewogICAgICBsZXQgbGVuID0gdHJlZVtuICogMiArIDFdLyouTGVuKi87CiAgICAgIGlmIChsZW4gPT09IDApIHsgY29udGludWU7IH0KICAgICAgLyogTm93IHJldmVyc2UgdGhlIGJpdHMgKi8KICAgICAgdHJlZVtuICogMl0vKi5Db2RlKi8gPSBiaV9yZXZlcnNlKG5leHRfY29kZVtsZW5dKyssIGxlbik7CgogICAgICAvL1RyYWNlY3YodHJlZSAhPSBzdGF0aWNfbHRyZWUsIChzdGRlcnIsIlxubiAlM2QgJWMgbCAlMmQgYyAlNHggKCV4KSAiLAogICAgICAvLyAgICAgbiwgKGlzZ3JhcGgobikgPyBuIDogJyAnKSwgbGVuLCB0cmVlW25dLkNvZGUsIG5leHRfY29kZVtsZW5dLTEpKTsKICAgIH0KICB9OwoKCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICogSW5pdGlhbGl6ZSB0aGUgdmFyaW91cyAnY29uc3RhbnQnIHRhYmxlcy4KICAgKi8KICBjb25zdCB0cl9zdGF0aWNfaW5pdCA9ICgpID0+IHsKCiAgICBsZXQgbjsgICAgICAgIC8qIGl0ZXJhdGVzIG92ZXIgdHJlZSBlbGVtZW50cyAqLwogICAgbGV0IGJpdHM7ICAgICAvKiBiaXQgY291bnRlciAqLwogICAgbGV0IGxlbmd0aDsgICAvKiBsZW5ndGggdmFsdWUgKi8KICAgIGxldCBjb2RlOyAgICAgLyogY29kZSB2YWx1ZSAqLwogICAgbGV0IGRpc3Q7ICAgICAvKiBkaXN0YW5jZSBpbmRleCAqLwogICAgY29uc3QgYmxfY291bnQgPSBuZXcgQXJyYXkoTUFYX0JJVFMkMSArIDEpOwogICAgLyogbnVtYmVyIG9mIGNvZGVzIGF0IGVhY2ggYml0IGxlbmd0aCBmb3IgYW4gb3B0aW1hbCB0cmVlICovCgogICAgLy8gZG8gY2hlY2sgaW4gX3RyX2luaXQoKQogICAgLy9pZiAoc3RhdGljX2luaXRfZG9uZSkgcmV0dXJuOwoKICAgIC8qIEZvciBzb21lIGVtYmVkZGVkIHRhcmdldHMsIGdsb2JhbCB2YXJpYWJsZXMgYXJlIG5vdCBpbml0aWFsaXplZDogKi8KICAvKiNpZmRlZiBOT19JTklUX0dMT0JBTF9QT0lOVEVSUwogICAgc3RhdGljX2xfZGVzYy5zdGF0aWNfdHJlZSA9IHN0YXRpY19sdHJlZTsKICAgIHN0YXRpY19sX2Rlc2MuZXh0cmFfYml0cyA9IGV4dHJhX2xiaXRzOwogICAgc3RhdGljX2RfZGVzYy5zdGF0aWNfdHJlZSA9IHN0YXRpY19kdHJlZTsKICAgIHN0YXRpY19kX2Rlc2MuZXh0cmFfYml0cyA9IGV4dHJhX2RiaXRzOwogICAgc3RhdGljX2JsX2Rlc2MuZXh0cmFfYml0cyA9IGV4dHJhX2JsYml0czsKICAjZW5kaWYqLwoKICAgIC8qIEluaXRpYWxpemUgdGhlIG1hcHBpbmcgbGVuZ3RoICgwLi4yNTUpIC0+IGxlbmd0aCBjb2RlICgwLi4yOCkgKi8KICAgIGxlbmd0aCA9IDA7CiAgICBmb3IgKGNvZGUgPSAwOyBjb2RlIDwgTEVOR1RIX0NPREVTJDEgLSAxOyBjb2RlKyspIHsKICAgICAgYmFzZV9sZW5ndGhbY29kZV0gPSBsZW5ndGg7CiAgICAgIGZvciAobiA9IDA7IG4gPCAoMSA8PCBleHRyYV9sYml0c1tjb2RlXSk7IG4rKykgewogICAgICAgIF9sZW5ndGhfY29kZVtsZW5ndGgrK10gPSBjb2RlOwogICAgICB9CiAgICB9CiAgICAvL0Fzc2VydCAobGVuZ3RoID09IDI1NiwgInRyX3N0YXRpY19pbml0OiBsZW5ndGggIT0gMjU2Iik7CiAgICAvKiBOb3RlIHRoYXQgdGhlIGxlbmd0aCAyNTUgKG1hdGNoIGxlbmd0aCAyNTgpIGNhbiBiZSByZXByZXNlbnRlZAogICAgICogaW4gdHdvIGRpZmZlcmVudCB3YXlzOiBjb2RlIDI4NCArIDUgYml0cyBvciBjb2RlIDI4NSwgc28gd2UKICAgICAqIG92ZXJ3cml0ZSBsZW5ndGhfY29kZVsyNTVdIHRvIHVzZSB0aGUgYmVzdCBlbmNvZGluZzoKICAgICAqLwogICAgX2xlbmd0aF9jb2RlW2xlbmd0aCAtIDFdID0gY29kZTsKCiAgICAvKiBJbml0aWFsaXplIHRoZSBtYXBwaW5nIGRpc3QgKDAuLjMySykgLT4gZGlzdCBjb2RlICgwLi4yOSkgKi8KICAgIGRpc3QgPSAwOwogICAgZm9yIChjb2RlID0gMDsgY29kZSA8IDE2OyBjb2RlKyspIHsKICAgICAgYmFzZV9kaXN0W2NvZGVdID0gZGlzdDsKICAgICAgZm9yIChuID0gMDsgbiA8ICgxIDw8IGV4dHJhX2RiaXRzW2NvZGVdKTsgbisrKSB7CiAgICAgICAgX2Rpc3RfY29kZVtkaXN0KytdID0gY29kZTsKICAgICAgfQogICAgfQogICAgLy9Bc3NlcnQgKGRpc3QgPT0gMjU2LCAidHJfc3RhdGljX2luaXQ6IGRpc3QgIT0gMjU2Iik7CiAgICBkaXN0ID4+PSA3OyAvKiBmcm9tIG5vdyBvbiwgYWxsIGRpc3RhbmNlcyBhcmUgZGl2aWRlZCBieSAxMjggKi8KICAgIGZvciAoOyBjb2RlIDwgRF9DT0RFUyQxOyBjb2RlKyspIHsKICAgICAgYmFzZV9kaXN0W2NvZGVdID0gZGlzdCA8PCA3OwogICAgICBmb3IgKG4gPSAwOyBuIDwgKDEgPDwgKGV4dHJhX2RiaXRzW2NvZGVdIC0gNykpOyBuKyspIHsKICAgICAgICBfZGlzdF9jb2RlWzI1NiArIGRpc3QrK10gPSBjb2RlOwogICAgICB9CiAgICB9CiAgICAvL0Fzc2VydCAoZGlzdCA9PSAyNTYsICJ0cl9zdGF0aWNfaW5pdDogMjU2K2Rpc3QgIT0gNTEyIik7CgogICAgLyogQ29uc3RydWN0IHRoZSBjb2RlcyBvZiB0aGUgc3RhdGljIGxpdGVyYWwgdHJlZSAqLwogICAgZm9yIChiaXRzID0gMDsgYml0cyA8PSBNQVhfQklUUyQxOyBiaXRzKyspIHsKICAgICAgYmxfY291bnRbYml0c10gPSAwOwogICAgfQoKICAgIG4gPSAwOwogICAgd2hpbGUgKG4gPD0gMTQzKSB7CiAgICAgIHN0YXRpY19sdHJlZVtuICogMiArIDFdLyouTGVuKi8gPSA4OwogICAgICBuKys7CiAgICAgIGJsX2NvdW50WzhdKys7CiAgICB9CiAgICB3aGlsZSAobiA8PSAyNTUpIHsKICAgICAgc3RhdGljX2x0cmVlW24gKiAyICsgMV0vKi5MZW4qLyA9IDk7CiAgICAgIG4rKzsKICAgICAgYmxfY291bnRbOV0rKzsKICAgIH0KICAgIHdoaWxlIChuIDw9IDI3OSkgewogICAgICBzdGF0aWNfbHRyZWVbbiAqIDIgKyAxXS8qLkxlbiovID0gNzsKICAgICAgbisrOwogICAgICBibF9jb3VudFs3XSsrOwogICAgfQogICAgd2hpbGUgKG4gPD0gMjg3KSB7CiAgICAgIHN0YXRpY19sdHJlZVtuICogMiArIDFdLyouTGVuKi8gPSA4OwogICAgICBuKys7CiAgICAgIGJsX2NvdW50WzhdKys7CiAgICB9CiAgICAvKiBDb2RlcyAyODYgYW5kIDI4NyBkbyBub3QgZXhpc3QsIGJ1dCB3ZSBtdXN0IGluY2x1ZGUgdGhlbSBpbiB0aGUKICAgICAqIHRyZWUgY29uc3RydWN0aW9uIHRvIGdldCBhIGNhbm9uaWNhbCBIdWZmbWFuIHRyZWUgKGxvbmdlc3QgY29kZQogICAgICogYWxsIG9uZXMpCiAgICAgKi8KICAgIGdlbl9jb2RlcyhzdGF0aWNfbHRyZWUsIExfQ09ERVMkMSArIDEsIGJsX2NvdW50KTsKCiAgICAvKiBUaGUgc3RhdGljIGRpc3RhbmNlIHRyZWUgaXMgdHJpdmlhbDogKi8KICAgIGZvciAobiA9IDA7IG4gPCBEX0NPREVTJDE7IG4rKykgewogICAgICBzdGF0aWNfZHRyZWVbbiAqIDIgKyAxXS8qLkxlbiovID0gNTsKICAgICAgc3RhdGljX2R0cmVlW24gKiAyXS8qLkNvZGUqLyA9IGJpX3JldmVyc2UobiwgNSk7CiAgICB9CgogICAgLy8gTm93IGRhdGEgcmVhZHkgYW5kIHdlIGNhbiBpbml0IHN0YXRpYyB0cmVlcwogICAgc3RhdGljX2xfZGVzYyA9IG5ldyBTdGF0aWNUcmVlRGVzYyhzdGF0aWNfbHRyZWUsIGV4dHJhX2xiaXRzLCBMSVRFUkFMUyQxICsgMSwgTF9DT0RFUyQxLCBNQVhfQklUUyQxKTsKICAgIHN0YXRpY19kX2Rlc2MgPSBuZXcgU3RhdGljVHJlZURlc2Moc3RhdGljX2R0cmVlLCBleHRyYV9kYml0cywgMCwgICAgICAgICAgRF9DT0RFUyQxLCBNQVhfQklUUyQxKTsKICAgIHN0YXRpY19ibF9kZXNjID0gbmV3IFN0YXRpY1RyZWVEZXNjKG5ldyBBcnJheSgwKSwgZXh0cmFfYmxiaXRzLCAwLCAgICAgICAgIEJMX0NPREVTJDEsIE1BWF9CTF9CSVRTKTsKCiAgICAvL3N0YXRpY19pbml0X2RvbmUgPSB0cnVlOwogIH07CgoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBJbml0aWFsaXplIGEgbmV3IGJsb2NrLgogICAqLwogIGNvbnN0IGluaXRfYmxvY2sgPSAocykgPT4gewoKICAgIGxldCBuOyAvKiBpdGVyYXRlcyBvdmVyIHRyZWUgZWxlbWVudHMgKi8KCiAgICAvKiBJbml0aWFsaXplIHRoZSB0cmVlcy4gKi8KICAgIGZvciAobiA9IDA7IG4gPCBMX0NPREVTJDE7ICBuKyspIHsgcy5keW5fbHRyZWVbbiAqIDJdLyouRnJlcSovID0gMDsgfQogICAgZm9yIChuID0gMDsgbiA8IERfQ09ERVMkMTsgIG4rKykgeyBzLmR5bl9kdHJlZVtuICogMl0vKi5GcmVxKi8gPSAwOyB9CiAgICBmb3IgKG4gPSAwOyBuIDwgQkxfQ09ERVMkMTsgbisrKSB7IHMuYmxfdHJlZVtuICogMl0vKi5GcmVxKi8gPSAwOyB9CgogICAgcy5keW5fbHRyZWVbRU5EX0JMT0NLICogMl0vKi5GcmVxKi8gPSAxOwogICAgcy5vcHRfbGVuID0gcy5zdGF0aWNfbGVuID0gMDsKICAgIHMubGFzdF9saXQgPSBzLm1hdGNoZXMgPSAwOwogIH07CgoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBGbHVzaCB0aGUgYml0IGJ1ZmZlciBhbmQgYWxpZ24gdGhlIG91dHB1dCBvbiBhIGJ5dGUgYm91bmRhcnkKICAgKi8KICBjb25zdCBiaV93aW5kdXAgPSAocykgPT4KICB7CiAgICBpZiAocy5iaV92YWxpZCA+IDgpIHsKICAgICAgcHV0X3Nob3J0KHMsIHMuYmlfYnVmKTsKICAgIH0gZWxzZSBpZiAocy5iaV92YWxpZCA+IDApIHsKICAgICAgLy9wdXRfYnl0ZShzLCAoQnl0ZSlzLT5iaV9idWYpOwogICAgICBzLnBlbmRpbmdfYnVmW3MucGVuZGluZysrXSA9IHMuYmlfYnVmOwogICAgfQogICAgcy5iaV9idWYgPSAwOwogICAgcy5iaV92YWxpZCA9IDA7CiAgfTsKCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICogQ29weSBhIHN0b3JlZCBibG9jaywgc3RvcmluZyBmaXJzdCB0aGUgbGVuZ3RoIGFuZCBpdHMKICAgKiBvbmUncyBjb21wbGVtZW50IGlmIHJlcXVlc3RlZC4KICAgKi8KICBjb25zdCBjb3B5X2Jsb2NrID0gKHMsIGJ1ZiwgbGVuLCBoZWFkZXIpID0+CiAgLy9EZWZsYXRlU3RhdGUgKnM7CiAgLy9jaGFyZiAgICAqYnVmOyAgICAvKiB0aGUgaW5wdXQgZGF0YSAqLwogIC8vdW5zaWduZWQgbGVuOyAgICAgLyogaXRzIGxlbmd0aCAqLwogIC8vaW50ICAgICAgaGVhZGVyOyAgLyogdHJ1ZSBpZiBibG9jayBoZWFkZXIgbXVzdCBiZSB3cml0dGVuICovCiAgewogICAgYmlfd2luZHVwKHMpOyAgICAgICAgLyogYWxpZ24gb24gYnl0ZSBib3VuZGFyeSAqLwoKICAgIGlmIChoZWFkZXIpIHsKICAgICAgcHV0X3Nob3J0KHMsIGxlbik7CiAgICAgIHB1dF9zaG9ydChzLCB+bGVuKTsKICAgIH0KICAvLyAgd2hpbGUgKGxlbi0tKSB7CiAgLy8gICAgcHV0X2J5dGUocywgKmJ1ZisrKTsKICAvLyAgfQogICAgcy5wZW5kaW5nX2J1Zi5zZXQocy53aW5kb3cuc3ViYXJyYXkoYnVmLCBidWYgKyBsZW4pLCBzLnBlbmRpbmcpOwogICAgcy5wZW5kaW5nICs9IGxlbjsKICB9OwoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBDb21wYXJlcyB0byBzdWJ0cmVlcywgdXNpbmcgdGhlIHRyZWUgZGVwdGggYXMgdGllIGJyZWFrZXIgd2hlbgogICAqIHRoZSBzdWJ0cmVlcyBoYXZlIGVxdWFsIGZyZXF1ZW5jeS4gVGhpcyBtaW5pbWl6ZXMgdGhlIHdvcnN0IGNhc2UgbGVuZ3RoLgogICAqLwogIGNvbnN0IHNtYWxsZXIgPSAodHJlZSwgbiwgbSwgZGVwdGgpID0+IHsKCiAgICBjb25zdCBfbjIgPSBuICogMjsKICAgIGNvbnN0IF9tMiA9IG0gKiAyOwogICAgcmV0dXJuICh0cmVlW19uMl0vKi5GcmVxKi8gPCB0cmVlW19tMl0vKi5GcmVxKi8gfHwKICAgICAgICAgICAodHJlZVtfbjJdLyouRnJlcSovID09PSB0cmVlW19tMl0vKi5GcmVxKi8gJiYgZGVwdGhbbl0gPD0gZGVwdGhbbV0pKTsKICB9OwoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBSZXN0b3JlIHRoZSBoZWFwIHByb3BlcnR5IGJ5IG1vdmluZyBkb3duIHRoZSB0cmVlIHN0YXJ0aW5nIGF0IG5vZGUgaywKICAgKiBleGNoYW5naW5nIGEgbm9kZSB3aXRoIHRoZSBzbWFsbGVzdCBvZiBpdHMgdHdvIHNvbnMgaWYgbmVjZXNzYXJ5LCBzdG9wcGluZwogICAqIHdoZW4gdGhlIGhlYXAgcHJvcGVydHkgaXMgcmUtZXN0YWJsaXNoZWQgKGVhY2ggZmF0aGVyIHNtYWxsZXIgdGhhbiBpdHMKICAgKiB0d28gc29ucykuCiAgICovCiAgY29uc3QgcHFkb3duaGVhcCA9IChzLCB0cmVlLCBrKSA9PgogIC8vICAgIGRlZmxhdGVfc3RhdGUgKnM7CiAgLy8gICAgY3RfZGF0YSAqdHJlZTsgIC8qIHRoZSB0cmVlIHRvIHJlc3RvcmUgKi8KICAvLyAgICBpbnQgazsgICAgICAgICAgICAgICAvKiBub2RlIHRvIG1vdmUgZG93biAqLwogIHsKICAgIGNvbnN0IHYgPSBzLmhlYXBba107CiAgICBsZXQgaiA9IGsgPDwgMTsgIC8qIGxlZnQgc29uIG9mIGsgKi8KICAgIHdoaWxlIChqIDw9IHMuaGVhcF9sZW4pIHsKICAgICAgLyogU2V0IGogdG8gdGhlIHNtYWxsZXN0IG9mIHRoZSB0d28gc29uczogKi8KICAgICAgaWYgKGogPCBzLmhlYXBfbGVuICYmCiAgICAgICAgc21hbGxlcih0cmVlLCBzLmhlYXBbaiArIDFdLCBzLmhlYXBbal0sIHMuZGVwdGgpKSB7CiAgICAgICAgaisrOwogICAgICB9CiAgICAgIC8qIEV4aXQgaWYgdiBpcyBzbWFsbGVyIHRoYW4gYm90aCBzb25zICovCiAgICAgIGlmIChzbWFsbGVyKHRyZWUsIHYsIHMuaGVhcFtqXSwgcy5kZXB0aCkpIHsgYnJlYWs7IH0KCiAgICAgIC8qIEV4Y2hhbmdlIHYgd2l0aCB0aGUgc21hbGxlc3Qgc29uICovCiAgICAgIHMuaGVhcFtrXSA9IHMuaGVhcFtqXTsKICAgICAgayA9IGo7CgogICAgICAvKiBBbmQgY29udGludWUgZG93biB0aGUgdHJlZSwgc2V0dGluZyBqIHRvIHRoZSBsZWZ0IHNvbiBvZiBrICovCiAgICAgIGogPDw9IDE7CiAgICB9CiAgICBzLmhlYXBba10gPSB2OwogIH07CgoKICAvLyBpbmxpbmVkIG1hbnVhbGx5CiAgLy8gY29uc3QgU01BTExFU1QgPSAxOwoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBTZW5kIHRoZSBibG9jayBkYXRhIGNvbXByZXNzZWQgdXNpbmcgdGhlIGdpdmVuIEh1ZmZtYW4gdHJlZXMKICAgKi8KICBjb25zdCBjb21wcmVzc19ibG9jayA9IChzLCBsdHJlZSwgZHRyZWUpID0+CiAgLy8gICAgZGVmbGF0ZV9zdGF0ZSAqczsKICAvLyAgICBjb25zdCBjdF9kYXRhICpsdHJlZTsgLyogbGl0ZXJhbCB0cmVlICovCiAgLy8gICAgY29uc3QgY3RfZGF0YSAqZHRyZWU7IC8qIGRpc3RhbmNlIHRyZWUgKi8KICB7CiAgICBsZXQgZGlzdDsgICAgICAgICAgIC8qIGRpc3RhbmNlIG9mIG1hdGNoZWQgc3RyaW5nICovCiAgICBsZXQgbGM7ICAgICAgICAgICAgIC8qIG1hdGNoIGxlbmd0aCBvciB1bm1hdGNoZWQgY2hhciAoaWYgZGlzdCA9PSAwKSAqLwogICAgbGV0IGx4ID0gMDsgICAgICAgICAvKiBydW5uaW5nIGluZGV4IGluIGxfYnVmICovCiAgICBsZXQgY29kZTsgICAgICAgICAgIC8qIHRoZSBjb2RlIHRvIHNlbmQgKi8KICAgIGxldCBleHRyYTsgICAgICAgICAgLyogbnVtYmVyIG9mIGV4dHJhIGJpdHMgdG8gc2VuZCAqLwoKICAgIGlmIChzLmxhc3RfbGl0ICE9PSAwKSB7CiAgICAgIGRvIHsKICAgICAgICBkaXN0ID0gKHMucGVuZGluZ19idWZbcy5kX2J1ZiArIGx4ICogMl0gPDwgOCkgfCAocy5wZW5kaW5nX2J1ZltzLmRfYnVmICsgbHggKiAyICsgMV0pOwogICAgICAgIGxjID0gcy5wZW5kaW5nX2J1ZltzLmxfYnVmICsgbHhdOwogICAgICAgIGx4Kys7CgogICAgICAgIGlmIChkaXN0ID09PSAwKSB7CiAgICAgICAgICBzZW5kX2NvZGUocywgbGMsIGx0cmVlKTsgLyogc2VuZCBhIGxpdGVyYWwgYnl0ZSAqLwogICAgICAgICAgLy9UcmFjZWN2KGlzZ3JhcGgobGMpLCAoc3RkZXJyLCIgJyVjJyAiLCBsYykpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvKiBIZXJlLCBsYyBpcyB0aGUgbWF0Y2ggbGVuZ3RoIC0gTUlOX01BVENIICovCiAgICAgICAgICBjb2RlID0gX2xlbmd0aF9jb2RlW2xjXTsKICAgICAgICAgIHNlbmRfY29kZShzLCBjb2RlICsgTElURVJBTFMkMSArIDEsIGx0cmVlKTsgLyogc2VuZCB0aGUgbGVuZ3RoIGNvZGUgKi8KICAgICAgICAgIGV4dHJhID0gZXh0cmFfbGJpdHNbY29kZV07CiAgICAgICAgICBpZiAoZXh0cmEgIT09IDApIHsKICAgICAgICAgICAgbGMgLT0gYmFzZV9sZW5ndGhbY29kZV07CiAgICAgICAgICAgIHNlbmRfYml0cyhzLCBsYywgZXh0cmEpOyAgICAgICAvKiBzZW5kIHRoZSBleHRyYSBsZW5ndGggYml0cyAqLwogICAgICAgICAgfQogICAgICAgICAgZGlzdC0tOyAvKiBkaXN0IGlzIG5vdyB0aGUgbWF0Y2ggZGlzdGFuY2UgLSAxICovCiAgICAgICAgICBjb2RlID0gZF9jb2RlKGRpc3QpOwogICAgICAgICAgLy9Bc3NlcnQgKGNvZGUgPCBEX0NPREVTLCAiYmFkIGRfY29kZSIpOwoKICAgICAgICAgIHNlbmRfY29kZShzLCBjb2RlLCBkdHJlZSk7ICAgICAgIC8qIHNlbmQgdGhlIGRpc3RhbmNlIGNvZGUgKi8KICAgICAgICAgIGV4dHJhID0gZXh0cmFfZGJpdHNbY29kZV07CiAgICAgICAgICBpZiAoZXh0cmEgIT09IDApIHsKICAgICAgICAgICAgZGlzdCAtPSBiYXNlX2Rpc3RbY29kZV07CiAgICAgICAgICAgIHNlbmRfYml0cyhzLCBkaXN0LCBleHRyYSk7ICAgLyogc2VuZCB0aGUgZXh0cmEgZGlzdGFuY2UgYml0cyAqLwogICAgICAgICAgfQogICAgICAgIH0gLyogbGl0ZXJhbCBvciBtYXRjaCBwYWlyID8gKi8KCiAgICAgICAgLyogQ2hlY2sgdGhhdCB0aGUgb3ZlcmxheSBiZXR3ZWVuIHBlbmRpbmdfYnVmIGFuZCBkX2J1ZitsX2J1ZiBpcyBvazogKi8KICAgICAgICAvL0Fzc2VydCgodUludCkocy0+cGVuZGluZykgPCBzLT5saXRfYnVmc2l6ZSArIDIqbHgsCiAgICAgICAgLy8gICAgICAgInBlbmRpbmdCdWYgb3ZlcmZsb3ciKTsKCiAgICAgIH0gd2hpbGUgKGx4IDwgcy5sYXN0X2xpdCk7CiAgICB9CgogICAgc2VuZF9jb2RlKHMsIEVORF9CTE9DSywgbHRyZWUpOwogIH07CgoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBDb25zdHJ1Y3Qgb25lIEh1ZmZtYW4gdHJlZSBhbmQgYXNzaWducyB0aGUgY29kZSBiaXQgc3RyaW5ncyBhbmQgbGVuZ3Rocy4KICAgKiBVcGRhdGUgdGhlIHRvdGFsIGJpdCBsZW5ndGggZm9yIHRoZSBjdXJyZW50IGJsb2NrLgogICAqIElOIGFzc2VydGlvbjogdGhlIGZpZWxkIGZyZXEgaXMgc2V0IGZvciBhbGwgdHJlZSBlbGVtZW50cy4KICAgKiBPVVQgYXNzZXJ0aW9uczogdGhlIGZpZWxkcyBsZW4gYW5kIGNvZGUgYXJlIHNldCB0byB0aGUgb3B0aW1hbCBiaXQgbGVuZ3RoCiAgICogICAgIGFuZCBjb3JyZXNwb25kaW5nIGNvZGUuIFRoZSBsZW5ndGggb3B0X2xlbiBpcyB1cGRhdGVkOyBzdGF0aWNfbGVuIGlzCiAgICogICAgIGFsc28gdXBkYXRlZCBpZiBzdHJlZSBpcyBub3QgbnVsbC4gVGhlIGZpZWxkIG1heF9jb2RlIGlzIHNldC4KICAgKi8KICBjb25zdCBidWlsZF90cmVlID0gKHMsIGRlc2MpID0+CiAgLy8gICAgZGVmbGF0ZV9zdGF0ZSAqczsKICAvLyAgICB0cmVlX2Rlc2MgKmRlc2M7IC8qIHRoZSB0cmVlIGRlc2NyaXB0b3IgKi8KICB7CiAgICBjb25zdCB0cmVlICAgICA9IGRlc2MuZHluX3RyZWU7CiAgICBjb25zdCBzdHJlZSAgICA9IGRlc2Muc3RhdF9kZXNjLnN0YXRpY190cmVlOwogICAgY29uc3QgaGFzX3N0cmVlID0gZGVzYy5zdGF0X2Rlc2MuaGFzX3N0cmVlOwogICAgY29uc3QgZWxlbXMgICAgPSBkZXNjLnN0YXRfZGVzYy5lbGVtczsKICAgIGxldCBuLCBtOyAgICAgICAgICAvKiBpdGVyYXRlIG92ZXIgaGVhcCBlbGVtZW50cyAqLwogICAgbGV0IG1heF9jb2RlID0gLTE7IC8qIGxhcmdlc3QgY29kZSB3aXRoIG5vbiB6ZXJvIGZyZXF1ZW5jeSAqLwogICAgbGV0IG5vZGU7ICAgICAgICAgIC8qIG5ldyBub2RlIGJlaW5nIGNyZWF0ZWQgKi8KCiAgICAvKiBDb25zdHJ1Y3QgdGhlIGluaXRpYWwgaGVhcCwgd2l0aCBsZWFzdCBmcmVxdWVudCBlbGVtZW50IGluCiAgICAgKiBoZWFwW1NNQUxMRVNUXS4gVGhlIHNvbnMgb2YgaGVhcFtuXSBhcmUgaGVhcFsyKm5dIGFuZCBoZWFwWzIqbisxXS4KICAgICAqIGhlYXBbMF0gaXMgbm90IHVzZWQuCiAgICAgKi8KICAgIHMuaGVhcF9sZW4gPSAwOwogICAgcy5oZWFwX21heCA9IEhFQVBfU0laRSQxOwoKICAgIGZvciAobiA9IDA7IG4gPCBlbGVtczsgbisrKSB7CiAgICAgIGlmICh0cmVlW24gKiAyXS8qLkZyZXEqLyAhPT0gMCkgewogICAgICAgIHMuaGVhcFsrK3MuaGVhcF9sZW5dID0gbWF4X2NvZGUgPSBuOwogICAgICAgIHMuZGVwdGhbbl0gPSAwOwoKICAgICAgfSBlbHNlIHsKICAgICAgICB0cmVlW24gKiAyICsgMV0vKi5MZW4qLyA9IDA7CiAgICAgIH0KICAgIH0KCiAgICAvKiBUaGUgcGt6aXAgZm9ybWF0IHJlcXVpcmVzIHRoYXQgYXQgbGVhc3Qgb25lIGRpc3RhbmNlIGNvZGUgZXhpc3RzLAogICAgICogYW5kIHRoYXQgYXQgbGVhc3Qgb25lIGJpdCBzaG91bGQgYmUgc2VudCBldmVuIGlmIHRoZXJlIGlzIG9ubHkgb25lCiAgICAgKiBwb3NzaWJsZSBjb2RlLiBTbyB0byBhdm9pZCBzcGVjaWFsIGNoZWNrcyBsYXRlciBvbiB3ZSBmb3JjZSBhdCBsZWFzdAogICAgICogdHdvIGNvZGVzIG9mIG5vbiB6ZXJvIGZyZXF1ZW5jeS4KICAgICAqLwogICAgd2hpbGUgKHMuaGVhcF9sZW4gPCAyKSB7CiAgICAgIG5vZGUgPSBzLmhlYXBbKytzLmhlYXBfbGVuXSA9IChtYXhfY29kZSA8IDIgPyArK21heF9jb2RlIDogMCk7CiAgICAgIHRyZWVbbm9kZSAqIDJdLyouRnJlcSovID0gMTsKICAgICAgcy5kZXB0aFtub2RlXSA9IDA7CiAgICAgIHMub3B0X2xlbi0tOwoKICAgICAgaWYgKGhhc19zdHJlZSkgewogICAgICAgIHMuc3RhdGljX2xlbiAtPSBzdHJlZVtub2RlICogMiArIDFdLyouTGVuKi87CiAgICAgIH0KICAgICAgLyogbm9kZSBpcyAwIG9yIDEgc28gaXQgZG9lcyBub3QgaGF2ZSBleHRyYSBiaXRzICovCiAgICB9CiAgICBkZXNjLm1heF9jb2RlID0gbWF4X2NvZGU7CgogICAgLyogVGhlIGVsZW1lbnRzIGhlYXBbaGVhcF9sZW4vMisxIC4uIGhlYXBfbGVuXSBhcmUgbGVhdmVzIG9mIHRoZSB0cmVlLAogICAgICogZXN0YWJsaXNoIHN1Yi1oZWFwcyBvZiBpbmNyZWFzaW5nIGxlbmd0aHM6CiAgICAgKi8KICAgIGZvciAobiA9IChzLmhlYXBfbGVuID4+IDEvKmludCAvMiovKTsgbiA+PSAxOyBuLS0pIHsgcHFkb3duaGVhcChzLCB0cmVlLCBuKTsgfQoKICAgIC8qIENvbnN0cnVjdCB0aGUgSHVmZm1hbiB0cmVlIGJ5IHJlcGVhdGVkbHkgY29tYmluaW5nIHRoZSBsZWFzdCB0d28KICAgICAqIGZyZXF1ZW50IG5vZGVzLgogICAgICovCiAgICBub2RlID0gZWxlbXM7ICAgICAgICAgICAgICAvKiBuZXh0IGludGVybmFsIG5vZGUgb2YgdGhlIHRyZWUgKi8KICAgIGRvIHsKICAgICAgLy9wcXJlbW92ZShzLCB0cmVlLCBuKTsgIC8qIG4gPSBub2RlIG9mIGxlYXN0IGZyZXF1ZW5jeSAqLwogICAgICAvKioqIHBxcmVtb3ZlICoqKi8KICAgICAgbiA9IHMuaGVhcFsxLypTTUFMTEVTVCovXTsKICAgICAgcy5oZWFwWzEvKlNNQUxMRVNUKi9dID0gcy5oZWFwW3MuaGVhcF9sZW4tLV07CiAgICAgIHBxZG93bmhlYXAocywgdHJlZSwgMS8qU01BTExFU1QqLyk7CiAgICAgIC8qKiovCgogICAgICBtID0gcy5oZWFwWzEvKlNNQUxMRVNUKi9dOyAvKiBtID0gbm9kZSBvZiBuZXh0IGxlYXN0IGZyZXF1ZW5jeSAqLwoKICAgICAgcy5oZWFwWy0tcy5oZWFwX21heF0gPSBuOyAvKiBrZWVwIHRoZSBub2RlcyBzb3J0ZWQgYnkgZnJlcXVlbmN5ICovCiAgICAgIHMuaGVhcFstLXMuaGVhcF9tYXhdID0gbTsKCiAgICAgIC8qIENyZWF0ZSBhIG5ldyBub2RlIGZhdGhlciBvZiBuIGFuZCBtICovCiAgICAgIHRyZWVbbm9kZSAqIDJdLyouRnJlcSovID0gdHJlZVtuICogMl0vKi5GcmVxKi8gKyB0cmVlW20gKiAyXS8qLkZyZXEqLzsKICAgICAgcy5kZXB0aFtub2RlXSA9IChzLmRlcHRoW25dID49IHMuZGVwdGhbbV0gPyBzLmRlcHRoW25dIDogcy5kZXB0aFttXSkgKyAxOwogICAgICB0cmVlW24gKiAyICsgMV0vKi5EYWQqLyA9IHRyZWVbbSAqIDIgKyAxXS8qLkRhZCovID0gbm9kZTsKCiAgICAgIC8qIGFuZCBpbnNlcnQgdGhlIG5ldyBub2RlIGluIHRoZSBoZWFwICovCiAgICAgIHMuaGVhcFsxLypTTUFMTEVTVCovXSA9IG5vZGUrKzsKICAgICAgcHFkb3duaGVhcChzLCB0cmVlLCAxLypTTUFMTEVTVCovKTsKCiAgICB9IHdoaWxlIChzLmhlYXBfbGVuID49IDIpOwoKICAgIHMuaGVhcFstLXMuaGVhcF9tYXhdID0gcy5oZWFwWzEvKlNNQUxMRVNUKi9dOwoKICAgIC8qIEF0IHRoaXMgcG9pbnQsIHRoZSBmaWVsZHMgZnJlcSBhbmQgZGFkIGFyZSBzZXQuIFdlIGNhbiBub3cKICAgICAqIGdlbmVyYXRlIHRoZSBiaXQgbGVuZ3Rocy4KICAgICAqLwogICAgZ2VuX2JpdGxlbihzLCBkZXNjKTsKCiAgICAvKiBUaGUgZmllbGQgbGVuIGlzIG5vdyBzZXQsIHdlIGNhbiBnZW5lcmF0ZSB0aGUgYml0IGNvZGVzICovCiAgICBnZW5fY29kZXModHJlZSwgbWF4X2NvZGUsIHMuYmxfY291bnQpOwogIH07CgoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBTY2FuIGEgbGl0ZXJhbCBvciBkaXN0YW5jZSB0cmVlIHRvIGRldGVybWluZSB0aGUgZnJlcXVlbmNpZXMgb2YgdGhlIGNvZGVzCiAgICogaW4gdGhlIGJpdCBsZW5ndGggdHJlZS4KICAgKi8KICBjb25zdCBzY2FuX3RyZWUgPSAocywgdHJlZSwgbWF4X2NvZGUpID0+CiAgLy8gICAgZGVmbGF0ZV9zdGF0ZSAqczsKICAvLyAgICBjdF9kYXRhICp0cmVlOyAgIC8qIHRoZSB0cmVlIHRvIGJlIHNjYW5uZWQgKi8KICAvLyAgICBpbnQgbWF4X2NvZGU7ICAgIC8qIGFuZCBpdHMgbGFyZ2VzdCBjb2RlIG9mIG5vbiB6ZXJvIGZyZXF1ZW5jeSAqLwogIHsKICAgIGxldCBuOyAgICAgICAgICAgICAgICAgICAgIC8qIGl0ZXJhdGVzIG92ZXIgYWxsIHRyZWUgZWxlbWVudHMgKi8KICAgIGxldCBwcmV2bGVuID0gLTE7ICAgICAgICAgIC8qIGxhc3QgZW1pdHRlZCBsZW5ndGggKi8KICAgIGxldCBjdXJsZW47ICAgICAgICAgICAgICAgIC8qIGxlbmd0aCBvZiBjdXJyZW50IGNvZGUgKi8KCiAgICBsZXQgbmV4dGxlbiA9IHRyZWVbMCAqIDIgKyAxXS8qLkxlbiovOyAvKiBsZW5ndGggb2YgbmV4dCBjb2RlICovCgogICAgbGV0IGNvdW50ID0gMDsgICAgICAgICAgICAgLyogcmVwZWF0IGNvdW50IG9mIHRoZSBjdXJyZW50IGNvZGUgKi8KICAgIGxldCBtYXhfY291bnQgPSA3OyAgICAgICAgIC8qIG1heCByZXBlYXQgY291bnQgKi8KICAgIGxldCBtaW5fY291bnQgPSA0OyAgICAgICAgIC8qIG1pbiByZXBlYXQgY291bnQgKi8KCiAgICBpZiAobmV4dGxlbiA9PT0gMCkgewogICAgICBtYXhfY291bnQgPSAxMzg7CiAgICAgIG1pbl9jb3VudCA9IDM7CiAgICB9CiAgICB0cmVlWyhtYXhfY29kZSArIDEpICogMiArIDFdLyouTGVuKi8gPSAweGZmZmY7IC8qIGd1YXJkICovCgogICAgZm9yIChuID0gMDsgbiA8PSBtYXhfY29kZTsgbisrKSB7CiAgICAgIGN1cmxlbiA9IG5leHRsZW47CiAgICAgIG5leHRsZW4gPSB0cmVlWyhuICsgMSkgKiAyICsgMV0vKi5MZW4qLzsKCiAgICAgIGlmICgrK2NvdW50IDwgbWF4X2NvdW50ICYmIGN1cmxlbiA9PT0gbmV4dGxlbikgewogICAgICAgIGNvbnRpbnVlOwoKICAgICAgfSBlbHNlIGlmIChjb3VudCA8IG1pbl9jb3VudCkgewogICAgICAgIHMuYmxfdHJlZVtjdXJsZW4gKiAyXS8qLkZyZXEqLyArPSBjb3VudDsKCiAgICAgIH0gZWxzZSBpZiAoY3VybGVuICE9PSAwKSB7CgogICAgICAgIGlmIChjdXJsZW4gIT09IHByZXZsZW4pIHsgcy5ibF90cmVlW2N1cmxlbiAqIDJdLyouRnJlcSovKys7IH0KICAgICAgICBzLmJsX3RyZWVbUkVQXzNfNiAqIDJdLyouRnJlcSovKys7CgogICAgICB9IGVsc2UgaWYgKGNvdW50IDw9IDEwKSB7CiAgICAgICAgcy5ibF90cmVlW1JFUFpfM18xMCAqIDJdLyouRnJlcSovKys7CgogICAgICB9IGVsc2UgewogICAgICAgIHMuYmxfdHJlZVtSRVBaXzExXzEzOCAqIDJdLyouRnJlcSovKys7CiAgICAgIH0KCiAgICAgIGNvdW50ID0gMDsKICAgICAgcHJldmxlbiA9IGN1cmxlbjsKCiAgICAgIGlmIChuZXh0bGVuID09PSAwKSB7CiAgICAgICAgbWF4X2NvdW50ID0gMTM4OwogICAgICAgIG1pbl9jb3VudCA9IDM7CgogICAgICB9IGVsc2UgaWYgKGN1cmxlbiA9PT0gbmV4dGxlbikgewogICAgICAgIG1heF9jb3VudCA9IDY7CiAgICAgICAgbWluX2NvdW50ID0gMzsKCiAgICAgIH0gZWxzZSB7CiAgICAgICAgbWF4X2NvdW50ID0gNzsKICAgICAgICBtaW5fY291bnQgPSA0OwogICAgICB9CiAgICB9CiAgfTsKCgogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAqIFNlbmQgYSBsaXRlcmFsIG9yIGRpc3RhbmNlIHRyZWUgaW4gY29tcHJlc3NlZCBmb3JtLCB1c2luZyB0aGUgY29kZXMgaW4KICAgKiBibF90cmVlLgogICAqLwogIGNvbnN0IHNlbmRfdHJlZSA9IChzLCB0cmVlLCBtYXhfY29kZSkgPT4KICAvLyAgICBkZWZsYXRlX3N0YXRlICpzOwogIC8vICAgIGN0X2RhdGEgKnRyZWU7IC8qIHRoZSB0cmVlIHRvIGJlIHNjYW5uZWQgKi8KICAvLyAgICBpbnQgbWF4X2NvZGU7ICAgICAgIC8qIGFuZCBpdHMgbGFyZ2VzdCBjb2RlIG9mIG5vbiB6ZXJvIGZyZXF1ZW5jeSAqLwogIHsKICAgIGxldCBuOyAgICAgICAgICAgICAgICAgICAgIC8qIGl0ZXJhdGVzIG92ZXIgYWxsIHRyZWUgZWxlbWVudHMgKi8KICAgIGxldCBwcmV2bGVuID0gLTE7ICAgICAgICAgIC8qIGxhc3QgZW1pdHRlZCBsZW5ndGggKi8KICAgIGxldCBjdXJsZW47ICAgICAgICAgICAgICAgIC8qIGxlbmd0aCBvZiBjdXJyZW50IGNvZGUgKi8KCiAgICBsZXQgbmV4dGxlbiA9IHRyZWVbMCAqIDIgKyAxXS8qLkxlbiovOyAvKiBsZW5ndGggb2YgbmV4dCBjb2RlICovCgogICAgbGV0IGNvdW50ID0gMDsgICAgICAgICAgICAgLyogcmVwZWF0IGNvdW50IG9mIHRoZSBjdXJyZW50IGNvZGUgKi8KICAgIGxldCBtYXhfY291bnQgPSA3OyAgICAgICAgIC8qIG1heCByZXBlYXQgY291bnQgKi8KICAgIGxldCBtaW5fY291bnQgPSA0OyAgICAgICAgIC8qIG1pbiByZXBlYXQgY291bnQgKi8KCiAgICAvKiB0cmVlW21heF9jb2RlKzFdLkxlbiA9IC0xOyAqLyAgLyogZ3VhcmQgYWxyZWFkeSBzZXQgKi8KICAgIGlmIChuZXh0bGVuID09PSAwKSB7CiAgICAgIG1heF9jb3VudCA9IDEzODsKICAgICAgbWluX2NvdW50ID0gMzsKICAgIH0KCiAgICBmb3IgKG4gPSAwOyBuIDw9IG1heF9jb2RlOyBuKyspIHsKICAgICAgY3VybGVuID0gbmV4dGxlbjsKICAgICAgbmV4dGxlbiA9IHRyZWVbKG4gKyAxKSAqIDIgKyAxXS8qLkxlbiovOwoKICAgICAgaWYgKCsrY291bnQgPCBtYXhfY291bnQgJiYgY3VybGVuID09PSBuZXh0bGVuKSB7CiAgICAgICAgY29udGludWU7CgogICAgICB9IGVsc2UgaWYgKGNvdW50IDwgbWluX2NvdW50KSB7CiAgICAgICAgZG8geyBzZW5kX2NvZGUocywgY3VybGVuLCBzLmJsX3RyZWUpOyB9IHdoaWxlICgtLWNvdW50ICE9PSAwKTsKCiAgICAgIH0gZWxzZSBpZiAoY3VybGVuICE9PSAwKSB7CiAgICAgICAgaWYgKGN1cmxlbiAhPT0gcHJldmxlbikgewogICAgICAgICAgc2VuZF9jb2RlKHMsIGN1cmxlbiwgcy5ibF90cmVlKTsKICAgICAgICAgIGNvdW50LS07CiAgICAgICAgfQogICAgICAgIC8vQXNzZXJ0KGNvdW50ID49IDMgJiYgY291bnQgPD0gNiwgIiAzXzY/Iik7CiAgICAgICAgc2VuZF9jb2RlKHMsIFJFUF8zXzYsIHMuYmxfdHJlZSk7CiAgICAgICAgc2VuZF9iaXRzKHMsIGNvdW50IC0gMywgMik7CgogICAgICB9IGVsc2UgaWYgKGNvdW50IDw9IDEwKSB7CiAgICAgICAgc2VuZF9jb2RlKHMsIFJFUFpfM18xMCwgcy5ibF90cmVlKTsKICAgICAgICBzZW5kX2JpdHMocywgY291bnQgLSAzLCAzKTsKCiAgICAgIH0gZWxzZSB7CiAgICAgICAgc2VuZF9jb2RlKHMsIFJFUFpfMTFfMTM4LCBzLmJsX3RyZWUpOwogICAgICAgIHNlbmRfYml0cyhzLCBjb3VudCAtIDExLCA3KTsKICAgICAgfQoKICAgICAgY291bnQgPSAwOwogICAgICBwcmV2bGVuID0gY3VybGVuOwogICAgICBpZiAobmV4dGxlbiA9PT0gMCkgewogICAgICAgIG1heF9jb3VudCA9IDEzODsKICAgICAgICBtaW5fY291bnQgPSAzOwoKICAgICAgfSBlbHNlIGlmIChjdXJsZW4gPT09IG5leHRsZW4pIHsKICAgICAgICBtYXhfY291bnQgPSA2OwogICAgICAgIG1pbl9jb3VudCA9IDM7CgogICAgICB9IGVsc2UgewogICAgICAgIG1heF9jb3VudCA9IDc7CiAgICAgICAgbWluX2NvdW50ID0gNDsKICAgICAgfQogICAgfQogIH07CgoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBDb25zdHJ1Y3QgdGhlIEh1ZmZtYW4gdHJlZSBmb3IgdGhlIGJpdCBsZW5ndGhzIGFuZCByZXR1cm4gdGhlIGluZGV4IGluCiAgICogYmxfb3JkZXIgb2YgdGhlIGxhc3QgYml0IGxlbmd0aCBjb2RlIHRvIHNlbmQuCiAgICovCiAgY29uc3QgYnVpbGRfYmxfdHJlZSA9IChzKSA9PiB7CgogICAgbGV0IG1heF9ibGluZGV4OyAgLyogaW5kZXggb2YgbGFzdCBiaXQgbGVuZ3RoIGNvZGUgb2Ygbm9uIHplcm8gZnJlcSAqLwoKICAgIC8qIERldGVybWluZSB0aGUgYml0IGxlbmd0aCBmcmVxdWVuY2llcyBmb3IgbGl0ZXJhbCBhbmQgZGlzdGFuY2UgdHJlZXMgKi8KICAgIHNjYW5fdHJlZShzLCBzLmR5bl9sdHJlZSwgcy5sX2Rlc2MubWF4X2NvZGUpOwogICAgc2Nhbl90cmVlKHMsIHMuZHluX2R0cmVlLCBzLmRfZGVzYy5tYXhfY29kZSk7CgogICAgLyogQnVpbGQgdGhlIGJpdCBsZW5ndGggdHJlZTogKi8KICAgIGJ1aWxkX3RyZWUocywgcy5ibF9kZXNjKTsKICAgIC8qIG9wdF9sZW4gbm93IGluY2x1ZGVzIHRoZSBsZW5ndGggb2YgdGhlIHRyZWUgcmVwcmVzZW50YXRpb25zLCBleGNlcHQKICAgICAqIHRoZSBsZW5ndGhzIG9mIHRoZSBiaXQgbGVuZ3RocyBjb2RlcyBhbmQgdGhlIDUrNSs0IGJpdHMgZm9yIHRoZSBjb3VudHMuCiAgICAgKi8KCiAgICAvKiBEZXRlcm1pbmUgdGhlIG51bWJlciBvZiBiaXQgbGVuZ3RoIGNvZGVzIHRvIHNlbmQuIFRoZSBwa3ppcCBmb3JtYXQKICAgICAqIHJlcXVpcmVzIHRoYXQgYXQgbGVhc3QgNCBiaXQgbGVuZ3RoIGNvZGVzIGJlIHNlbnQuIChhcHBub3RlLnR4dCBzYXlzCiAgICAgKiAzIGJ1dCB0aGUgYWN0dWFsIHZhbHVlIHVzZWQgaXMgNC4pCiAgICAgKi8KICAgIGZvciAobWF4X2JsaW5kZXggPSBCTF9DT0RFUyQxIC0gMTsgbWF4X2JsaW5kZXggPj0gMzsgbWF4X2JsaW5kZXgtLSkgewogICAgICBpZiAocy5ibF90cmVlW2JsX29yZGVyW21heF9ibGluZGV4XSAqIDIgKyAxXS8qLkxlbiovICE9PSAwKSB7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KICAgIC8qIFVwZGF0ZSBvcHRfbGVuIHRvIGluY2x1ZGUgdGhlIGJpdCBsZW5ndGggdHJlZSBhbmQgY291bnRzICovCiAgICBzLm9wdF9sZW4gKz0gMyAqIChtYXhfYmxpbmRleCArIDEpICsgNSArIDUgKyA0OwogICAgLy9UcmFjZXYoKHN0ZGVyciwgIlxuZHluIHRyZWVzOiBkeW4gJWxkLCBzdGF0ICVsZCIsCiAgICAvLyAgICAgICAgcy0+b3B0X2xlbiwgcy0+c3RhdGljX2xlbikpOwoKICAgIHJldHVybiBtYXhfYmxpbmRleDsKICB9OwoKCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICogU2VuZCB0aGUgaGVhZGVyIGZvciBhIGJsb2NrIHVzaW5nIGR5bmFtaWMgSHVmZm1hbiB0cmVlczogdGhlIGNvdW50cywgdGhlCiAgICogbGVuZ3RocyBvZiB0aGUgYml0IGxlbmd0aCBjb2RlcywgdGhlIGxpdGVyYWwgdHJlZSBhbmQgdGhlIGRpc3RhbmNlIHRyZWUuCiAgICogSU4gYXNzZXJ0aW9uOiBsY29kZXMgPj0gMjU3LCBkY29kZXMgPj0gMSwgYmxjb2RlcyA+PSA0LgogICAqLwogIGNvbnN0IHNlbmRfYWxsX3RyZWVzID0gKHMsIGxjb2RlcywgZGNvZGVzLCBibGNvZGVzKSA9PgogIC8vICAgIGRlZmxhdGVfc3RhdGUgKnM7CiAgLy8gICAgaW50IGxjb2RlcywgZGNvZGVzLCBibGNvZGVzOyAvKiBudW1iZXIgb2YgY29kZXMgZm9yIGVhY2ggdHJlZSAqLwogIHsKICAgIGxldCByYW5rOyAgICAgICAgICAgICAgICAgICAgLyogaW5kZXggaW4gYmxfb3JkZXIgKi8KCiAgICAvL0Fzc2VydCAobGNvZGVzID49IDI1NyAmJiBkY29kZXMgPj0gMSAmJiBibGNvZGVzID49IDQsICJub3QgZW5vdWdoIGNvZGVzIik7CiAgICAvL0Fzc2VydCAobGNvZGVzIDw9IExfQ09ERVMgJiYgZGNvZGVzIDw9IERfQ09ERVMgJiYgYmxjb2RlcyA8PSBCTF9DT0RFUywKICAgIC8vICAgICAgICAidG9vIG1hbnkgY29kZXMiKTsKICAgIC8vVHJhY2V2KChzdGRlcnIsICJcbmJsIGNvdW50czogIikpOwogICAgc2VuZF9iaXRzKHMsIGxjb2RlcyAtIDI1NywgNSk7IC8qIG5vdCArMjU1IGFzIHN0YXRlZCBpbiBhcHBub3RlLnR4dCAqLwogICAgc2VuZF9iaXRzKHMsIGRjb2RlcyAtIDEsICAgNSk7CiAgICBzZW5kX2JpdHMocywgYmxjb2RlcyAtIDQsICA0KTsgLyogbm90IC0zIGFzIHN0YXRlZCBpbiBhcHBub3RlLnR4dCAqLwogICAgZm9yIChyYW5rID0gMDsgcmFuayA8IGJsY29kZXM7IHJhbmsrKykgewogICAgICAvL1RyYWNldigoc3RkZXJyLCAiXG5ibCBjb2RlICUyZCAiLCBibF9vcmRlcltyYW5rXSkpOwogICAgICBzZW5kX2JpdHMocywgcy5ibF90cmVlW2JsX29yZGVyW3JhbmtdICogMiArIDFdLyouTGVuKi8sIDMpOwogICAgfQogICAgLy9UcmFjZXYoKHN0ZGVyciwgIlxuYmwgdHJlZTogc2VudCAlbGQiLCBzLT5iaXRzX3NlbnQpKTsKCiAgICBzZW5kX3RyZWUocywgcy5keW5fbHRyZWUsIGxjb2RlcyAtIDEpOyAvKiBsaXRlcmFsIHRyZWUgKi8KICAgIC8vVHJhY2V2KChzdGRlcnIsICJcbmxpdCB0cmVlOiBzZW50ICVsZCIsIHMtPmJpdHNfc2VudCkpOwoKICAgIHNlbmRfdHJlZShzLCBzLmR5bl9kdHJlZSwgZGNvZGVzIC0gMSk7IC8qIGRpc3RhbmNlIHRyZWUgKi8KICAgIC8vVHJhY2V2KChzdGRlcnIsICJcbmRpc3QgdHJlZTogc2VudCAlbGQiLCBzLT5iaXRzX3NlbnQpKTsKICB9OwoKCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICogQ2hlY2sgaWYgdGhlIGRhdGEgdHlwZSBpcyBURVhUIG9yIEJJTkFSWSwgdXNpbmcgdGhlIGZvbGxvd2luZyBhbGdvcml0aG06CiAgICogLSBURVhUIGlmIHRoZSB0d28gY29uZGl0aW9ucyBiZWxvdyBhcmUgc2F0aXNmaWVkOgogICAqICAgIGEpIFRoZXJlIGFyZSBubyBub24tcG9ydGFibGUgY29udHJvbCBjaGFyYWN0ZXJzIGJlbG9uZ2luZyB0byB0aGUKICAgKiAgICAgICAiYmxhY2sgbGlzdCIgKDAuLjYsIDE0Li4yNSwgMjguLjMxKS4KICAgKiAgICBiKSBUaGVyZSBpcyBhdCBsZWFzdCBvbmUgcHJpbnRhYmxlIGNoYXJhY3RlciBiZWxvbmdpbmcgdG8gdGhlCiAgICogICAgICAgIndoaXRlIGxpc3QiICg5IHtUQUJ9LCAxMCB7TEZ9LCAxMyB7Q1J9LCAzMi4uMjU1KS4KICAgKiAtIEJJTkFSWSBvdGhlcndpc2UuCiAgICogLSBUaGUgZm9sbG93aW5nIHBhcnRpYWxseS1wb3J0YWJsZSBjb250cm9sIGNoYXJhY3RlcnMgZm9ybSBhCiAgICogICAiZ3JheSBsaXN0IiB0aGF0IGlzIGlnbm9yZWQgaW4gdGhpcyBkZXRlY3Rpb24gYWxnb3JpdGhtOgogICAqICAgKDcge0JFTH0sIDgge0JTfSwgMTEge1ZUfSwgMTIge0ZGfSwgMjYge1NVQn0sIDI3IHtFU0N9KS4KICAgKiBJTiBhc3NlcnRpb246IHRoZSBmaWVsZHMgRnJlcSBvZiBkeW5fbHRyZWUgYXJlIHNldC4KICAgKi8KICBjb25zdCBkZXRlY3RfZGF0YV90eXBlID0gKHMpID0+IHsKICAgIC8qIGJsYWNrX21hc2sgaXMgdGhlIGJpdCBtYXNrIG9mIGJsYWNrLWxpc3RlZCBieXRlcwogICAgICogc2V0IGJpdHMgMC4uNiwgMTQuLjI1LCBhbmQgMjguLjMxCiAgICAgKiAweGYzZmZjMDdmID0gYmluYXJ5IDExMTEwMDExMTExMTExMTExMTAwMDAwMDAxMTExMTExCiAgICAgKi8KICAgIGxldCBibGFja19tYXNrID0gMHhmM2ZmYzA3ZjsKICAgIGxldCBuOwoKICAgIC8qIENoZWNrIGZvciBub24tdGV4dHVhbCAoImJsYWNrLWxpc3RlZCIpIGJ5dGVzLiAqLwogICAgZm9yIChuID0gMDsgbiA8PSAzMTsgbisrLCBibGFja19tYXNrID4+Pj0gMSkgewogICAgICBpZiAoKGJsYWNrX21hc2sgJiAxKSAmJiAocy5keW5fbHRyZWVbbiAqIDJdLyouRnJlcSovICE9PSAwKSkgewogICAgICAgIHJldHVybiBaX0JJTkFSWTsKICAgICAgfQogICAgfQoKICAgIC8qIENoZWNrIGZvciB0ZXh0dWFsICgid2hpdGUtbGlzdGVkIikgYnl0ZXMuICovCiAgICBpZiAocy5keW5fbHRyZWVbOSAqIDJdLyouRnJlcSovICE9PSAwIHx8IHMuZHluX2x0cmVlWzEwICogMl0vKi5GcmVxKi8gIT09IDAgfHwKICAgICAgICBzLmR5bl9sdHJlZVsxMyAqIDJdLyouRnJlcSovICE9PSAwKSB7CiAgICAgIHJldHVybiBaX1RFWFQ7CiAgICB9CiAgICBmb3IgKG4gPSAzMjsgbiA8IExJVEVSQUxTJDE7IG4rKykgewogICAgICBpZiAocy5keW5fbHRyZWVbbiAqIDJdLyouRnJlcSovICE9PSAwKSB7CiAgICAgICAgcmV0dXJuIFpfVEVYVDsKICAgICAgfQogICAgfQoKICAgIC8qIFRoZXJlIGFyZSBubyAiYmxhY2stbGlzdGVkIiBvciAid2hpdGUtbGlzdGVkIiBieXRlczoKICAgICAqIHRoaXMgc3RyZWFtIGVpdGhlciBpcyBlbXB0eSBvciBoYXMgdG9sZXJhdGVkICgiZ3JheS1saXN0ZWQiKSBieXRlcyBvbmx5LgogICAgICovCiAgICByZXR1cm4gWl9CSU5BUlk7CiAgfTsKCgogIGxldCBzdGF0aWNfaW5pdF9kb25lID0gZmFsc2U7CgogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAqIEluaXRpYWxpemUgdGhlIHRyZWUgZGF0YSBzdHJ1Y3R1cmVzIGZvciBhIG5ldyB6bGliIHN0cmVhbS4KICAgKi8KICBjb25zdCBfdHJfaW5pdCQxID0gKHMpID0+CiAgewoKICAgIGlmICghc3RhdGljX2luaXRfZG9uZSkgewogICAgICB0cl9zdGF0aWNfaW5pdCgpOwogICAgICBzdGF0aWNfaW5pdF9kb25lID0gdHJ1ZTsKICAgIH0KCiAgICBzLmxfZGVzYyAgPSBuZXcgVHJlZURlc2Mocy5keW5fbHRyZWUsIHN0YXRpY19sX2Rlc2MpOwogICAgcy5kX2Rlc2MgID0gbmV3IFRyZWVEZXNjKHMuZHluX2R0cmVlLCBzdGF0aWNfZF9kZXNjKTsKICAgIHMuYmxfZGVzYyA9IG5ldyBUcmVlRGVzYyhzLmJsX3RyZWUsIHN0YXRpY19ibF9kZXNjKTsKCiAgICBzLmJpX2J1ZiA9IDA7CiAgICBzLmJpX3ZhbGlkID0gMDsKCiAgICAvKiBJbml0aWFsaXplIHRoZSBmaXJzdCBibG9jayBvZiB0aGUgZmlyc3QgZmlsZTogKi8KICAgIGluaXRfYmxvY2socyk7CiAgfTsKCgogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAqIFNlbmQgYSBzdG9yZWQgYmxvY2sKICAgKi8KICBjb25zdCBfdHJfc3RvcmVkX2Jsb2NrJDEgPSAocywgYnVmLCBzdG9yZWRfbGVuLCBsYXN0KSA9PgogIC8vRGVmbGF0ZVN0YXRlICpzOwogIC8vY2hhcmYgKmJ1ZjsgICAgICAgLyogaW5wdXQgYmxvY2sgKi8KICAvL3VsZyBzdG9yZWRfbGVuOyAgIC8qIGxlbmd0aCBvZiBpbnB1dCBibG9jayAqLwogIC8vaW50IGxhc3Q7ICAgICAgICAgLyogb25lIGlmIHRoaXMgaXMgdGhlIGxhc3QgYmxvY2sgZm9yIGEgZmlsZSAqLwogIHsKICAgIHNlbmRfYml0cyhzLCAoU1RPUkVEX0JMT0NLIDw8IDEpICsgKGxhc3QgPyAxIDogMCksIDMpOyAgICAvKiBzZW5kIGJsb2NrIHR5cGUgKi8KICAgIGNvcHlfYmxvY2socywgYnVmLCBzdG9yZWRfbGVuLCB0cnVlKTsgLyogd2l0aCBoZWFkZXIgKi8KICB9OwoKCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICogU2VuZCBvbmUgZW1wdHkgc3RhdGljIGJsb2NrIHRvIGdpdmUgZW5vdWdoIGxvb2thaGVhZCBmb3IgaW5mbGF0ZS4KICAgKiBUaGlzIHRha2VzIDEwIGJpdHMsIG9mIHdoaWNoIDcgbWF5IHJlbWFpbiBpbiB0aGUgYml0IGJ1ZmZlci4KICAgKi8KICBjb25zdCBfdHJfYWxpZ24kMSA9IChzKSA9PiB7CiAgICBzZW5kX2JpdHMocywgU1RBVElDX1RSRUVTIDw8IDEsIDMpOwogICAgc2VuZF9jb2RlKHMsIEVORF9CTE9DSywgc3RhdGljX2x0cmVlKTsKICAgIGJpX2ZsdXNoKHMpOwogIH07CgoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBEZXRlcm1pbmUgdGhlIGJlc3QgZW5jb2RpbmcgZm9yIHRoZSBjdXJyZW50IGJsb2NrOiBkeW5hbWljIHRyZWVzLCBzdGF0aWMKICAgKiB0cmVlcyBvciBzdG9yZSwgYW5kIG91dHB1dCB0aGUgZW5jb2RlZCBibG9jayB0byB0aGUgemlwIGZpbGUuCiAgICovCiAgY29uc3QgX3RyX2ZsdXNoX2Jsb2NrJDEgPSAocywgYnVmLCBzdG9yZWRfbGVuLCBsYXN0KSA9PgogIC8vRGVmbGF0ZVN0YXRlICpzOwogIC8vY2hhcmYgKmJ1ZjsgICAgICAgLyogaW5wdXQgYmxvY2ssIG9yIE5VTEwgaWYgdG9vIG9sZCAqLwogIC8vdWxnIHN0b3JlZF9sZW47ICAgLyogbGVuZ3RoIG9mIGlucHV0IGJsb2NrICovCiAgLy9pbnQgbGFzdDsgICAgICAgICAvKiBvbmUgaWYgdGhpcyBpcyB0aGUgbGFzdCBibG9jayBmb3IgYSBmaWxlICovCiAgewogICAgbGV0IG9wdF9sZW5iLCBzdGF0aWNfbGVuYjsgIC8qIG9wdF9sZW4gYW5kIHN0YXRpY19sZW4gaW4gYnl0ZXMgKi8KICAgIGxldCBtYXhfYmxpbmRleCA9IDA7ICAgICAgICAvKiBpbmRleCBvZiBsYXN0IGJpdCBsZW5ndGggY29kZSBvZiBub24gemVybyBmcmVxICovCgogICAgLyogQnVpbGQgdGhlIEh1ZmZtYW4gdHJlZXMgdW5sZXNzIGEgc3RvcmVkIGJsb2NrIGlzIGZvcmNlZCAqLwogICAgaWYgKHMubGV2ZWwgPiAwKSB7CgogICAgICAvKiBDaGVjayBpZiB0aGUgZmlsZSBpcyBiaW5hcnkgb3IgdGV4dCAqLwogICAgICBpZiAocy5zdHJtLmRhdGFfdHlwZSA9PT0gWl9VTktOT1dOJDEpIHsKICAgICAgICBzLnN0cm0uZGF0YV90eXBlID0gZGV0ZWN0X2RhdGFfdHlwZShzKTsKICAgICAgfQoKICAgICAgLyogQ29uc3RydWN0IHRoZSBsaXRlcmFsIGFuZCBkaXN0YW5jZSB0cmVlcyAqLwogICAgICBidWlsZF90cmVlKHMsIHMubF9kZXNjKTsKICAgICAgLy8gVHJhY2V2KChzdGRlcnIsICJcbmxpdCBkYXRhOiBkeW4gJWxkLCBzdGF0ICVsZCIsIHMtPm9wdF9sZW4sCiAgICAgIC8vICAgICAgICBzLT5zdGF0aWNfbGVuKSk7CgogICAgICBidWlsZF90cmVlKHMsIHMuZF9kZXNjKTsKICAgICAgLy8gVHJhY2V2KChzdGRlcnIsICJcbmRpc3QgZGF0YTogZHluICVsZCwgc3RhdCAlbGQiLCBzLT5vcHRfbGVuLAogICAgICAvLyAgICAgICAgcy0+c3RhdGljX2xlbikpOwogICAgICAvKiBBdCB0aGlzIHBvaW50LCBvcHRfbGVuIGFuZCBzdGF0aWNfbGVuIGFyZSB0aGUgdG90YWwgYml0IGxlbmd0aHMgb2YKICAgICAgICogdGhlIGNvbXByZXNzZWQgYmxvY2sgZGF0YSwgZXhjbHVkaW5nIHRoZSB0cmVlIHJlcHJlc2VudGF0aW9ucy4KICAgICAgICovCgogICAgICAvKiBCdWlsZCB0aGUgYml0IGxlbmd0aCB0cmVlIGZvciB0aGUgYWJvdmUgdHdvIHRyZWVzLCBhbmQgZ2V0IHRoZSBpbmRleAogICAgICAgKiBpbiBibF9vcmRlciBvZiB0aGUgbGFzdCBiaXQgbGVuZ3RoIGNvZGUgdG8gc2VuZC4KICAgICAgICovCiAgICAgIG1heF9ibGluZGV4ID0gYnVpbGRfYmxfdHJlZShzKTsKCiAgICAgIC8qIERldGVybWluZSB0aGUgYmVzdCBlbmNvZGluZy4gQ29tcHV0ZSB0aGUgYmxvY2sgbGVuZ3RocyBpbiBieXRlcy4gKi8KICAgICAgb3B0X2xlbmIgPSAocy5vcHRfbGVuICsgMyArIDcpID4+PiAzOwogICAgICBzdGF0aWNfbGVuYiA9IChzLnN0YXRpY19sZW4gKyAzICsgNykgPj4+IDM7CgogICAgICAvLyBUcmFjZXYoKHN0ZGVyciwgIlxub3B0ICVsdSglbHUpIHN0YXQgJWx1KCVsdSkgc3RvcmVkICVsdSBsaXQgJXUgIiwKICAgICAgLy8gICAgICAgIG9wdF9sZW5iLCBzLT5vcHRfbGVuLCBzdGF0aWNfbGVuYiwgcy0+c3RhdGljX2xlbiwgc3RvcmVkX2xlbiwKICAgICAgLy8gICAgICAgIHMtPmxhc3RfbGl0KSk7CgogICAgICBpZiAoc3RhdGljX2xlbmIgPD0gb3B0X2xlbmIpIHsgb3B0X2xlbmIgPSBzdGF0aWNfbGVuYjsgfQoKICAgIH0gZWxzZSB7CiAgICAgIC8vIEFzc2VydChidWYgIT0gKGNoYXIqKTAsICJsb3N0IGJ1ZiIpOwogICAgICBvcHRfbGVuYiA9IHN0YXRpY19sZW5iID0gc3RvcmVkX2xlbiArIDU7IC8qIGZvcmNlIGEgc3RvcmVkIGJsb2NrICovCiAgICB9CgogICAgaWYgKChzdG9yZWRfbGVuICsgNCA8PSBvcHRfbGVuYikgJiYgKGJ1ZiAhPT0gLTEpKSB7CiAgICAgIC8qIDQ6IHR3byB3b3JkcyBmb3IgdGhlIGxlbmd0aHMgKi8KCiAgICAgIC8qIFRoZSB0ZXN0IGJ1ZiAhPSBOVUxMIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIExJVF9CVUZTSVpFID4gV1NJWkUuCiAgICAgICAqIE90aGVyd2lzZSB3ZSBjYW4ndCBoYXZlIHByb2Nlc3NlZCBtb3JlIHRoYW4gV1NJWkUgaW5wdXQgYnl0ZXMgc2luY2UKICAgICAgICogdGhlIGxhc3QgYmxvY2sgZmx1c2gsIGJlY2F1c2UgY29tcHJlc3Npb24gd291bGQgaGF2ZSBiZWVuCiAgICAgICAqIHN1Y2Nlc3NmdWwuIElmIExJVF9CVUZTSVpFIDw9IFdTSVpFLCBpdCBpcyBuZXZlciB0b28gbGF0ZSB0bwogICAgICAgKiB0cmFuc2Zvcm0gYSBibG9jayBpbnRvIGEgc3RvcmVkIGJsb2NrLgogICAgICAgKi8KICAgICAgX3RyX3N0b3JlZF9ibG9jayQxKHMsIGJ1Ziwgc3RvcmVkX2xlbiwgbGFzdCk7CgogICAgfSBlbHNlIGlmIChzLnN0cmF0ZWd5ID09PSBaX0ZJWEVEJDEgfHwgc3RhdGljX2xlbmIgPT09IG9wdF9sZW5iKSB7CgogICAgICBzZW5kX2JpdHMocywgKFNUQVRJQ19UUkVFUyA8PCAxKSArIChsYXN0ID8gMSA6IDApLCAzKTsKICAgICAgY29tcHJlc3NfYmxvY2socywgc3RhdGljX2x0cmVlLCBzdGF0aWNfZHRyZWUpOwoKICAgIH0gZWxzZSB7CiAgICAgIHNlbmRfYml0cyhzLCAoRFlOX1RSRUVTIDw8IDEpICsgKGxhc3QgPyAxIDogMCksIDMpOwogICAgICBzZW5kX2FsbF90cmVlcyhzLCBzLmxfZGVzYy5tYXhfY29kZSArIDEsIHMuZF9kZXNjLm1heF9jb2RlICsgMSwgbWF4X2JsaW5kZXggKyAxKTsKICAgICAgY29tcHJlc3NfYmxvY2socywgcy5keW5fbHRyZWUsIHMuZHluX2R0cmVlKTsKICAgIH0KICAgIC8vIEFzc2VydCAocy0+Y29tcHJlc3NlZF9sZW4gPT0gcy0+Yml0c19zZW50LCAiYmFkIGNvbXByZXNzZWQgc2l6ZSIpOwogICAgLyogVGhlIGFib3ZlIGNoZWNrIGlzIG1hZGUgbW9kIDJeMzIsIGZvciBmaWxlcyBsYXJnZXIgdGhhbiA1MTIgTUIKICAgICAqIGFuZCB1TG9uZyBpbXBsZW1lbnRlZCBvbiAzMiBiaXRzLgogICAgICovCiAgICBpbml0X2Jsb2NrKHMpOwoKICAgIGlmIChsYXN0KSB7CiAgICAgIGJpX3dpbmR1cChzKTsKICAgIH0KICAgIC8vIFRyYWNldigoc3RkZXJyLCJcbmNvbXBybGVuICVsdSglbHUpICIsIHMtPmNvbXByZXNzZWRfbGVuPj4zLAogICAgLy8gICAgICAgcy0+Y29tcHJlc3NlZF9sZW4tNypsYXN0KSk7CiAgfTsKCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICogU2F2ZSB0aGUgbWF0Y2ggaW5mbyBhbmQgdGFsbHkgdGhlIGZyZXF1ZW5jeSBjb3VudHMuIFJldHVybiB0cnVlIGlmCiAgICogdGhlIGN1cnJlbnQgYmxvY2sgbXVzdCBiZSBmbHVzaGVkLgogICAqLwogIGNvbnN0IF90cl90YWxseSQxID0gKHMsIGRpc3QsIGxjKSA9PgogIC8vICAgIGRlZmxhdGVfc3RhdGUgKnM7CiAgLy8gICAgdW5zaWduZWQgZGlzdDsgIC8qIGRpc3RhbmNlIG9mIG1hdGNoZWQgc3RyaW5nICovCiAgLy8gICAgdW5zaWduZWQgbGM7ICAgIC8qIG1hdGNoIGxlbmd0aC1NSU5fTUFUQ0ggb3IgdW5tYXRjaGVkIGNoYXIgKGlmIGRpc3Q9PTApICovCiAgewogICAgLy9sZXQgb3V0X2xlbmd0aCwgaW5fbGVuZ3RoLCBkY29kZTsKCiAgICBzLnBlbmRpbmdfYnVmW3MuZF9idWYgKyBzLmxhc3RfbGl0ICogMl0gICAgID0gKGRpc3QgPj4+IDgpICYgMHhmZjsKICAgIHMucGVuZGluZ19idWZbcy5kX2J1ZiArIHMubGFzdF9saXQgKiAyICsgMV0gPSBkaXN0ICYgMHhmZjsKCiAgICBzLnBlbmRpbmdfYnVmW3MubF9idWYgKyBzLmxhc3RfbGl0XSA9IGxjICYgMHhmZjsKICAgIHMubGFzdF9saXQrKzsKCiAgICBpZiAoZGlzdCA9PT0gMCkgewogICAgICAvKiBsYyBpcyB0aGUgdW5tYXRjaGVkIGNoYXIgKi8KICAgICAgcy5keW5fbHRyZWVbbGMgKiAyXS8qLkZyZXEqLysrOwogICAgfSBlbHNlIHsKICAgICAgcy5tYXRjaGVzKys7CiAgICAgIC8qIEhlcmUsIGxjIGlzIHRoZSBtYXRjaCBsZW5ndGggLSBNSU5fTUFUQ0ggKi8KICAgICAgZGlzdC0tOyAgICAgICAgICAgICAvKiBkaXN0ID0gbWF0Y2ggZGlzdGFuY2UgLSAxICovCiAgICAgIC8vQXNzZXJ0KCh1c2gpZGlzdCA8ICh1c2gpTUFYX0RJU1QocykgJiYKICAgICAgLy8gICAgICAgKHVzaClsYyA8PSAodXNoKShNQVhfTUFUQ0gtTUlOX01BVENIKSAmJgogICAgICAvLyAgICAgICAodXNoKWRfY29kZShkaXN0KSA8ICh1c2gpRF9DT0RFUywgICJfdHJfdGFsbHk6IGJhZCBtYXRjaCIpOwoKICAgICAgcy5keW5fbHRyZWVbKF9sZW5ndGhfY29kZVtsY10gKyBMSVRFUkFMUyQxICsgMSkgKiAyXS8qLkZyZXEqLysrOwogICAgICBzLmR5bl9kdHJlZVtkX2NvZGUoZGlzdCkgKiAyXS8qLkZyZXEqLysrOwogICAgfQoKICAvLyAoISkgVGhpcyBibG9jayBpcyBkaXNhYmxlZCBpbiB6bGliIGRlZmF1bHRzLAogIC8vIGRvbid0IGVuYWJsZSBpdCBmb3IgYmluYXJ5IGNvbXBhdGliaWxpdHkKCiAgLy8jaWZkZWYgVFJVTkNBVEVfQkxPQ0sKICAvLyAgLyogVHJ5IHRvIGd1ZXNzIGlmIGl0IGlzIHByb2ZpdGFibGUgdG8gc3RvcCB0aGUgY3VycmVudCBibG9jayBoZXJlICovCiAgLy8gIGlmICgocy5sYXN0X2xpdCAmIDB4MWZmZikgPT09IDAgJiYgcy5sZXZlbCA+IDIpIHsKICAvLyAgICAvKiBDb21wdXRlIGFuIHVwcGVyIGJvdW5kIGZvciB0aGUgY29tcHJlc3NlZCBsZW5ndGggKi8KICAvLyAgICBvdXRfbGVuZ3RoID0gcy5sYXN0X2xpdCo4OwogIC8vICAgIGluX2xlbmd0aCA9IHMuc3Ryc3RhcnQgLSBzLmJsb2NrX3N0YXJ0OwogIC8vCiAgLy8gICAgZm9yIChkY29kZSA9IDA7IGRjb2RlIDwgRF9DT0RFUzsgZGNvZGUrKykgewogIC8vICAgICAgb3V0X2xlbmd0aCArPSBzLmR5bl9kdHJlZVtkY29kZSoyXS8qLkZyZXEqLyAqICg1ICsgZXh0cmFfZGJpdHNbZGNvZGVdKTsKICAvLyAgICB9CiAgLy8gICAgb3V0X2xlbmd0aCA+Pj49IDM7CiAgLy8gICAgLy9UcmFjZXYoKHN0ZGVyciwiXG5sYXN0X2xpdCAldSwgaW4gJWxkLCBvdXQgfiVsZCglbGQlJSkgIiwKICAvLyAgICAvLyAgICAgICBzLT5sYXN0X2xpdCwgaW5fbGVuZ3RoLCBvdXRfbGVuZ3RoLAogIC8vICAgIC8vICAgICAgIDEwMEwgLSBvdXRfbGVuZ3RoKjEwMEwvaW5fbGVuZ3RoKSk7CiAgLy8gICAgaWYgKHMubWF0Y2hlcyA8IChzLmxhc3RfbGl0Pj4xKS8qaW50IC8yKi8gJiYgb3V0X2xlbmd0aCA8IChpbl9sZW5ndGg+PjEpLyppbnQgLzIqLykgewogIC8vICAgICAgcmV0dXJuIHRydWU7CiAgLy8gICAgfQogIC8vICB9CiAgLy8jZW5kaWYKCiAgICByZXR1cm4gKHMubGFzdF9saXQgPT09IHMubGl0X2J1ZnNpemUgLSAxKTsKICAgIC8qIFdlIGF2b2lkIGVxdWFsaXR5IHdpdGggbGl0X2J1ZnNpemUgYmVjYXVzZSBvZiB3cmFwYXJvdW5kIGF0IDY0SwogICAgICogb24gMTYgYml0IG1hY2hpbmVzIGFuZCBiZWNhdXNlIHN0b3JlZCBibG9ja3MgYXJlIHJlc3RyaWN0ZWQgdG8KICAgICAqIDY0Sy0xIGJ5dGVzLgogICAgICovCiAgfTsKCiAgdmFyIF90cl9pbml0XzEgID0gX3RyX2luaXQkMTsKICB2YXIgX3RyX3N0b3JlZF9ibG9ja18xID0gX3RyX3N0b3JlZF9ibG9jayQxOwogIHZhciBfdHJfZmx1c2hfYmxvY2tfMSAgPSBfdHJfZmx1c2hfYmxvY2skMTsKICB2YXIgX3RyX3RhbGx5XzEgPSBfdHJfdGFsbHkkMTsKICB2YXIgX3RyX2FsaWduXzEgPSBfdHJfYWxpZ24kMTsKCiAgdmFyIHRyZWVzID0gewogIAlfdHJfaW5pdDogX3RyX2luaXRfMSwKICAJX3RyX3N0b3JlZF9ibG9jazogX3RyX3N0b3JlZF9ibG9ja18xLAogIAlfdHJfZmx1c2hfYmxvY2s6IF90cl9mbHVzaF9ibG9ja18xLAogIAlfdHJfdGFsbHk6IF90cl90YWxseV8xLAogIAlfdHJfYWxpZ246IF90cl9hbGlnbl8xCiAgfTsKCiAgLy8gTm90ZTogYWRsZXIzMiB0YWtlcyAxMiUgZm9yIGxldmVsIDAgYW5kIDIlIGZvciBsZXZlbCA2LgogIC8vIEl0IGlzbid0IHdvcnRoIGl0IHRvIG1ha2UgYWRkaXRpb25hbCBvcHRpbWl6YXRpb25zIGFzIGluIG9yaWdpbmFsLgogIC8vIFNtYWxsIHNpemUgaXMgcHJlZmVyYWJsZS4KCiAgLy8gKEMpIDE5OTUtMjAxMyBKZWFuLWxvdXAgR2FpbGx5IGFuZCBNYXJrIEFkbGVyCiAgLy8gKEMpIDIwMTQtMjAxNyBWaXRhbHkgUHV6cmluIGFuZCBBbmRyZXkgVHVwaXRzaW4KICAvLwogIC8vIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgJ2FzLWlzJywgd2l0aG91dCBhbnkgZXhwcmVzcyBvciBpbXBsaWVkCiAgLy8gd2FycmFudHkuIEluIG5vIGV2ZW50IHdpbGwgdGhlIGF1dGhvcnMgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBkYW1hZ2VzCiAgLy8gYXJpc2luZyBmcm9tIHRoZSB1c2Ugb2YgdGhpcyBzb2Z0d2FyZS4KICAvLwogIC8vIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBhbnlvbmUgdG8gdXNlIHRoaXMgc29mdHdhcmUgZm9yIGFueSBwdXJwb3NlLAogIC8vIGluY2x1ZGluZyBjb21tZXJjaWFsIGFwcGxpY2F0aW9ucywgYW5kIHRvIGFsdGVyIGl0IGFuZCByZWRpc3RyaWJ1dGUgaXQKICAvLyBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgLy8KICAvLyAxLiBUaGUgb3JpZ2luIG9mIHRoaXMgc29mdHdhcmUgbXVzdCBub3QgYmUgbWlzcmVwcmVzZW50ZWQ7IHlvdSBtdXN0IG5vdAogIC8vICAgY2xhaW0gdGhhdCB5b3Ugd3JvdGUgdGhlIG9yaWdpbmFsIHNvZnR3YXJlLiBJZiB5b3UgdXNlIHRoaXMgc29mdHdhcmUKICAvLyAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogIC8vICAgYXBwcmVjaWF0ZWQgYnV0IGlzIG5vdCByZXF1aXJlZC4KICAvLyAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogIC8vICAgbWlzcmVwcmVzZW50ZWQgYXMgYmVpbmcgdGhlIG9yaWdpbmFsIHNvZnR3YXJlLgogIC8vIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCgogIGNvbnN0IGFkbGVyMzIgPSAoYWRsZXIsIGJ1ZiwgbGVuLCBwb3MpID0+IHsKICAgIGxldCBzMSA9IChhZGxlciAmIDB4ZmZmZikgfDAsCiAgICAgICAgczIgPSAoKGFkbGVyID4+PiAxNikgJiAweGZmZmYpIHwwLAogICAgICAgIG4gPSAwOwoKICAgIHdoaWxlIChsZW4gIT09IDApIHsKICAgICAgLy8gU2V0IGxpbWl0IH4gdHdpY2UgbGVzcyB0aGFuIDU1NTIsIHRvIGtlZXAKICAgICAgLy8gczIgaW4gMzEtYml0cywgYmVjYXVzZSB3ZSBmb3JjZSBzaWduZWQgaW50cy4KICAgICAgLy8gaW4gb3RoZXIgY2FzZSAlPSB3aWxsIGZhaWwuCiAgICAgIG4gPSBsZW4gPiAyMDAwID8gMjAwMCA6IGxlbjsKICAgICAgbGVuIC09IG47CgogICAgICBkbyB7CiAgICAgICAgczEgPSAoczEgKyBidWZbcG9zKytdKSB8MDsKICAgICAgICBzMiA9IChzMiArIHMxKSB8MDsKICAgICAgfSB3aGlsZSAoLS1uKTsKCiAgICAgIHMxICU9IDY1NTIxOwogICAgICBzMiAlPSA2NTUyMTsKICAgIH0KCiAgICByZXR1cm4gKHMxIHwgKHMyIDw8IDE2KSkgfDA7CiAgfTsKCgogIHZhciBhZGxlcjMyXzEgPSBhZGxlcjMyOwoKICAvLyBOb3RlOiB3ZSBjYW4ndCBnZXQgc2lnbmlmaWNhbnQgc3BlZWQgYm9vc3QgaGVyZS4KICAvLyBTbyB3cml0ZSBjb2RlIHRvIG1pbmltaXplIHNpemUgLSBubyBwcmVnZW5lcmF0ZWQgdGFibGVzCiAgLy8gYW5kIGFycmF5IHRvb2xzIGRlcGVuZGVuY2llcy4KCiAgLy8gKEMpIDE5OTUtMjAxMyBKZWFuLWxvdXAgR2FpbGx5IGFuZCBNYXJrIEFkbGVyCiAgLy8gKEMpIDIwMTQtMjAxNyBWaXRhbHkgUHV6cmluIGFuZCBBbmRyZXkgVHVwaXRzaW4KICAvLwogIC8vIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgJ2FzLWlzJywgd2l0aG91dCBhbnkgZXhwcmVzcyBvciBpbXBsaWVkCiAgLy8gd2FycmFudHkuIEluIG5vIGV2ZW50IHdpbGwgdGhlIGF1dGhvcnMgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBkYW1hZ2VzCiAgLy8gYXJpc2luZyBmcm9tIHRoZSB1c2Ugb2YgdGhpcyBzb2Z0d2FyZS4KICAvLwogIC8vIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBhbnlvbmUgdG8gdXNlIHRoaXMgc29mdHdhcmUgZm9yIGFueSBwdXJwb3NlLAogIC8vIGluY2x1ZGluZyBjb21tZXJjaWFsIGFwcGxpY2F0aW9ucywgYW5kIHRvIGFsdGVyIGl0IGFuZCByZWRpc3RyaWJ1dGUgaXQKICAvLyBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgLy8KICAvLyAxLiBUaGUgb3JpZ2luIG9mIHRoaXMgc29mdHdhcmUgbXVzdCBub3QgYmUgbWlzcmVwcmVzZW50ZWQ7IHlvdSBtdXN0IG5vdAogIC8vICAgY2xhaW0gdGhhdCB5b3Ugd3JvdGUgdGhlIG9yaWdpbmFsIHNvZnR3YXJlLiBJZiB5b3UgdXNlIHRoaXMgc29mdHdhcmUKICAvLyAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogIC8vICAgYXBwcmVjaWF0ZWQgYnV0IGlzIG5vdCByZXF1aXJlZC4KICAvLyAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogIC8vICAgbWlzcmVwcmVzZW50ZWQgYXMgYmVpbmcgdGhlIG9yaWdpbmFsIHNvZnR3YXJlLgogIC8vIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCgogIC8vIFVzZSBvcmRpbmFyeSBhcnJheSwgc2luY2UgdW50eXBlZCBtYWtlcyBubyBib29zdCBoZXJlCiAgY29uc3QgbWFrZVRhYmxlID0gKCkgPT4gewogICAgbGV0IGMsIHRhYmxlID0gW107CgogICAgZm9yICh2YXIgbiA9IDA7IG4gPCAyNTY7IG4rKykgewogICAgICBjID0gbjsKICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCA4OyBrKyspIHsKICAgICAgICBjID0gKChjICYgMSkgPyAoMHhFREI4ODMyMCBeIChjID4+PiAxKSkgOiAoYyA+Pj4gMSkpOwogICAgICB9CiAgICAgIHRhYmxlW25dID0gYzsKICAgIH0KCiAgICByZXR1cm4gdGFibGU7CiAgfTsKCiAgLy8gQ3JlYXRlIHRhYmxlIG9uIGxvYWQuIEp1c3QgMjU1IHNpZ25lZCBsb25ncy4gTm90IGEgcHJvYmxlbS4KICBjb25zdCBjcmNUYWJsZSA9IG5ldyBVaW50MzJBcnJheShtYWtlVGFibGUoKSk7CgoKICBjb25zdCBjcmMzMiA9IChjcmMsIGJ1ZiwgbGVuLCBwb3MpID0+IHsKICAgIGNvbnN0IHQgPSBjcmNUYWJsZTsKICAgIGNvbnN0IGVuZCA9IHBvcyArIGxlbjsKCiAgICBjcmMgXj0gLTE7CgogICAgZm9yIChsZXQgaSA9IHBvczsgaSA8IGVuZDsgaSsrKSB7CiAgICAgIGNyYyA9IChjcmMgPj4+IDgpIF4gdFsoY3JjIF4gYnVmW2ldKSAmIDB4RkZdOwogICAgfQoKICAgIHJldHVybiAoY3JjIF4gKC0xKSk7IC8vID4+PiAwOwogIH07CgoKICB2YXIgY3JjMzJfMSA9IGNyYzMyOwoKICAvLyAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAvLyAoQykgMjAxNC0yMDE3IFZpdGFseSBQdXpyaW4gYW5kIEFuZHJleSBUdXBpdHNpbgogIC8vCiAgLy8gVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAvLyB3YXJyYW50eS4gSW4gbm8gZXZlbnQgd2lsbCB0aGUgYXV0aG9ycyBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGRhbWFnZXMKICAvLyBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogIC8vCiAgLy8gUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGFueW9uZSB0byB1c2UgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2UsCiAgLy8gaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogIC8vIGZyZWVseSwgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIHJlc3RyaWN0aW9uczoKICAvLwogIC8vIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgLy8gICBjbGFpbSB0aGF0IHlvdSB3cm90ZSB0aGUgb3JpZ2luYWwgc29mdHdhcmUuIElmIHlvdSB1c2UgdGhpcyBzb2Z0d2FyZQogIC8vICAgaW4gYSBwcm9kdWN0LCBhbiBhY2tub3dsZWRnbWVudCBpbiB0aGUgcHJvZHVjdCBkb2N1bWVudGF0aW9uIHdvdWxkIGJlCiAgLy8gICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogIC8vIDIuIEFsdGVyZWQgc291cmNlIHZlcnNpb25zIG11c3QgYmUgcGxhaW5seSBtYXJrZWQgYXMgc3VjaCwgYW5kIG11c3Qgbm90IGJlCiAgLy8gICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgLy8gMy4gVGhpcyBub3RpY2UgbWF5IG5vdCBiZSByZW1vdmVkIG9yIGFsdGVyZWQgZnJvbSBhbnkgc291cmNlIGRpc3RyaWJ1dGlvbi4KCiAgdmFyIG1lc3NhZ2VzID0gewogICAgMjogICAgICAnbmVlZCBkaWN0aW9uYXJ5JywgICAgIC8qIFpfTkVFRF9ESUNUICAgICAgIDIgICovCiAgICAxOiAgICAgICdzdHJlYW0gZW5kJywgICAgICAgICAgLyogWl9TVFJFQU1fRU5EICAgICAgMSAgKi8KICAgIDA6ICAgICAgJycsICAgICAgICAgICAgICAgICAgICAvKiBaX09LICAgICAgICAgICAgICAwICAqLwogICAgJy0xJzogICAnZmlsZSBlcnJvcicsICAgICAgICAgIC8qIFpfRVJSTk8gICAgICAgICAoLTEpICovCiAgICAnLTInOiAgICdzdHJlYW0gZXJyb3InLCAgICAgICAgLyogWl9TVFJFQU1fRVJST1IgICgtMikgKi8KICAgICctMyc6ICAgJ2RhdGEgZXJyb3InLCAgICAgICAgICAvKiBaX0RBVEFfRVJST1IgICAgKC0zKSAqLwogICAgJy00JzogICAnaW5zdWZmaWNpZW50IG1lbW9yeScsIC8qIFpfTUVNX0VSUk9SICAgICAoLTQpICovCiAgICAnLTUnOiAgICdidWZmZXIgZXJyb3InLCAgICAgICAgLyogWl9CVUZfRVJST1IgICAgICgtNSkgKi8KICAgICctNic6ICAgJ2luY29tcGF0aWJsZSB2ZXJzaW9uJyAvKiBaX1ZFUlNJT05fRVJST1IgKC02KSAqLwogIH07CgogIC8vIChDKSAxOTk1LTIwMTMgSmVhbi1sb3VwIEdhaWxseSBhbmQgTWFyayBBZGxlcgogIC8vIChDKSAyMDE0LTIwMTcgVml0YWx5IFB1enJpbiBhbmQgQW5kcmV5IFR1cGl0c2luCiAgLy8KICAvLyBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICdhcy1pcycsIHdpdGhvdXQgYW55IGV4cHJlc3Mgb3IgaW1wbGllZAogIC8vIHdhcnJhbnR5LiBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogIC8vIGFyaXNpbmcgZnJvbSB0aGUgdXNlIG9mIHRoaXMgc29mdHdhcmUuCiAgLy8KICAvLyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAvLyBpbmNsdWRpbmcgY29tbWVyY2lhbCBhcHBsaWNhdGlvbnMsIGFuZCB0byBhbHRlciBpdCBhbmQgcmVkaXN0cmlidXRlIGl0CiAgLy8gZnJlZWx5LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zOgogIC8vCiAgLy8gMS4gVGhlIG9yaWdpbiBvZiB0aGlzIHNvZnR3YXJlIG11c3Qgbm90IGJlIG1pc3JlcHJlc2VudGVkOyB5b3UgbXVzdCBub3QKICAvLyAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgLy8gICBpbiBhIHByb2R1Y3QsIGFuIGFja25vd2xlZGdtZW50IGluIHRoZSBwcm9kdWN0IGRvY3VtZW50YXRpb24gd291bGQgYmUKICAvLyAgIGFwcHJlY2lhdGVkIGJ1dCBpcyBub3QgcmVxdWlyZWQuCiAgLy8gMi4gQWx0ZXJlZCBzb3VyY2UgdmVyc2lvbnMgbXVzdCBiZSBwbGFpbmx5IG1hcmtlZCBhcyBzdWNoLCBhbmQgbXVzdCBub3QgYmUKICAvLyAgIG1pc3JlcHJlc2VudGVkIGFzIGJlaW5nIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4KICAvLyAzLiBUaGlzIG5vdGljZSBtYXkgbm90IGJlIHJlbW92ZWQgb3IgYWx0ZXJlZCBmcm9tIGFueSBzb3VyY2UgZGlzdHJpYnV0aW9uLgoKICB2YXIgY29uc3RhbnRzJDIgPSB7CgogICAgLyogQWxsb3dlZCBmbHVzaCB2YWx1ZXM7IHNlZSBkZWZsYXRlKCkgYW5kIGluZmxhdGUoKSBiZWxvdyBmb3IgZGV0YWlscyAqLwogICAgWl9OT19GTFVTSDogICAgICAgICAwLAogICAgWl9QQVJUSUFMX0ZMVVNIOiAgICAxLAogICAgWl9TWU5DX0ZMVVNIOiAgICAgICAyLAogICAgWl9GVUxMX0ZMVVNIOiAgICAgICAzLAogICAgWl9GSU5JU0g6ICAgICAgICAgICA0LAogICAgWl9CTE9DSzogICAgICAgICAgICA1LAogICAgWl9UUkVFUzogICAgICAgICAgICA2LAoKICAgIC8qIFJldHVybiBjb2RlcyBmb3IgdGhlIGNvbXByZXNzaW9uL2RlY29tcHJlc3Npb24gZnVuY3Rpb25zLiBOZWdhdGl2ZSB2YWx1ZXMKICAgICogYXJlIGVycm9ycywgcG9zaXRpdmUgdmFsdWVzIGFyZSB1c2VkIGZvciBzcGVjaWFsIGJ1dCBub3JtYWwgZXZlbnRzLgogICAgKi8KICAgIFpfT0s6ICAgICAgICAgICAgICAgMCwKICAgIFpfU1RSRUFNX0VORDogICAgICAgMSwKICAgIFpfTkVFRF9ESUNUOiAgICAgICAgMiwKICAgIFpfRVJSTk86ICAgICAgICAgICAtMSwKICAgIFpfU1RSRUFNX0VSUk9SOiAgICAtMiwKICAgIFpfREFUQV9FUlJPUjogICAgICAtMywKICAgIFpfTUVNX0VSUk9SOiAgICAgICAtNCwKICAgIFpfQlVGX0VSUk9SOiAgICAgICAtNSwKICAgIC8vWl9WRVJTSU9OX0VSUk9SOiAtNiwKCiAgICAvKiBjb21wcmVzc2lvbiBsZXZlbHMgKi8KICAgIFpfTk9fQ09NUFJFU1NJT046ICAgICAgICAgMCwKICAgIFpfQkVTVF9TUEVFRDogICAgICAgICAgICAgMSwKICAgIFpfQkVTVF9DT01QUkVTU0lPTjogICAgICAgOSwKICAgIFpfREVGQVVMVF9DT01QUkVTU0lPTjogICAtMSwKCgogICAgWl9GSUxURVJFRDogICAgICAgICAgICAgICAxLAogICAgWl9IVUZGTUFOX09OTFk6ICAgICAgICAgICAyLAogICAgWl9STEU6ICAgICAgICAgICAgICAgICAgICAzLAogICAgWl9GSVhFRDogICAgICAgICAgICAgICAgICA0LAogICAgWl9ERUZBVUxUX1NUUkFURUdZOiAgICAgICAwLAoKICAgIC8qIFBvc3NpYmxlIHZhbHVlcyBvZiB0aGUgZGF0YV90eXBlIGZpZWxkICh0aG91Z2ggc2VlIGluZmxhdGUoKSkgKi8KICAgIFpfQklOQVJZOiAgICAgICAgICAgICAgICAgMCwKICAgIFpfVEVYVDogICAgICAgICAgICAgICAgICAgMSwKICAgIC8vWl9BU0NJSTogICAgICAgICAgICAgICAgMSwgLy8gPSBaX1RFWFQgKGRlcHJlY2F0ZWQpCiAgICBaX1VOS05PV046ICAgICAgICAgICAgICAgIDIsCgogICAgLyogVGhlIGRlZmxhdGUgY29tcHJlc3Npb24gbWV0aG9kICovCiAgICBaX0RFRkxBVEVEOiAgICAgICAgICAgICAgIDgKICAgIC8vWl9OVUxMOiAgICAgICAgICAgICAgICAgbnVsbCAvLyBVc2UgLTEgb3IgbnVsbCBpbmxpbmUsIGRlcGVuZGluZyBvbiB2YXIgdHlwZQogIH07CgogIC8vIChDKSAxOTk1LTIwMTMgSmVhbi1sb3VwIEdhaWxseSBhbmQgTWFyayBBZGxlcgogIC8vIChDKSAyMDE0LTIwMTcgVml0YWx5IFB1enJpbiBhbmQgQW5kcmV5IFR1cGl0c2luCiAgLy8KICAvLyBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICdhcy1pcycsIHdpdGhvdXQgYW55IGV4cHJlc3Mgb3IgaW1wbGllZAogIC8vIHdhcnJhbnR5LiBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogIC8vIGFyaXNpbmcgZnJvbSB0aGUgdXNlIG9mIHRoaXMgc29mdHdhcmUuCiAgLy8KICAvLyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAvLyBpbmNsdWRpbmcgY29tbWVyY2lhbCBhcHBsaWNhdGlvbnMsIGFuZCB0byBhbHRlciBpdCBhbmQgcmVkaXN0cmlidXRlIGl0CiAgLy8gZnJlZWx5LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zOgogIC8vCiAgLy8gMS4gVGhlIG9yaWdpbiBvZiB0aGlzIHNvZnR3YXJlIG11c3Qgbm90IGJlIG1pc3JlcHJlc2VudGVkOyB5b3UgbXVzdCBub3QKICAvLyAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgLy8gICBpbiBhIHByb2R1Y3QsIGFuIGFja25vd2xlZGdtZW50IGluIHRoZSBwcm9kdWN0IGRvY3VtZW50YXRpb24gd291bGQgYmUKICAvLyAgIGFwcHJlY2lhdGVkIGJ1dCBpcyBub3QgcmVxdWlyZWQuCiAgLy8gMi4gQWx0ZXJlZCBzb3VyY2UgdmVyc2lvbnMgbXVzdCBiZSBwbGFpbmx5IG1hcmtlZCBhcyBzdWNoLCBhbmQgbXVzdCBub3QgYmUKICAvLyAgIG1pc3JlcHJlc2VudGVkIGFzIGJlaW5nIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4KICAvLyAzLiBUaGlzIG5vdGljZSBtYXkgbm90IGJlIHJlbW92ZWQgb3IgYWx0ZXJlZCBmcm9tIGFueSBzb3VyY2UgZGlzdHJpYnV0aW9uLgoKICBjb25zdCB7IF90cl9pbml0LCBfdHJfc3RvcmVkX2Jsb2NrLCBfdHJfZmx1c2hfYmxvY2ssIF90cl90YWxseSwgX3RyX2FsaWduIH0gPSB0cmVlczsKCgoKCiAgLyogUHVibGljIGNvbnN0YW50cyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKICBjb25zdCB7CiAgICBaX05PX0ZMVVNIOiBaX05PX0ZMVVNIJDIsIFpfUEFSVElBTF9GTFVTSCwgWl9GVUxMX0ZMVVNIOiBaX0ZVTExfRkxVU0gkMSwgWl9GSU5JU0g6IFpfRklOSVNIJDMsIFpfQkxPQ0s6IFpfQkxPQ0skMSwKICAgIFpfT0s6IFpfT0skMywgWl9TVFJFQU1fRU5EOiBaX1NUUkVBTV9FTkQkMywgWl9TVFJFQU1fRVJST1I6IFpfU1RSRUFNX0VSUk9SJDIsIFpfREFUQV9FUlJPUjogWl9EQVRBX0VSUk9SJDIsIFpfQlVGX0VSUk9SOiBaX0JVRl9FUlJPUiQxLAogICAgWl9ERUZBVUxUX0NPTVBSRVNTSU9OOiBaX0RFRkFVTFRfQ09NUFJFU1NJT04kMSwKICAgIFpfRklMVEVSRUQsIFpfSFVGRk1BTl9PTkxZLCBaX1JMRSwgWl9GSVhFRCwgWl9ERUZBVUxUX1NUUkFURUdZOiBaX0RFRkFVTFRfU1RSQVRFR1kkMSwKICAgIFpfVU5LTk9XTiwKICAgIFpfREVGTEFURUQ6IFpfREVGTEFURUQkMgogIH0gPSBjb25zdGFudHMkMjsKCiAgLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCgogIGNvbnN0IE1BWF9NRU1fTEVWRUwgPSA5OwogIC8qIE1heGltdW0gdmFsdWUgZm9yIG1lbUxldmVsIGluIGRlZmxhdGVJbml0MiAqLwogIGNvbnN0IE1BWF9XQklUUyQxID0gMTU7CiAgLyogMzJLIExaNzcgd2luZG93ICovCiAgY29uc3QgREVGX01FTV9MRVZFTCA9IDg7CgoKICBjb25zdCBMRU5HVEhfQ09ERVMgID0gMjk7CiAgLyogbnVtYmVyIG9mIGxlbmd0aCBjb2Rlcywgbm90IGNvdW50aW5nIHRoZSBzcGVjaWFsIEVORF9CTE9DSyBjb2RlICovCiAgY29uc3QgTElURVJBTFMgICAgICA9IDI1NjsKICAvKiBudW1iZXIgb2YgbGl0ZXJhbCBieXRlcyAwLi4yNTUgKi8KICBjb25zdCBMX0NPREVTICAgICAgID0gTElURVJBTFMgKyAxICsgTEVOR1RIX0NPREVTOwogIC8qIG51bWJlciBvZiBMaXRlcmFsIG9yIExlbmd0aCBjb2RlcywgaW5jbHVkaW5nIHRoZSBFTkRfQkxPQ0sgY29kZSAqLwogIGNvbnN0IERfQ09ERVMgICAgICAgPSAzMDsKICAvKiBudW1iZXIgb2YgZGlzdGFuY2UgY29kZXMgKi8KICBjb25zdCBCTF9DT0RFUyAgICAgID0gMTk7CiAgLyogbnVtYmVyIG9mIGNvZGVzIHVzZWQgdG8gdHJhbnNmZXIgdGhlIGJpdCBsZW5ndGhzICovCiAgY29uc3QgSEVBUF9TSVpFICAgICA9IDIgKiBMX0NPREVTICsgMTsKICAvKiBtYXhpbXVtIGhlYXAgc2l6ZSAqLwogIGNvbnN0IE1BWF9CSVRTICA9IDE1OwogIC8qIEFsbCBjb2RlcyBtdXN0IG5vdCBleGNlZWQgTUFYX0JJVFMgYml0cyAqLwoKICBjb25zdCBNSU5fTUFUQ0ggPSAzOwogIGNvbnN0IE1BWF9NQVRDSCA9IDI1ODsKICBjb25zdCBNSU5fTE9PS0FIRUFEID0gKE1BWF9NQVRDSCArIE1JTl9NQVRDSCArIDEpOwoKICBjb25zdCBQUkVTRVRfRElDVCA9IDB4MjA7CgogIGNvbnN0IElOSVRfU1RBVEUgPSA0MjsKICBjb25zdCBFWFRSQV9TVEFURSA9IDY5OwogIGNvbnN0IE5BTUVfU1RBVEUgPSA3MzsKICBjb25zdCBDT01NRU5UX1NUQVRFID0gOTE7CiAgY29uc3QgSENSQ19TVEFURSA9IDEwMzsKICBjb25zdCBCVVNZX1NUQVRFID0gMTEzOwogIGNvbnN0IEZJTklTSF9TVEFURSA9IDY2NjsKCiAgY29uc3QgQlNfTkVFRF9NT1JFICAgICAgPSAxOyAvKiBibG9jayBub3QgY29tcGxldGVkLCBuZWVkIG1vcmUgaW5wdXQgb3IgbW9yZSBvdXRwdXQgKi8KICBjb25zdCBCU19CTE9DS19ET05FICAgICA9IDI7IC8qIGJsb2NrIGZsdXNoIHBlcmZvcm1lZCAqLwogIGNvbnN0IEJTX0ZJTklTSF9TVEFSVEVEID0gMzsgLyogZmluaXNoIHN0YXJ0ZWQsIG5lZWQgb25seSBtb3JlIG91dHB1dCBhdCBuZXh0IGRlZmxhdGUgKi8KICBjb25zdCBCU19GSU5JU0hfRE9ORSAgICA9IDQ7IC8qIGZpbmlzaCBkb25lLCBhY2NlcHQgbm8gbW9yZSBpbnB1dCBvciBvdXRwdXQgKi8KCiAgY29uc3QgT1NfQ09ERSA9IDB4MDM7IC8vIFVuaXggOikgLiBEb24ndCBkZXRlY3QsIHVzZSB0aGlzIGRlZmF1bHQuCgogIGNvbnN0IGVyciA9IChzdHJtLCBlcnJvckNvZGUpID0+IHsKICAgIHN0cm0ubXNnID0gbWVzc2FnZXNbZXJyb3JDb2RlXTsKICAgIHJldHVybiBlcnJvckNvZGU7CiAgfTsKCiAgY29uc3QgcmFuayA9IChmKSA9PiB7CiAgICByZXR1cm4gKChmKSA8PCAxKSAtICgoZikgPiA0ID8gOSA6IDApOwogIH07CgogIGNvbnN0IHplcm8gPSAoYnVmKSA9PiB7CiAgICBsZXQgbGVuID0gYnVmLmxlbmd0aDsgd2hpbGUgKC0tbGVuID49IDApIHsgYnVmW2xlbl0gPSAwOyB9CiAgfTsKCgogIC8qIGVzbGludC1kaXNhYmxlIG5ldy1jYXAgKi8KICBsZXQgSEFTSF9aTElCID0gKHMsIHByZXYsIGRhdGEpID0+ICgocHJldiA8PCBzLmhhc2hfc2hpZnQpIF4gZGF0YSkgJiBzLmhhc2hfbWFzazsKICAvLyBUaGlzIGhhc2ggY2F1c2VzIGxlc3MgY29sbGlzaW9ucywgaHR0cHM6Ly9naXRodWIuY29tL25vZGVjYS9wYWtvL2lzc3Vlcy8xMzUKICAvLyBCdXQgYnJlYWtzIGJpbmFyeSBjb21wYXRpYmlsaXR5CiAgLy9sZXQgSEFTSF9GQVNUID0gKHMsIHByZXYsIGRhdGEpID0+ICgocHJldiA8PCA4KSArIChwcmV2ID4+IDgpICsgKGRhdGEgPDwgNCkpICYgcy5oYXNoX21hc2s7CiAgbGV0IEhBU0ggPSBIQVNIX1pMSUI7CgogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBGbHVzaCBhcyBtdWNoIHBlbmRpbmcgb3V0cHV0IGFzIHBvc3NpYmxlLiBBbGwgZGVmbGF0ZSgpIG91dHB1dCBnb2VzCiAgICogdGhyb3VnaCB0aGlzIGZ1bmN0aW9uIHNvIHNvbWUgYXBwbGljYXRpb25zIG1heSB3aXNoIHRvIG1vZGlmeSBpdAogICAqIHRvIGF2b2lkIGFsbG9jYXRpbmcgYSBsYXJnZSBzdHJtLT5vdXRwdXQgYnVmZmVyIGFuZCBjb3B5aW5nIGludG8gaXQuCiAgICogKFNlZSBhbHNvIHJlYWRfYnVmKCkpLgogICAqLwogIGNvbnN0IGZsdXNoX3BlbmRpbmcgPSAoc3RybSkgPT4gewogICAgY29uc3QgcyA9IHN0cm0uc3RhdGU7CgogICAgLy9fdHJfZmx1c2hfYml0cyhzKTsKICAgIGxldCBsZW4gPSBzLnBlbmRpbmc7CiAgICBpZiAobGVuID4gc3RybS5hdmFpbF9vdXQpIHsKICAgICAgbGVuID0gc3RybS5hdmFpbF9vdXQ7CiAgICB9CiAgICBpZiAobGVuID09PSAwKSB7IHJldHVybjsgfQoKICAgIHN0cm0ub3V0cHV0LnNldChzLnBlbmRpbmdfYnVmLnN1YmFycmF5KHMucGVuZGluZ19vdXQsIHMucGVuZGluZ19vdXQgKyBsZW4pLCBzdHJtLm5leHRfb3V0KTsKICAgIHN0cm0ubmV4dF9vdXQgKz0gbGVuOwogICAgcy5wZW5kaW5nX291dCArPSBsZW47CiAgICBzdHJtLnRvdGFsX291dCArPSBsZW47CiAgICBzdHJtLmF2YWlsX291dCAtPSBsZW47CiAgICBzLnBlbmRpbmcgLT0gbGVuOwogICAgaWYgKHMucGVuZGluZyA9PT0gMCkgewogICAgICBzLnBlbmRpbmdfb3V0ID0gMDsKICAgIH0KICB9OwoKCiAgY29uc3QgZmx1c2hfYmxvY2tfb25seSA9IChzLCBsYXN0KSA9PiB7CiAgICBfdHJfZmx1c2hfYmxvY2socywgKHMuYmxvY2tfc3RhcnQgPj0gMCA/IHMuYmxvY2tfc3RhcnQgOiAtMSksIHMuc3Ryc3RhcnQgLSBzLmJsb2NrX3N0YXJ0LCBsYXN0KTsKICAgIHMuYmxvY2tfc3RhcnQgPSBzLnN0cnN0YXJ0OwogICAgZmx1c2hfcGVuZGluZyhzLnN0cm0pOwogIH07CgoKICBjb25zdCBwdXRfYnl0ZSA9IChzLCBiKSA9PiB7CiAgICBzLnBlbmRpbmdfYnVmW3MucGVuZGluZysrXSA9IGI7CiAgfTsKCgogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBQdXQgYSBzaG9ydCBpbiB0aGUgcGVuZGluZyBidWZmZXIuIFRoZSAxNi1iaXQgdmFsdWUgaXMgcHV0IGluIE1TQiBvcmRlci4KICAgKiBJTiBhc3NlcnRpb246IHRoZSBzdHJlYW0gc3RhdGUgaXMgY29ycmVjdCBhbmQgdGhlcmUgaXMgZW5vdWdoIHJvb20gaW4KICAgKiBwZW5kaW5nX2J1Zi4KICAgKi8KICBjb25zdCBwdXRTaG9ydE1TQiA9IChzLCBiKSA9PiB7CgogICAgLy8gIHB1dF9ieXRlKHMsIChCeXRlKShiID4+IDgpKTsKICAvLyAgcHV0X2J5dGUocywgKEJ5dGUpKGIgJiAweGZmKSk7CiAgICBzLnBlbmRpbmdfYnVmW3MucGVuZGluZysrXSA9IChiID4+PiA4KSAmIDB4ZmY7CiAgICBzLnBlbmRpbmdfYnVmW3MucGVuZGluZysrXSA9IGIgJiAweGZmOwogIH07CgoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBSZWFkIGEgbmV3IGJ1ZmZlciBmcm9tIHRoZSBjdXJyZW50IGlucHV0IHN0cmVhbSwgdXBkYXRlIHRoZSBhZGxlcjMyCiAgICogYW5kIHRvdGFsIG51bWJlciBvZiBieXRlcyByZWFkLiAgQWxsIGRlZmxhdGUoKSBpbnB1dCBnb2VzIHRocm91Z2gKICAgKiB0aGlzIGZ1bmN0aW9uIHNvIHNvbWUgYXBwbGljYXRpb25zIG1heSB3aXNoIHRvIG1vZGlmeSBpdCB0byBhdm9pZAogICAqIGFsbG9jYXRpbmcgYSBsYXJnZSBzdHJtLT5pbnB1dCBidWZmZXIgYW5kIGNvcHlpbmcgZnJvbSBpdC4KICAgKiAoU2VlIGFsc28gZmx1c2hfcGVuZGluZygpKS4KICAgKi8KICBjb25zdCByZWFkX2J1ZiA9IChzdHJtLCBidWYsIHN0YXJ0LCBzaXplKSA9PiB7CgogICAgbGV0IGxlbiA9IHN0cm0uYXZhaWxfaW47CgogICAgaWYgKGxlbiA+IHNpemUpIHsgbGVuID0gc2l6ZTsgfQogICAgaWYgKGxlbiA9PT0gMCkgeyByZXR1cm4gMDsgfQoKICAgIHN0cm0uYXZhaWxfaW4gLT0gbGVuOwoKICAgIC8vIHptZW1jcHkoYnVmLCBzdHJtLT5uZXh0X2luLCBsZW4pOwogICAgYnVmLnNldChzdHJtLmlucHV0LnN1YmFycmF5KHN0cm0ubmV4dF9pbiwgc3RybS5uZXh0X2luICsgbGVuKSwgc3RhcnQpOwogICAgaWYgKHN0cm0uc3RhdGUud3JhcCA9PT0gMSkgewogICAgICBzdHJtLmFkbGVyID0gYWRsZXIzMl8xKHN0cm0uYWRsZXIsIGJ1ZiwgbGVuLCBzdGFydCk7CiAgICB9CgogICAgZWxzZSBpZiAoc3RybS5zdGF0ZS53cmFwID09PSAyKSB7CiAgICAgIHN0cm0uYWRsZXIgPSBjcmMzMl8xKHN0cm0uYWRsZXIsIGJ1ZiwgbGVuLCBzdGFydCk7CiAgICB9CgogICAgc3RybS5uZXh0X2luICs9IGxlbjsKICAgIHN0cm0udG90YWxfaW4gKz0gbGVuOwoKICAgIHJldHVybiBsZW47CiAgfTsKCgogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAqIFNldCBtYXRjaF9zdGFydCB0byB0aGUgbG9uZ2VzdCBtYXRjaCBzdGFydGluZyBhdCB0aGUgZ2l2ZW4gc3RyaW5nIGFuZAogICAqIHJldHVybiBpdHMgbGVuZ3RoLiBNYXRjaGVzIHNob3J0ZXIgb3IgZXF1YWwgdG8gcHJldl9sZW5ndGggYXJlIGRpc2NhcmRlZCwKICAgKiBpbiB3aGljaCBjYXNlIHRoZSByZXN1bHQgaXMgZXF1YWwgdG8gcHJldl9sZW5ndGggYW5kIG1hdGNoX3N0YXJ0IGlzCiAgICogZ2FyYmFnZS4KICAgKiBJTiBhc3NlcnRpb25zOiBjdXJfbWF0Y2ggaXMgdGhlIGhlYWQgb2YgdGhlIGhhc2ggY2hhaW4gZm9yIHRoZSBjdXJyZW50CiAgICogICBzdHJpbmcgKHN0cnN0YXJ0KSBhbmQgaXRzIGRpc3RhbmNlIGlzIDw9IE1BWF9ESVNULCBhbmQgcHJldl9sZW5ndGggPj0gMQogICAqIE9VVCBhc3NlcnRpb246IHRoZSBtYXRjaCBsZW5ndGggaXMgbm90IGdyZWF0ZXIgdGhhbiBzLT5sb29rYWhlYWQuCiAgICovCiAgY29uc3QgbG9uZ2VzdF9tYXRjaCA9IChzLCBjdXJfbWF0Y2gpID0+IHsKCiAgICBsZXQgY2hhaW5fbGVuZ3RoID0gcy5tYXhfY2hhaW5fbGVuZ3RoOyAgICAgIC8qIG1heCBoYXNoIGNoYWluIGxlbmd0aCAqLwogICAgbGV0IHNjYW4gPSBzLnN0cnN0YXJ0OyAvKiBjdXJyZW50IHN0cmluZyAqLwogICAgbGV0IG1hdGNoOyAgICAgICAgICAgICAgICAgICAgICAgLyogbWF0Y2hlZCBzdHJpbmcgKi8KICAgIGxldCBsZW47ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbGVuZ3RoIG9mIGN1cnJlbnQgbWF0Y2ggKi8KICAgIGxldCBiZXN0X2xlbiA9IHMucHJldl9sZW5ndGg7ICAgICAgICAgICAgICAvKiBiZXN0IG1hdGNoIGxlbmd0aCBzbyBmYXIgKi8KICAgIGxldCBuaWNlX21hdGNoID0gcy5uaWNlX21hdGNoOyAgICAgICAgICAgICAvKiBzdG9wIGlmIG1hdGNoIGxvbmcgZW5vdWdoICovCiAgICBjb25zdCBsaW1pdCA9IChzLnN0cnN0YXJ0ID4gKHMud19zaXplIC0gTUlOX0xPT0tBSEVBRCkpID8KICAgICAgICBzLnN0cnN0YXJ0IC0gKHMud19zaXplIC0gTUlOX0xPT0tBSEVBRCkgOiAwLypOSUwqLzsKCiAgICBjb25zdCBfd2luID0gcy53aW5kb3c7IC8vIHNob3J0Y3V0CgogICAgY29uc3Qgd21hc2sgPSBzLndfbWFzazsKICAgIGNvbnN0IHByZXYgID0gcy5wcmV2OwoKICAgIC8qIFN0b3Agd2hlbiBjdXJfbWF0Y2ggYmVjb21lcyA8PSBsaW1pdC4gVG8gc2ltcGxpZnkgdGhlIGNvZGUsCiAgICAgKiB3ZSBwcmV2ZW50IG1hdGNoZXMgd2l0aCB0aGUgc3RyaW5nIG9mIHdpbmRvdyBpbmRleCAwLgogICAgICovCgogICAgY29uc3Qgc3RyZW5kID0gcy5zdHJzdGFydCArIE1BWF9NQVRDSDsKICAgIGxldCBzY2FuX2VuZDEgID0gX3dpbltzY2FuICsgYmVzdF9sZW4gLSAxXTsKICAgIGxldCBzY2FuX2VuZCAgID0gX3dpbltzY2FuICsgYmVzdF9sZW5dOwoKICAgIC8qIFRoZSBjb2RlIGlzIG9wdGltaXplZCBmb3IgSEFTSF9CSVRTID49IDggYW5kIE1BWF9NQVRDSC0yIG11bHRpcGxlIG9mIDE2LgogICAgICogSXQgaXMgZWFzeSB0byBnZXQgcmlkIG9mIHRoaXMgb3B0aW1pemF0aW9uIGlmIG5lY2Vzc2FyeS4KICAgICAqLwogICAgLy8gQXNzZXJ0KHMtPmhhc2hfYml0cyA+PSA4ICYmIE1BWF9NQVRDSCA9PSAyNTgsICJDb2RlIHRvbyBjbGV2ZXIiKTsKCiAgICAvKiBEbyBub3Qgd2FzdGUgdG9vIG11Y2ggdGltZSBpZiB3ZSBhbHJlYWR5IGhhdmUgYSBnb29kIG1hdGNoOiAqLwogICAgaWYgKHMucHJldl9sZW5ndGggPj0gcy5nb29kX21hdGNoKSB7CiAgICAgIGNoYWluX2xlbmd0aCA+Pj0gMjsKICAgIH0KICAgIC8qIERvIG5vdCBsb29rIGZvciBtYXRjaGVzIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBpbnB1dC4gVGhpcyBpcyBuZWNlc3NhcnkKICAgICAqIHRvIG1ha2UgZGVmbGF0ZSBkZXRlcm1pbmlzdGljLgogICAgICovCiAgICBpZiAobmljZV9tYXRjaCA+IHMubG9va2FoZWFkKSB7IG5pY2VfbWF0Y2ggPSBzLmxvb2thaGVhZDsgfQoKICAgIC8vIEFzc2VydCgodWxnKXMtPnN0cnN0YXJ0IDw9IHMtPndpbmRvd19zaXplLU1JTl9MT09LQUhFQUQsICJuZWVkIGxvb2thaGVhZCIpOwoKICAgIGRvIHsKICAgICAgLy8gQXNzZXJ0KGN1cl9tYXRjaCA8IHMtPnN0cnN0YXJ0LCAibm8gZnV0dXJlIik7CiAgICAgIG1hdGNoID0gY3VyX21hdGNoOwoKICAgICAgLyogU2tpcCB0byBuZXh0IG1hdGNoIGlmIHRoZSBtYXRjaCBsZW5ndGggY2Fubm90IGluY3JlYXNlCiAgICAgICAqIG9yIGlmIHRoZSBtYXRjaCBsZW5ndGggaXMgbGVzcyB0aGFuIDIuICBOb3RlIHRoYXQgdGhlIGNoZWNrcyBiZWxvdwogICAgICAgKiBmb3IgaW5zdWZmaWNpZW50IGxvb2thaGVhZCBvbmx5IG9jY3VyIG9jY2FzaW9uYWxseSBmb3IgcGVyZm9ybWFuY2UKICAgICAgICogcmVhc29ucy4gIFRoZXJlZm9yZSB1bmluaXRpYWxpemVkIG1lbW9yeSB3aWxsIGJlIGFjY2Vzc2VkLCBhbmQKICAgICAgICogY29uZGl0aW9uYWwganVtcHMgd2lsbCBiZSBtYWRlIHRoYXQgZGVwZW5kIG9uIHRob3NlIHZhbHVlcy4KICAgICAgICogSG93ZXZlciB0aGUgbGVuZ3RoIG9mIHRoZSBtYXRjaCBpcyBsaW1pdGVkIHRvIHRoZSBsb29rYWhlYWQsIHNvCiAgICAgICAqIHRoZSBvdXRwdXQgb2YgZGVmbGF0ZSBpcyBub3QgYWZmZWN0ZWQgYnkgdGhlIHVuaW5pdGlhbGl6ZWQgdmFsdWVzLgogICAgICAgKi8KCiAgICAgIGlmIChfd2luW21hdGNoICsgYmVzdF9sZW5dICAgICAhPT0gc2Nhbl9lbmQgIHx8CiAgICAgICAgICBfd2luW21hdGNoICsgYmVzdF9sZW4gLSAxXSAhPT0gc2Nhbl9lbmQxIHx8CiAgICAgICAgICBfd2luW21hdGNoXSAgICAgICAgICAgICAgICAhPT0gX3dpbltzY2FuXSB8fAogICAgICAgICAgX3dpblsrK21hdGNoXSAgICAgICAgICAgICAgIT09IF93aW5bc2NhbiArIDFdKSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KCiAgICAgIC8qIFRoZSBjaGVjayBhdCBiZXN0X2xlbi0xIGNhbiBiZSByZW1vdmVkIGJlY2F1c2UgaXQgd2lsbCBiZSBtYWRlCiAgICAgICAqIGFnYWluIGxhdGVyLiAoVGhpcyBoZXVyaXN0aWMgaXMgbm90IGFsd2F5cyBhIHdpbi4pCiAgICAgICAqIEl0IGlzIG5vdCBuZWNlc3NhcnkgdG8gY29tcGFyZSBzY2FuWzJdIGFuZCBtYXRjaFsyXSBzaW5jZSB0aGV5CiAgICAgICAqIGFyZSBhbHdheXMgZXF1YWwgd2hlbiB0aGUgb3RoZXIgYnl0ZXMgbWF0Y2gsIGdpdmVuIHRoYXQKICAgICAgICogdGhlIGhhc2gga2V5cyBhcmUgZXF1YWwgYW5kIHRoYXQgSEFTSF9CSVRTID49IDguCiAgICAgICAqLwogICAgICBzY2FuICs9IDI7CiAgICAgIG1hdGNoKys7CiAgICAgIC8vIEFzc2VydCgqc2NhbiA9PSAqbWF0Y2gsICJtYXRjaFsyXT8iKTsKCiAgICAgIC8qIFdlIGNoZWNrIGZvciBpbnN1ZmZpY2llbnQgbG9va2FoZWFkIG9ubHkgZXZlcnkgOHRoIGNvbXBhcmlzb247CiAgICAgICAqIHRoZSAyNTZ0aCBjaGVjayB3aWxsIGJlIG1hZGUgYXQgc3Ryc3RhcnQrMjU4LgogICAgICAgKi8KICAgICAgZG8gewogICAgICAgIC8qanNoaW50IG5vZW1wdHk6ZmFsc2UqLwogICAgICB9IHdoaWxlIChfd2luWysrc2Nhbl0gPT09IF93aW5bKyttYXRjaF0gJiYgX3dpblsrK3NjYW5dID09PSBfd2luWysrbWF0Y2hdICYmCiAgICAgICAgICAgICAgIF93aW5bKytzY2FuXSA9PT0gX3dpblsrK21hdGNoXSAmJiBfd2luWysrc2Nhbl0gPT09IF93aW5bKyttYXRjaF0gJiYKICAgICAgICAgICAgICAgX3dpblsrK3NjYW5dID09PSBfd2luWysrbWF0Y2hdICYmIF93aW5bKytzY2FuXSA9PT0gX3dpblsrK21hdGNoXSAmJgogICAgICAgICAgICAgICBfd2luWysrc2Nhbl0gPT09IF93aW5bKyttYXRjaF0gJiYgX3dpblsrK3NjYW5dID09PSBfd2luWysrbWF0Y2hdICYmCiAgICAgICAgICAgICAgIHNjYW4gPCBzdHJlbmQpOwoKICAgICAgLy8gQXNzZXJ0KHNjYW4gPD0gcy0+d2luZG93Kyh1bnNpZ25lZCkocy0+d2luZG93X3NpemUtMSksICJ3aWxkIHNjYW4iKTsKCiAgICAgIGxlbiA9IE1BWF9NQVRDSCAtIChzdHJlbmQgLSBzY2FuKTsKICAgICAgc2NhbiA9IHN0cmVuZCAtIE1BWF9NQVRDSDsKCiAgICAgIGlmIChsZW4gPiBiZXN0X2xlbikgewogICAgICAgIHMubWF0Y2hfc3RhcnQgPSBjdXJfbWF0Y2g7CiAgICAgICAgYmVzdF9sZW4gPSBsZW47CiAgICAgICAgaWYgKGxlbiA+PSBuaWNlX21hdGNoKSB7CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgc2Nhbl9lbmQxICA9IF93aW5bc2NhbiArIGJlc3RfbGVuIC0gMV07CiAgICAgICAgc2Nhbl9lbmQgICA9IF93aW5bc2NhbiArIGJlc3RfbGVuXTsKICAgICAgfQogICAgfSB3aGlsZSAoKGN1cl9tYXRjaCA9IHByZXZbY3VyX21hdGNoICYgd21hc2tdKSA+IGxpbWl0ICYmIC0tY2hhaW5fbGVuZ3RoICE9PSAwKTsKCiAgICBpZiAoYmVzdF9sZW4gPD0gcy5sb29rYWhlYWQpIHsKICAgICAgcmV0dXJuIGJlc3RfbGVuOwogICAgfQogICAgcmV0dXJuIHMubG9va2FoZWFkOwogIH07CgoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBGaWxsIHRoZSB3aW5kb3cgd2hlbiB0aGUgbG9va2FoZWFkIGJlY29tZXMgaW5zdWZmaWNpZW50LgogICAqIFVwZGF0ZXMgc3Ryc3RhcnQgYW5kIGxvb2thaGVhZC4KICAgKgogICAqIElOIGFzc2VydGlvbjogbG9va2FoZWFkIDwgTUlOX0xPT0tBSEVBRAogICAqIE9VVCBhc3NlcnRpb25zOiBzdHJzdGFydCA8PSB3aW5kb3dfc2l6ZS1NSU5fTE9PS0FIRUFECiAgICogICAgQXQgbGVhc3Qgb25lIGJ5dGUgaGFzIGJlZW4gcmVhZCwgb3IgYXZhaWxfaW4gPT0gMDsgcmVhZHMgYXJlCiAgICogICAgcGVyZm9ybWVkIGZvciBhdCBsZWFzdCB0d28gYnl0ZXMgKHJlcXVpcmVkIGZvciB0aGUgemlwIHRyYW5zbGF0ZV9lb2wKICAgKiAgICBvcHRpb24gLS0gbm90IHN1cHBvcnRlZCBoZXJlKS4KICAgKi8KICBjb25zdCBmaWxsX3dpbmRvdyA9IChzKSA9PiB7CgogICAgY29uc3QgX3dfc2l6ZSA9IHMud19zaXplOwogICAgbGV0IHAsIG4sIG0sIG1vcmUsIHN0cjsKCiAgICAvL0Fzc2VydChzLT5sb29rYWhlYWQgPCBNSU5fTE9PS0FIRUFELCAiYWxyZWFkeSBlbm91Z2ggbG9va2FoZWFkIik7CgogICAgZG8gewogICAgICBtb3JlID0gcy53aW5kb3dfc2l6ZSAtIHMubG9va2FoZWFkIC0gcy5zdHJzdGFydDsKCiAgICAgIC8vIEpTIGludHMgaGF2ZSAzMiBiaXQsIGJsb2NrIGJlbG93IG5vdCBuZWVkZWQKICAgICAgLyogRGVhbCB3aXRoICFAIyQlIDY0SyBsaW1pdDogKi8KICAgICAgLy9pZiAoc2l6ZW9mKGludCkgPD0gMikgewogICAgICAvLyAgICBpZiAobW9yZSA9PSAwICYmIHMtPnN0cnN0YXJ0ID09IDAgJiYgcy0+bG9va2FoZWFkID09IDApIHsKICAgICAgLy8gICAgICAgIG1vcmUgPSB3c2l6ZTsKICAgICAgLy8KICAgICAgLy8gIH0gZWxzZSBpZiAobW9yZSA9PSAodW5zaWduZWQpKC0xKSkgewogICAgICAvLyAgICAgICAgLyogVmVyeSB1bmxpa2VseSwgYnV0IHBvc3NpYmxlIG9uIDE2IGJpdCBtYWNoaW5lIGlmCiAgICAgIC8vICAgICAgICAgKiBzdHJzdGFydCA9PSAwICYmIGxvb2thaGVhZCA9PSAxIChpbnB1dCBkb25lIGEgYnl0ZSBhdCB0aW1lKQogICAgICAvLyAgICAgICAgICovCiAgICAgIC8vICAgICAgICBtb3JlLS07CiAgICAgIC8vICAgIH0KICAgICAgLy99CgoKICAgICAgLyogSWYgdGhlIHdpbmRvdyBpcyBhbG1vc3QgZnVsbCBhbmQgdGhlcmUgaXMgaW5zdWZmaWNpZW50IGxvb2thaGVhZCwKICAgICAgICogbW92ZSB0aGUgdXBwZXIgaGFsZiB0byB0aGUgbG93ZXIgb25lIHRvIG1ha2Ugcm9vbSBpbiB0aGUgdXBwZXIgaGFsZi4KICAgICAgICovCiAgICAgIGlmIChzLnN0cnN0YXJ0ID49IF93X3NpemUgKyAoX3dfc2l6ZSAtIE1JTl9MT09LQUhFQUQpKSB7CgogICAgICAgIHMud2luZG93LnNldChzLndpbmRvdy5zdWJhcnJheShfd19zaXplLCBfd19zaXplICsgX3dfc2l6ZSksIDApOwogICAgICAgIHMubWF0Y2hfc3RhcnQgLT0gX3dfc2l6ZTsKICAgICAgICBzLnN0cnN0YXJ0IC09IF93X3NpemU7CiAgICAgICAgLyogd2Ugbm93IGhhdmUgc3Ryc3RhcnQgPj0gTUFYX0RJU1QgKi8KICAgICAgICBzLmJsb2NrX3N0YXJ0IC09IF93X3NpemU7CgogICAgICAgIC8qIFNsaWRlIHRoZSBoYXNoIHRhYmxlIChjb3VsZCBiZSBhdm9pZGVkIHdpdGggMzIgYml0IHZhbHVlcwogICAgICAgICBhdCB0aGUgZXhwZW5zZSBvZiBtZW1vcnkgdXNhZ2UpLiBXZSBzbGlkZSBldmVuIHdoZW4gbGV2ZWwgPT0gMAogICAgICAgICB0byBrZWVwIHRoZSBoYXNoIHRhYmxlIGNvbnNpc3RlbnQgaWYgd2Ugc3dpdGNoIGJhY2sgdG8gbGV2ZWwgPiAwCiAgICAgICAgIGxhdGVyLiAoVXNpbmcgbGV2ZWwgMCBwZXJtYW5lbnRseSBpcyBub3QgYW4gb3B0aW1hbCB1c2FnZSBvZgogICAgICAgICB6bGliLCBzbyB3ZSBkb24ndCBjYXJlIGFib3V0IHRoaXMgcGF0aG9sb2dpY2FsIGNhc2UuKQogICAgICAgICAqLwoKICAgICAgICBuID0gcy5oYXNoX3NpemU7CiAgICAgICAgcCA9IG47CgogICAgICAgIGRvIHsKICAgICAgICAgIG0gPSBzLmhlYWRbLS1wXTsKICAgICAgICAgIHMuaGVhZFtwXSA9IChtID49IF93X3NpemUgPyBtIC0gX3dfc2l6ZSA6IDApOwogICAgICAgIH0gd2hpbGUgKC0tbik7CgogICAgICAgIG4gPSBfd19zaXplOwogICAgICAgIHAgPSBuOwoKICAgICAgICBkbyB7CiAgICAgICAgICBtID0gcy5wcmV2Wy0tcF07CiAgICAgICAgICBzLnByZXZbcF0gPSAobSA+PSBfd19zaXplID8gbSAtIF93X3NpemUgOiAwKTsKICAgICAgICAgIC8qIElmIG4gaXMgbm90IG9uIGFueSBoYXNoIGNoYWluLCBwcmV2W25dIGlzIGdhcmJhZ2UgYnV0CiAgICAgICAgICAgKiBpdHMgdmFsdWUgd2lsbCBuZXZlciBiZSB1c2VkLgogICAgICAgICAgICovCiAgICAgICAgfSB3aGlsZSAoLS1uKTsKCiAgICAgICAgbW9yZSArPSBfd19zaXplOwogICAgICB9CiAgICAgIGlmIChzLnN0cm0uYXZhaWxfaW4gPT09IDApIHsKICAgICAgICBicmVhazsKICAgICAgfQoKICAgICAgLyogSWYgdGhlcmUgd2FzIG5vIHNsaWRpbmc6CiAgICAgICAqICAgIHN0cnN0YXJ0IDw9IFdTSVpFK01BWF9ESVNULTEgJiYgbG9va2FoZWFkIDw9IE1JTl9MT09LQUhFQUQgLSAxICYmCiAgICAgICAqICAgIG1vcmUgPT0gd2luZG93X3NpemUgLSBsb29rYWhlYWQgLSBzdHJzdGFydAogICAgICAgKiA9PiBtb3JlID49IHdpbmRvd19zaXplIC0gKE1JTl9MT09LQUhFQUQtMSArIFdTSVpFICsgTUFYX0RJU1QtMSkKICAgICAgICogPT4gbW9yZSA+PSB3aW5kb3dfc2l6ZSAtIDIqV1NJWkUgKyAyCiAgICAgICAqIEluIHRoZSBCSUdfTUVNIG9yIE1NQVAgY2FzZSAobm90IHlldCBzdXBwb3J0ZWQpLAogICAgICAgKiAgIHdpbmRvd19zaXplID09IGlucHV0X3NpemUgKyBNSU5fTE9PS0FIRUFEICAmJgogICAgICAgKiAgIHN0cnN0YXJ0ICsgcy0+bG9va2FoZWFkIDw9IGlucHV0X3NpemUgPT4gbW9yZSA+PSBNSU5fTE9PS0FIRUFELgogICAgICAgKiBPdGhlcndpc2UsIHdpbmRvd19zaXplID09IDIqV1NJWkUgc28gbW9yZSA+PSAyLgogICAgICAgKiBJZiB0aGVyZSB3YXMgc2xpZGluZywgbW9yZSA+PSBXU0laRS4gU28gaW4gYWxsIGNhc2VzLCBtb3JlID49IDIuCiAgICAgICAqLwogICAgICAvL0Fzc2VydChtb3JlID49IDIsICJtb3JlIDwgMiIpOwogICAgICBuID0gcmVhZF9idWYocy5zdHJtLCBzLndpbmRvdywgcy5zdHJzdGFydCArIHMubG9va2FoZWFkLCBtb3JlKTsKICAgICAgcy5sb29rYWhlYWQgKz0gbjsKCiAgICAgIC8qIEluaXRpYWxpemUgdGhlIGhhc2ggdmFsdWUgbm93IHRoYXQgd2UgaGF2ZSBzb21lIGlucHV0OiAqLwogICAgICBpZiAocy5sb29rYWhlYWQgKyBzLmluc2VydCA+PSBNSU5fTUFUQ0gpIHsKICAgICAgICBzdHIgPSBzLnN0cnN0YXJ0IC0gcy5pbnNlcnQ7CiAgICAgICAgcy5pbnNfaCA9IHMud2luZG93W3N0cl07CgogICAgICAgIC8qIFVQREFURV9IQVNIKHMsIHMtPmluc19oLCBzLT53aW5kb3dbc3RyICsgMV0pOyAqLwogICAgICAgIHMuaW5zX2ggPSBIQVNIKHMsIHMuaW5zX2gsIHMud2luZG93W3N0ciArIDFdKTsKICAvLyNpZiBNSU5fTUFUQ0ggIT0gMwogIC8vICAgICAgICBDYWxsIHVwZGF0ZV9oYXNoKCkgTUlOX01BVENILTMgbW9yZSB0aW1lcwogIC8vI2VuZGlmCiAgICAgICAgd2hpbGUgKHMuaW5zZXJ0KSB7CiAgICAgICAgICAvKiBVUERBVEVfSEFTSChzLCBzLT5pbnNfaCwgcy0+d2luZG93W3N0ciArIE1JTl9NQVRDSC0xXSk7ICovCiAgICAgICAgICBzLmluc19oID0gSEFTSChzLCBzLmluc19oLCBzLndpbmRvd1tzdHIgKyBNSU5fTUFUQ0ggLSAxXSk7CgogICAgICAgICAgcy5wcmV2W3N0ciAmIHMud19tYXNrXSA9IHMuaGVhZFtzLmluc19oXTsKICAgICAgICAgIHMuaGVhZFtzLmluc19oXSA9IHN0cjsKICAgICAgICAgIHN0cisrOwogICAgICAgICAgcy5pbnNlcnQtLTsKICAgICAgICAgIGlmIChzLmxvb2thaGVhZCArIHMuaW5zZXJ0IDwgTUlOX01BVENIKSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICAvKiBJZiB0aGUgd2hvbGUgaW5wdXQgaGFzIGxlc3MgdGhhbiBNSU5fTUFUQ0ggYnl0ZXMsIGluc19oIGlzIGdhcmJhZ2UsCiAgICAgICAqIGJ1dCB0aGlzIGlzIG5vdCBpbXBvcnRhbnQgc2luY2Ugb25seSBsaXRlcmFsIGJ5dGVzIHdpbGwgYmUgZW1pdHRlZC4KICAgICAgICovCgogICAgfSB3aGlsZSAocy5sb29rYWhlYWQgPCBNSU5fTE9PS0FIRUFEICYmIHMuc3RybS5hdmFpbF9pbiAhPT0gMCk7CgogICAgLyogSWYgdGhlIFdJTl9JTklUIGJ5dGVzIGFmdGVyIHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgZGF0YSBoYXZlIG5ldmVyIGJlZW4KICAgICAqIHdyaXR0ZW4sIHRoZW4gemVybyB0aG9zZSBieXRlcyBpbiBvcmRlciB0byBhdm9pZCBtZW1vcnkgY2hlY2sgcmVwb3J0cyBvZgogICAgICogdGhlIHVzZSBvZiB1bmluaXRpYWxpemVkIChvciB1bmluaXRpYWxpc2VkIGFzIEp1bGlhbiB3cml0ZXMpIGJ5dGVzIGJ5CiAgICAgKiB0aGUgbG9uZ2VzdCBtYXRjaCByb3V0aW5lcy4gIFVwZGF0ZSB0aGUgaGlnaCB3YXRlciBtYXJrIGZvciB0aGUgbmV4dAogICAgICogdGltZSB0aHJvdWdoIGhlcmUuICBXSU5fSU5JVCBpcyBzZXQgdG8gTUFYX01BVENIIHNpbmNlIHRoZSBsb25nZXN0IG1hdGNoCiAgICAgKiByb3V0aW5lcyBhbGxvdyBzY2FubmluZyB0byBzdHJzdGFydCArIE1BWF9NQVRDSCwgaWdub3JpbmcgbG9va2FoZWFkLgogICAgICovCiAgLy8gIGlmIChzLmhpZ2hfd2F0ZXIgPCBzLndpbmRvd19zaXplKSB7CiAgLy8gICAgY29uc3QgY3VyciA9IHMuc3Ryc3RhcnQgKyBzLmxvb2thaGVhZDsKICAvLyAgICBsZXQgaW5pdCA9IDA7CiAgLy8KICAvLyAgICBpZiAocy5oaWdoX3dhdGVyIDwgY3VycikgewogIC8vICAgICAgLyogUHJldmlvdXMgaGlnaCB3YXRlciBtYXJrIGJlbG93IGN1cnJlbnQgZGF0YSAtLSB6ZXJvIFdJTl9JTklUCiAgLy8gICAgICAgKiBieXRlcyBvciB1cCB0byBlbmQgb2Ygd2luZG93LCB3aGljaGV2ZXIgaXMgbGVzcy4KICAvLyAgICAgICAqLwogIC8vICAgICAgaW5pdCA9IHMud2luZG93X3NpemUgLSBjdXJyOwogIC8vICAgICAgaWYgKGluaXQgPiBXSU5fSU5JVCkKICAvLyAgICAgICAgaW5pdCA9IFdJTl9JTklUOwogIC8vICAgICAgem1lbXplcm8ocy0+d2luZG93ICsgY3VyciwgKHVuc2lnbmVkKWluaXQpOwogIC8vICAgICAgcy0+aGlnaF93YXRlciA9IGN1cnIgKyBpbml0OwogIC8vICAgIH0KICAvLyAgICBlbHNlIGlmIChzLT5oaWdoX3dhdGVyIDwgKHVsZyljdXJyICsgV0lOX0lOSVQpIHsKICAvLyAgICAgIC8qIEhpZ2ggd2F0ZXIgbWFyayBhdCBvciBhYm92ZSBjdXJyZW50IGRhdGEsIGJ1dCBiZWxvdyBjdXJyZW50IGRhdGEKICAvLyAgICAgICAqIHBsdXMgV0lOX0lOSVQgLS0gemVybyBvdXQgdG8gY3VycmVudCBkYXRhIHBsdXMgV0lOX0lOSVQsIG9yIHVwCiAgLy8gICAgICAgKiB0byBlbmQgb2Ygd2luZG93LCB3aGljaGV2ZXIgaXMgbGVzcy4KICAvLyAgICAgICAqLwogIC8vICAgICAgaW5pdCA9ICh1bGcpY3VyciArIFdJTl9JTklUIC0gcy0+aGlnaF93YXRlcjsKICAvLyAgICAgIGlmIChpbml0ID4gcy0+d2luZG93X3NpemUgLSBzLT5oaWdoX3dhdGVyKQogIC8vICAgICAgICBpbml0ID0gcy0+d2luZG93X3NpemUgLSBzLT5oaWdoX3dhdGVyOwogIC8vICAgICAgem1lbXplcm8ocy0+d2luZG93ICsgcy0+aGlnaF93YXRlciwgKHVuc2lnbmVkKWluaXQpOwogIC8vICAgICAgcy0+aGlnaF93YXRlciArPSBpbml0OwogIC8vICAgIH0KICAvLyAgfQogIC8vCiAgLy8gIEFzc2VydCgodWxnKXMtPnN0cnN0YXJ0IDw9IHMtPndpbmRvd19zaXplIC0gTUlOX0xPT0tBSEVBRCwKICAvLyAgICAibm90IGVub3VnaCByb29tIGZvciBzZWFyY2giKTsKICB9OwoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBDb3B5IHdpdGhvdXQgY29tcHJlc3Npb24gYXMgbXVjaCBhcyBwb3NzaWJsZSBmcm9tIHRoZSBpbnB1dCBzdHJlYW0sIHJldHVybgogICAqIHRoZSBjdXJyZW50IGJsb2NrIHN0YXRlLgogICAqIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgaW5zZXJ0IG5ldyBzdHJpbmdzIGluIHRoZSBkaWN0aW9uYXJ5IHNpbmNlCiAgICogdW5jb21wcmVzc2libGUgZGF0YSBpcyBwcm9iYWJseSBub3QgdXNlZnVsLiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQKICAgKiBvbmx5IGZvciB0aGUgbGV2ZWw9MCBjb21wcmVzc2lvbiBvcHRpb24uCiAgICogTk9URTogdGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgb3B0aW1pemVkIHRvIGF2b2lkIGV4dHJhIGNvcHlpbmcgZnJvbQogICAqIHdpbmRvdyB0byBwZW5kaW5nX2J1Zi4KICAgKi8KICBjb25zdCBkZWZsYXRlX3N0b3JlZCA9IChzLCBmbHVzaCkgPT4gewoKICAgIC8qIFN0b3JlZCBibG9ja3MgYXJlIGxpbWl0ZWQgdG8gMHhmZmZmIGJ5dGVzLCBwZW5kaW5nX2J1ZiBpcyBsaW1pdGVkCiAgICAgKiB0byBwZW5kaW5nX2J1Zl9zaXplLCBhbmQgZWFjaCBzdG9yZWQgYmxvY2sgaGFzIGEgNSBieXRlIGhlYWRlcjoKICAgICAqLwogICAgbGV0IG1heF9ibG9ja19zaXplID0gMHhmZmZmOwoKICAgIGlmIChtYXhfYmxvY2tfc2l6ZSA+IHMucGVuZGluZ19idWZfc2l6ZSAtIDUpIHsKICAgICAgbWF4X2Jsb2NrX3NpemUgPSBzLnBlbmRpbmdfYnVmX3NpemUgLSA1OwogICAgfQoKICAgIC8qIENvcHkgYXMgbXVjaCBhcyBwb3NzaWJsZSBmcm9tIGlucHV0IHRvIG91dHB1dDogKi8KICAgIGZvciAoOzspIHsKICAgICAgLyogRmlsbCB0aGUgd2luZG93IGFzIG11Y2ggYXMgcG9zc2libGU6ICovCiAgICAgIGlmIChzLmxvb2thaGVhZCA8PSAxKSB7CgogICAgICAgIC8vQXNzZXJ0KHMtPnN0cnN0YXJ0IDwgcy0+d19zaXplK01BWF9ESVNUKHMpIHx8CiAgICAgICAgLy8gIHMtPmJsb2NrX3N0YXJ0ID49IChsb25nKXMtPndfc2l6ZSwgInNsaWRlIHRvbyBsYXRlIik7CiAgLy8gICAgICBpZiAoIShzLnN0cnN0YXJ0IDwgcy53X3NpemUgKyAocy53X3NpemUgLSBNSU5fTE9PS0FIRUFEKSB8fAogIC8vICAgICAgICBzLmJsb2NrX3N0YXJ0ID49IHMud19zaXplKSkgewogIC8vICAgICAgICB0aHJvdyAgbmV3IEVycm9yKCJzbGlkZSB0b28gbGF0ZSIpOwogIC8vICAgICAgfQoKICAgICAgICBmaWxsX3dpbmRvdyhzKTsKICAgICAgICBpZiAocy5sb29rYWhlYWQgPT09IDAgJiYgZmx1c2ggPT09IFpfTk9fRkxVU0gkMikgewogICAgICAgICAgcmV0dXJuIEJTX05FRURfTU9SRTsKICAgICAgICB9CgogICAgICAgIGlmIChzLmxvb2thaGVhZCA9PT0gMCkgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIC8qIGZsdXNoIHRoZSBjdXJyZW50IGJsb2NrICovCiAgICAgIH0KICAgICAgLy9Bc3NlcnQocy0+YmxvY2tfc3RhcnQgPj0gMEwsICJibG9jayBnb25lIik7CiAgLy8gICAgaWYgKHMuYmxvY2tfc3RhcnQgPCAwKSB0aHJvdyBuZXcgRXJyb3IoImJsb2NrIGdvbmUiKTsKCiAgICAgIHMuc3Ryc3RhcnQgKz0gcy5sb29rYWhlYWQ7CiAgICAgIHMubG9va2FoZWFkID0gMDsKCiAgICAgIC8qIEVtaXQgYSBzdG9yZWQgYmxvY2sgaWYgcGVuZGluZ19idWYgd2lsbCBiZSBmdWxsOiAqLwogICAgICBjb25zdCBtYXhfc3RhcnQgPSBzLmJsb2NrX3N0YXJ0ICsgbWF4X2Jsb2NrX3NpemU7CgogICAgICBpZiAocy5zdHJzdGFydCA9PT0gMCB8fCBzLnN0cnN0YXJ0ID49IG1heF9zdGFydCkgewogICAgICAgIC8qIHN0cnN0YXJ0ID09IDAgaXMgcG9zc2libGUgd2hlbiB3cmFwYXJvdW5kIG9uIDE2LWJpdCBtYWNoaW5lICovCiAgICAgICAgcy5sb29rYWhlYWQgPSBzLnN0cnN0YXJ0IC0gbWF4X3N0YXJ0OwogICAgICAgIHMuc3Ryc3RhcnQgPSBtYXhfc3RhcnQ7CiAgICAgICAgLyoqKiBGTFVTSF9CTE9DSyhzLCAwKTsgKioqLwogICAgICAgIGZsdXNoX2Jsb2NrX29ubHkocywgZmFsc2UpOwogICAgICAgIGlmIChzLnN0cm0uYXZhaWxfb3V0ID09PSAwKSB7CiAgICAgICAgICByZXR1cm4gQlNfTkVFRF9NT1JFOwogICAgICAgIH0KICAgICAgICAvKioqLwoKCiAgICAgIH0KICAgICAgLyogRmx1c2ggaWYgd2UgbWF5IGhhdmUgdG8gc2xpZGUsIG90aGVyd2lzZSBibG9ja19zdGFydCBtYXkgYmVjb21lCiAgICAgICAqIG5lZ2F0aXZlIGFuZCB0aGUgZGF0YSB3aWxsIGJlIGdvbmU6CiAgICAgICAqLwogICAgICBpZiAocy5zdHJzdGFydCAtIHMuYmxvY2tfc3RhcnQgPj0gKHMud19zaXplIC0gTUlOX0xPT0tBSEVBRCkpIHsKICAgICAgICAvKioqIEZMVVNIX0JMT0NLKHMsIDApOyAqKiovCiAgICAgICAgZmx1c2hfYmxvY2tfb25seShzLCBmYWxzZSk7CiAgICAgICAgaWYgKHMuc3RybS5hdmFpbF9vdXQgPT09IDApIHsKICAgICAgICAgIHJldHVybiBCU19ORUVEX01PUkU7CiAgICAgICAgfQogICAgICAgIC8qKiovCiAgICAgIH0KICAgIH0KCiAgICBzLmluc2VydCA9IDA7CgogICAgaWYgKGZsdXNoID09PSBaX0ZJTklTSCQzKSB7CiAgICAgIC8qKiogRkxVU0hfQkxPQ0socywgMSk7ICoqKi8KICAgICAgZmx1c2hfYmxvY2tfb25seShzLCB0cnVlKTsKICAgICAgaWYgKHMuc3RybS5hdmFpbF9vdXQgPT09IDApIHsKICAgICAgICByZXR1cm4gQlNfRklOSVNIX1NUQVJURUQ7CiAgICAgIH0KICAgICAgLyoqKi8KICAgICAgcmV0dXJuIEJTX0ZJTklTSF9ET05FOwogICAgfQoKICAgIGlmIChzLnN0cnN0YXJ0ID4gcy5ibG9ja19zdGFydCkgewogICAgICAvKioqIEZMVVNIX0JMT0NLKHMsIDApOyAqKiovCiAgICAgIGZsdXNoX2Jsb2NrX29ubHkocywgZmFsc2UpOwogICAgICBpZiAocy5zdHJtLmF2YWlsX291dCA9PT0gMCkgewogICAgICAgIHJldHVybiBCU19ORUVEX01PUkU7CiAgICAgIH0KICAgICAgLyoqKi8KICAgIH0KCiAgICByZXR1cm4gQlNfTkVFRF9NT1JFOwogIH07CgogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAqIENvbXByZXNzIGFzIG11Y2ggYXMgcG9zc2libGUgZnJvbSB0aGUgaW5wdXQgc3RyZWFtLCByZXR1cm4gdGhlIGN1cnJlbnQKICAgKiBibG9jayBzdGF0ZS4KICAgKiBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHBlcmZvcm0gbGF6eSBldmFsdWF0aW9uIG9mIG1hdGNoZXMgYW5kIGluc2VydHMKICAgKiBuZXcgc3RyaW5ncyBpbiB0aGUgZGljdGlvbmFyeSBvbmx5IGZvciB1bm1hdGNoZWQgc3RyaW5ncyBvciBmb3Igc2hvcnQKICAgKiBtYXRjaGVzLiBJdCBpcyB1c2VkIG9ubHkgZm9yIHRoZSBmYXN0IGNvbXByZXNzaW9uIG9wdGlvbnMuCiAgICovCiAgY29uc3QgZGVmbGF0ZV9mYXN0ID0gKHMsIGZsdXNoKSA9PiB7CgogICAgbGV0IGhhc2hfaGVhZDsgICAgICAgIC8qIGhlYWQgb2YgdGhlIGhhc2ggY2hhaW4gKi8KICAgIGxldCBiZmx1c2g7ICAgICAgICAgICAvKiBzZXQgaWYgY3VycmVudCBibG9jayBtdXN0IGJlIGZsdXNoZWQgKi8KCiAgICBmb3IgKDs7KSB7CiAgICAgIC8qIE1ha2Ugc3VyZSB0aGF0IHdlIGFsd2F5cyBoYXZlIGVub3VnaCBsb29rYWhlYWQsIGV4Y2VwdAogICAgICAgKiBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCBmaWxlLiBXZSBuZWVkIE1BWF9NQVRDSCBieXRlcwogICAgICAgKiBmb3IgdGhlIG5leHQgbWF0Y2gsIHBsdXMgTUlOX01BVENIIGJ5dGVzIHRvIGluc2VydCB0aGUKICAgICAgICogc3RyaW5nIGZvbGxvd2luZyB0aGUgbmV4dCBtYXRjaC4KICAgICAgICovCiAgICAgIGlmIChzLmxvb2thaGVhZCA8IE1JTl9MT09LQUhFQUQpIHsKICAgICAgICBmaWxsX3dpbmRvdyhzKTsKICAgICAgICBpZiAocy5sb29rYWhlYWQgPCBNSU5fTE9PS0FIRUFEICYmIGZsdXNoID09PSBaX05PX0ZMVVNIJDIpIHsKICAgICAgICAgIHJldHVybiBCU19ORUVEX01PUkU7CiAgICAgICAgfQogICAgICAgIGlmIChzLmxvb2thaGVhZCA9PT0gMCkgewogICAgICAgICAgYnJlYWs7IC8qIGZsdXNoIHRoZSBjdXJyZW50IGJsb2NrICovCiAgICAgICAgfQogICAgICB9CgogICAgICAvKiBJbnNlcnQgdGhlIHN0cmluZyB3aW5kb3dbc3Ryc3RhcnQgLi4gc3Ryc3RhcnQrMl0gaW4gdGhlCiAgICAgICAqIGRpY3Rpb25hcnksIGFuZCBzZXQgaGFzaF9oZWFkIHRvIHRoZSBoZWFkIG9mIHRoZSBoYXNoIGNoYWluOgogICAgICAgKi8KICAgICAgaGFzaF9oZWFkID0gMC8qTklMKi87CiAgICAgIGlmIChzLmxvb2thaGVhZCA+PSBNSU5fTUFUQ0gpIHsKICAgICAgICAvKioqIElOU0VSVF9TVFJJTkcocywgcy5zdHJzdGFydCwgaGFzaF9oZWFkKTsgKioqLwogICAgICAgIHMuaW5zX2ggPSBIQVNIKHMsIHMuaW5zX2gsIHMud2luZG93W3Muc3Ryc3RhcnQgKyBNSU5fTUFUQ0ggLSAxXSk7CiAgICAgICAgaGFzaF9oZWFkID0gcy5wcmV2W3Muc3Ryc3RhcnQgJiBzLndfbWFza10gPSBzLmhlYWRbcy5pbnNfaF07CiAgICAgICAgcy5oZWFkW3MuaW5zX2hdID0gcy5zdHJzdGFydDsKICAgICAgICAvKioqLwogICAgICB9CgogICAgICAvKiBGaW5kIHRoZSBsb25nZXN0IG1hdGNoLCBkaXNjYXJkaW5nIHRob3NlIDw9IHByZXZfbGVuZ3RoLgogICAgICAgKiBBdCB0aGlzIHBvaW50IHdlIGhhdmUgYWx3YXlzIG1hdGNoX2xlbmd0aCA8IE1JTl9NQVRDSAogICAgICAgKi8KICAgICAgaWYgKGhhc2hfaGVhZCAhPT0gMC8qTklMKi8gJiYgKChzLnN0cnN0YXJ0IC0gaGFzaF9oZWFkKSA8PSAocy53X3NpemUgLSBNSU5fTE9PS0FIRUFEKSkpIHsKICAgICAgICAvKiBUbyBzaW1wbGlmeSB0aGUgY29kZSwgd2UgcHJldmVudCBtYXRjaGVzIHdpdGggdGhlIHN0cmluZwogICAgICAgICAqIG9mIHdpbmRvdyBpbmRleCAwIChpbiBwYXJ0aWN1bGFyIHdlIGhhdmUgdG8gYXZvaWQgYSBtYXRjaAogICAgICAgICAqIG9mIHRoZSBzdHJpbmcgd2l0aCBpdHNlbGYgYXQgdGhlIHN0YXJ0IG9mIHRoZSBpbnB1dCBmaWxlKS4KICAgICAgICAgKi8KICAgICAgICBzLm1hdGNoX2xlbmd0aCA9IGxvbmdlc3RfbWF0Y2gocywgaGFzaF9oZWFkKTsKICAgICAgICAvKiBsb25nZXN0X21hdGNoKCkgc2V0cyBtYXRjaF9zdGFydCAqLwogICAgICB9CiAgICAgIGlmIChzLm1hdGNoX2xlbmd0aCA+PSBNSU5fTUFUQ0gpIHsKICAgICAgICAvLyBjaGVja19tYXRjaChzLCBzLnN0cnN0YXJ0LCBzLm1hdGNoX3N0YXJ0LCBzLm1hdGNoX2xlbmd0aCk7IC8vIGZvciBkZWJ1ZyBvbmx5CgogICAgICAgIC8qKiogX3RyX3RhbGx5X2Rpc3Qocywgcy5zdHJzdGFydCAtIHMubWF0Y2hfc3RhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgcy5tYXRjaF9sZW5ndGggLSBNSU5fTUFUQ0gsIGJmbHVzaCk7ICoqKi8KICAgICAgICBiZmx1c2ggPSBfdHJfdGFsbHkocywgcy5zdHJzdGFydCAtIHMubWF0Y2hfc3RhcnQsIHMubWF0Y2hfbGVuZ3RoIC0gTUlOX01BVENIKTsKCiAgICAgICAgcy5sb29rYWhlYWQgLT0gcy5tYXRjaF9sZW5ndGg7CgogICAgICAgIC8qIEluc2VydCBuZXcgc3RyaW5ncyBpbiB0aGUgaGFzaCB0YWJsZSBvbmx5IGlmIHRoZSBtYXRjaCBsZW5ndGgKICAgICAgICAgKiBpcyBub3QgdG9vIGxhcmdlLiBUaGlzIHNhdmVzIHRpbWUgYnV0IGRlZ3JhZGVzIGNvbXByZXNzaW9uLgogICAgICAgICAqLwogICAgICAgIGlmIChzLm1hdGNoX2xlbmd0aCA8PSBzLm1heF9sYXp5X21hdGNoLyptYXhfaW5zZXJ0X2xlbmd0aCovICYmIHMubG9va2FoZWFkID49IE1JTl9NQVRDSCkgewogICAgICAgICAgcy5tYXRjaF9sZW5ndGgtLTsgLyogc3RyaW5nIGF0IHN0cnN0YXJ0IGFscmVhZHkgaW4gdGFibGUgKi8KICAgICAgICAgIGRvIHsKICAgICAgICAgICAgcy5zdHJzdGFydCsrOwogICAgICAgICAgICAvKioqIElOU0VSVF9TVFJJTkcocywgcy5zdHJzdGFydCwgaGFzaF9oZWFkKTsgKioqLwogICAgICAgICAgICBzLmluc19oID0gSEFTSChzLCBzLmluc19oLCBzLndpbmRvd1tzLnN0cnN0YXJ0ICsgTUlOX01BVENIIC0gMV0pOwogICAgICAgICAgICBoYXNoX2hlYWQgPSBzLnByZXZbcy5zdHJzdGFydCAmIHMud19tYXNrXSA9IHMuaGVhZFtzLmluc19oXTsKICAgICAgICAgICAgcy5oZWFkW3MuaW5zX2hdID0gcy5zdHJzdGFydDsKICAgICAgICAgICAgLyoqKi8KICAgICAgICAgICAgLyogc3Ryc3RhcnQgbmV2ZXIgZXhjZWVkcyBXU0laRS1NQVhfTUFUQ0gsIHNvIHRoZXJlIGFyZQogICAgICAgICAgICAgKiBhbHdheXMgTUlOX01BVENIIGJ5dGVzIGFoZWFkLgogICAgICAgICAgICAgKi8KICAgICAgICAgIH0gd2hpbGUgKC0tcy5tYXRjaF9sZW5ndGggIT09IDApOwogICAgICAgICAgcy5zdHJzdGFydCsrOwogICAgICAgIH0gZWxzZQogICAgICAgIHsKICAgICAgICAgIHMuc3Ryc3RhcnQgKz0gcy5tYXRjaF9sZW5ndGg7CiAgICAgICAgICBzLm1hdGNoX2xlbmd0aCA9IDA7CiAgICAgICAgICBzLmluc19oID0gcy53aW5kb3dbcy5zdHJzdGFydF07CiAgICAgICAgICAvKiBVUERBVEVfSEFTSChzLCBzLmluc19oLCBzLndpbmRvd1tzLnN0cnN0YXJ0KzFdKTsgKi8KICAgICAgICAgIHMuaW5zX2ggPSBIQVNIKHMsIHMuaW5zX2gsIHMud2luZG93W3Muc3Ryc3RhcnQgKyAxXSk7CgogIC8vI2lmIE1JTl9NQVRDSCAhPSAzCiAgLy8gICAgICAgICAgICAgICAgQ2FsbCBVUERBVEVfSEFTSCgpIE1JTl9NQVRDSC0zIG1vcmUgdGltZXMKICAvLyNlbmRpZgogICAgICAgICAgLyogSWYgbG9va2FoZWFkIDwgTUlOX01BVENILCBpbnNfaCBpcyBnYXJiYWdlLCBidXQgaXQgZG9lcyBub3QKICAgICAgICAgICAqIG1hdHRlciBzaW5jZSBpdCB3aWxsIGJlIHJlY29tcHV0ZWQgYXQgbmV4dCBkZWZsYXRlIGNhbGwuCiAgICAgICAgICAgKi8KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLyogTm8gbWF0Y2gsIG91dHB1dCBhIGxpdGVyYWwgYnl0ZSAqLwogICAgICAgIC8vVHJhY2V2digoc3RkZXJyLCIlYyIsIHMud2luZG93W3Muc3Ryc3RhcnRdKSk7CiAgICAgICAgLyoqKiBfdHJfdGFsbHlfbGl0KHMsIHMud2luZG93W3Muc3Ryc3RhcnRdLCBiZmx1c2gpOyAqKiovCiAgICAgICAgYmZsdXNoID0gX3RyX3RhbGx5KHMsIDAsIHMud2luZG93W3Muc3Ryc3RhcnRdKTsKCiAgICAgICAgcy5sb29rYWhlYWQtLTsKICAgICAgICBzLnN0cnN0YXJ0Kys7CiAgICAgIH0KICAgICAgaWYgKGJmbHVzaCkgewogICAgICAgIC8qKiogRkxVU0hfQkxPQ0socywgMCk7ICoqKi8KICAgICAgICBmbHVzaF9ibG9ja19vbmx5KHMsIGZhbHNlKTsKICAgICAgICBpZiAocy5zdHJtLmF2YWlsX291dCA9PT0gMCkgewogICAgICAgICAgcmV0dXJuIEJTX05FRURfTU9SRTsKICAgICAgICB9CiAgICAgICAgLyoqKi8KICAgICAgfQogICAgfQogICAgcy5pbnNlcnQgPSAoKHMuc3Ryc3RhcnQgPCAoTUlOX01BVENIIC0gMSkpID8gcy5zdHJzdGFydCA6IE1JTl9NQVRDSCAtIDEpOwogICAgaWYgKGZsdXNoID09PSBaX0ZJTklTSCQzKSB7CiAgICAgIC8qKiogRkxVU0hfQkxPQ0socywgMSk7ICoqKi8KICAgICAgZmx1c2hfYmxvY2tfb25seShzLCB0cnVlKTsKICAgICAgaWYgKHMuc3RybS5hdmFpbF9vdXQgPT09IDApIHsKICAgICAgICByZXR1cm4gQlNfRklOSVNIX1NUQVJURUQ7CiAgICAgIH0KICAgICAgLyoqKi8KICAgICAgcmV0dXJuIEJTX0ZJTklTSF9ET05FOwogICAgfQogICAgaWYgKHMubGFzdF9saXQpIHsKICAgICAgLyoqKiBGTFVTSF9CTE9DSyhzLCAwKTsgKioqLwogICAgICBmbHVzaF9ibG9ja19vbmx5KHMsIGZhbHNlKTsKICAgICAgaWYgKHMuc3RybS5hdmFpbF9vdXQgPT09IDApIHsKICAgICAgICByZXR1cm4gQlNfTkVFRF9NT1JFOwogICAgICB9CiAgICAgIC8qKiovCiAgICB9CiAgICByZXR1cm4gQlNfQkxPQ0tfRE9ORTsKICB9OwoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBTYW1lIGFzIGFib3ZlLCBidXQgYWNoaWV2ZXMgYmV0dGVyIGNvbXByZXNzaW9uLiBXZSB1c2UgYSBsYXp5CiAgICogZXZhbHVhdGlvbiBmb3IgbWF0Y2hlczogYSBtYXRjaCBpcyBmaW5hbGx5IGFkb3B0ZWQgb25seSBpZiB0aGVyZSBpcwogICAqIG5vIGJldHRlciBtYXRjaCBhdCB0aGUgbmV4dCB3aW5kb3cgcG9zaXRpb24uCiAgICovCiAgY29uc3QgZGVmbGF0ZV9zbG93ID0gKHMsIGZsdXNoKSA9PiB7CgogICAgbGV0IGhhc2hfaGVhZDsgICAgICAgICAgLyogaGVhZCBvZiBoYXNoIGNoYWluICovCiAgICBsZXQgYmZsdXNoOyAgICAgICAgICAgICAgLyogc2V0IGlmIGN1cnJlbnQgYmxvY2sgbXVzdCBiZSBmbHVzaGVkICovCgogICAgbGV0IG1heF9pbnNlcnQ7CgogICAgLyogUHJvY2VzcyB0aGUgaW5wdXQgYmxvY2suICovCiAgICBmb3IgKDs7KSB7CiAgICAgIC8qIE1ha2Ugc3VyZSB0aGF0IHdlIGFsd2F5cyBoYXZlIGVub3VnaCBsb29rYWhlYWQsIGV4Y2VwdAogICAgICAgKiBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCBmaWxlLiBXZSBuZWVkIE1BWF9NQVRDSCBieXRlcwogICAgICAgKiBmb3IgdGhlIG5leHQgbWF0Y2gsIHBsdXMgTUlOX01BVENIIGJ5dGVzIHRvIGluc2VydCB0aGUKICAgICAgICogc3RyaW5nIGZvbGxvd2luZyB0aGUgbmV4dCBtYXRjaC4KICAgICAgICovCiAgICAgIGlmIChzLmxvb2thaGVhZCA8IE1JTl9MT09LQUhFQUQpIHsKICAgICAgICBmaWxsX3dpbmRvdyhzKTsKICAgICAgICBpZiAocy5sb29rYWhlYWQgPCBNSU5fTE9PS0FIRUFEICYmIGZsdXNoID09PSBaX05PX0ZMVVNIJDIpIHsKICAgICAgICAgIHJldHVybiBCU19ORUVEX01PUkU7CiAgICAgICAgfQogICAgICAgIGlmIChzLmxvb2thaGVhZCA9PT0gMCkgeyBicmVhazsgfSAvKiBmbHVzaCB0aGUgY3VycmVudCBibG9jayAqLwogICAgICB9CgogICAgICAvKiBJbnNlcnQgdGhlIHN0cmluZyB3aW5kb3dbc3Ryc3RhcnQgLi4gc3Ryc3RhcnQrMl0gaW4gdGhlCiAgICAgICAqIGRpY3Rpb25hcnksIGFuZCBzZXQgaGFzaF9oZWFkIHRvIHRoZSBoZWFkIG9mIHRoZSBoYXNoIGNoYWluOgogICAgICAgKi8KICAgICAgaGFzaF9oZWFkID0gMC8qTklMKi87CiAgICAgIGlmIChzLmxvb2thaGVhZCA+PSBNSU5fTUFUQ0gpIHsKICAgICAgICAvKioqIElOU0VSVF9TVFJJTkcocywgcy5zdHJzdGFydCwgaGFzaF9oZWFkKTsgKioqLwogICAgICAgIHMuaW5zX2ggPSBIQVNIKHMsIHMuaW5zX2gsIHMud2luZG93W3Muc3Ryc3RhcnQgKyBNSU5fTUFUQ0ggLSAxXSk7CiAgICAgICAgaGFzaF9oZWFkID0gcy5wcmV2W3Muc3Ryc3RhcnQgJiBzLndfbWFza10gPSBzLmhlYWRbcy5pbnNfaF07CiAgICAgICAgcy5oZWFkW3MuaW5zX2hdID0gcy5zdHJzdGFydDsKICAgICAgICAvKioqLwogICAgICB9CgogICAgICAvKiBGaW5kIHRoZSBsb25nZXN0IG1hdGNoLCBkaXNjYXJkaW5nIHRob3NlIDw9IHByZXZfbGVuZ3RoLgogICAgICAgKi8KICAgICAgcy5wcmV2X2xlbmd0aCA9IHMubWF0Y2hfbGVuZ3RoOwogICAgICBzLnByZXZfbWF0Y2ggPSBzLm1hdGNoX3N0YXJ0OwogICAgICBzLm1hdGNoX2xlbmd0aCA9IE1JTl9NQVRDSCAtIDE7CgogICAgICBpZiAoaGFzaF9oZWFkICE9PSAwLypOSUwqLyAmJiBzLnByZXZfbGVuZ3RoIDwgcy5tYXhfbGF6eV9tYXRjaCAmJgogICAgICAgICAgcy5zdHJzdGFydCAtIGhhc2hfaGVhZCA8PSAocy53X3NpemUgLSBNSU5fTE9PS0FIRUFEKS8qTUFYX0RJU1QocykqLykgewogICAgICAgIC8qIFRvIHNpbXBsaWZ5IHRoZSBjb2RlLCB3ZSBwcmV2ZW50IG1hdGNoZXMgd2l0aCB0aGUgc3RyaW5nCiAgICAgICAgICogb2Ygd2luZG93IGluZGV4IDAgKGluIHBhcnRpY3VsYXIgd2UgaGF2ZSB0byBhdm9pZCBhIG1hdGNoCiAgICAgICAgICogb2YgdGhlIHN0cmluZyB3aXRoIGl0c2VsZiBhdCB0aGUgc3RhcnQgb2YgdGhlIGlucHV0IGZpbGUpLgogICAgICAgICAqLwogICAgICAgIHMubWF0Y2hfbGVuZ3RoID0gbG9uZ2VzdF9tYXRjaChzLCBoYXNoX2hlYWQpOwogICAgICAgIC8qIGxvbmdlc3RfbWF0Y2goKSBzZXRzIG1hdGNoX3N0YXJ0ICovCgogICAgICAgIGlmIChzLm1hdGNoX2xlbmd0aCA8PSA1ICYmCiAgICAgICAgICAgKHMuc3RyYXRlZ3kgPT09IFpfRklMVEVSRUQgfHwgKHMubWF0Y2hfbGVuZ3RoID09PSBNSU5fTUFUQ0ggJiYgcy5zdHJzdGFydCAtIHMubWF0Y2hfc3RhcnQgPiA0MDk2LypUT09fRkFSKi8pKSkgewoKICAgICAgICAgIC8qIElmIHByZXZfbWF0Y2ggaXMgYWxzbyBNSU5fTUFUQ0gsIG1hdGNoX3N0YXJ0IGlzIGdhcmJhZ2UKICAgICAgICAgICAqIGJ1dCB3ZSB3aWxsIGlnbm9yZSB0aGUgY3VycmVudCBtYXRjaCBhbnl3YXkuCiAgICAgICAgICAgKi8KICAgICAgICAgIHMubWF0Y2hfbGVuZ3RoID0gTUlOX01BVENIIC0gMTsKICAgICAgICB9CiAgICAgIH0KICAgICAgLyogSWYgdGhlcmUgd2FzIGEgbWF0Y2ggYXQgdGhlIHByZXZpb3VzIHN0ZXAgYW5kIHRoZSBjdXJyZW50CiAgICAgICAqIG1hdGNoIGlzIG5vdCBiZXR0ZXIsIG91dHB1dCB0aGUgcHJldmlvdXMgbWF0Y2g6CiAgICAgICAqLwogICAgICBpZiAocy5wcmV2X2xlbmd0aCA+PSBNSU5fTUFUQ0ggJiYgcy5tYXRjaF9sZW5ndGggPD0gcy5wcmV2X2xlbmd0aCkgewogICAgICAgIG1heF9pbnNlcnQgPSBzLnN0cnN0YXJ0ICsgcy5sb29rYWhlYWQgLSBNSU5fTUFUQ0g7CiAgICAgICAgLyogRG8gbm90IGluc2VydCBzdHJpbmdzIGluIGhhc2ggdGFibGUgYmV5b25kIHRoaXMuICovCgogICAgICAgIC8vY2hlY2tfbWF0Y2gocywgcy5zdHJzdGFydC0xLCBzLnByZXZfbWF0Y2gsIHMucHJldl9sZW5ndGgpOwoKICAgICAgICAvKioqX3RyX3RhbGx5X2Rpc3Qocywgcy5zdHJzdGFydCAtIDEgLSBzLnByZXZfbWF0Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgcy5wcmV2X2xlbmd0aCAtIE1JTl9NQVRDSCwgYmZsdXNoKTsqKiovCiAgICAgICAgYmZsdXNoID0gX3RyX3RhbGx5KHMsIHMuc3Ryc3RhcnQgLSAxIC0gcy5wcmV2X21hdGNoLCBzLnByZXZfbGVuZ3RoIC0gTUlOX01BVENIKTsKICAgICAgICAvKiBJbnNlcnQgaW4gaGFzaCB0YWJsZSBhbGwgc3RyaW5ncyB1cCB0byB0aGUgZW5kIG9mIHRoZSBtYXRjaC4KICAgICAgICAgKiBzdHJzdGFydC0xIGFuZCBzdHJzdGFydCBhcmUgYWxyZWFkeSBpbnNlcnRlZC4gSWYgdGhlcmUgaXMgbm90CiAgICAgICAgICogZW5vdWdoIGxvb2thaGVhZCwgdGhlIGxhc3QgdHdvIHN0cmluZ3MgYXJlIG5vdCBpbnNlcnRlZCBpbgogICAgICAgICAqIHRoZSBoYXNoIHRhYmxlLgogICAgICAgICAqLwogICAgICAgIHMubG9va2FoZWFkIC09IHMucHJldl9sZW5ndGggLSAxOwogICAgICAgIHMucHJldl9sZW5ndGggLT0gMjsKICAgICAgICBkbyB7CiAgICAgICAgICBpZiAoKytzLnN0cnN0YXJ0IDw9IG1heF9pbnNlcnQpIHsKICAgICAgICAgICAgLyoqKiBJTlNFUlRfU1RSSU5HKHMsIHMuc3Ryc3RhcnQsIGhhc2hfaGVhZCk7ICoqKi8KICAgICAgICAgICAgcy5pbnNfaCA9IEhBU0gocywgcy5pbnNfaCwgcy53aW5kb3dbcy5zdHJzdGFydCArIE1JTl9NQVRDSCAtIDFdKTsKICAgICAgICAgICAgaGFzaF9oZWFkID0gcy5wcmV2W3Muc3Ryc3RhcnQgJiBzLndfbWFza10gPSBzLmhlYWRbcy5pbnNfaF07CiAgICAgICAgICAgIHMuaGVhZFtzLmluc19oXSA9IHMuc3Ryc3RhcnQ7CiAgICAgICAgICAgIC8qKiovCiAgICAgICAgICB9CiAgICAgICAgfSB3aGlsZSAoLS1zLnByZXZfbGVuZ3RoICE9PSAwKTsKICAgICAgICBzLm1hdGNoX2F2YWlsYWJsZSA9IDA7CiAgICAgICAgcy5tYXRjaF9sZW5ndGggPSBNSU5fTUFUQ0ggLSAxOwogICAgICAgIHMuc3Ryc3RhcnQrKzsKCiAgICAgICAgaWYgKGJmbHVzaCkgewogICAgICAgICAgLyoqKiBGTFVTSF9CTE9DSyhzLCAwKTsgKioqLwogICAgICAgICAgZmx1c2hfYmxvY2tfb25seShzLCBmYWxzZSk7CiAgICAgICAgICBpZiAocy5zdHJtLmF2YWlsX291dCA9PT0gMCkgewogICAgICAgICAgICByZXR1cm4gQlNfTkVFRF9NT1JFOwogICAgICAgICAgfQogICAgICAgICAgLyoqKi8KICAgICAgICB9CgogICAgICB9IGVsc2UgaWYgKHMubWF0Y2hfYXZhaWxhYmxlKSB7CiAgICAgICAgLyogSWYgdGhlcmUgd2FzIG5vIG1hdGNoIGF0IHRoZSBwcmV2aW91cyBwb3NpdGlvbiwgb3V0cHV0IGEKICAgICAgICAgKiBzaW5nbGUgbGl0ZXJhbC4gSWYgdGhlcmUgd2FzIGEgbWF0Y2ggYnV0IHRoZSBjdXJyZW50IG1hdGNoCiAgICAgICAgICogaXMgbG9uZ2VyLCB0cnVuY2F0ZSB0aGUgcHJldmlvdXMgbWF0Y2ggdG8gYSBzaW5nbGUgbGl0ZXJhbC4KICAgICAgICAgKi8KICAgICAgICAvL1RyYWNldnYoKHN0ZGVyciwiJWMiLCBzLT53aW5kb3dbcy0+c3Ryc3RhcnQtMV0pKTsKICAgICAgICAvKioqIF90cl90YWxseV9saXQocywgcy53aW5kb3dbcy5zdHJzdGFydC0xXSwgYmZsdXNoKTsgKioqLwogICAgICAgIGJmbHVzaCA9IF90cl90YWxseShzLCAwLCBzLndpbmRvd1tzLnN0cnN0YXJ0IC0gMV0pOwoKICAgICAgICBpZiAoYmZsdXNoKSB7CiAgICAgICAgICAvKioqIEZMVVNIX0JMT0NLX09OTFkocywgMCkgKioqLwogICAgICAgICAgZmx1c2hfYmxvY2tfb25seShzLCBmYWxzZSk7CiAgICAgICAgICAvKioqLwogICAgICAgIH0KICAgICAgICBzLnN0cnN0YXJ0Kys7CiAgICAgICAgcy5sb29rYWhlYWQtLTsKICAgICAgICBpZiAocy5zdHJtLmF2YWlsX291dCA9PT0gMCkgewogICAgICAgICAgcmV0dXJuIEJTX05FRURfTU9SRTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLyogVGhlcmUgaXMgbm8gcHJldmlvdXMgbWF0Y2ggdG8gY29tcGFyZSB3aXRoLCB3YWl0IGZvcgogICAgICAgICAqIHRoZSBuZXh0IHN0ZXAgdG8gZGVjaWRlLgogICAgICAgICAqLwogICAgICAgIHMubWF0Y2hfYXZhaWxhYmxlID0gMTsKICAgICAgICBzLnN0cnN0YXJ0Kys7CiAgICAgICAgcy5sb29rYWhlYWQtLTsKICAgICAgfQogICAgfQogICAgLy9Bc3NlcnQgKGZsdXNoICE9IFpfTk9fRkxVU0gsICJubyBmbHVzaD8iKTsKICAgIGlmIChzLm1hdGNoX2F2YWlsYWJsZSkgewogICAgICAvL1RyYWNldnYoKHN0ZGVyciwiJWMiLCBzLT53aW5kb3dbcy0+c3Ryc3RhcnQtMV0pKTsKICAgICAgLyoqKiBfdHJfdGFsbHlfbGl0KHMsIHMud2luZG93W3Muc3Ryc3RhcnQtMV0sIGJmbHVzaCk7ICoqKi8KICAgICAgYmZsdXNoID0gX3RyX3RhbGx5KHMsIDAsIHMud2luZG93W3Muc3Ryc3RhcnQgLSAxXSk7CgogICAgICBzLm1hdGNoX2F2YWlsYWJsZSA9IDA7CiAgICB9CiAgICBzLmluc2VydCA9IHMuc3Ryc3RhcnQgPCBNSU5fTUFUQ0ggLSAxID8gcy5zdHJzdGFydCA6IE1JTl9NQVRDSCAtIDE7CiAgICBpZiAoZmx1c2ggPT09IFpfRklOSVNIJDMpIHsKICAgICAgLyoqKiBGTFVTSF9CTE9DSyhzLCAxKTsgKioqLwogICAgICBmbHVzaF9ibG9ja19vbmx5KHMsIHRydWUpOwogICAgICBpZiAocy5zdHJtLmF2YWlsX291dCA9PT0gMCkgewogICAgICAgIHJldHVybiBCU19GSU5JU0hfU1RBUlRFRDsKICAgICAgfQogICAgICAvKioqLwogICAgICByZXR1cm4gQlNfRklOSVNIX0RPTkU7CiAgICB9CiAgICBpZiAocy5sYXN0X2xpdCkgewogICAgICAvKioqIEZMVVNIX0JMT0NLKHMsIDApOyAqKiovCiAgICAgIGZsdXNoX2Jsb2NrX29ubHkocywgZmFsc2UpOwogICAgICBpZiAocy5zdHJtLmF2YWlsX291dCA9PT0gMCkgewogICAgICAgIHJldHVybiBCU19ORUVEX01PUkU7CiAgICAgIH0KICAgICAgLyoqKi8KICAgIH0KCiAgICByZXR1cm4gQlNfQkxPQ0tfRE9ORTsKICB9OwoKCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICogRm9yIFpfUkxFLCBzaW1wbHkgbG9vayBmb3IgcnVucyBvZiBieXRlcywgZ2VuZXJhdGUgbWF0Y2hlcyBvbmx5IG9mIGRpc3RhbmNlCiAgICogb25lLiAgRG8gbm90IG1haW50YWluIGEgaGFzaCB0YWJsZS4gIChJdCB3aWxsIGJlIHJlZ2VuZXJhdGVkIGlmIHRoaXMgcnVuIG9mCiAgICogZGVmbGF0ZSBzd2l0Y2hlcyBhd2F5IGZyb20gWl9STEUuKQogICAqLwogIGNvbnN0IGRlZmxhdGVfcmxlID0gKHMsIGZsdXNoKSA9PiB7CgogICAgbGV0IGJmbHVzaDsgICAgICAgICAgICAvKiBzZXQgaWYgY3VycmVudCBibG9jayBtdXN0IGJlIGZsdXNoZWQgKi8KICAgIGxldCBwcmV2OyAgICAgICAgICAgICAgLyogYnl0ZSBhdCBkaXN0YW5jZSBvbmUgdG8gbWF0Y2ggKi8KICAgIGxldCBzY2FuLCBzdHJlbmQ7ICAgICAgLyogc2NhbiBnb2VzIHVwIHRvIHN0cmVuZCBmb3IgbGVuZ3RoIG9mIHJ1biAqLwoKICAgIGNvbnN0IF93aW4gPSBzLndpbmRvdzsKCiAgICBmb3IgKDs7KSB7CiAgICAgIC8qIE1ha2Ugc3VyZSB0aGF0IHdlIGFsd2F5cyBoYXZlIGVub3VnaCBsb29rYWhlYWQsIGV4Y2VwdAogICAgICAgKiBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCBmaWxlLiBXZSBuZWVkIE1BWF9NQVRDSCBieXRlcwogICAgICAgKiBmb3IgdGhlIGxvbmdlc3QgcnVuLCBwbHVzIG9uZSBmb3IgdGhlIHVucm9sbGVkIGxvb3AuCiAgICAgICAqLwogICAgICBpZiAocy5sb29rYWhlYWQgPD0gTUFYX01BVENIKSB7CiAgICAgICAgZmlsbF93aW5kb3cocyk7CiAgICAgICAgaWYgKHMubG9va2FoZWFkIDw9IE1BWF9NQVRDSCAmJiBmbHVzaCA9PT0gWl9OT19GTFVTSCQyKSB7CiAgICAgICAgICByZXR1cm4gQlNfTkVFRF9NT1JFOwogICAgICAgIH0KICAgICAgICBpZiAocy5sb29rYWhlYWQgPT09IDApIHsgYnJlYWs7IH0gLyogZmx1c2ggdGhlIGN1cnJlbnQgYmxvY2sgKi8KICAgICAgfQoKICAgICAgLyogU2VlIGhvdyBtYW55IHRpbWVzIHRoZSBwcmV2aW91cyBieXRlIHJlcGVhdHMgKi8KICAgICAgcy5tYXRjaF9sZW5ndGggPSAwOwogICAgICBpZiAocy5sb29rYWhlYWQgPj0gTUlOX01BVENIICYmIHMuc3Ryc3RhcnQgPiAwKSB7CiAgICAgICAgc2NhbiA9IHMuc3Ryc3RhcnQgLSAxOwogICAgICAgIHByZXYgPSBfd2luW3NjYW5dOwogICAgICAgIGlmIChwcmV2ID09PSBfd2luWysrc2Nhbl0gJiYgcHJldiA9PT0gX3dpblsrK3NjYW5dICYmIHByZXYgPT09IF93aW5bKytzY2FuXSkgewogICAgICAgICAgc3RyZW5kID0gcy5zdHJzdGFydCArIE1BWF9NQVRDSDsKICAgICAgICAgIGRvIHsKICAgICAgICAgICAgLypqc2hpbnQgbm9lbXB0eTpmYWxzZSovCiAgICAgICAgICB9IHdoaWxlIChwcmV2ID09PSBfd2luWysrc2Nhbl0gJiYgcHJldiA9PT0gX3dpblsrK3NjYW5dICYmCiAgICAgICAgICAgICAgICAgICBwcmV2ID09PSBfd2luWysrc2Nhbl0gJiYgcHJldiA9PT0gX3dpblsrK3NjYW5dICYmCiAgICAgICAgICAgICAgICAgICBwcmV2ID09PSBfd2luWysrc2Nhbl0gJiYgcHJldiA9PT0gX3dpblsrK3NjYW5dICYmCiAgICAgICAgICAgICAgICAgICBwcmV2ID09PSBfd2luWysrc2Nhbl0gJiYgcHJldiA9PT0gX3dpblsrK3NjYW5dICYmCiAgICAgICAgICAgICAgICAgICBzY2FuIDwgc3RyZW5kKTsKICAgICAgICAgIHMubWF0Y2hfbGVuZ3RoID0gTUFYX01BVENIIC0gKHN0cmVuZCAtIHNjYW4pOwogICAgICAgICAgaWYgKHMubWF0Y2hfbGVuZ3RoID4gcy5sb29rYWhlYWQpIHsKICAgICAgICAgICAgcy5tYXRjaF9sZW5ndGggPSBzLmxvb2thaGVhZDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy9Bc3NlcnQoc2NhbiA8PSBzLT53aW5kb3crKHVJbnQpKHMtPndpbmRvd19zaXplLTEpLCAid2lsZCBzY2FuIik7CiAgICAgIH0KCiAgICAgIC8qIEVtaXQgbWF0Y2ggaWYgaGF2ZSBydW4gb2YgTUlOX01BVENIIG9yIGxvbmdlciwgZWxzZSBlbWl0IGxpdGVyYWwgKi8KICAgICAgaWYgKHMubWF0Y2hfbGVuZ3RoID49IE1JTl9NQVRDSCkgewogICAgICAgIC8vY2hlY2tfbWF0Y2gocywgcy5zdHJzdGFydCwgcy5zdHJzdGFydCAtIDEsIHMubWF0Y2hfbGVuZ3RoKTsKCiAgICAgICAgLyoqKiBfdHJfdGFsbHlfZGlzdChzLCAxLCBzLm1hdGNoX2xlbmd0aCAtIE1JTl9NQVRDSCwgYmZsdXNoKTsgKioqLwogICAgICAgIGJmbHVzaCA9IF90cl90YWxseShzLCAxLCBzLm1hdGNoX2xlbmd0aCAtIE1JTl9NQVRDSCk7CgogICAgICAgIHMubG9va2FoZWFkIC09IHMubWF0Y2hfbGVuZ3RoOwogICAgICAgIHMuc3Ryc3RhcnQgKz0gcy5tYXRjaF9sZW5ndGg7CiAgICAgICAgcy5tYXRjaF9sZW5ndGggPSAwOwogICAgICB9IGVsc2UgewogICAgICAgIC8qIE5vIG1hdGNoLCBvdXRwdXQgYSBsaXRlcmFsIGJ5dGUgKi8KICAgICAgICAvL1RyYWNldnYoKHN0ZGVyciwiJWMiLCBzLT53aW5kb3dbcy0+c3Ryc3RhcnRdKSk7CiAgICAgICAgLyoqKiBfdHJfdGFsbHlfbGl0KHMsIHMud2luZG93W3Muc3Ryc3RhcnRdLCBiZmx1c2gpOyAqKiovCiAgICAgICAgYmZsdXNoID0gX3RyX3RhbGx5KHMsIDAsIHMud2luZG93W3Muc3Ryc3RhcnRdKTsKCiAgICAgICAgcy5sb29rYWhlYWQtLTsKICAgICAgICBzLnN0cnN0YXJ0Kys7CiAgICAgIH0KICAgICAgaWYgKGJmbHVzaCkgewogICAgICAgIC8qKiogRkxVU0hfQkxPQ0socywgMCk7ICoqKi8KICAgICAgICBmbHVzaF9ibG9ja19vbmx5KHMsIGZhbHNlKTsKICAgICAgICBpZiAocy5zdHJtLmF2YWlsX291dCA9PT0gMCkgewogICAgICAgICAgcmV0dXJuIEJTX05FRURfTU9SRTsKICAgICAgICB9CiAgICAgICAgLyoqKi8KICAgICAgfQogICAgfQogICAgcy5pbnNlcnQgPSAwOwogICAgaWYgKGZsdXNoID09PSBaX0ZJTklTSCQzKSB7CiAgICAgIC8qKiogRkxVU0hfQkxPQ0socywgMSk7ICoqKi8KICAgICAgZmx1c2hfYmxvY2tfb25seShzLCB0cnVlKTsKICAgICAgaWYgKHMuc3RybS5hdmFpbF9vdXQgPT09IDApIHsKICAgICAgICByZXR1cm4gQlNfRklOSVNIX1NUQVJURUQ7CiAgICAgIH0KICAgICAgLyoqKi8KICAgICAgcmV0dXJuIEJTX0ZJTklTSF9ET05FOwogICAgfQogICAgaWYgKHMubGFzdF9saXQpIHsKICAgICAgLyoqKiBGTFVTSF9CTE9DSyhzLCAwKTsgKioqLwogICAgICBmbHVzaF9ibG9ja19vbmx5KHMsIGZhbHNlKTsKICAgICAgaWYgKHMuc3RybS5hdmFpbF9vdXQgPT09IDApIHsKICAgICAgICByZXR1cm4gQlNfTkVFRF9NT1JFOwogICAgICB9CiAgICAgIC8qKiovCiAgICB9CiAgICByZXR1cm4gQlNfQkxPQ0tfRE9ORTsKICB9OwoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgKiBGb3IgWl9IVUZGTUFOX09OTFksIGRvIG5vdCBsb29rIGZvciBtYXRjaGVzLiAgRG8gbm90IG1haW50YWluIGEgaGFzaCB0YWJsZS4KICAgKiAoSXQgd2lsbCBiZSByZWdlbmVyYXRlZCBpZiB0aGlzIHJ1biBvZiBkZWZsYXRlIHN3aXRjaGVzIGF3YXkgZnJvbSBIdWZmbWFuLikKICAgKi8KICBjb25zdCBkZWZsYXRlX2h1ZmYgPSAocywgZmx1c2gpID0+IHsKCiAgICBsZXQgYmZsdXNoOyAgICAgICAgICAgICAvKiBzZXQgaWYgY3VycmVudCBibG9jayBtdXN0IGJlIGZsdXNoZWQgKi8KCiAgICBmb3IgKDs7KSB7CiAgICAgIC8qIE1ha2Ugc3VyZSB0aGF0IHdlIGhhdmUgYSBsaXRlcmFsIHRvIHdyaXRlLiAqLwogICAgICBpZiAocy5sb29rYWhlYWQgPT09IDApIHsKICAgICAgICBmaWxsX3dpbmRvdyhzKTsKICAgICAgICBpZiAocy5sb29rYWhlYWQgPT09IDApIHsKICAgICAgICAgIGlmIChmbHVzaCA9PT0gWl9OT19GTFVTSCQyKSB7CiAgICAgICAgICAgIHJldHVybiBCU19ORUVEX01PUkU7CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsgICAgICAvKiBmbHVzaCB0aGUgY3VycmVudCBibG9jayAqLwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyogT3V0cHV0IGEgbGl0ZXJhbCBieXRlICovCiAgICAgIHMubWF0Y2hfbGVuZ3RoID0gMDsKICAgICAgLy9UcmFjZXZ2KChzdGRlcnIsIiVjIiwgcy0+d2luZG93W3MtPnN0cnN0YXJ0XSkpOwogICAgICAvKioqIF90cl90YWxseV9saXQocywgcy53aW5kb3dbcy5zdHJzdGFydF0sIGJmbHVzaCk7ICoqKi8KICAgICAgYmZsdXNoID0gX3RyX3RhbGx5KHMsIDAsIHMud2luZG93W3Muc3Ryc3RhcnRdKTsKICAgICAgcy5sb29rYWhlYWQtLTsKICAgICAgcy5zdHJzdGFydCsrOwogICAgICBpZiAoYmZsdXNoKSB7CiAgICAgICAgLyoqKiBGTFVTSF9CTE9DSyhzLCAwKTsgKioqLwogICAgICAgIGZsdXNoX2Jsb2NrX29ubHkocywgZmFsc2UpOwogICAgICAgIGlmIChzLnN0cm0uYXZhaWxfb3V0ID09PSAwKSB7CiAgICAgICAgICByZXR1cm4gQlNfTkVFRF9NT1JFOwogICAgICAgIH0KICAgICAgICAvKioqLwogICAgICB9CiAgICB9CiAgICBzLmluc2VydCA9IDA7CiAgICBpZiAoZmx1c2ggPT09IFpfRklOSVNIJDMpIHsKICAgICAgLyoqKiBGTFVTSF9CTE9DSyhzLCAxKTsgKioqLwogICAgICBmbHVzaF9ibG9ja19vbmx5KHMsIHRydWUpOwogICAgICBpZiAocy5zdHJtLmF2YWlsX291dCA9PT0gMCkgewogICAgICAgIHJldHVybiBCU19GSU5JU0hfU1RBUlRFRDsKICAgICAgfQogICAgICAvKioqLwogICAgICByZXR1cm4gQlNfRklOSVNIX0RPTkU7CiAgICB9CiAgICBpZiAocy5sYXN0X2xpdCkgewogICAgICAvKioqIEZMVVNIX0JMT0NLKHMsIDApOyAqKiovCiAgICAgIGZsdXNoX2Jsb2NrX29ubHkocywgZmFsc2UpOwogICAgICBpZiAocy5zdHJtLmF2YWlsX291dCA9PT0gMCkgewogICAgICAgIHJldHVybiBCU19ORUVEX01PUkU7CiAgICAgIH0KICAgICAgLyoqKi8KICAgIH0KICAgIHJldHVybiBCU19CTE9DS19ET05FOwogIH07CgogIC8qIFZhbHVlcyBmb3IgbWF4X2xhenlfbWF0Y2gsIGdvb2RfbWF0Y2ggYW5kIG1heF9jaGFpbl9sZW5ndGgsIGRlcGVuZGluZyBvbgogICAqIHRoZSBkZXNpcmVkIHBhY2sgbGV2ZWwgKDAuLjkpLiBUaGUgdmFsdWVzIGdpdmVuIGJlbG93IGhhdmUgYmVlbiB0dW5lZCB0bwogICAqIGV4Y2x1ZGUgd29yc3QgY2FzZSBwZXJmb3JtYW5jZSBmb3IgcGF0aG9sb2dpY2FsIGZpbGVzLiBCZXR0ZXIgdmFsdWVzIG1heSBiZQogICAqIGZvdW5kIGZvciBzcGVjaWZpYyBmaWxlcy4KICAgKi8KICBmdW5jdGlvbiBDb25maWcoZ29vZF9sZW5ndGgsIG1heF9sYXp5LCBuaWNlX2xlbmd0aCwgbWF4X2NoYWluLCBmdW5jKSB7CgogICAgdGhpcy5nb29kX2xlbmd0aCA9IGdvb2RfbGVuZ3RoOwogICAgdGhpcy5tYXhfbGF6eSA9IG1heF9sYXp5OwogICAgdGhpcy5uaWNlX2xlbmd0aCA9IG5pY2VfbGVuZ3RoOwogICAgdGhpcy5tYXhfY2hhaW4gPSBtYXhfY2hhaW47CiAgICB0aGlzLmZ1bmMgPSBmdW5jOwogIH0KCiAgY29uc3QgY29uZmlndXJhdGlvbl90YWJsZSA9IFsKICAgIC8qICAgICAgZ29vZCBsYXp5IG5pY2UgY2hhaW4gKi8KICAgIG5ldyBDb25maWcoMCwgMCwgMCwgMCwgZGVmbGF0ZV9zdG9yZWQpLCAgICAgICAgICAvKiAwIHN0b3JlIG9ubHkgKi8KICAgIG5ldyBDb25maWcoNCwgNCwgOCwgNCwgZGVmbGF0ZV9mYXN0KSwgICAgICAgICAgICAvKiAxIG1heCBzcGVlZCwgbm8gbGF6eSBtYXRjaGVzICovCiAgICBuZXcgQ29uZmlnKDQsIDUsIDE2LCA4LCBkZWZsYXRlX2Zhc3QpLCAgICAgICAgICAgLyogMiAqLwogICAgbmV3IENvbmZpZyg0LCA2LCAzMiwgMzIsIGRlZmxhdGVfZmFzdCksICAgICAgICAgIC8qIDMgKi8KCiAgICBuZXcgQ29uZmlnKDQsIDQsIDE2LCAxNiwgZGVmbGF0ZV9zbG93KSwgICAgICAgICAgLyogNCBsYXp5IG1hdGNoZXMgKi8KICAgIG5ldyBDb25maWcoOCwgMTYsIDMyLCAzMiwgZGVmbGF0ZV9zbG93KSwgICAgICAgICAvKiA1ICovCiAgICBuZXcgQ29uZmlnKDgsIDE2LCAxMjgsIDEyOCwgZGVmbGF0ZV9zbG93KSwgICAgICAgLyogNiAqLwogICAgbmV3IENvbmZpZyg4LCAzMiwgMTI4LCAyNTYsIGRlZmxhdGVfc2xvdyksICAgICAgIC8qIDcgKi8KICAgIG5ldyBDb25maWcoMzIsIDEyOCwgMjU4LCAxMDI0LCBkZWZsYXRlX3Nsb3cpLCAgICAvKiA4ICovCiAgICBuZXcgQ29uZmlnKDMyLCAyNTgsIDI1OCwgNDA5NiwgZGVmbGF0ZV9zbG93KSAgICAgLyogOSBtYXggY29tcHJlc3Npb24gKi8KICBdOwoKCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICogSW5pdGlhbGl6ZSB0aGUgImxvbmdlc3QgbWF0Y2giIHJvdXRpbmVzIGZvciBhIG5ldyB6bGliIHN0cmVhbQogICAqLwogIGNvbnN0IGxtX2luaXQgPSAocykgPT4gewoKICAgIHMud2luZG93X3NpemUgPSAyICogcy53X3NpemU7CgogICAgLyoqKiBDTEVBUl9IQVNIKHMpOyAqKiovCiAgICB6ZXJvKHMuaGVhZCk7IC8vIEZpbGwgd2l0aCBOSUwgKD0gMCk7CgogICAgLyogU2V0IHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyczoKICAgICAqLwogICAgcy5tYXhfbGF6eV9tYXRjaCA9IGNvbmZpZ3VyYXRpb25fdGFibGVbcy5sZXZlbF0ubWF4X2xhenk7CiAgICBzLmdvb2RfbWF0Y2ggPSBjb25maWd1cmF0aW9uX3RhYmxlW3MubGV2ZWxdLmdvb2RfbGVuZ3RoOwogICAgcy5uaWNlX21hdGNoID0gY29uZmlndXJhdGlvbl90YWJsZVtzLmxldmVsXS5uaWNlX2xlbmd0aDsKICAgIHMubWF4X2NoYWluX2xlbmd0aCA9IGNvbmZpZ3VyYXRpb25fdGFibGVbcy5sZXZlbF0ubWF4X2NoYWluOwoKICAgIHMuc3Ryc3RhcnQgPSAwOwogICAgcy5ibG9ja19zdGFydCA9IDA7CiAgICBzLmxvb2thaGVhZCA9IDA7CiAgICBzLmluc2VydCA9IDA7CiAgICBzLm1hdGNoX2xlbmd0aCA9IHMucHJldl9sZW5ndGggPSBNSU5fTUFUQ0ggLSAxOwogICAgcy5tYXRjaF9hdmFpbGFibGUgPSAwOwogICAgcy5pbnNfaCA9IDA7CiAgfTsKCgogIGZ1bmN0aW9uIERlZmxhdGVTdGF0ZSgpIHsKICAgIHRoaXMuc3RybSA9IG51bGw7ICAgICAgICAgICAgLyogcG9pbnRlciBiYWNrIHRvIHRoaXMgemxpYiBzdHJlYW0gKi8KICAgIHRoaXMuc3RhdHVzID0gMDsgICAgICAgICAgICAvKiBhcyB0aGUgbmFtZSBpbXBsaWVzICovCiAgICB0aGlzLnBlbmRpbmdfYnVmID0gbnVsbDsgICAgICAvKiBvdXRwdXQgc3RpbGwgcGVuZGluZyAqLwogICAgdGhpcy5wZW5kaW5nX2J1Zl9zaXplID0gMDsgIC8qIHNpemUgb2YgcGVuZGluZ19idWYgKi8KICAgIHRoaXMucGVuZGluZ19vdXQgPSAwOyAgICAgICAvKiBuZXh0IHBlbmRpbmcgYnl0ZSB0byBvdXRwdXQgdG8gdGhlIHN0cmVhbSAqLwogICAgdGhpcy5wZW5kaW5nID0gMDsgICAgICAgICAgIC8qIG5iIG9mIGJ5dGVzIGluIHRoZSBwZW5kaW5nIGJ1ZmZlciAqLwogICAgdGhpcy53cmFwID0gMDsgICAgICAgICAgICAgIC8qIGJpdCAwIHRydWUgZm9yIHpsaWIsIGJpdCAxIHRydWUgZm9yIGd6aXAgKi8KICAgIHRoaXMuZ3poZWFkID0gbnVsbDsgICAgICAgICAvKiBnemlwIGhlYWRlciBpbmZvcm1hdGlvbiB0byB3cml0ZSAqLwogICAgdGhpcy5nemluZGV4ID0gMDsgICAgICAgICAgIC8qIHdoZXJlIGluIGV4dHJhLCBuYW1lLCBvciBjb21tZW50ICovCiAgICB0aGlzLm1ldGhvZCA9IFpfREVGTEFURUQkMjsgLyogY2FuIG9ubHkgYmUgREVGTEFURUQgKi8KICAgIHRoaXMubGFzdF9mbHVzaCA9IC0xOyAgIC8qIHZhbHVlIG9mIGZsdXNoIHBhcmFtIGZvciBwcmV2aW91cyBkZWZsYXRlIGNhbGwgKi8KCiAgICB0aGlzLndfc2l6ZSA9IDA7ICAvKiBMWjc3IHdpbmRvdyBzaXplICgzMksgYnkgZGVmYXVsdCkgKi8KICAgIHRoaXMud19iaXRzID0gMDsgIC8qIGxvZzIod19zaXplKSAgKDguLjE2KSAqLwogICAgdGhpcy53X21hc2sgPSAwOyAgLyogd19zaXplIC0gMSAqLwoKICAgIHRoaXMud2luZG93ID0gbnVsbDsKICAgIC8qIFNsaWRpbmcgd2luZG93LiBJbnB1dCBieXRlcyBhcmUgcmVhZCBpbnRvIHRoZSBzZWNvbmQgaGFsZiBvZiB0aGUgd2luZG93LAogICAgICogYW5kIG1vdmUgdG8gdGhlIGZpcnN0IGhhbGYgbGF0ZXIgdG8ga2VlcCBhIGRpY3Rpb25hcnkgb2YgYXQgbGVhc3Qgd1NpemUKICAgICAqIGJ5dGVzLiBXaXRoIHRoaXMgb3JnYW5pemF0aW9uLCBtYXRjaGVzIGFyZSBsaW1pdGVkIHRvIGEgZGlzdGFuY2Ugb2YKICAgICAqIHdTaXplLU1BWF9NQVRDSCBieXRlcywgYnV0IHRoaXMgZW5zdXJlcyB0aGF0IElPIGlzIGFsd2F5cwogICAgICogcGVyZm9ybWVkIHdpdGggYSBsZW5ndGggbXVsdGlwbGUgb2YgdGhlIGJsb2NrIHNpemUuCiAgICAgKi8KCiAgICB0aGlzLndpbmRvd19zaXplID0gMDsKICAgIC8qIEFjdHVhbCBzaXplIG9mIHdpbmRvdzogMip3U2l6ZSwgZXhjZXB0IHdoZW4gdGhlIHVzZXIgaW5wdXQgYnVmZmVyCiAgICAgKiBpcyBkaXJlY3RseSB1c2VkIGFzIHNsaWRpbmcgd2luZG93LgogICAgICovCgogICAgdGhpcy5wcmV2ID0gbnVsbDsKICAgIC8qIExpbmsgdG8gb2xkZXIgc3RyaW5nIHdpdGggc2FtZSBoYXNoIGluZGV4LiBUbyBsaW1pdCB0aGUgc2l6ZSBvZiB0aGlzCiAgICAgKiBhcnJheSB0byA2NEssIHRoaXMgbGluayBpcyBtYWludGFpbmVkIG9ubHkgZm9yIHRoZSBsYXN0IDMySyBzdHJpbmdzLgogICAgICogQW4gaW5kZXggaW4gdGhpcyBhcnJheSBpcyB0aHVzIGEgd2luZG93IGluZGV4IG1vZHVsbyAzMksuCiAgICAgKi8KCiAgICB0aGlzLmhlYWQgPSBudWxsOyAgIC8qIEhlYWRzIG9mIHRoZSBoYXNoIGNoYWlucyBvciBOSUwuICovCgogICAgdGhpcy5pbnNfaCA9IDA7ICAgICAgIC8qIGhhc2ggaW5kZXggb2Ygc3RyaW5nIHRvIGJlIGluc2VydGVkICovCiAgICB0aGlzLmhhc2hfc2l6ZSA9IDA7ICAgLyogbnVtYmVyIG9mIGVsZW1lbnRzIGluIGhhc2ggdGFibGUgKi8KICAgIHRoaXMuaGFzaF9iaXRzID0gMDsgICAvKiBsb2cyKGhhc2hfc2l6ZSkgKi8KICAgIHRoaXMuaGFzaF9tYXNrID0gMDsgICAvKiBoYXNoX3NpemUtMSAqLwoKICAgIHRoaXMuaGFzaF9zaGlmdCA9IDA7CiAgICAvKiBOdW1iZXIgb2YgYml0cyBieSB3aGljaCBpbnNfaCBtdXN0IGJlIHNoaWZ0ZWQgYXQgZWFjaCBpbnB1dAogICAgICogc3RlcC4gSXQgbXVzdCBiZSBzdWNoIHRoYXQgYWZ0ZXIgTUlOX01BVENIIHN0ZXBzLCB0aGUgb2xkZXN0CiAgICAgKiBieXRlIG5vIGxvbmdlciB0YWtlcyBwYXJ0IGluIHRoZSBoYXNoIGtleSwgdGhhdCBpczoKICAgICAqICAgaGFzaF9zaGlmdCAqIE1JTl9NQVRDSCA+PSBoYXNoX2JpdHMKICAgICAqLwoKICAgIHRoaXMuYmxvY2tfc3RhcnQgPSAwOwogICAgLyogV2luZG93IHBvc2l0aW9uIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGN1cnJlbnQgb3V0cHV0IGJsb2NrLiBHZXRzCiAgICAgKiBuZWdhdGl2ZSB3aGVuIHRoZSB3aW5kb3cgaXMgbW92ZWQgYmFja3dhcmRzLgogICAgICovCgogICAgdGhpcy5tYXRjaF9sZW5ndGggPSAwOyAgICAgIC8qIGxlbmd0aCBvZiBiZXN0IG1hdGNoICovCiAgICB0aGlzLnByZXZfbWF0Y2ggPSAwOyAgICAgICAgLyogcHJldmlvdXMgbWF0Y2ggKi8KICAgIHRoaXMubWF0Y2hfYXZhaWxhYmxlID0gMDsgICAvKiBzZXQgaWYgcHJldmlvdXMgbWF0Y2ggZXhpc3RzICovCiAgICB0aGlzLnN0cnN0YXJ0ID0gMDsgICAgICAgICAgLyogc3RhcnQgb2Ygc3RyaW5nIHRvIGluc2VydCAqLwogICAgdGhpcy5tYXRjaF9zdGFydCA9IDA7ICAgICAgIC8qIHN0YXJ0IG9mIG1hdGNoaW5nIHN0cmluZyAqLwogICAgdGhpcy5sb29rYWhlYWQgPSAwOyAgICAgICAgIC8qIG51bWJlciBvZiB2YWxpZCBieXRlcyBhaGVhZCBpbiB3aW5kb3cgKi8KCiAgICB0aGlzLnByZXZfbGVuZ3RoID0gMDsKICAgIC8qIExlbmd0aCBvZiB0aGUgYmVzdCBtYXRjaCBhdCBwcmV2aW91cyBzdGVwLiBNYXRjaGVzIG5vdCBncmVhdGVyIHRoYW4gdGhpcwogICAgICogYXJlIGRpc2NhcmRlZC4gVGhpcyBpcyB1c2VkIGluIHRoZSBsYXp5IG1hdGNoIGV2YWx1YXRpb24uCiAgICAgKi8KCiAgICB0aGlzLm1heF9jaGFpbl9sZW5ndGggPSAwOwogICAgLyogVG8gc3BlZWQgdXAgZGVmbGF0aW9uLCBoYXNoIGNoYWlucyBhcmUgbmV2ZXIgc2VhcmNoZWQgYmV5b25kIHRoaXMKICAgICAqIGxlbmd0aC4gIEEgaGlnaGVyIGxpbWl0IGltcHJvdmVzIGNvbXByZXNzaW9uIHJhdGlvIGJ1dCBkZWdyYWRlcyB0aGUKICAgICAqIHNwZWVkLgogICAgICovCgogICAgdGhpcy5tYXhfbGF6eV9tYXRjaCA9IDA7CiAgICAvKiBBdHRlbXB0IHRvIGZpbmQgYSBiZXR0ZXIgbWF0Y2ggb25seSB3aGVuIHRoZSBjdXJyZW50IG1hdGNoIGlzIHN0cmljdGx5CiAgICAgKiBzbWFsbGVyIHRoYW4gdGhpcyB2YWx1ZS4gVGhpcyBtZWNoYW5pc20gaXMgdXNlZCBvbmx5IGZvciBjb21wcmVzc2lvbgogICAgICogbGV2ZWxzID49IDQuCiAgICAgKi8KICAgIC8vIFRoYXQncyBhbGlhcyB0byBtYXhfbGF6eV9tYXRjaCwgZG9uJ3QgdXNlIGRpcmVjdGx5CiAgICAvL3RoaXMubWF4X2luc2VydF9sZW5ndGggPSAwOwogICAgLyogSW5zZXJ0IG5ldyBzdHJpbmdzIGluIHRoZSBoYXNoIHRhYmxlIG9ubHkgaWYgdGhlIG1hdGNoIGxlbmd0aCBpcyBub3QKICAgICAqIGdyZWF0ZXIgdGhhbiB0aGlzIGxlbmd0aC4gVGhpcyBzYXZlcyB0aW1lIGJ1dCBkZWdyYWRlcyBjb21wcmVzc2lvbi4KICAgICAqIG1heF9pbnNlcnRfbGVuZ3RoIGlzIHVzZWQgb25seSBmb3IgY29tcHJlc3Npb24gbGV2ZWxzIDw9IDMuCiAgICAgKi8KCiAgICB0aGlzLmxldmVsID0gMDsgICAgIC8qIGNvbXByZXNzaW9uIGxldmVsICgxLi45KSAqLwogICAgdGhpcy5zdHJhdGVneSA9IDA7ICAvKiBmYXZvciBvciBmb3JjZSBIdWZmbWFuIGNvZGluZyovCgogICAgdGhpcy5nb29kX21hdGNoID0gMDsKICAgIC8qIFVzZSBhIGZhc3RlciBzZWFyY2ggd2hlbiB0aGUgcHJldmlvdXMgbWF0Y2ggaXMgbG9uZ2VyIHRoYW4gdGhpcyAqLwoKICAgIHRoaXMubmljZV9tYXRjaCA9IDA7IC8qIFN0b3Agc2VhcmNoaW5nIHdoZW4gY3VycmVudCBtYXRjaCBleGNlZWRzIHRoaXMgKi8KCiAgICAgICAgICAgICAgICAvKiB1c2VkIGJ5IHRyZWVzLmM6ICovCgogICAgLyogRGlkbid0IHVzZSBjdF9kYXRhIHR5cGVkZWYgYmVsb3cgdG8gc3VwcHJlc3MgY29tcGlsZXIgd2FybmluZyAqLwoKICAgIC8vIHN0cnVjdCBjdF9kYXRhX3MgZHluX2x0cmVlW0hFQVBfU0laRV07ICAgLyogbGl0ZXJhbCBhbmQgbGVuZ3RoIHRyZWUgKi8KICAgIC8vIHN0cnVjdCBjdF9kYXRhX3MgZHluX2R0cmVlWzIqRF9DT0RFUysxXTsgLyogZGlzdGFuY2UgdHJlZSAqLwogICAgLy8gc3RydWN0IGN0X2RhdGFfcyBibF90cmVlWzIqQkxfQ09ERVMrMV07ICAvKiBIdWZmbWFuIHRyZWUgZm9yIGJpdCBsZW5ndGhzICovCgogICAgLy8gVXNlIGZsYXQgYXJyYXkgb2YgRE9VQkxFIHNpemUsIHdpdGggaW50ZXJsZWF2ZWQgZmF0YSwKICAgIC8vIGJlY2F1c2UgSlMgZG9lcyBub3Qgc3VwcG9ydCBlZmZlY3RpdmUKICAgIHRoaXMuZHluX2x0cmVlICA9IG5ldyBVaW50MTZBcnJheShIRUFQX1NJWkUgKiAyKTsKICAgIHRoaXMuZHluX2R0cmVlICA9IG5ldyBVaW50MTZBcnJheSgoMiAqIERfQ09ERVMgKyAxKSAqIDIpOwogICAgdGhpcy5ibF90cmVlICAgID0gbmV3IFVpbnQxNkFycmF5KCgyICogQkxfQ09ERVMgKyAxKSAqIDIpOwogICAgemVybyh0aGlzLmR5bl9sdHJlZSk7CiAgICB6ZXJvKHRoaXMuZHluX2R0cmVlKTsKICAgIHplcm8odGhpcy5ibF90cmVlKTsKCiAgICB0aGlzLmxfZGVzYyAgID0gbnVsbDsgICAgICAgICAvKiBkZXNjLiBmb3IgbGl0ZXJhbCB0cmVlICovCiAgICB0aGlzLmRfZGVzYyAgID0gbnVsbDsgICAgICAgICAvKiBkZXNjLiBmb3IgZGlzdGFuY2UgdHJlZSAqLwogICAgdGhpcy5ibF9kZXNjICA9IG51bGw7ICAgICAgICAgLyogZGVzYy4gZm9yIGJpdCBsZW5ndGggdHJlZSAqLwoKICAgIC8vdXNoIGJsX2NvdW50W01BWF9CSVRTKzFdOwogICAgdGhpcy5ibF9jb3VudCA9IG5ldyBVaW50MTZBcnJheShNQVhfQklUUyArIDEpOwogICAgLyogbnVtYmVyIG9mIGNvZGVzIGF0IGVhY2ggYml0IGxlbmd0aCBmb3IgYW4gb3B0aW1hbCB0cmVlICovCgogICAgLy9pbnQgaGVhcFsyKkxfQ09ERVMrMV07ICAgICAgLyogaGVhcCB1c2VkIHRvIGJ1aWxkIHRoZSBIdWZmbWFuIHRyZWVzICovCiAgICB0aGlzLmhlYXAgPSBuZXcgVWludDE2QXJyYXkoMiAqIExfQ09ERVMgKyAxKTsgIC8qIGhlYXAgdXNlZCB0byBidWlsZCB0aGUgSHVmZm1hbiB0cmVlcyAqLwogICAgemVybyh0aGlzLmhlYXApOwoKICAgIHRoaXMuaGVhcF9sZW4gPSAwOyAgICAgICAgICAgICAgIC8qIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgaGVhcCAqLwogICAgdGhpcy5oZWFwX21heCA9IDA7ICAgICAgICAgICAgICAgLyogZWxlbWVudCBvZiBsYXJnZXN0IGZyZXF1ZW5jeSAqLwogICAgLyogVGhlIHNvbnMgb2YgaGVhcFtuXSBhcmUgaGVhcFsyKm5dIGFuZCBoZWFwWzIqbisxXS4gaGVhcFswXSBpcyBub3QgdXNlZC4KICAgICAqIFRoZSBzYW1lIGhlYXAgYXJyYXkgaXMgdXNlZCB0byBidWlsZCBhbGwgdHJlZXMuCiAgICAgKi8KCiAgICB0aGlzLmRlcHRoID0gbmV3IFVpbnQxNkFycmF5KDIgKiBMX0NPREVTICsgMSk7IC8vdWNoIGRlcHRoWzIqTF9DT0RFUysxXTsKICAgIHplcm8odGhpcy5kZXB0aCk7CiAgICAvKiBEZXB0aCBvZiBlYWNoIHN1YnRyZWUgdXNlZCBhcyB0aWUgYnJlYWtlciBmb3IgdHJlZXMgb2YgZXF1YWwgZnJlcXVlbmN5CiAgICAgKi8KCiAgICB0aGlzLmxfYnVmID0gMDsgICAgICAgICAgLyogYnVmZmVyIGluZGV4IGZvciBsaXRlcmFscyBvciBsZW5ndGhzICovCgogICAgdGhpcy5saXRfYnVmc2l6ZSA9IDA7CiAgICAvKiBTaXplIG9mIG1hdGNoIGJ1ZmZlciBmb3IgbGl0ZXJhbHMvbGVuZ3Rocy4gIFRoZXJlIGFyZSA0IHJlYXNvbnMgZm9yCiAgICAgKiBsaW1pdGluZyBsaXRfYnVmc2l6ZSB0byA2NEs6CiAgICAgKiAgIC0gZnJlcXVlbmNpZXMgY2FuIGJlIGtlcHQgaW4gMTYgYml0IGNvdW50ZXJzCiAgICAgKiAgIC0gaWYgY29tcHJlc3Npb24gaXMgbm90IHN1Y2Nlc3NmdWwgZm9yIHRoZSBmaXJzdCBibG9jaywgYWxsIGlucHV0CiAgICAgKiAgICAgZGF0YSBpcyBzdGlsbCBpbiB0aGUgd2luZG93IHNvIHdlIGNhbiBzdGlsbCBlbWl0IGEgc3RvcmVkIGJsb2NrIGV2ZW4KICAgICAqICAgICB3aGVuIGlucHV0IGNvbWVzIGZyb20gc3RhbmRhcmQgaW5wdXQuICAoVGhpcyBjYW4gYWxzbyBiZSBkb25lIGZvcgogICAgICogICAgIGFsbCBibG9ja3MgaWYgbGl0X2J1ZnNpemUgaXMgbm90IGdyZWF0ZXIgdGhhbiAzMksuKQogICAgICogICAtIGlmIGNvbXByZXNzaW9uIGlzIG5vdCBzdWNjZXNzZnVsIGZvciBhIGZpbGUgc21hbGxlciB0aGFuIDY0Sywgd2UgY2FuCiAgICAgKiAgICAgZXZlbiBlbWl0IGEgc3RvcmVkIGZpbGUgaW5zdGVhZCBvZiBhIHN0b3JlZCBibG9jayAoc2F2aW5nIDUgYnl0ZXMpLgogICAgICogICAgIFRoaXMgaXMgYXBwbGljYWJsZSBvbmx5IGZvciB6aXAgKG5vdCBnemlwIG9yIHpsaWIpLgogICAgICogICAtIGNyZWF0aW5nIG5ldyBIdWZmbWFuIHRyZWVzIGxlc3MgZnJlcXVlbnRseSBtYXkgbm90IHByb3ZpZGUgZmFzdAogICAgICogICAgIGFkYXB0YXRpb24gdG8gY2hhbmdlcyBpbiB0aGUgaW5wdXQgZGF0YSBzdGF0aXN0aWNzLiAoVGFrZSBmb3IKICAgICAqICAgICBleGFtcGxlIGEgYmluYXJ5IGZpbGUgd2l0aCBwb29ybHkgY29tcHJlc3NpYmxlIGNvZGUgZm9sbG93ZWQgYnkKICAgICAqICAgICBhIGhpZ2hseSBjb21wcmVzc2libGUgc3RyaW5nIHRhYmxlLikgU21hbGxlciBidWZmZXIgc2l6ZXMgZ2l2ZQogICAgICogICAgIGZhc3QgYWRhcHRhdGlvbiBidXQgaGF2ZSBvZiBjb3Vyc2UgdGhlIG92ZXJoZWFkIG9mIHRyYW5zbWl0dGluZwogICAgICogICAgIHRyZWVzIG1vcmUgZnJlcXVlbnRseS4KICAgICAqICAgLSBJIGNhbid0IGNvdW50IGFib3ZlIDQKICAgICAqLwoKICAgIHRoaXMubGFzdF9saXQgPSAwOyAgICAgIC8qIHJ1bm5pbmcgaW5kZXggaW4gbF9idWYgKi8KCiAgICB0aGlzLmRfYnVmID0gMDsKICAgIC8qIEJ1ZmZlciBpbmRleCBmb3IgZGlzdGFuY2VzLiBUbyBzaW1wbGlmeSB0aGUgY29kZSwgZF9idWYgYW5kIGxfYnVmIGhhdmUKICAgICAqIHRoZSBzYW1lIG51bWJlciBvZiBlbGVtZW50cy4gVG8gdXNlIGRpZmZlcmVudCBsZW5ndGhzLCBhbiBleHRyYSBmbGFnCiAgICAgKiBhcnJheSB3b3VsZCBiZSBuZWNlc3NhcnkuCiAgICAgKi8KCiAgICB0aGlzLm9wdF9sZW4gPSAwOyAgICAgICAvKiBiaXQgbGVuZ3RoIG9mIGN1cnJlbnQgYmxvY2sgd2l0aCBvcHRpbWFsIHRyZWVzICovCiAgICB0aGlzLnN0YXRpY19sZW4gPSAwOyAgICAvKiBiaXQgbGVuZ3RoIG9mIGN1cnJlbnQgYmxvY2sgd2l0aCBzdGF0aWMgdHJlZXMgKi8KICAgIHRoaXMubWF0Y2hlcyA9IDA7ICAgICAgIC8qIG51bWJlciBvZiBzdHJpbmcgbWF0Y2hlcyBpbiBjdXJyZW50IGJsb2NrICovCiAgICB0aGlzLmluc2VydCA9IDA7ICAgICAgICAvKiBieXRlcyBhdCBlbmQgb2Ygd2luZG93IGxlZnQgdG8gaW5zZXJ0ICovCgoKICAgIHRoaXMuYmlfYnVmID0gMDsKICAgIC8qIE91dHB1dCBidWZmZXIuIGJpdHMgYXJlIGluc2VydGVkIHN0YXJ0aW5nIGF0IHRoZSBib3R0b20gKGxlYXN0CiAgICAgKiBzaWduaWZpY2FudCBiaXRzKS4KICAgICAqLwogICAgdGhpcy5iaV92YWxpZCA9IDA7CiAgICAvKiBOdW1iZXIgb2YgdmFsaWQgYml0cyBpbiBiaV9idWYuICBBbGwgYml0cyBhYm92ZSB0aGUgbGFzdCB2YWxpZCBiaXQKICAgICAqIGFyZSBhbHdheXMgemVyby4KICAgICAqLwoKICAgIC8vIFVzZWQgZm9yIHdpbmRvdyBtZW1vcnkgaW5pdC4gV2Ugc2FmZWx5IGlnbm9yZSBpdCBmb3IgSlMuIFRoYXQgbWFrZXMKICAgIC8vIHNlbnNlIG9ubHkgZm9yIHBvaW50ZXJzIGFuZCBtZW1vcnkgY2hlY2sgdG9vbHMuCiAgICAvL3RoaXMuaGlnaF93YXRlciA9IDA7CiAgICAvKiBIaWdoIHdhdGVyIG1hcmsgb2Zmc2V0IGluIHdpbmRvdyBmb3IgaW5pdGlhbGl6ZWQgYnl0ZXMgLS0gYnl0ZXMgYWJvdmUKICAgICAqIHRoaXMgYXJlIHNldCB0byB6ZXJvIGluIG9yZGVyIHRvIGF2b2lkIG1lbW9yeSBjaGVjayB3YXJuaW5ncyB3aGVuCiAgICAgKiBsb25nZXN0IG1hdGNoIHJvdXRpbmVzIGFjY2VzcyBieXRlcyBwYXN0IHRoZSBpbnB1dC4gIFRoaXMgaXMgdGhlbgogICAgICogdXBkYXRlZCB0byB0aGUgbmV3IGhpZ2ggd2F0ZXIgbWFyay4KICAgICAqLwogIH0KCgogIGNvbnN0IGRlZmxhdGVSZXNldEtlZXAgPSAoc3RybSkgPT4gewoKICAgIGlmICghc3RybSB8fCAhc3RybS5zdGF0ZSkgewogICAgICByZXR1cm4gZXJyKHN0cm0sIFpfU1RSRUFNX0VSUk9SJDIpOwogICAgfQoKICAgIHN0cm0udG90YWxfaW4gPSBzdHJtLnRvdGFsX291dCA9IDA7CiAgICBzdHJtLmRhdGFfdHlwZSA9IFpfVU5LTk9XTjsKCiAgICBjb25zdCBzID0gc3RybS5zdGF0ZTsKICAgIHMucGVuZGluZyA9IDA7CiAgICBzLnBlbmRpbmdfb3V0ID0gMDsKCiAgICBpZiAocy53cmFwIDwgMCkgewogICAgICBzLndyYXAgPSAtcy53cmFwOwogICAgICAvKiB3YXMgbWFkZSBuZWdhdGl2ZSBieSBkZWZsYXRlKC4uLiwgWl9GSU5JU0gpOyAqLwogICAgfQogICAgcy5zdGF0dXMgPSAocy53cmFwID8gSU5JVF9TVEFURSA6IEJVU1lfU1RBVEUpOwogICAgc3RybS5hZGxlciA9IChzLndyYXAgPT09IDIpID8KICAgICAgMCAgLy8gY3JjMzIoMCwgWl9OVUxMLCAwKQogICAgOgogICAgICAxOyAvLyBhZGxlcjMyKDAsIFpfTlVMTCwgMCkKICAgIHMubGFzdF9mbHVzaCA9IFpfTk9fRkxVU0gkMjsKICAgIF90cl9pbml0KHMpOwogICAgcmV0dXJuIFpfT0skMzsKICB9OwoKCiAgY29uc3QgZGVmbGF0ZVJlc2V0ID0gKHN0cm0pID0+IHsKCiAgICBjb25zdCByZXQgPSBkZWZsYXRlUmVzZXRLZWVwKHN0cm0pOwogICAgaWYgKHJldCA9PT0gWl9PSyQzKSB7CiAgICAgIGxtX2luaXQoc3RybS5zdGF0ZSk7CiAgICB9CiAgICByZXR1cm4gcmV0OwogIH07CgoKICBjb25zdCBkZWZsYXRlU2V0SGVhZGVyID0gKHN0cm0sIGhlYWQpID0+IHsKCiAgICBpZiAoIXN0cm0gfHwgIXN0cm0uc3RhdGUpIHsgcmV0dXJuIFpfU1RSRUFNX0VSUk9SJDI7IH0KICAgIGlmIChzdHJtLnN0YXRlLndyYXAgIT09IDIpIHsgcmV0dXJuIFpfU1RSRUFNX0VSUk9SJDI7IH0KICAgIHN0cm0uc3RhdGUuZ3poZWFkID0gaGVhZDsKICAgIHJldHVybiBaX09LJDM7CiAgfTsKCgogIGNvbnN0IGRlZmxhdGVJbml0MiA9IChzdHJtLCBsZXZlbCwgbWV0aG9kLCB3aW5kb3dCaXRzLCBtZW1MZXZlbCwgc3RyYXRlZ3kpID0+IHsKCiAgICBpZiAoIXN0cm0pIHsgLy8gPT09IFpfTlVMTAogICAgICByZXR1cm4gWl9TVFJFQU1fRVJST1IkMjsKICAgIH0KICAgIGxldCB3cmFwID0gMTsKCiAgICBpZiAobGV2ZWwgPT09IFpfREVGQVVMVF9DT01QUkVTU0lPTiQxKSB7CiAgICAgIGxldmVsID0gNjsKICAgIH0KCiAgICBpZiAod2luZG93Qml0cyA8IDApIHsgLyogc3VwcHJlc3MgemxpYiB3cmFwcGVyICovCiAgICAgIHdyYXAgPSAwOwogICAgICB3aW5kb3dCaXRzID0gLXdpbmRvd0JpdHM7CiAgICB9CgogICAgZWxzZSBpZiAod2luZG93Qml0cyA+IDE1KSB7CiAgICAgIHdyYXAgPSAyOyAgICAgICAgICAgLyogd3JpdGUgZ3ppcCB3cmFwcGVyIGluc3RlYWQgKi8KICAgICAgd2luZG93Qml0cyAtPSAxNjsKICAgIH0KCgogICAgaWYgKG1lbUxldmVsIDwgMSB8fCBtZW1MZXZlbCA+IE1BWF9NRU1fTEVWRUwgfHwgbWV0aG9kICE9PSBaX0RFRkxBVEVEJDIgfHwKICAgICAgd2luZG93Qml0cyA8IDggfHwgd2luZG93Qml0cyA+IDE1IHx8IGxldmVsIDwgMCB8fCBsZXZlbCA+IDkgfHwKICAgICAgc3RyYXRlZ3kgPCAwIHx8IHN0cmF0ZWd5ID4gWl9GSVhFRCkgewogICAgICByZXR1cm4gZXJyKHN0cm0sIFpfU1RSRUFNX0VSUk9SJDIpOwogICAgfQoKCiAgICBpZiAod2luZG93Qml0cyA9PT0gOCkgewogICAgICB3aW5kb3dCaXRzID0gOTsKICAgIH0KICAgIC8qIHVudGlsIDI1Ni1ieXRlIHdpbmRvdyBidWcgZml4ZWQgKi8KCiAgICBjb25zdCBzID0gbmV3IERlZmxhdGVTdGF0ZSgpOwoKICAgIHN0cm0uc3RhdGUgPSBzOwogICAgcy5zdHJtID0gc3RybTsKCiAgICBzLndyYXAgPSB3cmFwOwogICAgcy5nemhlYWQgPSBudWxsOwogICAgcy53X2JpdHMgPSB3aW5kb3dCaXRzOwogICAgcy53X3NpemUgPSAxIDw8IHMud19iaXRzOwogICAgcy53X21hc2sgPSBzLndfc2l6ZSAtIDE7CgogICAgcy5oYXNoX2JpdHMgPSBtZW1MZXZlbCArIDc7CiAgICBzLmhhc2hfc2l6ZSA9IDEgPDwgcy5oYXNoX2JpdHM7CiAgICBzLmhhc2hfbWFzayA9IHMuaGFzaF9zaXplIC0gMTsKICAgIHMuaGFzaF9zaGlmdCA9IH5+KChzLmhhc2hfYml0cyArIE1JTl9NQVRDSCAtIDEpIC8gTUlOX01BVENIKTsKCiAgICBzLndpbmRvdyA9IG5ldyBVaW50OEFycmF5KHMud19zaXplICogMik7CiAgICBzLmhlYWQgPSBuZXcgVWludDE2QXJyYXkocy5oYXNoX3NpemUpOwogICAgcy5wcmV2ID0gbmV3IFVpbnQxNkFycmF5KHMud19zaXplKTsKCiAgICAvLyBEb24ndCBuZWVkIG1lbSBpbml0IG1hZ2ljIGZvciBKUy4KICAgIC8vcy5oaWdoX3dhdGVyID0gMDsgIC8qIG5vdGhpbmcgd3JpdHRlbiB0byBzLT53aW5kb3cgeWV0ICovCgogICAgcy5saXRfYnVmc2l6ZSA9IDEgPDwgKG1lbUxldmVsICsgNik7IC8qIDE2SyBlbGVtZW50cyBieSBkZWZhdWx0ICovCgogICAgcy5wZW5kaW5nX2J1Zl9zaXplID0gcy5saXRfYnVmc2l6ZSAqIDQ7CgogICAgLy9vdmVybGF5ID0gKHVzaGYgKikgWkFMTE9DKHN0cm0sIHMtPmxpdF9idWZzaXplLCBzaXplb2YodXNoKSsyKTsKICAgIC8vcy0+cGVuZGluZ19idWYgPSAodWNoZiAqKSBvdmVybGF5OwogICAgcy5wZW5kaW5nX2J1ZiA9IG5ldyBVaW50OEFycmF5KHMucGVuZGluZ19idWZfc2l6ZSk7CgogICAgLy8gSXQgaXMgb2Zmc2V0IGZyb20gYHMucGVuZGluZ19idWZgIChzaXplIGlzIGBzLmxpdF9idWZzaXplICogMmApCiAgICAvL3MtPmRfYnVmID0gb3ZlcmxheSArIHMtPmxpdF9idWZzaXplL3NpemVvZih1c2gpOwogICAgcy5kX2J1ZiA9IDEgKiBzLmxpdF9idWZzaXplOwoKICAgIC8vcy0+bF9idWYgPSBzLT5wZW5kaW5nX2J1ZiArICgxK3NpemVvZih1c2gpKSpzLT5saXRfYnVmc2l6ZTsKICAgIHMubF9idWYgPSAoMSArIDIpICogcy5saXRfYnVmc2l6ZTsKCiAgICBzLmxldmVsID0gbGV2ZWw7CiAgICBzLnN0cmF0ZWd5ID0gc3RyYXRlZ3k7CiAgICBzLm1ldGhvZCA9IG1ldGhvZDsKCiAgICByZXR1cm4gZGVmbGF0ZVJlc2V0KHN0cm0pOwogIH07CgogIGNvbnN0IGRlZmxhdGVJbml0ID0gKHN0cm0sIGxldmVsKSA9PiB7CgogICAgcmV0dXJuIGRlZmxhdGVJbml0MihzdHJtLCBsZXZlbCwgWl9ERUZMQVRFRCQyLCBNQVhfV0JJVFMkMSwgREVGX01FTV9MRVZFTCwgWl9ERUZBVUxUX1NUUkFURUdZJDEpOwogIH07CgoKICBjb25zdCBkZWZsYXRlJDIgPSAoc3RybSwgZmx1c2gpID0+IHsKCiAgICBsZXQgYmVnLCB2YWw7IC8vIGZvciBnemlwIGhlYWRlciB3cml0ZSBvbmx5CgogICAgaWYgKCFzdHJtIHx8ICFzdHJtLnN0YXRlIHx8CiAgICAgIGZsdXNoID4gWl9CTE9DSyQxIHx8IGZsdXNoIDwgMCkgewogICAgICByZXR1cm4gc3RybSA/IGVycihzdHJtLCBaX1NUUkVBTV9FUlJPUiQyKSA6IFpfU1RSRUFNX0VSUk9SJDI7CiAgICB9CgogICAgY29uc3QgcyA9IHN0cm0uc3RhdGU7CgogICAgaWYgKCFzdHJtLm91dHB1dCB8fAogICAgICAgICghc3RybS5pbnB1dCAmJiBzdHJtLmF2YWlsX2luICE9PSAwKSB8fAogICAgICAgIChzLnN0YXR1cyA9PT0gRklOSVNIX1NUQVRFICYmIGZsdXNoICE9PSBaX0ZJTklTSCQzKSkgewogICAgICByZXR1cm4gZXJyKHN0cm0sIChzdHJtLmF2YWlsX291dCA9PT0gMCkgPyBaX0JVRl9FUlJPUiQxIDogWl9TVFJFQU1fRVJST1IkMik7CiAgICB9CgogICAgcy5zdHJtID0gc3RybTsgLyoganVzdCBpbiBjYXNlICovCiAgICBjb25zdCBvbGRfZmx1c2ggPSBzLmxhc3RfZmx1c2g7CiAgICBzLmxhc3RfZmx1c2ggPSBmbHVzaDsKCiAgICAvKiBXcml0ZSB0aGUgaGVhZGVyICovCiAgICBpZiAocy5zdGF0dXMgPT09IElOSVRfU1RBVEUpIHsKCiAgICAgIGlmIChzLndyYXAgPT09IDIpIHsgLy8gR1pJUCBoZWFkZXIKICAgICAgICBzdHJtLmFkbGVyID0gMDsgIC8vY3JjMzIoMEwsIFpfTlVMTCwgMCk7CiAgICAgICAgcHV0X2J5dGUocywgMzEpOwogICAgICAgIHB1dF9ieXRlKHMsIDEzOSk7CiAgICAgICAgcHV0X2J5dGUocywgOCk7CiAgICAgICAgaWYgKCFzLmd6aGVhZCkgeyAvLyBzLT5nemhlYWQgPT0gWl9OVUxMCiAgICAgICAgICBwdXRfYnl0ZShzLCAwKTsKICAgICAgICAgIHB1dF9ieXRlKHMsIDApOwogICAgICAgICAgcHV0X2J5dGUocywgMCk7CiAgICAgICAgICBwdXRfYnl0ZShzLCAwKTsKICAgICAgICAgIHB1dF9ieXRlKHMsIDApOwogICAgICAgICAgcHV0X2J5dGUocywgcy5sZXZlbCA9PT0gOSA/IDIgOgogICAgICAgICAgICAgICAgICAgICAgKHMuc3RyYXRlZ3kgPj0gWl9IVUZGTUFOX09OTFkgfHwgcy5sZXZlbCA8IDIgPwogICAgICAgICAgICAgICAgICAgICAgIDQgOiAwKSk7CiAgICAgICAgICBwdXRfYnl0ZShzLCBPU19DT0RFKTsKICAgICAgICAgIHMuc3RhdHVzID0gQlVTWV9TVEFURTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICBwdXRfYnl0ZShzLCAocy5nemhlYWQudGV4dCA/IDEgOiAwKSArCiAgICAgICAgICAgICAgICAgICAgICAocy5nemhlYWQuaGNyYyA/IDIgOiAwKSArCiAgICAgICAgICAgICAgICAgICAgICAoIXMuZ3poZWFkLmV4dHJhID8gMCA6IDQpICsKICAgICAgICAgICAgICAgICAgICAgICghcy5nemhlYWQubmFtZSA/IDAgOiA4KSArCiAgICAgICAgICAgICAgICAgICAgICAoIXMuZ3poZWFkLmNvbW1lbnQgPyAwIDogMTYpCiAgICAgICAgICApOwogICAgICAgICAgcHV0X2J5dGUocywgcy5nemhlYWQudGltZSAmIDB4ZmYpOwogICAgICAgICAgcHV0X2J5dGUocywgKHMuZ3poZWFkLnRpbWUgPj4gOCkgJiAweGZmKTsKICAgICAgICAgIHB1dF9ieXRlKHMsIChzLmd6aGVhZC50aW1lID4+IDE2KSAmIDB4ZmYpOwogICAgICAgICAgcHV0X2J5dGUocywgKHMuZ3poZWFkLnRpbWUgPj4gMjQpICYgMHhmZik7CiAgICAgICAgICBwdXRfYnl0ZShzLCBzLmxldmVsID09PSA5ID8gMiA6CiAgICAgICAgICAgICAgICAgICAgICAocy5zdHJhdGVneSA+PSBaX0hVRkZNQU5fT05MWSB8fCBzLmxldmVsIDwgMiA/CiAgICAgICAgICAgICAgICAgICAgICAgNCA6IDApKTsKICAgICAgICAgIHB1dF9ieXRlKHMsIHMuZ3poZWFkLm9zICYgMHhmZik7CiAgICAgICAgICBpZiAocy5nemhlYWQuZXh0cmEgJiYgcy5nemhlYWQuZXh0cmEubGVuZ3RoKSB7CiAgICAgICAgICAgIHB1dF9ieXRlKHMsIHMuZ3poZWFkLmV4dHJhLmxlbmd0aCAmIDB4ZmYpOwogICAgICAgICAgICBwdXRfYnl0ZShzLCAocy5nemhlYWQuZXh0cmEubGVuZ3RoID4+IDgpICYgMHhmZik7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAocy5nemhlYWQuaGNyYykgewogICAgICAgICAgICBzdHJtLmFkbGVyID0gY3JjMzJfMShzdHJtLmFkbGVyLCBzLnBlbmRpbmdfYnVmLCBzLnBlbmRpbmcsIDApOwogICAgICAgICAgfQogICAgICAgICAgcy5nemluZGV4ID0gMDsKICAgICAgICAgIHMuc3RhdHVzID0gRVhUUkFfU1RBVEU7CiAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UgLy8gREVGTEFURSBoZWFkZXIKICAgICAgewogICAgICAgIGxldCBoZWFkZXIgPSAoWl9ERUZMQVRFRCQyICsgKChzLndfYml0cyAtIDgpIDw8IDQpKSA8PCA4OwogICAgICAgIGxldCBsZXZlbF9mbGFncyA9IC0xOwoKICAgICAgICBpZiAocy5zdHJhdGVneSA+PSBaX0hVRkZNQU5fT05MWSB8fCBzLmxldmVsIDwgMikgewogICAgICAgICAgbGV2ZWxfZmxhZ3MgPSAwOwogICAgICAgIH0gZWxzZSBpZiAocy5sZXZlbCA8IDYpIHsKICAgICAgICAgIGxldmVsX2ZsYWdzID0gMTsKICAgICAgICB9IGVsc2UgaWYgKHMubGV2ZWwgPT09IDYpIHsKICAgICAgICAgIGxldmVsX2ZsYWdzID0gMjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgbGV2ZWxfZmxhZ3MgPSAzOwogICAgICAgIH0KICAgICAgICBoZWFkZXIgfD0gKGxldmVsX2ZsYWdzIDw8IDYpOwogICAgICAgIGlmIChzLnN0cnN0YXJ0ICE9PSAwKSB7IGhlYWRlciB8PSBQUkVTRVRfRElDVDsgfQogICAgICAgIGhlYWRlciArPSAzMSAtIChoZWFkZXIgJSAzMSk7CgogICAgICAgIHMuc3RhdHVzID0gQlVTWV9TVEFURTsKICAgICAgICBwdXRTaG9ydE1TQihzLCBoZWFkZXIpOwoKICAgICAgICAvKiBTYXZlIHRoZSBhZGxlcjMyIG9mIHRoZSBwcmVzZXQgZGljdGlvbmFyeTogKi8KICAgICAgICBpZiAocy5zdHJzdGFydCAhPT0gMCkgewogICAgICAgICAgcHV0U2hvcnRNU0Iocywgc3RybS5hZGxlciA+Pj4gMTYpOwogICAgICAgICAgcHV0U2hvcnRNU0Iocywgc3RybS5hZGxlciAmIDB4ZmZmZik7CiAgICAgICAgfQogICAgICAgIHN0cm0uYWRsZXIgPSAxOyAvLyBhZGxlcjMyKDBMLCBaX05VTEwsIDApOwogICAgICB9CiAgICB9CgogIC8vI2lmZGVmIEdaSVAKICAgIGlmIChzLnN0YXR1cyA9PT0gRVhUUkFfU1RBVEUpIHsKICAgICAgaWYgKHMuZ3poZWFkLmV4dHJhLyogIT0gWl9OVUxMKi8pIHsKICAgICAgICBiZWcgPSBzLnBlbmRpbmc7ICAvKiBzdGFydCBvZiBieXRlcyB0byB1cGRhdGUgY3JjICovCgogICAgICAgIHdoaWxlIChzLmd6aW5kZXggPCAocy5nemhlYWQuZXh0cmEubGVuZ3RoICYgMHhmZmZmKSkgewogICAgICAgICAgaWYgKHMucGVuZGluZyA9PT0gcy5wZW5kaW5nX2J1Zl9zaXplKSB7CiAgICAgICAgICAgIGlmIChzLmd6aGVhZC5oY3JjICYmIHMucGVuZGluZyA+IGJlZykgewogICAgICAgICAgICAgIHN0cm0uYWRsZXIgPSBjcmMzMl8xKHN0cm0uYWRsZXIsIHMucGVuZGluZ19idWYsIHMucGVuZGluZyAtIGJlZywgYmVnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmbHVzaF9wZW5kaW5nKHN0cm0pOwogICAgICAgICAgICBiZWcgPSBzLnBlbmRpbmc7CiAgICAgICAgICAgIGlmIChzLnBlbmRpbmcgPT09IHMucGVuZGluZ19idWZfc2l6ZSkgewogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBwdXRfYnl0ZShzLCBzLmd6aGVhZC5leHRyYVtzLmd6aW5kZXhdICYgMHhmZik7CiAgICAgICAgICBzLmd6aW5kZXgrKzsKICAgICAgICB9CiAgICAgICAgaWYgKHMuZ3poZWFkLmhjcmMgJiYgcy5wZW5kaW5nID4gYmVnKSB7CiAgICAgICAgICBzdHJtLmFkbGVyID0gY3JjMzJfMShzdHJtLmFkbGVyLCBzLnBlbmRpbmdfYnVmLCBzLnBlbmRpbmcgLSBiZWcsIGJlZyk7CiAgICAgICAgfQogICAgICAgIGlmIChzLmd6aW5kZXggPT09IHMuZ3poZWFkLmV4dHJhLmxlbmd0aCkgewogICAgICAgICAgcy5nemluZGV4ID0gMDsKICAgICAgICAgIHMuc3RhdHVzID0gTkFNRV9TVEFURTsKICAgICAgICB9CiAgICAgIH0KICAgICAgZWxzZSB7CiAgICAgICAgcy5zdGF0dXMgPSBOQU1FX1NUQVRFOwogICAgICB9CiAgICB9CiAgICBpZiAocy5zdGF0dXMgPT09IE5BTUVfU1RBVEUpIHsKICAgICAgaWYgKHMuZ3poZWFkLm5hbWUvKiAhPSBaX05VTEwqLykgewogICAgICAgIGJlZyA9IHMucGVuZGluZzsgIC8qIHN0YXJ0IG9mIGJ5dGVzIHRvIHVwZGF0ZSBjcmMgKi8KICAgICAgICAvL2ludCB2YWw7CgogICAgICAgIGRvIHsKICAgICAgICAgIGlmIChzLnBlbmRpbmcgPT09IHMucGVuZGluZ19idWZfc2l6ZSkgewogICAgICAgICAgICBpZiAocy5nemhlYWQuaGNyYyAmJiBzLnBlbmRpbmcgPiBiZWcpIHsKICAgICAgICAgICAgICBzdHJtLmFkbGVyID0gY3JjMzJfMShzdHJtLmFkbGVyLCBzLnBlbmRpbmdfYnVmLCBzLnBlbmRpbmcgLSBiZWcsIGJlZyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZmx1c2hfcGVuZGluZyhzdHJtKTsKICAgICAgICAgICAgYmVnID0gcy5wZW5kaW5nOwogICAgICAgICAgICBpZiAocy5wZW5kaW5nID09PSBzLnBlbmRpbmdfYnVmX3NpemUpIHsKICAgICAgICAgICAgICB2YWwgPSAxOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICAvLyBKUyBzcGVjaWZpYzogbGl0dGxlIG1hZ2ljIHRvIGFkZCB6ZXJvIHRlcm1pbmF0b3IgdG8gZW5kIG9mIHN0cmluZwogICAgICAgICAgaWYgKHMuZ3ppbmRleCA8IHMuZ3poZWFkLm5hbWUubGVuZ3RoKSB7CiAgICAgICAgICAgIHZhbCA9IHMuZ3poZWFkLm5hbWUuY2hhckNvZGVBdChzLmd6aW5kZXgrKykgJiAweGZmOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmFsID0gMDsKICAgICAgICAgIH0KICAgICAgICAgIHB1dF9ieXRlKHMsIHZhbCk7CiAgICAgICAgfSB3aGlsZSAodmFsICE9PSAwKTsKCiAgICAgICAgaWYgKHMuZ3poZWFkLmhjcmMgJiYgcy5wZW5kaW5nID4gYmVnKSB7CiAgICAgICAgICBzdHJtLmFkbGVyID0gY3JjMzJfMShzdHJtLmFkbGVyLCBzLnBlbmRpbmdfYnVmLCBzLnBlbmRpbmcgLSBiZWcsIGJlZyk7CiAgICAgICAgfQogICAgICAgIGlmICh2YWwgPT09IDApIHsKICAgICAgICAgIHMuZ3ppbmRleCA9IDA7CiAgICAgICAgICBzLnN0YXR1cyA9IENPTU1FTlRfU1RBVEU7CiAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHMuc3RhdHVzID0gQ09NTUVOVF9TVEFURTsKICAgICAgfQogICAgfQogICAgaWYgKHMuc3RhdHVzID09PSBDT01NRU5UX1NUQVRFKSB7CiAgICAgIGlmIChzLmd6aGVhZC5jb21tZW50LyogIT0gWl9OVUxMKi8pIHsKICAgICAgICBiZWcgPSBzLnBlbmRpbmc7ICAvKiBzdGFydCBvZiBieXRlcyB0byB1cGRhdGUgY3JjICovCiAgICAgICAgLy9pbnQgdmFsOwoKICAgICAgICBkbyB7CiAgICAgICAgICBpZiAocy5wZW5kaW5nID09PSBzLnBlbmRpbmdfYnVmX3NpemUpIHsKICAgICAgICAgICAgaWYgKHMuZ3poZWFkLmhjcmMgJiYgcy5wZW5kaW5nID4gYmVnKSB7CiAgICAgICAgICAgICAgc3RybS5hZGxlciA9IGNyYzMyXzEoc3RybS5hZGxlciwgcy5wZW5kaW5nX2J1Ziwgcy5wZW5kaW5nIC0gYmVnLCBiZWcpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZsdXNoX3BlbmRpbmcoc3RybSk7CiAgICAgICAgICAgIGJlZyA9IHMucGVuZGluZzsKICAgICAgICAgICAgaWYgKHMucGVuZGluZyA9PT0gcy5wZW5kaW5nX2J1Zl9zaXplKSB7CiAgICAgICAgICAgICAgdmFsID0gMTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgLy8gSlMgc3BlY2lmaWM6IGxpdHRsZSBtYWdpYyB0byBhZGQgemVybyB0ZXJtaW5hdG9yIHRvIGVuZCBvZiBzdHJpbmcKICAgICAgICAgIGlmIChzLmd6aW5kZXggPCBzLmd6aGVhZC5jb21tZW50Lmxlbmd0aCkgewogICAgICAgICAgICB2YWwgPSBzLmd6aGVhZC5jb21tZW50LmNoYXJDb2RlQXQocy5nemluZGV4KyspICYgMHhmZjsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHZhbCA9IDA7CiAgICAgICAgICB9CiAgICAgICAgICBwdXRfYnl0ZShzLCB2YWwpOwogICAgICAgIH0gd2hpbGUgKHZhbCAhPT0gMCk7CgogICAgICAgIGlmIChzLmd6aGVhZC5oY3JjICYmIHMucGVuZGluZyA+IGJlZykgewogICAgICAgICAgc3RybS5hZGxlciA9IGNyYzMyXzEoc3RybS5hZGxlciwgcy5wZW5kaW5nX2J1Ziwgcy5wZW5kaW5nIC0gYmVnLCBiZWcpOwogICAgICAgIH0KICAgICAgICBpZiAodmFsID09PSAwKSB7CiAgICAgICAgICBzLnN0YXR1cyA9IEhDUkNfU1RBVEU7CiAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHMuc3RhdHVzID0gSENSQ19TVEFURTsKICAgICAgfQogICAgfQogICAgaWYgKHMuc3RhdHVzID09PSBIQ1JDX1NUQVRFKSB7CiAgICAgIGlmIChzLmd6aGVhZC5oY3JjKSB7CiAgICAgICAgaWYgKHMucGVuZGluZyArIDIgPiBzLnBlbmRpbmdfYnVmX3NpemUpIHsKICAgICAgICAgIGZsdXNoX3BlbmRpbmcoc3RybSk7CiAgICAgICAgfQogICAgICAgIGlmIChzLnBlbmRpbmcgKyAyIDw9IHMucGVuZGluZ19idWZfc2l6ZSkgewogICAgICAgICAgcHV0X2J5dGUocywgc3RybS5hZGxlciAmIDB4ZmYpOwogICAgICAgICAgcHV0X2J5dGUocywgKHN0cm0uYWRsZXIgPj4gOCkgJiAweGZmKTsKICAgICAgICAgIHN0cm0uYWRsZXIgPSAwOyAvL2NyYzMyKDBMLCBaX05VTEwsIDApOwogICAgICAgICAgcy5zdGF0dXMgPSBCVVNZX1NUQVRFOwogICAgICAgIH0KICAgICAgfQogICAgICBlbHNlIHsKICAgICAgICBzLnN0YXR1cyA9IEJVU1lfU1RBVEU7CiAgICAgIH0KICAgIH0KICAvLyNlbmRpZgoKICAgIC8qIEZsdXNoIGFzIG11Y2ggcGVuZGluZyBvdXRwdXQgYXMgcG9zc2libGUgKi8KICAgIGlmIChzLnBlbmRpbmcgIT09IDApIHsKICAgICAgZmx1c2hfcGVuZGluZyhzdHJtKTsKICAgICAgaWYgKHN0cm0uYXZhaWxfb3V0ID09PSAwKSB7CiAgICAgICAgLyogU2luY2UgYXZhaWxfb3V0IGlzIDAsIGRlZmxhdGUgd2lsbCBiZSBjYWxsZWQgYWdhaW4gd2l0aAogICAgICAgICAqIG1vcmUgb3V0cHV0IHNwYWNlLCBidXQgcG9zc2libHkgd2l0aCBib3RoIHBlbmRpbmcgYW5kCiAgICAgICAgICogYXZhaWxfaW4gZXF1YWwgdG8gemVyby4gVGhlcmUgd29uJ3QgYmUgYW55dGhpbmcgdG8gZG8sCiAgICAgICAgICogYnV0IHRoaXMgaXMgbm90IGFuIGVycm9yIHNpdHVhdGlvbiBzbyBtYWtlIHN1cmUgd2UKICAgICAgICAgKiByZXR1cm4gT0sgaW5zdGVhZCBvZiBCVUZfRVJST1IgYXQgbmV4dCBjYWxsIG9mIGRlZmxhdGU6CiAgICAgICAgICovCiAgICAgICAgcy5sYXN0X2ZsdXNoID0gLTE7CiAgICAgICAgcmV0dXJuIFpfT0skMzsKICAgICAgfQoKICAgICAgLyogTWFrZSBzdXJlIHRoZXJlIGlzIHNvbWV0aGluZyB0byBkbyBhbmQgYXZvaWQgZHVwbGljYXRlIGNvbnNlY3V0aXZlCiAgICAgICAqIGZsdXNoZXMuIEZvciByZXBlYXRlZCBhbmQgdXNlbGVzcyBjYWxscyB3aXRoIFpfRklOSVNILCB3ZSBrZWVwCiAgICAgICAqIHJldHVybmluZyBaX1NUUkVBTV9FTkQgaW5zdGVhZCBvZiBaX0JVRl9FUlJPUi4KICAgICAgICovCiAgICB9IGVsc2UgaWYgKHN0cm0uYXZhaWxfaW4gPT09IDAgJiYgcmFuayhmbHVzaCkgPD0gcmFuayhvbGRfZmx1c2gpICYmCiAgICAgIGZsdXNoICE9PSBaX0ZJTklTSCQzKSB7CiAgICAgIHJldHVybiBlcnIoc3RybSwgWl9CVUZfRVJST1IkMSk7CiAgICB9CgogICAgLyogVXNlciBtdXN0IG5vdCBwcm92aWRlIG1vcmUgaW5wdXQgYWZ0ZXIgdGhlIGZpcnN0IEZJTklTSDogKi8KICAgIGlmIChzLnN0YXR1cyA9PT0gRklOSVNIX1NUQVRFICYmIHN0cm0uYXZhaWxfaW4gIT09IDApIHsKICAgICAgcmV0dXJuIGVycihzdHJtLCBaX0JVRl9FUlJPUiQxKTsKICAgIH0KCiAgICAvKiBTdGFydCBhIG5ldyBibG9jayBvciBjb250aW51ZSB0aGUgY3VycmVudCBvbmUuCiAgICAgKi8KICAgIGlmIChzdHJtLmF2YWlsX2luICE9PSAwIHx8IHMubG9va2FoZWFkICE9PSAwIHx8CiAgICAgIChmbHVzaCAhPT0gWl9OT19GTFVTSCQyICYmIHMuc3RhdHVzICE9PSBGSU5JU0hfU1RBVEUpKSB7CiAgICAgIGxldCBic3RhdGUgPSAocy5zdHJhdGVneSA9PT0gWl9IVUZGTUFOX09OTFkpID8gZGVmbGF0ZV9odWZmKHMsIGZsdXNoKSA6CiAgICAgICAgKHMuc3RyYXRlZ3kgPT09IFpfUkxFID8gZGVmbGF0ZV9ybGUocywgZmx1c2gpIDoKICAgICAgICAgIGNvbmZpZ3VyYXRpb25fdGFibGVbcy5sZXZlbF0uZnVuYyhzLCBmbHVzaCkpOwoKICAgICAgaWYgKGJzdGF0ZSA9PT0gQlNfRklOSVNIX1NUQVJURUQgfHwgYnN0YXRlID09PSBCU19GSU5JU0hfRE9ORSkgewogICAgICAgIHMuc3RhdHVzID0gRklOSVNIX1NUQVRFOwogICAgICB9CiAgICAgIGlmIChic3RhdGUgPT09IEJTX05FRURfTU9SRSB8fCBic3RhdGUgPT09IEJTX0ZJTklTSF9TVEFSVEVEKSB7CiAgICAgICAgaWYgKHN0cm0uYXZhaWxfb3V0ID09PSAwKSB7CiAgICAgICAgICBzLmxhc3RfZmx1c2ggPSAtMTsKICAgICAgICAgIC8qIGF2b2lkIEJVRl9FUlJPUiBuZXh0IGNhbGwsIHNlZSBhYm92ZSAqLwogICAgICAgIH0KICAgICAgICByZXR1cm4gWl9PSyQzOwogICAgICAgIC8qIElmIGZsdXNoICE9IFpfTk9fRkxVU0ggJiYgYXZhaWxfb3V0ID09IDAsIHRoZSBuZXh0IGNhbGwKICAgICAgICAgKiBvZiBkZWZsYXRlIHNob3VsZCB1c2UgdGhlIHNhbWUgZmx1c2ggcGFyYW1ldGVyIHRvIG1ha2Ugc3VyZQogICAgICAgICAqIHRoYXQgdGhlIGZsdXNoIGlzIGNvbXBsZXRlLiBTbyB3ZSBkb24ndCBoYXZlIHRvIG91dHB1dCBhbgogICAgICAgICAqIGVtcHR5IGJsb2NrIGhlcmUsIHRoaXMgd2lsbCBiZSBkb25lIGF0IG5leHQgY2FsbC4gVGhpcyBhbHNvCiAgICAgICAgICogZW5zdXJlcyB0aGF0IGZvciBhIHZlcnkgc21hbGwgb3V0cHV0IGJ1ZmZlciwgd2UgZW1pdCBhdCBtb3N0CiAgICAgICAgICogb25lIGVtcHR5IGJsb2NrLgogICAgICAgICAqLwogICAgICB9CiAgICAgIGlmIChic3RhdGUgPT09IEJTX0JMT0NLX0RPTkUpIHsKICAgICAgICBpZiAoZmx1c2ggPT09IFpfUEFSVElBTF9GTFVTSCkgewogICAgICAgICAgX3RyX2FsaWduKHMpOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChmbHVzaCAhPT0gWl9CTE9DSyQxKSB7IC8qIEZVTExfRkxVU0ggb3IgU1lOQ19GTFVTSCAqLwoKICAgICAgICAgIF90cl9zdG9yZWRfYmxvY2socywgMCwgMCwgZmFsc2UpOwogICAgICAgICAgLyogRm9yIGEgZnVsbCBmbHVzaCwgdGhpcyBlbXB0eSBibG9jayB3aWxsIGJlIHJlY29nbml6ZWQKICAgICAgICAgICAqIGFzIGEgc3BlY2lhbCBtYXJrZXIgYnkgaW5mbGF0ZV9zeW5jKCkuCiAgICAgICAgICAgKi8KICAgICAgICAgIGlmIChmbHVzaCA9PT0gWl9GVUxMX0ZMVVNIJDEpIHsKICAgICAgICAgICAgLyoqKiBDTEVBUl9IQVNIKHMpOyAqKiovICAgICAgICAgICAgIC8qIGZvcmdldCBoaXN0b3J5ICovCiAgICAgICAgICAgIHplcm8ocy5oZWFkKTsgLy8gRmlsbCB3aXRoIE5JTCAoPSAwKTsKCiAgICAgICAgICAgIGlmIChzLmxvb2thaGVhZCA9PT0gMCkgewogICAgICAgICAgICAgIHMuc3Ryc3RhcnQgPSAwOwogICAgICAgICAgICAgIHMuYmxvY2tfc3RhcnQgPSAwOwogICAgICAgICAgICAgIHMuaW5zZXJ0ID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmbHVzaF9wZW5kaW5nKHN0cm0pOwogICAgICAgIGlmIChzdHJtLmF2YWlsX291dCA9PT0gMCkgewogICAgICAgICAgcy5sYXN0X2ZsdXNoID0gLTE7IC8qIGF2b2lkIEJVRl9FUlJPUiBhdCBuZXh0IGNhbGwsIHNlZSBhYm92ZSAqLwogICAgICAgICAgcmV0dXJuIFpfT0skMzsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIC8vQXNzZXJ0KHN0cm0tPmF2YWlsX291dCA+IDAsICJidWcyIik7CiAgICAvL2lmIChzdHJtLmF2YWlsX291dCA8PSAwKSB7IHRocm93IG5ldyBFcnJvcigiYnVnMiIpO30KCiAgICBpZiAoZmx1c2ggIT09IFpfRklOSVNIJDMpIHsgcmV0dXJuIFpfT0skMzsgfQogICAgaWYgKHMud3JhcCA8PSAwKSB7IHJldHVybiBaX1NUUkVBTV9FTkQkMzsgfQoKICAgIC8qIFdyaXRlIHRoZSB0cmFpbGVyICovCiAgICBpZiAocy53cmFwID09PSAyKSB7CiAgICAgIHB1dF9ieXRlKHMsIHN0cm0uYWRsZXIgJiAweGZmKTsKICAgICAgcHV0X2J5dGUocywgKHN0cm0uYWRsZXIgPj4gOCkgJiAweGZmKTsKICAgICAgcHV0X2J5dGUocywgKHN0cm0uYWRsZXIgPj4gMTYpICYgMHhmZik7CiAgICAgIHB1dF9ieXRlKHMsIChzdHJtLmFkbGVyID4+IDI0KSAmIDB4ZmYpOwogICAgICBwdXRfYnl0ZShzLCBzdHJtLnRvdGFsX2luICYgMHhmZik7CiAgICAgIHB1dF9ieXRlKHMsIChzdHJtLnRvdGFsX2luID4+IDgpICYgMHhmZik7CiAgICAgIHB1dF9ieXRlKHMsIChzdHJtLnRvdGFsX2luID4+IDE2KSAmIDB4ZmYpOwogICAgICBwdXRfYnl0ZShzLCAoc3RybS50b3RhbF9pbiA+PiAyNCkgJiAweGZmKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgcHV0U2hvcnRNU0Iocywgc3RybS5hZGxlciA+Pj4gMTYpOwogICAgICBwdXRTaG9ydE1TQihzLCBzdHJtLmFkbGVyICYgMHhmZmZmKTsKICAgIH0KCiAgICBmbHVzaF9wZW5kaW5nKHN0cm0pOwogICAgLyogSWYgYXZhaWxfb3V0IGlzIHplcm8sIHRoZSBhcHBsaWNhdGlvbiB3aWxsIGNhbGwgZGVmbGF0ZSBhZ2FpbgogICAgICogdG8gZmx1c2ggdGhlIHJlc3QuCiAgICAgKi8KICAgIGlmIChzLndyYXAgPiAwKSB7IHMud3JhcCA9IC1zLndyYXA7IH0KICAgIC8qIHdyaXRlIHRoZSB0cmFpbGVyIG9ubHkgb25jZSEgKi8KICAgIHJldHVybiBzLnBlbmRpbmcgIT09IDAgPyBaX09LJDMgOiBaX1NUUkVBTV9FTkQkMzsKICB9OwoKCiAgY29uc3QgZGVmbGF0ZUVuZCA9IChzdHJtKSA9PiB7CgogICAgaWYgKCFzdHJtLyo9PSBaX05VTEwqLyB8fCAhc3RybS5zdGF0ZS8qPT0gWl9OVUxMKi8pIHsKICAgICAgcmV0dXJuIFpfU1RSRUFNX0VSUk9SJDI7CiAgICB9CgogICAgY29uc3Qgc3RhdHVzID0gc3RybS5zdGF0ZS5zdGF0dXM7CiAgICBpZiAoc3RhdHVzICE9PSBJTklUX1NUQVRFICYmCiAgICAgIHN0YXR1cyAhPT0gRVhUUkFfU1RBVEUgJiYKICAgICAgc3RhdHVzICE9PSBOQU1FX1NUQVRFICYmCiAgICAgIHN0YXR1cyAhPT0gQ09NTUVOVF9TVEFURSAmJgogICAgICBzdGF0dXMgIT09IEhDUkNfU1RBVEUgJiYKICAgICAgc3RhdHVzICE9PSBCVVNZX1NUQVRFICYmCiAgICAgIHN0YXR1cyAhPT0gRklOSVNIX1NUQVRFCiAgICApIHsKICAgICAgcmV0dXJuIGVycihzdHJtLCBaX1NUUkVBTV9FUlJPUiQyKTsKICAgIH0KCiAgICBzdHJtLnN0YXRlID0gbnVsbDsKCiAgICByZXR1cm4gc3RhdHVzID09PSBCVVNZX1NUQVRFID8gZXJyKHN0cm0sIFpfREFUQV9FUlJPUiQyKSA6IFpfT0skMzsKICB9OwoKCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAqIEluaXRpYWxpemVzIHRoZSBjb21wcmVzc2lvbiBkaWN0aW9uYXJ5IGZyb20gdGhlIGdpdmVuIGJ5dGUKICAgKiBzZXF1ZW5jZSB3aXRob3V0IHByb2R1Y2luZyBhbnkgY29tcHJlc3NlZCBvdXRwdXQuCiAgICovCiAgY29uc3QgZGVmbGF0ZVNldERpY3Rpb25hcnkgPSAoc3RybSwgZGljdGlvbmFyeSkgPT4gewoKICAgIGxldCBkaWN0TGVuZ3RoID0gZGljdGlvbmFyeS5sZW5ndGg7CgogICAgaWYgKCFzdHJtLyo9PSBaX05VTEwqLyB8fCAhc3RybS5zdGF0ZS8qPT0gWl9OVUxMKi8pIHsKICAgICAgcmV0dXJuIFpfU1RSRUFNX0VSUk9SJDI7CiAgICB9CgogICAgY29uc3QgcyA9IHN0cm0uc3RhdGU7CiAgICBjb25zdCB3cmFwID0gcy53cmFwOwoKICAgIGlmICh3cmFwID09PSAyIHx8ICh3cmFwID09PSAxICYmIHMuc3RhdHVzICE9PSBJTklUX1NUQVRFKSB8fCBzLmxvb2thaGVhZCkgewogICAgICByZXR1cm4gWl9TVFJFQU1fRVJST1IkMjsKICAgIH0KCiAgICAvKiB3aGVuIHVzaW5nIHpsaWIgd3JhcHBlcnMsIGNvbXB1dGUgQWRsZXItMzIgZm9yIHByb3ZpZGVkIGRpY3Rpb25hcnkgKi8KICAgIGlmICh3cmFwID09PSAxKSB7CiAgICAgIC8qIGFkbGVyMzIoc3RybS0+YWRsZXIsIGRpY3Rpb25hcnksIGRpY3RMZW5ndGgpOyAqLwogICAgICBzdHJtLmFkbGVyID0gYWRsZXIzMl8xKHN0cm0uYWRsZXIsIGRpY3Rpb25hcnksIGRpY3RMZW5ndGgsIDApOwogICAgfQoKICAgIHMud3JhcCA9IDA7ICAgLyogYXZvaWQgY29tcHV0aW5nIEFkbGVyLTMyIGluIHJlYWRfYnVmICovCgogICAgLyogaWYgZGljdGlvbmFyeSB3b3VsZCBmaWxsIHdpbmRvdywganVzdCByZXBsYWNlIHRoZSBoaXN0b3J5ICovCiAgICBpZiAoZGljdExlbmd0aCA+PSBzLndfc2l6ZSkgewogICAgICBpZiAod3JhcCA9PT0gMCkgeyAgICAgICAgICAgIC8qIGFscmVhZHkgZW1wdHkgb3RoZXJ3aXNlICovCiAgICAgICAgLyoqKiBDTEVBUl9IQVNIKHMpOyAqKiovCiAgICAgICAgemVybyhzLmhlYWQpOyAvLyBGaWxsIHdpdGggTklMICg9IDApOwogICAgICAgIHMuc3Ryc3RhcnQgPSAwOwogICAgICAgIHMuYmxvY2tfc3RhcnQgPSAwOwogICAgICAgIHMuaW5zZXJ0ID0gMDsKICAgICAgfQogICAgICAvKiB1c2UgdGhlIHRhaWwgKi8KICAgICAgLy8gZGljdGlvbmFyeSA9IGRpY3Rpb25hcnkuc2xpY2UoZGljdExlbmd0aCAtIHMud19zaXplKTsKICAgICAgbGV0IHRtcERpY3QgPSBuZXcgVWludDhBcnJheShzLndfc2l6ZSk7CiAgICAgIHRtcERpY3Quc2V0KGRpY3Rpb25hcnkuc3ViYXJyYXkoZGljdExlbmd0aCAtIHMud19zaXplLCBkaWN0TGVuZ3RoKSwgMCk7CiAgICAgIGRpY3Rpb25hcnkgPSB0bXBEaWN0OwogICAgICBkaWN0TGVuZ3RoID0gcy53X3NpemU7CiAgICB9CiAgICAvKiBpbnNlcnQgZGljdGlvbmFyeSBpbnRvIHdpbmRvdyBhbmQgaGFzaCAqLwogICAgY29uc3QgYXZhaWwgPSBzdHJtLmF2YWlsX2luOwogICAgY29uc3QgbmV4dCA9IHN0cm0ubmV4dF9pbjsKICAgIGNvbnN0IGlucHV0ID0gc3RybS5pbnB1dDsKICAgIHN0cm0uYXZhaWxfaW4gPSBkaWN0TGVuZ3RoOwogICAgc3RybS5uZXh0X2luID0gMDsKICAgIHN0cm0uaW5wdXQgPSBkaWN0aW9uYXJ5OwogICAgZmlsbF93aW5kb3cocyk7CiAgICB3aGlsZSAocy5sb29rYWhlYWQgPj0gTUlOX01BVENIKSB7CiAgICAgIGxldCBzdHIgPSBzLnN0cnN0YXJ0OwogICAgICBsZXQgbiA9IHMubG9va2FoZWFkIC0gKE1JTl9NQVRDSCAtIDEpOwogICAgICBkbyB7CiAgICAgICAgLyogVVBEQVRFX0hBU0gocywgcy0+aW5zX2gsIHMtPndpbmRvd1tzdHIgKyBNSU5fTUFUQ0gtMV0pOyAqLwogICAgICAgIHMuaW5zX2ggPSBIQVNIKHMsIHMuaW5zX2gsIHMud2luZG93W3N0ciArIE1JTl9NQVRDSCAtIDFdKTsKCiAgICAgICAgcy5wcmV2W3N0ciAmIHMud19tYXNrXSA9IHMuaGVhZFtzLmluc19oXTsKCiAgICAgICAgcy5oZWFkW3MuaW5zX2hdID0gc3RyOwogICAgICAgIHN0cisrOwogICAgICB9IHdoaWxlICgtLW4pOwogICAgICBzLnN0cnN0YXJ0ID0gc3RyOwogICAgICBzLmxvb2thaGVhZCA9IE1JTl9NQVRDSCAtIDE7CiAgICAgIGZpbGxfd2luZG93KHMpOwogICAgfQogICAgcy5zdHJzdGFydCArPSBzLmxvb2thaGVhZDsKICAgIHMuYmxvY2tfc3RhcnQgPSBzLnN0cnN0YXJ0OwogICAgcy5pbnNlcnQgPSBzLmxvb2thaGVhZDsKICAgIHMubG9va2FoZWFkID0gMDsKICAgIHMubWF0Y2hfbGVuZ3RoID0gcy5wcmV2X2xlbmd0aCA9IE1JTl9NQVRDSCAtIDE7CiAgICBzLm1hdGNoX2F2YWlsYWJsZSA9IDA7CiAgICBzdHJtLm5leHRfaW4gPSBuZXh0OwogICAgc3RybS5pbnB1dCA9IGlucHV0OwogICAgc3RybS5hdmFpbF9pbiA9IGF2YWlsOwogICAgcy53cmFwID0gd3JhcDsKICAgIHJldHVybiBaX09LJDM7CiAgfTsKCgogIHZhciBkZWZsYXRlSW5pdF8xID0gZGVmbGF0ZUluaXQ7CiAgdmFyIGRlZmxhdGVJbml0Ml8xID0gZGVmbGF0ZUluaXQyOwogIHZhciBkZWZsYXRlUmVzZXRfMSA9IGRlZmxhdGVSZXNldDsKICB2YXIgZGVmbGF0ZVJlc2V0S2VlcF8xID0gZGVmbGF0ZVJlc2V0S2VlcDsKICB2YXIgZGVmbGF0ZVNldEhlYWRlcl8xID0gZGVmbGF0ZVNldEhlYWRlcjsKICB2YXIgZGVmbGF0ZV8yJDEgPSBkZWZsYXRlJDI7CiAgdmFyIGRlZmxhdGVFbmRfMSA9IGRlZmxhdGVFbmQ7CiAgdmFyIGRlZmxhdGVTZXREaWN0aW9uYXJ5XzEgPSBkZWZsYXRlU2V0RGljdGlvbmFyeTsKICB2YXIgZGVmbGF0ZUluZm8gPSAncGFrbyBkZWZsYXRlIChmcm9tIE5vZGVjYSBwcm9qZWN0KSc7CgogIC8qIE5vdCBpbXBsZW1lbnRlZAogIG1vZHVsZS5leHBvcnRzLmRlZmxhdGVCb3VuZCA9IGRlZmxhdGVCb3VuZDsKICBtb2R1bGUuZXhwb3J0cy5kZWZsYXRlQ29weSA9IGRlZmxhdGVDb3B5OwogIG1vZHVsZS5leHBvcnRzLmRlZmxhdGVQYXJhbXMgPSBkZWZsYXRlUGFyYW1zOwogIG1vZHVsZS5leHBvcnRzLmRlZmxhdGVQZW5kaW5nID0gZGVmbGF0ZVBlbmRpbmc7CiAgbW9kdWxlLmV4cG9ydHMuZGVmbGF0ZVByaW1lID0gZGVmbGF0ZVByaW1lOwogIG1vZHVsZS5leHBvcnRzLmRlZmxhdGVUdW5lID0gZGVmbGF0ZVR1bmU7CiAgKi8KCiAgdmFyIGRlZmxhdGVfMSQyID0gewogIAlkZWZsYXRlSW5pdDogZGVmbGF0ZUluaXRfMSwKICAJZGVmbGF0ZUluaXQyOiBkZWZsYXRlSW5pdDJfMSwKICAJZGVmbGF0ZVJlc2V0OiBkZWZsYXRlUmVzZXRfMSwKICAJZGVmbGF0ZVJlc2V0S2VlcDogZGVmbGF0ZVJlc2V0S2VlcF8xLAogIAlkZWZsYXRlU2V0SGVhZGVyOiBkZWZsYXRlU2V0SGVhZGVyXzEsCiAgCWRlZmxhdGU6IGRlZmxhdGVfMiQxLAogIAlkZWZsYXRlRW5kOiBkZWZsYXRlRW5kXzEsCiAgCWRlZmxhdGVTZXREaWN0aW9uYXJ5OiBkZWZsYXRlU2V0RGljdGlvbmFyeV8xLAogIAlkZWZsYXRlSW5mbzogZGVmbGF0ZUluZm8KICB9OwoKICBjb25zdCBfaGFzID0gKG9iaiwga2V5KSA9PiB7CiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KTsKICB9OwoKICB2YXIgYXNzaWduID0gZnVuY3Rpb24gKG9iaiAvKmZyb20xLCBmcm9tMiwgZnJvbTMsIC4uLiovKSB7CiAgICBjb25zdCBzb3VyY2VzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTsKICAgIHdoaWxlIChzb3VyY2VzLmxlbmd0aCkgewogICAgICBjb25zdCBzb3VyY2UgPSBzb3VyY2VzLnNoaWZ0KCk7CiAgICAgIGlmICghc291cmNlKSB7IGNvbnRpbnVlOyB9CgogICAgICBpZiAodHlwZW9mIHNvdXJjZSAhPT0gJ29iamVjdCcpIHsKICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHNvdXJjZSArICdtdXN0IGJlIG5vbi1vYmplY3QnKTsKICAgICAgfQoKICAgICAgZm9yIChjb25zdCBwIGluIHNvdXJjZSkgewogICAgICAgIGlmIChfaGFzKHNvdXJjZSwgcCkpIHsKICAgICAgICAgIG9ialtwXSA9IHNvdXJjZVtwXTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gb2JqOwogIH07CgoKICAvLyBKb2luIGFycmF5IG9mIGNodW5rcyB0byBzaW5nbGUgYXJyYXkuCiAgdmFyIGZsYXR0ZW5DaHVua3MgPSAoY2h1bmtzKSA9PiB7CiAgICAvLyBjYWxjdWxhdGUgZGF0YSBsZW5ndGgKICAgIGxldCBsZW4gPSAwOwoKICAgIGZvciAobGV0IGkgPSAwLCBsID0gY2h1bmtzLmxlbmd0aDsgaSA8IGw7IGkrKykgewogICAgICBsZW4gKz0gY2h1bmtzW2ldLmxlbmd0aDsKICAgIH0KCiAgICAvLyBqb2luIGNodW5rcwogICAgY29uc3QgcmVzdWx0ID0gbmV3IFVpbnQ4QXJyYXkobGVuKTsKCiAgICBmb3IgKGxldCBpID0gMCwgcG9zID0gMCwgbCA9IGNodW5rcy5sZW5ndGg7IGkgPCBsOyBpKyspIHsKICAgICAgbGV0IGNodW5rID0gY2h1bmtzW2ldOwogICAgICByZXN1bHQuc2V0KGNodW5rLCBwb3MpOwogICAgICBwb3MgKz0gY2h1bmsubGVuZ3RoOwogICAgfQoKICAgIHJldHVybiByZXN1bHQ7CiAgfTsKCiAgdmFyIGNvbW1vbiA9IHsKICAJYXNzaWduOiBhc3NpZ24sCiAgCWZsYXR0ZW5DaHVua3M6IGZsYXR0ZW5DaHVua3MKICB9OwoKICAvLyBTdHJpbmcgZW5jb2RlL2RlY29kZSBoZWxwZXJzCgoKICAvLyBRdWljayBjaGVjayBpZiB3ZSBjYW4gdXNlIGZhc3QgYXJyYXkgdG8gYmluIHN0cmluZyBjb252ZXJzaW9uCiAgLy8KICAvLyAtIGFwcGx5KEFycmF5KSBjYW4gZmFpbCBvbiBBbmRyb2lkIDIuMgogIC8vIC0gYXBwbHkoVWludDhBcnJheSkgY2FuIGZhaWwgb24gaU9TIDUuMSBTYWZhcmkKICAvLwogIGxldCBTVFJfQVBQTFlfVUlBX09LID0gdHJ1ZTsKCiAgdHJ5IHsgU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBuZXcgVWludDhBcnJheSgxKSk7IH0gY2F0Y2ggKF9fKSB7IFNUUl9BUFBMWV9VSUFfT0sgPSBmYWxzZTsgfQoKCiAgLy8gVGFibGUgd2l0aCB1dGY4IGxlbmd0aHMgKGNhbGN1bGF0ZWQgYnkgZmlyc3QgYnl0ZSBvZiBzZXF1ZW5jZSkKICAvLyBOb3RlLCB0aGF0IDUgJiA2LWJ5dGUgdmFsdWVzIGFuZCBzb21lIDQtYnl0ZSB2YWx1ZXMgY2FuIG5vdCBiZSByZXByZXNlbnRlZCBpbiBKUywKICAvLyBiZWNhdXNlIG1heCBwb3NzaWJsZSBjb2RlcG9pbnQgaXMgMHgxMGZmZmYKICBjb25zdCBfdXRmOGxlbiA9IG5ldyBVaW50OEFycmF5KDI1Nik7CiAgZm9yIChsZXQgcSA9IDA7IHEgPCAyNTY7IHErKykgewogICAgX3V0ZjhsZW5bcV0gPSAocSA+PSAyNTIgPyA2IDogcSA+PSAyNDggPyA1IDogcSA+PSAyNDAgPyA0IDogcSA+PSAyMjQgPyAzIDogcSA+PSAxOTIgPyAyIDogMSk7CiAgfQogIF91dGY4bGVuWzI1NF0gPSBfdXRmOGxlblsyNTRdID0gMTsgLy8gSW52YWxpZCBzZXF1ZW5jZSBzdGFydAoKCiAgLy8gY29udmVydCBzdHJpbmcgdG8gYXJyYXkgKHR5cGVkLCB3aGVuIHBvc3NpYmxlKQogIHZhciBzdHJpbmcyYnVmID0gKHN0cikgPT4gewogICAgaWYgKHR5cGVvZiBUZXh0RW5jb2RlciA9PT0gJ2Z1bmN0aW9uJyAmJiBUZXh0RW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlKSB7CiAgICAgIHJldHVybiBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoc3RyKTsKICAgIH0KCiAgICBsZXQgYnVmLCBjLCBjMiwgbV9wb3MsIGksIHN0cl9sZW4gPSBzdHIubGVuZ3RoLCBidWZfbGVuID0gMDsKCiAgICAvLyBjb3VudCBiaW5hcnkgc2l6ZQogICAgZm9yIChtX3BvcyA9IDA7IG1fcG9zIDwgc3RyX2xlbjsgbV9wb3MrKykgewogICAgICBjID0gc3RyLmNoYXJDb2RlQXQobV9wb3MpOwogICAgICBpZiAoKGMgJiAweGZjMDApID09PSAweGQ4MDAgJiYgKG1fcG9zICsgMSA8IHN0cl9sZW4pKSB7CiAgICAgICAgYzIgPSBzdHIuY2hhckNvZGVBdChtX3BvcyArIDEpOwogICAgICAgIGlmICgoYzIgJiAweGZjMDApID09PSAweGRjMDApIHsKICAgICAgICAgIGMgPSAweDEwMDAwICsgKChjIC0gMHhkODAwKSA8PCAxMCkgKyAoYzIgLSAweGRjMDApOwogICAgICAgICAgbV9wb3MrKzsKICAgICAgICB9CiAgICAgIH0KICAgICAgYnVmX2xlbiArPSBjIDwgMHg4MCA/IDEgOiBjIDwgMHg4MDAgPyAyIDogYyA8IDB4MTAwMDAgPyAzIDogNDsKICAgIH0KCiAgICAvLyBhbGxvY2F0ZSBidWZmZXIKICAgIGJ1ZiA9IG5ldyBVaW50OEFycmF5KGJ1Zl9sZW4pOwoKICAgIC8vIGNvbnZlcnQKICAgIGZvciAoaSA9IDAsIG1fcG9zID0gMDsgaSA8IGJ1Zl9sZW47IG1fcG9zKyspIHsKICAgICAgYyA9IHN0ci5jaGFyQ29kZUF0KG1fcG9zKTsKICAgICAgaWYgKChjICYgMHhmYzAwKSA9PT0gMHhkODAwICYmIChtX3BvcyArIDEgPCBzdHJfbGVuKSkgewogICAgICAgIGMyID0gc3RyLmNoYXJDb2RlQXQobV9wb3MgKyAxKTsKICAgICAgICBpZiAoKGMyICYgMHhmYzAwKSA9PT0gMHhkYzAwKSB7CiAgICAgICAgICBjID0gMHgxMDAwMCArICgoYyAtIDB4ZDgwMCkgPDwgMTApICsgKGMyIC0gMHhkYzAwKTsKICAgICAgICAgIG1fcG9zKys7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmIChjIDwgMHg4MCkgewogICAgICAgIC8qIG9uZSBieXRlICovCiAgICAgICAgYnVmW2krK10gPSBjOwogICAgICB9IGVsc2UgaWYgKGMgPCAweDgwMCkgewogICAgICAgIC8qIHR3byBieXRlcyAqLwogICAgICAgIGJ1ZltpKytdID0gMHhDMCB8IChjID4+PiA2KTsKICAgICAgICBidWZbaSsrXSA9IDB4ODAgfCAoYyAmIDB4M2YpOwogICAgICB9IGVsc2UgaWYgKGMgPCAweDEwMDAwKSB7CiAgICAgICAgLyogdGhyZWUgYnl0ZXMgKi8KICAgICAgICBidWZbaSsrXSA9IDB4RTAgfCAoYyA+Pj4gMTIpOwogICAgICAgIGJ1ZltpKytdID0gMHg4MCB8IChjID4+PiA2ICYgMHgzZik7CiAgICAgICAgYnVmW2krK10gPSAweDgwIHwgKGMgJiAweDNmKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvKiBmb3VyIGJ5dGVzICovCiAgICAgICAgYnVmW2krK10gPSAweGYwIHwgKGMgPj4+IDE4KTsKICAgICAgICBidWZbaSsrXSA9IDB4ODAgfCAoYyA+Pj4gMTIgJiAweDNmKTsKICAgICAgICBidWZbaSsrXSA9IDB4ODAgfCAoYyA+Pj4gNiAmIDB4M2YpOwogICAgICAgIGJ1ZltpKytdID0gMHg4MCB8IChjICYgMHgzZik7CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYnVmOwogIH07CgogIC8vIEhlbHBlcgogIGNvbnN0IGJ1ZjJiaW5zdHJpbmcgPSAoYnVmLCBsZW4pID0+IHsKICAgIC8vIE9uIENocm9tZSwgdGhlIGFyZ3VtZW50cyBpbiBhIGZ1bmN0aW9uIGNhbGwgdGhhdCBhcmUgYWxsb3dlZCBpcyBgNjU1MzRgLgogICAgLy8gSWYgdGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIGlzIHNtYWxsZXIgdGhhbiB0aGF0LCB3ZSBjYW4gdXNlIHRoaXMgb3B0aW1pemF0aW9uLAogICAgLy8gb3RoZXJ3aXNlIHdlIHdpbGwgdGFrZSBhIHNsb3dlciBwYXRoLgogICAgaWYgKGxlbiA8IDY1NTM0KSB7CiAgICAgIGlmIChidWYuc3ViYXJyYXkgJiYgU1RSX0FQUExZX1VJQV9PSykgewogICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGJ1Zi5sZW5ndGggPT09IGxlbiA/IGJ1ZiA6IGJ1Zi5zdWJhcnJheSgwLCBsZW4pKTsKICAgICAgfQogICAgfQoKICAgIGxldCByZXN1bHQgPSAnJzsKICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKICAgICAgcmVzdWx0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnVmW2ldKTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfTsKCgogIC8vIGNvbnZlcnQgYXJyYXkgdG8gc3RyaW5nCiAgdmFyIGJ1ZjJzdHJpbmcgPSAoYnVmLCBtYXgpID0+IHsKICAgIGNvbnN0IGxlbiA9IG1heCB8fCBidWYubGVuZ3RoOwoKICAgIGlmICh0eXBlb2YgVGV4dERlY29kZXIgPT09ICdmdW5jdGlvbicgJiYgVGV4dERlY29kZXIucHJvdG90eXBlLmRlY29kZSkgewogICAgICByZXR1cm4gbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKGJ1Zi5zdWJhcnJheSgwLCBtYXgpKTsKICAgIH0KCiAgICBsZXQgaSwgb3V0OwoKICAgIC8vIFJlc2VydmUgbWF4IHBvc3NpYmxlIGxlbmd0aCAoMiB3b3JkcyBwZXIgY2hhcikKICAgIC8vIE5COiBieSB1bmtub3duIHJlYXNvbnMsIEFycmF5IGlzIHNpZ25pZmljYW50bHkgZmFzdGVyIGZvcgogICAgLy8gICAgIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkgdGhhbiBVaW50MTZBcnJheS4KICAgIGNvbnN0IHV0ZjE2YnVmID0gbmV3IEFycmF5KGxlbiAqIDIpOwoKICAgIGZvciAob3V0ID0gMCwgaSA9IDA7IGkgPCBsZW47KSB7CiAgICAgIGxldCBjID0gYnVmW2krK107CiAgICAgIC8vIHF1aWNrIHByb2Nlc3MgYXNjaWkKICAgICAgaWYgKGMgPCAweDgwKSB7IHV0ZjE2YnVmW291dCsrXSA9IGM7IGNvbnRpbnVlOyB9CgogICAgICBsZXQgY19sZW4gPSBfdXRmOGxlbltjXTsKICAgICAgLy8gc2tpcCA1ICYgNiBieXRlIGNvZGVzCiAgICAgIGlmIChjX2xlbiA+IDQpIHsgdXRmMTZidWZbb3V0KytdID0gMHhmZmZkOyBpICs9IGNfbGVuIC0gMTsgY29udGludWU7IH0KCiAgICAgIC8vIGFwcGx5IG1hc2sgb24gZmlyc3QgYnl0ZQogICAgICBjICY9IGNfbGVuID09PSAyID8gMHgxZiA6IGNfbGVuID09PSAzID8gMHgwZiA6IDB4MDc7CiAgICAgIC8vIGpvaW4gdGhlIHJlc3QKICAgICAgd2hpbGUgKGNfbGVuID4gMSAmJiBpIDwgbGVuKSB7CiAgICAgICAgYyA9IChjIDw8IDYpIHwgKGJ1ZltpKytdICYgMHgzZik7CiAgICAgICAgY19sZW4tLTsKICAgICAgfQoKICAgICAgLy8gdGVybWluYXRlZCBieSBlbmQgb2Ygc3RyaW5nPwogICAgICBpZiAoY19sZW4gPiAxKSB7IHV0ZjE2YnVmW291dCsrXSA9IDB4ZmZmZDsgY29udGludWU7IH0KCiAgICAgIGlmIChjIDwgMHgxMDAwMCkgewogICAgICAgIHV0ZjE2YnVmW291dCsrXSA9IGM7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgYyAtPSAweDEwMDAwOwogICAgICAgIHV0ZjE2YnVmW291dCsrXSA9IDB4ZDgwMCB8ICgoYyA+PiAxMCkgJiAweDNmZik7CiAgICAgICAgdXRmMTZidWZbb3V0KytdID0gMHhkYzAwIHwgKGMgJiAweDNmZik7CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYnVmMmJpbnN0cmluZyh1dGYxNmJ1Ziwgb3V0KTsKICB9OwoKCiAgLy8gQ2FsY3VsYXRlIG1heCBwb3NzaWJsZSBwb3NpdGlvbiBpbiB1dGY4IGJ1ZmZlciwKICAvLyB0aGF0IHdpbGwgbm90IGJyZWFrIHNlcXVlbmNlLiBJZiB0aGF0J3Mgbm90IHBvc3NpYmxlCiAgLy8gLSAodmVyeSBzbWFsbCBsaW1pdHMpIHJldHVybiBtYXggc2l6ZSBhcyBpcy4KICAvLwogIC8vIGJ1ZltdIC0gdXRmOCBieXRlcyBhcnJheQogIC8vIG1heCAgIC0gbGVuZ3RoIGxpbWl0IChtYW5kYXRvcnkpOwogIHZhciB1dGY4Ym9yZGVyID0gKGJ1ZiwgbWF4KSA9PiB7CgogICAgbWF4ID0gbWF4IHx8IGJ1Zi5sZW5ndGg7CiAgICBpZiAobWF4ID4gYnVmLmxlbmd0aCkgeyBtYXggPSBidWYubGVuZ3RoOyB9CgogICAgLy8gZ28gYmFjayBmcm9tIGxhc3QgcG9zaXRpb24sIHVudGlsIHN0YXJ0IG9mIHNlcXVlbmNlIGZvdW5kCiAgICBsZXQgcG9zID0gbWF4IC0gMTsKICAgIHdoaWxlIChwb3MgPj0gMCAmJiAoYnVmW3Bvc10gJiAweEMwKSA9PT0gMHg4MCkgeyBwb3MtLTsgfQoKICAgIC8vIFZlcnkgc21hbGwgYW5kIGJyb2tlbiBzZXF1ZW5jZSwKICAgIC8vIHJldHVybiBtYXgsIGJlY2F1c2Ugd2Ugc2hvdWxkIHJldHVybiBzb21ldGhpbmcgYW55d2F5LgogICAgaWYgKHBvcyA8IDApIHsgcmV0dXJuIG1heDsgfQoKICAgIC8vIElmIHdlIGNhbWUgdG8gc3RhcnQgb2YgYnVmZmVyIC0gdGhhdCBtZWFucyBidWZmZXIgaXMgdG9vIHNtYWxsLAogICAgLy8gcmV0dXJuIG1heCB0b28uCiAgICBpZiAocG9zID09PSAwKSB7IHJldHVybiBtYXg7IH0KCiAgICByZXR1cm4gKHBvcyArIF91dGY4bGVuW2J1Zltwb3NdXSA+IG1heCkgPyBwb3MgOiBtYXg7CiAgfTsKCiAgdmFyIHN0cmluZ3MgPSB7CiAgCXN0cmluZzJidWY6IHN0cmluZzJidWYsCiAgCWJ1ZjJzdHJpbmc6IGJ1ZjJzdHJpbmcsCiAgCXV0Zjhib3JkZXI6IHV0Zjhib3JkZXIKICB9OwoKICAvLyAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAvLyAoQykgMjAxNC0yMDE3IFZpdGFseSBQdXpyaW4gYW5kIEFuZHJleSBUdXBpdHNpbgogIC8vCiAgLy8gVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAvLyB3YXJyYW50eS4gSW4gbm8gZXZlbnQgd2lsbCB0aGUgYXV0aG9ycyBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGRhbWFnZXMKICAvLyBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogIC8vCiAgLy8gUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGFueW9uZSB0byB1c2UgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2UsCiAgLy8gaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogIC8vIGZyZWVseSwgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIHJlc3RyaWN0aW9uczoKICAvLwogIC8vIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgLy8gICBjbGFpbSB0aGF0IHlvdSB3cm90ZSB0aGUgb3JpZ2luYWwgc29mdHdhcmUuIElmIHlvdSB1c2UgdGhpcyBzb2Z0d2FyZQogIC8vICAgaW4gYSBwcm9kdWN0LCBhbiBhY2tub3dsZWRnbWVudCBpbiB0aGUgcHJvZHVjdCBkb2N1bWVudGF0aW9uIHdvdWxkIGJlCiAgLy8gICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogIC8vIDIuIEFsdGVyZWQgc291cmNlIHZlcnNpb25zIG11c3QgYmUgcGxhaW5seSBtYXJrZWQgYXMgc3VjaCwgYW5kIG11c3Qgbm90IGJlCiAgLy8gICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgLy8gMy4gVGhpcyBub3RpY2UgbWF5IG5vdCBiZSByZW1vdmVkIG9yIGFsdGVyZWQgZnJvbSBhbnkgc291cmNlIGRpc3RyaWJ1dGlvbi4KCiAgZnVuY3Rpb24gWlN0cmVhbSgpIHsKICAgIC8qIG5leHQgaW5wdXQgYnl0ZSAqLwogICAgdGhpcy5pbnB1dCA9IG51bGw7IC8vIEpTIHNwZWNpZmljLCBiZWNhdXNlIHdlIGhhdmUgbm8gcG9pbnRlcnMKICAgIHRoaXMubmV4dF9pbiA9IDA7CiAgICAvKiBudW1iZXIgb2YgYnl0ZXMgYXZhaWxhYmxlIGF0IGlucHV0ICovCiAgICB0aGlzLmF2YWlsX2luID0gMDsKICAgIC8qIHRvdGFsIG51bWJlciBvZiBpbnB1dCBieXRlcyByZWFkIHNvIGZhciAqLwogICAgdGhpcy50b3RhbF9pbiA9IDA7CiAgICAvKiBuZXh0IG91dHB1dCBieXRlIHNob3VsZCBiZSBwdXQgdGhlcmUgKi8KICAgIHRoaXMub3V0cHV0ID0gbnVsbDsgLy8gSlMgc3BlY2lmaWMsIGJlY2F1c2Ugd2UgaGF2ZSBubyBwb2ludGVycwogICAgdGhpcy5uZXh0X291dCA9IDA7CiAgICAvKiByZW1haW5pbmcgZnJlZSBzcGFjZSBhdCBvdXRwdXQgKi8KICAgIHRoaXMuYXZhaWxfb3V0ID0gMDsKICAgIC8qIHRvdGFsIG51bWJlciBvZiBieXRlcyBvdXRwdXQgc28gZmFyICovCiAgICB0aGlzLnRvdGFsX291dCA9IDA7CiAgICAvKiBsYXN0IGVycm9yIG1lc3NhZ2UsIE5VTEwgaWYgbm8gZXJyb3IgKi8KICAgIHRoaXMubXNnID0gJycvKlpfTlVMTCovOwogICAgLyogbm90IHZpc2libGUgYnkgYXBwbGljYXRpb25zICovCiAgICB0aGlzLnN0YXRlID0gbnVsbDsKICAgIC8qIGJlc3QgZ3Vlc3MgYWJvdXQgdGhlIGRhdGEgdHlwZTogYmluYXJ5IG9yIHRleHQgKi8KICAgIHRoaXMuZGF0YV90eXBlID0gMi8qWl9VTktOT1dOKi87CiAgICAvKiBhZGxlcjMyIHZhbHVlIG9mIHRoZSB1bmNvbXByZXNzZWQgZGF0YSAqLwogICAgdGhpcy5hZGxlciA9IDA7CiAgfQoKICB2YXIgenN0cmVhbSA9IFpTdHJlYW07CgogIGNvbnN0IHRvU3RyaW5nJDEgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwoKICAvKiBQdWJsaWMgY29uc3RhbnRzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgogIGNvbnN0IHsKICAgIFpfTk9fRkxVU0g6IFpfTk9fRkxVU0gkMSwgWl9TWU5DX0ZMVVNILCBaX0ZVTExfRkxVU0gsIFpfRklOSVNIOiBaX0ZJTklTSCQyLAogICAgWl9PSzogWl9PSyQyLCBaX1NUUkVBTV9FTkQ6IFpfU1RSRUFNX0VORCQyLAogICAgWl9ERUZBVUxUX0NPTVBSRVNTSU9OLAogICAgWl9ERUZBVUxUX1NUUkFURUdZLAogICAgWl9ERUZMQVRFRDogWl9ERUZMQVRFRCQxCiAgfSA9IGNvbnN0YW50cyQyOwoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKCiAgLyoqCiAgICogY2xhc3MgRGVmbGF0ZQogICAqCiAgICogR2VuZXJpYyBKUy1zdHlsZSB3cmFwcGVyIGZvciB6bGliIGNhbGxzLiBJZiB5b3UgZG9uJ3QgbmVlZAogICAqIHN0cmVhbWluZyBiZWhhdmlvdXIgLSB1c2UgbW9yZSBzaW1wbGUgZnVuY3Rpb25zOiBbW2RlZmxhdGVdXSwKICAgKiBbW2RlZmxhdGVSYXddXSBhbmQgW1tnemlwXV0uCiAgICoqLwoKICAvKiBpbnRlcm5hbAogICAqIERlZmxhdGUuY2h1bmtzIC0+IEFycmF5CiAgICoKICAgKiBDaHVua3Mgb2Ygb3V0cHV0IGRhdGEsIGlmIFtbRGVmbGF0ZSNvbkRhdGFdXSBub3Qgb3ZlcnJpZGRlbi4KICAgKiovCgogIC8qKgogICAqIERlZmxhdGUucmVzdWx0IC0+IFVpbnQ4QXJyYXkKICAgKgogICAqIENvbXByZXNzZWQgcmVzdWx0LCBnZW5lcmF0ZWQgYnkgZGVmYXVsdCBbW0RlZmxhdGUjb25EYXRhXV0KICAgKiBhbmQgW1tEZWZsYXRlI29uRW5kXV0gaGFuZGxlcnMuIEZpbGxlZCBhZnRlciB5b3UgcHVzaCBsYXN0IGNodW5rCiAgICogKGNhbGwgW1tEZWZsYXRlI3B1c2hdXSB3aXRoIGBaX0ZJTklTSGAgLyBgdHJ1ZWAgcGFyYW0pLgogICAqKi8KCiAgLyoqCiAgICogRGVmbGF0ZS5lcnIgLT4gTnVtYmVyCiAgICoKICAgKiBFcnJvciBjb2RlIGFmdGVyIGRlZmxhdGUgZmluaXNoZWQuIDAgKFpfT0spIG9uIHN1Y2Nlc3MuCiAgICogWW91IHdpbGwgbm90IG5lZWQgaXQgaW4gcmVhbCBsaWZlLCBiZWNhdXNlIGRlZmxhdGUgZXJyb3JzCiAgICogYXJlIHBvc3NpYmxlIG9ubHkgb24gd3Jvbmcgb3B0aW9ucyBvciBiYWQgYG9uRGF0YWAgLyBgb25FbmRgCiAgICogY3VzdG9tIGhhbmRsZXJzLgogICAqKi8KCiAgLyoqCiAgICogRGVmbGF0ZS5tc2cgLT4gU3RyaW5nCiAgICoKICAgKiBFcnJvciBtZXNzYWdlLCBpZiBbW0RlZmxhdGUuZXJyXV0gIT0gMAogICAqKi8KCgogIC8qKgogICAqIG5ldyBEZWZsYXRlKG9wdGlvbnMpCiAgICogLSBvcHRpb25zIChPYmplY3QpOiB6bGliIGRlZmxhdGUgb3B0aW9ucy4KICAgKgogICAqIENyZWF0ZXMgbmV3IGRlZmxhdG9yIGluc3RhbmNlIHdpdGggc3BlY2lmaWVkIHBhcmFtcy4gVGhyb3dzIGV4Y2VwdGlvbgogICAqIG9uIGJhZCBwYXJhbXMuIFN1cHBvcnRlZCBvcHRpb25zOgogICAqCiAgICogLSBgbGV2ZWxgCiAgICogLSBgd2luZG93Qml0c2AKICAgKiAtIGBtZW1MZXZlbGAKICAgKiAtIGBzdHJhdGVneWAKICAgKiAtIGBkaWN0aW9uYXJ5YAogICAqCiAgICogW2h0dHA6Ly96bGliLm5ldC9tYW51YWwuaHRtbCNBZHZhbmNlZF0oaHR0cDovL3psaWIubmV0L21hbnVhbC5odG1sI0FkdmFuY2VkKQogICAqIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZXNlLgogICAqCiAgICogQWRkaXRpb25hbCBvcHRpb25zLCBmb3IgaW50ZXJuYWwgbmVlZHM6CiAgICoKICAgKiAtIGBjaHVua1NpemVgIC0gc2l6ZSBvZiBnZW5lcmF0ZWQgZGF0YSBjaHVua3MgKDE2SyBieSBkZWZhdWx0KQogICAqIC0gYHJhd2AgKEJvb2xlYW4pIC0gZG8gcmF3IGRlZmxhdGUKICAgKiAtIGBnemlwYCAoQm9vbGVhbikgLSBjcmVhdGUgZ3ppcCB3cmFwcGVyCiAgICogLSBgaGVhZGVyYCAoT2JqZWN0KSAtIGN1c3RvbSBoZWFkZXIgZm9yIGd6aXAKICAgKiAgIC0gYHRleHRgIChCb29sZWFuKSAtIHRydWUgaWYgY29tcHJlc3NlZCBkYXRhIGJlbGlldmVkIHRvIGJlIHRleHQKICAgKiAgIC0gYHRpbWVgIChOdW1iZXIpIC0gbW9kaWZpY2F0aW9uIHRpbWUsIHVuaXggdGltZXN0YW1wCiAgICogICAtIGBvc2AgKE51bWJlcikgLSBvcGVyYXRpb24gc3lzdGVtIGNvZGUKICAgKiAgIC0gYGV4dHJhYCAoQXJyYXkpIC0gYXJyYXkgb2YgYnl0ZXMgd2l0aCBleHRyYSBkYXRhIChtYXggNjU1MzYpCiAgICogICAtIGBuYW1lYCAoU3RyaW5nKSAtIGZpbGUgbmFtZSAoYmluYXJ5IHN0cmluZykKICAgKiAgIC0gYGNvbW1lbnRgIChTdHJpbmcpIC0gY29tbWVudCAoYmluYXJ5IHN0cmluZykKICAgKiAgIC0gYGhjcmNgIChCb29sZWFuKSAtIHRydWUgaWYgaGVhZGVyIGNyYyBzaG91bGQgYmUgYWRkZWQKICAgKgogICAqICMjIyMjIEV4YW1wbGU6CiAgICoKICAgKiBgYGBqYXZhc2NyaXB0CiAgICogY29uc3QgcGFrbyA9IHJlcXVpcmUoJ3Bha28nKQogICAqICAgLCBjaHVuazEgPSBuZXcgVWludDhBcnJheShbMSwyLDMsNCw1LDYsNyw4LDldKQogICAqICAgLCBjaHVuazIgPSBuZXcgVWludDhBcnJheShbMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTldKTsKICAgKgogICAqIGNvbnN0IGRlZmxhdGUgPSBuZXcgcGFrby5EZWZsYXRlKHsgbGV2ZWw6IDN9KTsKICAgKgogICAqIGRlZmxhdGUucHVzaChjaHVuazEsIGZhbHNlKTsKICAgKiBkZWZsYXRlLnB1c2goY2h1bmsyLCB0cnVlKTsgIC8vIHRydWUgLT4gbGFzdCBjaHVuawogICAqCiAgICogaWYgKGRlZmxhdGUuZXJyKSB7IHRocm93IG5ldyBFcnJvcihkZWZsYXRlLmVycik7IH0KICAgKgogICAqIGNvbnNvbGUubG9nKGRlZmxhdGUucmVzdWx0KTsKICAgKiBgYGAKICAgKiovCiAgZnVuY3Rpb24gRGVmbGF0ZSQxKG9wdGlvbnMpIHsKICAgIHRoaXMub3B0aW9ucyA9IGNvbW1vbi5hc3NpZ24oewogICAgICBsZXZlbDogWl9ERUZBVUxUX0NPTVBSRVNTSU9OLAogICAgICBtZXRob2Q6IFpfREVGTEFURUQkMSwKICAgICAgY2h1bmtTaXplOiAxNjM4NCwKICAgICAgd2luZG93Qml0czogMTUsCiAgICAgIG1lbUxldmVsOiA4LAogICAgICBzdHJhdGVneTogWl9ERUZBVUxUX1NUUkFURUdZCiAgICB9LCBvcHRpb25zIHx8IHt9KTsKCiAgICBsZXQgb3B0ID0gdGhpcy5vcHRpb25zOwoKICAgIGlmIChvcHQucmF3ICYmIChvcHQud2luZG93Qml0cyA+IDApKSB7CiAgICAgIG9wdC53aW5kb3dCaXRzID0gLW9wdC53aW5kb3dCaXRzOwogICAgfQoKICAgIGVsc2UgaWYgKG9wdC5nemlwICYmIChvcHQud2luZG93Qml0cyA+IDApICYmIChvcHQud2luZG93Qml0cyA8IDE2KSkgewogICAgICBvcHQud2luZG93Qml0cyArPSAxNjsKICAgIH0KCiAgICB0aGlzLmVyciAgICA9IDA7ICAgICAgLy8gZXJyb3IgY29kZSwgaWYgaGFwcGVucyAoMCA9IFpfT0spCiAgICB0aGlzLm1zZyAgICA9ICcnOyAgICAgLy8gZXJyb3IgbWVzc2FnZQogICAgdGhpcy5lbmRlZCAgPSBmYWxzZTsgIC8vIHVzZWQgdG8gYXZvaWQgbXVsdGlwbGUgb25FbmQoKSBjYWxscwogICAgdGhpcy5jaHVua3MgPSBbXTsgICAgIC8vIGNodW5rcyBvZiBjb21wcmVzc2VkIGRhdGEKCiAgICB0aGlzLnN0cm0gPSBuZXcgenN0cmVhbSgpOwogICAgdGhpcy5zdHJtLmF2YWlsX291dCA9IDA7CgogICAgbGV0IHN0YXR1cyA9IGRlZmxhdGVfMSQyLmRlZmxhdGVJbml0MigKICAgICAgdGhpcy5zdHJtLAogICAgICBvcHQubGV2ZWwsCiAgICAgIG9wdC5tZXRob2QsCiAgICAgIG9wdC53aW5kb3dCaXRzLAogICAgICBvcHQubWVtTGV2ZWwsCiAgICAgIG9wdC5zdHJhdGVneQogICAgKTsKCiAgICBpZiAoc3RhdHVzICE9PSBaX09LJDIpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2VzW3N0YXR1c10pOwogICAgfQoKICAgIGlmIChvcHQuaGVhZGVyKSB7CiAgICAgIGRlZmxhdGVfMSQyLmRlZmxhdGVTZXRIZWFkZXIodGhpcy5zdHJtLCBvcHQuaGVhZGVyKTsKICAgIH0KCiAgICBpZiAob3B0LmRpY3Rpb25hcnkpIHsKICAgICAgbGV0IGRpY3Q7CiAgICAgIC8vIENvbnZlcnQgZGF0YSBpZiBuZWVkZWQKICAgICAgaWYgKHR5cGVvZiBvcHQuZGljdGlvbmFyeSA9PT0gJ3N0cmluZycpIHsKICAgICAgICAvLyBJZiB3ZSBuZWVkIHRvIGNvbXByZXNzIHRleHQsIGNoYW5nZSBlbmNvZGluZyB0byB1dGY4LgogICAgICAgIGRpY3QgPSBzdHJpbmdzLnN0cmluZzJidWYob3B0LmRpY3Rpb25hcnkpOwogICAgICB9IGVsc2UgaWYgKHRvU3RyaW5nJDEuY2FsbChvcHQuZGljdGlvbmFyeSkgPT09ICdbb2JqZWN0IEFycmF5QnVmZmVyXScpIHsKICAgICAgICBkaWN0ID0gbmV3IFVpbnQ4QXJyYXkob3B0LmRpY3Rpb25hcnkpOwogICAgICB9IGVsc2UgewogICAgICAgIGRpY3QgPSBvcHQuZGljdGlvbmFyeTsKICAgICAgfQoKICAgICAgc3RhdHVzID0gZGVmbGF0ZV8xJDIuZGVmbGF0ZVNldERpY3Rpb25hcnkodGhpcy5zdHJtLCBkaWN0KTsKCiAgICAgIGlmIChzdGF0dXMgIT09IFpfT0skMikgewogICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlc1tzdGF0dXNdKTsKICAgICAgfQoKICAgICAgdGhpcy5fZGljdF9zZXQgPSB0cnVlOwogICAgfQogIH0KCiAgLyoqCiAgICogRGVmbGF0ZSNwdXNoKGRhdGFbLCBmbHVzaF9tb2RlXSkgLT4gQm9vbGVhbgogICAqIC0gZGF0YSAoVWludDhBcnJheXxBcnJheUJ1ZmZlcnxTdHJpbmcpOiBpbnB1dCBkYXRhLiBTdHJpbmdzIHdpbGwgYmUKICAgKiAgIGNvbnZlcnRlZCB0byB1dGY4IGJ5dGUgc2VxdWVuY2UuCiAgICogLSBmbHVzaF9tb2RlIChOdW1iZXJ8Qm9vbGVhbik6IDAuLjYgZm9yIGNvcnJlc3BvbmRpbmcgWl9OT19GTFVTSC4uWl9UUkVFIG1vZGVzLgogICAqICAgU2VlIGNvbnN0YW50cy4gU2tpcHBlZCBvciBgZmFsc2VgIG1lYW5zIFpfTk9fRkxVU0gsIGB0cnVlYCBtZWFucyBaX0ZJTklTSC4KICAgKgogICAqIFNlbmRzIGlucHV0IGRhdGEgdG8gZGVmbGF0ZSBwaXBlLCBnZW5lcmF0aW5nIFtbRGVmbGF0ZSNvbkRhdGFdXSBjYWxscyB3aXRoCiAgICogbmV3IGNvbXByZXNzZWQgY2h1bmtzLiBSZXR1cm5zIGB0cnVlYCBvbiBzdWNjZXNzLiBUaGUgbGFzdCBkYXRhIGJsb2NrIG11c3QKICAgKiBoYXZlIGBmbHVzaF9tb2RlYCBaX0ZJTklTSCAob3IgYHRydWVgKS4gVGhhdCB3aWxsIGZsdXNoIGludGVybmFsIHBlbmRpbmcKICAgKiBidWZmZXJzIGFuZCBjYWxsIFtbRGVmbGF0ZSNvbkVuZF1dLgogICAqCiAgICogT24gZmFpbCBjYWxsIFtbRGVmbGF0ZSNvbkVuZF1dIHdpdGggZXJyb3IgY29kZSBhbmQgcmV0dXJuIGZhbHNlLgogICAqCiAgICogIyMjIyMgRXhhbXBsZQogICAqCiAgICogYGBgamF2YXNjcmlwdAogICAqIHB1c2goY2h1bmssIGZhbHNlKTsgLy8gcHVzaCBvbmUgb2YgZGF0YSBjaHVua3MKICAgKiAuLi4KICAgKiBwdXNoKGNodW5rLCB0cnVlKTsgIC8vIHB1c2ggbGFzdCBjaHVuawogICAqIGBgYAogICAqKi8KICBEZWZsYXRlJDEucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiAoZGF0YSwgZmx1c2hfbW9kZSkgewogICAgY29uc3Qgc3RybSA9IHRoaXMuc3RybTsKICAgIGNvbnN0IGNodW5rU2l6ZSA9IHRoaXMub3B0aW9ucy5jaHVua1NpemU7CiAgICBsZXQgc3RhdHVzLCBfZmx1c2hfbW9kZTsKCiAgICBpZiAodGhpcy5lbmRlZCkgeyByZXR1cm4gZmFsc2U7IH0KCiAgICBpZiAoZmx1c2hfbW9kZSA9PT0gfn5mbHVzaF9tb2RlKSBfZmx1c2hfbW9kZSA9IGZsdXNoX21vZGU7CiAgICBlbHNlIF9mbHVzaF9tb2RlID0gZmx1c2hfbW9kZSA9PT0gdHJ1ZSA/IFpfRklOSVNIJDIgOiBaX05PX0ZMVVNIJDE7CgogICAgLy8gQ29udmVydCBkYXRhIGlmIG5lZWRlZAogICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykgewogICAgICAvLyBJZiB3ZSBuZWVkIHRvIGNvbXByZXNzIHRleHQsIGNoYW5nZSBlbmNvZGluZyB0byB1dGY4LgogICAgICBzdHJtLmlucHV0ID0gc3RyaW5ncy5zdHJpbmcyYnVmKGRhdGEpOwogICAgfSBlbHNlIGlmICh0b1N0cmluZyQxLmNhbGwoZGF0YSkgPT09ICdbb2JqZWN0IEFycmF5QnVmZmVyXScpIHsKICAgICAgc3RybS5pbnB1dCA9IG5ldyBVaW50OEFycmF5KGRhdGEpOwogICAgfSBlbHNlIHsKICAgICAgc3RybS5pbnB1dCA9IGRhdGE7CiAgICB9CgogICAgc3RybS5uZXh0X2luID0gMDsKICAgIHN0cm0uYXZhaWxfaW4gPSBzdHJtLmlucHV0Lmxlbmd0aDsKCiAgICBmb3IgKDs7KSB7CiAgICAgIGlmIChzdHJtLmF2YWlsX291dCA9PT0gMCkgewogICAgICAgIHN0cm0ub3V0cHV0ID0gbmV3IFVpbnQ4QXJyYXkoY2h1bmtTaXplKTsKICAgICAgICBzdHJtLm5leHRfb3V0ID0gMDsKICAgICAgICBzdHJtLmF2YWlsX291dCA9IGNodW5rU2l6ZTsKICAgICAgfQoKICAgICAgLy8gTWFrZSBzdXJlIGF2YWlsX291dCA+IDYgdG8gYXZvaWQgcmVwZWF0aW5nIG1hcmtlcnMKICAgICAgaWYgKChfZmx1c2hfbW9kZSA9PT0gWl9TWU5DX0ZMVVNIIHx8IF9mbHVzaF9tb2RlID09PSBaX0ZVTExfRkxVU0gpICYmIHN0cm0uYXZhaWxfb3V0IDw9IDYpIHsKICAgICAgICB0aGlzLm9uRGF0YShzdHJtLm91dHB1dC5zdWJhcnJheSgwLCBzdHJtLm5leHRfb3V0KSk7CiAgICAgICAgc3RybS5hdmFpbF9vdXQgPSAwOwogICAgICAgIGNvbnRpbnVlOwogICAgICB9CgogICAgICBzdGF0dXMgPSBkZWZsYXRlXzEkMi5kZWZsYXRlKHN0cm0sIF9mbHVzaF9tb2RlKTsKCiAgICAgIC8vIEVuZGVkID0+IGZsdXNoIGFuZCBmaW5pc2gKICAgICAgaWYgKHN0YXR1cyA9PT0gWl9TVFJFQU1fRU5EJDIpIHsKICAgICAgICBpZiAoc3RybS5uZXh0X291dCA+IDApIHsKICAgICAgICAgIHRoaXMub25EYXRhKHN0cm0ub3V0cHV0LnN1YmFycmF5KDAsIHN0cm0ubmV4dF9vdXQpKTsKICAgICAgICB9CiAgICAgICAgc3RhdHVzID0gZGVmbGF0ZV8xJDIuZGVmbGF0ZUVuZCh0aGlzLnN0cm0pOwogICAgICAgIHRoaXMub25FbmQoc3RhdHVzKTsKICAgICAgICB0aGlzLmVuZGVkID0gdHJ1ZTsKICAgICAgICByZXR1cm4gc3RhdHVzID09PSBaX09LJDI7CiAgICAgIH0KCiAgICAgIC8vIEZsdXNoIGlmIG91dCBidWZmZXIgZnVsbAogICAgICBpZiAoc3RybS5hdmFpbF9vdXQgPT09IDApIHsKICAgICAgICB0aGlzLm9uRGF0YShzdHJtLm91dHB1dCk7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KCiAgICAgIC8vIEZsdXNoIGlmIHJlcXVlc3RlZCBhbmQgaGFzIGRhdGEKICAgICAgaWYgKF9mbHVzaF9tb2RlID4gMCAmJiBzdHJtLm5leHRfb3V0ID4gMCkgewogICAgICAgIHRoaXMub25EYXRhKHN0cm0ub3V0cHV0LnN1YmFycmF5KDAsIHN0cm0ubmV4dF9vdXQpKTsKICAgICAgICBzdHJtLmF2YWlsX291dCA9IDA7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KCiAgICAgIGlmIChzdHJtLmF2YWlsX2luID09PSAwKSBicmVhazsKICAgIH0KCiAgICByZXR1cm4gdHJ1ZTsKICB9OwoKCiAgLyoqCiAgICogRGVmbGF0ZSNvbkRhdGEoY2h1bmspIC0+IFZvaWQKICAgKiAtIGNodW5rIChVaW50OEFycmF5KTogb3V0cHV0IGRhdGEuCiAgICoKICAgKiBCeSBkZWZhdWx0LCBzdG9yZXMgZGF0YSBibG9ja3MgaW4gYGNodW5rc1tdYCBwcm9wZXJ0eSBhbmQgZ2x1ZQogICAqIHRob3NlIGluIGBvbkVuZGAuIE92ZXJyaWRlIHRoaXMgaGFuZGxlciwgaWYgeW91IG5lZWQgYW5vdGhlciBiZWhhdmlvdXIuCiAgICoqLwogIERlZmxhdGUkMS5wcm90b3R5cGUub25EYXRhID0gZnVuY3Rpb24gKGNodW5rKSB7CiAgICB0aGlzLmNodW5rcy5wdXNoKGNodW5rKTsKICB9OwoKCiAgLyoqCiAgICogRGVmbGF0ZSNvbkVuZChzdGF0dXMpIC0+IFZvaWQKICAgKiAtIHN0YXR1cyAoTnVtYmVyKTogZGVmbGF0ZSBzdGF0dXMuIDAgKFpfT0spIG9uIHN1Y2Nlc3MsCiAgICogICBvdGhlciBpZiBub3QuCiAgICoKICAgKiBDYWxsZWQgb25jZSBhZnRlciB5b3UgdGVsbCBkZWZsYXRlIHRoYXQgdGhlIGlucHV0IHN0cmVhbSBpcwogICAqIGNvbXBsZXRlIChaX0ZJTklTSCkuIEJ5IGRlZmF1bHQgLSBqb2luIGNvbGxlY3RlZCBjaHVua3MsCiAgICogZnJlZSBtZW1vcnkgYW5kIGZpbGwgYHJlc3VsdHNgIC8gYGVycmAgcHJvcGVydGllcy4KICAgKiovCiAgRGVmbGF0ZSQxLnByb3RvdHlwZS5vbkVuZCA9IGZ1bmN0aW9uIChzdGF0dXMpIHsKICAgIC8vIE9uIHN1Y2Nlc3MgLSBqb2luCiAgICBpZiAoc3RhdHVzID09PSBaX09LJDIpIHsKICAgICAgdGhpcy5yZXN1bHQgPSBjb21tb24uZmxhdHRlbkNodW5rcyh0aGlzLmNodW5rcyk7CiAgICB9CiAgICB0aGlzLmNodW5rcyA9IFtdOwogICAgdGhpcy5lcnIgPSBzdGF0dXM7CiAgICB0aGlzLm1zZyA9IHRoaXMuc3RybS5tc2c7CiAgfTsKCiAgLy8gKEMpIDE5OTUtMjAxMyBKZWFuLWxvdXAgR2FpbGx5IGFuZCBNYXJrIEFkbGVyCiAgLy8gKEMpIDIwMTQtMjAxNyBWaXRhbHkgUHV6cmluIGFuZCBBbmRyZXkgVHVwaXRzaW4KICAvLwogIC8vIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgJ2FzLWlzJywgd2l0aG91dCBhbnkgZXhwcmVzcyBvciBpbXBsaWVkCiAgLy8gd2FycmFudHkuIEluIG5vIGV2ZW50IHdpbGwgdGhlIGF1dGhvcnMgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBkYW1hZ2VzCiAgLy8gYXJpc2luZyBmcm9tIHRoZSB1c2Ugb2YgdGhpcyBzb2Z0d2FyZS4KICAvLwogIC8vIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBhbnlvbmUgdG8gdXNlIHRoaXMgc29mdHdhcmUgZm9yIGFueSBwdXJwb3NlLAogIC8vIGluY2x1ZGluZyBjb21tZXJjaWFsIGFwcGxpY2F0aW9ucywgYW5kIHRvIGFsdGVyIGl0IGFuZCByZWRpc3RyaWJ1dGUgaXQKICAvLyBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgLy8KICAvLyAxLiBUaGUgb3JpZ2luIG9mIHRoaXMgc29mdHdhcmUgbXVzdCBub3QgYmUgbWlzcmVwcmVzZW50ZWQ7IHlvdSBtdXN0IG5vdAogIC8vICAgY2xhaW0gdGhhdCB5b3Ugd3JvdGUgdGhlIG9yaWdpbmFsIHNvZnR3YXJlLiBJZiB5b3UgdXNlIHRoaXMgc29mdHdhcmUKICAvLyAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogIC8vICAgYXBwcmVjaWF0ZWQgYnV0IGlzIG5vdCByZXF1aXJlZC4KICAvLyAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogIC8vICAgbWlzcmVwcmVzZW50ZWQgYXMgYmVpbmcgdGhlIG9yaWdpbmFsIHNvZnR3YXJlLgogIC8vIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCgogIC8vIFNlZSBzdGF0ZSBkZWZzIGZyb20gaW5mbGF0ZS5qcwogIGNvbnN0IEJBRCQxID0gMzA7ICAgICAgIC8qIGdvdCBhIGRhdGEgZXJyb3IgLS0gcmVtYWluIGhlcmUgdW50aWwgcmVzZXQgKi8KICBjb25zdCBUWVBFJDEgPSAxMjsgICAgICAvKiBpOiB3YWl0aW5nIGZvciB0eXBlIGJpdHMsIGluY2x1ZGluZyBsYXN0LWZsYWcgYml0ICovCgogIC8qCiAgICAgRGVjb2RlIGxpdGVyYWwsIGxlbmd0aCwgYW5kIGRpc3RhbmNlIGNvZGVzIGFuZCB3cml0ZSBvdXQgdGhlIHJlc3VsdGluZwogICAgIGxpdGVyYWwgYW5kIG1hdGNoIGJ5dGVzIHVudGlsIGVpdGhlciBub3QgZW5vdWdoIGlucHV0IG9yIG91dHB1dCBpcwogICAgIGF2YWlsYWJsZSwgYW4gZW5kLW9mLWJsb2NrIGlzIGVuY291bnRlcmVkLCBvciBhIGRhdGEgZXJyb3IgaXMgZW5jb3VudGVyZWQuCiAgICAgV2hlbiBsYXJnZSBlbm91Z2ggaW5wdXQgYW5kIG91dHB1dCBidWZmZXJzIGFyZSBzdXBwbGllZCB0byBpbmZsYXRlKCksIGZvcgogICAgIGV4YW1wbGUsIGEgMTZLIGlucHV0IGJ1ZmZlciBhbmQgYSA2NEsgb3V0cHV0IGJ1ZmZlciwgbW9yZSB0aGFuIDk1JSBvZiB0aGUKICAgICBpbmZsYXRlIGV4ZWN1dGlvbiB0aW1lIGlzIHNwZW50IGluIHRoaXMgcm91dGluZS4KCiAgICAgRW50cnkgYXNzdW1wdGlvbnM6CgogICAgICAgICAgc3RhdGUubW9kZSA9PT0gTEVOCiAgICAgICAgICBzdHJtLmF2YWlsX2luID49IDYKICAgICAgICAgIHN0cm0uYXZhaWxfb3V0ID49IDI1OAogICAgICAgICAgc3RhcnQgPj0gc3RybS5hdmFpbF9vdXQKICAgICAgICAgIHN0YXRlLmJpdHMgPCA4CgogICAgIE9uIHJldHVybiwgc3RhdGUubW9kZSBpcyBvbmUgb2Y6CgogICAgICAgICAgTEVOIC0tIHJhbiBvdXQgb2YgZW5vdWdoIG91dHB1dCBzcGFjZSBvciBlbm91Z2ggYXZhaWxhYmxlIGlucHV0CiAgICAgICAgICBUWVBFIC0tIHJlYWNoZWQgZW5kIG9mIGJsb2NrIGNvZGUsIGluZmxhdGUoKSB0byBpbnRlcnByZXQgbmV4dCBibG9jawogICAgICAgICAgQkFEIC0tIGVycm9yIGluIGJsb2NrIGRhdGEKCiAgICAgTm90ZXM6CgogICAgICAtIFRoZSBtYXhpbXVtIGlucHV0IGJpdHMgdXNlZCBieSBhIGxlbmd0aC9kaXN0YW5jZSBwYWlyIGlzIDE1IGJpdHMgZm9yIHRoZQogICAgICAgIGxlbmd0aCBjb2RlLCA1IGJpdHMgZm9yIHRoZSBsZW5ndGggZXh0cmEsIDE1IGJpdHMgZm9yIHRoZSBkaXN0YW5jZSBjb2RlLAogICAgICAgIGFuZCAxMyBiaXRzIGZvciB0aGUgZGlzdGFuY2UgZXh0cmEuICBUaGlzIHRvdGFscyA0OCBiaXRzLCBvciBzaXggYnl0ZXMuCiAgICAgICAgVGhlcmVmb3JlIGlmIHN0cm0uYXZhaWxfaW4gPj0gNiwgdGhlbiB0aGVyZSBpcyBlbm91Z2ggaW5wdXQgdG8gYXZvaWQKICAgICAgICBjaGVja2luZyBmb3IgYXZhaWxhYmxlIGlucHV0IHdoaWxlIGRlY29kaW5nLgoKICAgICAgLSBUaGUgbWF4aW11bSBieXRlcyB0aGF0IGEgc2luZ2xlIGxlbmd0aC9kaXN0YW5jZSBwYWlyIGNhbiBvdXRwdXQgaXMgMjU4CiAgICAgICAgYnl0ZXMsIHdoaWNoIGlzIHRoZSBtYXhpbXVtIGxlbmd0aCB0aGF0IGNhbiBiZSBjb2RlZC4gIGluZmxhdGVfZmFzdCgpCiAgICAgICAgcmVxdWlyZXMgc3RybS5hdmFpbF9vdXQgPj0gMjU4IGZvciBlYWNoIGxvb3AgdG8gYXZvaWQgY2hlY2tpbmcgZm9yCiAgICAgICAgb3V0cHV0IHNwYWNlLgogICAqLwogIHZhciBpbmZmYXN0ID0gZnVuY3Rpb24gaW5mbGF0ZV9mYXN0KHN0cm0sIHN0YXJ0KSB7CiAgICBsZXQgX2luOyAgICAgICAgICAgICAgICAgICAgLyogbG9jYWwgc3RybS5pbnB1dCAqLwogICAgbGV0IGxhc3Q7ICAgICAgICAgICAgICAgICAgIC8qIGhhdmUgZW5vdWdoIGlucHV0IHdoaWxlIGluIDwgbGFzdCAqLwogICAgbGV0IF9vdXQ7ICAgICAgICAgICAgICAgICAgIC8qIGxvY2FsIHN0cm0ub3V0cHV0ICovCiAgICBsZXQgYmVnOyAgICAgICAgICAgICAgICAgICAgLyogaW5mbGF0ZSgpJ3MgaW5pdGlhbCBzdHJtLm91dHB1dCAqLwogICAgbGV0IGVuZDsgICAgICAgICAgICAgICAgICAgIC8qIHdoaWxlIG91dCA8IGVuZCwgZW5vdWdoIHNwYWNlIGF2YWlsYWJsZSAqLwogIC8vI2lmZGVmIElORkxBVEVfU1RSSUNUCiAgICBsZXQgZG1heDsgICAgICAgICAgICAgICAgICAgLyogbWF4aW11bSBkaXN0YW5jZSBmcm9tIHpsaWIgaGVhZGVyICovCiAgLy8jZW5kaWYKICAgIGxldCB3c2l6ZTsgICAgICAgICAgICAgICAgICAvKiB3aW5kb3cgc2l6ZSBvciB6ZXJvIGlmIG5vdCB1c2luZyB3aW5kb3cgKi8KICAgIGxldCB3aGF2ZTsgICAgICAgICAgICAgICAgICAvKiB2YWxpZCBieXRlcyBpbiB0aGUgd2luZG93ICovCiAgICBsZXQgd25leHQ7ICAgICAgICAgICAgICAgICAgLyogd2luZG93IHdyaXRlIGluZGV4ICovCiAgICAvLyBVc2UgYHNfd2luZG93YCBpbnN0ZWFkIGB3aW5kb3dgLCBhdm9pZCBjb25mbGljdCB3aXRoIGluc3RydW1lbnRhdGlvbiB0b29scwogICAgbGV0IHNfd2luZG93OyAgICAgICAgICAgICAgIC8qIGFsbG9jYXRlZCBzbGlkaW5nIHdpbmRvdywgaWYgd3NpemUgIT0gMCAqLwogICAgbGV0IGhvbGQ7ICAgICAgICAgICAgICAgICAgIC8qIGxvY2FsIHN0cm0uaG9sZCAqLwogICAgbGV0IGJpdHM7ICAgICAgICAgICAgICAgICAgIC8qIGxvY2FsIHN0cm0uYml0cyAqLwogICAgbGV0IGxjb2RlOyAgICAgICAgICAgICAgICAgIC8qIGxvY2FsIHN0cm0ubGVuY29kZSAqLwogICAgbGV0IGRjb2RlOyAgICAgICAgICAgICAgICAgIC8qIGxvY2FsIHN0cm0uZGlzdGNvZGUgKi8KICAgIGxldCBsbWFzazsgICAgICAgICAgICAgICAgICAvKiBtYXNrIGZvciBmaXJzdCBsZXZlbCBvZiBsZW5ndGggY29kZXMgKi8KICAgIGxldCBkbWFzazsgICAgICAgICAgICAgICAgICAvKiBtYXNrIGZvciBmaXJzdCBsZXZlbCBvZiBkaXN0YW5jZSBjb2RlcyAqLwogICAgbGV0IGhlcmU7ICAgICAgICAgICAgICAgICAgIC8qIHJldHJpZXZlZCB0YWJsZSBlbnRyeSAqLwogICAgbGV0IG9wOyAgICAgICAgICAgICAgICAgICAgIC8qIGNvZGUgYml0cywgb3BlcmF0aW9uLCBleHRyYSBiaXRzLCBvciAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICB3aW5kb3cgcG9zaXRpb24sIHdpbmRvdyBieXRlcyB0byBjb3B5ICovCiAgICBsZXQgbGVuOyAgICAgICAgICAgICAgICAgICAgLyogbWF0Y2ggbGVuZ3RoLCB1bnVzZWQgYnl0ZXMgKi8KICAgIGxldCBkaXN0OyAgICAgICAgICAgICAgICAgICAvKiBtYXRjaCBkaXN0YW5jZSAqLwogICAgbGV0IGZyb207ICAgICAgICAgICAgICAgICAgIC8qIHdoZXJlIHRvIGNvcHkgbWF0Y2ggZnJvbSAqLwogICAgbGV0IGZyb21fc291cmNlOwoKCiAgICBsZXQgaW5wdXQsIG91dHB1dDsgLy8gSlMgc3BlY2lmaWMsIGJlY2F1c2Ugd2UgaGF2ZSBubyBwb2ludGVycwoKICAgIC8qIGNvcHkgc3RhdGUgdG8gbG9jYWwgdmFyaWFibGVzICovCiAgICBjb25zdCBzdGF0ZSA9IHN0cm0uc3RhdGU7CiAgICAvL2hlcmUgPSBzdGF0ZS5oZXJlOwogICAgX2luID0gc3RybS5uZXh0X2luOwogICAgaW5wdXQgPSBzdHJtLmlucHV0OwogICAgbGFzdCA9IF9pbiArIChzdHJtLmF2YWlsX2luIC0gNSk7CiAgICBfb3V0ID0gc3RybS5uZXh0X291dDsKICAgIG91dHB1dCA9IHN0cm0ub3V0cHV0OwogICAgYmVnID0gX291dCAtIChzdGFydCAtIHN0cm0uYXZhaWxfb3V0KTsKICAgIGVuZCA9IF9vdXQgKyAoc3RybS5hdmFpbF9vdXQgLSAyNTcpOwogIC8vI2lmZGVmIElORkxBVEVfU1RSSUNUCiAgICBkbWF4ID0gc3RhdGUuZG1heDsKICAvLyNlbmRpZgogICAgd3NpemUgPSBzdGF0ZS53c2l6ZTsKICAgIHdoYXZlID0gc3RhdGUud2hhdmU7CiAgICB3bmV4dCA9IHN0YXRlLnduZXh0OwogICAgc193aW5kb3cgPSBzdGF0ZS53aW5kb3c7CiAgICBob2xkID0gc3RhdGUuaG9sZDsKICAgIGJpdHMgPSBzdGF0ZS5iaXRzOwogICAgbGNvZGUgPSBzdGF0ZS5sZW5jb2RlOwogICAgZGNvZGUgPSBzdGF0ZS5kaXN0Y29kZTsKICAgIGxtYXNrID0gKDEgPDwgc3RhdGUubGVuYml0cykgLSAxOwogICAgZG1hc2sgPSAoMSA8PCBzdGF0ZS5kaXN0Yml0cykgLSAxOwoKCiAgICAvKiBkZWNvZGUgbGl0ZXJhbHMgYW5kIGxlbmd0aC9kaXN0YW5jZXMgdW50aWwgZW5kLW9mLWJsb2NrIG9yIG5vdCBlbm91Z2gKICAgICAgIGlucHV0IGRhdGEgb3Igb3V0cHV0IHNwYWNlICovCgogICAgdG9wOgogICAgZG8gewogICAgICBpZiAoYml0cyA8IDE1KSB7CiAgICAgICAgaG9sZCArPSBpbnB1dFtfaW4rK10gPDwgYml0czsKICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgaG9sZCArPSBpbnB1dFtfaW4rK10gPDwgYml0czsKICAgICAgICBiaXRzICs9IDg7CiAgICAgIH0KCiAgICAgIGhlcmUgPSBsY29kZVtob2xkICYgbG1hc2tdOwoKICAgICAgZG9sZW46CiAgICAgIGZvciAoOzspIHsgLy8gR290byBlbXVsYXRpb24KICAgICAgICBvcCA9IGhlcmUgPj4+IDI0LypoZXJlLmJpdHMqLzsKICAgICAgICBob2xkID4+Pj0gb3A7CiAgICAgICAgYml0cyAtPSBvcDsKICAgICAgICBvcCA9IChoZXJlID4+PiAxNikgJiAweGZmLypoZXJlLm9wKi87CiAgICAgICAgaWYgKG9wID09PSAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBsaXRlcmFsICovCiAgICAgICAgICAvL1RyYWNldnYoKHN0ZGVyciwgaGVyZS52YWwgPj0gMHgyMCAmJiBoZXJlLnZhbCA8IDB4N2YgPwogICAgICAgICAgLy8gICAgICAgICJpbmZsYXRlOiAgICAgICAgIGxpdGVyYWwgJyVjJ1xuIiA6CiAgICAgICAgICAvLyAgICAgICAgImluZmxhdGU6ICAgICAgICAgbGl0ZXJhbCAweCUwMnhcbiIsIGhlcmUudmFsKSk7CiAgICAgICAgICBvdXRwdXRbX291dCsrXSA9IGhlcmUgJiAweGZmZmYvKmhlcmUudmFsKi87CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYgKG9wICYgMTYpIHsgICAgICAgICAgICAgICAgICAgICAvKiBsZW5ndGggYmFzZSAqLwogICAgICAgICAgbGVuID0gaGVyZSAmIDB4ZmZmZi8qaGVyZS52YWwqLzsKICAgICAgICAgIG9wICY9IDE1OyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG51bWJlciBvZiBleHRyYSBiaXRzICovCiAgICAgICAgICBpZiAob3ApIHsKICAgICAgICAgICAgaWYgKGJpdHMgPCBvcCkgewogICAgICAgICAgICAgIGhvbGQgKz0gaW5wdXRbX2luKytdIDw8IGJpdHM7CiAgICAgICAgICAgICAgYml0cyArPSA4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxlbiArPSBob2xkICYgKCgxIDw8IG9wKSAtIDEpOwogICAgICAgICAgICBob2xkID4+Pj0gb3A7CiAgICAgICAgICAgIGJpdHMgLT0gb3A7CiAgICAgICAgICB9CiAgICAgICAgICAvL1RyYWNldnYoKHN0ZGVyciwgImluZmxhdGU6ICAgICAgICAgbGVuZ3RoICV1XG4iLCBsZW4pKTsKICAgICAgICAgIGlmIChiaXRzIDwgMTUpIHsKICAgICAgICAgICAgaG9sZCArPSBpbnB1dFtfaW4rK10gPDwgYml0czsKICAgICAgICAgICAgYml0cyArPSA4OwogICAgICAgICAgICBob2xkICs9IGlucHV0W19pbisrXSA8PCBiaXRzOwogICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICB9CiAgICAgICAgICBoZXJlID0gZGNvZGVbaG9sZCAmIGRtYXNrXTsKCiAgICAgICAgICBkb2Rpc3Q6CiAgICAgICAgICBmb3IgKDs7KSB7IC8vIGdvdG8gZW11bGF0aW9uCiAgICAgICAgICAgIG9wID0gaGVyZSA+Pj4gMjQvKmhlcmUuYml0cyovOwogICAgICAgICAgICBob2xkID4+Pj0gb3A7CiAgICAgICAgICAgIGJpdHMgLT0gb3A7CiAgICAgICAgICAgIG9wID0gKGhlcmUgPj4+IDE2KSAmIDB4ZmYvKmhlcmUub3AqLzsKCiAgICAgICAgICAgIGlmIChvcCAmIDE2KSB7ICAgICAgICAgICAgICAgICAgICAgIC8qIGRpc3RhbmNlIGJhc2UgKi8KICAgICAgICAgICAgICBkaXN0ID0gaGVyZSAmIDB4ZmZmZi8qaGVyZS52YWwqLzsKICAgICAgICAgICAgICBvcCAmPSAxNTsgICAgICAgICAgICAgICAgICAgICAgIC8qIG51bWJlciBvZiBleHRyYSBiaXRzICovCiAgICAgICAgICAgICAgaWYgKGJpdHMgPCBvcCkgewogICAgICAgICAgICAgICAgaG9sZCArPSBpbnB1dFtfaW4rK10gPDwgYml0czsKICAgICAgICAgICAgICAgIGJpdHMgKz0gODsKICAgICAgICAgICAgICAgIGlmIChiaXRzIDwgb3ApIHsKICAgICAgICAgICAgICAgICAgaG9sZCArPSBpbnB1dFtfaW4rK10gPDwgYml0czsKICAgICAgICAgICAgICAgICAgYml0cyArPSA4OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBkaXN0ICs9IGhvbGQgJiAoKDEgPDwgb3ApIC0gMSk7CiAgLy8jaWZkZWYgSU5GTEFURV9TVFJJQ1QKICAgICAgICAgICAgICBpZiAoZGlzdCA+IGRtYXgpIHsKICAgICAgICAgICAgICAgIHN0cm0ubXNnID0gJ2ludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrJzsKICAgICAgICAgICAgICAgIHN0YXRlLm1vZGUgPSBCQUQkMTsKICAgICAgICAgICAgICAgIGJyZWFrIHRvcDsKICAgICAgICAgICAgICB9CiAgLy8jZW5kaWYKICAgICAgICAgICAgICBob2xkID4+Pj0gb3A7CiAgICAgICAgICAgICAgYml0cyAtPSBvcDsKICAgICAgICAgICAgICAvL1RyYWNldnYoKHN0ZGVyciwgImluZmxhdGU6ICAgICAgICAgZGlzdGFuY2UgJXVcbiIsIGRpc3QpKTsKICAgICAgICAgICAgICBvcCA9IF9vdXQgLSBiZWc7ICAgICAgICAgICAgICAgIC8qIG1heCBkaXN0YW5jZSBpbiBvdXRwdXQgKi8KICAgICAgICAgICAgICBpZiAoZGlzdCA+IG9wKSB7ICAgICAgICAgICAgICAgIC8qIHNlZSBpZiBjb3B5IGZyb20gd2luZG93ICovCiAgICAgICAgICAgICAgICBvcCA9IGRpc3QgLSBvcDsgICAgICAgICAgICAgICAvKiBkaXN0YW5jZSBiYWNrIGluIHdpbmRvdyAqLwogICAgICAgICAgICAgICAgaWYgKG9wID4gd2hhdmUpIHsKICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlLnNhbmUpIHsKICAgICAgICAgICAgICAgICAgICBzdHJtLm1zZyA9ICdpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjayc7CiAgICAgICAgICAgICAgICAgICAgc3RhdGUubW9kZSA9IEJBRCQxOwogICAgICAgICAgICAgICAgICAgIGJyZWFrIHRvcDsKICAgICAgICAgICAgICAgICAgfQoKICAvLyAoISkgVGhpcyBibG9jayBpcyBkaXNhYmxlZCBpbiB6bGliIGRlZmF1bHRzLAogIC8vIGRvbid0IGVuYWJsZSBpdCBmb3IgYmluYXJ5IGNvbXBhdGliaWxpdHkKICAvLyNpZmRlZiBJTkZMQVRFX0FMTE9XX0lOVkFMSURfRElTVEFOQ0VfVE9PRkFSX0FSUlIKICAvLyAgICAgICAgICAgICAgICBpZiAobGVuIDw9IG9wIC0gd2hhdmUpIHsKICAvLyAgICAgICAgICAgICAgICAgIGRvIHsKICAvLyAgICAgICAgICAgICAgICAgICAgb3V0cHV0W19vdXQrK10gPSAwOwogIC8vICAgICAgICAgICAgICAgICAgfSB3aGlsZSAoLS1sZW4pOwogIC8vICAgICAgICAgICAgICAgICAgY29udGludWUgdG9wOwogIC8vICAgICAgICAgICAgICAgIH0KICAvLyAgICAgICAgICAgICAgICBsZW4gLT0gb3AgLSB3aGF2ZTsKICAvLyAgICAgICAgICAgICAgICBkbyB7CiAgLy8gICAgICAgICAgICAgICAgICBvdXRwdXRbX291dCsrXSA9IDA7CiAgLy8gICAgICAgICAgICAgICAgfSB3aGlsZSAoLS1vcCA+IHdoYXZlKTsKICAvLyAgICAgICAgICAgICAgICBpZiAob3AgPT09IDApIHsKICAvLyAgICAgICAgICAgICAgICAgIGZyb20gPSBfb3V0IC0gZGlzdDsKICAvLyAgICAgICAgICAgICAgICAgIGRvIHsKICAvLyAgICAgICAgICAgICAgICAgICAgb3V0cHV0W19vdXQrK10gPSBvdXRwdXRbZnJvbSsrXTsKICAvLyAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKC0tbGVuKTsKICAvLyAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIHRvcDsKICAvLyAgICAgICAgICAgICAgICB9CiAgLy8jZW5kaWYKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZyb20gPSAwOyAvLyB3aW5kb3cgaW5kZXgKICAgICAgICAgICAgICAgIGZyb21fc291cmNlID0gc193aW5kb3c7CiAgICAgICAgICAgICAgICBpZiAod25leHQgPT09IDApIHsgICAgICAgICAgIC8qIHZlcnkgY29tbW9uIGNhc2UgKi8KICAgICAgICAgICAgICAgICAgZnJvbSArPSB3c2l6ZSAtIG9wOwogICAgICAgICAgICAgICAgICBpZiAob3AgPCBsZW4pIHsgICAgICAgICAvKiBzb21lIGZyb20gd2luZG93ICovCiAgICAgICAgICAgICAgICAgICAgbGVuIC09IG9wOwogICAgICAgICAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICAgICAgICAgIG91dHB1dFtfb3V0KytdID0gc193aW5kb3dbZnJvbSsrXTsKICAgICAgICAgICAgICAgICAgICB9IHdoaWxlICgtLW9wKTsKICAgICAgICAgICAgICAgICAgICBmcm9tID0gX291dCAtIGRpc3Q7ICAvKiByZXN0IGZyb20gb3V0cHV0ICovCiAgICAgICAgICAgICAgICAgICAgZnJvbV9zb3VyY2UgPSBvdXRwdXQ7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKHduZXh0IDwgb3ApIHsgICAgICAvKiB3cmFwIGFyb3VuZCB3aW5kb3cgKi8KICAgICAgICAgICAgICAgICAgZnJvbSArPSB3c2l6ZSArIHduZXh0IC0gb3A7CiAgICAgICAgICAgICAgICAgIG9wIC09IHduZXh0OwogICAgICAgICAgICAgICAgICBpZiAob3AgPCBsZW4pIHsgICAgICAgICAvKiBzb21lIGZyb20gZW5kIG9mIHdpbmRvdyAqLwogICAgICAgICAgICAgICAgICAgIGxlbiAtPSBvcDsKICAgICAgICAgICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRbX291dCsrXSA9IHNfd2luZG93W2Zyb20rK107CiAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSAoLS1vcCk7CiAgICAgICAgICAgICAgICAgICAgZnJvbSA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYgKHduZXh0IDwgbGVuKSB7ICAvKiBzb21lIGZyb20gc3RhcnQgb2Ygd2luZG93ICovCiAgICAgICAgICAgICAgICAgICAgICBvcCA9IHduZXh0OwogICAgICAgICAgICAgICAgICAgICAgbGVuIC09IG9wOwogICAgICAgICAgICAgICAgICAgICAgZG8gewogICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRbX291dCsrXSA9IHNfd2luZG93W2Zyb20rK107CiAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlICgtLW9wKTsKICAgICAgICAgICAgICAgICAgICAgIGZyb20gPSBfb3V0IC0gZGlzdDsgICAgICAvKiByZXN0IGZyb20gb3V0cHV0ICovCiAgICAgICAgICAgICAgICAgICAgICBmcm9tX3NvdXJjZSA9IG91dHB1dDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAvKiBjb250aWd1b3VzIGluIHdpbmRvdyAqLwogICAgICAgICAgICAgICAgICBmcm9tICs9IHduZXh0IC0gb3A7CiAgICAgICAgICAgICAgICAgIGlmIChvcCA8IGxlbikgeyAgICAgICAgIC8qIHNvbWUgZnJvbSB3aW5kb3cgKi8KICAgICAgICAgICAgICAgICAgICBsZW4gLT0gb3A7CiAgICAgICAgICAgICAgICAgICAgZG8gewogICAgICAgICAgICAgICAgICAgICAgb3V0cHV0W19vdXQrK10gPSBzX3dpbmRvd1tmcm9tKytdOwogICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKC0tb3ApOwogICAgICAgICAgICAgICAgICAgIGZyb20gPSBfb3V0IC0gZGlzdDsgIC8qIHJlc3QgZnJvbSBvdXRwdXQgKi8KICAgICAgICAgICAgICAgICAgICBmcm9tX3NvdXJjZSA9IG91dHB1dDsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgd2hpbGUgKGxlbiA+IDIpIHsKICAgICAgICAgICAgICAgICAgb3V0cHV0W19vdXQrK10gPSBmcm9tX3NvdXJjZVtmcm9tKytdOwogICAgICAgICAgICAgICAgICBvdXRwdXRbX291dCsrXSA9IGZyb21fc291cmNlW2Zyb20rK107CiAgICAgICAgICAgICAgICAgIG91dHB1dFtfb3V0KytdID0gZnJvbV9zb3VyY2VbZnJvbSsrXTsKICAgICAgICAgICAgICAgICAgbGVuIC09IDM7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAobGVuKSB7CiAgICAgICAgICAgICAgICAgIG91dHB1dFtfb3V0KytdID0gZnJvbV9zb3VyY2VbZnJvbSsrXTsKICAgICAgICAgICAgICAgICAgaWYgKGxlbiA+IDEpIHsKICAgICAgICAgICAgICAgICAgICBvdXRwdXRbX291dCsrXSA9IGZyb21fc291cmNlW2Zyb20rK107CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBmcm9tID0gX291dCAtIGRpc3Q7ICAgICAgICAgIC8qIGNvcHkgZGlyZWN0IGZyb20gb3V0cHV0ICovCiAgICAgICAgICAgICAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgLyogbWluaW11bSBsZW5ndGggaXMgdGhyZWUgKi8KICAgICAgICAgICAgICAgICAgb3V0cHV0W19vdXQrK10gPSBvdXRwdXRbZnJvbSsrXTsKICAgICAgICAgICAgICAgICAgb3V0cHV0W19vdXQrK10gPSBvdXRwdXRbZnJvbSsrXTsKICAgICAgICAgICAgICAgICAgb3V0cHV0W19vdXQrK10gPSBvdXRwdXRbZnJvbSsrXTsKICAgICAgICAgICAgICAgICAgbGVuIC09IDM7CiAgICAgICAgICAgICAgICB9IHdoaWxlIChsZW4gPiAyKTsKICAgICAgICAgICAgICAgIGlmIChsZW4pIHsKICAgICAgICAgICAgICAgICAgb3V0cHV0W19vdXQrK10gPSBvdXRwdXRbZnJvbSsrXTsKICAgICAgICAgICAgICAgICAgaWYgKGxlbiA+IDEpIHsKICAgICAgICAgICAgICAgICAgICBvdXRwdXRbX291dCsrXSA9IG91dHB1dFtmcm9tKytdOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYgKChvcCAmIDY0KSA9PT0gMCkgeyAgICAgICAgICAvKiAybmQgbGV2ZWwgZGlzdGFuY2UgY29kZSAqLwogICAgICAgICAgICAgIGhlcmUgPSBkY29kZVsoaGVyZSAmIDB4ZmZmZikvKmhlcmUudmFsKi8gKyAoaG9sZCAmICgoMSA8PCBvcCkgLSAxKSldOwogICAgICAgICAgICAgIGNvbnRpbnVlIGRvZGlzdDsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICBzdHJtLm1zZyA9ICdpbnZhbGlkIGRpc3RhbmNlIGNvZGUnOwogICAgICAgICAgICAgIHN0YXRlLm1vZGUgPSBCQUQkMTsKICAgICAgICAgICAgICBicmVhayB0b3A7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGJyZWFrOyAvLyBuZWVkIHRvIGVtdWxhdGUgZ290byB2aWEgImNvbnRpbnVlIgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIGlmICgob3AgJiA2NCkgPT09IDApIHsgICAgICAgICAgICAgIC8qIDJuZCBsZXZlbCBsZW5ndGggY29kZSAqLwogICAgICAgICAgaGVyZSA9IGxjb2RlWyhoZXJlICYgMHhmZmZmKS8qaGVyZS52YWwqLyArIChob2xkICYgKCgxIDw8IG9wKSAtIDEpKV07CiAgICAgICAgICBjb250aW51ZSBkb2xlbjsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAob3AgJiAzMikgeyAgICAgICAgICAgICAgICAgICAgIC8qIGVuZC1vZi1ibG9jayAqLwogICAgICAgICAgLy9UcmFjZXZ2KChzdGRlcnIsICJpbmZsYXRlOiAgICAgICAgIGVuZCBvZiBibG9ja1xuIikpOwogICAgICAgICAgc3RhdGUubW9kZSA9IFRZUEUkMTsKICAgICAgICAgIGJyZWFrIHRvcDsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICBzdHJtLm1zZyA9ICdpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUnOwogICAgICAgICAgc3RhdGUubW9kZSA9IEJBRCQxOwogICAgICAgICAgYnJlYWsgdG9wOwogICAgICAgIH0KCiAgICAgICAgYnJlYWs7IC8vIG5lZWQgdG8gZW11bGF0ZSBnb3RvIHZpYSAiY29udGludWUiCiAgICAgIH0KICAgIH0gd2hpbGUgKF9pbiA8IGxhc3QgJiYgX291dCA8IGVuZCk7CgogICAgLyogcmV0dXJuIHVudXNlZCBieXRlcyAob24gZW50cnksIGJpdHMgPCA4LCBzbyBpbiB3b24ndCBnbyB0b28gZmFyIGJhY2spICovCiAgICBsZW4gPSBiaXRzID4+IDM7CiAgICBfaW4gLT0gbGVuOwogICAgYml0cyAtPSBsZW4gPDwgMzsKICAgIGhvbGQgJj0gKDEgPDwgYml0cykgLSAxOwoKICAgIC8qIHVwZGF0ZSBzdGF0ZSBhbmQgcmV0dXJuICovCiAgICBzdHJtLm5leHRfaW4gPSBfaW47CiAgICBzdHJtLm5leHRfb3V0ID0gX291dDsKICAgIHN0cm0uYXZhaWxfaW4gPSAoX2luIDwgbGFzdCA/IDUgKyAobGFzdCAtIF9pbikgOiA1IC0gKF9pbiAtIGxhc3QpKTsKICAgIHN0cm0uYXZhaWxfb3V0ID0gKF9vdXQgPCBlbmQgPyAyNTcgKyAoZW5kIC0gX291dCkgOiAyNTcgLSAoX291dCAtIGVuZCkpOwogICAgc3RhdGUuaG9sZCA9IGhvbGQ7CiAgICBzdGF0ZS5iaXRzID0gYml0czsKICAgIHJldHVybjsKICB9OwoKICAvLyAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAvLyAoQykgMjAxNC0yMDE3IFZpdGFseSBQdXpyaW4gYW5kIEFuZHJleSBUdXBpdHNpbgogIC8vCiAgLy8gVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAvLyB3YXJyYW50eS4gSW4gbm8gZXZlbnQgd2lsbCB0aGUgYXV0aG9ycyBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGRhbWFnZXMKICAvLyBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogIC8vCiAgLy8gUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGFueW9uZSB0byB1c2UgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2UsCiAgLy8gaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogIC8vIGZyZWVseSwgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIHJlc3RyaWN0aW9uczoKICAvLwogIC8vIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgLy8gICBjbGFpbSB0aGF0IHlvdSB3cm90ZSB0aGUgb3JpZ2luYWwgc29mdHdhcmUuIElmIHlvdSB1c2UgdGhpcyBzb2Z0d2FyZQogIC8vICAgaW4gYSBwcm9kdWN0LCBhbiBhY2tub3dsZWRnbWVudCBpbiB0aGUgcHJvZHVjdCBkb2N1bWVudGF0aW9uIHdvdWxkIGJlCiAgLy8gICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogIC8vIDIuIEFsdGVyZWQgc291cmNlIHZlcnNpb25zIG11c3QgYmUgcGxhaW5seSBtYXJrZWQgYXMgc3VjaCwgYW5kIG11c3Qgbm90IGJlCiAgLy8gICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgLy8gMy4gVGhpcyBub3RpY2UgbWF5IG5vdCBiZSByZW1vdmVkIG9yIGFsdGVyZWQgZnJvbSBhbnkgc291cmNlIGRpc3RyaWJ1dGlvbi4KCiAgY29uc3QgTUFYQklUUyA9IDE1OwogIGNvbnN0IEVOT1VHSF9MRU5TJDEgPSA4NTI7CiAgY29uc3QgRU5PVUdIX0RJU1RTJDEgPSA1OTI7CiAgLy9jb25zdCBFTk9VR0ggPSAoRU5PVUdIX0xFTlMrRU5PVUdIX0RJU1RTKTsKCiAgY29uc3QgQ09ERVMkMSA9IDA7CiAgY29uc3QgTEVOUyQxID0gMTsKICBjb25zdCBESVNUUyQxID0gMjsKCiAgY29uc3QgbGJhc2UgPSBuZXcgVWludDE2QXJyYXkoWyAvKiBMZW5ndGggY29kZXMgMjU3Li4yODUgYmFzZSAqLwogICAgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMywgMTUsIDE3LCAxOSwgMjMsIDI3LCAzMSwKICAgIDM1LCA0MywgNTEsIDU5LCA2NywgODMsIDk5LCAxMTUsIDEzMSwgMTYzLCAxOTUsIDIyNywgMjU4LCAwLCAwCiAgXSk7CgogIGNvbnN0IGxleHQgPSBuZXcgVWludDhBcnJheShbIC8qIExlbmd0aCBjb2RlcyAyNTcuLjI4NSBleHRyYSAqLwogICAgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNywgMTcsIDE3LCAxNywgMTgsIDE4LCAxOCwgMTgsCiAgICAxOSwgMTksIDE5LCAxOSwgMjAsIDIwLCAyMCwgMjAsIDIxLCAyMSwgMjEsIDIxLCAxNiwgNzIsIDc4CiAgXSk7CgogIGNvbnN0IGRiYXNlID0gbmV3IFVpbnQxNkFycmF5KFsgLyogRGlzdGFuY2UgY29kZXMgMC4uMjkgYmFzZSAqLwogICAgMSwgMiwgMywgNCwgNSwgNywgOSwgMTMsIDE3LCAyNSwgMzMsIDQ5LCA2NSwgOTcsIDEyOSwgMTkzLAogICAgMjU3LCAzODUsIDUxMywgNzY5LCAxMDI1LCAxNTM3LCAyMDQ5LCAzMDczLCA0MDk3LCA2MTQ1LAogICAgODE5MywgMTIyODksIDE2Mzg1LCAyNDU3NywgMCwgMAogIF0pOwoKICBjb25zdCBkZXh0ID0gbmV3IFVpbnQ4QXJyYXkoWyAvKiBEaXN0YW5jZSBjb2RlcyAwLi4yOSBleHRyYSAqLwogICAgMTYsIDE2LCAxNiwgMTYsIDE3LCAxNywgMTgsIDE4LCAxOSwgMTksIDIwLCAyMCwgMjEsIDIxLCAyMiwgMjIsCiAgICAyMywgMjMsIDI0LCAyNCwgMjUsIDI1LCAyNiwgMjYsIDI3LCAyNywKICAgIDI4LCAyOCwgMjksIDI5LCA2NCwgNjQKICBdKTsKCiAgY29uc3QgaW5mbGF0ZV90YWJsZSA9ICh0eXBlLCBsZW5zLCBsZW5zX2luZGV4LCBjb2RlcywgdGFibGUsIHRhYmxlX2luZGV4LCB3b3JrLCBvcHRzKSA9PgogIHsKICAgIGNvbnN0IGJpdHMgPSBvcHRzLmJpdHM7CiAgICAgICAgLy9oZXJlID0gb3B0cy5oZXJlOyAvKiB0YWJsZSBlbnRyeSBmb3IgZHVwbGljYXRpb24gKi8KCiAgICBsZXQgbGVuID0gMDsgICAgICAgICAgICAgICAvKiBhIGNvZGUncyBsZW5ndGggaW4gYml0cyAqLwogICAgbGV0IHN5bSA9IDA7ICAgICAgICAgICAgICAgLyogaW5kZXggb2YgY29kZSBzeW1ib2xzICovCiAgICBsZXQgbWluID0gMCwgbWF4ID0gMDsgICAgICAgICAgLyogbWluaW11bSBhbmQgbWF4aW11bSBjb2RlIGxlbmd0aHMgKi8KICAgIGxldCByb290ID0gMDsgICAgICAgICAgICAgIC8qIG51bWJlciBvZiBpbmRleCBiaXRzIGZvciByb290IHRhYmxlICovCiAgICBsZXQgY3VyciA9IDA7ICAgICAgICAgICAgICAvKiBudW1iZXIgb2YgaW5kZXggYml0cyBmb3IgY3VycmVudCB0YWJsZSAqLwogICAgbGV0IGRyb3AgPSAwOyAgICAgICAgICAgICAgLyogY29kZSBiaXRzIHRvIGRyb3AgZm9yIHN1Yi10YWJsZSAqLwogICAgbGV0IGxlZnQgPSAwOyAgICAgICAgICAgICAgICAgICAvKiBudW1iZXIgb2YgcHJlZml4IGNvZGVzIGF2YWlsYWJsZSAqLwogICAgbGV0IHVzZWQgPSAwOyAgICAgICAgICAgICAgLyogY29kZSBlbnRyaWVzIGluIHRhYmxlIHVzZWQgKi8KICAgIGxldCBodWZmID0gMDsgICAgICAgICAgICAgIC8qIEh1ZmZtYW4gY29kZSAqLwogICAgbGV0IGluY3I7ICAgICAgICAgICAgICAvKiBmb3IgaW5jcmVtZW50aW5nIGNvZGUsIGluZGV4ICovCiAgICBsZXQgZmlsbDsgICAgICAgICAgICAgIC8qIGluZGV4IGZvciByZXBsaWNhdGluZyBlbnRyaWVzICovCiAgICBsZXQgbG93OyAgICAgICAgICAgICAgIC8qIGxvdyBiaXRzIGZvciBjdXJyZW50IHJvb3QgZW50cnkgKi8KICAgIGxldCBtYXNrOyAgICAgICAgICAgICAgLyogbWFzayBmb3IgbG93IHJvb3QgYml0cyAqLwogICAgbGV0IG5leHQ7ICAgICAgICAgICAgIC8qIG5leHQgYXZhaWxhYmxlIHNwYWNlIGluIHRhYmxlICovCiAgICBsZXQgYmFzZSA9IG51bGw7ICAgICAvKiBiYXNlIHZhbHVlIHRhYmxlIHRvIHVzZSAqLwogICAgbGV0IGJhc2VfaW5kZXggPSAwOwogIC8vICBsZXQgc2hvZXh0cmE7ICAgIC8qIGV4dHJhIGJpdHMgdGFibGUgdG8gdXNlICovCiAgICBsZXQgZW5kOyAgICAgICAgICAgICAgICAgICAgLyogdXNlIGJhc2UgYW5kIGV4dHJhIGZvciBzeW1ib2wgPiBlbmQgKi8KICAgIGNvbnN0IGNvdW50ID0gbmV3IFVpbnQxNkFycmF5KE1BWEJJVFMgKyAxKTsgLy9bTUFYQklUUysxXTsgICAgLyogbnVtYmVyIG9mIGNvZGVzIG9mIGVhY2ggbGVuZ3RoICovCiAgICBjb25zdCBvZmZzID0gbmV3IFVpbnQxNkFycmF5KE1BWEJJVFMgKyAxKTsgLy9bTUFYQklUUysxXTsgICAgIC8qIG9mZnNldHMgaW4gdGFibGUgZm9yIGVhY2ggbGVuZ3RoICovCiAgICBsZXQgZXh0cmEgPSBudWxsOwogICAgbGV0IGV4dHJhX2luZGV4ID0gMDsKCiAgICBsZXQgaGVyZV9iaXRzLCBoZXJlX29wLCBoZXJlX3ZhbDsKCiAgICAvKgogICAgIFByb2Nlc3MgYSBzZXQgb2YgY29kZSBsZW5ndGhzIHRvIGNyZWF0ZSBhIGNhbm9uaWNhbCBIdWZmbWFuIGNvZGUuICBUaGUKICAgICBjb2RlIGxlbmd0aHMgYXJlIGxlbnNbMC4uY29kZXMtMV0uICBFYWNoIGxlbmd0aCBjb3JyZXNwb25kcyB0byB0aGUKICAgICBzeW1ib2xzIDAuLmNvZGVzLTEuICBUaGUgSHVmZm1hbiBjb2RlIGlzIGdlbmVyYXRlZCBieSBmaXJzdCBzb3J0aW5nIHRoZQogICAgIHN5bWJvbHMgYnkgbGVuZ3RoIGZyb20gc2hvcnQgdG8gbG9uZywgYW5kIHJldGFpbmluZyB0aGUgc3ltYm9sIG9yZGVyCiAgICAgZm9yIGNvZGVzIHdpdGggZXF1YWwgbGVuZ3Rocy4gIFRoZW4gdGhlIGNvZGUgc3RhcnRzIHdpdGggYWxsIHplcm8gYml0cwogICAgIGZvciB0aGUgZmlyc3QgY29kZSBvZiB0aGUgc2hvcnRlc3QgbGVuZ3RoLCBhbmQgdGhlIGNvZGVzIGFyZSBpbnRlZ2VyCiAgICAgaW5jcmVtZW50cyBmb3IgdGhlIHNhbWUgbGVuZ3RoLCBhbmQgemVyb3MgYXJlIGFwcGVuZGVkIGFzIHRoZSBsZW5ndGgKICAgICBpbmNyZWFzZXMuICBGb3IgdGhlIGRlZmxhdGUgZm9ybWF0LCB0aGVzZSBiaXRzIGFyZSBzdG9yZWQgYmFja3dhcmRzCiAgICAgZnJvbSB0aGVpciBtb3JlIG5hdHVyYWwgaW50ZWdlciBpbmNyZW1lbnQgb3JkZXJpbmcsIGFuZCBzbyB3aGVuIHRoZQogICAgIGRlY29kaW5nIHRhYmxlcyBhcmUgYnVpbHQgaW4gdGhlIGxhcmdlIGxvb3AgYmVsb3csIHRoZSBpbnRlZ2VyIGNvZGVzCiAgICAgYXJlIGluY3JlbWVudGVkIGJhY2t3YXJkcy4KCiAgICAgVGhpcyByb3V0aW5lIGFzc3VtZXMsIGJ1dCBkb2VzIG5vdCBjaGVjaywgdGhhdCBhbGwgb2YgdGhlIGVudHJpZXMgaW4KICAgICBsZW5zW10gYXJlIGluIHRoZSByYW5nZSAwLi5NQVhCSVRTLiAgVGhlIGNhbGxlciBtdXN0IGFzc3VyZSB0aGlzLgogICAgIDEuLk1BWEJJVFMgaXMgaW50ZXJwcmV0ZWQgYXMgdGhhdCBjb2RlIGxlbmd0aC4gIHplcm8gbWVhbnMgdGhhdCB0aGF0CiAgICAgc3ltYm9sIGRvZXMgbm90IG9jY3VyIGluIHRoaXMgY29kZS4KCiAgICAgVGhlIGNvZGVzIGFyZSBzb3J0ZWQgYnkgY29tcHV0aW5nIGEgY291bnQgb2YgY29kZXMgZm9yIGVhY2ggbGVuZ3RoLAogICAgIGNyZWF0aW5nIGZyb20gdGhhdCBhIHRhYmxlIG9mIHN0YXJ0aW5nIGluZGljZXMgZm9yIGVhY2ggbGVuZ3RoIGluIHRoZQogICAgIHNvcnRlZCB0YWJsZSwgYW5kIHRoZW4gZW50ZXJpbmcgdGhlIHN5bWJvbHMgaW4gb3JkZXIgaW4gdGhlIHNvcnRlZAogICAgIHRhYmxlLiAgVGhlIHNvcnRlZCB0YWJsZSBpcyB3b3JrW10sIHdpdGggdGhhdCBzcGFjZSBiZWluZyBwcm92aWRlZCBieQogICAgIHRoZSBjYWxsZXIuCgogICAgIFRoZSBsZW5ndGggY291bnRzIGFyZSB1c2VkIGZvciBvdGhlciBwdXJwb3NlcyBhcyB3ZWxsLCBpLmUuIGZpbmRpbmcKICAgICB0aGUgbWluaW11bSBhbmQgbWF4aW11bSBsZW5ndGggY29kZXMsIGRldGVybWluaW5nIGlmIHRoZXJlIGFyZSBhbnkKICAgICBjb2RlcyBhdCBhbGwsIGNoZWNraW5nIGZvciBhIHZhbGlkIHNldCBvZiBsZW5ndGhzLCBhbmQgbG9va2luZyBhaGVhZAogICAgIGF0IGxlbmd0aCBjb3VudHMgdG8gZGV0ZXJtaW5lIHN1Yi10YWJsZSBzaXplcyB3aGVuIGJ1aWxkaW5nIHRoZQogICAgIGRlY29kaW5nIHRhYmxlcy4KICAgICAqLwoKICAgIC8qIGFjY3VtdWxhdGUgbGVuZ3RocyBmb3IgY29kZXMgKGFzc3VtZXMgbGVuc1tdIGFsbCBpbiAwLi5NQVhCSVRTKSAqLwogICAgZm9yIChsZW4gPSAwOyBsZW4gPD0gTUFYQklUUzsgbGVuKyspIHsKICAgICAgY291bnRbbGVuXSA9IDA7CiAgICB9CiAgICBmb3IgKHN5bSA9IDA7IHN5bSA8IGNvZGVzOyBzeW0rKykgewogICAgICBjb3VudFtsZW5zW2xlbnNfaW5kZXggKyBzeW1dXSsrOwogICAgfQoKICAgIC8qIGJvdW5kIGNvZGUgbGVuZ3RocywgZm9yY2Ugcm9vdCB0byBiZSB3aXRoaW4gY29kZSBsZW5ndGhzICovCiAgICByb290ID0gYml0czsKICAgIGZvciAobWF4ID0gTUFYQklUUzsgbWF4ID49IDE7IG1heC0tKSB7CiAgICAgIGlmIChjb3VudFttYXhdICE9PSAwKSB7IGJyZWFrOyB9CiAgICB9CiAgICBpZiAocm9vdCA+IG1heCkgewogICAgICByb290ID0gbWF4OwogICAgfQogICAgaWYgKG1heCA9PT0gMCkgeyAgICAgICAgICAgICAgICAgICAgIC8qIG5vIHN5bWJvbHMgdG8gY29kZSBhdCBhbGwgKi8KICAgICAgLy90YWJsZS5vcFtvcHRzLnRhYmxlX2luZGV4XSA9IDY0OyAgLy9oZXJlLm9wID0gKHZhciBjaGFyKTY0OyAgICAvKiBpbnZhbGlkIGNvZGUgbWFya2VyICovCiAgICAgIC8vdGFibGUuYml0c1tvcHRzLnRhYmxlX2luZGV4XSA9IDE7ICAgLy9oZXJlLmJpdHMgPSAodmFyIGNoYXIpMTsKICAgICAgLy90YWJsZS52YWxbb3B0cy50YWJsZV9pbmRleCsrXSA9IDA7ICAgLy9oZXJlLnZhbCA9ICh2YXIgc2hvcnQpMDsKICAgICAgdGFibGVbdGFibGVfaW5kZXgrK10gPSAoMSA8PCAyNCkgfCAoNjQgPDwgMTYpIHwgMDsKCgogICAgICAvL3RhYmxlLm9wW29wdHMudGFibGVfaW5kZXhdID0gNjQ7CiAgICAgIC8vdGFibGUuYml0c1tvcHRzLnRhYmxlX2luZGV4XSA9IDE7CiAgICAgIC8vdGFibGUudmFsW29wdHMudGFibGVfaW5kZXgrK10gPSAwOwogICAgICB0YWJsZVt0YWJsZV9pbmRleCsrXSA9ICgxIDw8IDI0KSB8ICg2NCA8PCAxNikgfCAwOwoKICAgICAgb3B0cy5iaXRzID0gMTsKICAgICAgcmV0dXJuIDA7ICAgICAvKiBubyBzeW1ib2xzLCBidXQgd2FpdCBmb3IgZGVjb2RpbmcgdG8gcmVwb3J0IGVycm9yICovCiAgICB9CiAgICBmb3IgKG1pbiA9IDE7IG1pbiA8IG1heDsgbWluKyspIHsKICAgICAgaWYgKGNvdW50W21pbl0gIT09IDApIHsgYnJlYWs7IH0KICAgIH0KICAgIGlmIChyb290IDwgbWluKSB7CiAgICAgIHJvb3QgPSBtaW47CiAgICB9CgogICAgLyogY2hlY2sgZm9yIGFuIG92ZXItc3Vic2NyaWJlZCBvciBpbmNvbXBsZXRlIHNldCBvZiBsZW5ndGhzICovCiAgICBsZWZ0ID0gMTsKICAgIGZvciAobGVuID0gMTsgbGVuIDw9IE1BWEJJVFM7IGxlbisrKSB7CiAgICAgIGxlZnQgPDw9IDE7CiAgICAgIGxlZnQgLT0gY291bnRbbGVuXTsKICAgICAgaWYgKGxlZnQgPCAwKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgICB9ICAgICAgICAvKiBvdmVyLXN1YnNjcmliZWQgKi8KICAgIH0KICAgIGlmIChsZWZ0ID4gMCAmJiAodHlwZSA9PT0gQ09ERVMkMSB8fCBtYXggIT09IDEpKSB7CiAgICAgIHJldHVybiAtMTsgICAgICAgICAgICAgICAgICAgICAgLyogaW5jb21wbGV0ZSBzZXQgKi8KICAgIH0KCiAgICAvKiBnZW5lcmF0ZSBvZmZzZXRzIGludG8gc3ltYm9sIHRhYmxlIGZvciBlYWNoIGxlbmd0aCBmb3Igc29ydGluZyAqLwogICAgb2Zmc1sxXSA9IDA7CiAgICBmb3IgKGxlbiA9IDE7IGxlbiA8IE1BWEJJVFM7IGxlbisrKSB7CiAgICAgIG9mZnNbbGVuICsgMV0gPSBvZmZzW2xlbl0gKyBjb3VudFtsZW5dOwogICAgfQoKICAgIC8qIHNvcnQgc3ltYm9scyBieSBsZW5ndGgsIGJ5IHN5bWJvbCBvcmRlciB3aXRoaW4gZWFjaCBsZW5ndGggKi8KICAgIGZvciAoc3ltID0gMDsgc3ltIDwgY29kZXM7IHN5bSsrKSB7CiAgICAgIGlmIChsZW5zW2xlbnNfaW5kZXggKyBzeW1dICE9PSAwKSB7CiAgICAgICAgd29ya1tvZmZzW2xlbnNbbGVuc19pbmRleCArIHN5bV1dKytdID0gc3ltOwogICAgICB9CiAgICB9CgogICAgLyoKICAgICBDcmVhdGUgYW5kIGZpbGwgaW4gZGVjb2RpbmcgdGFibGVzLiAgSW4gdGhpcyBsb29wLCB0aGUgdGFibGUgYmVpbmcKICAgICBmaWxsZWQgaXMgYXQgbmV4dCBhbmQgaGFzIGN1cnIgaW5kZXggYml0cy4gIFRoZSBjb2RlIGJlaW5nIHVzZWQgaXMgaHVmZgogICAgIHdpdGggbGVuZ3RoIGxlbi4gIFRoYXQgY29kZSBpcyBjb252ZXJ0ZWQgdG8gYW4gaW5kZXggYnkgZHJvcHBpbmcgZHJvcAogICAgIGJpdHMgb2ZmIG9mIHRoZSBib3R0b20uICBGb3IgY29kZXMgd2hlcmUgbGVuIGlzIGxlc3MgdGhhbiBkcm9wICsgY3VyciwKICAgICB0aG9zZSB0b3AgZHJvcCArIGN1cnIgLSBsZW4gYml0cyBhcmUgaW5jcmVtZW50ZWQgdGhyb3VnaCBhbGwgdmFsdWVzIHRvCiAgICAgZmlsbCB0aGUgdGFibGUgd2l0aCByZXBsaWNhdGVkIGVudHJpZXMuCgogICAgIHJvb3QgaXMgdGhlIG51bWJlciBvZiBpbmRleCBiaXRzIGZvciB0aGUgcm9vdCB0YWJsZS4gIFdoZW4gbGVuIGV4Y2VlZHMKICAgICByb290LCBzdWItdGFibGVzIGFyZSBjcmVhdGVkIHBvaW50ZWQgdG8gYnkgdGhlIHJvb3QgZW50cnkgd2l0aCBhbiBpbmRleAogICAgIG9mIHRoZSBsb3cgcm9vdCBiaXRzIG9mIGh1ZmYuICBUaGlzIGlzIHNhdmVkIGluIGxvdyB0byBjaGVjayBmb3Igd2hlbiBhCiAgICAgbmV3IHN1Yi10YWJsZSBzaG91bGQgYmUgc3RhcnRlZC4gIGRyb3AgaXMgemVybyB3aGVuIHRoZSByb290IHRhYmxlIGlzCiAgICAgYmVpbmcgZmlsbGVkLCBhbmQgZHJvcCBpcyByb290IHdoZW4gc3ViLXRhYmxlcyBhcmUgYmVpbmcgZmlsbGVkLgoKICAgICBXaGVuIGEgbmV3IHN1Yi10YWJsZSBpcyBuZWVkZWQsIGl0IGlzIG5lY2Vzc2FyeSB0byBsb29rIGFoZWFkIGluIHRoZQogICAgIGNvZGUgbGVuZ3RocyB0byBkZXRlcm1pbmUgd2hhdCBzaXplIHN1Yi10YWJsZSBpcyBuZWVkZWQuICBUaGUgbGVuZ3RoCiAgICAgY291bnRzIGFyZSB1c2VkIGZvciB0aGlzLCBhbmQgc28gY291bnRbXSBpcyBkZWNyZW1lbnRlZCBhcyBjb2RlcyBhcmUKICAgICBlbnRlcmVkIGluIHRoZSB0YWJsZXMuCgogICAgIHVzZWQga2VlcHMgdHJhY2sgb2YgaG93IG1hbnkgdGFibGUgZW50cmllcyBoYXZlIGJlZW4gYWxsb2NhdGVkIGZyb20gdGhlCiAgICAgcHJvdmlkZWQgKnRhYmxlIHNwYWNlLiAgSXQgaXMgY2hlY2tlZCBmb3IgTEVOUyBhbmQgRElTVCB0YWJsZXMgYWdhaW5zdAogICAgIHRoZSBjb25zdGFudHMgRU5PVUdIX0xFTlMgYW5kIEVOT1VHSF9ESVNUUyB0byBndWFyZCBhZ2FpbnN0IGNoYW5nZXMgaW4KICAgICB0aGUgaW5pdGlhbCByb290IHRhYmxlIHNpemUgY29uc3RhbnRzLiAgU2VlIHRoZSBjb21tZW50cyBpbiBpbmZ0cmVlcy5oCiAgICAgZm9yIG1vcmUgaW5mb3JtYXRpb24uCgogICAgIHN5bSBpbmNyZW1lbnRzIHRocm91Z2ggYWxsIHN5bWJvbHMsIGFuZCB0aGUgbG9vcCB0ZXJtaW5hdGVzIHdoZW4KICAgICBhbGwgY29kZXMgb2YgbGVuZ3RoIG1heCwgaS5lLiBhbGwgY29kZXMsIGhhdmUgYmVlbiBwcm9jZXNzZWQuICBUaGlzCiAgICAgcm91dGluZSBwZXJtaXRzIGluY29tcGxldGUgY29kZXMsIHNvIGFub3RoZXIgbG9vcCBhZnRlciB0aGlzIG9uZSBmaWxscwogICAgIGluIHRoZSByZXN0IG9mIHRoZSBkZWNvZGluZyB0YWJsZXMgd2l0aCBpbnZhbGlkIGNvZGUgbWFya2Vycy4KICAgICAqLwoKICAgIC8qIHNldCB1cCBmb3IgY29kZSB0eXBlICovCiAgICAvLyBwb29yIG1hbiBvcHRpbWl6YXRpb24gLSB1c2UgaWYtZWxzZSBpbnN0ZWFkIG9mIHN3aXRjaCwKICAgIC8vIHRvIGF2b2lkIGRlb3B0cyBpbiBvbGQgdjgKICAgIGlmICh0eXBlID09PSBDT0RFUyQxKSB7CiAgICAgIGJhc2UgPSBleHRyYSA9IHdvcms7ICAgIC8qIGR1bW15IHZhbHVlLS1ub3QgdXNlZCAqLwogICAgICBlbmQgPSAxOTsKCiAgICB9IGVsc2UgaWYgKHR5cGUgPT09IExFTlMkMSkgewogICAgICBiYXNlID0gbGJhc2U7CiAgICAgIGJhc2VfaW5kZXggLT0gMjU3OwogICAgICBleHRyYSA9IGxleHQ7CiAgICAgIGV4dHJhX2luZGV4IC09IDI1NzsKICAgICAgZW5kID0gMjU2OwoKICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAvKiBESVNUUyAqLwogICAgICBiYXNlID0gZGJhc2U7CiAgICAgIGV4dHJhID0gZGV4dDsKICAgICAgZW5kID0gLTE7CiAgICB9CgogICAgLyogaW5pdGlhbGl6ZSBvcHRzIGZvciBsb29wICovCiAgICBodWZmID0gMDsgICAgICAgICAgICAgICAgICAgLyogc3RhcnRpbmcgY29kZSAqLwogICAgc3ltID0gMDsgICAgICAgICAgICAgICAgICAgIC8qIHN0YXJ0aW5nIGNvZGUgc3ltYm9sICovCiAgICBsZW4gPSBtaW47ICAgICAgICAgICAgICAgICAgLyogc3RhcnRpbmcgY29kZSBsZW5ndGggKi8KICAgIG5leHQgPSB0YWJsZV9pbmRleDsgICAgICAgICAgICAgIC8qIGN1cnJlbnQgdGFibGUgdG8gZmlsbCBpbiAqLwogICAgY3VyciA9IHJvb3Q7ICAgICAgICAgICAgICAgIC8qIGN1cnJlbnQgdGFibGUgaW5kZXggYml0cyAqLwogICAgZHJvcCA9IDA7ICAgICAgICAgICAgICAgICAgIC8qIGN1cnJlbnQgYml0cyB0byBkcm9wIGZyb20gY29kZSBmb3IgaW5kZXggKi8KICAgIGxvdyA9IC0xOyAgICAgICAgICAgICAgICAgICAvKiB0cmlnZ2VyIG5ldyBzdWItdGFibGUgd2hlbiBsZW4gPiByb290ICovCiAgICB1c2VkID0gMSA8PCByb290OyAgICAgICAgICAvKiB1c2Ugcm9vdCB0YWJsZSBlbnRyaWVzICovCiAgICBtYXNrID0gdXNlZCAtIDE7ICAgICAgICAgICAgLyogbWFzayBmb3IgY29tcGFyaW5nIGxvdyAqLwoKICAgIC8qIGNoZWNrIGF2YWlsYWJsZSB0YWJsZSBzcGFjZSAqLwogICAgaWYgKCh0eXBlID09PSBMRU5TJDEgJiYgdXNlZCA+IEVOT1VHSF9MRU5TJDEpIHx8CiAgICAgICh0eXBlID09PSBESVNUUyQxICYmIHVzZWQgPiBFTk9VR0hfRElTVFMkMSkpIHsKICAgICAgcmV0dXJuIDE7CiAgICB9CgogICAgLyogcHJvY2VzcyBhbGwgY29kZXMgYW5kIG1ha2UgdGFibGUgZW50cmllcyAqLwogICAgZm9yICg7OykgewogICAgICAvKiBjcmVhdGUgdGFibGUgZW50cnkgKi8KICAgICAgaGVyZV9iaXRzID0gbGVuIC0gZHJvcDsKICAgICAgaWYgKHdvcmtbc3ltXSA8IGVuZCkgewogICAgICAgIGhlcmVfb3AgPSAwOwogICAgICAgIGhlcmVfdmFsID0gd29ya1tzeW1dOwogICAgICB9CiAgICAgIGVsc2UgaWYgKHdvcmtbc3ltXSA+IGVuZCkgewogICAgICAgIGhlcmVfb3AgPSBleHRyYVtleHRyYV9pbmRleCArIHdvcmtbc3ltXV07CiAgICAgICAgaGVyZV92YWwgPSBiYXNlW2Jhc2VfaW5kZXggKyB3b3JrW3N5bV1dOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIGhlcmVfb3AgPSAzMiArIDY0OyAgICAgICAgIC8qIGVuZCBvZiBibG9jayAqLwogICAgICAgIGhlcmVfdmFsID0gMDsKICAgICAgfQoKICAgICAgLyogcmVwbGljYXRlIGZvciB0aG9zZSBpbmRpY2VzIHdpdGggbG93IGxlbiBiaXRzIGVxdWFsIHRvIGh1ZmYgKi8KICAgICAgaW5jciA9IDEgPDwgKGxlbiAtIGRyb3ApOwogICAgICBmaWxsID0gMSA8PCBjdXJyOwogICAgICBtaW4gPSBmaWxsOyAgICAgICAgICAgICAgICAgLyogc2F2ZSBvZmZzZXQgdG8gbmV4dCB0YWJsZSAqLwogICAgICBkbyB7CiAgICAgICAgZmlsbCAtPSBpbmNyOwogICAgICAgIHRhYmxlW25leHQgKyAoaHVmZiA+PiBkcm9wKSArIGZpbGxdID0gKGhlcmVfYml0cyA8PCAyNCkgfCAoaGVyZV9vcCA8PCAxNikgfCBoZXJlX3ZhbCB8MDsKICAgICAgfSB3aGlsZSAoZmlsbCAhPT0gMCk7CgogICAgICAvKiBiYWNrd2FyZHMgaW5jcmVtZW50IHRoZSBsZW4tYml0IGNvZGUgaHVmZiAqLwogICAgICBpbmNyID0gMSA8PCAobGVuIC0gMSk7CiAgICAgIHdoaWxlIChodWZmICYgaW5jcikgewogICAgICAgIGluY3IgPj49IDE7CiAgICAgIH0KICAgICAgaWYgKGluY3IgIT09IDApIHsKICAgICAgICBodWZmICY9IGluY3IgLSAxOwogICAgICAgIGh1ZmYgKz0gaW5jcjsKICAgICAgfSBlbHNlIHsKICAgICAgICBodWZmID0gMDsKICAgICAgfQoKICAgICAgLyogZ28gdG8gbmV4dCBzeW1ib2wsIHVwZGF0ZSBjb3VudCwgbGVuICovCiAgICAgIHN5bSsrOwogICAgICBpZiAoLS1jb3VudFtsZW5dID09PSAwKSB7CiAgICAgICAgaWYgKGxlbiA9PT0gbWF4KSB7IGJyZWFrOyB9CiAgICAgICAgbGVuID0gbGVuc1tsZW5zX2luZGV4ICsgd29ya1tzeW1dXTsKICAgICAgfQoKICAgICAgLyogY3JlYXRlIG5ldyBzdWItdGFibGUgaWYgbmVlZGVkICovCiAgICAgIGlmIChsZW4gPiByb290ICYmIChodWZmICYgbWFzaykgIT09IGxvdykgewogICAgICAgIC8qIGlmIGZpcnN0IHRpbWUsIHRyYW5zaXRpb24gdG8gc3ViLXRhYmxlcyAqLwogICAgICAgIGlmIChkcm9wID09PSAwKSB7CiAgICAgICAgICBkcm9wID0gcm9vdDsKICAgICAgICB9CgogICAgICAgIC8qIGluY3JlbWVudCBwYXN0IGxhc3QgdGFibGUgKi8KICAgICAgICBuZXh0ICs9IG1pbjsgICAgICAgICAgICAvKiBoZXJlIG1pbiBpcyAxIDw8IGN1cnIgKi8KCiAgICAgICAgLyogZGV0ZXJtaW5lIGxlbmd0aCBvZiBuZXh0IHRhYmxlICovCiAgICAgICAgY3VyciA9IGxlbiAtIGRyb3A7CiAgICAgICAgbGVmdCA9IDEgPDwgY3VycjsKICAgICAgICB3aGlsZSAoY3VyciArIGRyb3AgPCBtYXgpIHsKICAgICAgICAgIGxlZnQgLT0gY291bnRbY3VyciArIGRyb3BdOwogICAgICAgICAgaWYgKGxlZnQgPD0gMCkgeyBicmVhazsgfQogICAgICAgICAgY3VycisrOwogICAgICAgICAgbGVmdCA8PD0gMTsKICAgICAgICB9CgogICAgICAgIC8qIGNoZWNrIGZvciBlbm91Z2ggc3BhY2UgKi8KICAgICAgICB1c2VkICs9IDEgPDwgY3VycjsKICAgICAgICBpZiAoKHR5cGUgPT09IExFTlMkMSAmJiB1c2VkID4gRU5PVUdIX0xFTlMkMSkgfHwKICAgICAgICAgICh0eXBlID09PSBESVNUUyQxICYmIHVzZWQgPiBFTk9VR0hfRElTVFMkMSkpIHsKICAgICAgICAgIHJldHVybiAxOwogICAgICAgIH0KCiAgICAgICAgLyogcG9pbnQgZW50cnkgaW4gcm9vdCB0YWJsZSB0byBzdWItdGFibGUgKi8KICAgICAgICBsb3cgPSBodWZmICYgbWFzazsKICAgICAgICAvKnRhYmxlLm9wW2xvd10gPSBjdXJyOwogICAgICAgIHRhYmxlLmJpdHNbbG93XSA9IHJvb3Q7CiAgICAgICAgdGFibGUudmFsW2xvd10gPSBuZXh0IC0gb3B0cy50YWJsZV9pbmRleDsqLwogICAgICAgIHRhYmxlW2xvd10gPSAocm9vdCA8PCAyNCkgfCAoY3VyciA8PCAxNikgfCAobmV4dCAtIHRhYmxlX2luZGV4KSB8MDsKICAgICAgfQogICAgfQoKICAgIC8qIGZpbGwgaW4gcmVtYWluaW5nIHRhYmxlIGVudHJ5IGlmIGNvZGUgaXMgaW5jb21wbGV0ZSAoZ3VhcmFudGVlZCB0byBoYXZlCiAgICAgYXQgbW9zdCBvbmUgcmVtYWluaW5nIGVudHJ5LCBzaW5jZSBpZiB0aGUgY29kZSBpcyBpbmNvbXBsZXRlLCB0aGUKICAgICBtYXhpbXVtIGNvZGUgbGVuZ3RoIHRoYXQgd2FzIGFsbG93ZWQgdG8gZ2V0IHRoaXMgZmFyIGlzIG9uZSBiaXQpICovCiAgICBpZiAoaHVmZiAhPT0gMCkgewogICAgICAvL3RhYmxlLm9wW25leHQgKyBodWZmXSA9IDY0OyAgICAgICAgICAgIC8qIGludmFsaWQgY29kZSBtYXJrZXIgKi8KICAgICAgLy90YWJsZS5iaXRzW25leHQgKyBodWZmXSA9IGxlbiAtIGRyb3A7CiAgICAgIC8vdGFibGUudmFsW25leHQgKyBodWZmXSA9IDA7CiAgICAgIHRhYmxlW25leHQgKyBodWZmXSA9ICgobGVuIC0gZHJvcCkgPDwgMjQpIHwgKDY0IDw8IDE2KSB8MDsKICAgIH0KCiAgICAvKiBzZXQgcmV0dXJuIHBhcmFtZXRlcnMgKi8KICAgIC8vb3B0cy50YWJsZV9pbmRleCArPSB1c2VkOwogICAgb3B0cy5iaXRzID0gcm9vdDsKICAgIHJldHVybiAwOwogIH07CgoKICB2YXIgaW5mdHJlZXMgPSBpbmZsYXRlX3RhYmxlOwoKICAvLyAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAvLyAoQykgMjAxNC0yMDE3IFZpdGFseSBQdXpyaW4gYW5kIEFuZHJleSBUdXBpdHNpbgogIC8vCiAgLy8gVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAvLyB3YXJyYW50eS4gSW4gbm8gZXZlbnQgd2lsbCB0aGUgYXV0aG9ycyBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGRhbWFnZXMKICAvLyBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogIC8vCiAgLy8gUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGFueW9uZSB0byB1c2UgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2UsCiAgLy8gaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogIC8vIGZyZWVseSwgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIHJlc3RyaWN0aW9uczoKICAvLwogIC8vIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgLy8gICBjbGFpbSB0aGF0IHlvdSB3cm90ZSB0aGUgb3JpZ2luYWwgc29mdHdhcmUuIElmIHlvdSB1c2UgdGhpcyBzb2Z0d2FyZQogIC8vICAgaW4gYSBwcm9kdWN0LCBhbiBhY2tub3dsZWRnbWVudCBpbiB0aGUgcHJvZHVjdCBkb2N1bWVudGF0aW9uIHdvdWxkIGJlCiAgLy8gICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogIC8vIDIuIEFsdGVyZWQgc291cmNlIHZlcnNpb25zIG11c3QgYmUgcGxhaW5seSBtYXJrZWQgYXMgc3VjaCwgYW5kIG11c3Qgbm90IGJlCiAgLy8gICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgLy8gMy4gVGhpcyBub3RpY2UgbWF5IG5vdCBiZSByZW1vdmVkIG9yIGFsdGVyZWQgZnJvbSBhbnkgc291cmNlIGRpc3RyaWJ1dGlvbi4KCgoKCgoKICBjb25zdCBDT0RFUyA9IDA7CiAgY29uc3QgTEVOUyA9IDE7CiAgY29uc3QgRElTVFMgPSAyOwoKICAvKiBQdWJsaWMgY29uc3RhbnRzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgogIGNvbnN0IHsKICAgIFpfRklOSVNIOiBaX0ZJTklTSCQxLCBaX0JMT0NLLCBaX1RSRUVTLAogICAgWl9PSzogWl9PSyQxLCBaX1NUUkVBTV9FTkQ6IFpfU1RSRUFNX0VORCQxLCBaX05FRURfRElDVDogWl9ORUVEX0RJQ1QkMSwgWl9TVFJFQU1fRVJST1I6IFpfU1RSRUFNX0VSUk9SJDEsIFpfREFUQV9FUlJPUjogWl9EQVRBX0VSUk9SJDEsIFpfTUVNX0VSUk9SOiBaX01FTV9FUlJPUiQxLCBaX0JVRl9FUlJPUiwKICAgIFpfREVGTEFURUQKICB9ID0gY29uc3RhbnRzJDI7CgoKICAvKiBTVEFURVMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgoKICBjb25zdCAgICBIRUFEID0gMTsgICAgICAgLyogaTogd2FpdGluZyBmb3IgbWFnaWMgaGVhZGVyICovCiAgY29uc3QgICAgRkxBR1MgPSAyOyAgICAgIC8qIGk6IHdhaXRpbmcgZm9yIG1ldGhvZCBhbmQgZmxhZ3MgKGd6aXApICovCiAgY29uc3QgICAgVElNRSA9IDM7ICAgICAgIC8qIGk6IHdhaXRpbmcgZm9yIG1vZGlmaWNhdGlvbiB0aW1lIChnemlwKSAqLwogIGNvbnN0ICAgIE9TID0gNDsgICAgICAgICAvKiBpOiB3YWl0aW5nIGZvciBleHRyYSBmbGFncyBhbmQgb3BlcmF0aW5nIHN5c3RlbSAoZ3ppcCkgKi8KICBjb25zdCAgICBFWExFTiA9IDU7ICAgICAgLyogaTogd2FpdGluZyBmb3IgZXh0cmEgbGVuZ3RoIChnemlwKSAqLwogIGNvbnN0ICAgIEVYVFJBID0gNjsgICAgICAvKiBpOiB3YWl0aW5nIGZvciBleHRyYSBieXRlcyAoZ3ppcCkgKi8KICBjb25zdCAgICBOQU1FID0gNzsgICAgICAgLyogaTogd2FpdGluZyBmb3IgZW5kIG9mIGZpbGUgbmFtZSAoZ3ppcCkgKi8KICBjb25zdCAgICBDT01NRU5UID0gODsgICAgLyogaTogd2FpdGluZyBmb3IgZW5kIG9mIGNvbW1lbnQgKGd6aXApICovCiAgY29uc3QgICAgSENSQyA9IDk7ICAgICAgIC8qIGk6IHdhaXRpbmcgZm9yIGhlYWRlciBjcmMgKGd6aXApICovCiAgY29uc3QgICAgRElDVElEID0gMTA7ICAgIC8qIGk6IHdhaXRpbmcgZm9yIGRpY3Rpb25hcnkgY2hlY2sgdmFsdWUgKi8KICBjb25zdCAgICBESUNUID0gMTE7ICAgICAgLyogd2FpdGluZyBmb3IgaW5mbGF0ZVNldERpY3Rpb25hcnkoKSBjYWxsICovCiAgY29uc3QgICAgICAgIFRZUEUgPSAxMjsgICAgICAvKiBpOiB3YWl0aW5nIGZvciB0eXBlIGJpdHMsIGluY2x1ZGluZyBsYXN0LWZsYWcgYml0ICovCiAgY29uc3QgICAgICAgIFRZUEVETyA9IDEzOyAgICAvKiBpOiBzYW1lLCBidXQgc2tpcCBjaGVjayB0byBleGl0IGluZmxhdGUgb24gbmV3IGJsb2NrICovCiAgY29uc3QgICAgICAgIFNUT1JFRCA9IDE0OyAgICAvKiBpOiB3YWl0aW5nIGZvciBzdG9yZWQgc2l6ZSAobGVuZ3RoIGFuZCBjb21wbGVtZW50KSAqLwogIGNvbnN0ICAgICAgICBDT1BZXyA9IDE1OyAgICAgLyogaS9vOiBzYW1lIGFzIENPUFkgYmVsb3csIGJ1dCBvbmx5IGZpcnN0IHRpbWUgaW4gKi8KICBjb25zdCAgICAgICAgQ09QWSA9IDE2OyAgICAgIC8qIGkvbzogd2FpdGluZyBmb3IgaW5wdXQgb3Igb3V0cHV0IHRvIGNvcHkgc3RvcmVkIGJsb2NrICovCiAgY29uc3QgICAgICAgIFRBQkxFID0gMTc7ICAgICAvKiBpOiB3YWl0aW5nIGZvciBkeW5hbWljIGJsb2NrIHRhYmxlIGxlbmd0aHMgKi8KICBjb25zdCAgICAgICAgTEVOTEVOUyA9IDE4OyAgIC8qIGk6IHdhaXRpbmcgZm9yIGNvZGUgbGVuZ3RoIGNvZGUgbGVuZ3RocyAqLwogIGNvbnN0ICAgICAgICBDT0RFTEVOUyA9IDE5OyAgLyogaTogd2FpdGluZyBmb3IgbGVuZ3RoL2xpdCBhbmQgZGlzdGFuY2UgY29kZSBsZW5ndGhzICovCiAgY29uc3QgICAgICAgICAgICBMRU5fID0gMjA7ICAgICAgLyogaTogc2FtZSBhcyBMRU4gYmVsb3csIGJ1dCBvbmx5IGZpcnN0IHRpbWUgaW4gKi8KICBjb25zdCAgICAgICAgICAgIExFTiA9IDIxOyAgICAgICAvKiBpOiB3YWl0aW5nIGZvciBsZW5ndGgvbGl0L2VvYiBjb2RlICovCiAgY29uc3QgICAgICAgICAgICBMRU5FWFQgPSAyMjsgICAgLyogaTogd2FpdGluZyBmb3IgbGVuZ3RoIGV4dHJhIGJpdHMgKi8KICBjb25zdCAgICAgICAgICAgIERJU1QgPSAyMzsgICAgICAvKiBpOiB3YWl0aW5nIGZvciBkaXN0YW5jZSBjb2RlICovCiAgY29uc3QgICAgICAgICAgICBESVNURVhUID0gMjQ7ICAgLyogaTogd2FpdGluZyBmb3IgZGlzdGFuY2UgZXh0cmEgYml0cyAqLwogIGNvbnN0ICAgICAgICAgICAgTUFUQ0ggPSAyNTsgICAgIC8qIG86IHdhaXRpbmcgZm9yIG91dHB1dCBzcGFjZSB0byBjb3B5IHN0cmluZyAqLwogIGNvbnN0ICAgICAgICAgICAgTElUID0gMjY7ICAgICAgIC8qIG86IHdhaXRpbmcgZm9yIG91dHB1dCBzcGFjZSB0byB3cml0ZSBsaXRlcmFsICovCiAgY29uc3QgICAgQ0hFQ0sgPSAyNzsgICAgIC8qIGk6IHdhaXRpbmcgZm9yIDMyLWJpdCBjaGVjayB2YWx1ZSAqLwogIGNvbnN0ICAgIExFTkdUSCA9IDI4OyAgICAvKiBpOiB3YWl0aW5nIGZvciAzMi1iaXQgbGVuZ3RoIChnemlwKSAqLwogIGNvbnN0ICAgIERPTkUgPSAyOTsgICAgICAvKiBmaW5pc2hlZCBjaGVjaywgZG9uZSAtLSByZW1haW4gaGVyZSB1bnRpbCByZXNldCAqLwogIGNvbnN0ICAgIEJBRCA9IDMwOyAgICAgICAvKiBnb3QgYSBkYXRhIGVycm9yIC0tIHJlbWFpbiBoZXJlIHVudGlsIHJlc2V0ICovCiAgY29uc3QgICAgTUVNID0gMzE7ICAgICAgIC8qIGdvdCBhbiBpbmZsYXRlKCkgbWVtb3J5IGVycm9yIC0tIHJlbWFpbiBoZXJlIHVudGlsIHJlc2V0ICovCiAgY29uc3QgICAgU1lOQyA9IDMyOyAgICAgIC8qIGxvb2tpbmcgZm9yIHN5bmNocm9uaXphdGlvbiBieXRlcyB0byByZXN0YXJ0IGluZmxhdGUoKSAqLwoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKCgogIGNvbnN0IEVOT1VHSF9MRU5TID0gODUyOwogIGNvbnN0IEVOT1VHSF9ESVNUUyA9IDU5MjsKICAvL2NvbnN0IEVOT1VHSCA9ICAoRU5PVUdIX0xFTlMrRU5PVUdIX0RJU1RTKTsKCiAgY29uc3QgTUFYX1dCSVRTID0gMTU7CiAgLyogMzJLIExaNzcgd2luZG93ICovCiAgY29uc3QgREVGX1dCSVRTID0gTUFYX1dCSVRTOwoKCiAgY29uc3QgenN3YXAzMiA9IChxKSA9PiB7CgogICAgcmV0dXJuICAoKChxID4+PiAyNCkgJiAweGZmKSArCiAgICAgICAgICAgICgocSA+Pj4gOCkgJiAweGZmMDApICsKICAgICAgICAgICAgKChxICYgMHhmZjAwKSA8PCA4KSArCiAgICAgICAgICAgICgocSAmIDB4ZmYpIDw8IDI0KSk7CiAgfTsKCgogIGZ1bmN0aW9uIEluZmxhdGVTdGF0ZSgpIHsKICAgIHRoaXMubW9kZSA9IDA7ICAgICAgICAgICAgIC8qIGN1cnJlbnQgaW5mbGF0ZSBtb2RlICovCiAgICB0aGlzLmxhc3QgPSBmYWxzZTsgICAgICAgICAgLyogdHJ1ZSBpZiBwcm9jZXNzaW5nIGxhc3QgYmxvY2sgKi8KICAgIHRoaXMud3JhcCA9IDA7ICAgICAgICAgICAgICAvKiBiaXQgMCB0cnVlIGZvciB6bGliLCBiaXQgMSB0cnVlIGZvciBnemlwICovCiAgICB0aGlzLmhhdmVkaWN0ID0gZmFsc2U7ICAgICAgLyogdHJ1ZSBpZiBkaWN0aW9uYXJ5IHByb3ZpZGVkICovCiAgICB0aGlzLmZsYWdzID0gMDsgICAgICAgICAgICAgLyogZ3ppcCBoZWFkZXIgbWV0aG9kIGFuZCBmbGFncyAoMCBpZiB6bGliKSAqLwogICAgdGhpcy5kbWF4ID0gMDsgICAgICAgICAgICAgIC8qIHpsaWIgaGVhZGVyIG1heCBkaXN0YW5jZSAoSU5GTEFURV9TVFJJQ1QpICovCiAgICB0aGlzLmNoZWNrID0gMDsgICAgICAgICAgICAgLyogcHJvdGVjdGVkIGNvcHkgb2YgY2hlY2sgdmFsdWUgKi8KICAgIHRoaXMudG90YWwgPSAwOyAgICAgICAgICAgICAvKiBwcm90ZWN0ZWQgY29weSBvZiBvdXRwdXQgY291bnQgKi8KICAgIC8vIFRPRE86IG1heSBiZSB7fQogICAgdGhpcy5oZWFkID0gbnVsbDsgICAgICAgICAgIC8qIHdoZXJlIHRvIHNhdmUgZ3ppcCBoZWFkZXIgaW5mb3JtYXRpb24gKi8KCiAgICAvKiBzbGlkaW5nIHdpbmRvdyAqLwogICAgdGhpcy53Yml0cyA9IDA7ICAgICAgICAgICAgIC8qIGxvZyBiYXNlIDIgb2YgcmVxdWVzdGVkIHdpbmRvdyBzaXplICovCiAgICB0aGlzLndzaXplID0gMDsgICAgICAgICAgICAgLyogd2luZG93IHNpemUgb3IgemVybyBpZiBub3QgdXNpbmcgd2luZG93ICovCiAgICB0aGlzLndoYXZlID0gMDsgICAgICAgICAgICAgLyogdmFsaWQgYnl0ZXMgaW4gdGhlIHdpbmRvdyAqLwogICAgdGhpcy53bmV4dCA9IDA7ICAgICAgICAgICAgIC8qIHdpbmRvdyB3cml0ZSBpbmRleCAqLwogICAgdGhpcy53aW5kb3cgPSBudWxsOyAgICAgICAgIC8qIGFsbG9jYXRlZCBzbGlkaW5nIHdpbmRvdywgaWYgbmVlZGVkICovCgogICAgLyogYml0IGFjY3VtdWxhdG9yICovCiAgICB0aGlzLmhvbGQgPSAwOyAgICAgICAgICAgICAgLyogaW5wdXQgYml0IGFjY3VtdWxhdG9yICovCiAgICB0aGlzLmJpdHMgPSAwOyAgICAgICAgICAgICAgLyogbnVtYmVyIG9mIGJpdHMgaW4gImluIiAqLwoKICAgIC8qIGZvciBzdHJpbmcgYW5kIHN0b3JlZCBibG9jayBjb3B5aW5nICovCiAgICB0aGlzLmxlbmd0aCA9IDA7ICAgICAgICAgICAgLyogbGl0ZXJhbCBvciBsZW5ndGggb2YgZGF0YSB0byBjb3B5ICovCiAgICB0aGlzLm9mZnNldCA9IDA7ICAgICAgICAgICAgLyogZGlzdGFuY2UgYmFjayB0byBjb3B5IHN0cmluZyBmcm9tICovCgogICAgLyogZm9yIHRhYmxlIGFuZCBjb2RlIGRlY29kaW5nICovCiAgICB0aGlzLmV4dHJhID0gMDsgICAgICAgICAgICAgLyogZXh0cmEgYml0cyBuZWVkZWQgKi8KCiAgICAvKiBmaXhlZCBhbmQgZHluYW1pYyBjb2RlIHRhYmxlcyAqLwogICAgdGhpcy5sZW5jb2RlID0gbnVsbDsgICAgICAgICAgLyogc3RhcnRpbmcgdGFibGUgZm9yIGxlbmd0aC9saXRlcmFsIGNvZGVzICovCiAgICB0aGlzLmRpc3Rjb2RlID0gbnVsbDsgICAgICAgICAvKiBzdGFydGluZyB0YWJsZSBmb3IgZGlzdGFuY2UgY29kZXMgKi8KICAgIHRoaXMubGVuYml0cyA9IDA7ICAgICAgICAgICAvKiBpbmRleCBiaXRzIGZvciBsZW5jb2RlICovCiAgICB0aGlzLmRpc3RiaXRzID0gMDsgICAgICAgICAgLyogaW5kZXggYml0cyBmb3IgZGlzdGNvZGUgKi8KCiAgICAvKiBkeW5hbWljIHRhYmxlIGJ1aWxkaW5nICovCiAgICB0aGlzLm5jb2RlID0gMDsgICAgICAgICAgICAgLyogbnVtYmVyIG9mIGNvZGUgbGVuZ3RoIGNvZGUgbGVuZ3RocyAqLwogICAgdGhpcy5ubGVuID0gMDsgICAgICAgICAgICAgIC8qIG51bWJlciBvZiBsZW5ndGggY29kZSBsZW5ndGhzICovCiAgICB0aGlzLm5kaXN0ID0gMDsgICAgICAgICAgICAgLyogbnVtYmVyIG9mIGRpc3RhbmNlIGNvZGUgbGVuZ3RocyAqLwogICAgdGhpcy5oYXZlID0gMDsgICAgICAgICAgICAgIC8qIG51bWJlciBvZiBjb2RlIGxlbmd0aHMgaW4gbGVuc1tdICovCiAgICB0aGlzLm5leHQgPSBudWxsOyAgICAgICAgICAgICAgLyogbmV4dCBhdmFpbGFibGUgc3BhY2UgaW4gY29kZXNbXSAqLwoKICAgIHRoaXMubGVucyA9IG5ldyBVaW50MTZBcnJheSgzMjApOyAvKiB0ZW1wb3Jhcnkgc3RvcmFnZSBmb3IgY29kZSBsZW5ndGhzICovCiAgICB0aGlzLndvcmsgPSBuZXcgVWludDE2QXJyYXkoMjg4KTsgLyogd29yayBhcmVhIGZvciBjb2RlIHRhYmxlIGJ1aWxkaW5nICovCgogICAgLyoKICAgICBiZWNhdXNlIHdlIGRvbid0IGhhdmUgcG9pbnRlcnMgaW4ganMsIHdlIHVzZSBsZW5jb2RlIGFuZCBkaXN0Y29kZSBkaXJlY3RseQogICAgIGFzIGJ1ZmZlcnMgc28gd2UgZG9uJ3QgbmVlZCBjb2RlcwogICAgKi8KICAgIC8vdGhpcy5jb2RlcyA9IG5ldyBJbnQzMkFycmF5KEVOT1VHSCk7ICAgICAgIC8qIHNwYWNlIGZvciBjb2RlIHRhYmxlcyAqLwogICAgdGhpcy5sZW5keW4gPSBudWxsOyAgICAgICAgICAgICAgLyogZHluYW1pYyB0YWJsZSBmb3IgbGVuZ3RoL2xpdGVyYWwgY29kZXMgKEpTIHNwZWNpZmljKSAqLwogICAgdGhpcy5kaXN0ZHluID0gbnVsbDsgICAgICAgICAgICAgLyogZHluYW1pYyB0YWJsZSBmb3IgZGlzdGFuY2UgY29kZXMgKEpTIHNwZWNpZmljKSAqLwogICAgdGhpcy5zYW5lID0gMDsgICAgICAgICAgICAgICAgICAgLyogaWYgZmFsc2UsIGFsbG93IGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciAqLwogICAgdGhpcy5iYWNrID0gMDsgICAgICAgICAgICAgICAgICAgLyogYml0cyBiYWNrIG9mIGxhc3QgdW5wcm9jZXNzZWQgbGVuZ3RoL2xpdCAqLwogICAgdGhpcy53YXMgPSAwOyAgICAgICAgICAgICAgICAgICAgLyogaW5pdGlhbCBsZW5ndGggb2YgbWF0Y2ggKi8KICB9CgoKICBjb25zdCBpbmZsYXRlUmVzZXRLZWVwID0gKHN0cm0pID0+IHsKCiAgICBpZiAoIXN0cm0gfHwgIXN0cm0uc3RhdGUpIHsgcmV0dXJuIFpfU1RSRUFNX0VSUk9SJDE7IH0KICAgIGNvbnN0IHN0YXRlID0gc3RybS5zdGF0ZTsKICAgIHN0cm0udG90YWxfaW4gPSBzdHJtLnRvdGFsX291dCA9IHN0YXRlLnRvdGFsID0gMDsKICAgIHN0cm0ubXNnID0gJyc7IC8qWl9OVUxMKi8KICAgIGlmIChzdGF0ZS53cmFwKSB7ICAgICAgIC8qIHRvIHN1cHBvcnQgaWxsLWNvbmNlaXZlZCBKYXZhIHRlc3Qgc3VpdGUgKi8KICAgICAgc3RybS5hZGxlciA9IHN0YXRlLndyYXAgJiAxOwogICAgfQogICAgc3RhdGUubW9kZSA9IEhFQUQ7CiAgICBzdGF0ZS5sYXN0ID0gMDsKICAgIHN0YXRlLmhhdmVkaWN0ID0gMDsKICAgIHN0YXRlLmRtYXggPSAzMjc2ODsKICAgIHN0YXRlLmhlYWQgPSBudWxsLypaX05VTEwqLzsKICAgIHN0YXRlLmhvbGQgPSAwOwogICAgc3RhdGUuYml0cyA9IDA7CiAgICAvL3N0YXRlLmxlbmNvZGUgPSBzdGF0ZS5kaXN0Y29kZSA9IHN0YXRlLm5leHQgPSBzdGF0ZS5jb2RlczsKICAgIHN0YXRlLmxlbmNvZGUgPSBzdGF0ZS5sZW5keW4gPSBuZXcgSW50MzJBcnJheShFTk9VR0hfTEVOUyk7CiAgICBzdGF0ZS5kaXN0Y29kZSA9IHN0YXRlLmRpc3RkeW4gPSBuZXcgSW50MzJBcnJheShFTk9VR0hfRElTVFMpOwoKICAgIHN0YXRlLnNhbmUgPSAxOwogICAgc3RhdGUuYmFjayA9IC0xOwogICAgLy9UcmFjZXYoKHN0ZGVyciwgImluZmxhdGU6IHJlc2V0XG4iKSk7CiAgICByZXR1cm4gWl9PSyQxOwogIH07CgoKICBjb25zdCBpbmZsYXRlUmVzZXQgPSAoc3RybSkgPT4gewoKICAgIGlmICghc3RybSB8fCAhc3RybS5zdGF0ZSkgeyByZXR1cm4gWl9TVFJFQU1fRVJST1IkMTsgfQogICAgY29uc3Qgc3RhdGUgPSBzdHJtLnN0YXRlOwogICAgc3RhdGUud3NpemUgPSAwOwogICAgc3RhdGUud2hhdmUgPSAwOwogICAgc3RhdGUud25leHQgPSAwOwogICAgcmV0dXJuIGluZmxhdGVSZXNldEtlZXAoc3RybSk7CgogIH07CgoKICBjb25zdCBpbmZsYXRlUmVzZXQyID0gKHN0cm0sIHdpbmRvd0JpdHMpID0+IHsKICAgIGxldCB3cmFwOwoKICAgIC8qIGdldCB0aGUgc3RhdGUgKi8KICAgIGlmICghc3RybSB8fCAhc3RybS5zdGF0ZSkgeyByZXR1cm4gWl9TVFJFQU1fRVJST1IkMTsgfQogICAgY29uc3Qgc3RhdGUgPSBzdHJtLnN0YXRlOwoKICAgIC8qIGV4dHJhY3Qgd3JhcCByZXF1ZXN0IGZyb20gd2luZG93Qml0cyBwYXJhbWV0ZXIgKi8KICAgIGlmICh3aW5kb3dCaXRzIDwgMCkgewogICAgICB3cmFwID0gMDsKICAgICAgd2luZG93Qml0cyA9IC13aW5kb3dCaXRzOwogICAgfQogICAgZWxzZSB7CiAgICAgIHdyYXAgPSAod2luZG93Qml0cyA+PiA0KSArIDE7CiAgICAgIGlmICh3aW5kb3dCaXRzIDwgNDgpIHsKICAgICAgICB3aW5kb3dCaXRzICY9IDE1OwogICAgICB9CiAgICB9CgogICAgLyogc2V0IG51bWJlciBvZiB3aW5kb3cgYml0cywgZnJlZSB3aW5kb3cgaWYgZGlmZmVyZW50ICovCiAgICBpZiAod2luZG93Qml0cyAmJiAod2luZG93Qml0cyA8IDggfHwgd2luZG93Qml0cyA+IDE1KSkgewogICAgICByZXR1cm4gWl9TVFJFQU1fRVJST1IkMTsKICAgIH0KICAgIGlmIChzdGF0ZS53aW5kb3cgIT09IG51bGwgJiYgc3RhdGUud2JpdHMgIT09IHdpbmRvd0JpdHMpIHsKICAgICAgc3RhdGUud2luZG93ID0gbnVsbDsKICAgIH0KCiAgICAvKiB1cGRhdGUgc3RhdGUgYW5kIHJlc2V0IHRoZSByZXN0IG9mIGl0ICovCiAgICBzdGF0ZS53cmFwID0gd3JhcDsKICAgIHN0YXRlLndiaXRzID0gd2luZG93Qml0czsKICAgIHJldHVybiBpbmZsYXRlUmVzZXQoc3RybSk7CiAgfTsKCgogIGNvbnN0IGluZmxhdGVJbml0MiA9IChzdHJtLCB3aW5kb3dCaXRzKSA9PiB7CgogICAgaWYgKCFzdHJtKSB7IHJldHVybiBaX1NUUkVBTV9FUlJPUiQxOyB9CiAgICAvL3N0cm0ubXNnID0gWl9OVUxMOyAgICAgICAgICAgICAgICAgLyogaW4gY2FzZSB3ZSByZXR1cm4gYW4gZXJyb3IgKi8KCiAgICBjb25zdCBzdGF0ZSA9IG5ldyBJbmZsYXRlU3RhdGUoKTsKCiAgICAvL2lmIChzdGF0ZSA9PT0gWl9OVUxMKSByZXR1cm4gWl9NRU1fRVJST1I7CiAgICAvL1RyYWNldigoc3RkZXJyLCAiaW5mbGF0ZTogYWxsb2NhdGVkXG4iKSk7CiAgICBzdHJtLnN0YXRlID0gc3RhdGU7CiAgICBzdGF0ZS53aW5kb3cgPSBudWxsLypaX05VTEwqLzsKICAgIGNvbnN0IHJldCA9IGluZmxhdGVSZXNldDIoc3RybSwgd2luZG93Qml0cyk7CiAgICBpZiAocmV0ICE9PSBaX09LJDEpIHsKICAgICAgc3RybS5zdGF0ZSA9IG51bGwvKlpfTlVMTCovOwogICAgfQogICAgcmV0dXJuIHJldDsKICB9OwoKCiAgY29uc3QgaW5mbGF0ZUluaXQgPSAoc3RybSkgPT4gewoKICAgIHJldHVybiBpbmZsYXRlSW5pdDIoc3RybSwgREVGX1dCSVRTKTsKICB9OwoKCiAgLyoKICAgUmV0dXJuIHN0YXRlIHdpdGggbGVuZ3RoIGFuZCBkaXN0YW5jZSBkZWNvZGluZyB0YWJsZXMgYW5kIGluZGV4IHNpemVzIHNldCB0bwogICBmaXhlZCBjb2RlIGRlY29kaW5nLiAgTm9ybWFsbHkgdGhpcyByZXR1cm5zIGZpeGVkIHRhYmxlcyBmcm9tIGluZmZpeGVkLmguCiAgIElmIEJVSUxERklYRUQgaXMgZGVmaW5lZCwgdGhlbiBpbnN0ZWFkIHRoaXMgcm91dGluZSBidWlsZHMgdGhlIHRhYmxlcyB0aGUKICAgZmlyc3QgdGltZSBpdCdzIGNhbGxlZCwgYW5kIHJldHVybnMgdGhvc2UgdGFibGVzIHRoZSBmaXJzdCB0aW1lIGFuZAogICB0aGVyZWFmdGVyLiAgVGhpcyByZWR1Y2VzIHRoZSBzaXplIG9mIHRoZSBjb2RlIGJ5IGFib3V0IDJLIGJ5dGVzLCBpbgogICBleGNoYW5nZSBmb3IgYSBsaXR0bGUgZXhlY3V0aW9uIHRpbWUuICBIb3dldmVyLCBCVUlMREZJWEVEIHNob3VsZCBub3QgYmUKICAgdXNlZCBmb3IgdGhyZWFkZWQgYXBwbGljYXRpb25zLCBzaW5jZSB0aGUgcmV3cml0aW5nIG9mIHRoZSB0YWJsZXMgYW5kIHZpcmdpbgogICBtYXkgbm90IGJlIHRocmVhZC1zYWZlLgogICAqLwogIGxldCB2aXJnaW4gPSB0cnVlOwoKICBsZXQgbGVuZml4LCBkaXN0Zml4OyAvLyBXZSBoYXZlIG5vIHBvaW50ZXJzIGluIEpTLCBzbyBrZWVwIHRhYmxlcyBzZXBhcmF0ZQoKCiAgY29uc3QgZml4ZWR0YWJsZXMgPSAoc3RhdGUpID0+IHsKCiAgICAvKiBidWlsZCBmaXhlZCBodWZmbWFuIHRhYmxlcyBpZiBmaXJzdCBjYWxsIChtYXkgbm90IGJlIHRocmVhZCBzYWZlKSAqLwogICAgaWYgKHZpcmdpbikgewogICAgICBsZW5maXggPSBuZXcgSW50MzJBcnJheSg1MTIpOwogICAgICBkaXN0Zml4ID0gbmV3IEludDMyQXJyYXkoMzIpOwoKICAgICAgLyogbGl0ZXJhbC9sZW5ndGggdGFibGUgKi8KICAgICAgbGV0IHN5bSA9IDA7CiAgICAgIHdoaWxlIChzeW0gPCAxNDQpIHsgc3RhdGUubGVuc1tzeW0rK10gPSA4OyB9CiAgICAgIHdoaWxlIChzeW0gPCAyNTYpIHsgc3RhdGUubGVuc1tzeW0rK10gPSA5OyB9CiAgICAgIHdoaWxlIChzeW0gPCAyODApIHsgc3RhdGUubGVuc1tzeW0rK10gPSA3OyB9CiAgICAgIHdoaWxlIChzeW0gPCAyODgpIHsgc3RhdGUubGVuc1tzeW0rK10gPSA4OyB9CgogICAgICBpbmZ0cmVlcyhMRU5TLCAgc3RhdGUubGVucywgMCwgMjg4LCBsZW5maXgsICAgMCwgc3RhdGUud29yaywgeyBiaXRzOiA5IH0pOwoKICAgICAgLyogZGlzdGFuY2UgdGFibGUgKi8KICAgICAgc3ltID0gMDsKICAgICAgd2hpbGUgKHN5bSA8IDMyKSB7IHN0YXRlLmxlbnNbc3ltKytdID0gNTsgfQoKICAgICAgaW5mdHJlZXMoRElTVFMsIHN0YXRlLmxlbnMsIDAsIDMyLCAgIGRpc3RmaXgsIDAsIHN0YXRlLndvcmssIHsgYml0czogNSB9KTsKCiAgICAgIC8qIGRvIHRoaXMganVzdCBvbmNlICovCiAgICAgIHZpcmdpbiA9IGZhbHNlOwogICAgfQoKICAgIHN0YXRlLmxlbmNvZGUgPSBsZW5maXg7CiAgICBzdGF0ZS5sZW5iaXRzID0gOTsKICAgIHN0YXRlLmRpc3Rjb2RlID0gZGlzdGZpeDsKICAgIHN0YXRlLmRpc3RiaXRzID0gNTsKICB9OwoKCiAgLyoKICAgVXBkYXRlIHRoZSB3aW5kb3cgd2l0aCB0aGUgbGFzdCB3c2l6ZSAobm9ybWFsbHkgMzJLKSBieXRlcyB3cml0dGVuIGJlZm9yZQogICByZXR1cm5pbmcuICBJZiB3aW5kb3cgZG9lcyBub3QgZXhpc3QgeWV0LCBjcmVhdGUgaXQuICBUaGlzIGlzIG9ubHkgY2FsbGVkCiAgIHdoZW4gYSB3aW5kb3cgaXMgYWxyZWFkeSBpbiB1c2UsIG9yIHdoZW4gb3V0cHV0IGhhcyBiZWVuIHdyaXR0ZW4gZHVyaW5nIHRoaXMKICAgaW5mbGF0ZSBjYWxsLCBidXQgdGhlIGVuZCBvZiB0aGUgZGVmbGF0ZSBzdHJlYW0gaGFzIG5vdCBiZWVuIHJlYWNoZWQgeWV0LgogICBJdCBpcyBhbHNvIGNhbGxlZCB0byBjcmVhdGUgYSB3aW5kb3cgZm9yIGRpY3Rpb25hcnkgZGF0YSB3aGVuIGEgZGljdGlvbmFyeQogICBpcyBsb2FkZWQuCgogICBQcm92aWRpbmcgb3V0cHV0IGJ1ZmZlcnMgbGFyZ2VyIHRoYW4gMzJLIHRvIGluZmxhdGUoKSBzaG91bGQgcHJvdmlkZSBhIHNwZWVkCiAgIGFkdmFudGFnZSwgc2luY2Ugb25seSB0aGUgbGFzdCAzMksgb2Ygb3V0cHV0IGlzIGNvcGllZCB0byB0aGUgc2xpZGluZyB3aW5kb3cKICAgdXBvbiByZXR1cm4gZnJvbSBpbmZsYXRlKCksIGFuZCBzaW5jZSBhbGwgZGlzdGFuY2VzIGFmdGVyIHRoZSBmaXJzdCAzMksgb2YKICAgb3V0cHV0IHdpbGwgZmFsbCBpbiB0aGUgb3V0cHV0IGRhdGEsIG1ha2luZyBtYXRjaCBjb3BpZXMgc2ltcGxlciBhbmQgZmFzdGVyLgogICBUaGUgYWR2YW50YWdlIG1heSBiZSBkZXBlbmRlbnQgb24gdGhlIHNpemUgb2YgdGhlIHByb2Nlc3NvcidzIGRhdGEgY2FjaGVzLgogICAqLwogIGNvbnN0IHVwZGF0ZXdpbmRvdyA9IChzdHJtLCBzcmMsIGVuZCwgY29weSkgPT4gewoKICAgIGxldCBkaXN0OwogICAgY29uc3Qgc3RhdGUgPSBzdHJtLnN0YXRlOwoKICAgIC8qIGlmIGl0IGhhc24ndCBiZWVuIGRvbmUgYWxyZWFkeSwgYWxsb2NhdGUgc3BhY2UgZm9yIHRoZSB3aW5kb3cgKi8KICAgIGlmIChzdGF0ZS53aW5kb3cgPT09IG51bGwpIHsKICAgICAgc3RhdGUud3NpemUgPSAxIDw8IHN0YXRlLndiaXRzOwogICAgICBzdGF0ZS53bmV4dCA9IDA7CiAgICAgIHN0YXRlLndoYXZlID0gMDsKCiAgICAgIHN0YXRlLndpbmRvdyA9IG5ldyBVaW50OEFycmF5KHN0YXRlLndzaXplKTsKICAgIH0KCiAgICAvKiBjb3B5IHN0YXRlLT53c2l6ZSBvciBsZXNzIG91dHB1dCBieXRlcyBpbnRvIHRoZSBjaXJjdWxhciB3aW5kb3cgKi8KICAgIGlmIChjb3B5ID49IHN0YXRlLndzaXplKSB7CiAgICAgIHN0YXRlLndpbmRvdy5zZXQoc3JjLnN1YmFycmF5KGVuZCAtIHN0YXRlLndzaXplLCBlbmQpLCAwKTsKICAgICAgc3RhdGUud25leHQgPSAwOwogICAgICBzdGF0ZS53aGF2ZSA9IHN0YXRlLndzaXplOwogICAgfQogICAgZWxzZSB7CiAgICAgIGRpc3QgPSBzdGF0ZS53c2l6ZSAtIHN0YXRlLnduZXh0OwogICAgICBpZiAoZGlzdCA+IGNvcHkpIHsKICAgICAgICBkaXN0ID0gY29weTsKICAgICAgfQogICAgICAvL3ptZW1jcHkoc3RhdGUtPndpbmRvdyArIHN0YXRlLT53bmV4dCwgZW5kIC0gY29weSwgZGlzdCk7CiAgICAgIHN0YXRlLndpbmRvdy5zZXQoc3JjLnN1YmFycmF5KGVuZCAtIGNvcHksIGVuZCAtIGNvcHkgKyBkaXN0KSwgc3RhdGUud25leHQpOwogICAgICBjb3B5IC09IGRpc3Q7CiAgICAgIGlmIChjb3B5KSB7CiAgICAgICAgLy96bWVtY3B5KHN0YXRlLT53aW5kb3csIGVuZCAtIGNvcHksIGNvcHkpOwogICAgICAgIHN0YXRlLndpbmRvdy5zZXQoc3JjLnN1YmFycmF5KGVuZCAtIGNvcHksIGVuZCksIDApOwogICAgICAgIHN0YXRlLnduZXh0ID0gY29weTsKICAgICAgICBzdGF0ZS53aGF2ZSA9IHN0YXRlLndzaXplOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHN0YXRlLnduZXh0ICs9IGRpc3Q7CiAgICAgICAgaWYgKHN0YXRlLnduZXh0ID09PSBzdGF0ZS53c2l6ZSkgeyBzdGF0ZS53bmV4dCA9IDA7IH0KICAgICAgICBpZiAoc3RhdGUud2hhdmUgPCBzdGF0ZS53c2l6ZSkgeyBzdGF0ZS53aGF2ZSArPSBkaXN0OyB9CiAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwogIH07CgoKICBjb25zdCBpbmZsYXRlJDIgPSAoc3RybSwgZmx1c2gpID0+IHsKCiAgICBsZXQgc3RhdGU7CiAgICBsZXQgaW5wdXQsIG91dHB1dDsgICAgICAgICAgLy8gaW5wdXQvb3V0cHV0IGJ1ZmZlcnMKICAgIGxldCBuZXh0OyAgICAgICAgICAgICAgICAgICAvKiBuZXh0IGlucHV0IElOREVYICovCiAgICBsZXQgcHV0OyAgICAgICAgICAgICAgICAgICAgLyogbmV4dCBvdXRwdXQgSU5ERVggKi8KICAgIGxldCBoYXZlLCBsZWZ0OyAgICAgICAgICAgICAvKiBhdmFpbGFibGUgaW5wdXQgYW5kIG91dHB1dCAqLwogICAgbGV0IGhvbGQ7ICAgICAgICAgICAgICAgICAgIC8qIGJpdCBidWZmZXIgKi8KICAgIGxldCBiaXRzOyAgICAgICAgICAgICAgICAgICAvKiBiaXRzIGluIGJpdCBidWZmZXIgKi8KICAgIGxldCBfaW4sIF9vdXQ7ICAgICAgICAgICAgICAvKiBzYXZlIHN0YXJ0aW5nIGF2YWlsYWJsZSBpbnB1dCBhbmQgb3V0cHV0ICovCiAgICBsZXQgY29weTsgICAgICAgICAgICAgICAgICAgLyogbnVtYmVyIG9mIHN0b3JlZCBvciBtYXRjaCBieXRlcyB0byBjb3B5ICovCiAgICBsZXQgZnJvbTsgICAgICAgICAgICAgICAgICAgLyogd2hlcmUgdG8gY29weSBtYXRjaCBieXRlcyBmcm9tICovCiAgICBsZXQgZnJvbV9zb3VyY2U7CiAgICBsZXQgaGVyZSA9IDA7ICAgICAgICAgICAgICAgLyogY3VycmVudCBkZWNvZGluZyB0YWJsZSBlbnRyeSAqLwogICAgbGV0IGhlcmVfYml0cywgaGVyZV9vcCwgaGVyZV92YWw7IC8vIHBha2VkICJoZXJlIiBkZW5vcm1hbGl6ZWQgKEpTIHNwZWNpZmljKQogICAgLy9sZXQgbGFzdDsgICAgICAgICAgICAgICAgICAgLyogcGFyZW50IHRhYmxlIGVudHJ5ICovCiAgICBsZXQgbGFzdF9iaXRzLCBsYXN0X29wLCBsYXN0X3ZhbDsgLy8gcGFrZWQgImxhc3QiIGRlbm9ybWFsaXplZCAoSlMgc3BlY2lmaWMpCiAgICBsZXQgbGVuOyAgICAgICAgICAgICAgICAgICAgLyogbGVuZ3RoIHRvIGNvcHkgZm9yIHJlcGVhdHMsIGJpdHMgdG8gZHJvcCAqLwogICAgbGV0IHJldDsgICAgICAgICAgICAgICAgICAgIC8qIHJldHVybiBjb2RlICovCiAgICBjb25zdCBoYnVmID0gbmV3IFVpbnQ4QXJyYXkoNCk7ICAgIC8qIGJ1ZmZlciBmb3IgZ3ppcCBoZWFkZXIgY3JjIGNhbGN1bGF0aW9uICovCiAgICBsZXQgb3B0czsKCiAgICBsZXQgbjsgLy8gdGVtcG9yYXJ5IHZhcmlhYmxlIGZvciBORUVEX0JJVFMKCiAgICBjb25zdCBvcmRlciA9IC8qIHBlcm11dGF0aW9uIG9mIGNvZGUgbGVuZ3RocyAqLwogICAgICBuZXcgVWludDhBcnJheShbIDE2LCAxNywgMTgsIDAsIDgsIDcsIDksIDYsIDEwLCA1LCAxMSwgNCwgMTIsIDMsIDEzLCAyLCAxNCwgMSwgMTUgXSk7CgoKICAgIGlmICghc3RybSB8fCAhc3RybS5zdGF0ZSB8fCAhc3RybS5vdXRwdXQgfHwKICAgICAgICAoIXN0cm0uaW5wdXQgJiYgc3RybS5hdmFpbF9pbiAhPT0gMCkpIHsKICAgICAgcmV0dXJuIFpfU1RSRUFNX0VSUk9SJDE7CiAgICB9CgogICAgc3RhdGUgPSBzdHJtLnN0YXRlOwogICAgaWYgKHN0YXRlLm1vZGUgPT09IFRZUEUpIHsgc3RhdGUubW9kZSA9IFRZUEVETzsgfSAgICAvKiBza2lwIGNoZWNrICovCgoKICAgIC8vLS0tIExPQUQoKSAtLS0KICAgIHB1dCA9IHN0cm0ubmV4dF9vdXQ7CiAgICBvdXRwdXQgPSBzdHJtLm91dHB1dDsKICAgIGxlZnQgPSBzdHJtLmF2YWlsX291dDsKICAgIG5leHQgPSBzdHJtLm5leHRfaW47CiAgICBpbnB1dCA9IHN0cm0uaW5wdXQ7CiAgICBoYXZlID0gc3RybS5hdmFpbF9pbjsKICAgIGhvbGQgPSBzdGF0ZS5ob2xkOwogICAgYml0cyA9IHN0YXRlLmJpdHM7CiAgICAvLy0tLQoKICAgIF9pbiA9IGhhdmU7CiAgICBfb3V0ID0gbGVmdDsKICAgIHJldCA9IFpfT0skMTsKCiAgICBpbmZfbGVhdmU6IC8vIGdvdG8gZW11bGF0aW9uCiAgICBmb3IgKDs7KSB7CiAgICAgIHN3aXRjaCAoc3RhdGUubW9kZSkgewogICAgICAgIGNhc2UgSEVBRDoKICAgICAgICAgIGlmIChzdGF0ZS53cmFwID09PSAwKSB7CiAgICAgICAgICAgIHN0YXRlLm1vZGUgPSBUWVBFRE87CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgLy89PT0gTkVFREJJVFMoMTYpOwogICAgICAgICAgd2hpbGUgKGJpdHMgPCAxNikgewogICAgICAgICAgICBpZiAoaGF2ZSA9PT0gMCkgeyBicmVhayBpbmZfbGVhdmU7IH0KICAgICAgICAgICAgaGF2ZS0tOwogICAgICAgICAgICBob2xkICs9IGlucHV0W25leHQrK10gPDwgYml0czsKICAgICAgICAgICAgYml0cyArPSA4OwogICAgICAgICAgfQogICAgICAgICAgLy89PT0vLwogICAgICAgICAgaWYgKChzdGF0ZS53cmFwICYgMikgJiYgaG9sZCA9PT0gMHg4YjFmKSB7ICAvKiBnemlwIGhlYWRlciAqLwogICAgICAgICAgICBzdGF0ZS5jaGVjayA9IDAvKmNyYzMyKDBMLCBaX05VTEwsIDApKi87CiAgICAgICAgICAgIC8vPT09IENSQzIoc3RhdGUuY2hlY2ssIGhvbGQpOwogICAgICAgICAgICBoYnVmWzBdID0gaG9sZCAmIDB4ZmY7CiAgICAgICAgICAgIGhidWZbMV0gPSAoaG9sZCA+Pj4gOCkgJiAweGZmOwogICAgICAgICAgICBzdGF0ZS5jaGVjayA9IGNyYzMyXzEoc3RhdGUuY2hlY2ssIGhidWYsIDIsIDApOwogICAgICAgICAgICAvLz09PS8vCgogICAgICAgICAgICAvLz09PSBJTklUQklUUygpOwogICAgICAgICAgICBob2xkID0gMDsKICAgICAgICAgICAgYml0cyA9IDA7CiAgICAgICAgICAgIC8vPT09Ly8KICAgICAgICAgICAgc3RhdGUubW9kZSA9IEZMQUdTOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIHN0YXRlLmZsYWdzID0gMDsgICAgICAgICAgIC8qIGV4cGVjdCB6bGliIGhlYWRlciAqLwogICAgICAgICAgaWYgKHN0YXRlLmhlYWQpIHsKICAgICAgICAgICAgc3RhdGUuaGVhZC5kb25lID0gZmFsc2U7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoIShzdGF0ZS53cmFwICYgMSkgfHwgICAvKiBjaGVjayBpZiB6bGliIGhlYWRlciBhbGxvd2VkICovCiAgICAgICAgICAgICgoKGhvbGQgJiAweGZmKS8qQklUUyg4KSovIDw8IDgpICsgKGhvbGQgPj4gOCkpICUgMzEpIHsKICAgICAgICAgICAgc3RybS5tc2cgPSAnaW5jb3JyZWN0IGhlYWRlciBjaGVjayc7CiAgICAgICAgICAgIHN0YXRlLm1vZGUgPSBCQUQ7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgaWYgKChob2xkICYgMHgwZikvKkJJVFMoNCkqLyAhPT0gWl9ERUZMQVRFRCkgewogICAgICAgICAgICBzdHJtLm1zZyA9ICd1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZCc7CiAgICAgICAgICAgIHN0YXRlLm1vZGUgPSBCQUQ7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgLy8tLS0gRFJPUEJJVFMoNCkgLS0tLy8KICAgICAgICAgIGhvbGQgPj4+PSA0OwogICAgICAgICAgYml0cyAtPSA0OwogICAgICAgICAgLy8tLS0vLwogICAgICAgICAgbGVuID0gKGhvbGQgJiAweDBmKS8qQklUUyg0KSovICsgODsKICAgICAgICAgIGlmIChzdGF0ZS53Yml0cyA9PT0gMCkgewogICAgICAgICAgICBzdGF0ZS53Yml0cyA9IGxlbjsKICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgaWYgKGxlbiA+IHN0YXRlLndiaXRzKSB7CiAgICAgICAgICAgIHN0cm0ubXNnID0gJ2ludmFsaWQgd2luZG93IHNpemUnOwogICAgICAgICAgICBzdGF0ZS5tb2RlID0gQkFEOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KCiAgICAgICAgICAvLyAhISEgcGFrbyBwYXRjaC4gRm9yY2UgdXNlIGBvcHRpb25zLndpbmRvd0JpdHNgIGlmIHBhc3NlZC4KICAgICAgICAgIC8vIFJlcXVpcmVkIHRvIGFsd2F5cyB1c2UgbWF4IHdpbmRvdyBzaXplIGJ5IGRlZmF1bHQuCiAgICAgICAgICBzdGF0ZS5kbWF4ID0gMSA8PCBzdGF0ZS53Yml0czsKICAgICAgICAgIC8vc3RhdGUuZG1heCA9IDEgPDwgbGVuOwoKICAgICAgICAgIC8vVHJhY2V2KChzdGRlcnIsICJpbmZsYXRlOiAgIHpsaWIgaGVhZGVyIG9rXG4iKSk7CiAgICAgICAgICBzdHJtLmFkbGVyID0gc3RhdGUuY2hlY2sgPSAxLyphZGxlcjMyKDBMLCBaX05VTEwsIDApKi87CiAgICAgICAgICBzdGF0ZS5tb2RlID0gaG9sZCAmIDB4MjAwID8gRElDVElEIDogVFlQRTsKICAgICAgICAgIC8vPT09IElOSVRCSVRTKCk7CiAgICAgICAgICBob2xkID0gMDsKICAgICAgICAgIGJpdHMgPSAwOwogICAgICAgICAgLy89PT0vLwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSBGTEFHUzoKICAgICAgICAgIC8vPT09IE5FRURCSVRTKDE2KTsgKi8KICAgICAgICAgIHdoaWxlIChiaXRzIDwgMTYpIHsKICAgICAgICAgICAgaWYgKGhhdmUgPT09IDApIHsgYnJlYWsgaW5mX2xlYXZlOyB9CiAgICAgICAgICAgIGhhdmUtLTsKICAgICAgICAgICAgaG9sZCArPSBpbnB1dFtuZXh0KytdIDw8IGJpdHM7CiAgICAgICAgICAgIGJpdHMgKz0gODsKICAgICAgICAgIH0KICAgICAgICAgIC8vPT09Ly8KICAgICAgICAgIHN0YXRlLmZsYWdzID0gaG9sZDsKICAgICAgICAgIGlmICgoc3RhdGUuZmxhZ3MgJiAweGZmKSAhPT0gWl9ERUZMQVRFRCkgewogICAgICAgICAgICBzdHJtLm1zZyA9ICd1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZCc7CiAgICAgICAgICAgIHN0YXRlLm1vZGUgPSBCQUQ7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHN0YXRlLmZsYWdzICYgMHhlMDAwKSB7CiAgICAgICAgICAgIHN0cm0ubXNnID0gJ3Vua25vd24gaGVhZGVyIGZsYWdzIHNldCc7CiAgICAgICAgICAgIHN0YXRlLm1vZGUgPSBCQUQ7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHN0YXRlLmhlYWQpIHsKICAgICAgICAgICAgc3RhdGUuaGVhZC50ZXh0ID0gKChob2xkID4+IDgpICYgMSk7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoc3RhdGUuZmxhZ3MgJiAweDAyMDApIHsKICAgICAgICAgICAgLy89PT0gQ1JDMihzdGF0ZS5jaGVjaywgaG9sZCk7CiAgICAgICAgICAgIGhidWZbMF0gPSBob2xkICYgMHhmZjsKICAgICAgICAgICAgaGJ1ZlsxXSA9IChob2xkID4+PiA4KSAmIDB4ZmY7CiAgICAgICAgICAgIHN0YXRlLmNoZWNrID0gY3JjMzJfMShzdGF0ZS5jaGVjaywgaGJ1ZiwgMiwgMCk7CiAgICAgICAgICAgIC8vPT09Ly8KICAgICAgICAgIH0KICAgICAgICAgIC8vPT09IElOSVRCSVRTKCk7CiAgICAgICAgICBob2xkID0gMDsKICAgICAgICAgIGJpdHMgPSAwOwogICAgICAgICAgLy89PT0vLwogICAgICAgICAgc3RhdGUubW9kZSA9IFRJTUU7CiAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICAgLy89PT0gTkVFREJJVFMoMzIpOyAqLwogICAgICAgICAgd2hpbGUgKGJpdHMgPCAzMikgewogICAgICAgICAgICBpZiAoaGF2ZSA9PT0gMCkgeyBicmVhayBpbmZfbGVhdmU7IH0KICAgICAgICAgICAgaGF2ZS0tOwogICAgICAgICAgICBob2xkICs9IGlucHV0W25leHQrK10gPDwgYml0czsKICAgICAgICAgICAgYml0cyArPSA4OwogICAgICAgICAgfQogICAgICAgICAgLy89PT0vLwogICAgICAgICAgaWYgKHN0YXRlLmhlYWQpIHsKICAgICAgICAgICAgc3RhdGUuaGVhZC50aW1lID0gaG9sZDsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChzdGF0ZS5mbGFncyAmIDB4MDIwMCkgewogICAgICAgICAgICAvLz09PSBDUkM0KHN0YXRlLmNoZWNrLCBob2xkKQogICAgICAgICAgICBoYnVmWzBdID0gaG9sZCAmIDB4ZmY7CiAgICAgICAgICAgIGhidWZbMV0gPSAoaG9sZCA+Pj4gOCkgJiAweGZmOwogICAgICAgICAgICBoYnVmWzJdID0gKGhvbGQgPj4+IDE2KSAmIDB4ZmY7CiAgICAgICAgICAgIGhidWZbM10gPSAoaG9sZCA+Pj4gMjQpICYgMHhmZjsKICAgICAgICAgICAgc3RhdGUuY2hlY2sgPSBjcmMzMl8xKHN0YXRlLmNoZWNrLCBoYnVmLCA0LCAwKTsKICAgICAgICAgICAgLy89PT0KICAgICAgICAgIH0KICAgICAgICAgIC8vPT09IElOSVRCSVRTKCk7CiAgICAgICAgICBob2xkID0gMDsKICAgICAgICAgIGJpdHMgPSAwOwogICAgICAgICAgLy89PT0vLwogICAgICAgICAgc3RhdGUubW9kZSA9IE9TOwogICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgT1M6CiAgICAgICAgICAvLz09PSBORUVEQklUUygxNik7ICovCiAgICAgICAgICB3aGlsZSAoYml0cyA8IDE2KSB7CiAgICAgICAgICAgIGlmIChoYXZlID09PSAwKSB7IGJyZWFrIGluZl9sZWF2ZTsgfQogICAgICAgICAgICBoYXZlLS07CiAgICAgICAgICAgIGhvbGQgKz0gaW5wdXRbbmV4dCsrXSA8PCBiaXRzOwogICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICB9CiAgICAgICAgICAvLz09PS8vCiAgICAgICAgICBpZiAoc3RhdGUuaGVhZCkgewogICAgICAgICAgICBzdGF0ZS5oZWFkLnhmbGFncyA9IChob2xkICYgMHhmZik7CiAgICAgICAgICAgIHN0YXRlLmhlYWQub3MgPSAoaG9sZCA+PiA4KTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChzdGF0ZS5mbGFncyAmIDB4MDIwMCkgewogICAgICAgICAgICAvLz09PSBDUkMyKHN0YXRlLmNoZWNrLCBob2xkKTsKICAgICAgICAgICAgaGJ1ZlswXSA9IGhvbGQgJiAweGZmOwogICAgICAgICAgICBoYnVmWzFdID0gKGhvbGQgPj4+IDgpICYgMHhmZjsKICAgICAgICAgICAgc3RhdGUuY2hlY2sgPSBjcmMzMl8xKHN0YXRlLmNoZWNrLCBoYnVmLCAyLCAwKTsKICAgICAgICAgICAgLy89PT0vLwogICAgICAgICAgfQogICAgICAgICAgLy89PT0gSU5JVEJJVFMoKTsKICAgICAgICAgIGhvbGQgPSAwOwogICAgICAgICAgYml0cyA9IDA7CiAgICAgICAgICAvLz09PS8vCiAgICAgICAgICBzdGF0ZS5tb2RlID0gRVhMRU47CiAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgY2FzZSBFWExFTjoKICAgICAgICAgIGlmIChzdGF0ZS5mbGFncyAmIDB4MDQwMCkgewogICAgICAgICAgICAvLz09PSBORUVEQklUUygxNik7ICovCiAgICAgICAgICAgIHdoaWxlIChiaXRzIDwgMTYpIHsKICAgICAgICAgICAgICBpZiAoaGF2ZSA9PT0gMCkgeyBicmVhayBpbmZfbGVhdmU7IH0KICAgICAgICAgICAgICBoYXZlLS07CiAgICAgICAgICAgICAgaG9sZCArPSBpbnB1dFtuZXh0KytdIDw8IGJpdHM7CiAgICAgICAgICAgICAgYml0cyArPSA4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vPT09Ly8KICAgICAgICAgICAgc3RhdGUubGVuZ3RoID0gaG9sZDsKICAgICAgICAgICAgaWYgKHN0YXRlLmhlYWQpIHsKICAgICAgICAgICAgICBzdGF0ZS5oZWFkLmV4dHJhX2xlbiA9IGhvbGQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHN0YXRlLmZsYWdzICYgMHgwMjAwKSB7CiAgICAgICAgICAgICAgLy89PT0gQ1JDMihzdGF0ZS5jaGVjaywgaG9sZCk7CiAgICAgICAgICAgICAgaGJ1ZlswXSA9IGhvbGQgJiAweGZmOwogICAgICAgICAgICAgIGhidWZbMV0gPSAoaG9sZCA+Pj4gOCkgJiAweGZmOwogICAgICAgICAgICAgIHN0YXRlLmNoZWNrID0gY3JjMzJfMShzdGF0ZS5jaGVjaywgaGJ1ZiwgMiwgMCk7CiAgICAgICAgICAgICAgLy89PT0vLwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vPT09IElOSVRCSVRTKCk7CiAgICAgICAgICAgIGhvbGQgPSAwOwogICAgICAgICAgICBiaXRzID0gMDsKICAgICAgICAgICAgLy89PT0vLwogICAgICAgICAgfQogICAgICAgICAgZWxzZSBpZiAoc3RhdGUuaGVhZCkgewogICAgICAgICAgICBzdGF0ZS5oZWFkLmV4dHJhID0gbnVsbC8qWl9OVUxMKi87CiAgICAgICAgICB9CiAgICAgICAgICBzdGF0ZS5tb2RlID0gRVhUUkE7CiAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgY2FzZSBFWFRSQToKICAgICAgICAgIGlmIChzdGF0ZS5mbGFncyAmIDB4MDQwMCkgewogICAgICAgICAgICBjb3B5ID0gc3RhdGUubGVuZ3RoOwogICAgICAgICAgICBpZiAoY29weSA+IGhhdmUpIHsgY29weSA9IGhhdmU7IH0KICAgICAgICAgICAgaWYgKGNvcHkpIHsKICAgICAgICAgICAgICBpZiAoc3RhdGUuaGVhZCkgewogICAgICAgICAgICAgICAgbGVuID0gc3RhdGUuaGVhZC5leHRyYV9sZW4gLSBzdGF0ZS5sZW5ndGg7CiAgICAgICAgICAgICAgICBpZiAoIXN0YXRlLmhlYWQuZXh0cmEpIHsKICAgICAgICAgICAgICAgICAgLy8gVXNlIHVudHlwZWQgYXJyYXkgZm9yIG1vcmUgY29udmVuaWVudCBwcm9jZXNzaW5nIGxhdGVyCiAgICAgICAgICAgICAgICAgIHN0YXRlLmhlYWQuZXh0cmEgPSBuZXcgVWludDhBcnJheShzdGF0ZS5oZWFkLmV4dHJhX2xlbik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzdGF0ZS5oZWFkLmV4dHJhLnNldCgKICAgICAgICAgICAgICAgICAgaW5wdXQuc3ViYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgbmV4dCwKICAgICAgICAgICAgICAgICAgICAvLyBleHRyYSBmaWVsZCBpcyBsaW1pdGVkIHRvIDY1NTM2IGJ5dGVzCiAgICAgICAgICAgICAgICAgICAgLy8gLSBubyBuZWVkIGZvciBhZGRpdGlvbmFsIHNpemUgY2hlY2sKICAgICAgICAgICAgICAgICAgICBuZXh0ICsgY29weQogICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAvKmxlbiArIGNvcHkgPiBzdGF0ZS5oZWFkLmV4dHJhX21heCAtIGxlbiA/IHN0YXRlLmhlYWQuZXh0cmFfbWF4IDogY29weSwqLwogICAgICAgICAgICAgICAgICBsZW4KICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAvL3ptZW1jcHkoc3RhdGUuaGVhZC5leHRyYSArIGxlbiwgbmV4dCwKICAgICAgICAgICAgICAgIC8vICAgICAgICBsZW4gKyBjb3B5ID4gc3RhdGUuaGVhZC5leHRyYV9tYXggPwogICAgICAgICAgICAgICAgLy8gICAgICAgIHN0YXRlLmhlYWQuZXh0cmFfbWF4IC0gbGVuIDogY29weSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIChzdGF0ZS5mbGFncyAmIDB4MDIwMCkgewogICAgICAgICAgICAgICAgc3RhdGUuY2hlY2sgPSBjcmMzMl8xKHN0YXRlLmNoZWNrLCBpbnB1dCwgY29weSwgbmV4dCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGhhdmUgLT0gY29weTsKICAgICAgICAgICAgICBuZXh0ICs9IGNvcHk7CiAgICAgICAgICAgICAgc3RhdGUubGVuZ3RoIC09IGNvcHk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHN0YXRlLmxlbmd0aCkgeyBicmVhayBpbmZfbGVhdmU7IH0KICAgICAgICAgIH0KICAgICAgICAgIHN0YXRlLmxlbmd0aCA9IDA7CiAgICAgICAgICBzdGF0ZS5tb2RlID0gTkFNRTsKICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlIE5BTUU6CiAgICAgICAgICBpZiAoc3RhdGUuZmxhZ3MgJiAweDA4MDApIHsKICAgICAgICAgICAgaWYgKGhhdmUgPT09IDApIHsgYnJlYWsgaW5mX2xlYXZlOyB9CiAgICAgICAgICAgIGNvcHkgPSAwOwogICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgLy8gVE9ETzogMiBvciAxIGJ5dGVzPwogICAgICAgICAgICAgIGxlbiA9IGlucHV0W25leHQgKyBjb3B5KytdOwogICAgICAgICAgICAgIC8qIHVzZSBjb25zdGFudCBsaW1pdCBiZWNhdXNlIGluIGpzIHdlIHNob3VsZCBub3QgcHJlYWxsb2NhdGUgbWVtb3J5ICovCiAgICAgICAgICAgICAgaWYgKHN0YXRlLmhlYWQgJiYgbGVuICYmCiAgICAgICAgICAgICAgICAgIChzdGF0ZS5sZW5ndGggPCA2NTUzNiAvKnN0YXRlLmhlYWQubmFtZV9tYXgqLykpIHsKICAgICAgICAgICAgICAgIHN0YXRlLmhlYWQubmFtZSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGxlbik7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IHdoaWxlIChsZW4gJiYgY29weSA8IGhhdmUpOwoKICAgICAgICAgICAgaWYgKHN0YXRlLmZsYWdzICYgMHgwMjAwKSB7CiAgICAgICAgICAgICAgc3RhdGUuY2hlY2sgPSBjcmMzMl8xKHN0YXRlLmNoZWNrLCBpbnB1dCwgY29weSwgbmV4dCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaGF2ZSAtPSBjb3B5OwogICAgICAgICAgICBuZXh0ICs9IGNvcHk7CiAgICAgICAgICAgIGlmIChsZW4pIHsgYnJlYWsgaW5mX2xlYXZlOyB9CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIGlmIChzdGF0ZS5oZWFkKSB7CiAgICAgICAgICAgIHN0YXRlLmhlYWQubmFtZSA9IG51bGw7CiAgICAgICAgICB9CiAgICAgICAgICBzdGF0ZS5sZW5ndGggPSAwOwogICAgICAgICAgc3RhdGUubW9kZSA9IENPTU1FTlQ7CiAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgY2FzZSBDT01NRU5UOgogICAgICAgICAgaWYgKHN0YXRlLmZsYWdzICYgMHgxMDAwKSB7CiAgICAgICAgICAgIGlmIChoYXZlID09PSAwKSB7IGJyZWFrIGluZl9sZWF2ZTsgfQogICAgICAgICAgICBjb3B5ID0gMDsKICAgICAgICAgICAgZG8gewogICAgICAgICAgICAgIGxlbiA9IGlucHV0W25leHQgKyBjb3B5KytdOwogICAgICAgICAgICAgIC8qIHVzZSBjb25zdGFudCBsaW1pdCBiZWNhdXNlIGluIGpzIHdlIHNob3VsZCBub3QgcHJlYWxsb2NhdGUgbWVtb3J5ICovCiAgICAgICAgICAgICAgaWYgKHN0YXRlLmhlYWQgJiYgbGVuICYmCiAgICAgICAgICAgICAgICAgIChzdGF0ZS5sZW5ndGggPCA2NTUzNiAvKnN0YXRlLmhlYWQuY29tbV9tYXgqLykpIHsKICAgICAgICAgICAgICAgIHN0YXRlLmhlYWQuY29tbWVudCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGxlbik7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IHdoaWxlIChsZW4gJiYgY29weSA8IGhhdmUpOwogICAgICAgICAgICBpZiAoc3RhdGUuZmxhZ3MgJiAweDAyMDApIHsKICAgICAgICAgICAgICBzdGF0ZS5jaGVjayA9IGNyYzMyXzEoc3RhdGUuY2hlY2ssIGlucHV0LCBjb3B5LCBuZXh0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBoYXZlIC09IGNvcHk7CiAgICAgICAgICAgIG5leHQgKz0gY29weTsKICAgICAgICAgICAgaWYgKGxlbikgeyBicmVhayBpbmZfbGVhdmU7IH0KICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgaWYgKHN0YXRlLmhlYWQpIHsKICAgICAgICAgICAgc3RhdGUuaGVhZC5jb21tZW50ID0gbnVsbDsKICAgICAgICAgIH0KICAgICAgICAgIHN0YXRlLm1vZGUgPSBIQ1JDOwogICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgSENSQzoKICAgICAgICAgIGlmIChzdGF0ZS5mbGFncyAmIDB4MDIwMCkgewogICAgICAgICAgICAvLz09PSBORUVEQklUUygxNik7ICovCiAgICAgICAgICAgIHdoaWxlIChiaXRzIDwgMTYpIHsKICAgICAgICAgICAgICBpZiAoaGF2ZSA9PT0gMCkgeyBicmVhayBpbmZfbGVhdmU7IH0KICAgICAgICAgICAgICBoYXZlLS07CiAgICAgICAgICAgICAgaG9sZCArPSBpbnB1dFtuZXh0KytdIDw8IGJpdHM7CiAgICAgICAgICAgICAgYml0cyArPSA4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vPT09Ly8KICAgICAgICAgICAgaWYgKGhvbGQgIT09IChzdGF0ZS5jaGVjayAmIDB4ZmZmZikpIHsKICAgICAgICAgICAgICBzdHJtLm1zZyA9ICdoZWFkZXIgY3JjIG1pc21hdGNoJzsKICAgICAgICAgICAgICBzdGF0ZS5tb2RlID0gQkFEOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vPT09IElOSVRCSVRTKCk7CiAgICAgICAgICAgIGhvbGQgPSAwOwogICAgICAgICAgICBiaXRzID0gMDsKICAgICAgICAgICAgLy89PT0vLwogICAgICAgICAgfQogICAgICAgICAgaWYgKHN0YXRlLmhlYWQpIHsKICAgICAgICAgICAgc3RhdGUuaGVhZC5oY3JjID0gKChzdGF0ZS5mbGFncyA+PiA5KSAmIDEpOwogICAgICAgICAgICBzdGF0ZS5oZWFkLmRvbmUgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgICAgc3RybS5hZGxlciA9IHN0YXRlLmNoZWNrID0gMDsKICAgICAgICAgIHN0YXRlLm1vZGUgPSBUWVBFOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSBESUNUSUQ6CiAgICAgICAgICAvLz09PSBORUVEQklUUygzMik7ICovCiAgICAgICAgICB3aGlsZSAoYml0cyA8IDMyKSB7CiAgICAgICAgICAgIGlmIChoYXZlID09PSAwKSB7IGJyZWFrIGluZl9sZWF2ZTsgfQogICAgICAgICAgICBoYXZlLS07CiAgICAgICAgICAgIGhvbGQgKz0gaW5wdXRbbmV4dCsrXSA8PCBiaXRzOwogICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICB9CiAgICAgICAgICAvLz09PS8vCiAgICAgICAgICBzdHJtLmFkbGVyID0gc3RhdGUuY2hlY2sgPSB6c3dhcDMyKGhvbGQpOwogICAgICAgICAgLy89PT0gSU5JVEJJVFMoKTsKICAgICAgICAgIGhvbGQgPSAwOwogICAgICAgICAgYml0cyA9IDA7CiAgICAgICAgICAvLz09PS8vCiAgICAgICAgICBzdGF0ZS5tb2RlID0gRElDVDsKICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlIERJQ1Q6CiAgICAgICAgICBpZiAoc3RhdGUuaGF2ZWRpY3QgPT09IDApIHsKICAgICAgICAgICAgLy8tLS0gUkVTVE9SRSgpIC0tLQogICAgICAgICAgICBzdHJtLm5leHRfb3V0ID0gcHV0OwogICAgICAgICAgICBzdHJtLmF2YWlsX291dCA9IGxlZnQ7CiAgICAgICAgICAgIHN0cm0ubmV4dF9pbiA9IG5leHQ7CiAgICAgICAgICAgIHN0cm0uYXZhaWxfaW4gPSBoYXZlOwogICAgICAgICAgICBzdGF0ZS5ob2xkID0gaG9sZDsKICAgICAgICAgICAgc3RhdGUuYml0cyA9IGJpdHM7CiAgICAgICAgICAgIC8vLS0tCiAgICAgICAgICAgIHJldHVybiBaX05FRURfRElDVCQxOwogICAgICAgICAgfQogICAgICAgICAgc3RybS5hZGxlciA9IHN0YXRlLmNoZWNrID0gMS8qYWRsZXIzMigwTCwgWl9OVUxMLCAwKSovOwogICAgICAgICAgc3RhdGUubW9kZSA9IFRZUEU7CiAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgY2FzZSBUWVBFOgogICAgICAgICAgaWYgKGZsdXNoID09PSBaX0JMT0NLIHx8IGZsdXNoID09PSBaX1RSRUVTKSB7IGJyZWFrIGluZl9sZWF2ZTsgfQogICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgVFlQRURPOgogICAgICAgICAgaWYgKHN0YXRlLmxhc3QpIHsKICAgICAgICAgICAgLy8tLS0gQllURUJJVFMoKSAtLS0vLwogICAgICAgICAgICBob2xkID4+Pj0gYml0cyAmIDc7CiAgICAgICAgICAgIGJpdHMgLT0gYml0cyAmIDc7CiAgICAgICAgICAgIC8vLS0tLy8KICAgICAgICAgICAgc3RhdGUubW9kZSA9IENIRUNLOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIC8vPT09IE5FRURCSVRTKDMpOyAqLwogICAgICAgICAgd2hpbGUgKGJpdHMgPCAzKSB7CiAgICAgICAgICAgIGlmIChoYXZlID09PSAwKSB7IGJyZWFrIGluZl9sZWF2ZTsgfQogICAgICAgICAgICBoYXZlLS07CiAgICAgICAgICAgIGhvbGQgKz0gaW5wdXRbbmV4dCsrXSA8PCBiaXRzOwogICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICB9CiAgICAgICAgICAvLz09PS8vCiAgICAgICAgICBzdGF0ZS5sYXN0ID0gKGhvbGQgJiAweDAxKS8qQklUUygxKSovOwogICAgICAgICAgLy8tLS0gRFJPUEJJVFMoMSkgLS0tLy8KICAgICAgICAgIGhvbGQgPj4+PSAxOwogICAgICAgICAgYml0cyAtPSAxOwogICAgICAgICAgLy8tLS0vLwoKICAgICAgICAgIHN3aXRjaCAoKGhvbGQgJiAweDAzKS8qQklUUygyKSovKSB7CiAgICAgICAgICAgIGNhc2UgMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHN0b3JlZCBibG9jayAqLwogICAgICAgICAgICAgIC8vVHJhY2V2KChzdGRlcnIsICJpbmZsYXRlOiAgICAgc3RvcmVkIGJsb2NrJXNcbiIsCiAgICAgICAgICAgICAgLy8gICAgICAgIHN0YXRlLmxhc3QgPyAiIChsYXN0KSIgOiAiIikpOwogICAgICAgICAgICAgIHN0YXRlLm1vZGUgPSBTVE9SRUQ7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGZpeGVkIGJsb2NrICovCiAgICAgICAgICAgICAgZml4ZWR0YWJsZXMoc3RhdGUpOwogICAgICAgICAgICAgIC8vVHJhY2V2KChzdGRlcnIsICJpbmZsYXRlOiAgICAgZml4ZWQgY29kZXMgYmxvY2slc1xuIiwKICAgICAgICAgICAgICAvLyAgICAgICAgc3RhdGUubGFzdCA/ICIgKGxhc3QpIiA6ICIiKSk7CiAgICAgICAgICAgICAgc3RhdGUubW9kZSA9IExFTl87ICAgICAgICAgICAgIC8qIGRlY29kZSBjb2RlcyAqLwogICAgICAgICAgICAgIGlmIChmbHVzaCA9PT0gWl9UUkVFUykgewogICAgICAgICAgICAgICAgLy8tLS0gRFJPUEJJVFMoMikgLS0tLy8KICAgICAgICAgICAgICAgIGhvbGQgPj4+PSAyOwogICAgICAgICAgICAgICAgYml0cyAtPSAyOwogICAgICAgICAgICAgICAgLy8tLS0vLwogICAgICAgICAgICAgICAgYnJlYWsgaW5mX2xlYXZlOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogZHluYW1pYyBibG9jayAqLwogICAgICAgICAgICAgIC8vVHJhY2V2KChzdGRlcnIsICJpbmZsYXRlOiAgICAgZHluYW1pYyBjb2RlcyBibG9jayVzXG4iLAogICAgICAgICAgICAgIC8vICAgICAgICBzdGF0ZS5sYXN0ID8gIiAobGFzdCkiIDogIiIpKTsKICAgICAgICAgICAgICBzdGF0ZS5tb2RlID0gVEFCTEU7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICBzdHJtLm1zZyA9ICdpbnZhbGlkIGJsb2NrIHR5cGUnOwogICAgICAgICAgICAgIHN0YXRlLm1vZGUgPSBCQUQ7CiAgICAgICAgICB9CiAgICAgICAgICAvLy0tLSBEUk9QQklUUygyKSAtLS0vLwogICAgICAgICAgaG9sZCA+Pj49IDI7CiAgICAgICAgICBiaXRzIC09IDI7CiAgICAgICAgICAvLy0tLS8vCiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIFNUT1JFRDoKICAgICAgICAgIC8vLS0tIEJZVEVCSVRTKCkgLS0tLy8gLyogZ28gdG8gYnl0ZSBib3VuZGFyeSAqLwogICAgICAgICAgaG9sZCA+Pj49IGJpdHMgJiA3OwogICAgICAgICAgYml0cyAtPSBiaXRzICYgNzsKICAgICAgICAgIC8vLS0tLy8KICAgICAgICAgIC8vPT09IE5FRURCSVRTKDMyKTsgKi8KICAgICAgICAgIHdoaWxlIChiaXRzIDwgMzIpIHsKICAgICAgICAgICAgaWYgKGhhdmUgPT09IDApIHsgYnJlYWsgaW5mX2xlYXZlOyB9CiAgICAgICAgICAgIGhhdmUtLTsKICAgICAgICAgICAgaG9sZCArPSBpbnB1dFtuZXh0KytdIDw8IGJpdHM7CiAgICAgICAgICAgIGJpdHMgKz0gODsKICAgICAgICAgIH0KICAgICAgICAgIC8vPT09Ly8KICAgICAgICAgIGlmICgoaG9sZCAmIDB4ZmZmZikgIT09ICgoaG9sZCA+Pj4gMTYpIF4gMHhmZmZmKSkgewogICAgICAgICAgICBzdHJtLm1zZyA9ICdpbnZhbGlkIHN0b3JlZCBibG9jayBsZW5ndGhzJzsKICAgICAgICAgICAgc3RhdGUubW9kZSA9IEJBRDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBzdGF0ZS5sZW5ndGggPSBob2xkICYgMHhmZmZmOwogICAgICAgICAgLy9UcmFjZXYoKHN0ZGVyciwgImluZmxhdGU6ICAgICAgIHN0b3JlZCBsZW5ndGggJXVcbiIsCiAgICAgICAgICAvLyAgICAgICAgc3RhdGUubGVuZ3RoKSk7CiAgICAgICAgICAvLz09PSBJTklUQklUUygpOwogICAgICAgICAgaG9sZCA9IDA7CiAgICAgICAgICBiaXRzID0gMDsKICAgICAgICAgIC8vPT09Ly8KICAgICAgICAgIHN0YXRlLm1vZGUgPSBDT1BZXzsKICAgICAgICAgIGlmIChmbHVzaCA9PT0gWl9UUkVFUykgeyBicmVhayBpbmZfbGVhdmU7IH0KICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlIENPUFlfOgogICAgICAgICAgc3RhdGUubW9kZSA9IENPUFk7CiAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgY2FzZSBDT1BZOgogICAgICAgICAgY29weSA9IHN0YXRlLmxlbmd0aDsKICAgICAgICAgIGlmIChjb3B5KSB7CiAgICAgICAgICAgIGlmIChjb3B5ID4gaGF2ZSkgeyBjb3B5ID0gaGF2ZTsgfQogICAgICAgICAgICBpZiAoY29weSA+IGxlZnQpIHsgY29weSA9IGxlZnQ7IH0KICAgICAgICAgICAgaWYgKGNvcHkgPT09IDApIHsgYnJlYWsgaW5mX2xlYXZlOyB9CiAgICAgICAgICAgIC8vLS0tIHptZW1jcHkocHV0LCBuZXh0LCBjb3B5KTsgLS0tCiAgICAgICAgICAgIG91dHB1dC5zZXQoaW5wdXQuc3ViYXJyYXkobmV4dCwgbmV4dCArIGNvcHkpLCBwdXQpOwogICAgICAgICAgICAvLy0tLS8vCiAgICAgICAgICAgIGhhdmUgLT0gY29weTsKICAgICAgICAgICAgbmV4dCArPSBjb3B5OwogICAgICAgICAgICBsZWZ0IC09IGNvcHk7CiAgICAgICAgICAgIHB1dCArPSBjb3B5OwogICAgICAgICAgICBzdGF0ZS5sZW5ndGggLT0gY29weTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICAvL1RyYWNldigoc3RkZXJyLCAiaW5mbGF0ZTogICAgICAgc3RvcmVkIGVuZFxuIikpOwogICAgICAgICAgc3RhdGUubW9kZSA9IFRZUEU7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIFRBQkxFOgogICAgICAgICAgLy89PT0gTkVFREJJVFMoMTQpOyAqLwogICAgICAgICAgd2hpbGUgKGJpdHMgPCAxNCkgewogICAgICAgICAgICBpZiAoaGF2ZSA9PT0gMCkgeyBicmVhayBpbmZfbGVhdmU7IH0KICAgICAgICAgICAgaGF2ZS0tOwogICAgICAgICAgICBob2xkICs9IGlucHV0W25leHQrK10gPDwgYml0czsKICAgICAgICAgICAgYml0cyArPSA4OwogICAgICAgICAgfQogICAgICAgICAgLy89PT0vLwogICAgICAgICAgc3RhdGUubmxlbiA9IChob2xkICYgMHgxZikvKkJJVFMoNSkqLyArIDI1NzsKICAgICAgICAgIC8vLS0tIERST1BCSVRTKDUpIC0tLS8vCiAgICAgICAgICBob2xkID4+Pj0gNTsKICAgICAgICAgIGJpdHMgLT0gNTsKICAgICAgICAgIC8vLS0tLy8KICAgICAgICAgIHN0YXRlLm5kaXN0ID0gKGhvbGQgJiAweDFmKS8qQklUUyg1KSovICsgMTsKICAgICAgICAgIC8vLS0tIERST1BCSVRTKDUpIC0tLS8vCiAgICAgICAgICBob2xkID4+Pj0gNTsKICAgICAgICAgIGJpdHMgLT0gNTsKICAgICAgICAgIC8vLS0tLy8KICAgICAgICAgIHN0YXRlLm5jb2RlID0gKGhvbGQgJiAweDBmKS8qQklUUyg0KSovICsgNDsKICAgICAgICAgIC8vLS0tIERST1BCSVRTKDQpIC0tLS8vCiAgICAgICAgICBob2xkID4+Pj0gNDsKICAgICAgICAgIGJpdHMgLT0gNDsKICAgICAgICAgIC8vLS0tLy8KICAvLyNpZm5kZWYgUEtaSVBfQlVHX1dPUktBUk9VTkQKICAgICAgICAgIGlmIChzdGF0ZS5ubGVuID4gMjg2IHx8IHN0YXRlLm5kaXN0ID4gMzApIHsKICAgICAgICAgICAgc3RybS5tc2cgPSAndG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMnOwogICAgICAgICAgICBzdGF0ZS5tb2RlID0gQkFEOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAvLyNlbmRpZgogICAgICAgICAgLy9UcmFjZXYoKHN0ZGVyciwgImluZmxhdGU6ICAgICAgIHRhYmxlIHNpemVzIG9rXG4iKSk7CiAgICAgICAgICBzdGF0ZS5oYXZlID0gMDsKICAgICAgICAgIHN0YXRlLm1vZGUgPSBMRU5MRU5TOwogICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgTEVOTEVOUzoKICAgICAgICAgIHdoaWxlIChzdGF0ZS5oYXZlIDwgc3RhdGUubmNvZGUpIHsKICAgICAgICAgICAgLy89PT0gTkVFREJJVFMoMyk7CiAgICAgICAgICAgIHdoaWxlIChiaXRzIDwgMykgewogICAgICAgICAgICAgIGlmIChoYXZlID09PSAwKSB7IGJyZWFrIGluZl9sZWF2ZTsgfQogICAgICAgICAgICAgIGhhdmUtLTsKICAgICAgICAgICAgICBob2xkICs9IGlucHV0W25leHQrK10gPDwgYml0czsKICAgICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy89PT0vLwogICAgICAgICAgICBzdGF0ZS5sZW5zW29yZGVyW3N0YXRlLmhhdmUrK11dID0gKGhvbGQgJiAweDA3KTsvL0JJVFMoMyk7CiAgICAgICAgICAgIC8vLS0tIERST1BCSVRTKDMpIC0tLS8vCiAgICAgICAgICAgIGhvbGQgPj4+PSAzOwogICAgICAgICAgICBiaXRzIC09IDM7CiAgICAgICAgICAgIC8vLS0tLy8KICAgICAgICAgIH0KICAgICAgICAgIHdoaWxlIChzdGF0ZS5oYXZlIDwgMTkpIHsKICAgICAgICAgICAgc3RhdGUubGVuc1tvcmRlcltzdGF0ZS5oYXZlKytdXSA9IDA7CiAgICAgICAgICB9CiAgICAgICAgICAvLyBXZSBoYXZlIHNlcGFyYXRlIHRhYmxlcyAmIG5vIHBvaW50ZXJzLiAyIGNvbW1lbnRlZCBsaW5lcyBiZWxvdyBub3QgbmVlZGVkLgogICAgICAgICAgLy9zdGF0ZS5uZXh0ID0gc3RhdGUuY29kZXM7CiAgICAgICAgICAvL3N0YXRlLmxlbmNvZGUgPSBzdGF0ZS5uZXh0OwogICAgICAgICAgLy8gU3dpdGNoIHRvIHVzZSBkeW5hbWljIHRhYmxlCiAgICAgICAgICBzdGF0ZS5sZW5jb2RlID0gc3RhdGUubGVuZHluOwogICAgICAgICAgc3RhdGUubGVuYml0cyA9IDc7CgogICAgICAgICAgb3B0cyA9IHsgYml0czogc3RhdGUubGVuYml0cyB9OwogICAgICAgICAgcmV0ID0gaW5mdHJlZXMoQ09ERVMsIHN0YXRlLmxlbnMsIDAsIDE5LCBzdGF0ZS5sZW5jb2RlLCAwLCBzdGF0ZS53b3JrLCBvcHRzKTsKICAgICAgICAgIHN0YXRlLmxlbmJpdHMgPSBvcHRzLmJpdHM7CgogICAgICAgICAgaWYgKHJldCkgewogICAgICAgICAgICBzdHJtLm1zZyA9ICdpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQnOwogICAgICAgICAgICBzdGF0ZS5tb2RlID0gQkFEOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIC8vVHJhY2V2KChzdGRlcnIsICJpbmZsYXRlOiAgICAgICBjb2RlIGxlbmd0aHMgb2tcbiIpKTsKICAgICAgICAgIHN0YXRlLmhhdmUgPSAwOwogICAgICAgICAgc3RhdGUubW9kZSA9IENPREVMRU5TOwogICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgQ09ERUxFTlM6CiAgICAgICAgICB3aGlsZSAoc3RhdGUuaGF2ZSA8IHN0YXRlLm5sZW4gKyBzdGF0ZS5uZGlzdCkgewogICAgICAgICAgICBmb3IgKDs7KSB7CiAgICAgICAgICAgICAgaGVyZSA9IHN0YXRlLmxlbmNvZGVbaG9sZCAmICgoMSA8PCBzdGF0ZS5sZW5iaXRzKSAtIDEpXTsvKkJJVFMoc3RhdGUubGVuYml0cykqLwogICAgICAgICAgICAgIGhlcmVfYml0cyA9IGhlcmUgPj4+IDI0OwogICAgICAgICAgICAgIGhlcmVfb3AgPSAoaGVyZSA+Pj4gMTYpICYgMHhmZjsKICAgICAgICAgICAgICBoZXJlX3ZhbCA9IGhlcmUgJiAweGZmZmY7CgogICAgICAgICAgICAgIGlmICgoaGVyZV9iaXRzKSA8PSBiaXRzKSB7IGJyZWFrOyB9CiAgICAgICAgICAgICAgLy8tLS0gUFVMTEJZVEUoKSAtLS0vLwogICAgICAgICAgICAgIGlmIChoYXZlID09PSAwKSB7IGJyZWFrIGluZl9sZWF2ZTsgfQogICAgICAgICAgICAgIGhhdmUtLTsKICAgICAgICAgICAgICBob2xkICs9IGlucHV0W25leHQrK10gPDwgYml0czsKICAgICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICAgICAgLy8tLS0vLwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChoZXJlX3ZhbCA8IDE2KSB7CiAgICAgICAgICAgICAgLy8tLS0gRFJPUEJJVFMoaGVyZS5iaXRzKSAtLS0vLwogICAgICAgICAgICAgIGhvbGQgPj4+PSBoZXJlX2JpdHM7CiAgICAgICAgICAgICAgYml0cyAtPSBoZXJlX2JpdHM7CiAgICAgICAgICAgICAgLy8tLS0vLwogICAgICAgICAgICAgIHN0YXRlLmxlbnNbc3RhdGUuaGF2ZSsrXSA9IGhlcmVfdmFsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgIGlmIChoZXJlX3ZhbCA9PT0gMTYpIHsKICAgICAgICAgICAgICAgIC8vPT09IE5FRURCSVRTKGhlcmUuYml0cyArIDIpOwogICAgICAgICAgICAgICAgbiA9IGhlcmVfYml0cyArIDI7CiAgICAgICAgICAgICAgICB3aGlsZSAoYml0cyA8IG4pIHsKICAgICAgICAgICAgICAgICAgaWYgKGhhdmUgPT09IDApIHsgYnJlYWsgaW5mX2xlYXZlOyB9CiAgICAgICAgICAgICAgICAgIGhhdmUtLTsKICAgICAgICAgICAgICAgICAgaG9sZCArPSBpbnB1dFtuZXh0KytdIDw8IGJpdHM7CiAgICAgICAgICAgICAgICAgIGJpdHMgKz0gODsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vPT09Ly8KICAgICAgICAgICAgICAgIC8vLS0tIERST1BCSVRTKGhlcmUuYml0cykgLS0tLy8KICAgICAgICAgICAgICAgIGhvbGQgPj4+PSBoZXJlX2JpdHM7CiAgICAgICAgICAgICAgICBiaXRzIC09IGhlcmVfYml0czsKICAgICAgICAgICAgICAgIC8vLS0tLy8KICAgICAgICAgICAgICAgIGlmIChzdGF0ZS5oYXZlID09PSAwKSB7CiAgICAgICAgICAgICAgICAgIHN0cm0ubXNnID0gJ2ludmFsaWQgYml0IGxlbmd0aCByZXBlYXQnOwogICAgICAgICAgICAgICAgICBzdGF0ZS5tb2RlID0gQkFEOwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGxlbiA9IHN0YXRlLmxlbnNbc3RhdGUuaGF2ZSAtIDFdOwogICAgICAgICAgICAgICAgY29weSA9IDMgKyAoaG9sZCAmIDB4MDMpOy8vQklUUygyKTsKICAgICAgICAgICAgICAgIC8vLS0tIERST1BCSVRTKDIpIC0tLS8vCiAgICAgICAgICAgICAgICBob2xkID4+Pj0gMjsKICAgICAgICAgICAgICAgIGJpdHMgLT0gMjsKICAgICAgICAgICAgICAgIC8vLS0tLy8KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZWxzZSBpZiAoaGVyZV92YWwgPT09IDE3KSB7CiAgICAgICAgICAgICAgICAvLz09PSBORUVEQklUUyhoZXJlLmJpdHMgKyAzKTsKICAgICAgICAgICAgICAgIG4gPSBoZXJlX2JpdHMgKyAzOwogICAgICAgICAgICAgICAgd2hpbGUgKGJpdHMgPCBuKSB7CiAgICAgICAgICAgICAgICAgIGlmIChoYXZlID09PSAwKSB7IGJyZWFrIGluZl9sZWF2ZTsgfQogICAgICAgICAgICAgICAgICBoYXZlLS07CiAgICAgICAgICAgICAgICAgIGhvbGQgKz0gaW5wdXRbbmV4dCsrXSA8PCBiaXRzOwogICAgICAgICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLz09PS8vCiAgICAgICAgICAgICAgICAvLy0tLSBEUk9QQklUUyhoZXJlLmJpdHMpIC0tLS8vCiAgICAgICAgICAgICAgICBob2xkID4+Pj0gaGVyZV9iaXRzOwogICAgICAgICAgICAgICAgYml0cyAtPSBoZXJlX2JpdHM7CiAgICAgICAgICAgICAgICAvLy0tLS8vCiAgICAgICAgICAgICAgICBsZW4gPSAwOwogICAgICAgICAgICAgICAgY29weSA9IDMgKyAoaG9sZCAmIDB4MDcpOy8vQklUUygzKTsKICAgICAgICAgICAgICAgIC8vLS0tIERST1BCSVRTKDMpIC0tLS8vCiAgICAgICAgICAgICAgICBob2xkID4+Pj0gMzsKICAgICAgICAgICAgICAgIGJpdHMgLT0gMzsKICAgICAgICAgICAgICAgIC8vLS0tLy8KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAvLz09PSBORUVEQklUUyhoZXJlLmJpdHMgKyA3KTsKICAgICAgICAgICAgICAgIG4gPSBoZXJlX2JpdHMgKyA3OwogICAgICAgICAgICAgICAgd2hpbGUgKGJpdHMgPCBuKSB7CiAgICAgICAgICAgICAgICAgIGlmIChoYXZlID09PSAwKSB7IGJyZWFrIGluZl9sZWF2ZTsgfQogICAgICAgICAgICAgICAgICBoYXZlLS07CiAgICAgICAgICAgICAgICAgIGhvbGQgKz0gaW5wdXRbbmV4dCsrXSA8PCBiaXRzOwogICAgICAgICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLz09PS8vCiAgICAgICAgICAgICAgICAvLy0tLSBEUk9QQklUUyhoZXJlLmJpdHMpIC0tLS8vCiAgICAgICAgICAgICAgICBob2xkID4+Pj0gaGVyZV9iaXRzOwogICAgICAgICAgICAgICAgYml0cyAtPSBoZXJlX2JpdHM7CiAgICAgICAgICAgICAgICAvLy0tLS8vCiAgICAgICAgICAgICAgICBsZW4gPSAwOwogICAgICAgICAgICAgICAgY29weSA9IDExICsgKGhvbGQgJiAweDdmKTsvL0JJVFMoNyk7CiAgICAgICAgICAgICAgICAvLy0tLSBEUk9QQklUUyg3KSAtLS0vLwogICAgICAgICAgICAgICAgaG9sZCA+Pj49IDc7CiAgICAgICAgICAgICAgICBiaXRzIC09IDc7CiAgICAgICAgICAgICAgICAvLy0tLS8vCiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIChzdGF0ZS5oYXZlICsgY29weSA+IHN0YXRlLm5sZW4gKyBzdGF0ZS5uZGlzdCkgewogICAgICAgICAgICAgICAgc3RybS5tc2cgPSAnaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdCc7CiAgICAgICAgICAgICAgICBzdGF0ZS5tb2RlID0gQkFEOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHdoaWxlIChjb3B5LS0pIHsKICAgICAgICAgICAgICAgIHN0YXRlLmxlbnNbc3RhdGUuaGF2ZSsrXSA9IGxlbjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KCiAgICAgICAgICAvKiBoYW5kbGUgZXJyb3IgYnJlYWtzIGluIHdoaWxlICovCiAgICAgICAgICBpZiAoc3RhdGUubW9kZSA9PT0gQkFEKSB7IGJyZWFrOyB9CgogICAgICAgICAgLyogY2hlY2sgZm9yIGVuZC1vZi1ibG9jayBjb2RlIChiZXR0ZXIgaGF2ZSBvbmUpICovCiAgICAgICAgICBpZiAoc3RhdGUubGVuc1syNTZdID09PSAwKSB7CiAgICAgICAgICAgIHN0cm0ubXNnID0gJ2ludmFsaWQgY29kZSAtLSBtaXNzaW5nIGVuZC1vZi1ibG9jayc7CiAgICAgICAgICAgIHN0YXRlLm1vZGUgPSBCQUQ7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQoKICAgICAgICAgIC8qIGJ1aWxkIGNvZGUgdGFibGVzIC0tIG5vdGU6IGRvIG5vdCBjaGFuZ2UgdGhlIGxlbmJpdHMgb3IgZGlzdGJpdHMKICAgICAgICAgICAgIHZhbHVlcyBoZXJlICg5IGFuZCA2KSB3aXRob3V0IHJlYWRpbmcgdGhlIGNvbW1lbnRzIGluIGluZnRyZWVzLmgKICAgICAgICAgICAgIGNvbmNlcm5pbmcgdGhlIEVOT1VHSCBjb25zdGFudHMsIHdoaWNoIGRlcGVuZCBvbiB0aG9zZSB2YWx1ZXMgKi8KICAgICAgICAgIHN0YXRlLmxlbmJpdHMgPSA5OwoKICAgICAgICAgIG9wdHMgPSB7IGJpdHM6IHN0YXRlLmxlbmJpdHMgfTsKICAgICAgICAgIHJldCA9IGluZnRyZWVzKExFTlMsIHN0YXRlLmxlbnMsIDAsIHN0YXRlLm5sZW4sIHN0YXRlLmxlbmNvZGUsIDAsIHN0YXRlLndvcmssIG9wdHMpOwogICAgICAgICAgLy8gV2UgaGF2ZSBzZXBhcmF0ZSB0YWJsZXMgJiBubyBwb2ludGVycy4gMiBjb21tZW50ZWQgbGluZXMgYmVsb3cgbm90IG5lZWRlZC4KICAgICAgICAgIC8vIHN0YXRlLm5leHRfaW5kZXggPSBvcHRzLnRhYmxlX2luZGV4OwogICAgICAgICAgc3RhdGUubGVuYml0cyA9IG9wdHMuYml0czsKICAgICAgICAgIC8vIHN0YXRlLmxlbmNvZGUgPSBzdGF0ZS5uZXh0OwoKICAgICAgICAgIGlmIChyZXQpIHsKICAgICAgICAgICAgc3RybS5tc2cgPSAnaW52YWxpZCBsaXRlcmFsL2xlbmd0aHMgc2V0JzsKICAgICAgICAgICAgc3RhdGUubW9kZSA9IEJBRDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CgogICAgICAgICAgc3RhdGUuZGlzdGJpdHMgPSA2OwogICAgICAgICAgLy9zdGF0ZS5kaXN0Y29kZS5jb3B5KHN0YXRlLmNvZGVzKTsKICAgICAgICAgIC8vIFN3aXRjaCB0byB1c2UgZHluYW1pYyB0YWJsZQogICAgICAgICAgc3RhdGUuZGlzdGNvZGUgPSBzdGF0ZS5kaXN0ZHluOwogICAgICAgICAgb3B0cyA9IHsgYml0czogc3RhdGUuZGlzdGJpdHMgfTsKICAgICAgICAgIHJldCA9IGluZnRyZWVzKERJU1RTLCBzdGF0ZS5sZW5zLCBzdGF0ZS5ubGVuLCBzdGF0ZS5uZGlzdCwgc3RhdGUuZGlzdGNvZGUsIDAsIHN0YXRlLndvcmssIG9wdHMpOwogICAgICAgICAgLy8gV2UgaGF2ZSBzZXBhcmF0ZSB0YWJsZXMgJiBubyBwb2ludGVycy4gMiBjb21tZW50ZWQgbGluZXMgYmVsb3cgbm90IG5lZWRlZC4KICAgICAgICAgIC8vIHN0YXRlLm5leHRfaW5kZXggPSBvcHRzLnRhYmxlX2luZGV4OwogICAgICAgICAgc3RhdGUuZGlzdGJpdHMgPSBvcHRzLmJpdHM7CiAgICAgICAgICAvLyBzdGF0ZS5kaXN0Y29kZSA9IHN0YXRlLm5leHQ7CgogICAgICAgICAgaWYgKHJldCkgewogICAgICAgICAgICBzdHJtLm1zZyA9ICdpbnZhbGlkIGRpc3RhbmNlcyBzZXQnOwogICAgICAgICAgICBzdGF0ZS5tb2RlID0gQkFEOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIC8vVHJhY2V2KChzdGRlcnIsICdpbmZsYXRlOiAgICAgICBjb2RlcyBva1xuJykpOwogICAgICAgICAgc3RhdGUubW9kZSA9IExFTl87CiAgICAgICAgICBpZiAoZmx1c2ggPT09IFpfVFJFRVMpIHsgYnJlYWsgaW5mX2xlYXZlOyB9CiAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgY2FzZSBMRU5fOgogICAgICAgICAgc3RhdGUubW9kZSA9IExFTjsKICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlIExFTjoKICAgICAgICAgIGlmIChoYXZlID49IDYgJiYgbGVmdCA+PSAyNTgpIHsKICAgICAgICAgICAgLy8tLS0gUkVTVE9SRSgpIC0tLQogICAgICAgICAgICBzdHJtLm5leHRfb3V0ID0gcHV0OwogICAgICAgICAgICBzdHJtLmF2YWlsX291dCA9IGxlZnQ7CiAgICAgICAgICAgIHN0cm0ubmV4dF9pbiA9IG5leHQ7CiAgICAgICAgICAgIHN0cm0uYXZhaWxfaW4gPSBoYXZlOwogICAgICAgICAgICBzdGF0ZS5ob2xkID0gaG9sZDsKICAgICAgICAgICAgc3RhdGUuYml0cyA9IGJpdHM7CiAgICAgICAgICAgIC8vLS0tCiAgICAgICAgICAgIGluZmZhc3Qoc3RybSwgX291dCk7CiAgICAgICAgICAgIC8vLS0tIExPQUQoKSAtLS0KICAgICAgICAgICAgcHV0ID0gc3RybS5uZXh0X291dDsKICAgICAgICAgICAgb3V0cHV0ID0gc3RybS5vdXRwdXQ7CiAgICAgICAgICAgIGxlZnQgPSBzdHJtLmF2YWlsX291dDsKICAgICAgICAgICAgbmV4dCA9IHN0cm0ubmV4dF9pbjsKICAgICAgICAgICAgaW5wdXQgPSBzdHJtLmlucHV0OwogICAgICAgICAgICBoYXZlID0gc3RybS5hdmFpbF9pbjsKICAgICAgICAgICAgaG9sZCA9IHN0YXRlLmhvbGQ7CiAgICAgICAgICAgIGJpdHMgPSBzdGF0ZS5iaXRzOwogICAgICAgICAgICAvLy0tLQoKICAgICAgICAgICAgaWYgKHN0YXRlLm1vZGUgPT09IFRZUEUpIHsKICAgICAgICAgICAgICBzdGF0ZS5iYWNrID0gLTE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBzdGF0ZS5iYWNrID0gMDsKICAgICAgICAgIGZvciAoOzspIHsKICAgICAgICAgICAgaGVyZSA9IHN0YXRlLmxlbmNvZGVbaG9sZCAmICgoMSA8PCBzdGF0ZS5sZW5iaXRzKSAtIDEpXTsgIC8qQklUUyhzdGF0ZS5sZW5iaXRzKSovCiAgICAgICAgICAgIGhlcmVfYml0cyA9IGhlcmUgPj4+IDI0OwogICAgICAgICAgICBoZXJlX29wID0gKGhlcmUgPj4+IDE2KSAmIDB4ZmY7CiAgICAgICAgICAgIGhlcmVfdmFsID0gaGVyZSAmIDB4ZmZmZjsKCiAgICAgICAgICAgIGlmIChoZXJlX2JpdHMgPD0gYml0cykgeyBicmVhazsgfQogICAgICAgICAgICAvLy0tLSBQVUxMQllURSgpIC0tLS8vCiAgICAgICAgICAgIGlmIChoYXZlID09PSAwKSB7IGJyZWFrIGluZl9sZWF2ZTsgfQogICAgICAgICAgICBoYXZlLS07CiAgICAgICAgICAgIGhvbGQgKz0gaW5wdXRbbmV4dCsrXSA8PCBiaXRzOwogICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICAgIC8vLS0tLy8KICAgICAgICAgIH0KICAgICAgICAgIGlmIChoZXJlX29wICYmIChoZXJlX29wICYgMHhmMCkgPT09IDApIHsKICAgICAgICAgICAgbGFzdF9iaXRzID0gaGVyZV9iaXRzOwogICAgICAgICAgICBsYXN0X29wID0gaGVyZV9vcDsKICAgICAgICAgICAgbGFzdF92YWwgPSBoZXJlX3ZhbDsKICAgICAgICAgICAgZm9yICg7OykgewogICAgICAgICAgICAgIGhlcmUgPSBzdGF0ZS5sZW5jb2RlW2xhc3RfdmFsICsKICAgICAgICAgICAgICAgICAgICAgICgoaG9sZCAmICgoMSA8PCAobGFzdF9iaXRzICsgbGFzdF9vcCkpIC0gMSkpLypCSVRTKGxhc3QuYml0cyArIGxhc3Qub3ApKi8gPj4gbGFzdF9iaXRzKV07CiAgICAgICAgICAgICAgaGVyZV9iaXRzID0gaGVyZSA+Pj4gMjQ7CiAgICAgICAgICAgICAgaGVyZV9vcCA9IChoZXJlID4+PiAxNikgJiAweGZmOwogICAgICAgICAgICAgIGhlcmVfdmFsID0gaGVyZSAmIDB4ZmZmZjsKCiAgICAgICAgICAgICAgaWYgKChsYXN0X2JpdHMgKyBoZXJlX2JpdHMpIDw9IGJpdHMpIHsgYnJlYWs7IH0KICAgICAgICAgICAgICAvLy0tLSBQVUxMQllURSgpIC0tLS8vCiAgICAgICAgICAgICAgaWYgKGhhdmUgPT09IDApIHsgYnJlYWsgaW5mX2xlYXZlOyB9CiAgICAgICAgICAgICAgaGF2ZS0tOwogICAgICAgICAgICAgIGhvbGQgKz0gaW5wdXRbbmV4dCsrXSA8PCBiaXRzOwogICAgICAgICAgICAgIGJpdHMgKz0gODsKICAgICAgICAgICAgICAvLy0tLS8vCiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8tLS0gRFJPUEJJVFMobGFzdC5iaXRzKSAtLS0vLwogICAgICAgICAgICBob2xkID4+Pj0gbGFzdF9iaXRzOwogICAgICAgICAgICBiaXRzIC09IGxhc3RfYml0czsKICAgICAgICAgICAgLy8tLS0vLwogICAgICAgICAgICBzdGF0ZS5iYWNrICs9IGxhc3RfYml0czsKICAgICAgICAgIH0KICAgICAgICAgIC8vLS0tIERST1BCSVRTKGhlcmUuYml0cykgLS0tLy8KICAgICAgICAgIGhvbGQgPj4+PSBoZXJlX2JpdHM7CiAgICAgICAgICBiaXRzIC09IGhlcmVfYml0czsKICAgICAgICAgIC8vLS0tLy8KICAgICAgICAgIHN0YXRlLmJhY2sgKz0gaGVyZV9iaXRzOwogICAgICAgICAgc3RhdGUubGVuZ3RoID0gaGVyZV92YWw7CiAgICAgICAgICBpZiAoaGVyZV9vcCA9PT0gMCkgewogICAgICAgICAgICAvL1RyYWNldnYoKHN0ZGVyciwgaGVyZS52YWwgPj0gMHgyMCAmJiBoZXJlLnZhbCA8IDB4N2YgPwogICAgICAgICAgICAvLyAgICAgICAgImluZmxhdGU6ICAgICAgICAgbGl0ZXJhbCAnJWMnXG4iIDoKICAgICAgICAgICAgLy8gICAgICAgICJpbmZsYXRlOiAgICAgICAgIGxpdGVyYWwgMHglMDJ4XG4iLCBoZXJlLnZhbCkpOwogICAgICAgICAgICBzdGF0ZS5tb2RlID0gTElUOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChoZXJlX29wICYgMzIpIHsKICAgICAgICAgICAgLy9UcmFjZXZ2KChzdGRlcnIsICJpbmZsYXRlOiAgICAgICAgIGVuZCBvZiBibG9ja1xuIikpOwogICAgICAgICAgICBzdGF0ZS5iYWNrID0gLTE7CiAgICAgICAgICAgIHN0YXRlLm1vZGUgPSBUWVBFOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChoZXJlX29wICYgNjQpIHsKICAgICAgICAgICAgc3RybS5tc2cgPSAnaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlJzsKICAgICAgICAgICAgc3RhdGUubW9kZSA9IEJBRDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBzdGF0ZS5leHRyYSA9IGhlcmVfb3AgJiAxNTsKICAgICAgICAgIHN0YXRlLm1vZGUgPSBMRU5FWFQ7CiAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgY2FzZSBMRU5FWFQ6CiAgICAgICAgICBpZiAoc3RhdGUuZXh0cmEpIHsKICAgICAgICAgICAgLy89PT0gTkVFREJJVFMoc3RhdGUuZXh0cmEpOwogICAgICAgICAgICBuID0gc3RhdGUuZXh0cmE7CiAgICAgICAgICAgIHdoaWxlIChiaXRzIDwgbikgewogICAgICAgICAgICAgIGlmIChoYXZlID09PSAwKSB7IGJyZWFrIGluZl9sZWF2ZTsgfQogICAgICAgICAgICAgIGhhdmUtLTsKICAgICAgICAgICAgICBob2xkICs9IGlucHV0W25leHQrK10gPDwgYml0czsKICAgICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy89PT0vLwogICAgICAgICAgICBzdGF0ZS5sZW5ndGggKz0gaG9sZCAmICgoMSA8PCBzdGF0ZS5leHRyYSkgLSAxKS8qQklUUyhzdGF0ZS5leHRyYSkqLzsKICAgICAgICAgICAgLy8tLS0gRFJPUEJJVFMoc3RhdGUuZXh0cmEpIC0tLS8vCiAgICAgICAgICAgIGhvbGQgPj4+PSBzdGF0ZS5leHRyYTsKICAgICAgICAgICAgYml0cyAtPSBzdGF0ZS5leHRyYTsKICAgICAgICAgICAgLy8tLS0vLwogICAgICAgICAgICBzdGF0ZS5iYWNrICs9IHN0YXRlLmV4dHJhOwogICAgICAgICAgfQogICAgICAgICAgLy9UcmFjZXZ2KChzdGRlcnIsICJpbmZsYXRlOiAgICAgICAgIGxlbmd0aCAldVxuIiwgc3RhdGUubGVuZ3RoKSk7CiAgICAgICAgICBzdGF0ZS53YXMgPSBzdGF0ZS5sZW5ndGg7CiAgICAgICAgICBzdGF0ZS5tb2RlID0gRElTVDsKICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlIERJU1Q6CiAgICAgICAgICBmb3IgKDs7KSB7CiAgICAgICAgICAgIGhlcmUgPSBzdGF0ZS5kaXN0Y29kZVtob2xkICYgKCgxIDw8IHN0YXRlLmRpc3RiaXRzKSAtIDEpXTsvKkJJVFMoc3RhdGUuZGlzdGJpdHMpKi8KICAgICAgICAgICAgaGVyZV9iaXRzID0gaGVyZSA+Pj4gMjQ7CiAgICAgICAgICAgIGhlcmVfb3AgPSAoaGVyZSA+Pj4gMTYpICYgMHhmZjsKICAgICAgICAgICAgaGVyZV92YWwgPSBoZXJlICYgMHhmZmZmOwoKICAgICAgICAgICAgaWYgKChoZXJlX2JpdHMpIDw9IGJpdHMpIHsgYnJlYWs7IH0KICAgICAgICAgICAgLy8tLS0gUFVMTEJZVEUoKSAtLS0vLwogICAgICAgICAgICBpZiAoaGF2ZSA9PT0gMCkgeyBicmVhayBpbmZfbGVhdmU7IH0KICAgICAgICAgICAgaGF2ZS0tOwogICAgICAgICAgICBob2xkICs9IGlucHV0W25leHQrK10gPDwgYml0czsKICAgICAgICAgICAgYml0cyArPSA4OwogICAgICAgICAgICAvLy0tLS8vCiAgICAgICAgICB9CiAgICAgICAgICBpZiAoKGhlcmVfb3AgJiAweGYwKSA9PT0gMCkgewogICAgICAgICAgICBsYXN0X2JpdHMgPSBoZXJlX2JpdHM7CiAgICAgICAgICAgIGxhc3Rfb3AgPSBoZXJlX29wOwogICAgICAgICAgICBsYXN0X3ZhbCA9IGhlcmVfdmFsOwogICAgICAgICAgICBmb3IgKDs7KSB7CiAgICAgICAgICAgICAgaGVyZSA9IHN0YXRlLmRpc3Rjb2RlW2xhc3RfdmFsICsKICAgICAgICAgICAgICAgICAgICAgICgoaG9sZCAmICgoMSA8PCAobGFzdF9iaXRzICsgbGFzdF9vcCkpIC0gMSkpLypCSVRTKGxhc3QuYml0cyArIGxhc3Qub3ApKi8gPj4gbGFzdF9iaXRzKV07CiAgICAgICAgICAgICAgaGVyZV9iaXRzID0gaGVyZSA+Pj4gMjQ7CiAgICAgICAgICAgICAgaGVyZV9vcCA9IChoZXJlID4+PiAxNikgJiAweGZmOwogICAgICAgICAgICAgIGhlcmVfdmFsID0gaGVyZSAmIDB4ZmZmZjsKCiAgICAgICAgICAgICAgaWYgKChsYXN0X2JpdHMgKyBoZXJlX2JpdHMpIDw9IGJpdHMpIHsgYnJlYWs7IH0KICAgICAgICAgICAgICAvLy0tLSBQVUxMQllURSgpIC0tLS8vCiAgICAgICAgICAgICAgaWYgKGhhdmUgPT09IDApIHsgYnJlYWsgaW5mX2xlYXZlOyB9CiAgICAgICAgICAgICAgaGF2ZS0tOwogICAgICAgICAgICAgIGhvbGQgKz0gaW5wdXRbbmV4dCsrXSA8PCBiaXRzOwogICAgICAgICAgICAgIGJpdHMgKz0gODsKICAgICAgICAgICAgICAvLy0tLS8vCiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8tLS0gRFJPUEJJVFMobGFzdC5iaXRzKSAtLS0vLwogICAgICAgICAgICBob2xkID4+Pj0gbGFzdF9iaXRzOwogICAgICAgICAgICBiaXRzIC09IGxhc3RfYml0czsKICAgICAgICAgICAgLy8tLS0vLwogICAgICAgICAgICBzdGF0ZS5iYWNrICs9IGxhc3RfYml0czsKICAgICAgICAgIH0KICAgICAgICAgIC8vLS0tIERST1BCSVRTKGhlcmUuYml0cykgLS0tLy8KICAgICAgICAgIGhvbGQgPj4+PSBoZXJlX2JpdHM7CiAgICAgICAgICBiaXRzIC09IGhlcmVfYml0czsKICAgICAgICAgIC8vLS0tLy8KICAgICAgICAgIHN0YXRlLmJhY2sgKz0gaGVyZV9iaXRzOwogICAgICAgICAgaWYgKGhlcmVfb3AgJiA2NCkgewogICAgICAgICAgICBzdHJtLm1zZyA9ICdpbnZhbGlkIGRpc3RhbmNlIGNvZGUnOwogICAgICAgICAgICBzdGF0ZS5tb2RlID0gQkFEOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIHN0YXRlLm9mZnNldCA9IGhlcmVfdmFsOwogICAgICAgICAgc3RhdGUuZXh0cmEgPSAoaGVyZV9vcCkgJiAxNTsKICAgICAgICAgIHN0YXRlLm1vZGUgPSBESVNURVhUOwogICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgRElTVEVYVDoKICAgICAgICAgIGlmIChzdGF0ZS5leHRyYSkgewogICAgICAgICAgICAvLz09PSBORUVEQklUUyhzdGF0ZS5leHRyYSk7CiAgICAgICAgICAgIG4gPSBzdGF0ZS5leHRyYTsKICAgICAgICAgICAgd2hpbGUgKGJpdHMgPCBuKSB7CiAgICAgICAgICAgICAgaWYgKGhhdmUgPT09IDApIHsgYnJlYWsgaW5mX2xlYXZlOyB9CiAgICAgICAgICAgICAgaGF2ZS0tOwogICAgICAgICAgICAgIGhvbGQgKz0gaW5wdXRbbmV4dCsrXSA8PCBiaXRzOwogICAgICAgICAgICAgIGJpdHMgKz0gODsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLz09PS8vCiAgICAgICAgICAgIHN0YXRlLm9mZnNldCArPSBob2xkICYgKCgxIDw8IHN0YXRlLmV4dHJhKSAtIDEpLypCSVRTKHN0YXRlLmV4dHJhKSovOwogICAgICAgICAgICAvLy0tLSBEUk9QQklUUyhzdGF0ZS5leHRyYSkgLS0tLy8KICAgICAgICAgICAgaG9sZCA+Pj49IHN0YXRlLmV4dHJhOwogICAgICAgICAgICBiaXRzIC09IHN0YXRlLmV4dHJhOwogICAgICAgICAgICAvLy0tLS8vCiAgICAgICAgICAgIHN0YXRlLmJhY2sgKz0gc3RhdGUuZXh0cmE7CiAgICAgICAgICB9CiAgLy8jaWZkZWYgSU5GTEFURV9TVFJJQ1QKICAgICAgICAgIGlmIChzdGF0ZS5vZmZzZXQgPiBzdGF0ZS5kbWF4KSB7CiAgICAgICAgICAgIHN0cm0ubXNnID0gJ2ludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrJzsKICAgICAgICAgICAgc3RhdGUubW9kZSA9IEJBRDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgLy8jZW5kaWYKICAgICAgICAgIC8vVHJhY2V2digoc3RkZXJyLCAiaW5mbGF0ZTogICAgICAgICBkaXN0YW5jZSAldVxuIiwgc3RhdGUub2Zmc2V0KSk7CiAgICAgICAgICBzdGF0ZS5tb2RlID0gTUFUQ0g7CiAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgY2FzZSBNQVRDSDoKICAgICAgICAgIGlmIChsZWZ0ID09PSAwKSB7IGJyZWFrIGluZl9sZWF2ZTsgfQogICAgICAgICAgY29weSA9IF9vdXQgLSBsZWZ0OwogICAgICAgICAgaWYgKHN0YXRlLm9mZnNldCA+IGNvcHkpIHsgICAgICAgICAvKiBjb3B5IGZyb20gd2luZG93ICovCiAgICAgICAgICAgIGNvcHkgPSBzdGF0ZS5vZmZzZXQgLSBjb3B5OwogICAgICAgICAgICBpZiAoY29weSA+IHN0YXRlLndoYXZlKSB7CiAgICAgICAgICAgICAgaWYgKHN0YXRlLnNhbmUpIHsKICAgICAgICAgICAgICAgIHN0cm0ubXNnID0gJ2ludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrJzsKICAgICAgICAgICAgICAgIHN0YXRlLm1vZGUgPSBCQUQ7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgLy8gKCEpIFRoaXMgYmxvY2sgaXMgZGlzYWJsZWQgaW4gemxpYiBkZWZhdWx0cywKICAvLyBkb24ndCBlbmFibGUgaXQgZm9yIGJpbmFyeSBjb21wYXRpYmlsaXR5CiAgLy8jaWZkZWYgSU5GTEFURV9BTExPV19JTlZBTElEX0RJU1RBTkNFX1RPT0ZBUl9BUlJSCiAgLy8gICAgICAgICAgVHJhY2UoKHN0ZGVyciwgImluZmxhdGUuYyB0b28gZmFyXG4iKSk7CiAgLy8gICAgICAgICAgY29weSAtPSBzdGF0ZS53aGF2ZTsKICAvLyAgICAgICAgICBpZiAoY29weSA+IHN0YXRlLmxlbmd0aCkgeyBjb3B5ID0gc3RhdGUubGVuZ3RoOyB9CiAgLy8gICAgICAgICAgaWYgKGNvcHkgPiBsZWZ0KSB7IGNvcHkgPSBsZWZ0OyB9CiAgLy8gICAgICAgICAgbGVmdCAtPSBjb3B5OwogIC8vICAgICAgICAgIHN0YXRlLmxlbmd0aCAtPSBjb3B5OwogIC8vICAgICAgICAgIGRvIHsKICAvLyAgICAgICAgICAgIG91dHB1dFtwdXQrK10gPSAwOwogIC8vICAgICAgICAgIH0gd2hpbGUgKC0tY29weSk7CiAgLy8gICAgICAgICAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCkgeyBzdGF0ZS5tb2RlID0gTEVOOyB9CiAgLy8gICAgICAgICAgYnJlYWs7CiAgLy8jZW5kaWYKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY29weSA+IHN0YXRlLnduZXh0KSB7CiAgICAgICAgICAgICAgY29weSAtPSBzdGF0ZS53bmV4dDsKICAgICAgICAgICAgICBmcm9tID0gc3RhdGUud3NpemUgLSBjb3B5OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgIGZyb20gPSBzdGF0ZS53bmV4dCAtIGNvcHk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGNvcHkgPiBzdGF0ZS5sZW5ndGgpIHsgY29weSA9IHN0YXRlLmxlbmd0aDsgfQogICAgICAgICAgICBmcm9tX3NvdXJjZSA9IHN0YXRlLndpbmRvdzsKICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGNvcHkgZnJvbSBvdXRwdXQgKi8KICAgICAgICAgICAgZnJvbV9zb3VyY2UgPSBvdXRwdXQ7CiAgICAgICAgICAgIGZyb20gPSBwdXQgLSBzdGF0ZS5vZmZzZXQ7CiAgICAgICAgICAgIGNvcHkgPSBzdGF0ZS5sZW5ndGg7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoY29weSA+IGxlZnQpIHsgY29weSA9IGxlZnQ7IH0KICAgICAgICAgIGxlZnQgLT0gY29weTsKICAgICAgICAgIHN0YXRlLmxlbmd0aCAtPSBjb3B5OwogICAgICAgICAgZG8gewogICAgICAgICAgICBvdXRwdXRbcHV0KytdID0gZnJvbV9zb3VyY2VbZnJvbSsrXTsKICAgICAgICAgIH0gd2hpbGUgKC0tY29weSk7CiAgICAgICAgICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSB7IHN0YXRlLm1vZGUgPSBMRU47IH0KICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgTElUOgogICAgICAgICAgaWYgKGxlZnQgPT09IDApIHsgYnJlYWsgaW5mX2xlYXZlOyB9CiAgICAgICAgICBvdXRwdXRbcHV0KytdID0gc3RhdGUubGVuZ3RoOwogICAgICAgICAgbGVmdC0tOwogICAgICAgICAgc3RhdGUubW9kZSA9IExFTjsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgQ0hFQ0s6CiAgICAgICAgICBpZiAoc3RhdGUud3JhcCkgewogICAgICAgICAgICAvLz09PSBORUVEQklUUygzMik7CiAgICAgICAgICAgIHdoaWxlIChiaXRzIDwgMzIpIHsKICAgICAgICAgICAgICBpZiAoaGF2ZSA9PT0gMCkgeyBicmVhayBpbmZfbGVhdmU7IH0KICAgICAgICAgICAgICBoYXZlLS07CiAgICAgICAgICAgICAgLy8gVXNlICd8JyBpbnN0ZWFkIG9mICcrJyB0byBtYWtlIHN1cmUgdGhhdCByZXN1bHQgaXMgc2lnbmVkCiAgICAgICAgICAgICAgaG9sZCB8PSBpbnB1dFtuZXh0KytdIDw8IGJpdHM7CiAgICAgICAgICAgICAgYml0cyArPSA4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vPT09Ly8KICAgICAgICAgICAgX291dCAtPSBsZWZ0OwogICAgICAgICAgICBzdHJtLnRvdGFsX291dCArPSBfb3V0OwogICAgICAgICAgICBzdGF0ZS50b3RhbCArPSBfb3V0OwogICAgICAgICAgICBpZiAoX291dCkgewogICAgICAgICAgICAgIHN0cm0uYWRsZXIgPSBzdGF0ZS5jaGVjayA9CiAgICAgICAgICAgICAgICAgIC8qVVBEQVRFKHN0YXRlLmNoZWNrLCBwdXQgLSBfb3V0LCBfb3V0KTsqLwogICAgICAgICAgICAgICAgICAoc3RhdGUuZmxhZ3MgPyBjcmMzMl8xKHN0YXRlLmNoZWNrLCBvdXRwdXQsIF9vdXQsIHB1dCAtIF9vdXQpIDogYWRsZXIzMl8xKHN0YXRlLmNoZWNrLCBvdXRwdXQsIF9vdXQsIHB1dCAtIF9vdXQpKTsKCiAgICAgICAgICAgIH0KICAgICAgICAgICAgX291dCA9IGxlZnQ7CiAgICAgICAgICAgIC8vIE5COiBjcmMzMiBzdG9yZWQgYXMgc2lnbmVkIDMyLWJpdCBpbnQsIHpzd2FwMzIgcmV0dXJucyBzaWduZWQgdG9vCiAgICAgICAgICAgIGlmICgoc3RhdGUuZmxhZ3MgPyBob2xkIDogenN3YXAzMihob2xkKSkgIT09IHN0YXRlLmNoZWNrKSB7CiAgICAgICAgICAgICAgc3RybS5tc2cgPSAnaW5jb3JyZWN0IGRhdGEgY2hlY2snOwogICAgICAgICAgICAgIHN0YXRlLm1vZGUgPSBCQUQ7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy89PT0gSU5JVEJJVFMoKTsKICAgICAgICAgICAgaG9sZCA9IDA7CiAgICAgICAgICAgIGJpdHMgPSAwOwogICAgICAgICAgICAvLz09PS8vCiAgICAgICAgICAgIC8vVHJhY2V2KChzdGRlcnIsICJpbmZsYXRlOiAgIGNoZWNrIG1hdGNoZXMgdHJhaWxlclxuIikpOwogICAgICAgICAgfQogICAgICAgICAgc3RhdGUubW9kZSA9IExFTkdUSDsKICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlIExFTkdUSDoKICAgICAgICAgIGlmIChzdGF0ZS53cmFwICYmIHN0YXRlLmZsYWdzKSB7CiAgICAgICAgICAgIC8vPT09IE5FRURCSVRTKDMyKTsKICAgICAgICAgICAgd2hpbGUgKGJpdHMgPCAzMikgewogICAgICAgICAgICAgIGlmIChoYXZlID09PSAwKSB7IGJyZWFrIGluZl9sZWF2ZTsgfQogICAgICAgICAgICAgIGhhdmUtLTsKICAgICAgICAgICAgICBob2xkICs9IGlucHV0W25leHQrK10gPDwgYml0czsKICAgICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy89PT0vLwogICAgICAgICAgICBpZiAoaG9sZCAhPT0gKHN0YXRlLnRvdGFsICYgMHhmZmZmZmZmZikpIHsKICAgICAgICAgICAgICBzdHJtLm1zZyA9ICdpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrJzsKICAgICAgICAgICAgICBzdGF0ZS5tb2RlID0gQkFEOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vPT09IElOSVRCSVRTKCk7CiAgICAgICAgICAgIGhvbGQgPSAwOwogICAgICAgICAgICBiaXRzID0gMDsKICAgICAgICAgICAgLy89PT0vLwogICAgICAgICAgICAvL1RyYWNldigoc3RkZXJyLCAiaW5mbGF0ZTogICBsZW5ndGggbWF0Y2hlcyB0cmFpbGVyXG4iKSk7CiAgICAgICAgICB9CiAgICAgICAgICBzdGF0ZS5tb2RlID0gRE9ORTsKICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlIERPTkU6CiAgICAgICAgICByZXQgPSBaX1NUUkVBTV9FTkQkMTsKICAgICAgICAgIGJyZWFrIGluZl9sZWF2ZTsKICAgICAgICBjYXNlIEJBRDoKICAgICAgICAgIHJldCA9IFpfREFUQV9FUlJPUiQxOwogICAgICAgICAgYnJlYWsgaW5mX2xlYXZlOwogICAgICAgIGNhc2UgTUVNOgogICAgICAgICAgcmV0dXJuIFpfTUVNX0VSUk9SJDE7CiAgICAgICAgY2FzZSBTWU5DOgogICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICByZXR1cm4gWl9TVFJFQU1fRVJST1IkMTsKICAgICAgfQogICAgfQoKICAgIC8vIGluZl9sZWF2ZSA8LSBoZXJlIGlzIHJlYWwgcGxhY2UgZm9yICJnb3RvIGluZl9sZWF2ZSIsIGVtdWxhdGVkIHZpYSAiYnJlYWsgaW5mX2xlYXZlIgoKICAgIC8qCiAgICAgICBSZXR1cm4gZnJvbSBpbmZsYXRlKCksIHVwZGF0aW5nIHRoZSB0b3RhbCBjb3VudHMgYW5kIHRoZSBjaGVjayB2YWx1ZS4KICAgICAgIElmIHRoZXJlIHdhcyBubyBwcm9ncmVzcyBkdXJpbmcgdGhlIGluZmxhdGUoKSBjYWxsLCByZXR1cm4gYSBidWZmZXIKICAgICAgIGVycm9yLiAgQ2FsbCB1cGRhdGV3aW5kb3coKSB0byBjcmVhdGUgYW5kL29yIHVwZGF0ZSB0aGUgd2luZG93IHN0YXRlLgogICAgICAgTm90ZTogYSBtZW1vcnkgZXJyb3IgZnJvbSBpbmZsYXRlKCkgaXMgbm9uLXJlY292ZXJhYmxlLgogICAgICovCgogICAgLy8tLS0gUkVTVE9SRSgpIC0tLQogICAgc3RybS5uZXh0X291dCA9IHB1dDsKICAgIHN0cm0uYXZhaWxfb3V0ID0gbGVmdDsKICAgIHN0cm0ubmV4dF9pbiA9IG5leHQ7CiAgICBzdHJtLmF2YWlsX2luID0gaGF2ZTsKICAgIHN0YXRlLmhvbGQgPSBob2xkOwogICAgc3RhdGUuYml0cyA9IGJpdHM7CiAgICAvLy0tLQoKICAgIGlmIChzdGF0ZS53c2l6ZSB8fCAoX291dCAhPT0gc3RybS5hdmFpbF9vdXQgJiYgc3RhdGUubW9kZSA8IEJBRCAmJgogICAgICAgICAgICAgICAgICAgICAgICAoc3RhdGUubW9kZSA8IENIRUNLIHx8IGZsdXNoICE9PSBaX0ZJTklTSCQxKSkpIHsKICAgICAgaWYgKHVwZGF0ZXdpbmRvdyhzdHJtLCBzdHJtLm91dHB1dCwgc3RybS5uZXh0X291dCwgX291dCAtIHN0cm0uYXZhaWxfb3V0KSkgOwogICAgfQogICAgX2luIC09IHN0cm0uYXZhaWxfaW47CiAgICBfb3V0IC09IHN0cm0uYXZhaWxfb3V0OwogICAgc3RybS50b3RhbF9pbiArPSBfaW47CiAgICBzdHJtLnRvdGFsX291dCArPSBfb3V0OwogICAgc3RhdGUudG90YWwgKz0gX291dDsKICAgIGlmIChzdGF0ZS53cmFwICYmIF9vdXQpIHsKICAgICAgc3RybS5hZGxlciA9IHN0YXRlLmNoZWNrID0gLypVUERBVEUoc3RhdGUuY2hlY2ssIHN0cm0ubmV4dF9vdXQgLSBfb3V0LCBfb3V0KTsqLwogICAgICAgIChzdGF0ZS5mbGFncyA/IGNyYzMyXzEoc3RhdGUuY2hlY2ssIG91dHB1dCwgX291dCwgc3RybS5uZXh0X291dCAtIF9vdXQpIDogYWRsZXIzMl8xKHN0YXRlLmNoZWNrLCBvdXRwdXQsIF9vdXQsIHN0cm0ubmV4dF9vdXQgLSBfb3V0KSk7CiAgICB9CiAgICBzdHJtLmRhdGFfdHlwZSA9IHN0YXRlLmJpdHMgKyAoc3RhdGUubGFzdCA/IDY0IDogMCkgKwogICAgICAgICAgICAgICAgICAgICAgKHN0YXRlLm1vZGUgPT09IFRZUEUgPyAxMjggOiAwKSArCiAgICAgICAgICAgICAgICAgICAgICAoc3RhdGUubW9kZSA9PT0gTEVOXyB8fCBzdGF0ZS5tb2RlID09PSBDT1BZXyA/IDI1NiA6IDApOwogICAgaWYgKCgoX2luID09PSAwICYmIF9vdXQgPT09IDApIHx8IGZsdXNoID09PSBaX0ZJTklTSCQxKSAmJiByZXQgPT09IFpfT0skMSkgewogICAgICByZXQgPSBaX0JVRl9FUlJPUjsKICAgIH0KICAgIHJldHVybiByZXQ7CiAgfTsKCgogIGNvbnN0IGluZmxhdGVFbmQgPSAoc3RybSkgPT4gewoKICAgIGlmICghc3RybSB8fCAhc3RybS5zdGF0ZSAvKnx8IHN0cm0tPnpmcmVlID09IChmcmVlX2Z1bmMpMCovKSB7CiAgICAgIHJldHVybiBaX1NUUkVBTV9FUlJPUiQxOwogICAgfQoKICAgIGxldCBzdGF0ZSA9IHN0cm0uc3RhdGU7CiAgICBpZiAoc3RhdGUud2luZG93KSB7CiAgICAgIHN0YXRlLndpbmRvdyA9IG51bGw7CiAgICB9CiAgICBzdHJtLnN0YXRlID0gbnVsbDsKICAgIHJldHVybiBaX09LJDE7CiAgfTsKCgogIGNvbnN0IGluZmxhdGVHZXRIZWFkZXIgPSAoc3RybSwgaGVhZCkgPT4gewoKICAgIC8qIGNoZWNrIHN0YXRlICovCiAgICBpZiAoIXN0cm0gfHwgIXN0cm0uc3RhdGUpIHsgcmV0dXJuIFpfU1RSRUFNX0VSUk9SJDE7IH0KICAgIGNvbnN0IHN0YXRlID0gc3RybS5zdGF0ZTsKICAgIGlmICgoc3RhdGUud3JhcCAmIDIpID09PSAwKSB7IHJldHVybiBaX1NUUkVBTV9FUlJPUiQxOyB9CgogICAgLyogc2F2ZSBoZWFkZXIgc3RydWN0dXJlICovCiAgICBzdGF0ZS5oZWFkID0gaGVhZDsKICAgIGhlYWQuZG9uZSA9IGZhbHNlOwogICAgcmV0dXJuIFpfT0skMTsKICB9OwoKCiAgY29uc3QgaW5mbGF0ZVNldERpY3Rpb25hcnkgPSAoc3RybSwgZGljdGlvbmFyeSkgPT4gewogICAgY29uc3QgZGljdExlbmd0aCA9IGRpY3Rpb25hcnkubGVuZ3RoOwoKICAgIGxldCBzdGF0ZTsKICAgIGxldCBkaWN0aWQ7CiAgICBsZXQgcmV0OwoKICAgIC8qIGNoZWNrIHN0YXRlICovCiAgICBpZiAoIXN0cm0gLyogPT0gWl9OVUxMICovIHx8ICFzdHJtLnN0YXRlIC8qID09IFpfTlVMTCAqLykgeyByZXR1cm4gWl9TVFJFQU1fRVJST1IkMTsgfQogICAgc3RhdGUgPSBzdHJtLnN0YXRlOwoKICAgIGlmIChzdGF0ZS53cmFwICE9PSAwICYmIHN0YXRlLm1vZGUgIT09IERJQ1QpIHsKICAgICAgcmV0dXJuIFpfU1RSRUFNX0VSUk9SJDE7CiAgICB9CgogICAgLyogY2hlY2sgZm9yIGNvcnJlY3QgZGljdGlvbmFyeSBpZGVudGlmaWVyICovCiAgICBpZiAoc3RhdGUubW9kZSA9PT0gRElDVCkgewogICAgICBkaWN0aWQgPSAxOyAvKiBhZGxlcjMyKDAsIG51bGwsIDApKi8KICAgICAgLyogZGljdGlkID0gYWRsZXIzMihkaWN0aWQsIGRpY3Rpb25hcnksIGRpY3RMZW5ndGgpOyAqLwogICAgICBkaWN0aWQgPSBhZGxlcjMyXzEoZGljdGlkLCBkaWN0aW9uYXJ5LCBkaWN0TGVuZ3RoLCAwKTsKICAgICAgaWYgKGRpY3RpZCAhPT0gc3RhdGUuY2hlY2spIHsKICAgICAgICByZXR1cm4gWl9EQVRBX0VSUk9SJDE7CiAgICAgIH0KICAgIH0KICAgIC8qIGNvcHkgZGljdGlvbmFyeSB0byB3aW5kb3cgdXNpbmcgdXBkYXRld2luZG93KCksIHdoaWNoIHdpbGwgYW1lbmQgdGhlCiAgICAgZXhpc3RpbmcgZGljdGlvbmFyeSBpZiBhcHByb3ByaWF0ZSAqLwogICAgcmV0ID0gdXBkYXRld2luZG93KHN0cm0sIGRpY3Rpb25hcnksIGRpY3RMZW5ndGgsIGRpY3RMZW5ndGgpOwogICAgaWYgKHJldCkgewogICAgICBzdGF0ZS5tb2RlID0gTUVNOwogICAgICByZXR1cm4gWl9NRU1fRVJST1IkMTsKICAgIH0KICAgIHN0YXRlLmhhdmVkaWN0ID0gMTsKICAgIC8vIFRyYWNldigoc3RkZXJyLCAiaW5mbGF0ZTogICBkaWN0aW9uYXJ5IHNldFxuIikpOwogICAgcmV0dXJuIFpfT0skMTsKICB9OwoKCiAgdmFyIGluZmxhdGVSZXNldF8xID0gaW5mbGF0ZVJlc2V0OwogIHZhciBpbmZsYXRlUmVzZXQyXzEgPSBpbmZsYXRlUmVzZXQyOwogIHZhciBpbmZsYXRlUmVzZXRLZWVwXzEgPSBpbmZsYXRlUmVzZXRLZWVwOwogIHZhciBpbmZsYXRlSW5pdF8xID0gaW5mbGF0ZUluaXQ7CiAgdmFyIGluZmxhdGVJbml0Ml8xID0gaW5mbGF0ZUluaXQyOwogIHZhciBpbmZsYXRlXzIkMSA9IGluZmxhdGUkMjsKICB2YXIgaW5mbGF0ZUVuZF8xID0gaW5mbGF0ZUVuZDsKICB2YXIgaW5mbGF0ZUdldEhlYWRlcl8xID0gaW5mbGF0ZUdldEhlYWRlcjsKICB2YXIgaW5mbGF0ZVNldERpY3Rpb25hcnlfMSA9IGluZmxhdGVTZXREaWN0aW9uYXJ5OwogIHZhciBpbmZsYXRlSW5mbyA9ICdwYWtvIGluZmxhdGUgKGZyb20gTm9kZWNhIHByb2plY3QpJzsKCiAgLyogTm90IGltcGxlbWVudGVkCiAgbW9kdWxlLmV4cG9ydHMuaW5mbGF0ZUNvcHkgPSBpbmZsYXRlQ29weTsKICBtb2R1bGUuZXhwb3J0cy5pbmZsYXRlR2V0RGljdGlvbmFyeSA9IGluZmxhdGVHZXREaWN0aW9uYXJ5OwogIG1vZHVsZS5leHBvcnRzLmluZmxhdGVNYXJrID0gaW5mbGF0ZU1hcms7CiAgbW9kdWxlLmV4cG9ydHMuaW5mbGF0ZVByaW1lID0gaW5mbGF0ZVByaW1lOwogIG1vZHVsZS5leHBvcnRzLmluZmxhdGVTeW5jID0gaW5mbGF0ZVN5bmM7CiAgbW9kdWxlLmV4cG9ydHMuaW5mbGF0ZVN5bmNQb2ludCA9IGluZmxhdGVTeW5jUG9pbnQ7CiAgbW9kdWxlLmV4cG9ydHMuaW5mbGF0ZVVuZGVybWluZSA9IGluZmxhdGVVbmRlcm1pbmU7CiAgKi8KCiAgdmFyIGluZmxhdGVfMSQyID0gewogIAlpbmZsYXRlUmVzZXQ6IGluZmxhdGVSZXNldF8xLAogIAlpbmZsYXRlUmVzZXQyOiBpbmZsYXRlUmVzZXQyXzEsCiAgCWluZmxhdGVSZXNldEtlZXA6IGluZmxhdGVSZXNldEtlZXBfMSwKICAJaW5mbGF0ZUluaXQ6IGluZmxhdGVJbml0XzEsCiAgCWluZmxhdGVJbml0MjogaW5mbGF0ZUluaXQyXzEsCiAgCWluZmxhdGU6IGluZmxhdGVfMiQxLAogIAlpbmZsYXRlRW5kOiBpbmZsYXRlRW5kXzEsCiAgCWluZmxhdGVHZXRIZWFkZXI6IGluZmxhdGVHZXRIZWFkZXJfMSwKICAJaW5mbGF0ZVNldERpY3Rpb25hcnk6IGluZmxhdGVTZXREaWN0aW9uYXJ5XzEsCiAgCWluZmxhdGVJbmZvOiBpbmZsYXRlSW5mbwogIH07CgogIC8vIChDKSAxOTk1LTIwMTMgSmVhbi1sb3VwIEdhaWxseSBhbmQgTWFyayBBZGxlcgogIC8vIChDKSAyMDE0LTIwMTcgVml0YWx5IFB1enJpbiBhbmQgQW5kcmV5IFR1cGl0c2luCiAgLy8KICAvLyBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICdhcy1pcycsIHdpdGhvdXQgYW55IGV4cHJlc3Mgb3IgaW1wbGllZAogIC8vIHdhcnJhbnR5LiBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogIC8vIGFyaXNpbmcgZnJvbSB0aGUgdXNlIG9mIHRoaXMgc29mdHdhcmUuCiAgLy8KICAvLyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAvLyBpbmNsdWRpbmcgY29tbWVyY2lhbCBhcHBsaWNhdGlvbnMsIGFuZCB0byBhbHRlciBpdCBhbmQgcmVkaXN0cmlidXRlIGl0CiAgLy8gZnJlZWx5LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zOgogIC8vCiAgLy8gMS4gVGhlIG9yaWdpbiBvZiB0aGlzIHNvZnR3YXJlIG11c3Qgbm90IGJlIG1pc3JlcHJlc2VudGVkOyB5b3UgbXVzdCBub3QKICAvLyAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgLy8gICBpbiBhIHByb2R1Y3QsIGFuIGFja25vd2xlZGdtZW50IGluIHRoZSBwcm9kdWN0IGRvY3VtZW50YXRpb24gd291bGQgYmUKICAvLyAgIGFwcHJlY2lhdGVkIGJ1dCBpcyBub3QgcmVxdWlyZWQuCiAgLy8gMi4gQWx0ZXJlZCBzb3VyY2UgdmVyc2lvbnMgbXVzdCBiZSBwbGFpbmx5IG1hcmtlZCBhcyBzdWNoLCBhbmQgbXVzdCBub3QgYmUKICAvLyAgIG1pc3JlcHJlc2VudGVkIGFzIGJlaW5nIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4KICAvLyAzLiBUaGlzIG5vdGljZSBtYXkgbm90IGJlIHJlbW92ZWQgb3IgYWx0ZXJlZCBmcm9tIGFueSBzb3VyY2UgZGlzdHJpYnV0aW9uLgoKICBmdW5jdGlvbiBHWmhlYWRlcigpIHsKICAgIC8qIHRydWUgaWYgY29tcHJlc3NlZCBkYXRhIGJlbGlldmVkIHRvIGJlIHRleHQgKi8KICAgIHRoaXMudGV4dCAgICAgICA9IDA7CiAgICAvKiBtb2RpZmljYXRpb24gdGltZSAqLwogICAgdGhpcy50aW1lICAgICAgID0gMDsKICAgIC8qIGV4dHJhIGZsYWdzIChub3QgdXNlZCB3aGVuIHdyaXRpbmcgYSBnemlwIGZpbGUpICovCiAgICB0aGlzLnhmbGFncyAgICAgPSAwOwogICAgLyogb3BlcmF0aW5nIHN5c3RlbSAqLwogICAgdGhpcy5vcyAgICAgICAgID0gMDsKICAgIC8qIHBvaW50ZXIgdG8gZXh0cmEgZmllbGQgb3IgWl9OVUxMIGlmIG5vbmUgKi8KICAgIHRoaXMuZXh0cmEgICAgICA9IG51bGw7CiAgICAvKiBleHRyYSBmaWVsZCBsZW5ndGggKHZhbGlkIGlmIGV4dHJhICE9IFpfTlVMTCkgKi8KICAgIHRoaXMuZXh0cmFfbGVuICA9IDA7IC8vIEFjdHVhbGx5LCB3ZSBkb24ndCBuZWVkIGl0IGluIEpTLAogICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IGxlYXZlIGZvciBmZXcgY29kZSBtb2RpZmljYXRpb25zCgogICAgLy8KICAgIC8vIFNldHVwIGxpbWl0cyBpcyBub3QgbmVjZXNzYXJ5IGJlY2F1c2UgaW4ganMgd2Ugc2hvdWxkIG5vdCBwcmVhbGxvY2F0ZSBtZW1vcnkKICAgIC8vIGZvciBpbmZsYXRlIHVzZSBjb25zdGFudCBsaW1pdCBpbiA2NTUzNiBieXRlcwogICAgLy8KCiAgICAvKiBzcGFjZSBhdCBleHRyYSAob25seSB3aGVuIHJlYWRpbmcgaGVhZGVyKSAqLwogICAgLy8gdGhpcy5leHRyYV9tYXggID0gMDsKICAgIC8qIHBvaW50ZXIgdG8gemVyby10ZXJtaW5hdGVkIGZpbGUgbmFtZSBvciBaX05VTEwgKi8KICAgIHRoaXMubmFtZSAgICAgICA9ICcnOwogICAgLyogc3BhY2UgYXQgbmFtZSAob25seSB3aGVuIHJlYWRpbmcgaGVhZGVyKSAqLwogICAgLy8gdGhpcy5uYW1lX21heCAgID0gMDsKICAgIC8qIHBvaW50ZXIgdG8gemVyby10ZXJtaW5hdGVkIGNvbW1lbnQgb3IgWl9OVUxMICovCiAgICB0aGlzLmNvbW1lbnQgICAgPSAnJzsKICAgIC8qIHNwYWNlIGF0IGNvbW1lbnQgKG9ubHkgd2hlbiByZWFkaW5nIGhlYWRlcikgKi8KICAgIC8vIHRoaXMuY29tbV9tYXggICA9IDA7CiAgICAvKiB0cnVlIGlmIHRoZXJlIHdhcyBvciB3aWxsIGJlIGEgaGVhZGVyIGNyYyAqLwogICAgdGhpcy5oY3JjICAgICAgID0gMDsKICAgIC8qIHRydWUgd2hlbiBkb25lIHJlYWRpbmcgZ3ppcCBoZWFkZXIgKG5vdCB1c2VkIHdoZW4gd3JpdGluZyBhIGd6aXAgZmlsZSkgKi8KICAgIHRoaXMuZG9uZSAgICAgICA9IGZhbHNlOwogIH0KCiAgdmFyIGd6aGVhZGVyID0gR1poZWFkZXI7CgogIGNvbnN0IHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCiAgLyogUHVibGljIGNvbnN0YW50cyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKICBjb25zdCB7CiAgICBaX05PX0ZMVVNILCBaX0ZJTklTSCwKICAgIFpfT0ssIFpfU1RSRUFNX0VORCwgWl9ORUVEX0RJQ1QsIFpfU1RSRUFNX0VSUk9SLCBaX0RBVEFfRVJST1IsIFpfTUVNX0VSUk9SCiAgfSA9IGNvbnN0YW50cyQyOwoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKCiAgLyoqCiAgICogY2xhc3MgSW5mbGF0ZQogICAqCiAgICogR2VuZXJpYyBKUy1zdHlsZSB3cmFwcGVyIGZvciB6bGliIGNhbGxzLiBJZiB5b3UgZG9uJ3QgbmVlZAogICAqIHN0cmVhbWluZyBiZWhhdmlvdXIgLSB1c2UgbW9yZSBzaW1wbGUgZnVuY3Rpb25zOiBbW2luZmxhdGVdXQogICAqIGFuZCBbW2luZmxhdGVSYXddXS4KICAgKiovCgogIC8qIGludGVybmFsCiAgICogaW5mbGF0ZS5jaHVua3MgLT4gQXJyYXkKICAgKgogICAqIENodW5rcyBvZiBvdXRwdXQgZGF0YSwgaWYgW1tJbmZsYXRlI29uRGF0YV1dIG5vdCBvdmVycmlkZGVuLgogICAqKi8KCiAgLyoqCiAgICogSW5mbGF0ZS5yZXN1bHQgLT4gVWludDhBcnJheXxTdHJpbmcKICAgKgogICAqIFVuY29tcHJlc3NlZCByZXN1bHQsIGdlbmVyYXRlZCBieSBkZWZhdWx0IFtbSW5mbGF0ZSNvbkRhdGFdXQogICAqIGFuZCBbW0luZmxhdGUjb25FbmRdXSBoYW5kbGVycy4gRmlsbGVkIGFmdGVyIHlvdSBwdXNoIGxhc3QgY2h1bmsKICAgKiAoY2FsbCBbW0luZmxhdGUjcHVzaF1dIHdpdGggYFpfRklOSVNIYCAvIGB0cnVlYCBwYXJhbSkuCiAgICoqLwoKICAvKioKICAgKiBJbmZsYXRlLmVyciAtPiBOdW1iZXIKICAgKgogICAqIEVycm9yIGNvZGUgYWZ0ZXIgaW5mbGF0ZSBmaW5pc2hlZC4gMCAoWl9PSykgb24gc3VjY2Vzcy4KICAgKiBTaG91bGQgYmUgY2hlY2tlZCBpZiBicm9rZW4gZGF0YSBwb3NzaWJsZS4KICAgKiovCgogIC8qKgogICAqIEluZmxhdGUubXNnIC0+IFN0cmluZwogICAqCiAgICogRXJyb3IgbWVzc2FnZSwgaWYgW1tJbmZsYXRlLmVycl1dICE9IDAKICAgKiovCgoKICAvKioKICAgKiBuZXcgSW5mbGF0ZShvcHRpb25zKQogICAqIC0gb3B0aW9ucyAoT2JqZWN0KTogemxpYiBpbmZsYXRlIG9wdGlvbnMuCiAgICoKICAgKiBDcmVhdGVzIG5ldyBpbmZsYXRvciBpbnN0YW5jZSB3aXRoIHNwZWNpZmllZCBwYXJhbXMuIFRocm93cyBleGNlcHRpb24KICAgKiBvbiBiYWQgcGFyYW1zLiBTdXBwb3J0ZWQgb3B0aW9uczoKICAgKgogICAqIC0gYHdpbmRvd0JpdHNgCiAgICogLSBgZGljdGlvbmFyeWAKICAgKgogICAqIFtodHRwOi8vemxpYi5uZXQvbWFudWFsLmh0bWwjQWR2YW5jZWRdKGh0dHA6Ly96bGliLm5ldC9tYW51YWwuaHRtbCNBZHZhbmNlZCkKICAgKiBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGVzZS4KICAgKgogICAqIEFkZGl0aW9uYWwgb3B0aW9ucywgZm9yIGludGVybmFsIG5lZWRzOgogICAqCiAgICogLSBgY2h1bmtTaXplYCAtIHNpemUgb2YgZ2VuZXJhdGVkIGRhdGEgY2h1bmtzICgxNksgYnkgZGVmYXVsdCkKICAgKiAtIGByYXdgIChCb29sZWFuKSAtIGRvIHJhdyBpbmZsYXRlCiAgICogLSBgdG9gIChTdHJpbmcpIC0gaWYgZXF1YWwgdG8gJ3N0cmluZycsIHRoZW4gcmVzdWx0IHdpbGwgYmUgY29udmVydGVkCiAgICogICBmcm9tIHV0ZjggdG8gdXRmMTYgKGphdmFzY3JpcHQpIHN0cmluZy4gV2hlbiBzdHJpbmcgb3V0cHV0IHJlcXVlc3RlZCwKICAgKiAgIGNodW5rIGxlbmd0aCBjYW4gZGlmZmVyIGZyb20gYGNodW5rU2l6ZWAsIGRlcGVuZGluZyBvbiBjb250ZW50LgogICAqCiAgICogQnkgZGVmYXVsdCwgd2hlbiBubyBvcHRpb25zIHNldCwgYXV0b2RldGVjdCBkZWZsYXRlL2d6aXAgZGF0YSBmb3JtYXQgdmlhCiAgICogd3JhcHBlciBoZWFkZXIuCiAgICoKICAgKiAjIyMjIyBFeGFtcGxlOgogICAqCiAgICogYGBgamF2YXNjcmlwdAogICAqIGNvbnN0IHBha28gPSByZXF1aXJlKCdwYWtvJykKICAgKiBjb25zdCBjaHVuazEgPSBuZXcgVWludDhBcnJheShbMSwyLDMsNCw1LDYsNyw4LDldKQogICAqIGNvbnN0IGNodW5rMiA9IG5ldyBVaW50OEFycmF5KFsxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOV0pOwogICAqCiAgICogY29uc3QgaW5mbGF0ZSA9IG5ldyBwYWtvLkluZmxhdGUoeyBsZXZlbDogM30pOwogICAqCiAgICogaW5mbGF0ZS5wdXNoKGNodW5rMSwgZmFsc2UpOwogICAqIGluZmxhdGUucHVzaChjaHVuazIsIHRydWUpOyAgLy8gdHJ1ZSAtPiBsYXN0IGNodW5rCiAgICoKICAgKiBpZiAoaW5mbGF0ZS5lcnIpIHsgdGhyb3cgbmV3IEVycm9yKGluZmxhdGUuZXJyKTsgfQogICAqCiAgICogY29uc29sZS5sb2coaW5mbGF0ZS5yZXN1bHQpOwogICAqIGBgYAogICAqKi8KICBmdW5jdGlvbiBJbmZsYXRlJDEob3B0aW9ucykgewogICAgdGhpcy5vcHRpb25zID0gY29tbW9uLmFzc2lnbih7CiAgICAgIGNodW5rU2l6ZTogMTAyNCAqIDY0LAogICAgICB3aW5kb3dCaXRzOiAxNSwKICAgICAgdG86ICcnCiAgICB9LCBvcHRpb25zIHx8IHt9KTsKCiAgICBjb25zdCBvcHQgPSB0aGlzLm9wdGlvbnM7CgogICAgLy8gRm9yY2Ugd2luZG93IHNpemUgZm9yIGByYXdgIGRhdGEsIGlmIG5vdCBzZXQgZGlyZWN0bHksCiAgICAvLyBiZWNhdXNlIHdlIGhhdmUgbm8gaGVhZGVyIGZvciBhdXRvZGV0ZWN0LgogICAgaWYgKG9wdC5yYXcgJiYgKG9wdC53aW5kb3dCaXRzID49IDApICYmIChvcHQud2luZG93Qml0cyA8IDE2KSkgewogICAgICBvcHQud2luZG93Qml0cyA9IC1vcHQud2luZG93Qml0czsKICAgICAgaWYgKG9wdC53aW5kb3dCaXRzID09PSAwKSB7IG9wdC53aW5kb3dCaXRzID0gLTE1OyB9CiAgICB9CgogICAgLy8gSWYgYHdpbmRvd0JpdHNgIG5vdCBkZWZpbmVkIChhbmQgbW9kZSBub3QgcmF3KSAtIHNldCBhdXRvZGV0ZWN0IGZsYWcgZm9yIGd6aXAvZGVmbGF0ZQogICAgaWYgKChvcHQud2luZG93Qml0cyA+PSAwKSAmJiAob3B0LndpbmRvd0JpdHMgPCAxNikgJiYKICAgICAgICAhKG9wdGlvbnMgJiYgb3B0aW9ucy53aW5kb3dCaXRzKSkgewogICAgICBvcHQud2luZG93Qml0cyArPSAzMjsKICAgIH0KCiAgICAvLyBHemlwIGhlYWRlciBoYXMgbm8gaW5mbyBhYm91dCB3aW5kb3dzIHNpemUsIHdlIGNhbiBkbyBhdXRvZGV0ZWN0IG9ubHkKICAgIC8vIGZvciBkZWZsYXRlLiBTbywgaWYgd2luZG93IHNpemUgbm90IHNldCwgZm9yY2UgaXQgdG8gbWF4IHdoZW4gZ3ppcCBwb3NzaWJsZQogICAgaWYgKChvcHQud2luZG93Qml0cyA+IDE1KSAmJiAob3B0LndpbmRvd0JpdHMgPCA0OCkpIHsKICAgICAgLy8gYml0IDMgKDE2KSAtPiBnemlwcGVkIGRhdGEKICAgICAgLy8gYml0IDQgKDMyKSAtPiBhdXRvZGV0ZWN0IGd6aXAvZGVmbGF0ZQogICAgICBpZiAoKG9wdC53aW5kb3dCaXRzICYgMTUpID09PSAwKSB7CiAgICAgICAgb3B0LndpbmRvd0JpdHMgfD0gMTU7CiAgICAgIH0KICAgIH0KCiAgICB0aGlzLmVyciAgICA9IDA7ICAgICAgLy8gZXJyb3IgY29kZSwgaWYgaGFwcGVucyAoMCA9IFpfT0spCiAgICB0aGlzLm1zZyAgICA9ICcnOyAgICAgLy8gZXJyb3IgbWVzc2FnZQogICAgdGhpcy5lbmRlZCAgPSBmYWxzZTsgIC8vIHVzZWQgdG8gYXZvaWQgbXVsdGlwbGUgb25FbmQoKSBjYWxscwogICAgdGhpcy5jaHVua3MgPSBbXTsgICAgIC8vIGNodW5rcyBvZiBjb21wcmVzc2VkIGRhdGEKCiAgICB0aGlzLnN0cm0gICA9IG5ldyB6c3RyZWFtKCk7CiAgICB0aGlzLnN0cm0uYXZhaWxfb3V0ID0gMDsKCiAgICBsZXQgc3RhdHVzICA9IGluZmxhdGVfMSQyLmluZmxhdGVJbml0MigKICAgICAgdGhpcy5zdHJtLAogICAgICBvcHQud2luZG93Qml0cwogICAgKTsKCiAgICBpZiAoc3RhdHVzICE9PSBaX09LKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlc1tzdGF0dXNdKTsKICAgIH0KCiAgICB0aGlzLmhlYWRlciA9IG5ldyBnemhlYWRlcigpOwoKICAgIGluZmxhdGVfMSQyLmluZmxhdGVHZXRIZWFkZXIodGhpcy5zdHJtLCB0aGlzLmhlYWRlcik7CgogICAgLy8gU2V0dXAgZGljdGlvbmFyeQogICAgaWYgKG9wdC5kaWN0aW9uYXJ5KSB7CiAgICAgIC8vIENvbnZlcnQgZGF0YSBpZiBuZWVkZWQKICAgICAgaWYgKHR5cGVvZiBvcHQuZGljdGlvbmFyeSA9PT0gJ3N0cmluZycpIHsKICAgICAgICBvcHQuZGljdGlvbmFyeSA9IHN0cmluZ3Muc3RyaW5nMmJ1ZihvcHQuZGljdGlvbmFyeSk7CiAgICAgIH0gZWxzZSBpZiAodG9TdHJpbmcuY2FsbChvcHQuZGljdGlvbmFyeSkgPT09ICdbb2JqZWN0IEFycmF5QnVmZmVyXScpIHsKICAgICAgICBvcHQuZGljdGlvbmFyeSA9IG5ldyBVaW50OEFycmF5KG9wdC5kaWN0aW9uYXJ5KTsKICAgICAgfQogICAgICBpZiAob3B0LnJhdykgeyAvL0luIHJhdyBtb2RlIHdlIG5lZWQgdG8gc2V0IHRoZSBkaWN0aW9uYXJ5IGVhcmx5CiAgICAgICAgc3RhdHVzID0gaW5mbGF0ZV8xJDIuaW5mbGF0ZVNldERpY3Rpb25hcnkodGhpcy5zdHJtLCBvcHQuZGljdGlvbmFyeSk7CiAgICAgICAgaWYgKHN0YXR1cyAhPT0gWl9PSykgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2VzW3N0YXR1c10pOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KCiAgLyoqCiAgICogSW5mbGF0ZSNwdXNoKGRhdGFbLCBmbHVzaF9tb2RlXSkgLT4gQm9vbGVhbgogICAqIC0gZGF0YSAoVWludDhBcnJheXxBcnJheUJ1ZmZlcik6IGlucHV0IGRhdGEKICAgKiAtIGZsdXNoX21vZGUgKE51bWJlcnxCb29sZWFuKTogMC4uNiBmb3IgY29ycmVzcG9uZGluZyBaX05PX0ZMVVNILi5aX1RSRUUKICAgKiAgIGZsdXNoIG1vZGVzLiBTZWUgY29uc3RhbnRzLiBTa2lwcGVkIG9yIGBmYWxzZWAgbWVhbnMgWl9OT19GTFVTSCwKICAgKiAgIGB0cnVlYCBtZWFucyBaX0ZJTklTSC4KICAgKgogICAqIFNlbmRzIGlucHV0IGRhdGEgdG8gaW5mbGF0ZSBwaXBlLCBnZW5lcmF0aW5nIFtbSW5mbGF0ZSNvbkRhdGFdXSBjYWxscyB3aXRoCiAgICogbmV3IG91dHB1dCBjaHVua3MuIFJldHVybnMgYHRydWVgIG9uIHN1Y2Nlc3MuIElmIGVuZCBvZiBzdHJlYW0gZGV0ZWN0ZWQsCiAgICogW1tJbmZsYXRlI29uRW5kXV0gd2lsbCBiZSBjYWxsZWQuCiAgICoKICAgKiBgZmx1c2hfbW9kZWAgaXMgbm90IG5lZWRlZCBmb3Igbm9ybWFsIG9wZXJhdGlvbiwgYmVjYXVzZSBlbmQgb2Ygc3RyZWFtCiAgICogZGV0ZWN0ZWQgYXV0b21hdGljYWxseS4gWW91IG1heSB0cnkgdG8gdXNlIGl0IGZvciBhZHZhbmNlZCB0aGluZ3MsIGJ1dAogICAqIHRoaXMgZnVuY3Rpb25hbGl0eSB3YXMgbm90IHRlc3RlZC4KICAgKgogICAqIE9uIGZhaWwgY2FsbCBbW0luZmxhdGUjb25FbmRdXSB3aXRoIGVycm9yIGNvZGUgYW5kIHJldHVybiBmYWxzZS4KICAgKgogICAqICMjIyMjIEV4YW1wbGUKICAgKgogICAqIGBgYGphdmFzY3JpcHQKICAgKiBwdXNoKGNodW5rLCBmYWxzZSk7IC8vIHB1c2ggb25lIG9mIGRhdGEgY2h1bmtzCiAgICogLi4uCiAgICogcHVzaChjaHVuaywgdHJ1ZSk7ICAvLyBwdXNoIGxhc3QgY2h1bmsKICAgKiBgYGAKICAgKiovCiAgSW5mbGF0ZSQxLnByb3RvdHlwZS5wdXNoID0gZnVuY3Rpb24gKGRhdGEsIGZsdXNoX21vZGUpIHsKICAgIGNvbnN0IHN0cm0gPSB0aGlzLnN0cm07CiAgICBjb25zdCBjaHVua1NpemUgPSB0aGlzLm9wdGlvbnMuY2h1bmtTaXplOwogICAgY29uc3QgZGljdGlvbmFyeSA9IHRoaXMub3B0aW9ucy5kaWN0aW9uYXJ5OwogICAgbGV0IHN0YXR1cywgX2ZsdXNoX21vZGUsIGxhc3RfYXZhaWxfb3V0OwoKICAgIGlmICh0aGlzLmVuZGVkKSByZXR1cm4gZmFsc2U7CgogICAgaWYgKGZsdXNoX21vZGUgPT09IH5+Zmx1c2hfbW9kZSkgX2ZsdXNoX21vZGUgPSBmbHVzaF9tb2RlOwogICAgZWxzZSBfZmx1c2hfbW9kZSA9IGZsdXNoX21vZGUgPT09IHRydWUgPyBaX0ZJTklTSCA6IFpfTk9fRkxVU0g7CgogICAgLy8gQ29udmVydCBkYXRhIGlmIG5lZWRlZAogICAgaWYgKHRvU3RyaW5nLmNhbGwoZGF0YSkgPT09ICdbb2JqZWN0IEFycmF5QnVmZmVyXScpIHsKICAgICAgc3RybS5pbnB1dCA9IG5ldyBVaW50OEFycmF5KGRhdGEpOwogICAgfSBlbHNlIHsKICAgICAgc3RybS5pbnB1dCA9IGRhdGE7CiAgICB9CgogICAgc3RybS5uZXh0X2luID0gMDsKICAgIHN0cm0uYXZhaWxfaW4gPSBzdHJtLmlucHV0Lmxlbmd0aDsKCiAgICBmb3IgKDs7KSB7CiAgICAgIGlmIChzdHJtLmF2YWlsX291dCA9PT0gMCkgewogICAgICAgIHN0cm0ub3V0cHV0ID0gbmV3IFVpbnQ4QXJyYXkoY2h1bmtTaXplKTsKICAgICAgICBzdHJtLm5leHRfb3V0ID0gMDsKICAgICAgICBzdHJtLmF2YWlsX291dCA9IGNodW5rU2l6ZTsKICAgICAgfQoKICAgICAgc3RhdHVzID0gaW5mbGF0ZV8xJDIuaW5mbGF0ZShzdHJtLCBfZmx1c2hfbW9kZSk7CgogICAgICBpZiAoc3RhdHVzID09PSBaX05FRURfRElDVCAmJiBkaWN0aW9uYXJ5KSB7CiAgICAgICAgc3RhdHVzID0gaW5mbGF0ZV8xJDIuaW5mbGF0ZVNldERpY3Rpb25hcnkoc3RybSwgZGljdGlvbmFyeSk7CgogICAgICAgIGlmIChzdGF0dXMgPT09IFpfT0spIHsKICAgICAgICAgIHN0YXR1cyA9IGluZmxhdGVfMSQyLmluZmxhdGUoc3RybSwgX2ZsdXNoX21vZGUpOwogICAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSBaX0RBVEFfRVJST1IpIHsKICAgICAgICAgIC8vIFJlcGxhY2UgY29kZSB3aXRoIG1vcmUgdmVyYm9zZQogICAgICAgICAgc3RhdHVzID0gWl9ORUVEX0RJQ1Q7CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBTa2lwIHNueWMgbWFya2VycyBpZiBtb3JlIGRhdGEgZm9sbG93cyBhbmQgbm90IHJhdyBtb2RlCiAgICAgIHdoaWxlIChzdHJtLmF2YWlsX2luID4gMCAmJgogICAgICAgICAgICAgc3RhdHVzID09PSBaX1NUUkVBTV9FTkQgJiYKICAgICAgICAgICAgIHN0cm0uc3RhdGUud3JhcCA+IDAgJiYKICAgICAgICAgICAgIGRhdGFbc3RybS5uZXh0X2luXSAhPT0gMCkKICAgICAgewogICAgICAgIGluZmxhdGVfMSQyLmluZmxhdGVSZXNldChzdHJtKTsKICAgICAgICBzdGF0dXMgPSBpbmZsYXRlXzEkMi5pbmZsYXRlKHN0cm0sIF9mbHVzaF9tb2RlKTsKICAgICAgfQoKICAgICAgc3dpdGNoIChzdGF0dXMpIHsKICAgICAgICBjYXNlIFpfU1RSRUFNX0VSUk9SOgogICAgICAgIGNhc2UgWl9EQVRBX0VSUk9SOgogICAgICAgIGNhc2UgWl9ORUVEX0RJQ1Q6CiAgICAgICAgY2FzZSBaX01FTV9FUlJPUjoKICAgICAgICAgIHRoaXMub25FbmQoc3RhdHVzKTsKICAgICAgICAgIHRoaXMuZW5kZWQgPSB0cnVlOwogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgICAvLyBSZW1lbWJlciByZWFsIGBhdmFpbF9vdXRgIHZhbHVlLCBiZWNhdXNlIHdlIG1heSBwYXRjaCBvdXQgYnVmZmVyIGNvbnRlbnQKICAgICAgLy8gdG8gYWxpZ24gdXRmOCBzdHJpbmdzIGJvdW5kYXJpZXMuCiAgICAgIGxhc3RfYXZhaWxfb3V0ID0gc3RybS5hdmFpbF9vdXQ7CgogICAgICBpZiAoc3RybS5uZXh0X291dCkgewogICAgICAgIGlmIChzdHJtLmF2YWlsX291dCA9PT0gMCB8fCBzdGF0dXMgPT09IFpfU1RSRUFNX0VORCkgewoKICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudG8gPT09ICdzdHJpbmcnKSB7CgogICAgICAgICAgICBsZXQgbmV4dF9vdXRfdXRmOCA9IHN0cmluZ3MudXRmOGJvcmRlcihzdHJtLm91dHB1dCwgc3RybS5uZXh0X291dCk7CgogICAgICAgICAgICBsZXQgdGFpbCA9IHN0cm0ubmV4dF9vdXQgLSBuZXh0X291dF91dGY4OwogICAgICAgICAgICBsZXQgdXRmOHN0ciA9IHN0cmluZ3MuYnVmMnN0cmluZyhzdHJtLm91dHB1dCwgbmV4dF9vdXRfdXRmOCk7CgogICAgICAgICAgICAvLyBtb3ZlIHRhaWwgJiByZWFsaWduIGNvdW50ZXJzCiAgICAgICAgICAgIHN0cm0ubmV4dF9vdXQgPSB0YWlsOwogICAgICAgICAgICBzdHJtLmF2YWlsX291dCA9IGNodW5rU2l6ZSAtIHRhaWw7CiAgICAgICAgICAgIGlmICh0YWlsKSBzdHJtLm91dHB1dC5zZXQoc3RybS5vdXRwdXQuc3ViYXJyYXkobmV4dF9vdXRfdXRmOCwgbmV4dF9vdXRfdXRmOCArIHRhaWwpLCAwKTsKCiAgICAgICAgICAgIHRoaXMub25EYXRhKHV0ZjhzdHIpOwoKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRoaXMub25EYXRhKHN0cm0ub3V0cHV0Lmxlbmd0aCA9PT0gc3RybS5uZXh0X291dCA/IHN0cm0ub3V0cHV0IDogc3RybS5vdXRwdXQuc3ViYXJyYXkoMCwgc3RybS5uZXh0X291dCkpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgLy8gTXVzdCByZXBlYXQgaXRlcmF0aW9uIGlmIG91dCBidWZmZXIgaXMgZnVsbAogICAgICBpZiAoc3RhdHVzID09PSBaX09LICYmIGxhc3RfYXZhaWxfb3V0ID09PSAwKSBjb250aW51ZTsKCiAgICAgIC8vIEZpbmFsaXplIGlmIGVuZCBvZiBzdHJlYW0gcmVhY2hlZC4KICAgICAgaWYgKHN0YXR1cyA9PT0gWl9TVFJFQU1fRU5EKSB7CiAgICAgICAgc3RhdHVzID0gaW5mbGF0ZV8xJDIuaW5mbGF0ZUVuZCh0aGlzLnN0cm0pOwogICAgICAgIHRoaXMub25FbmQoc3RhdHVzKTsKICAgICAgICB0aGlzLmVuZGVkID0gdHJ1ZTsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQoKICAgICAgaWYgKHN0cm0uYXZhaWxfaW4gPT09IDApIGJyZWFrOwogICAgfQoKICAgIHJldHVybiB0cnVlOwogIH07CgoKICAvKioKICAgKiBJbmZsYXRlI29uRGF0YShjaHVuaykgLT4gVm9pZAogICAqIC0gY2h1bmsgKFVpbnQ4QXJyYXl8U3RyaW5nKTogb3V0cHV0IGRhdGEuIFdoZW4gc3RyaW5nIG91dHB1dCByZXF1ZXN0ZWQsCiAgICogICBlYWNoIGNodW5rIHdpbGwgYmUgc3RyaW5nLgogICAqCiAgICogQnkgZGVmYXVsdCwgc3RvcmVzIGRhdGEgYmxvY2tzIGluIGBjaHVua3NbXWAgcHJvcGVydHkgYW5kIGdsdWUKICAgKiB0aG9zZSBpbiBgb25FbmRgLiBPdmVycmlkZSB0aGlzIGhhbmRsZXIsIGlmIHlvdSBuZWVkIGFub3RoZXIgYmVoYXZpb3VyLgogICAqKi8KICBJbmZsYXRlJDEucHJvdG90eXBlLm9uRGF0YSA9IGZ1bmN0aW9uIChjaHVuaykgewogICAgdGhpcy5jaHVua3MucHVzaChjaHVuayk7CiAgfTsKCgogIC8qKgogICAqIEluZmxhdGUjb25FbmQoc3RhdHVzKSAtPiBWb2lkCiAgICogLSBzdGF0dXMgKE51bWJlcik6IGluZmxhdGUgc3RhdHVzLiAwIChaX09LKSBvbiBzdWNjZXNzLAogICAqICAgb3RoZXIgaWYgbm90LgogICAqCiAgICogQ2FsbGVkIGVpdGhlciBhZnRlciB5b3UgdGVsbCBpbmZsYXRlIHRoYXQgdGhlIGlucHV0IHN0cmVhbSBpcwogICAqIGNvbXBsZXRlIChaX0ZJTklTSCkuIEJ5IGRlZmF1bHQgLSBqb2luIGNvbGxlY3RlZCBjaHVua3MsCiAgICogZnJlZSBtZW1vcnkgYW5kIGZpbGwgYHJlc3VsdHNgIC8gYGVycmAgcHJvcGVydGllcy4KICAgKiovCiAgSW5mbGF0ZSQxLnByb3RvdHlwZS5vbkVuZCA9IGZ1bmN0aW9uIChzdGF0dXMpIHsKICAgIC8vIE9uIHN1Y2Nlc3MgLSBqb2luCiAgICBpZiAoc3RhdHVzID09PSBaX09LKSB7CiAgICAgIGlmICh0aGlzLm9wdGlvbnMudG8gPT09ICdzdHJpbmcnKSB7CiAgICAgICAgdGhpcy5yZXN1bHQgPSB0aGlzLmNodW5rcy5qb2luKCcnKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnJlc3VsdCA9IGNvbW1vbi5mbGF0dGVuQ2h1bmtzKHRoaXMuY2h1bmtzKTsKICAgICAgfQogICAgfQogICAgdGhpcy5jaHVua3MgPSBbXTsKICAgIHRoaXMuZXJyID0gc3RhdHVzOwogICAgdGhpcy5tc2cgPSB0aGlzLnN0cm0ubXNnOwogIH07CgoKICAvKioKICAgKiBpbmZsYXRlKGRhdGFbLCBvcHRpb25zXSkgLT4gVWludDhBcnJheXxTdHJpbmcKICAgKiAtIGRhdGEgKFVpbnQ4QXJyYXkpOiBpbnB1dCBkYXRhIHRvIGRlY29tcHJlc3MuCiAgICogLSBvcHRpb25zIChPYmplY3QpOiB6bGliIGluZmxhdGUgb3B0aW9ucy4KICAgKgogICAqIERlY29tcHJlc3MgYGRhdGFgIHdpdGggaW5mbGF0ZS91bmd6aXAgYW5kIGBvcHRpb25zYC4gQXV0b2RldGVjdAogICAqIGZvcm1hdCB2aWEgd3JhcHBlciBoZWFkZXIgYnkgZGVmYXVsdC4gVGhhdCdzIHdoeSB3ZSBkb24ndCBwcm92aWRlCiAgICogc2VwYXJhdGUgYHVuZ3ppcGAgbWV0aG9kLgogICAqCiAgICogU3VwcG9ydGVkIG9wdGlvbnMgYXJlOgogICAqCiAgICogLSB3aW5kb3dCaXRzCiAgICoKICAgKiBbaHR0cDovL3psaWIubmV0L21hbnVhbC5odG1sI0FkdmFuY2VkXShodHRwOi8vemxpYi5uZXQvbWFudWFsLmh0bWwjQWR2YW5jZWQpCiAgICogZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAgICoKICAgKiBTdWdhciAob3B0aW9ucyk6CiAgICoKICAgKiAtIGByYXdgIChCb29sZWFuKSAtIHNheSB0aGF0IHdlIHdvcmsgd2l0aCByYXcgc3RyZWFtLCBpZiB5b3UgZG9uJ3Qgd2lzaCB0byBzcGVjaWZ5CiAgICogICBuZWdhdGl2ZSB3aW5kb3dCaXRzIGltcGxpY2l0bHkuCiAgICogLSBgdG9gIChTdHJpbmcpIC0gaWYgZXF1YWwgdG8gJ3N0cmluZycsIHRoZW4gcmVzdWx0IHdpbGwgYmUgY29udmVydGVkCiAgICogICBmcm9tIHV0ZjggdG8gdXRmMTYgKGphdmFzY3JpcHQpIHN0cmluZy4gV2hlbiBzdHJpbmcgb3V0cHV0IHJlcXVlc3RlZCwKICAgKiAgIGNodW5rIGxlbmd0aCBjYW4gZGlmZmVyIGZyb20gYGNodW5rU2l6ZWAsIGRlcGVuZGluZyBvbiBjb250ZW50LgogICAqCiAgICoKICAgKiAjIyMjIyBFeGFtcGxlOgogICAqCiAgICogYGBgamF2YXNjcmlwdAogICAqIGNvbnN0IHBha28gPSByZXF1aXJlKCdwYWtvJyk7CiAgICogY29uc3QgaW5wdXQgPSBwYWtvLmRlZmxhdGUobmV3IFVpbnQ4QXJyYXkoWzEsMiwzLDQsNSw2LDcsOCw5XSkpOwogICAqIGxldCBvdXRwdXQ7CiAgICoKICAgKiB0cnkgewogICAqICAgb3V0cHV0ID0gcGFrby5pbmZsYXRlKGlucHV0KTsKICAgKiB9IGNhdGNoIChlcnIpIHsKICAgKiAgIGNvbnNvbGUubG9nKGVycik7CiAgICogfQogICAqIGBgYAogICAqKi8KICBmdW5jdGlvbiBpbmZsYXRlJDEoaW5wdXQsIG9wdGlvbnMpIHsKICAgIGNvbnN0IGluZmxhdG9yID0gbmV3IEluZmxhdGUkMShvcHRpb25zKTsKCiAgICBpbmZsYXRvci5wdXNoKGlucHV0KTsKCiAgICAvLyBUaGF0IHdpbGwgbmV2ZXIgaGFwcGVucywgaWYgeW91IGRvbid0IGNoZWF0IHdpdGggb3B0aW9ucyA6KQogICAgaWYgKGluZmxhdG9yLmVycikgdGhyb3cgaW5mbGF0b3IubXNnIHx8IG1lc3NhZ2VzW2luZmxhdG9yLmVycl07CgogICAgcmV0dXJuIGluZmxhdG9yLnJlc3VsdDsKICB9CgoKICAvKioKICAgKiBpbmZsYXRlUmF3KGRhdGFbLCBvcHRpb25zXSkgLT4gVWludDhBcnJheXxTdHJpbmcKICAgKiAtIGRhdGEgKFVpbnQ4QXJyYXkpOiBpbnB1dCBkYXRhIHRvIGRlY29tcHJlc3MuCiAgICogLSBvcHRpb25zIChPYmplY3QpOiB6bGliIGluZmxhdGUgb3B0aW9ucy4KICAgKgogICAqIFRoZSBzYW1lIGFzIFtbaW5mbGF0ZV1dLCBidXQgY3JlYXRlcyByYXcgZGF0YSwgd2l0aG91dCB3cmFwcGVyCiAgICogKGhlYWRlciBhbmQgYWRsZXIzMiBjcmMpLgogICAqKi8KICBmdW5jdGlvbiBpbmZsYXRlUmF3JDEoaW5wdXQsIG9wdGlvbnMpIHsKICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwogICAgb3B0aW9ucy5yYXcgPSB0cnVlOwogICAgcmV0dXJuIGluZmxhdGUkMShpbnB1dCwgb3B0aW9ucyk7CiAgfQoKCiAgLyoqCiAgICogdW5nemlwKGRhdGFbLCBvcHRpb25zXSkgLT4gVWludDhBcnJheXxTdHJpbmcKICAgKiAtIGRhdGEgKFVpbnQ4QXJyYXkpOiBpbnB1dCBkYXRhIHRvIGRlY29tcHJlc3MuCiAgICogLSBvcHRpb25zIChPYmplY3QpOiB6bGliIGluZmxhdGUgb3B0aW9ucy4KICAgKgogICAqIEp1c3Qgc2hvcnRjdXQgdG8gW1tpbmZsYXRlXV0sIGJlY2F1c2UgaXQgYXV0b2RldGVjdHMgZm9ybWF0CiAgICogYnkgaGVhZGVyLmNvbnRlbnQuIERvbmUgZm9yIGNvbnZlbmllbmNlLgogICAqKi8KCgogIHZhciBJbmZsYXRlXzEkMSA9IEluZmxhdGUkMTsKICB2YXIgaW5mbGF0ZV8yID0gaW5mbGF0ZSQxOwogIHZhciBpbmZsYXRlUmF3XzEkMSA9IGluZmxhdGVSYXckMTsKICB2YXIgdW5nemlwJDEgPSBpbmZsYXRlJDE7CiAgdmFyIGNvbnN0YW50cyA9IGNvbnN0YW50cyQyOwoKICB2YXIgaW5mbGF0ZV8xJDEgPSB7CiAgCUluZmxhdGU6IEluZmxhdGVfMSQxLAogIAlpbmZsYXRlOiBpbmZsYXRlXzIsCiAgCWluZmxhdGVSYXc6IGluZmxhdGVSYXdfMSQxLAogIAl1bmd6aXA6IHVuZ3ppcCQxLAogIAljb25zdGFudHM6IGNvbnN0YW50cwogIH07CgogIGNvbnN0IHsgSW5mbGF0ZSwgaW5mbGF0ZSwgaW5mbGF0ZVJhdywgdW5nemlwIH0gPSBpbmZsYXRlXzEkMTsKICB2YXIgaW5mbGF0ZV8xID0gaW5mbGF0ZTsKCiAgY2xhc3MgRGVmbGF0ZURlY29kZXIgZXh0ZW5kcyBCYXNlRGVjb2RlciB7CiAgICBkZWNvZGVCbG9jayhidWZmZXIpIHsKICAgICAgcmV0dXJuIGluZmxhdGVfMShuZXcgVWludDhBcnJheShidWZmZXIpKS5idWZmZXI7CiAgICB9CiAgfQoKICBjbGFzcyBQYWNrYml0c0RlY29kZXIgZXh0ZW5kcyBCYXNlRGVjb2RlciB7CiAgICBkZWNvZGVCbG9jayhidWZmZXIpIHsKICAgICAgY29uc3QgZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXcoYnVmZmVyKTsKICAgICAgY29uc3Qgb3V0ID0gW107CgogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJ1ZmZlci5ieXRlTGVuZ3RoOyArK2kpIHsKICAgICAgICBsZXQgaGVhZGVyID0gZGF0YVZpZXcuZ2V0SW50OChpKTsKICAgICAgICBpZiAoaGVhZGVyIDwgMCkgewogICAgICAgICAgY29uc3QgbmV4dCA9IGRhdGFWaWV3LmdldFVpbnQ4KGkgKyAxKTsKICAgICAgICAgIGhlYWRlciA9IC1oZWFkZXI7CiAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8PSBoZWFkZXI7ICsraikgewogICAgICAgICAgICBvdXQucHVzaChuZXh0KTsKICAgICAgICAgIH0KICAgICAgICAgIGkgKz0gMTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPD0gaGVhZGVyOyArK2opIHsKICAgICAgICAgICAgb3V0LnB1c2goZGF0YVZpZXcuZ2V0VWludDgoaSArIGogKyAxKSk7CiAgICAgICAgICB9CiAgICAgICAgICBpICs9IGhlYWRlciArIDE7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBuZXcgVWludDhBcnJheShvdXQpLmJ1ZmZlcjsKICAgIH0KICB9CgogIHZhciBMZXJjRGVjb2RlID0ge2V4cG9ydHM6IHt9fTsKCiAgLyoganNoaW50IGZvcmluOiBmYWxzZSwgYml0d2lzZTogZmFsc2UgKi8KCiAgKGZ1bmN0aW9uIChtb2R1bGUpIHsKICAvKgogIENvcHlyaWdodCAyMDE1LTIwMTggRXNyaQoKICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgogIEEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYWRkaXRpb25hbCBub3RpY2VzIGFyZSBsb2NhdGVkIHdpdGggdGhlCiAgc291cmNlIGRpc3RyaWJ1dGlvbiBhdDoKCiAgaHR0cDovL2dpdGh1Yi5jb20vRXNyaS9sZXJjLwoKICBDb250cmlidXRvcnM6ICBKb2hhbm5lcyBTY2htaWQsIChMRVJDIHYxKQogICAgICAgICAgICAgICAgIENoYXlhbmlrYSBLaGF0dWEsIChMRVJDIHYxKQogICAgICAgICAgICAgICAgIFdlbnh1ZSBKdSAoTEVSQyB2MSwgdjIueCkKICAqLwoKICAvKiBDb3B5cmlnaHQgMjAxNS0yMDE4IEVzcmkuIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgQHByZXNlcnZlICovCgogIC8qKgogICAqIGEgbW9kdWxlIGZvciBkZWNvZGluZyBMRVJDIGJsb2JzCiAgICogQG1vZHVsZSBMZXJjCiAgICovCiAgKGZ1bmN0aW9uKCkgewogICAgLy90aGUgb3JpZ2luYWwgTGVyY0RlY29kZSBmb3IgVmVyc2lvbiAxCiAgICB2YXIgTGVyY0RlY29kZSA9IChmdW5jdGlvbigpIHsKCiAgICAgIC8vIFdBUk5JTkc6IFRoaXMgZGVjb2RlciB2ZXJzaW9uIGNhbiBvbmx5IHJlYWQgb2xkIHZlcnNpb24gMSBMZXJjIGJsb2JzLiBVc2Ugd2l0aCBjYXV0aW9uLgoKICAgICAgLy8gTm90ZTogY3VycmVudGx5LCB0aGlzIG1vZHVsZSBvbmx5IGhhcyBhbiBpbXBsZW1lbnRhdGlvbiBmb3IgZGVjb2RpbmcgTEVSQyBkYXRhLCBub3QgZW5jb2RpbmcuIFRoZSBuYW1lIG9mCiAgICAgIC8vIHRoZSBjbGFzcyB3YXMgY2hvc2VuIHRvIGJlIGZ1dHVyZSBwcm9vZi4KCiAgICAgIHZhciBDbnRaSW1hZ2UgPSB7fTsKCiAgICAgIENudFpJbWFnZS5kZWZhdWx0Tm9EYXRhVmFsdWUgPSAtMy40MDI3OTk5Mzg3OTAxNDg0ZSszODsgLy8gc21hbGxlc3QgRmxvYXQzMiB2YWx1ZQoKICAgICAgLyoqCiAgICAgICAqIERlY29kZSBhIExFUkMgYnl0ZSBzdHJlYW0gYW5kIHJldHVybiBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgcGl4ZWwgZGF0YSBhbmQgc29tZSByZXF1aXJlZCBhbmQgb3B0aW9uYWwKICAgICAgICogaW5mb3JtYXRpb24gYWJvdXQgaXQsIHN1Y2ggYXMgdGhlIGltYWdlJ3Mgd2lkdGggYW5kIGhlaWdodC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtBcnJheUJ1ZmZlcn0gaW5wdXQgVGhlIExFUkMgaW5wdXQgYnl0ZSBzdHJlYW0KICAgICAgICogQHBhcmFtIHtvYmplY3R9IFtvcHRpb25zXSBEZWNvZGluZyBvcHRpb25zLCBjb250YWluaW5nIGFueSBvZiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6CiAgICAgICAqIEBjb25maWcge251bWJlcn0gW2lucHV0T2Zmc2V0ID0gMF0KICAgICAgICogICAgICAgIFNraXAgdGhlIGZpcnN0IGlucHV0T2Zmc2V0IGJ5dGVzIG9mIHRoZSBpbnB1dCBieXRlIHN0cmVhbS4gQSB2YWxpZCBMRVJDIGZpbGUgaXMgZXhwZWN0ZWQgYXQgdGhhdCBwb3NpdGlvbi4KICAgICAgICogQGNvbmZpZyB7VWludDhBcnJheX0gW2VuY29kZWRNYXNrID0gbnVsbF0KICAgICAgICogICAgICAgIElmIHNwZWNpZmllZCwgdGhlIGRlY29kZXIgd2lsbCBub3QgcmVhZCBtYXNrIGluZm9ybWF0aW9uIGZyb20gdGhlIGlucHV0IGFuZCB1c2UgdGhlIHNwZWNpZmllZCBlbmNvZGVkCiAgICAgICAqICAgICAgICBtYXNrIGRhdGEgaW5zdGVhZC4gTWFzayBoZWFkZXIvZGF0YSBtdXN0IG5vdCBiZSBwcmVzZW50IGluIHRoZSBMRVJDIGJ5dGUgc3RyZWFtIGluIHRoaXMgY2FzZS4KICAgICAgICogQGNvbmZpZyB7bnVtYmVyfSBbbm9EYXRhVmFsdWUgPSBMZXJjQ29kZS5kZWZhdWx0Tm9EYXRhVmFsdWVdCiAgICAgICAqICAgICAgICBQaXhlbCB2YWx1ZSB0byB1c2UgZm9yIG1hc2tlZCBwaXhlbHMuCiAgICAgICAqIEBjb25maWcge0FycmF5QnVmZmVyVmlld3xBcnJheX0gW3BpeGVsVHlwZSA9IEZsb2F0MzJBcnJheV0KICAgICAgICogICAgICAgIFRoZSBkZXNpcmVkIHR5cGUgb2YgdGhlIHBpeGVsRGF0YSBhcnJheSBpbiB0aGUgcmV0dXJuIHZhbHVlLiBOb3RlIHRoYXQgaXQgaXMgdGhlIGNhbGxlcidzIHJlc3BvbnNpYmlsaXR5IHRvCiAgICAgICAqICAgICAgICBwcm92aWRlIGFuIGFwcHJvcHJpYXRlIG5vRGF0YVZhbHVlIGlmIHRoZSBkZWZhdWx0IHBpeGVsVHlwZSBpcyBvdmVycmlkZGVuLgogICAgICAgKiBAY29uZmlnIHtib29sZWFufSBbcmV0dXJuTWFzayA9IGZhbHNlXQogICAgICAgKiAgICAgICAgSWYgdHJ1ZSwgdGhlIHJldHVybiB2YWx1ZSB3aWxsIGNvbnRhaW4gYSBtYXNrRGF0YSBwcm9wZXJ0eSBvZiB0eXBlIFVpbnQ4QXJyYXkgd2hpY2ggaGFzIG9uZSBlbGVtZW50IHBlcgogICAgICAgKiAgICAgICAgcGl4ZWwsIHRoZSB2YWx1ZSBvZiB3aGljaCBpcyAxIG9yIDAgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhhdCBwaXhlbCdzIGRhdGEgaXMgcHJlc2VudCBvciBtYXNrZWQuIElmIHRoZQogICAgICAgKiAgICAgICAgaW5wdXQgTEVSQyBkYXRhIGRvZXMgbm90IGNvbnRhaW4gYSBtYXNrLCBtYXNrRGF0YSB3aWxsIG5vdCBiZSByZXR1cm5lZC4KICAgICAgICogQGNvbmZpZyB7Ym9vbGVhbn0gW3JldHVybkVuY29kZWRNYXNrID0gZmFsc2VdCiAgICAgICAqICAgICAgICBJZiB0cnVlLCB0aGUgcmV0dXJuIHZhbHVlIHdpbGwgY29udGFpbiBhIGVuY29kZWRNYXNrRGF0YSBwcm9wZXJ0eSwgd2hpY2ggY2FuIGJlIHBhc3NlZCBpbnRvIGVuY29kZSgpIGFzCiAgICAgICAqICAgICAgICBlbmNvZGVkTWFzay4KICAgICAgICogQGNvbmZpZyB7Ym9vbGVhbn0gW3JldHVybkZpbGVJbmZvID0gZmFsc2VdCiAgICAgICAqICAgICAgICBJZiB0cnVlLCB0aGUgcmV0dXJuIHZhbHVlIHdpbGwgaGF2ZSBhIGZpbGVJbmZvIHByb3BlcnR5IHRoYXQgY29udGFpbnMgbWV0YWRhdGEgb2J0YWluZWQgZnJvbSB0aGUKICAgICAgICogICAgICAgIExFUkMgaGVhZGVycyBhbmQgdGhlIGRlY29kaW5nIHByb2Nlc3MuCiAgICAgICAqIEBjb25maWcge2Jvb2xlYW59IFtjb21wdXRlVXNlZEJpdERlcHRocyA9IGZhbHNlXQogICAgICAgKiAgICAgICAgSWYgdHJ1ZSwgdGhlIGZpbGVJbmZvIHByb3BlcnR5IGluIHRoZSByZXR1cm4gdmFsdWUgd2lsbCBjb250YWluIHRoZSBzZXQgb2YgYWxsIGJsb2NrIGJpdCBkZXB0aHMKICAgICAgICogICAgICAgIGVuY291bnRlcmVkIGR1cmluZyBkZWNvZGluZy4gV2lsbCBvbmx5IGhhdmUgYW4gZWZmZWN0IGlmIHJldHVybkZpbGVJbmZvIG9wdGlvbiBpcyB0cnVlLgogICAgICAgKiBAcmV0dXJucyB7e3dpZHRoLCBoZWlnaHQsIHBpeGVsRGF0YSwgbWluVmFsdWUsIG1heFZhbHVlLCBub0RhdGFWYWx1ZSwgbWFza0RhdGEsIGVuY29kZWRNYXNrRGF0YSwgZmlsZUluZm99fQogICAgICAgKi8KICAgICAgQ250WkltYWdlLmRlY29kZSA9IGZ1bmN0aW9uKGlucHV0LCBvcHRpb25zKSB7CiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307CgogICAgICAgIHZhciBza2lwTWFzayA9IG9wdGlvbnMuZW5jb2RlZE1hc2tEYXRhIHx8IChvcHRpb25zLmVuY29kZWRNYXNrRGF0YSA9PT0gbnVsbCk7CiAgICAgICAgdmFyIHBhcnNlZERhdGEgPSBwYXJzZShpbnB1dCwgb3B0aW9ucy5pbnB1dE9mZnNldCB8fCAwLCBza2lwTWFzayk7CgogICAgICAgIHZhciBub0RhdGFWYWx1ZSA9IChvcHRpb25zLm5vRGF0YVZhbHVlICE9PSBudWxsKSA/IG9wdGlvbnMubm9EYXRhVmFsdWUgOiBDbnRaSW1hZ2UuZGVmYXVsdE5vRGF0YVZhbHVlOwoKICAgICAgICB2YXIgdW5jb21wcmVzc2VkRGF0YSA9IHVuY29tcHJlc3NQaXhlbFZhbHVlcyhwYXJzZWREYXRhLCBvcHRpb25zLnBpeGVsVHlwZSB8fCBGbG9hdDMyQXJyYXksCiAgICAgICAgICBvcHRpb25zLmVuY29kZWRNYXNrRGF0YSwgbm9EYXRhVmFsdWUsIG9wdGlvbnMucmV0dXJuTWFzayk7CgogICAgICAgIHZhciByZXN1bHQgPSB7CiAgICAgICAgICB3aWR0aDogcGFyc2VkRGF0YS53aWR0aCwKICAgICAgICAgIGhlaWdodDogcGFyc2VkRGF0YS5oZWlnaHQsCiAgICAgICAgICBwaXhlbERhdGE6IHVuY29tcHJlc3NlZERhdGEucmVzdWx0UGl4ZWxzLAogICAgICAgICAgbWluVmFsdWU6IHVuY29tcHJlc3NlZERhdGEubWluVmFsdWUsCiAgICAgICAgICBtYXhWYWx1ZTogcGFyc2VkRGF0YS5waXhlbHMubWF4VmFsdWUsCiAgICAgICAgICBub0RhdGFWYWx1ZTogbm9EYXRhVmFsdWUKICAgICAgICB9OwoKICAgICAgICBpZiAodW5jb21wcmVzc2VkRGF0YS5yZXN1bHRNYXNrKSB7CiAgICAgICAgICByZXN1bHQubWFza0RhdGEgPSB1bmNvbXByZXNzZWREYXRhLnJlc3VsdE1hc2s7CiAgICAgICAgfQoKICAgICAgICBpZiAob3B0aW9ucy5yZXR1cm5FbmNvZGVkTWFzayAmJiBwYXJzZWREYXRhLm1hc2spIHsKICAgICAgICAgIHJlc3VsdC5lbmNvZGVkTWFza0RhdGEgPSBwYXJzZWREYXRhLm1hc2suYml0c2V0ID8gcGFyc2VkRGF0YS5tYXNrLmJpdHNldCA6IG51bGw7CiAgICAgICAgfQoKICAgICAgICBpZiAob3B0aW9ucy5yZXR1cm5GaWxlSW5mbykgewogICAgICAgICAgcmVzdWx0LmZpbGVJbmZvID0gZm9ybWF0RmlsZUluZm8ocGFyc2VkRGF0YSk7CiAgICAgICAgICBpZiAob3B0aW9ucy5jb21wdXRlVXNlZEJpdERlcHRocykgewogICAgICAgICAgICByZXN1bHQuZmlsZUluZm8uYml0RGVwdGhzID0gY29tcHV0ZVVzZWRCaXREZXB0aHMocGFyc2VkRGF0YSk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICB9OwoKICAgICAgdmFyIHVuY29tcHJlc3NQaXhlbFZhbHVlcyA9IGZ1bmN0aW9uKGRhdGEsIFR5cGVkQXJyYXlDbGFzcywgbWFza0JpdHNldCwgbm9EYXRhVmFsdWUsIHN0b3JlRGVjb2RlZE1hc2spIHsKICAgICAgICB2YXIgYmxvY2tJZHggPSAwOwogICAgICAgIHZhciBudW1YID0gZGF0YS5waXhlbHMubnVtQmxvY2tzWDsKICAgICAgICB2YXIgbnVtWSA9IGRhdGEucGl4ZWxzLm51bUJsb2Nrc1k7CiAgICAgICAgdmFyIGJsb2NrV2lkdGggPSBNYXRoLmZsb29yKGRhdGEud2lkdGggLyBudW1YKTsKICAgICAgICB2YXIgYmxvY2tIZWlnaHQgPSBNYXRoLmZsb29yKGRhdGEuaGVpZ2h0IC8gbnVtWSk7CiAgICAgICAgdmFyIHNjYWxlID0gMiAqIGRhdGEubWF4WkVycm9yOwogICAgICAgIHZhciBtaW5WYWx1ZSA9IE51bWJlci5NQVhfVkFMVUUsIGN1cnJlbnRWYWx1ZTsKICAgICAgICBtYXNrQml0c2V0ID0gbWFza0JpdHNldCB8fCAoKGRhdGEubWFzaykgPyBkYXRhLm1hc2suYml0c2V0IDogbnVsbCk7CgogICAgICAgIHZhciByZXN1bHRQaXhlbHMsIHJlc3VsdE1hc2s7CiAgICAgICAgcmVzdWx0UGl4ZWxzID0gbmV3IFR5cGVkQXJyYXlDbGFzcyhkYXRhLndpZHRoICogZGF0YS5oZWlnaHQpOwogICAgICAgIGlmIChzdG9yZURlY29kZWRNYXNrICYmIG1hc2tCaXRzZXQpIHsKICAgICAgICAgIHJlc3VsdE1hc2sgPSBuZXcgVWludDhBcnJheShkYXRhLndpZHRoICogZGF0YS5oZWlnaHQpOwogICAgICAgIH0KICAgICAgICB2YXIgYmxvY2tEYXRhQnVmZmVyID0gbmV3IEZsb2F0MzJBcnJheShibG9ja1dpZHRoICogYmxvY2tIZWlnaHQpOwoKICAgICAgICB2YXIgeHgsIHl5OwogICAgICAgIGZvciAodmFyIHkgPSAwOyB5IDw9IG51bVk7IHkrKykgewogICAgICAgICAgdmFyIHRoaXNCbG9ja0hlaWdodCA9ICh5ICE9PSBudW1ZKSA/IGJsb2NrSGVpZ2h0IDogKGRhdGEuaGVpZ2h0ICUgbnVtWSk7CiAgICAgICAgICBpZiAodGhpc0Jsb2NrSGVpZ2h0ID09PSAwKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgZm9yICh2YXIgeCA9IDA7IHggPD0gbnVtWDsgeCsrKSB7CiAgICAgICAgICAgIHZhciB0aGlzQmxvY2tXaWR0aCA9ICh4ICE9PSBudW1YKSA/IGJsb2NrV2lkdGggOiAoZGF0YS53aWR0aCAlIG51bVgpOwogICAgICAgICAgICBpZiAodGhpc0Jsb2NrV2lkdGggPT09IDApIHsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIG91dFB0ciA9IHkgKiBkYXRhLndpZHRoICogYmxvY2tIZWlnaHQgKyB4ICogYmxvY2tXaWR0aDsKICAgICAgICAgICAgdmFyIG91dFN0cmlkZSA9IGRhdGEud2lkdGggLSB0aGlzQmxvY2tXaWR0aDsKCiAgICAgICAgICAgIHZhciBibG9jayA9IGRhdGEucGl4ZWxzLmJsb2Nrc1tibG9ja0lkeF07CgogICAgICAgICAgICB2YXIgYmxvY2tEYXRhLCBibG9ja1B0ciwgY29uc3RWYWx1ZTsKICAgICAgICAgICAgaWYgKGJsb2NrLmVuY29kaW5nIDwgMikgewogICAgICAgICAgICAgIC8vIGJsb2NrIGlzIGVpdGhlciB1bmNvbXByZXNzZWQgb3IgYml0LXN0dWZmZWQgKGVuY29kaW5ncyAwIGFuZCAxKQogICAgICAgICAgICAgIGlmIChibG9jay5lbmNvZGluZyA9PT0gMCkgewogICAgICAgICAgICAgICAgLy8gYmxvY2sgaXMgdW5jb21wcmVzc2VkCiAgICAgICAgICAgICAgICBibG9ja0RhdGEgPSBibG9jay5yYXdEYXRhOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBibG9jayBpcyBiaXQtc3R1ZmZlZAogICAgICAgICAgICAgICAgdW5zdHVmZihibG9jay5zdHVmZmVkRGF0YSwgYmxvY2suYml0c1BlclBpeGVsLCBibG9jay5udW1WYWxpZFBpeGVscywgYmxvY2sub2Zmc2V0LCBzY2FsZSwgYmxvY2tEYXRhQnVmZmVyLCBkYXRhLnBpeGVscy5tYXhWYWx1ZSk7CiAgICAgICAgICAgICAgICBibG9ja0RhdGEgPSBibG9ja0RhdGFCdWZmZXI7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJsb2NrUHRyID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmIChibG9jay5lbmNvZGluZyA9PT0gMikgewogICAgICAgICAgICAgIC8vIGJsb2NrIGlzIGFsbCAwCiAgICAgICAgICAgICAgY29uc3RWYWx1ZSA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgLy8gYmxvY2sgaGFzIGNvbnN0YW50IHZhbHVlIChlbmNvZGluZyA9PT0gMykKICAgICAgICAgICAgICBjb25zdFZhbHVlID0gYmxvY2sub2Zmc2V0OwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgbWFza0J5dGU7CiAgICAgICAgICAgIGlmIChtYXNrQml0c2V0KSB7CiAgICAgICAgICAgICAgZm9yICh5eSA9IDA7IHl5IDwgdGhpc0Jsb2NrSGVpZ2h0OyB5eSsrKSB7CiAgICAgICAgICAgICAgICBpZiAob3V0UHRyICYgNykgewogICAgICAgICAgICAgICAgICAvLwogICAgICAgICAgICAgICAgICBtYXNrQnl0ZSA9IG1hc2tCaXRzZXRbb3V0UHRyID4+IDNdOwogICAgICAgICAgICAgICAgICBtYXNrQnl0ZSA8PD0gb3V0UHRyICYgNzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZvciAoeHggPSAwOyB4eCA8IHRoaXNCbG9ja1dpZHRoOyB4eCsrKSB7CiAgICAgICAgICAgICAgICAgIGlmICghKG91dFB0ciAmIDcpKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gcmVhZCBuZXh0IGJ5dGUgZnJvbSBtYXNrCiAgICAgICAgICAgICAgICAgICAgbWFza0J5dGUgPSBtYXNrQml0c2V0W291dFB0ciA+PiAzXTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBpZiAobWFza0J5dGUgJiAxMjgpIHsKICAgICAgICAgICAgICAgICAgICAvLyBwaXhlbCBkYXRhIHByZXNlbnQKICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0TWFzaykgewogICAgICAgICAgICAgICAgICAgICAgcmVzdWx0TWFza1tvdXRQdHJdID0gMTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgY3VycmVudFZhbHVlID0gKGJsb2NrLmVuY29kaW5nIDwgMikgPyBibG9ja0RhdGFbYmxvY2tQdHIrK10gOiBjb25zdFZhbHVlOwogICAgICAgICAgICAgICAgICAgIG1pblZhbHVlID0gbWluVmFsdWUgPiBjdXJyZW50VmFsdWUgPyBjdXJyZW50VmFsdWUgOiBtaW5WYWx1ZTsKICAgICAgICAgICAgICAgICAgICByZXN1bHRQaXhlbHNbb3V0UHRyKytdID0gY3VycmVudFZhbHVlOwogICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vIHBpeGVsIGRhdGEgbm90IHByZXNlbnQKICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0TWFzaykgewogICAgICAgICAgICAgICAgICAgICAgcmVzdWx0TWFza1tvdXRQdHJdID0gMDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmVzdWx0UGl4ZWxzW291dFB0cisrXSA9IG5vRGF0YVZhbHVlOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIG1hc2tCeXRlIDw8PSAxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgb3V0UHRyICs9IG91dFN0cmlkZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgLy8gbWFzayBub3QgcHJlc2VudCwgc2ltcGx5IGNvcHkgYmxvY2sgb3ZlcgogICAgICAgICAgICAgIGlmIChibG9jay5lbmNvZGluZyA8IDIpIHsKICAgICAgICAgICAgICAgIC8vIGR1cGxpY2F0aW5nIHRoaXMgY29kZSBibG9jayBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucwogICAgICAgICAgICAgICAgLy8gYmxvY2tEYXRhIGNhc2U6CiAgICAgICAgICAgICAgICBmb3IgKHl5ID0gMDsgeXkgPCB0aGlzQmxvY2tIZWlnaHQ7IHl5KyspIHsKICAgICAgICAgICAgICAgICAgZm9yICh4eCA9IDA7IHh4IDwgdGhpc0Jsb2NrV2lkdGg7IHh4KyspIHsKICAgICAgICAgICAgICAgICAgICBjdXJyZW50VmFsdWUgPSBibG9ja0RhdGFbYmxvY2tQdHIrK107CiAgICAgICAgICAgICAgICAgICAgbWluVmFsdWUgPSBtaW5WYWx1ZSA+IGN1cnJlbnRWYWx1ZSA/IGN1cnJlbnRWYWx1ZSA6IG1pblZhbHVlOwogICAgICAgICAgICAgICAgICAgIHJlc3VsdFBpeGVsc1tvdXRQdHIrK10gPSBjdXJyZW50VmFsdWU7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgb3V0UHRyICs9IG91dFN0cmlkZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBjb25zdFZhbHVlIGNhc2U6CiAgICAgICAgICAgICAgICBtaW5WYWx1ZSA9IG1pblZhbHVlID4gY29uc3RWYWx1ZSA/IGNvbnN0VmFsdWUgOiBtaW5WYWx1ZTsKICAgICAgICAgICAgICAgIGZvciAoeXkgPSAwOyB5eSA8IHRoaXNCbG9ja0hlaWdodDsgeXkrKykgewogICAgICAgICAgICAgICAgICBmb3IgKHh4ID0gMDsgeHggPCB0aGlzQmxvY2tXaWR0aDsgeHgrKykgewogICAgICAgICAgICAgICAgICAgIHJlc3VsdFBpeGVsc1tvdXRQdHIrK10gPSBjb25zdFZhbHVlOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIG91dFB0ciArPSBvdXRTdHJpZGU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgoYmxvY2suZW5jb2RpbmcgPT09IDEpICYmIChibG9ja1B0ciAhPT0gYmxvY2subnVtVmFsaWRQaXhlbHMpKSB7CiAgICAgICAgICAgICAgdGhyb3cgIkJsb2NrIGFuZCBNYXNrIGRvIG5vdCBtYXRjaCI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYmxvY2tJZHgrKzsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiB7CiAgICAgICAgICByZXN1bHRQaXhlbHM6IHJlc3VsdFBpeGVscywKICAgICAgICAgIHJlc3VsdE1hc2s6IHJlc3VsdE1hc2ssCiAgICAgICAgICBtaW5WYWx1ZTogbWluVmFsdWUKICAgICAgICB9OwogICAgICB9OwoKICAgICAgdmFyIGZvcm1hdEZpbGVJbmZvID0gZnVuY3Rpb24oZGF0YSkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICAiZmlsZUlkZW50aWZpZXJTdHJpbmciOiBkYXRhLmZpbGVJZGVudGlmaWVyU3RyaW5nLAogICAgICAgICAgImZpbGVWZXJzaW9uIjogZGF0YS5maWxlVmVyc2lvbiwKICAgICAgICAgICJpbWFnZVR5cGUiOiBkYXRhLmltYWdlVHlwZSwKICAgICAgICAgICJoZWlnaHQiOiBkYXRhLmhlaWdodCwKICAgICAgICAgICJ3aWR0aCI6IGRhdGEud2lkdGgsCiAgICAgICAgICAibWF4WkVycm9yIjogZGF0YS5tYXhaRXJyb3IsCiAgICAgICAgICAiZW9mT2Zmc2V0IjogZGF0YS5lb2ZPZmZzZXQsCiAgICAgICAgICAibWFzayI6IGRhdGEubWFzayA/IHsKICAgICAgICAgICAgIm51bUJsb2Nrc1giOiBkYXRhLm1hc2subnVtQmxvY2tzWCwKICAgICAgICAgICAgIm51bUJsb2Nrc1kiOiBkYXRhLm1hc2subnVtQmxvY2tzWSwKICAgICAgICAgICAgIm51bUJ5dGVzIjogZGF0YS5tYXNrLm51bUJ5dGVzLAogICAgICAgICAgICAibWF4VmFsdWUiOiBkYXRhLm1hc2subWF4VmFsdWUKICAgICAgICAgIH0gOiBudWxsLAogICAgICAgICAgInBpeGVscyI6IHsKICAgICAgICAgICAgIm51bUJsb2Nrc1giOiBkYXRhLnBpeGVscy5udW1CbG9ja3NYLAogICAgICAgICAgICAibnVtQmxvY2tzWSI6IGRhdGEucGl4ZWxzLm51bUJsb2Nrc1ksCiAgICAgICAgICAgICJudW1CeXRlcyI6IGRhdGEucGl4ZWxzLm51bUJ5dGVzLAogICAgICAgICAgICAibWF4VmFsdWUiOiBkYXRhLnBpeGVscy5tYXhWYWx1ZSwKICAgICAgICAgICAgIm5vRGF0YVZhbHVlIjogZGF0YS5ub0RhdGFWYWx1ZQogICAgICAgICAgfQogICAgICAgIH07CiAgICAgIH07CgogICAgICB2YXIgY29tcHV0ZVVzZWRCaXREZXB0aHMgPSBmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgdmFyIG51bUJsb2NrcyA9IGRhdGEucGl4ZWxzLm51bUJsb2Nrc1ggKiBkYXRhLnBpeGVscy5udW1CbG9ja3NZOwogICAgICAgIHZhciBiaXREZXB0aHMgPSB7fTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUJsb2NrczsgaSsrKSB7CiAgICAgICAgICB2YXIgYmxvY2sgPSBkYXRhLnBpeGVscy5ibG9ja3NbaV07CiAgICAgICAgICBpZiAoYmxvY2suZW5jb2RpbmcgPT09IDApIHsKICAgICAgICAgICAgYml0RGVwdGhzLmZsb2F0MzIgPSB0cnVlOwogICAgICAgICAgfSBlbHNlIGlmIChibG9jay5lbmNvZGluZyA9PT0gMSkgewogICAgICAgICAgICBiaXREZXB0aHNbYmxvY2suYml0c1BlclBpeGVsXSA9IHRydWU7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBiaXREZXB0aHNbMF0gPSB0cnVlOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGJpdERlcHRocyk7CiAgICAgIH07CgogICAgICB2YXIgcGFyc2UgPSBmdW5jdGlvbihpbnB1dCwgZnAsIHNraXBNYXNrKSB7CiAgICAgICAgdmFyIGRhdGEgPSB7fTsKCiAgICAgICAgLy8gRmlsZSBoZWFkZXIKICAgICAgICB2YXIgZmlsZUlkVmlldyA9IG5ldyBVaW50OEFycmF5KGlucHV0LCBmcCwgMTApOwogICAgICAgIGRhdGEuZmlsZUlkZW50aWZpZXJTdHJpbmcgPSBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGZpbGVJZFZpZXcpOwogICAgICAgIGlmIChkYXRhLmZpbGVJZGVudGlmaWVyU3RyaW5nLnRyaW0oKSAhPT0gIkNudFpJbWFnZSIpIHsKICAgICAgICAgIHRocm93ICJVbmV4cGVjdGVkIGZpbGUgaWRlbnRpZmllciBzdHJpbmc6ICIgKyBkYXRhLmZpbGVJZGVudGlmaWVyU3RyaW5nOwogICAgICAgIH0KICAgICAgICBmcCArPSAxMDsKICAgICAgICB2YXIgdmlldyA9IG5ldyBEYXRhVmlldyhpbnB1dCwgZnAsIDI0KTsKICAgICAgICBkYXRhLmZpbGVWZXJzaW9uID0gdmlldy5nZXRJbnQzMigwLCB0cnVlKTsKICAgICAgICBkYXRhLmltYWdlVHlwZSA9IHZpZXcuZ2V0SW50MzIoNCwgdHJ1ZSk7CiAgICAgICAgZGF0YS5oZWlnaHQgPSB2aWV3LmdldFVpbnQzMig4LCB0cnVlKTsKICAgICAgICBkYXRhLndpZHRoID0gdmlldy5nZXRVaW50MzIoMTIsIHRydWUpOwogICAgICAgIGRhdGEubWF4WkVycm9yID0gdmlldy5nZXRGbG9hdDY0KDE2LCB0cnVlKTsKICAgICAgICBmcCArPSAyNDsKCiAgICAgICAgLy8gTWFzayBIZWFkZXIKICAgICAgICBpZiAoIXNraXBNYXNrKSB7CiAgICAgICAgICB2aWV3ID0gbmV3IERhdGFWaWV3KGlucHV0LCBmcCwgMTYpOwogICAgICAgICAgZGF0YS5tYXNrID0ge307CiAgICAgICAgICBkYXRhLm1hc2subnVtQmxvY2tzWSA9IHZpZXcuZ2V0VWludDMyKDAsIHRydWUpOwogICAgICAgICAgZGF0YS5tYXNrLm51bUJsb2Nrc1ggPSB2aWV3LmdldFVpbnQzMig0LCB0cnVlKTsKICAgICAgICAgIGRhdGEubWFzay5udW1CeXRlcyA9IHZpZXcuZ2V0VWludDMyKDgsIHRydWUpOwogICAgICAgICAgZGF0YS5tYXNrLm1heFZhbHVlID0gdmlldy5nZXRGbG9hdDMyKDEyLCB0cnVlKTsKICAgICAgICAgIGZwICs9IDE2OwoKICAgICAgICAgIC8vIE1hc2sgRGF0YQogICAgICAgICAgaWYgKGRhdGEubWFzay5udW1CeXRlcyA+IDApIHsKICAgICAgICAgICAgdmFyIGJpdHNldCA9IG5ldyBVaW50OEFycmF5KE1hdGguY2VpbChkYXRhLndpZHRoICogZGF0YS5oZWlnaHQgLyA4KSk7CiAgICAgICAgICAgIHZpZXcgPSBuZXcgRGF0YVZpZXcoaW5wdXQsIGZwLCBkYXRhLm1hc2subnVtQnl0ZXMpOwogICAgICAgICAgICB2YXIgY250ID0gdmlldy5nZXRJbnQxNigwLCB0cnVlKTsKICAgICAgICAgICAgdmFyIGlwID0gMiwgb3AgPSAwOwogICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgaWYgKGNudCA+IDApIHsKICAgICAgICAgICAgICAgIHdoaWxlIChjbnQtLSkgeyBiaXRzZXRbb3ArK10gPSB2aWV3LmdldFVpbnQ4KGlwKyspOyB9CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciB2YWwgPSB2aWV3LmdldFVpbnQ4KGlwKyspOwogICAgICAgICAgICAgICAgY250ID0gLWNudDsKICAgICAgICAgICAgICAgIHdoaWxlIChjbnQtLSkgeyBiaXRzZXRbb3ArK10gPSB2YWw7IH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgY250ID0gdmlldy5nZXRJbnQxNihpcCwgdHJ1ZSk7CiAgICAgICAgICAgICAgaXAgKz0gMjsKICAgICAgICAgICAgfSB3aGlsZSAoaXAgPCBkYXRhLm1hc2subnVtQnl0ZXMpOwogICAgICAgICAgICBpZiAoKGNudCAhPT0gLTMyNzY4KSB8fCAob3AgPCBiaXRzZXQubGVuZ3RoKSkgewogICAgICAgICAgICAgIHRocm93ICJVbmV4cGVjdGVkIGVuZCBvZiBtYXNrIFJMRSBlbmNvZGluZyI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZGF0YS5tYXNrLmJpdHNldCA9IGJpdHNldDsKICAgICAgICAgICAgZnAgKz0gZGF0YS5tYXNrLm51bUJ5dGVzOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSBpZiAoKGRhdGEubWFzay5udW1CeXRlcyB8IGRhdGEubWFzay5udW1CbG9ja3NZIHwgZGF0YS5tYXNrLm1heFZhbHVlKSA9PT0gMCkgeyAgLy8gU3BlY2lhbCBjYXNlLCBhbGwgbm9kYXRhCiAgICAgICAgICAgIGRhdGEubWFzay5iaXRzZXQgPSBuZXcgVWludDhBcnJheShNYXRoLmNlaWwoZGF0YS53aWR0aCAqIGRhdGEuaGVpZ2h0IC8gOCkpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gUGl4ZWwgSGVhZGVyCiAgICAgICAgdmlldyA9IG5ldyBEYXRhVmlldyhpbnB1dCwgZnAsIDE2KTsKICAgICAgICBkYXRhLnBpeGVscyA9IHt9OwogICAgICAgIGRhdGEucGl4ZWxzLm51bUJsb2Nrc1kgPSB2aWV3LmdldFVpbnQzMigwLCB0cnVlKTsKICAgICAgICBkYXRhLnBpeGVscy5udW1CbG9ja3NYID0gdmlldy5nZXRVaW50MzIoNCwgdHJ1ZSk7CiAgICAgICAgZGF0YS5waXhlbHMubnVtQnl0ZXMgPSB2aWV3LmdldFVpbnQzMig4LCB0cnVlKTsKICAgICAgICBkYXRhLnBpeGVscy5tYXhWYWx1ZSA9IHZpZXcuZ2V0RmxvYXQzMigxMiwgdHJ1ZSk7CiAgICAgICAgZnAgKz0gMTY7CgogICAgICAgIHZhciBudW1CbG9ja3NYID0gZGF0YS5waXhlbHMubnVtQmxvY2tzWDsKICAgICAgICB2YXIgbnVtQmxvY2tzWSA9IGRhdGEucGl4ZWxzLm51bUJsb2Nrc1k7CiAgICAgICAgLy8gdGhlIG51bWJlciBvZiBibG9ja3Mgc3BlY2lmaWVkIGluIHRoZSBoZWFkZXIgZG9lcyBub3QgdGFrZSBpbnRvIGFjY291bnQgdGhlIGJsb2NrcyBhdCB0aGUgZW5kIG9mCiAgICAgICAgLy8gZWFjaCByb3cvY29sdW1uIHdpdGggYSBzcGVjaWFsIHdpZHRoL2hlaWdodCB0aGF0IG1ha2UgdGhlIGltYWdlIGNvbXBsZXRlIGluIGNhc2UgdGhlIHdpZHRoIGlzIG5vdAogICAgICAgIC8vIGV2ZW5seSBkaXZpc2libGUgYnkgdGhlIG51bWJlciBvZiBibG9ja3MuCiAgICAgICAgdmFyIGFjdHVhbE51bUJsb2Nrc1ggPSBudW1CbG9ja3NYICsgKChkYXRhLndpZHRoICUgbnVtQmxvY2tzWCkgPiAwID8gMSA6IDApOwogICAgICAgIHZhciBhY3R1YWxOdW1CbG9ja3NZID0gbnVtQmxvY2tzWSArICgoZGF0YS5oZWlnaHQgJSBudW1CbG9ja3NZKSA+IDAgPyAxIDogMCk7CiAgICAgICAgZGF0YS5waXhlbHMuYmxvY2tzID0gbmV3IEFycmF5KGFjdHVhbE51bUJsb2Nrc1ggKiBhY3R1YWxOdW1CbG9ja3NZKTsKICAgICAgICB2YXIgYmxvY2tJID0gMDsKICAgICAgICBmb3IgKHZhciBibG9ja1kgPSAwOyBibG9ja1kgPCBhY3R1YWxOdW1CbG9ja3NZOyBibG9ja1krKykgewogICAgICAgICAgZm9yICh2YXIgYmxvY2tYID0gMDsgYmxvY2tYIDwgYWN0dWFsTnVtQmxvY2tzWDsgYmxvY2tYKyspIHsKCiAgICAgICAgICAgIC8vIEJsb2NrCiAgICAgICAgICAgIHZhciBzaXplID0gMDsKICAgICAgICAgICAgdmFyIGJ5dGVzTGVmdCA9IGlucHV0LmJ5dGVMZW5ndGggLSBmcDsKICAgICAgICAgICAgdmlldyA9IG5ldyBEYXRhVmlldyhpbnB1dCwgZnAsIE1hdGgubWluKDEwLCBieXRlc0xlZnQpKTsKICAgICAgICAgICAgdmFyIGJsb2NrID0ge307CiAgICAgICAgICAgIGRhdGEucGl4ZWxzLmJsb2Nrc1tibG9ja0krK10gPSBibG9jazsKICAgICAgICAgICAgdmFyIGhlYWRlckJ5dGUgPSB2aWV3LmdldFVpbnQ4KDApOyBzaXplKys7CiAgICAgICAgICAgIGJsb2NrLmVuY29kaW5nID0gaGVhZGVyQnl0ZSAmIDYzOwogICAgICAgICAgICBpZiAoYmxvY2suZW5jb2RpbmcgPiAzKSB7CiAgICAgICAgICAgICAgdGhyb3cgIkludmFsaWQgYmxvY2sgZW5jb2RpbmcgKCIgKyBibG9jay5lbmNvZGluZyArICIpIjsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoYmxvY2suZW5jb2RpbmcgPT09IDIpIHsKICAgICAgICAgICAgICBmcCsrOwogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgoaGVhZGVyQnl0ZSAhPT0gMCkgJiYgKGhlYWRlckJ5dGUgIT09IDIpKSB7CiAgICAgICAgICAgICAgaGVhZGVyQnl0ZSA+Pj0gNjsKICAgICAgICAgICAgICBibG9jay5vZmZzZXRUeXBlID0gaGVhZGVyQnl0ZTsKICAgICAgICAgICAgICBpZiAoaGVhZGVyQnl0ZSA9PT0gMikgewogICAgICAgICAgICAgICAgYmxvY2sub2Zmc2V0ID0gdmlldy5nZXRJbnQ4KDEpOyBzaXplKys7CiAgICAgICAgICAgICAgfSBlbHNlIGlmIChoZWFkZXJCeXRlID09PSAxKSB7CiAgICAgICAgICAgICAgICBibG9jay5vZmZzZXQgPSB2aWV3LmdldEludDE2KDEsIHRydWUpOyBzaXplICs9IDI7CiAgICAgICAgICAgICAgfSBlbHNlIGlmIChoZWFkZXJCeXRlID09PSAwKSB7CiAgICAgICAgICAgICAgICBibG9jay5vZmZzZXQgPSB2aWV3LmdldEZsb2F0MzIoMSwgdHJ1ZSk7IHNpemUgKz0gNDsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhyb3cgIkludmFsaWQgYmxvY2sgb2Zmc2V0IHR5cGUiOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgaWYgKGJsb2NrLmVuY29kaW5nID09PSAxKSB7CiAgICAgICAgICAgICAgICBoZWFkZXJCeXRlID0gdmlldy5nZXRVaW50OChzaXplKTsgc2l6ZSsrOwogICAgICAgICAgICAgICAgYmxvY2suYml0c1BlclBpeGVsID0gaGVhZGVyQnl0ZSAmIDYzOwogICAgICAgICAgICAgICAgaGVhZGVyQnl0ZSA+Pj0gNjsKICAgICAgICAgICAgICAgIGJsb2NrLm51bVZhbGlkUGl4ZWxzVHlwZSA9IGhlYWRlckJ5dGU7CiAgICAgICAgICAgICAgICBpZiAoaGVhZGVyQnl0ZSA9PT0gMikgewogICAgICAgICAgICAgICAgICBibG9jay5udW1WYWxpZFBpeGVscyA9IHZpZXcuZ2V0VWludDgoc2l6ZSk7IHNpemUrKzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaGVhZGVyQnl0ZSA9PT0gMSkgewogICAgICAgICAgICAgICAgICBibG9jay5udW1WYWxpZFBpeGVscyA9IHZpZXcuZ2V0VWludDE2KHNpemUsIHRydWUpOyBzaXplICs9IDI7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhlYWRlckJ5dGUgPT09IDApIHsKICAgICAgICAgICAgICAgICAgYmxvY2subnVtVmFsaWRQaXhlbHMgPSB2aWV3LmdldFVpbnQzMihzaXplLCB0cnVlKTsgc2l6ZSArPSA0OwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgdGhyb3cgIkludmFsaWQgdmFsaWQgcGl4ZWwgY291bnQgdHlwZSI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGZwICs9IHNpemU7CgogICAgICAgICAgICBpZiAoYmxvY2suZW5jb2RpbmcgPT09IDMpIHsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGFycmF5QnVmLCBzdG9yZTg7CiAgICAgICAgICAgIGlmIChibG9jay5lbmNvZGluZyA9PT0gMCkgewogICAgICAgICAgICAgIHZhciBudW1QaXhlbHMgPSAoZGF0YS5waXhlbHMubnVtQnl0ZXMgLSAxKSAvIDQ7CiAgICAgICAgICAgICAgaWYgKG51bVBpeGVscyAhPT0gTWF0aC5mbG9vcihudW1QaXhlbHMpKSB7CiAgICAgICAgICAgICAgICB0aHJvdyAidW5jb21wcmVzc2VkIGJsb2NrIGhhcyBpbnZhbGlkIGxlbmd0aCI7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGFycmF5QnVmID0gbmV3IEFycmF5QnVmZmVyKG51bVBpeGVscyAqIDQpOwogICAgICAgICAgICAgIHN0b3JlOCA9IG5ldyBVaW50OEFycmF5KGFycmF5QnVmKTsKICAgICAgICAgICAgICBzdG9yZTguc2V0KG5ldyBVaW50OEFycmF5KGlucHV0LCBmcCwgbnVtUGl4ZWxzICogNCkpOwogICAgICAgICAgICAgIHZhciByYXdEYXRhID0gbmV3IEZsb2F0MzJBcnJheShhcnJheUJ1Zik7CiAgICAgICAgICAgICAgYmxvY2sucmF3RGF0YSA9IHJhd0RhdGE7CiAgICAgICAgICAgICAgZnAgKz0gbnVtUGl4ZWxzICogNDsKICAgICAgICAgICAgfSBlbHNlIGlmIChibG9jay5lbmNvZGluZyA9PT0gMSkgewogICAgICAgICAgICAgIHZhciBkYXRhQnl0ZXMgPSBNYXRoLmNlaWwoYmxvY2subnVtVmFsaWRQaXhlbHMgKiBibG9jay5iaXRzUGVyUGl4ZWwgLyA4KTsKICAgICAgICAgICAgICB2YXIgZGF0YVdvcmRzID0gTWF0aC5jZWlsKGRhdGFCeXRlcyAvIDQpOwogICAgICAgICAgICAgIGFycmF5QnVmID0gbmV3IEFycmF5QnVmZmVyKGRhdGFXb3JkcyAqIDQpOwogICAgICAgICAgICAgIHN0b3JlOCA9IG5ldyBVaW50OEFycmF5KGFycmF5QnVmKTsKICAgICAgICAgICAgICBzdG9yZTguc2V0KG5ldyBVaW50OEFycmF5KGlucHV0LCBmcCwgZGF0YUJ5dGVzKSk7CiAgICAgICAgICAgICAgYmxvY2suc3R1ZmZlZERhdGEgPSBuZXcgVWludDMyQXJyYXkoYXJyYXlCdWYpOwogICAgICAgICAgICAgIGZwICs9IGRhdGFCeXRlczsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBkYXRhLmVvZk9mZnNldCA9IGZwOwogICAgICAgIHJldHVybiBkYXRhOwogICAgICB9OwoKICAgICAgdmFyIHVuc3R1ZmYgPSBmdW5jdGlvbihzcmMsIGJpdHNQZXJQaXhlbCwgbnVtUGl4ZWxzLCBvZmZzZXQsIHNjYWxlLCBkZXN0LCBtYXhWYWx1ZSkgewogICAgICAgIHZhciBiaXRNYXNrID0gKDEgPDwgYml0c1BlclBpeGVsKSAtIDE7CiAgICAgICAgdmFyIGkgPSAwLCBvOwogICAgICAgIHZhciBiaXRzTGVmdCA9IDA7CiAgICAgICAgdmFyIG4sIGJ1ZmZlcjsKICAgICAgICB2YXIgbm1heCA9IE1hdGguY2VpbCgobWF4VmFsdWUgLSBvZmZzZXQpIC8gc2NhbGUpOwogICAgICAgIC8vIGdldCByaWQgb2YgdHJhaWxpbmcgYnl0ZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXJ0IG9mIG5leHQgYmxvY2sKICAgICAgICB2YXIgbnVtSW52YWxpZFRhaWxCeXRlcyA9IHNyYy5sZW5ndGggKiA0IC0gTWF0aC5jZWlsKGJpdHNQZXJQaXhlbCAqIG51bVBpeGVscyAvIDgpOwogICAgICAgIHNyY1tzcmMubGVuZ3RoIC0gMV0gPDw9IDggKiBudW1JbnZhbGlkVGFpbEJ5dGVzOwoKICAgICAgICBmb3IgKG8gPSAwOyBvIDwgbnVtUGl4ZWxzOyBvKyspIHsKICAgICAgICAgIGlmIChiaXRzTGVmdCA9PT0gMCkgewogICAgICAgICAgICBidWZmZXIgPSBzcmNbaSsrXTsKICAgICAgICAgICAgYml0c0xlZnQgPSAzMjsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChiaXRzTGVmdCA+PSBiaXRzUGVyUGl4ZWwpIHsKICAgICAgICAgICAgbiA9IChidWZmZXIgPj4+IChiaXRzTGVmdCAtIGJpdHNQZXJQaXhlbCkpICYgYml0TWFzazsKICAgICAgICAgICAgYml0c0xlZnQgLT0gYml0c1BlclBpeGVsOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmFyIG1pc3NpbmdCaXRzID0gKGJpdHNQZXJQaXhlbCAtIGJpdHNMZWZ0KTsKICAgICAgICAgICAgbiA9ICgoYnVmZmVyICYgYml0TWFzaykgPDwgbWlzc2luZ0JpdHMpICYgYml0TWFzazsKICAgICAgICAgICAgYnVmZmVyID0gc3JjW2krK107CiAgICAgICAgICAgIGJpdHNMZWZ0ID0gMzIgLSBtaXNzaW5nQml0czsKICAgICAgICAgICAgbiArPSAoYnVmZmVyID4+PiBiaXRzTGVmdCk7CiAgICAgICAgICB9CiAgICAgICAgICAvL3BpeGVsIHZhbHVlcyBtYXkgZXhjZWVkIG1heCBkdWUgdG8gcXVhbnRpemF0aW9uCiAgICAgICAgICBkZXN0W29dID0gbiA8IG5tYXggPyBvZmZzZXQgKyBuICogc2NhbGUgOiBtYXhWYWx1ZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGRlc3Q7CiAgICAgIH07CgogICAgICByZXR1cm4gQ250WkltYWdlOwogICAgfSkoKTsKCiAgICAvL3ZlcnNpb24gMi4gU3VwcG9ydHMgMi4xLCAyLjIsIDIuMwogICAgdmFyIExlcmMyRGVjb2RlID0gKGZ1bmN0aW9uKCkgewogICAgICAvLyBOb3RlOiBjdXJyZW50bHksIHRoaXMgbW9kdWxlIG9ubHkgaGFzIGFuIGltcGxlbWVudGF0aW9uIGZvciBkZWNvZGluZyBMRVJDIGRhdGEsIG5vdCBlbmNvZGluZy4gVGhlIG5hbWUgb2YKICAgICAgLy8gdGhlIGNsYXNzIHdhcyBjaG9zZW4gdG8gYmUgZnV0dXJlIHByb29mLCBmb2xsb3dpbmcgTGVyY0RlY29kZS4KCiAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgICAqIHByaXZhdGUgc3RhdGljIGNsYXNzIGJpdHN1dGZmZXIgdXNlZCBieSBMZXJjMkRlY29kZQogICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogICAgICB2YXIgQml0U3R1ZmZlciA9IHsKICAgICAgICAvL21ldGhvZHMgZW5kaW5nIHdpdGggMiBhcmUgZm9yIHRoZSBuZXcgYnl0ZSBvcmRlciB1c2VkIGJ5IExlcmMyLjMgYW5kIGFib3ZlLgogICAgICAgIC8vb3JpZ2luYWxVbnN0dWZmIGlzIHVzZWQgdG8gdW5wYWNrIEh1ZmZtYW4gY29kZSB0YWJsZS4gY29kZSBpcyBkdXBsaWNhdGVkIHRvIHVuc3R1ZmZ4IGZvciBwZXJmb3JtYW5jZSByZWFzb25zLgogICAgICAgIHVuc3R1ZmY6IGZ1bmN0aW9uKHNyYywgZGVzdCwgYml0c1BlclBpeGVsLCBudW1QaXhlbHMsIGx1dEFyciwgb2Zmc2V0LCBzY2FsZSwgbWF4VmFsdWUpIHsKICAgICAgICAgIHZhciBiaXRNYXNrID0gKDEgPDwgYml0c1BlclBpeGVsKSAtIDE7CiAgICAgICAgICB2YXIgaSA9IDAsIG87CiAgICAgICAgICB2YXIgYml0c0xlZnQgPSAwOwogICAgICAgICAgdmFyIG4sIGJ1ZmZlciwgbWlzc2luZ0JpdHMsIG5tYXg7CgogICAgICAgICAgLy8gZ2V0IHJpZCBvZiB0cmFpbGluZyBieXRlcyB0aGF0IGFyZSBhbHJlYWR5IHBhcnQgb2YgbmV4dCBibG9jawogICAgICAgICAgdmFyIG51bUludmFsaWRUYWlsQnl0ZXMgPSBzcmMubGVuZ3RoICogNCAtIE1hdGguY2VpbChiaXRzUGVyUGl4ZWwgKiBudW1QaXhlbHMgLyA4KTsKICAgICAgICAgIHNyY1tzcmMubGVuZ3RoIC0gMV0gPDw9IDggKiBudW1JbnZhbGlkVGFpbEJ5dGVzOwogICAgICAgICAgaWYgKGx1dEFycikgewogICAgICAgICAgICBmb3IgKG8gPSAwOyBvIDwgbnVtUGl4ZWxzOyBvKyspIHsKICAgICAgICAgICAgICBpZiAoYml0c0xlZnQgPT09IDApIHsKICAgICAgICAgICAgICAgIGJ1ZmZlciA9IHNyY1tpKytdOwogICAgICAgICAgICAgICAgYml0c0xlZnQgPSAzMjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKGJpdHNMZWZ0ID49IGJpdHNQZXJQaXhlbCkgewogICAgICAgICAgICAgICAgbiA9IChidWZmZXIgPj4+IChiaXRzTGVmdCAtIGJpdHNQZXJQaXhlbCkpICYgYml0TWFzazsKICAgICAgICAgICAgICAgIGJpdHNMZWZ0IC09IGJpdHNQZXJQaXhlbDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBtaXNzaW5nQml0cyA9IChiaXRzUGVyUGl4ZWwgLSBiaXRzTGVmdCk7CiAgICAgICAgICAgICAgICBuID0gKChidWZmZXIgJiBiaXRNYXNrKSA8PCBtaXNzaW5nQml0cykgJiBiaXRNYXNrOwogICAgICAgICAgICAgICAgYnVmZmVyID0gc3JjW2krK107CiAgICAgICAgICAgICAgICBiaXRzTGVmdCA9IDMyIC0gbWlzc2luZ0JpdHM7CiAgICAgICAgICAgICAgICBuICs9IChidWZmZXIgPj4+IGJpdHNMZWZ0KTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZGVzdFtvXSA9IGx1dEFycltuXTsvL29mZnNldCArIGx1dEFycltuXSAqIHNjYWxlOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgbm1heCA9IE1hdGguY2VpbCgobWF4VmFsdWUgLSBvZmZzZXQpIC8gc2NhbGUpOwogICAgICAgICAgICBmb3IgKG8gPSAwOyBvIDwgbnVtUGl4ZWxzOyBvKyspIHsKICAgICAgICAgICAgICBpZiAoYml0c0xlZnQgPT09IDApIHsKICAgICAgICAgICAgICAgIGJ1ZmZlciA9IHNyY1tpKytdOwogICAgICAgICAgICAgICAgYml0c0xlZnQgPSAzMjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKGJpdHNMZWZ0ID49IGJpdHNQZXJQaXhlbCkgewogICAgICAgICAgICAgICAgbiA9IChidWZmZXIgPj4+IChiaXRzTGVmdCAtIGJpdHNQZXJQaXhlbCkpICYgYml0TWFzazsKICAgICAgICAgICAgICAgIGJpdHNMZWZ0IC09IGJpdHNQZXJQaXhlbDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBtaXNzaW5nQml0cyA9IChiaXRzUGVyUGl4ZWwgLSBiaXRzTGVmdCk7CiAgICAgICAgICAgICAgICBuID0gKChidWZmZXIgJiBiaXRNYXNrKSA8PCBtaXNzaW5nQml0cykgJiBiaXRNYXNrOwogICAgICAgICAgICAgICAgYnVmZmVyID0gc3JjW2krK107CiAgICAgICAgICAgICAgICBiaXRzTGVmdCA9IDMyIC0gbWlzc2luZ0JpdHM7CiAgICAgICAgICAgICAgICBuICs9IChidWZmZXIgPj4+IGJpdHNMZWZ0KTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgLy9waXhlbCB2YWx1ZXMgbWF5IGV4Y2VlZCBtYXggZHVlIHRvIHF1YW50aXphdGlvbgogICAgICAgICAgICAgIGRlc3Rbb10gPSBuIDwgbm1heCA/IG9mZnNldCArIG4gKiBzY2FsZSA6IG1heFZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgdW5zdHVmZkxVVDogZnVuY3Rpb24oc3JjLCBiaXRzUGVyUGl4ZWwsIG51bVBpeGVscywgb2Zmc2V0LCBzY2FsZSwgbWF4VmFsdWUpIHsKICAgICAgICAgIHZhciBiaXRNYXNrID0gKDEgPDwgYml0c1BlclBpeGVsKSAtIDE7CiAgICAgICAgICB2YXIgaSA9IDAsIG8gPSAwLCBtaXNzaW5nQml0cyA9IDAsIGJpdHNMZWZ0ID0gMCwgbiA9IDA7CiAgICAgICAgICB2YXIgYnVmZmVyOwogICAgICAgICAgdmFyIGRlc3QgPSBbXTsKCiAgICAgICAgICAvLyBnZXQgcmlkIG9mIHRyYWlsaW5nIGJ5dGVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiBuZXh0IGJsb2NrCiAgICAgICAgICB2YXIgbnVtSW52YWxpZFRhaWxCeXRlcyA9IHNyYy5sZW5ndGggKiA0IC0gTWF0aC5jZWlsKGJpdHNQZXJQaXhlbCAqIG51bVBpeGVscyAvIDgpOwogICAgICAgICAgc3JjW3NyYy5sZW5ndGggLSAxXSA8PD0gOCAqIG51bUludmFsaWRUYWlsQnl0ZXM7CgogICAgICAgICAgdmFyIG5tYXggPSBNYXRoLmNlaWwoKG1heFZhbHVlIC0gb2Zmc2V0KSAvIHNjYWxlKTsKICAgICAgICAgIGZvciAobyA9IDA7IG8gPCBudW1QaXhlbHM7IG8rKykgewogICAgICAgICAgICBpZiAoYml0c0xlZnQgPT09IDApIHsKICAgICAgICAgICAgICBidWZmZXIgPSBzcmNbaSsrXTsKICAgICAgICAgICAgICBiaXRzTGVmdCA9IDMyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChiaXRzTGVmdCA+PSBiaXRzUGVyUGl4ZWwpIHsKICAgICAgICAgICAgICBuID0gKGJ1ZmZlciA+Pj4gKGJpdHNMZWZ0IC0gYml0c1BlclBpeGVsKSkgJiBiaXRNYXNrOwogICAgICAgICAgICAgIGJpdHNMZWZ0IC09IGJpdHNQZXJQaXhlbDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBtaXNzaW5nQml0cyA9IChiaXRzUGVyUGl4ZWwgLSBiaXRzTGVmdCk7CiAgICAgICAgICAgICAgbiA9ICgoYnVmZmVyICYgYml0TWFzaykgPDwgbWlzc2luZ0JpdHMpICYgYml0TWFzazsKICAgICAgICAgICAgICBidWZmZXIgPSBzcmNbaSsrXTsKICAgICAgICAgICAgICBiaXRzTGVmdCA9IDMyIC0gbWlzc2luZ0JpdHM7CiAgICAgICAgICAgICAgbiArPSAoYnVmZmVyID4+PiBiaXRzTGVmdCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy9kZXN0LnB1c2gobik7CiAgICAgICAgICAgIGRlc3Rbb10gPSBuIDwgbm1heCA/IG9mZnNldCArIG4gKiBzY2FsZSA6IG1heFZhbHVlOwogICAgICAgICAgfQogICAgICAgICAgZGVzdC51bnNoaWZ0KG9mZnNldCk7Ly8xc3Qgb25lCiAgICAgICAgICByZXR1cm4gZGVzdDsKICAgICAgICB9LAoKICAgICAgICB1bnN0dWZmMjogZnVuY3Rpb24oc3JjLCBkZXN0LCBiaXRzUGVyUGl4ZWwsIG51bVBpeGVscywgbHV0QXJyLCBvZmZzZXQsIHNjYWxlLCBtYXhWYWx1ZSkgewogICAgICAgICAgdmFyIGJpdE1hc2sgPSAoMSA8PCBiaXRzUGVyUGl4ZWwpIC0gMTsKICAgICAgICAgIHZhciBpID0gMCwgbzsKICAgICAgICAgIHZhciBiaXRzTGVmdCA9IDAsIGJpdFBvcyA9IDA7CiAgICAgICAgICB2YXIgbiwgYnVmZmVyLCBtaXNzaW5nQml0czsKICAgICAgICAgIGlmIChsdXRBcnIpIHsKICAgICAgICAgICAgZm9yIChvID0gMDsgbyA8IG51bVBpeGVsczsgbysrKSB7CiAgICAgICAgICAgICAgaWYgKGJpdHNMZWZ0ID09PSAwKSB7CiAgICAgICAgICAgICAgICBidWZmZXIgPSBzcmNbaSsrXTsKICAgICAgICAgICAgICAgIGJpdHNMZWZ0ID0gMzI7CiAgICAgICAgICAgICAgICBiaXRQb3MgPSAwOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoYml0c0xlZnQgPj0gYml0c1BlclBpeGVsKSB7CiAgICAgICAgICAgICAgICBuID0gKChidWZmZXIgPj4+IGJpdFBvcykgJiBiaXRNYXNrKTsKICAgICAgICAgICAgICAgIGJpdHNMZWZ0IC09IGJpdHNQZXJQaXhlbDsKICAgICAgICAgICAgICAgIGJpdFBvcyArPSBiaXRzUGVyUGl4ZWw7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG1pc3NpbmdCaXRzID0gKGJpdHNQZXJQaXhlbCAtIGJpdHNMZWZ0KTsKICAgICAgICAgICAgICAgIG4gPSAoYnVmZmVyID4+PiBiaXRQb3MpICYgYml0TWFzazsKICAgICAgICAgICAgICAgIGJ1ZmZlciA9IHNyY1tpKytdOwogICAgICAgICAgICAgICAgYml0c0xlZnQgPSAzMiAtIG1pc3NpbmdCaXRzOwogICAgICAgICAgICAgICAgbiB8PSAoYnVmZmVyICYgKCgxIDw8IG1pc3NpbmdCaXRzKSAtIDEpKSA8PCAoYml0c1BlclBpeGVsIC0gbWlzc2luZ0JpdHMpOwogICAgICAgICAgICAgICAgYml0UG9zID0gbWlzc2luZ0JpdHM7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGRlc3Rbb10gPSBsdXRBcnJbbl07CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgewogICAgICAgICAgICB2YXIgbm1heCA9IE1hdGguY2VpbCgobWF4VmFsdWUgLSBvZmZzZXQpIC8gc2NhbGUpOwogICAgICAgICAgICBmb3IgKG8gPSAwOyBvIDwgbnVtUGl4ZWxzOyBvKyspIHsKICAgICAgICAgICAgICBpZiAoYml0c0xlZnQgPT09IDApIHsKICAgICAgICAgICAgICAgIGJ1ZmZlciA9IHNyY1tpKytdOwogICAgICAgICAgICAgICAgYml0c0xlZnQgPSAzMjsKICAgICAgICAgICAgICAgIGJpdFBvcyA9IDA7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIChiaXRzTGVmdCA+PSBiaXRzUGVyUGl4ZWwpIHsKICAgICAgICAgICAgICAgIC8vbm8gdW5zaWduZWQgbGVmdCBzaGlmdAogICAgICAgICAgICAgICAgbiA9ICgoYnVmZmVyID4+PiBiaXRQb3MpICYgYml0TWFzayk7CiAgICAgICAgICAgICAgICBiaXRzTGVmdCAtPSBiaXRzUGVyUGl4ZWw7CiAgICAgICAgICAgICAgICBiaXRQb3MgKz0gYml0c1BlclBpeGVsOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBtaXNzaW5nQml0cyA9IChiaXRzUGVyUGl4ZWwgLSBiaXRzTGVmdCk7CiAgICAgICAgICAgICAgICBuID0gKGJ1ZmZlciA+Pj4gYml0UG9zKSAmIGJpdE1hc2s7Ly8oKGJ1ZmZlciAmIGJpdE1hc2spIDw8IG1pc3NpbmdCaXRzKSAmIGJpdE1hc2s7CiAgICAgICAgICAgICAgICBidWZmZXIgPSBzcmNbaSsrXTsKICAgICAgICAgICAgICAgIGJpdHNMZWZ0ID0gMzIgLSBtaXNzaW5nQml0czsKICAgICAgICAgICAgICAgIG4gfD0gKGJ1ZmZlciAmICgoMSA8PCBtaXNzaW5nQml0cykgLSAxKSkgPDwgKGJpdHNQZXJQaXhlbCAtIG1pc3NpbmdCaXRzKTsKICAgICAgICAgICAgICAgIGJpdFBvcyA9IG1pc3NpbmdCaXRzOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAvL3BpeGVsIHZhbHVlcyBtYXkgZXhjZWVkIG1heCBkdWUgdG8gcXVhbnRpemF0aW9uCiAgICAgICAgICAgICAgZGVzdFtvXSA9IG4gPCBubWF4ID8gb2Zmc2V0ICsgbiAqIHNjYWxlIDogbWF4VmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBkZXN0OwogICAgICAgIH0sCgogICAgICAgIHVuc3R1ZmZMVVQyOiBmdW5jdGlvbihzcmMsIGJpdHNQZXJQaXhlbCwgbnVtUGl4ZWxzLCBvZmZzZXQsIHNjYWxlLCBtYXhWYWx1ZSkgewogICAgICAgICAgdmFyIGJpdE1hc2sgPSAoMSA8PCBiaXRzUGVyUGl4ZWwpIC0gMTsKICAgICAgICAgIHZhciBpID0gMCwgbyA9IDAsIG1pc3NpbmdCaXRzID0gMCwgYml0c0xlZnQgPSAwLCBuID0gMCwgYml0UG9zID0gMDsKICAgICAgICAgIHZhciBidWZmZXI7CiAgICAgICAgICB2YXIgZGVzdCA9IFtdOwogICAgICAgICAgdmFyIG5tYXggPSBNYXRoLmNlaWwoKG1heFZhbHVlIC0gb2Zmc2V0KSAvIHNjYWxlKTsKICAgICAgICAgIGZvciAobyA9IDA7IG8gPCBudW1QaXhlbHM7IG8rKykgewogICAgICAgICAgICBpZiAoYml0c0xlZnQgPT09IDApIHsKICAgICAgICAgICAgICBidWZmZXIgPSBzcmNbaSsrXTsKICAgICAgICAgICAgICBiaXRzTGVmdCA9IDMyOwogICAgICAgICAgICAgIGJpdFBvcyA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGJpdHNMZWZ0ID49IGJpdHNQZXJQaXhlbCkgewogICAgICAgICAgICAgIC8vbm8gdW5zaWduZWQgbGVmdCBzaGlmdAogICAgICAgICAgICAgIG4gPSAoKGJ1ZmZlciA+Pj4gYml0UG9zKSAmIGJpdE1hc2spOwogICAgICAgICAgICAgIGJpdHNMZWZ0IC09IGJpdHNQZXJQaXhlbDsKICAgICAgICAgICAgICBiaXRQb3MgKz0gYml0c1BlclBpeGVsOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIG1pc3NpbmdCaXRzID0gKGJpdHNQZXJQaXhlbCAtIGJpdHNMZWZ0KTsKICAgICAgICAgICAgICBuID0gKGJ1ZmZlciA+Pj4gYml0UG9zKSAmIGJpdE1hc2s7Ly8oKGJ1ZmZlciAmIGJpdE1hc2spIDw8IG1pc3NpbmdCaXRzKSAmIGJpdE1hc2s7CiAgICAgICAgICAgICAgYnVmZmVyID0gc3JjW2krK107CiAgICAgICAgICAgICAgYml0c0xlZnQgPSAzMiAtIG1pc3NpbmdCaXRzOwogICAgICAgICAgICAgIG4gfD0gKGJ1ZmZlciAmICgoMSA8PCBtaXNzaW5nQml0cykgLSAxKSkgPDwgKGJpdHNQZXJQaXhlbCAtIG1pc3NpbmdCaXRzKTsKICAgICAgICAgICAgICBiaXRQb3MgPSBtaXNzaW5nQml0czsKICAgICAgICAgICAgfQogICAgICAgICAgICAvL2Rlc3QucHVzaChuKTsKICAgICAgICAgICAgZGVzdFtvXSA9IG4gPCBubWF4ID8gb2Zmc2V0ICsgbiAqIHNjYWxlIDogbWF4VmFsdWU7CiAgICAgICAgICB9CiAgICAgICAgICBkZXN0LnVuc2hpZnQob2Zmc2V0KTsKICAgICAgICAgIHJldHVybiBkZXN0OwogICAgICAgIH0sCgogICAgICAgIG9yaWdpbmFsVW5zdHVmZjogZnVuY3Rpb24oc3JjLCBkZXN0LCBiaXRzUGVyUGl4ZWwsIG51bVBpeGVscykgewogICAgICAgICAgdmFyIGJpdE1hc2sgPSAoMSA8PCBiaXRzUGVyUGl4ZWwpIC0gMTsKICAgICAgICAgIHZhciBpID0gMCwgbzsKICAgICAgICAgIHZhciBiaXRzTGVmdCA9IDA7CiAgICAgICAgICB2YXIgbiwgYnVmZmVyLCBtaXNzaW5nQml0czsKCiAgICAgICAgICAvLyBnZXQgcmlkIG9mIHRyYWlsaW5nIGJ5dGVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiBuZXh0IGJsb2NrCiAgICAgICAgICB2YXIgbnVtSW52YWxpZFRhaWxCeXRlcyA9IHNyYy5sZW5ndGggKiA0IC0gTWF0aC5jZWlsKGJpdHNQZXJQaXhlbCAqIG51bVBpeGVscyAvIDgpOwogICAgICAgICAgc3JjW3NyYy5sZW5ndGggLSAxXSA8PD0gOCAqIG51bUludmFsaWRUYWlsQnl0ZXM7CgogICAgICAgICAgZm9yIChvID0gMDsgbyA8IG51bVBpeGVsczsgbysrKSB7CiAgICAgICAgICAgIGlmIChiaXRzTGVmdCA9PT0gMCkgewogICAgICAgICAgICAgIGJ1ZmZlciA9IHNyY1tpKytdOwogICAgICAgICAgICAgIGJpdHNMZWZ0ID0gMzI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGJpdHNMZWZ0ID49IGJpdHNQZXJQaXhlbCkgewogICAgICAgICAgICAgIG4gPSAoYnVmZmVyID4+PiAoYml0c0xlZnQgLSBiaXRzUGVyUGl4ZWwpKSAmIGJpdE1hc2s7CiAgICAgICAgICAgICAgYml0c0xlZnQgLT0gYml0c1BlclBpeGVsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgIG1pc3NpbmdCaXRzID0gKGJpdHNQZXJQaXhlbCAtIGJpdHNMZWZ0KTsKICAgICAgICAgICAgICBuID0gKChidWZmZXIgJiBiaXRNYXNrKSA8PCBtaXNzaW5nQml0cykgJiBiaXRNYXNrOwogICAgICAgICAgICAgIGJ1ZmZlciA9IHNyY1tpKytdOwogICAgICAgICAgICAgIGJpdHNMZWZ0ID0gMzIgLSBtaXNzaW5nQml0czsKICAgICAgICAgICAgICBuICs9IChidWZmZXIgPj4+IGJpdHNMZWZ0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBkZXN0W29dID0gbjsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBkZXN0OwogICAgICAgIH0sCgogICAgICAgIG9yaWdpbmFsVW5zdHVmZjI6IGZ1bmN0aW9uKHNyYywgZGVzdCwgYml0c1BlclBpeGVsLCBudW1QaXhlbHMpIHsKICAgICAgICAgIHZhciBiaXRNYXNrID0gKDEgPDwgYml0c1BlclBpeGVsKSAtIDE7CiAgICAgICAgICB2YXIgaSA9IDAsIG87CiAgICAgICAgICB2YXIgYml0c0xlZnQgPSAwLCBiaXRQb3MgPSAwOwogICAgICAgICAgdmFyIG4sIGJ1ZmZlciwgbWlzc2luZ0JpdHM7CiAgICAgICAgICAvL21pY3JvLW9wdGltaXphdGlvbnMKICAgICAgICAgIGZvciAobyA9IDA7IG8gPCBudW1QaXhlbHM7IG8rKykgewogICAgICAgICAgICBpZiAoYml0c0xlZnQgPT09IDApIHsKICAgICAgICAgICAgICBidWZmZXIgPSBzcmNbaSsrXTsKICAgICAgICAgICAgICBiaXRzTGVmdCA9IDMyOwogICAgICAgICAgICAgIGJpdFBvcyA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGJpdHNMZWZ0ID49IGJpdHNQZXJQaXhlbCkgewogICAgICAgICAgICAgIC8vbm8gdW5zaWduZWQgbGVmdCBzaGlmdAogICAgICAgICAgICAgIG4gPSAoKGJ1ZmZlciA+Pj4gYml0UG9zKSAmIGJpdE1hc2spOwogICAgICAgICAgICAgIGJpdHNMZWZ0IC09IGJpdHNQZXJQaXhlbDsKICAgICAgICAgICAgICBiaXRQb3MgKz0gYml0c1BlclBpeGVsOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIG1pc3NpbmdCaXRzID0gKGJpdHNQZXJQaXhlbCAtIGJpdHNMZWZ0KTsKICAgICAgICAgICAgICBuID0gKGJ1ZmZlciA+Pj4gYml0UG9zKSAmIGJpdE1hc2s7Ly8oKGJ1ZmZlciAmIGJpdE1hc2spIDw8IG1pc3NpbmdCaXRzKSAmIGJpdE1hc2s7CiAgICAgICAgICAgICAgYnVmZmVyID0gc3JjW2krK107CiAgICAgICAgICAgICAgYml0c0xlZnQgPSAzMiAtIG1pc3NpbmdCaXRzOwogICAgICAgICAgICAgIG4gfD0gKGJ1ZmZlciAmICgoMSA8PCBtaXNzaW5nQml0cykgLSAxKSkgPDwgKGJpdHNQZXJQaXhlbCAtIG1pc3NpbmdCaXRzKTsKICAgICAgICAgICAgICBiaXRQb3MgPSBtaXNzaW5nQml0czsKICAgICAgICAgICAgfQogICAgICAgICAgICBkZXN0W29dID0gbjsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBkZXN0OwogICAgICAgIH0KICAgICAgfTsKCiAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgICAqcHJpdmF0ZSBzdGF0aWMgY2xhc3MgdXNlZCBieSBMZXJjMkRlY29kZQogICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICAgIHZhciBMZXJjMkhlbHBlcnMgPSB7CiAgICAgICAgSFVGRk1BTl9MVVRfQklUU19NQVg6IDEyLCAvL3VzZSAyXjEyIGx1dCwgdHJlYXQgaXQgbGlrZSBjb25zdGFudAogICAgICAgIGNvbXB1dGVDaGVja3N1bUZsZXRjaGVyMzI6IGZ1bmN0aW9uKGlucHV0KSB7CgogICAgICAgICAgdmFyIHN1bTEgPSAweGZmZmYsIHN1bTIgPSAweGZmZmY7CiAgICAgICAgICB2YXIgbGVuID0gaW5wdXQubGVuZ3RoOwogICAgICAgICAgdmFyIHdvcmRzID0gTWF0aC5mbG9vcihsZW4gLyAyKTsKICAgICAgICAgIHZhciBpID0gMDsKICAgICAgICAgIHdoaWxlICh3b3JkcykgewogICAgICAgICAgICB2YXIgdGxlbiA9ICh3b3JkcyA+PSAzNTkpID8gMzU5IDogd29yZHM7CiAgICAgICAgICAgIHdvcmRzIC09IHRsZW47CiAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICBzdW0xICs9IChpbnB1dFtpKytdIDw8IDgpOwogICAgICAgICAgICAgIHN1bTIgKz0gc3VtMSArPSBpbnB1dFtpKytdOwogICAgICAgICAgICB9IHdoaWxlICgtLXRsZW4pOwoKICAgICAgICAgICAgc3VtMSA9IChzdW0xICYgMHhmZmZmKSArIChzdW0xID4+PiAxNik7CiAgICAgICAgICAgIHN1bTIgPSAoc3VtMiAmIDB4ZmZmZikgKyAoc3VtMiA+Pj4gMTYpOwogICAgICAgICAgfQoKICAgICAgICAgIC8vIGFkZCB0aGUgc3RyYWdnbGVyIGJ5dGUgaWYgaXQgZXhpc3RzCiAgICAgICAgICBpZiAobGVuICYgMSkgewogICAgICAgICAgICBzdW0yICs9IHN1bTEgKz0gKGlucHV0W2ldIDw8IDgpOwogICAgICAgICAgfQogICAgICAgICAgLy8gc2Vjb25kIHJlZHVjdGlvbiBzdGVwIHRvIHJlZHVjZSBzdW1zIHRvIDE2IGJpdHMKICAgICAgICAgIHN1bTEgPSAoc3VtMSAmIDB4ZmZmZikgKyAoc3VtMSA+Pj4gMTYpOwogICAgICAgICAgc3VtMiA9IChzdW0yICYgMHhmZmZmKSArIChzdW0yID4+PiAxNik7CgogICAgICAgICAgcmV0dXJuIChzdW0yIDw8IDE2IHwgc3VtMSkgPj4+IDA7CiAgICAgICAgfSwKCiAgICAgICAgcmVhZEhlYWRlckluZm86IGZ1bmN0aW9uKGlucHV0LCBkYXRhKSB7CiAgICAgICAgICB2YXIgcHRyID0gZGF0YS5wdHI7CiAgICAgICAgICB2YXIgZmlsZUlkVmlldyA9IG5ldyBVaW50OEFycmF5KGlucHV0LCBwdHIsIDYpOwogICAgICAgICAgdmFyIGhlYWRlckluZm8gPSB7fTsKICAgICAgICAgIGhlYWRlckluZm8uZmlsZUlkZW50aWZpZXJTdHJpbmcgPSBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGZpbGVJZFZpZXcpOwogICAgICAgICAgaWYgKGhlYWRlckluZm8uZmlsZUlkZW50aWZpZXJTdHJpbmcubGFzdEluZGV4T2YoIkxlcmMyIiwgMCkgIT09IDApIHsKICAgICAgICAgICAgdGhyb3cgIlVuZXhwZWN0ZWQgZmlsZSBpZGVudGlmaWVyIHN0cmluZyAoZXhwZWN0IExlcmMyICk6ICIgKyBoZWFkZXJJbmZvLmZpbGVJZGVudGlmaWVyU3RyaW5nOwogICAgICAgICAgfQogICAgICAgICAgcHRyICs9IDY7CiAgICAgICAgICB2YXIgdmlldyA9IG5ldyBEYXRhVmlldyhpbnB1dCwgcHRyLCA4KTsKICAgICAgICAgIHZhciBmaWxlVmVyc2lvbiA9IHZpZXcuZ2V0SW50MzIoMCwgdHJ1ZSk7CiAgICAgICAgICBoZWFkZXJJbmZvLmZpbGVWZXJzaW9uID0gZmlsZVZlcnNpb247CiAgICAgICAgICBwdHIgKz0gNDsKICAgICAgICAgIGlmIChmaWxlVmVyc2lvbiA+PSAzKSB7CiAgICAgICAgICAgIGhlYWRlckluZm8uY2hlY2tzdW0gPSB2aWV3LmdldFVpbnQzMig0LCB0cnVlKTsgLy9ucm93cwogICAgICAgICAgICBwdHIgKz0gNDsKICAgICAgICAgIH0KCiAgICAgICAgICAvL2tleXMgc3RhcnQgZnJvbSBoZXJlCiAgICAgICAgICB2aWV3ID0gbmV3IERhdGFWaWV3KGlucHV0LCBwdHIsIDEyKTsKICAgICAgICAgIGhlYWRlckluZm8uaGVpZ2h0ID0gdmlldy5nZXRVaW50MzIoMCwgdHJ1ZSk7IC8vbnJvd3MKICAgICAgICAgIGhlYWRlckluZm8ud2lkdGggPSB2aWV3LmdldFVpbnQzMig0LCB0cnVlKTsgLy9uY29scwogICAgICAgICAgcHRyICs9IDg7CiAgICAgICAgICBpZiAoZmlsZVZlcnNpb24gPj0gNCkgewogICAgICAgICAgICBoZWFkZXJJbmZvLm51bURpbXMgPSB2aWV3LmdldFVpbnQzMig4LCB0cnVlKTsKICAgICAgICAgICAgcHRyICs9IDQ7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgaGVhZGVySW5mby5udW1EaW1zID0gMTsKICAgICAgICAgIH0KCiAgICAgICAgICB2aWV3ID0gbmV3IERhdGFWaWV3KGlucHV0LCBwdHIsIDQwKTsKICAgICAgICAgIGhlYWRlckluZm8ubnVtVmFsaWRQaXhlbCA9IHZpZXcuZ2V0VWludDMyKDAsIHRydWUpOwogICAgICAgICAgaGVhZGVySW5mby5taWNyb0Jsb2NrU2l6ZSA9IHZpZXcuZ2V0SW50MzIoNCwgdHJ1ZSk7CiAgICAgICAgICBoZWFkZXJJbmZvLmJsb2JTaXplID0gdmlldy5nZXRJbnQzMig4LCB0cnVlKTsKICAgICAgICAgIGhlYWRlckluZm8uaW1hZ2VUeXBlID0gdmlldy5nZXRJbnQzMigxMiwgdHJ1ZSk7CgogICAgICAgICAgaGVhZGVySW5mby5tYXhaRXJyb3IgPSB2aWV3LmdldEZsb2F0NjQoMTYsIHRydWUpOwogICAgICAgICAgaGVhZGVySW5mby56TWluID0gdmlldy5nZXRGbG9hdDY0KDI0LCB0cnVlKTsKICAgICAgICAgIGhlYWRlckluZm8uek1heCA9IHZpZXcuZ2V0RmxvYXQ2NCgzMiwgdHJ1ZSk7CiAgICAgICAgICBwdHIgKz0gNDA7CiAgICAgICAgICBkYXRhLmhlYWRlckluZm8gPSBoZWFkZXJJbmZvOwogICAgICAgICAgZGF0YS5wdHIgPSBwdHI7CgogICAgICAgICAgdmFyIGNoZWNrc3VtLCBrZXlMZW5ndGg7CiAgICAgICAgICBpZiAoZmlsZVZlcnNpb24gPj0gMykgewogICAgICAgICAgICBrZXlMZW5ndGggPSBmaWxlVmVyc2lvbiA+PSA0ID8gNTIgOiA0ODsKICAgICAgICAgICAgY2hlY2tzdW0gPSB0aGlzLmNvbXB1dGVDaGVja3N1bUZsZXRjaGVyMzIobmV3IFVpbnQ4QXJyYXkoaW5wdXQsIHB0ciAtIGtleUxlbmd0aCwgaGVhZGVySW5mby5ibG9iU2l6ZSAtIDE0KSk7CiAgICAgICAgICAgIGlmIChjaGVja3N1bSAhPT0gaGVhZGVySW5mby5jaGVja3N1bSkgewogICAgICAgICAgICAgIHRocm93ICJDaGVja3N1bSBmYWlsZWQuIjsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSwKCiAgICAgICAgY2hlY2tNaW5NYXhSYW5nZXM6IGZ1bmN0aW9uKGlucHV0LCBkYXRhKSB7CiAgICAgICAgICB2YXIgaGVhZGVySW5mbyA9IGRhdGEuaGVhZGVySW5mbzsKICAgICAgICAgIHZhciBPdXRQaXhlbFR5cGVBcnJheSA9IHRoaXMuZ2V0RGF0YVR5cGVBcnJheShoZWFkZXJJbmZvLmltYWdlVHlwZSk7CiAgICAgICAgICB2YXIgcmFuZ2VCeXRlcyA9IGhlYWRlckluZm8ubnVtRGltcyAqIHRoaXMuZ2V0RGF0YVR5cGVTaXplKGhlYWRlckluZm8uaW1hZ2VUeXBlKTsKICAgICAgICAgIHZhciBtaW5WYWx1ZXMgPSB0aGlzLnJlYWRTdWJBcnJheShpbnB1dCwgZGF0YS5wdHIsIE91dFBpeGVsVHlwZUFycmF5LCByYW5nZUJ5dGVzKTsKICAgICAgICAgIHZhciBtYXhWYWx1ZXMgPSB0aGlzLnJlYWRTdWJBcnJheShpbnB1dCwgZGF0YS5wdHIgKyByYW5nZUJ5dGVzLCBPdXRQaXhlbFR5cGVBcnJheSwgcmFuZ2VCeXRlcyk7CiAgICAgICAgICBkYXRhLnB0ciArPSAoMiAqIHJhbmdlQnl0ZXMpOwogICAgICAgICAgdmFyIGksIGVxdWFsID0gdHJ1ZTsKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBoZWFkZXJJbmZvLm51bURpbXM7IGkrKykgewogICAgICAgICAgICBpZiAobWluVmFsdWVzW2ldICE9PSBtYXhWYWx1ZXNbaV0pIHsKICAgICAgICAgICAgICBlcXVhbCA9IGZhbHNlOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBoZWFkZXJJbmZvLm1pblZhbHVlcyA9IG1pblZhbHVlczsKICAgICAgICAgIGhlYWRlckluZm8ubWF4VmFsdWVzID0gbWF4VmFsdWVzOwogICAgICAgICAgcmV0dXJuIGVxdWFsOwogICAgICAgIH0sCgogICAgICAgIHJlYWRTdWJBcnJheTogZnVuY3Rpb24oaW5wdXQsIHB0ciwgT3V0UGl4ZWxUeXBlQXJyYXksIG51bUJ5dGVzKSB7CiAgICAgICAgICB2YXIgcmF3RGF0YTsKICAgICAgICAgIGlmIChPdXRQaXhlbFR5cGVBcnJheSA9PT0gVWludDhBcnJheSkgewogICAgICAgICAgICByYXdEYXRhID0gbmV3IFVpbnQ4QXJyYXkoaW5wdXQsIHB0ciwgbnVtQnl0ZXMpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHZhciBhcnJheUJ1ZiA9IG5ldyBBcnJheUJ1ZmZlcihudW1CeXRlcyk7CiAgICAgICAgICAgIHZhciBzdG9yZTggPSBuZXcgVWludDhBcnJheShhcnJheUJ1Zik7CiAgICAgICAgICAgIHN0b3JlOC5zZXQobmV3IFVpbnQ4QXJyYXkoaW5wdXQsIHB0ciwgbnVtQnl0ZXMpKTsKICAgICAgICAgICAgcmF3RGF0YSA9IG5ldyBPdXRQaXhlbFR5cGVBcnJheShhcnJheUJ1Zik7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gcmF3RGF0YTsKICAgICAgICB9LAoKICAgICAgICByZWFkTWFzazogZnVuY3Rpb24oaW5wdXQsIGRhdGEpIHsKICAgICAgICAgIHZhciBwdHIgPSBkYXRhLnB0cjsKICAgICAgICAgIHZhciBoZWFkZXJJbmZvID0gZGF0YS5oZWFkZXJJbmZvOwogICAgICAgICAgdmFyIG51bVBpeGVscyA9IGhlYWRlckluZm8ud2lkdGggKiBoZWFkZXJJbmZvLmhlaWdodDsKICAgICAgICAgIHZhciBudW1WYWxpZFBpeGVsID0gaGVhZGVySW5mby5udW1WYWxpZFBpeGVsOwoKICAgICAgICAgIHZhciB2aWV3ID0gbmV3IERhdGFWaWV3KGlucHV0LCBwdHIsIDQpOwogICAgICAgICAgdmFyIG1hc2sgPSB7fTsKICAgICAgICAgIG1hc2subnVtQnl0ZXMgPSB2aWV3LmdldFVpbnQzMigwLCB0cnVlKTsKICAgICAgICAgIHB0ciArPSA0OwoKICAgICAgICAgIC8vIE1hc2sgRGF0YQogICAgICAgICAgaWYgKCgwID09PSBudW1WYWxpZFBpeGVsIHx8IG51bVBpeGVscyA9PT0gbnVtVmFsaWRQaXhlbCkgJiYgMCAhPT0gbWFzay5udW1CeXRlcykgewogICAgICAgICAgICB0aHJvdyAoImludmFsaWQgbWFzayIpOwogICAgICAgICAgfQogICAgICAgICAgdmFyIGJpdHNldCwgcmVzdWx0TWFzazsKICAgICAgICAgIGlmIChudW1WYWxpZFBpeGVsID09PSAwKSB7CiAgICAgICAgICAgIGJpdHNldCA9IG5ldyBVaW50OEFycmF5KE1hdGguY2VpbChudW1QaXhlbHMgLyA4KSk7CiAgICAgICAgICAgIG1hc2suYml0c2V0ID0gYml0c2V0OwogICAgICAgICAgICByZXN1bHRNYXNrID0gbmV3IFVpbnQ4QXJyYXkobnVtUGl4ZWxzKTsKICAgICAgICAgICAgZGF0YS5waXhlbHMucmVzdWx0TWFzayA9IHJlc3VsdE1hc2s7CiAgICAgICAgICAgIHB0ciArPSBtYXNrLm51bUJ5dGVzOwogICAgICAgICAgfS8vID8/Pz8/IGVsc2UgaWYgKGRhdGEubWFzay5udW1CeXRlcyA+IDAgJiYgZGF0YS5tYXNrLm51bUJ5dGVzPCBkYXRhLm51bVZhbGlkUGl4ZWwpIHsKICAgICAgICAgIGVsc2UgaWYgKG1hc2subnVtQnl0ZXMgPiAwKSB7CiAgICAgICAgICAgIGJpdHNldCA9IG5ldyBVaW50OEFycmF5KE1hdGguY2VpbChudW1QaXhlbHMgLyA4KSk7CiAgICAgICAgICAgIHZpZXcgPSBuZXcgRGF0YVZpZXcoaW5wdXQsIHB0ciwgbWFzay5udW1CeXRlcyk7CiAgICAgICAgICAgIHZhciBjbnQgPSB2aWV3LmdldEludDE2KDAsIHRydWUpOwogICAgICAgICAgICB2YXIgaXAgPSAyLCBvcCA9IDAsIHZhbCA9IDA7CiAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICBpZiAoY250ID4gMCkgewogICAgICAgICAgICAgICAgd2hpbGUgKGNudC0tKSB7IGJpdHNldFtvcCsrXSA9IHZpZXcuZ2V0VWludDgoaXArKyk7IH0KICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdmFsID0gdmlldy5nZXRVaW50OChpcCsrKTsKICAgICAgICAgICAgICAgIGNudCA9IC1jbnQ7CiAgICAgICAgICAgICAgICB3aGlsZSAoY250LS0pIHsgYml0c2V0W29wKytdID0gdmFsOyB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGNudCA9IHZpZXcuZ2V0SW50MTYoaXAsIHRydWUpOwogICAgICAgICAgICAgIGlwICs9IDI7CiAgICAgICAgICAgIH0gd2hpbGUgKGlwIDwgbWFzay5udW1CeXRlcyk7CiAgICAgICAgICAgIGlmICgoY250ICE9PSAtMzI3NjgpIHx8IChvcCA8IGJpdHNldC5sZW5ndGgpKSB7CiAgICAgICAgICAgICAgdGhyb3cgIlVuZXhwZWN0ZWQgZW5kIG9mIG1hc2sgUkxFIGVuY29kaW5nIjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmVzdWx0TWFzayA9IG5ldyBVaW50OEFycmF5KG51bVBpeGVscyk7CiAgICAgICAgICAgIHZhciBtYiA9IDAsIGsgPSAwOwoKICAgICAgICAgICAgZm9yIChrID0gMDsgayA8IG51bVBpeGVsczsgaysrKSB7CiAgICAgICAgICAgICAgaWYgKGsgJiA3KSB7CiAgICAgICAgICAgICAgICBtYiA9IGJpdHNldFtrID4+IDNdOwogICAgICAgICAgICAgICAgbWIgPDw9IGsgJiA3OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIG1iID0gYml0c2V0W2sgPj4gM107CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIChtYiAmIDEyOCkgewogICAgICAgICAgICAgICAgcmVzdWx0TWFza1trXSA9IDE7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGRhdGEucGl4ZWxzLnJlc3VsdE1hc2sgPSByZXN1bHRNYXNrOwoKICAgICAgICAgICAgbWFzay5iaXRzZXQgPSBiaXRzZXQ7CiAgICAgICAgICAgIHB0ciArPSBtYXNrLm51bUJ5dGVzOwogICAgICAgICAgfQogICAgICAgICAgZGF0YS5wdHIgPSBwdHI7CiAgICAgICAgICBkYXRhLm1hc2sgPSBtYXNrOwogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSwKCiAgICAgICAgcmVhZERhdGFPbmVTd2VlcDogZnVuY3Rpb24oaW5wdXQsIGRhdGEsIE91dFBpeGVsVHlwZUFycmF5KSB7CiAgICAgICAgICB2YXIgcHRyID0gZGF0YS5wdHI7CiAgICAgICAgICB2YXIgaGVhZGVySW5mbyA9IGRhdGEuaGVhZGVySW5mbzsKICAgICAgICAgIHZhciBudW1EaW1zID0gaGVhZGVySW5mby5udW1EaW1zOwogICAgICAgICAgdmFyIG51bVBpeGVscyA9IGhlYWRlckluZm8ud2lkdGggKiBoZWFkZXJJbmZvLmhlaWdodDsKICAgICAgICAgIHZhciBpbWFnZVR5cGUgPSBoZWFkZXJJbmZvLmltYWdlVHlwZTsKICAgICAgICAgIHZhciBudW1CeXRlcyA9IGhlYWRlckluZm8ubnVtVmFsaWRQaXhlbCAqIExlcmMySGVscGVycy5nZXREYXRhVHlwZVNpemUoaW1hZ2VUeXBlKSAqIG51bURpbXM7CiAgICAgICAgICAvL2RhdGEucGl4ZWxzLm51bUJ5dGVzID0gbnVtQnl0ZXM7CiAgICAgICAgICB2YXIgcmF3RGF0YTsKICAgICAgICAgIHZhciBtYXNrID0gZGF0YS5waXhlbHMucmVzdWx0TWFzazsKICAgICAgICAgIGlmIChPdXRQaXhlbFR5cGVBcnJheSA9PT0gVWludDhBcnJheSkgewogICAgICAgICAgICByYXdEYXRhID0gbmV3IFVpbnQ4QXJyYXkoaW5wdXQsIHB0ciwgbnVtQnl0ZXMpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHZhciBhcnJheUJ1ZiA9IG5ldyBBcnJheUJ1ZmZlcihudW1CeXRlcyk7CiAgICAgICAgICAgIHZhciBzdG9yZTggPSBuZXcgVWludDhBcnJheShhcnJheUJ1Zik7CiAgICAgICAgICAgIHN0b3JlOC5zZXQobmV3IFVpbnQ4QXJyYXkoaW5wdXQsIHB0ciwgbnVtQnl0ZXMpKTsKICAgICAgICAgICAgcmF3RGF0YSA9IG5ldyBPdXRQaXhlbFR5cGVBcnJheShhcnJheUJ1Zik7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAocmF3RGF0YS5sZW5ndGggPT09IG51bVBpeGVscyAqIG51bURpbXMpIHsKICAgICAgICAgICAgZGF0YS5waXhlbHMucmVzdWx0UGl4ZWxzID0gcmF3RGF0YTsKICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgIC8vbWFzawogICAgICAgICAgewogICAgICAgICAgICBkYXRhLnBpeGVscy5yZXN1bHRQaXhlbHMgPSBuZXcgT3V0UGl4ZWxUeXBlQXJyYXkobnVtUGl4ZWxzICogbnVtRGltcyk7CiAgICAgICAgICAgIHZhciB6ID0gMCwgayA9IDAsIGkgPSAwLCBuU3RhcnQgPSAwOwogICAgICAgICAgICBpZiAobnVtRGltcyA+IDEpIHsKICAgICAgICAgICAgICBmb3IgKGk9MDsgaSA8IG51bURpbXM7IGkrKykgewogICAgICAgICAgICAgICAgblN0YXJ0ID0gaSAqIG51bVBpeGVsczsKICAgICAgICAgICAgICAgIGZvciAoayA9IDA7IGsgPCBudW1QaXhlbHM7IGsrKykgewogICAgICAgICAgICAgICAgICBpZiAobWFza1trXSkgewogICAgICAgICAgICAgICAgICAgIGRhdGEucGl4ZWxzLnJlc3VsdFBpeGVsc1tuU3RhcnQgKyBrXSA9IHJhd0RhdGFbeisrXTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICBmb3IgKGsgPSAwOyBrIDwgbnVtUGl4ZWxzOyBrKyspIHsKICAgICAgICAgICAgICAgIGlmIChtYXNrW2tdKSB7CiAgICAgICAgICAgICAgICAgIGRhdGEucGl4ZWxzLnJlc3VsdFBpeGVsc1trXSA9IHJhd0RhdGFbeisrXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIHB0ciArPSBudW1CeXRlczsKICAgICAgICAgIGRhdGEucHRyID0gcHRyOyAgICAgICAvL3JldHVybiBkYXRhOwogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSwKCiAgICAgICAgcmVhZEh1ZmZtYW5UcmVlOiBmdW5jdGlvbihpbnB1dCwgZGF0YSkgewogICAgICAgICAgdmFyIEJJVFNfTUFYID0gdGhpcy5IVUZGTUFOX0xVVF9CSVRTX01BWDsgLy84IGlzIHNsb3cgZm9yIHRoZSBsYXJnZSB0ZXN0IGltYWdlCiAgICAgICAgICAvL3ZhciBzaXplX21heCA9IDEgPDwgQklUU19NQVg7CiAgICAgICAgICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAgICAgICAqIHJlYWRpbmcgY29kZSB0YWJsZQogICAgICAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICAgICAgICB2YXIgdmlldyA9IG5ldyBEYXRhVmlldyhpbnB1dCwgZGF0YS5wdHIsIDE2KTsKICAgICAgICAgIGRhdGEucHRyICs9IDE2OwogICAgICAgICAgdmFyIHZlcnNpb24gPSB2aWV3LmdldEludDMyKDAsIHRydWUpOwogICAgICAgICAgaWYgKHZlcnNpb24gPCAyKSB7CiAgICAgICAgICAgIHRocm93ICJ1bnN1cHBvcnRlZCBIdWZmbWFuIHZlcnNpb24iOwogICAgICAgICAgfQogICAgICAgICAgdmFyIHNpemUgPSB2aWV3LmdldEludDMyKDQsIHRydWUpOwogICAgICAgICAgdmFyIGkwID0gdmlldy5nZXRJbnQzMig4LCB0cnVlKTsKICAgICAgICAgIHZhciBpMSA9IHZpZXcuZ2V0SW50MzIoMTIsIHRydWUpOwogICAgICAgICAgaWYgKGkwID49IGkxKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBibG9ja0RhdGFCdWZmZXIgPSBuZXcgVWludDMyQXJyYXkoaTEgLSBpMCk7CiAgICAgICAgICBMZXJjMkhlbHBlcnMuZGVjb2RlQml0cyhpbnB1dCwgZGF0YSwgYmxvY2tEYXRhQnVmZmVyKTsKICAgICAgICAgIHZhciBjb2RlVGFibGUgPSBbXTsgLy9zaXplCiAgICAgICAgICB2YXIgaSwgaiwgaywgbGVuOwoKICAgICAgICAgIGZvciAoaSA9IGkwOyBpIDwgaTE7IGkrKykgewogICAgICAgICAgICBqID0gaSAtIChpIDwgc2l6ZSA/IDAgOiBzaXplKTsvL3dyYXAgYXJvdW5kCiAgICAgICAgICAgIGNvZGVUYWJsZVtqXSA9IHsgZmlyc3Q6IGJsb2NrRGF0YUJ1ZmZlcltpIC0gaTBdLCBzZWNvbmQ6IG51bGwgfTsKICAgICAgICAgIH0KCiAgICAgICAgICB2YXIgZGF0YUJ5dGVzID0gaW5wdXQuYnl0ZUxlbmd0aCAtIGRhdGEucHRyOwogICAgICAgICAgdmFyIGRhdGFXb3JkcyA9IE1hdGguY2VpbChkYXRhQnl0ZXMgLyA0KTsKICAgICAgICAgIHZhciBhcnJheUJ1ZiA9IG5ldyBBcnJheUJ1ZmZlcihkYXRhV29yZHMgKiA0KTsKICAgICAgICAgIHZhciBzdG9yZTggPSBuZXcgVWludDhBcnJheShhcnJheUJ1Zik7CiAgICAgICAgICBzdG9yZTguc2V0KG5ldyBVaW50OEFycmF5KGlucHV0LCBkYXRhLnB0ciwgZGF0YUJ5dGVzKSk7CiAgICAgICAgICB2YXIgc3R1ZmZlZERhdGEgPSBuZXcgVWludDMyQXJyYXkoYXJyYXlCdWYpOyAvL211c3Qgc3RhcnQgZnJvbSB4KjQKICAgICAgICAgIHZhciBiaXRQb3MgPSAwLCB3b3JkLCBzcmNQdHIgPSAwOwogICAgICAgICAgd29yZCA9IHN0dWZmZWREYXRhWzBdOwogICAgICAgICAgZm9yIChpID0gaTA7IGkgPCBpMTsgaSsrKSB7CiAgICAgICAgICAgIGogPSBpIC0gKGkgPCBzaXplID8gMCA6IHNpemUpOy8vd3JhcCBhcm91bmQKICAgICAgICAgICAgbGVuID0gY29kZVRhYmxlW2pdLmZpcnN0OwogICAgICAgICAgICBpZiAobGVuID4gMCkgewogICAgICAgICAgICAgIGNvZGVUYWJsZVtqXS5zZWNvbmQgPSAod29yZCA8PCBiaXRQb3MpID4+PiAoMzIgLSBsZW4pOwoKICAgICAgICAgICAgICBpZiAoMzIgLSBiaXRQb3MgPj0gbGVuKSB7CiAgICAgICAgICAgICAgICBiaXRQb3MgKz0gbGVuOwogICAgICAgICAgICAgICAgaWYgKGJpdFBvcyA9PT0gMzIpIHsKICAgICAgICAgICAgICAgICAgYml0UG9zID0gMDsKICAgICAgICAgICAgICAgICAgc3JjUHRyKys7CiAgICAgICAgICAgICAgICAgIHdvcmQgPSBzdHVmZmVkRGF0YVtzcmNQdHJdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIGJpdFBvcyArPSBsZW4gLSAzMjsKICAgICAgICAgICAgICAgIHNyY1B0cisrOwogICAgICAgICAgICAgICAgd29yZCA9IHN0dWZmZWREYXRhW3NyY1B0cl07CiAgICAgICAgICAgICAgICBjb2RlVGFibGVbal0uc2Vjb25kIHw9IHdvcmQgPj4+ICgzMiAtIGJpdFBvcyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CgogICAgICAgICAgLy9maW5pc2hlZCByZWFkaW5nIGNvZGUgdGFibGUKCiAgICAgICAgICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAgICAgICAqIGJ1aWxkaW5nIGx1dAogICAgICAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICAgICAgICB2YXIgbnVtQml0c0xVVCA9IDAsIG51bUJpdHNMVVRRaWNrID0gMDsKICAgICAgICAgIHZhciB0cmVlID0gbmV3IFRyZWVOb2RlKCk7CiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY29kZVRhYmxlLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChjb2RlVGFibGVbaV0gIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgIG51bUJpdHNMVVQgPSBNYXRoLm1heChudW1CaXRzTFVULCBjb2RlVGFibGVbaV0uZmlyc3QpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBpZiAobnVtQml0c0xVVCA+PSBCSVRTX01BWCkgewogICAgICAgICAgICBudW1CaXRzTFVUUWljayA9IEJJVFNfTUFYOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIG51bUJpdHNMVVRRaWNrID0gbnVtQml0c0xVVDsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChudW1CaXRzTFVUID49IDMwKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCJXQVJuaW5nLCBsYXJnZSBOVU0gTFVUIEJJVFMgSVMgIiArIG51bUJpdHNMVVQpOwogICAgICAgICAgfQogICAgICAgICAgdmFyIGRlY29kZUx1dCA9IFtdLCBlbnRyeSwgY29kZSwgbnVtRW50cmllcywgamosIGN1cnJlbnRCaXQsIG5vZGU7CiAgICAgICAgICBmb3IgKGkgPSBpMDsgaSA8IGkxOyBpKyspIHsKICAgICAgICAgICAgaiA9IGkgLSAoaSA8IHNpemUgPyAwIDogc2l6ZSk7Ly93cmFwIGFyb3VuZAogICAgICAgICAgICBsZW4gPSBjb2RlVGFibGVbal0uZmlyc3Q7CiAgICAgICAgICAgIGlmIChsZW4gPiAwKSB7CiAgICAgICAgICAgICAgZW50cnkgPSBbbGVuLCBqXTsKICAgICAgICAgICAgICBpZiAobGVuIDw9IG51bUJpdHNMVVRRaWNrKSB7CiAgICAgICAgICAgICAgICBjb2RlID0gY29kZVRhYmxlW2pdLnNlY29uZCA8PCAobnVtQml0c0xVVFFpY2sgLSBsZW4pOwogICAgICAgICAgICAgICAgbnVtRW50cmllcyA9IDEgPDwgKG51bUJpdHNMVVRRaWNrIC0gbGVuKTsKICAgICAgICAgICAgICAgIGZvciAoayA9IDA7IGsgPCBudW1FbnRyaWVzOyBrKyspIHsKICAgICAgICAgICAgICAgICAgZGVjb2RlTHV0W2NvZGUgfCBrXSA9IGVudHJ5OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIC8vYnVpbGQgdHJlZQogICAgICAgICAgICAgICAgY29kZSA9IGNvZGVUYWJsZVtqXS5zZWNvbmQ7CiAgICAgICAgICAgICAgICBub2RlID0gdHJlZTsKICAgICAgICAgICAgICAgIGZvciAoamogPSBsZW4gLSAxOyBqaiA+PSAwOyBqai0tKSB7CiAgICAgICAgICAgICAgICAgIGN1cnJlbnRCaXQgPSBjb2RlID4+PiBqaiAmIDE7IC8vbm8gbGVmdCBzaGlmdCBhcyBsZW5ndGggY291bGQgYmUgMzAsMzEKICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRCaXQpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIW5vZGUucmlnaHQpIHsKICAgICAgICAgICAgICAgICAgICAgIG5vZGUucmlnaHQgPSBuZXcgVHJlZU5vZGUoKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgbm9kZSA9IG5vZGUucmlnaHQ7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFub2RlLmxlZnQpIHsKICAgICAgICAgICAgICAgICAgICAgIG5vZGUubGVmdCA9IG5ldyBUcmVlTm9kZSgpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBub2RlID0gbm9kZS5sZWZ0OwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIGlmIChqaiA9PT0gMCAmJiAhbm9kZS52YWwpIHsKICAgICAgICAgICAgICAgICAgICBub2RlLnZhbCA9IGVudHJ5WzFdOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICBkZWNvZGVMdXQ6IGRlY29kZUx1dCwKICAgICAgICAgICAgbnVtQml0c0xVVFFpY2s6IG51bUJpdHNMVVRRaWNrLAogICAgICAgICAgICBudW1CaXRzTFVUOiBudW1CaXRzTFVULAogICAgICAgICAgICB0cmVlOiB0cmVlLAogICAgICAgICAgICBzdHVmZmVkRGF0YTogc3R1ZmZlZERhdGEsCiAgICAgICAgICAgIHNyY1B0cjogc3JjUHRyLAogICAgICAgICAgICBiaXRQb3M6IGJpdFBvcwogICAgICAgICAgfTsKICAgICAgICB9LAoKICAgICAgICByZWFkSHVmZm1hbjogZnVuY3Rpb24oaW5wdXQsIGRhdGEsIE91dFBpeGVsVHlwZUFycmF5KSB7CiAgICAgICAgICB2YXIgaGVhZGVySW5mbyA9IGRhdGEuaGVhZGVySW5mbzsKICAgICAgICAgIHZhciBudW1EaW1zID0gaGVhZGVySW5mby5udW1EaW1zOwogICAgICAgICAgdmFyIGhlaWdodCA9IGRhdGEuaGVhZGVySW5mby5oZWlnaHQ7CiAgICAgICAgICB2YXIgd2lkdGggPSBkYXRhLmhlYWRlckluZm8ud2lkdGg7CiAgICAgICAgICB2YXIgbnVtUGl4ZWxzID0gd2lkdGggKiBoZWlnaHQ7CiAgICAgICAgICAvL3ZhciBzaXplX21heCA9IDEgPDwgQklUU19NQVg7CiAgICAgICAgICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAgICAgICAqIHJlYWRpbmcgaHVmZm1hbiBzdHJ1Y3R1cmUgaW5mbwogICAgICAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICAgICAgICB2YXIgaHVmZm1hbkluZm8gPSB0aGlzLnJlYWRIdWZmbWFuVHJlZShpbnB1dCwgZGF0YSk7CiAgICAgICAgICB2YXIgZGVjb2RlTHV0ID0gaHVmZm1hbkluZm8uZGVjb2RlTHV0OwogICAgICAgICAgdmFyIHRyZWUgPSBodWZmbWFuSW5mby50cmVlOwogICAgICAgICAgLy9zdHVmZmVkRGF0YSBpbmNsdWRlcyBodWZmbWFuIGhlYWRlcnMKICAgICAgICAgIHZhciBzdHVmZmVkRGF0YSA9IGh1ZmZtYW5JbmZvLnN0dWZmZWREYXRhOwogICAgICAgICAgdmFyIHNyY1B0ciA9IGh1ZmZtYW5JbmZvLnNyY1B0cjsKICAgICAgICAgIHZhciBiaXRQb3MgPSBodWZmbWFuSW5mby5iaXRQb3M7CiAgICAgICAgICB2YXIgbnVtQml0c0xVVFFpY2sgPSBodWZmbWFuSW5mby5udW1CaXRzTFVUUWljazsKICAgICAgICAgIHZhciBudW1CaXRzTFVUID0gaHVmZm1hbkluZm8ubnVtQml0c0xVVDsKICAgICAgICAgIHZhciBvZmZzZXQgPSBkYXRhLmhlYWRlckluZm8uaW1hZ2VUeXBlID09PSAwID8gMTI4IDogMDsKICAgICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqCiAgICAgICAgICAqICBkZWNvZGUKICAgICAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgICAgICAgIHZhciBub2RlLCB2YWwsIGRlbHRhLCBtYXNrID0gZGF0YS5waXhlbHMucmVzdWx0TWFzaywgdmFsVG1wLCB2YWxUbXBRdWljaywgY3VycmVudEJpdDsKICAgICAgICAgIHZhciBpLCBqLCBrLCBpaTsKICAgICAgICAgIHZhciBwcmV2VmFsID0gMDsKICAgICAgICAgIGlmIChiaXRQb3MgPiAwKSB7CiAgICAgICAgICAgIHNyY1B0cisrOwogICAgICAgICAgICBiaXRQb3MgPSAwOwogICAgICAgICAgfQogICAgICAgICAgdmFyIHdvcmQgPSBzdHVmZmVkRGF0YVtzcmNQdHJdOwogICAgICAgICAgdmFyIGRlbHRhRW5jb2RlID0gZGF0YS5lbmNvZGVNb2RlID09PSAxOwogICAgICAgICAgdmFyIHJlc3VsdFBpeGVsc0FsbERpbSA9IG5ldyBPdXRQaXhlbFR5cGVBcnJheShudW1QaXhlbHMgKiBudW1EaW1zKTsKICAgICAgICAgIHZhciByZXN1bHRQaXhlbHMgPSByZXN1bHRQaXhlbHNBbGxEaW07CiAgICAgICAgICB2YXIgaURpbTsKICAgICAgICAgIGZvciAoaURpbSA9IDA7IGlEaW0gPCBoZWFkZXJJbmZvLm51bURpbXM7IGlEaW0rKykgewogICAgICAgICAgICBpZiAobnVtRGltcyA+IDEpIHsKICAgICAgICAgICAgICAvL2dldCB0aGUgbWVtIGJsb2NrIG9mIGN1cnJlbnQgZGltZW5zaW9uCiAgICAgICAgICAgICAgcmVzdWx0UGl4ZWxzID0gbmV3IE91dFBpeGVsVHlwZUFycmF5KHJlc3VsdFBpeGVsc0FsbERpbS5idWZmZXIsIG51bVBpeGVscyAqIGlEaW0sIG51bVBpeGVscyk7CiAgICAgICAgICAgICAgcHJldlZhbCA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGRhdGEuaGVhZGVySW5mby5udW1WYWxpZFBpeGVsID09PSB3aWR0aCAqIGhlaWdodCkgeyAvL2FsbCB2YWxpZAogICAgICAgICAgICAgIGZvciAoayA9IDAsIGkgPSAwOyBpIDwgaGVpZ2h0OyBpKyspIHsKICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCB3aWR0aDsgaisrLCBrKyspIHsKICAgICAgICAgICAgICAgICAgdmFsID0gMDsKICAgICAgICAgICAgICAgICAgdmFsVG1wID0gKHdvcmQgPDwgYml0UG9zKSA+Pj4gKDMyIC0gbnVtQml0c0xVVFFpY2spOwogICAgICAgICAgICAgICAgICB2YWxUbXBRdWljayA9IHZhbFRtcDsvLyA+Pj4gZGVsdGFCaXRzOwogICAgICAgICAgICAgICAgICBpZiAoMzIgLSBiaXRQb3MgPCBudW1CaXRzTFVUUWljaykgewogICAgICAgICAgICAgICAgICAgIHZhbFRtcCB8PSAoKHN0dWZmZWREYXRhW3NyY1B0ciArIDFdKSA+Pj4gKDY0IC0gYml0UG9zIC0gbnVtQml0c0xVVFFpY2spKTsKICAgICAgICAgICAgICAgICAgICB2YWxUbXBRdWljayA9IHZhbFRtcDsvLyA+Pj4gZGVsdGFCaXRzOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIGlmIChkZWNvZGVMdXRbdmFsVG1wUXVpY2tdKSAgICAvLyBpZiB0aGVyZSwgbW92ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgYml0cyBhbmQgZG9uZQogICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdmFsID0gZGVjb2RlTHV0W3ZhbFRtcFF1aWNrXVsxXTsKICAgICAgICAgICAgICAgICAgICBiaXRQb3MgKz0gZGVjb2RlTHV0W3ZhbFRtcFF1aWNrXVswXTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB2YWxUbXAgPSAod29yZCA8PCBiaXRQb3MpID4+PiAoMzIgLSBudW1CaXRzTFVUKTsKICAgICAgICAgICAgICAgICAgICB2YWxUbXBRdWljayA9IHZhbFRtcDsvLyA+Pj4gZGVsdGFCaXRzOwogICAgICAgICAgICAgICAgICAgIGlmICgzMiAtIGJpdFBvcyA8IG51bUJpdHNMVVQpIHsKICAgICAgICAgICAgICAgICAgICAgIHZhbFRtcCB8PSAoKHN0dWZmZWREYXRhW3NyY1B0ciArIDFdKSA+Pj4gKDY0IC0gYml0UG9zIC0gbnVtQml0c0xVVCkpOwogICAgICAgICAgICAgICAgICAgICAgdmFsVG1wUXVpY2sgPSB2YWxUbXA7Ly8gPj4+IGRlbHRhQml0czsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgbm9kZSA9IHRyZWU7CiAgICAgICAgICAgICAgICAgICAgZm9yIChpaSA9IDA7IGlpIDwgbnVtQml0c0xVVDsgaWkrKykgewogICAgICAgICAgICAgICAgICAgICAgY3VycmVudEJpdCA9IHZhbFRtcCA+Pj4gKG51bUJpdHNMVVQgLSBpaSAtIDEpICYgMTsKICAgICAgICAgICAgICAgICAgICAgIG5vZGUgPSBjdXJyZW50Qml0ID8gbm9kZS5yaWdodCA6IG5vZGUubGVmdDsKICAgICAgICAgICAgICAgICAgICAgIGlmICghKG5vZGUubGVmdCB8fCBub2RlLnJpZ2h0KSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YWwgPSBub2RlLnZhbDsKICAgICAgICAgICAgICAgICAgICAgICAgYml0UG9zID0gYml0UG9zICsgaWkgKyAxOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgIGlmIChiaXRQb3MgPj0gMzIpIHsKICAgICAgICAgICAgICAgICAgICBiaXRQb3MgLT0gMzI7CiAgICAgICAgICAgICAgICAgICAgc3JjUHRyKys7CiAgICAgICAgICAgICAgICAgICAgd29yZCA9IHN0dWZmZWREYXRhW3NyY1B0cl07CiAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgIGRlbHRhID0gdmFsIC0gb2Zmc2V0OwogICAgICAgICAgICAgICAgICBpZiAoZGVsdGFFbmNvZGUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoaiA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgIGRlbHRhICs9IHByZXZWYWw7ICAgIC8vIHVzZSBvdmVyZmxvdwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpID4gMCkgewogICAgICAgICAgICAgICAgICAgICAgZGVsdGEgKz0gcmVzdWx0UGl4ZWxzW2sgLSB3aWR0aF07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgZGVsdGEgKz0gcHJldlZhbDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZGVsdGEgJj0gMHhGRjsgLy9vdmVyZmxvdwogICAgICAgICAgICAgICAgICAgIHJlc3VsdFBpeGVsc1trXSA9IGRlbHRhOy8vb3ZlcmZsb3cKICAgICAgICAgICAgICAgICAgICBwcmV2VmFsID0gZGVsdGE7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmVzdWx0UGl4ZWxzW2tdID0gZGVsdGE7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7IC8vbm90IGFsbCB2YWxpZCwgdXNlIG1hc2sKICAgICAgICAgICAgICBmb3IgKGsgPSAwLCBpID0gMDsgaSA8IGhlaWdodDsgaSsrKSB7CiAgICAgICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgd2lkdGg7IGorKywgaysrKSB7CiAgICAgICAgICAgICAgICAgIGlmIChtYXNrW2tdKSB7CiAgICAgICAgICAgICAgICAgICAgdmFsID0gMDsKICAgICAgICAgICAgICAgICAgICB2YWxUbXAgPSAod29yZCA8PCBiaXRQb3MpID4+PiAoMzIgLSBudW1CaXRzTFVUUWljayk7CiAgICAgICAgICAgICAgICAgICAgdmFsVG1wUXVpY2sgPSB2YWxUbXA7Ly8gPj4+IGRlbHRhQml0czsKICAgICAgICAgICAgICAgICAgICBpZiAoMzIgLSBiaXRQb3MgPCBudW1CaXRzTFVUUWljaykgewogICAgICAgICAgICAgICAgICAgICAgdmFsVG1wIHw9ICgoc3R1ZmZlZERhdGFbc3JjUHRyICsgMV0pID4+PiAoNjQgLSBiaXRQb3MgLSBudW1CaXRzTFVUUWljaykpOwogICAgICAgICAgICAgICAgICAgICAgdmFsVG1wUXVpY2sgPSB2YWxUbXA7Ly8gPj4+IGRlbHRhQml0czsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKGRlY29kZUx1dFt2YWxUbXBRdWlja10pICAgIC8vIGlmIHRoZXJlLCBtb3ZlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBiaXRzIGFuZCBkb25lCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgdmFsID0gZGVjb2RlTHV0W3ZhbFRtcFF1aWNrXVsxXTsKICAgICAgICAgICAgICAgICAgICAgIGJpdFBvcyArPSBkZWNvZGVMdXRbdmFsVG1wUXVpY2tdWzBdOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgIHZhbFRtcCA9ICh3b3JkIDw8IGJpdFBvcykgPj4+ICgzMiAtIG51bUJpdHNMVVQpOwogICAgICAgICAgICAgICAgICAgICAgdmFsVG1wUXVpY2sgPSB2YWxUbXA7Ly8gPj4+IGRlbHRhQml0czsKICAgICAgICAgICAgICAgICAgICAgIGlmICgzMiAtIGJpdFBvcyA8IG51bUJpdHNMVVQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFsVG1wIHw9ICgoc3R1ZmZlZERhdGFbc3JjUHRyICsgMV0pID4+PiAoNjQgLSBiaXRQb3MgLSBudW1CaXRzTFVUKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhbFRtcFF1aWNrID0gdmFsVG1wOy8vID4+PiBkZWx0YUJpdHM7CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICBub2RlID0gdHJlZTsKICAgICAgICAgICAgICAgICAgICAgIGZvciAoaWkgPSAwOyBpaSA8IG51bUJpdHNMVVQ7IGlpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEJpdCA9IHZhbFRtcCA+Pj4gKG51bUJpdHNMVVQgLSBpaSAtIDEpICYgMTsKICAgICAgICAgICAgICAgICAgICAgICAgbm9kZSA9IGN1cnJlbnRCaXQgPyBub2RlLnJpZ2h0IDogbm9kZS5sZWZ0OwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShub2RlLmxlZnQgfHwgbm9kZS5yaWdodCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwgPSBub2RlLnZhbDsKICAgICAgICAgICAgICAgICAgICAgICAgICBiaXRQb3MgPSBiaXRQb3MgKyBpaSArIDE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGlmIChiaXRQb3MgPj0gMzIpIHsKICAgICAgICAgICAgICAgICAgICAgIGJpdFBvcyAtPSAzMjsKICAgICAgICAgICAgICAgICAgICAgIHNyY1B0cisrOwogICAgICAgICAgICAgICAgICAgICAgd29yZCA9IHN0dWZmZWREYXRhW3NyY1B0cl07CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBkZWx0YSA9IHZhbCAtIG9mZnNldDsKICAgICAgICAgICAgICAgICAgICBpZiAoZGVsdGFFbmNvZGUpIHsKICAgICAgICAgICAgICAgICAgICAgIGlmIChqID4gMCAmJiBtYXNrW2sgLSAxXSkgewogICAgICAgICAgICAgICAgICAgICAgICBkZWx0YSArPSBwcmV2VmFsOyAgICAvLyB1c2Ugb3ZlcmZsb3cKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGkgPiAwICYmIG1hc2tbayAtIHdpZHRoXSkgewogICAgICAgICAgICAgICAgICAgICAgICBkZWx0YSArPSByZXN1bHRQaXhlbHNbayAtIHdpZHRoXTsKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBkZWx0YSArPSBwcmV2VmFsOwogICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgIGRlbHRhICY9IDB4RkY7IC8vb3ZlcmZsb3cKICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdFBpeGVsc1trXSA9IGRlbHRhOy8vb3ZlcmZsb3cKICAgICAgICAgICAgICAgICAgICAgIHByZXZWYWwgPSBkZWx0YTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICByZXN1bHRQaXhlbHNba10gPSBkZWx0YTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZGF0YS5wdHIgPSBkYXRhLnB0ciArIChzcmNQdHIgKyAxKSAqIDQgKyAoYml0UG9zID4gMCA/IDQgOiAwKTsKICAgICAgICAgIH0KICAgICAgICAgIGRhdGEucGl4ZWxzLnJlc3VsdFBpeGVscyA9IHJlc3VsdFBpeGVsc0FsbERpbTsKICAgICAgICB9LAoKICAgICAgICBkZWNvZGVCaXRzOiBmdW5jdGlvbihpbnB1dCwgZGF0YSwgYmxvY2tEYXRhQnVmZmVyLCBvZmZzZXQsIGlEaW0pIHsKICAgICAgICAgIHsKICAgICAgICAgICAgLy9iaXRzdHVmZiBlbmNvZGluZyBpcyAzCiAgICAgICAgICAgIHZhciBoZWFkZXJJbmZvID0gZGF0YS5oZWFkZXJJbmZvOwogICAgICAgICAgICB2YXIgZmlsZVZlcnNpb24gPSBoZWFkZXJJbmZvLmZpbGVWZXJzaW9uOwogICAgICAgICAgICAvL3ZhciBibG9jayA9IHt9OwogICAgICAgICAgICB2YXIgYmxvY2tQdHIgPSAwOwogICAgICAgICAgICB2YXIgdmlldyA9IG5ldyBEYXRhVmlldyhpbnB1dCwgZGF0YS5wdHIsIDUpOy8vdG8gZG8KICAgICAgICAgICAgdmFyIGhlYWRlckJ5dGUgPSB2aWV3LmdldFVpbnQ4KDApOwogICAgICAgICAgICBibG9ja1B0cisrOwogICAgICAgICAgICB2YXIgYml0czY3ID0gaGVhZGVyQnl0ZSA+PiA2OwogICAgICAgICAgICB2YXIgbiA9IChiaXRzNjcgPT09IDApID8gNCA6IDMgLSBiaXRzNjc7CiAgICAgICAgICAgIHZhciBkb0x1dCA9IChoZWFkZXJCeXRlICYgMzIpID4gMCA/IHRydWUgOiBmYWxzZTsvLzV0aCBiaXQKICAgICAgICAgICAgdmFyIG51bUJpdHMgPSBoZWFkZXJCeXRlICYgMzE7CiAgICAgICAgICAgIHZhciBudW1FbGVtZW50cyA9IDA7CiAgICAgICAgICAgIGlmIChuID09PSAxKSB7CiAgICAgICAgICAgICAgbnVtRWxlbWVudHMgPSB2aWV3LmdldFVpbnQ4KGJsb2NrUHRyKTsgYmxvY2tQdHIrKzsKICAgICAgICAgICAgfSBlbHNlIGlmIChuID09PSAyKSB7CiAgICAgICAgICAgICAgbnVtRWxlbWVudHMgPSB2aWV3LmdldFVpbnQxNihibG9ja1B0ciwgdHJ1ZSk7IGJsb2NrUHRyICs9IDI7CiAgICAgICAgICAgIH0gZWxzZSBpZiAobiA9PT0gNCkgewogICAgICAgICAgICAgIG51bUVsZW1lbnRzID0gdmlldy5nZXRVaW50MzIoYmxvY2tQdHIsIHRydWUpOyBibG9ja1B0ciArPSA0OwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHRocm93ICJJbnZhbGlkIHZhbGlkIHBpeGVsIGNvdW50IHR5cGUiOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vZml4OiBodWZmbWFuIGNvZGVzIGFyZSBiaXQgc3R1ZmZlZCwgYnV0IG5vdCBib3VuZCBieSBkYXRhJ3MgbWF4IHZhbHVlLCBzbyBuZWVkIHRvIHVzZSBvcmlnaW5hbFVuc3R1ZmYKICAgICAgICAgICAgLy9vZmZzZXQgPSBvZmZzZXQgfHwgMDsKICAgICAgICAgICAgdmFyIHNjYWxlID0gMiAqIGhlYWRlckluZm8ubWF4WkVycm9yOwogICAgICAgICAgICB2YXIgc3R1ZmZlZERhdGEsIGFycmF5QnVmLCBzdG9yZTgsIGRhdGFCeXRlcywgZGF0YVdvcmRzOwogICAgICAgICAgICB2YXIgbHV0QXJyLCBsdXREYXRhLCBsdXRCeXRlcywgYml0c1BlclBpeGVsOwogICAgICAgICAgICB2YXIgek1heCA9IGhlYWRlckluZm8ubnVtRGltcyA+IDEgPyBoZWFkZXJJbmZvLm1heFZhbHVlc1tpRGltXSA6IGhlYWRlckluZm8uek1heDsKICAgICAgICAgICAgaWYgKGRvTHV0KSB7CiAgICAgICAgICAgICAgZGF0YS5jb3VudGVyLmx1dCsrOwogICAgICAgICAgICAgIGx1dEJ5dGVzID0gdmlldy5nZXRVaW50OChibG9ja1B0cik7CiAgICAgICAgICAgICAgYmxvY2tQdHIrKzsKICAgICAgICAgICAgICBkYXRhQnl0ZXMgPSBNYXRoLmNlaWwoKGx1dEJ5dGVzIC0gMSkgKiBudW1CaXRzIC8gOCk7CiAgICAgICAgICAgICAgZGF0YVdvcmRzID0gTWF0aC5jZWlsKGRhdGFCeXRlcyAvIDQpOwogICAgICAgICAgICAgIGFycmF5QnVmID0gbmV3IEFycmF5QnVmZmVyKGRhdGFXb3JkcyAqIDQpOwogICAgICAgICAgICAgIHN0b3JlOCA9IG5ldyBVaW50OEFycmF5KGFycmF5QnVmKTsKCiAgICAgICAgICAgICAgZGF0YS5wdHIgKz0gYmxvY2tQdHI7CiAgICAgICAgICAgICAgc3RvcmU4LnNldChuZXcgVWludDhBcnJheShpbnB1dCwgZGF0YS5wdHIsIGRhdGFCeXRlcykpOwoKICAgICAgICAgICAgICBsdXREYXRhID0gbmV3IFVpbnQzMkFycmF5KGFycmF5QnVmKTsKICAgICAgICAgICAgICBkYXRhLnB0ciArPSBkYXRhQnl0ZXM7CgogICAgICAgICAgICAgIGJpdHNQZXJQaXhlbCA9IDA7CiAgICAgICAgICAgICAgd2hpbGUgKChsdXRCeXRlcyAtIDEpID4+PiBiaXRzUGVyUGl4ZWwpIHsKICAgICAgICAgICAgICAgIGJpdHNQZXJQaXhlbCsrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBkYXRhQnl0ZXMgPSBNYXRoLmNlaWwobnVtRWxlbWVudHMgKiBiaXRzUGVyUGl4ZWwgLyA4KTsKICAgICAgICAgICAgICBkYXRhV29yZHMgPSBNYXRoLmNlaWwoZGF0YUJ5dGVzIC8gNCk7CiAgICAgICAgICAgICAgYXJyYXlCdWYgPSBuZXcgQXJyYXlCdWZmZXIoZGF0YVdvcmRzICogNCk7CiAgICAgICAgICAgICAgc3RvcmU4ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlCdWYpOwogICAgICAgICAgICAgIHN0b3JlOC5zZXQobmV3IFVpbnQ4QXJyYXkoaW5wdXQsIGRhdGEucHRyLCBkYXRhQnl0ZXMpKTsKICAgICAgICAgICAgICBzdHVmZmVkRGF0YSA9IG5ldyBVaW50MzJBcnJheShhcnJheUJ1Zik7CiAgICAgICAgICAgICAgZGF0YS5wdHIgKz0gZGF0YUJ5dGVzOwogICAgICAgICAgICAgIGlmIChmaWxlVmVyc2lvbiA+PSAzKSB7CiAgICAgICAgICAgICAgICBsdXRBcnIgPSBCaXRTdHVmZmVyLnVuc3R1ZmZMVVQyKGx1dERhdGEsIG51bUJpdHMsIGx1dEJ5dGVzIC0gMSwgb2Zmc2V0LCBzY2FsZSwgek1heCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgbHV0QXJyID0gQml0U3R1ZmZlci51bnN0dWZmTFVUKGx1dERhdGEsIG51bUJpdHMsIGx1dEJ5dGVzIC0gMSwgb2Zmc2V0LCBzY2FsZSwgek1heCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIC8vbHV0QXJyLnVuc2hpZnQoMCk7CiAgICAgICAgICAgICAgaWYgKGZpbGVWZXJzaW9uID49IDMpIHsKICAgICAgICAgICAgICAgIC8vQml0U3R1ZmZlci51bnN0dWZmMihibG9jaywgYmxvY2tEYXRhQnVmZmVyLCBoZWFkZXJJbmZvLnpNYXgpOwogICAgICAgICAgICAgICAgQml0U3R1ZmZlci51bnN0dWZmMihzdHVmZmVkRGF0YSwgYmxvY2tEYXRhQnVmZmVyLCBiaXRzUGVyUGl4ZWwsIG51bUVsZW1lbnRzLCBsdXRBcnIpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIEJpdFN0dWZmZXIudW5zdHVmZihzdHVmZmVkRGF0YSwgYmxvY2tEYXRhQnVmZmVyLCBiaXRzUGVyUGl4ZWwsIG51bUVsZW1lbnRzLCBsdXRBcnIpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAvL2NvbnNvbGUuZGVidWcoImJpdHN0dWZmZXIiKTsKICAgICAgICAgICAgICBkYXRhLmNvdW50ZXIuYml0c3R1ZmZlcisrOwogICAgICAgICAgICAgIGJpdHNQZXJQaXhlbCA9IG51bUJpdHM7CiAgICAgICAgICAgICAgZGF0YS5wdHIgKz0gYmxvY2tQdHI7CiAgICAgICAgICAgICAgaWYgKGJpdHNQZXJQaXhlbCA+IDApIHsKICAgICAgICAgICAgICAgIGRhdGFCeXRlcyA9IE1hdGguY2VpbChudW1FbGVtZW50cyAqIGJpdHNQZXJQaXhlbCAvIDgpOwogICAgICAgICAgICAgICAgZGF0YVdvcmRzID0gTWF0aC5jZWlsKGRhdGFCeXRlcyAvIDQpOwogICAgICAgICAgICAgICAgYXJyYXlCdWYgPSBuZXcgQXJyYXlCdWZmZXIoZGF0YVdvcmRzICogNCk7CiAgICAgICAgICAgICAgICBzdG9yZTggPSBuZXcgVWludDhBcnJheShhcnJheUJ1Zik7CiAgICAgICAgICAgICAgICBzdG9yZTguc2V0KG5ldyBVaW50OEFycmF5KGlucHV0LCBkYXRhLnB0ciwgZGF0YUJ5dGVzKSk7CiAgICAgICAgICAgICAgICBzdHVmZmVkRGF0YSA9IG5ldyBVaW50MzJBcnJheShhcnJheUJ1Zik7CiAgICAgICAgICAgICAgICBkYXRhLnB0ciArPSBkYXRhQnl0ZXM7CiAgICAgICAgICAgICAgICBpZiAoZmlsZVZlcnNpb24gPj0gMykgewogICAgICAgICAgICAgICAgICBpZiAob2Zmc2V0ID09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICBCaXRTdHVmZmVyLm9yaWdpbmFsVW5zdHVmZjIoc3R1ZmZlZERhdGEsIGJsb2NrRGF0YUJ1ZmZlciwgYml0c1BlclBpeGVsLCBudW1FbGVtZW50cyk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgQml0U3R1ZmZlci51bnN0dWZmMihzdHVmZmVkRGF0YSwgYmxvY2tEYXRhQnVmZmVyLCBiaXRzUGVyUGl4ZWwsIG51bUVsZW1lbnRzLCBmYWxzZSwgb2Zmc2V0LCBzY2FsZSwgek1heCk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICBpZiAob2Zmc2V0ID09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICBCaXRTdHVmZmVyLm9yaWdpbmFsVW5zdHVmZihzdHVmZmVkRGF0YSwgYmxvY2tEYXRhQnVmZmVyLCBiaXRzUGVyUGl4ZWwsIG51bUVsZW1lbnRzKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBCaXRTdHVmZmVyLnVuc3R1ZmYoc3R1ZmZlZERhdGEsIGJsb2NrRGF0YUJ1ZmZlciwgYml0c1BlclBpeGVsLCBudW1FbGVtZW50cywgZmFsc2UsIG9mZnNldCwgc2NhbGUsIHpNYXgpOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CgogICAgICAgIH0sCgogICAgICAgIHJlYWRUaWxlczogZnVuY3Rpb24oaW5wdXQsIGRhdGEsIE91dFBpeGVsVHlwZUFycmF5KSB7CiAgICAgICAgICB2YXIgaGVhZGVySW5mbyA9IGRhdGEuaGVhZGVySW5mbzsKICAgICAgICAgIHZhciB3aWR0aCA9IGhlYWRlckluZm8ud2lkdGg7CiAgICAgICAgICB2YXIgaGVpZ2h0ID0gaGVhZGVySW5mby5oZWlnaHQ7CiAgICAgICAgICB2YXIgbWljcm9CbG9ja1NpemUgPSBoZWFkZXJJbmZvLm1pY3JvQmxvY2tTaXplOwogICAgICAgICAgdmFyIGltYWdlVHlwZSA9IGhlYWRlckluZm8uaW1hZ2VUeXBlOwogICAgICAgICAgdmFyIGRhdGFUeXBlU2l6ZSA9IExlcmMySGVscGVycy5nZXREYXRhVHlwZVNpemUoaW1hZ2VUeXBlKTsKICAgICAgICAgIHZhciBudW1CbG9ja3NYID0gTWF0aC5jZWlsKHdpZHRoIC8gbWljcm9CbG9ja1NpemUpOwogICAgICAgICAgdmFyIG51bUJsb2Nrc1kgPSBNYXRoLmNlaWwoaGVpZ2h0IC8gbWljcm9CbG9ja1NpemUpOwogICAgICAgICAgZGF0YS5waXhlbHMubnVtQmxvY2tzWSA9IG51bUJsb2Nrc1k7CiAgICAgICAgICBkYXRhLnBpeGVscy5udW1CbG9ja3NYID0gbnVtQmxvY2tzWDsKICAgICAgICAgIGRhdGEucGl4ZWxzLnB0ciA9IDA7CiAgICAgICAgICB2YXIgcm93ID0gMCwgY29sID0gMCwgYmxvY2tZID0gMCwgYmxvY2tYID0gMCwgdGhpc0Jsb2NrSGVpZ2h0ID0gMCwgdGhpc0Jsb2NrV2lkdGggPSAwLCBieXRlc0xlZnQgPSAwLCBoZWFkZXJCeXRlID0gMCwgYml0czY3ID0gMCwgdGVzdENvZGUgPSAwLCBvdXRQdHIgPSAwLCBvdXRTdHJpZGUgPSAwLCBudW1CeXRlcyA9IDAsIGJ5dGVzbGVmdCA9IDAsIHogPSAwLCBibG9ja1B0ciA9IDA7CiAgICAgICAgICB2YXIgdmlldywgYmxvY2ssIGFycmF5QnVmLCBzdG9yZTgsIHJhd0RhdGE7CiAgICAgICAgICB2YXIgYmxvY2tFbmNvZGluZzsKICAgICAgICAgIHZhciBibG9ja0RhdGFCdWZmZXIgPSBuZXcgT3V0UGl4ZWxUeXBlQXJyYXkobWljcm9CbG9ja1NpemUgKiBtaWNyb0Jsb2NrU2l6ZSk7CiAgICAgICAgICB2YXIgbGFzdEJsb2NrSGVpZ2h0ID0gKGhlaWdodCAlIG1pY3JvQmxvY2tTaXplKSB8fCBtaWNyb0Jsb2NrU2l6ZTsKICAgICAgICAgIHZhciBsYXN0QmxvY2tXaWR0aCA9ICh3aWR0aCAlIG1pY3JvQmxvY2tTaXplKSB8fCBtaWNyb0Jsb2NrU2l6ZTsKICAgICAgICAgIHZhciBvZmZzZXRUeXBlLCBvZmZzZXQ7CiAgICAgICAgICB2YXIgbnVtRGltcyA9IGhlYWRlckluZm8ubnVtRGltcywgaURpbTsKICAgICAgICAgIHZhciBtYXNrID0gZGF0YS5waXhlbHMucmVzdWx0TWFzazsKICAgICAgICAgIHZhciByZXN1bHRQaXhlbHMgPSBkYXRhLnBpeGVscy5yZXN1bHRQaXhlbHM7CiAgICAgICAgICBmb3IgKGJsb2NrWSA9IDA7IGJsb2NrWSA8IG51bUJsb2Nrc1k7IGJsb2NrWSsrKSB7CiAgICAgICAgICAgIHRoaXNCbG9ja0hlaWdodCA9IChibG9ja1kgIT09IG51bUJsb2Nrc1kgLSAxKSA/IG1pY3JvQmxvY2tTaXplIDogbGFzdEJsb2NrSGVpZ2h0OwogICAgICAgICAgICBmb3IgKGJsb2NrWCA9IDA7IGJsb2NrWCA8IG51bUJsb2Nrc1g7IGJsb2NrWCsrKSB7CiAgICAgICAgICAgICAgLy9jb25zb2xlLmRlYnVnKCJ5IiArIGJsb2NrWSArICIgeCIgKyBibG9ja1gpOwogICAgICAgICAgICAgIHRoaXNCbG9ja1dpZHRoID0gKGJsb2NrWCAhPT0gbnVtQmxvY2tzWCAtIDEpID8gbWljcm9CbG9ja1NpemUgOiBsYXN0QmxvY2tXaWR0aDsKCiAgICAgICAgICAgICAgb3V0UHRyID0gYmxvY2tZICogd2lkdGggKiBtaWNyb0Jsb2NrU2l6ZSArIGJsb2NrWCAqIG1pY3JvQmxvY2tTaXplOwogICAgICAgICAgICAgIG91dFN0cmlkZSA9IHdpZHRoIC0gdGhpc0Jsb2NrV2lkdGg7CgoKICAgICAgICAgICAgICBmb3IgKGlEaW0gPSAwOyBpRGltIDwgbnVtRGltczsgaURpbSsrKSB7CiAgICAgICAgICAgICAgICBpZiAobnVtRGltcyA+IDEpIHsKICAgICAgICAgICAgICAgICAgcmVzdWx0UGl4ZWxzID0gbmV3IE91dFBpeGVsVHlwZUFycmF5KGRhdGEucGl4ZWxzLnJlc3VsdFBpeGVscy5idWZmZXIsIHdpZHRoICogaGVpZ2h0ICogaURpbSAqIGRhdGFUeXBlU2l6ZSwgd2lkdGggKiBoZWlnaHQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnl0ZXNMZWZ0ID0gaW5wdXQuYnl0ZUxlbmd0aCAtIGRhdGEucHRyOwogICAgICAgICAgICAgICAgdmlldyA9IG5ldyBEYXRhVmlldyhpbnB1dCwgZGF0YS5wdHIsIE1hdGgubWluKDEwLCBieXRlc0xlZnQpKTsKICAgICAgICAgICAgICAgIGJsb2NrID0ge307CiAgICAgICAgICAgICAgICBibG9ja1B0ciA9IDA7CiAgICAgICAgICAgICAgICBoZWFkZXJCeXRlID0gdmlldy5nZXRVaW50OCgwKTsKICAgICAgICAgICAgICAgIGJsb2NrUHRyKys7CiAgICAgICAgICAgICAgICBiaXRzNjcgPSAoaGVhZGVyQnl0ZSA+PiA2KSAmIDB4RkY7CiAgICAgICAgICAgICAgICB0ZXN0Q29kZSA9IChoZWFkZXJCeXRlID4+IDIpICYgMTU7ICAgIC8vIHVzZSBiaXRzIDIzNDUgZm9yIGludGVncml0eSBjaGVjawogICAgICAgICAgICAgICAgaWYgKHRlc3RDb2RlICE9PSAoKChibG9ja1ggKiBtaWNyb0Jsb2NrU2l6ZSkgPj4gMykgJiAxNSkpIHsKICAgICAgICAgICAgICAgICAgdGhyb3cgImludGVncml0eSBpc3N1ZSI7CiAgICAgICAgICAgICAgICAgIC8vcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGJsb2NrRW5jb2RpbmcgPSBoZWFkZXJCeXRlICYgMzsKICAgICAgICAgICAgICAgIGlmIChibG9ja0VuY29kaW5nID4gMykgewogICAgICAgICAgICAgICAgICBkYXRhLnB0ciArPSBibG9ja1B0cjsKICAgICAgICAgICAgICAgICAgdGhyb3cgIkludmFsaWQgYmxvY2sgZW5jb2RpbmcgKCIgKyBibG9ja0VuY29kaW5nICsgIikiOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSBpZiAoYmxvY2tFbmNvZGluZyA9PT0gMikgeyAvL2NvbnN0YW50IDAKICAgICAgICAgICAgICAgICAgZGF0YS5jb3VudGVyLmNvbnN0YW50Kys7CiAgICAgICAgICAgICAgICAgIGRhdGEucHRyICs9IGJsb2NrUHRyOwogICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKGJsb2NrRW5jb2RpbmcgPT09IDApIHsgIC8vdW5jb21wcmVzc2VkCiAgICAgICAgICAgICAgICAgIGRhdGEuY291bnRlci51bmNvbXByZXNzZWQrKzsKICAgICAgICAgICAgICAgICAgZGF0YS5wdHIgKz0gYmxvY2tQdHI7CiAgICAgICAgICAgICAgICAgIG51bUJ5dGVzID0gdGhpc0Jsb2NrSGVpZ2h0ICogdGhpc0Jsb2NrV2lkdGggKiBkYXRhVHlwZVNpemU7CiAgICAgICAgICAgICAgICAgIGJ5dGVzbGVmdCA9IGlucHV0LmJ5dGVMZW5ndGggLSBkYXRhLnB0cjsKICAgICAgICAgICAgICAgICAgbnVtQnl0ZXMgPSBudW1CeXRlcyA8IGJ5dGVzbGVmdCA/IG51bUJ5dGVzIDogYnl0ZXNsZWZ0OwogICAgICAgICAgICAgICAgICAvL2JpdCBhbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgYXJyYXlCdWYgPSBuZXcgQXJyYXlCdWZmZXIoKG51bUJ5dGVzICUgZGF0YVR5cGVTaXplKSA9PT0gMCA/IG51bUJ5dGVzIDogKG51bUJ5dGVzICsgZGF0YVR5cGVTaXplIC0gbnVtQnl0ZXMgJSBkYXRhVHlwZVNpemUpKTsKICAgICAgICAgICAgICAgICAgc3RvcmU4ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlCdWYpOwogICAgICAgICAgICAgICAgICBzdG9yZTguc2V0KG5ldyBVaW50OEFycmF5KGlucHV0LCBkYXRhLnB0ciwgbnVtQnl0ZXMpKTsKICAgICAgICAgICAgICAgICAgcmF3RGF0YSA9IG5ldyBPdXRQaXhlbFR5cGVBcnJheShhcnJheUJ1Zik7CiAgICAgICAgICAgICAgICAgIHogPSAwOwogICAgICAgICAgICAgICAgICBpZiAobWFzaykgewogICAgICAgICAgICAgICAgICAgIGZvciAocm93ID0gMDsgcm93IDwgdGhpc0Jsb2NrSGVpZ2h0OyByb3crKykgewogICAgICAgICAgICAgICAgICAgICAgZm9yIChjb2wgPSAwOyBjb2wgPCB0aGlzQmxvY2tXaWR0aDsgY29sKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1hc2tbb3V0UHRyXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdFBpeGVsc1tvdXRQdHJdID0gcmF3RGF0YVt6KytdOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIG91dFB0cisrOwogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgb3V0UHRyICs9IG91dFN0cmlkZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgZWxzZSB7Ly9hbGwgdmFsaWQKICAgICAgICAgICAgICAgICAgICBmb3IgKHJvdyA9IDA7IHJvdyA8IHRoaXNCbG9ja0hlaWdodDsgcm93KyspIHsKICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29sID0gMDsgY29sIDwgdGhpc0Jsb2NrV2lkdGg7IGNvbCsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdFBpeGVsc1tvdXRQdHIrK10gPSByYXdEYXRhW3orK107CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICBvdXRQdHIgKz0gb3V0U3RyaWRlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBkYXRhLnB0ciArPSB6ICogZGF0YVR5cGVTaXplOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7IC8vMSBvciAzCiAgICAgICAgICAgICAgICAgIG9mZnNldFR5cGUgPSBMZXJjMkhlbHBlcnMuZ2V0RGF0YVR5cGVVc2VkKGltYWdlVHlwZSwgYml0czY3KTsKICAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gTGVyYzJIZWxwZXJzLmdldE9uZVBpeGVsKGJsb2NrLCBibG9ja1B0ciwgb2Zmc2V0VHlwZSwgdmlldyk7CiAgICAgICAgICAgICAgICAgIGJsb2NrUHRyICs9IExlcmMySGVscGVycy5nZXREYXRhVHlwZVNpemUob2Zmc2V0VHlwZSk7CiAgICAgICAgICAgICAgICAgIGlmIChibG9ja0VuY29kaW5nID09PSAzKSAvL2NvbnN0YW50IG9mZnNldCB2YWx1ZQogICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZGF0YS5wdHIgKz0gYmxvY2tQdHI7CiAgICAgICAgICAgICAgICAgICAgZGF0YS5jb3VudGVyLmNvbnN0YW50b2Zmc2V0Kys7CiAgICAgICAgICAgICAgICAgICAgLy95b3UgY2FuIGRlbGV0ZSB0aGUgZm9sbG93aW5nIHJlc3VsdE1hc2sgY2FzZSBpbiBmYXZvciBvZiBwZXJmb3JtYW5jZSBiZWNhdXNlIHZhbCBpcyBjb25zdGFudCBhbmQgdXNlcnMgdXNlIG5vZGF0YSBtYXNrLCBvdGhlcndpc2Ugbm9kYXRhdmFsdWUgcG9zdCBwcm9jZXNzaW5nIGhhbmRsZXMgaXQgdG9vLgogICAgICAgICAgICAgICAgICAgIC8vd2hpbGUgdGhlIGFib3ZlIHN0YXRlbWVudCBpcyB0cnVlLCB3ZSdyZSBub3QgZG9pbmcgaXQgYXMgd2Ugd2FudCB0byBrZWVwIGludmFsaWQgcGl4ZWwgdmFsdWUgYXQgMCByYXRoZXIgdGhhbiBhcmJpdHJhcnkgdmFsdWVzCiAgICAgICAgICAgICAgICAgICAgaWYgKG1hc2spIHsKICAgICAgICAgICAgICAgICAgICAgIGZvciAocm93ID0gMDsgcm93IDwgdGhpc0Jsb2NrSGVpZ2h0OyByb3crKykgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbCA9IDA7IGNvbCA8IHRoaXNCbG9ja1dpZHRoOyBjb2wrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXNrW291dFB0cl0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdFBpeGVsc1tvdXRQdHJdID0gb2Zmc2V0OwogICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRQdHIrKzsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBvdXRQdHIgKz0gb3V0U3RyaWRlOwogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgIGZvciAocm93ID0gMDsgcm93IDwgdGhpc0Jsb2NrSGVpZ2h0OyByb3crKykgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbCA9IDA7IGNvbCA8IHRoaXNCbG9ja1dpZHRoOyBjb2wrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdFBpeGVsc1tvdXRQdHIrK10gPSBvZmZzZXQ7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgb3V0UHRyICs9IG91dFN0cmlkZTsKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgZWxzZSB7IC8vYml0c3R1ZmYgZW5jb2RpbmcgaXMgMwogICAgICAgICAgICAgICAgICAgIGRhdGEucHRyICs9IGJsb2NrUHRyOwogICAgICAgICAgICAgICAgICAgIC8vaGVhdnkgbGlmdGluZwogICAgICAgICAgICAgICAgICAgIExlcmMySGVscGVycy5kZWNvZGVCaXRzKGlucHV0LCBkYXRhLCBibG9ja0RhdGFCdWZmZXIsIG9mZnNldCwgaURpbSk7CiAgICAgICAgICAgICAgICAgICAgYmxvY2tQdHIgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmIChtYXNrKSB7CiAgICAgICAgICAgICAgICAgICAgICBmb3IgKHJvdyA9IDA7IHJvdyA8IHRoaXNCbG9ja0hlaWdodDsgcm93KyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb2wgPSAwOyBjb2wgPCB0aGlzQmxvY2tXaWR0aDsgY29sKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWFza1tvdXRQdHJdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRQaXhlbHNbb3V0UHRyXSA9IGJsb2NrRGF0YUJ1ZmZlcltibG9ja1B0cisrXTsKICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0UHRyKys7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgb3V0UHRyICs9IG91dFN0cmlkZTsKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICBmb3IgKHJvdyA9IDA7IHJvdyA8IHRoaXNCbG9ja0hlaWdodDsgcm93KyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb2wgPSAwOyBjb2wgPCB0aGlzQmxvY2tXaWR0aDsgY29sKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRQaXhlbHNbb3V0UHRyKytdID0gYmxvY2tEYXRhQnVmZmVyW2Jsb2NrUHRyKytdOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIG91dFB0ciArPSBvdXRTdHJpZGU7CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgLyoqKioqKioqKioqKioqKioqCiAgICAgICAgKiAgcHJpdmF0ZSBtZXRob2RzIChoZWxwZXIgbWV0aG9kcykKICAgICAgICAqKioqKioqKioqKioqKioqKi8KCiAgICAgICAgZm9ybWF0RmlsZUluZm86IGZ1bmN0aW9uKGRhdGEpIHsKICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICJmaWxlSWRlbnRpZmllclN0cmluZyI6IGRhdGEuaGVhZGVySW5mby5maWxlSWRlbnRpZmllclN0cmluZywKICAgICAgICAgICAgImZpbGVWZXJzaW9uIjogZGF0YS5oZWFkZXJJbmZvLmZpbGVWZXJzaW9uLAogICAgICAgICAgICAiaW1hZ2VUeXBlIjogZGF0YS5oZWFkZXJJbmZvLmltYWdlVHlwZSwKICAgICAgICAgICAgImhlaWdodCI6IGRhdGEuaGVhZGVySW5mby5oZWlnaHQsCiAgICAgICAgICAgICJ3aWR0aCI6IGRhdGEuaGVhZGVySW5mby53aWR0aCwKICAgICAgICAgICAgIm51bVZhbGlkUGl4ZWwiOiBkYXRhLmhlYWRlckluZm8ubnVtVmFsaWRQaXhlbCwKICAgICAgICAgICAgIm1pY3JvQmxvY2tTaXplIjogZGF0YS5oZWFkZXJJbmZvLm1pY3JvQmxvY2tTaXplLAogICAgICAgICAgICAiYmxvYlNpemUiOiBkYXRhLmhlYWRlckluZm8uYmxvYlNpemUsCiAgICAgICAgICAgICJtYXhaRXJyb3IiOiBkYXRhLmhlYWRlckluZm8ubWF4WkVycm9yLAogICAgICAgICAgICAicGl4ZWxUeXBlIjogTGVyYzJIZWxwZXJzLmdldFBpeGVsVHlwZShkYXRhLmhlYWRlckluZm8uaW1hZ2VUeXBlKSwKICAgICAgICAgICAgImVvZk9mZnNldCI6IGRhdGEuZW9mT2Zmc2V0LAogICAgICAgICAgICAibWFzayI6IGRhdGEubWFzayA/IHsKICAgICAgICAgICAgICAibnVtQnl0ZXMiOiBkYXRhLm1hc2subnVtQnl0ZXMKICAgICAgICAgICAgfSA6IG51bGwsCiAgICAgICAgICAgICJwaXhlbHMiOiB7CiAgICAgICAgICAgICAgIm51bUJsb2Nrc1giOiBkYXRhLnBpeGVscy5udW1CbG9ja3NYLAogICAgICAgICAgICAgICJudW1CbG9ja3NZIjogZGF0YS5waXhlbHMubnVtQmxvY2tzWSwKICAgICAgICAgICAgICAvLyJudW1CeXRlcyI6IGRhdGEucGl4ZWxzLm51bUJ5dGVzLAogICAgICAgICAgICAgICJtYXhWYWx1ZSI6IGRhdGEuaGVhZGVySW5mby56TWF4LAogICAgICAgICAgICAgICJtaW5WYWx1ZSI6IGRhdGEuaGVhZGVySW5mby56TWluLAogICAgICAgICAgICAgICJub0RhdGFWYWx1ZSI6IGRhdGEubm9EYXRhVmFsdWUKICAgICAgICAgICAgfQogICAgICAgICAgfTsKICAgICAgICB9LAoKICAgICAgICBjb25zdHJ1Y3RDb25zdGFudFN1cmZhY2U6IGZ1bmN0aW9uKGRhdGEpIHsKICAgICAgICAgIHZhciB2YWwgPSBkYXRhLmhlYWRlckluZm8uek1heDsKICAgICAgICAgIHZhciBudW1EaW1zID0gIGRhdGEuaGVhZGVySW5mby5udW1EaW1zOwogICAgICAgICAgdmFyIG51bVBpeGVscyA9IGRhdGEuaGVhZGVySW5mby5oZWlnaHQgKiBkYXRhLmhlYWRlckluZm8ud2lkdGg7CiAgICAgICAgICB2YXIgbnVtUGl4ZWxBbGxEaW1zID0gbnVtUGl4ZWxzICogbnVtRGltczsKICAgICAgICAgIHZhciBpPTAsIGsgPSAwLCBuU3RhcnQ9MDsKICAgICAgICAgIHZhciBtYXNrID0gZGF0YS5waXhlbHMucmVzdWx0TWFzazsKICAgICAgICAgIGlmIChtYXNrKSB7CiAgICAgICAgICAgIGlmIChudW1EaW1zID4gMSkgewogICAgICAgICAgICAgIGZvciAoaT0wOyBpIDwgbnVtRGltczsgaSsrKSB7CiAgICAgICAgICAgICAgICBuU3RhcnQgPSBpICogbnVtUGl4ZWxzOwogICAgICAgICAgICAgICAgZm9yIChrID0gMDsgayA8IG51bVBpeGVsczsgaysrKSB7CiAgICAgICAgICAgICAgICAgIGlmIChtYXNrW2tdKSB7CiAgICAgICAgICAgICAgICAgICAgZGF0YS5waXhlbHMucmVzdWx0UGl4ZWxzW25TdGFydCArIGtdID0gdmFsOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgIGZvciAoayA9IDA7IGsgPCBudW1QaXhlbHM7IGsrKykgewogICAgICAgICAgICAgICAgaWYgKG1hc2tba10pIHsKICAgICAgICAgICAgICAgICAgZGF0YS5waXhlbHMucmVzdWx0UGl4ZWxzW2tdID0gdmFsOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGlmIChkYXRhLnBpeGVscy5yZXN1bHRQaXhlbHMuZmlsbCkgewogICAgICAgICAgICAgIGRhdGEucGl4ZWxzLnJlc3VsdFBpeGVscy5maWxsKHZhbCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgZm9yIChrID0gMDsgayA8IG51bVBpeGVsQWxsRGltczsgaysrKSB7CiAgICAgICAgICAgICAgICBkYXRhLnBpeGVscy5yZXN1bHRQaXhlbHNba10gPSB2YWw7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfSwKCiAgICAgICAgZ2V0RGF0YVR5cGVBcnJheTogZnVuY3Rpb24odCkgewogICAgICAgICAgdmFyIHRwOwogICAgICAgICAgc3dpdGNoICh0KSB7CiAgICAgICAgICAgIGNhc2UgMDogLy9jaGFyCiAgICAgICAgICAgICAgdHAgPSBJbnQ4QXJyYXk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTogLy9ieXRlCiAgICAgICAgICAgICAgdHAgPSBVaW50OEFycmF5OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDI6IC8vc2hvcnQKICAgICAgICAgICAgICB0cCA9IEludDE2QXJyYXk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMzogLy91c2hvcnQKICAgICAgICAgICAgICB0cCA9IFVpbnQxNkFycmF5OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgdHAgPSBJbnQzMkFycmF5OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDU6CiAgICAgICAgICAgICAgdHAgPSBVaW50MzJBcnJheTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA2OgogICAgICAgICAgICAgIHRwID0gRmxvYXQzMkFycmF5OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDc6CiAgICAgICAgICAgICAgdHAgPSBGbG9hdDY0QXJyYXk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgdHAgPSBGbG9hdDMyQXJyYXk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gdHA7CiAgICAgICAgfSwKCiAgICAgICAgZ2V0UGl4ZWxUeXBlOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICB2YXIgdHA7CiAgICAgICAgICBzd2l0Y2ggKHQpIHsKICAgICAgICAgICAgY2FzZSAwOiAvL2NoYXIKICAgICAgICAgICAgICB0cCA9ICJTOCI7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTogLy9ieXRlCiAgICAgICAgICAgICAgdHAgPSAiVTgiOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDI6IC8vc2hvcnQKICAgICAgICAgICAgICB0cCA9ICJTMTYiOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDM6IC8vdXNob3J0CiAgICAgICAgICAgICAgdHAgPSAiVTE2IjsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgIHRwID0gIlMzMiI7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNToKICAgICAgICAgICAgICB0cCA9ICJVMzIiOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDY6CiAgICAgICAgICAgICAgdHAgPSAiRjMyIjsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA3OgogICAgICAgICAgICAgIHRwID0gIkY2NCI7IC8vbm90IHN1cHBvcnRlZAogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIHRwID0gIkYzMiI7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gdHA7CiAgICAgICAgfSwKCiAgICAgICAgaXNWYWxpZFBpeGVsVmFsdWU6IGZ1bmN0aW9uKHQsIHZhbCkgewogICAgICAgICAgaWYgKHZhbCA9PSBudWxsKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBpc1ZhbGlkOwogICAgICAgICAgc3dpdGNoICh0KSB7CiAgICAgICAgICAgIGNhc2UgMDogLy9jaGFyCiAgICAgICAgICAgICAgaXNWYWxpZCA9IHZhbCA+PSAtMTI4ICYmIHZhbCA8PSAxMjc7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTogLy9ieXRlICAodW5zaWduZWQgY2hhcikKICAgICAgICAgICAgICBpc1ZhbGlkID0gdmFsID49IDAgJiYgdmFsIDw9IDI1NTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAyOiAvL3Nob3J0CiAgICAgICAgICAgICAgaXNWYWxpZCA9IHZhbCA+PSAtMzI3NjggJiYgdmFsIDw9IDMyNzY3OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDM6IC8vdXNob3J0CiAgICAgICAgICAgICAgaXNWYWxpZCA9IHZhbCA+PSAwICYmIHZhbCA8PSA2NTUzNjsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA0OiAvL2ludCAzMgogICAgICAgICAgICAgIGlzVmFsaWQgPSB2YWwgPj0gLTIxNDc0ODM2NDggJiYgdmFsIDw9IDIxNDc0ODM2NDc7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNTogLy91aW5pdCAzMgogICAgICAgICAgICAgIGlzVmFsaWQgPSB2YWwgPj0gMCAmJiB2YWwgPD0gNDI5NDk2NzI5NjsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA2OgogICAgICAgICAgICAgIGlzVmFsaWQgPSB2YWwgPj0gLTMuNDAyNzk5OTM4NzkwMTQ4NGUrMzggJiYgdmFsIDw9IDMuNDAyNzk5OTM4NzkwMTQ4NGUrMzg7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNzoKICAgICAgICAgICAgICBpc1ZhbGlkID0gdmFsID49IDVlLTMyNCAmJiB2YWwgPD0gMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDg7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgaXNWYWxpZCA9IGZhbHNlOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGlzVmFsaWQ7CiAgICAgICAgfSwKCiAgICAgICAgZ2V0RGF0YVR5cGVTaXplOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICB2YXIgcyA9IDA7CiAgICAgICAgICBzd2l0Y2ggKHQpIHsKICAgICAgICAgICAgY2FzZSAwOiAvL3VieXRlCiAgICAgICAgICAgIGNhc2UgMTogLy9ieXRlCiAgICAgICAgICAgICAgcyA9IDE7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMjogLy9zaG9ydAogICAgICAgICAgICBjYXNlIDM6IC8vdXNob3J0CiAgICAgICAgICAgICAgcyA9IDI7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgY2FzZSA1OgogICAgICAgICAgICBjYXNlIDY6CiAgICAgICAgICAgICAgcyA9IDQ7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNzoKICAgICAgICAgICAgICBzID0gODsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICBzID0gdDsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBzOwogICAgICAgIH0sCgogICAgICAgIGdldERhdGFUeXBlVXNlZDogZnVuY3Rpb24oZHQsIHRjKSB7CiAgICAgICAgICB2YXIgdCA9IGR0OwogICAgICAgICAgc3dpdGNoIChkdCkgewogICAgICAgICAgICBjYXNlIDI6IC8vc2hvcnQKICAgICAgICAgICAgY2FzZSA0OiAvL2xvbmcKICAgICAgICAgICAgICB0ID0gZHQgLSB0YzsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAzOiAvL3VzaG9ydAogICAgICAgICAgICBjYXNlIDU6IC8vdWxvbmcKICAgICAgICAgICAgICB0ID0gZHQgLSAyICogdGM7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNjogLy9mbG9hdAogICAgICAgICAgICAgIGlmICgwID09PSB0YykgewogICAgICAgICAgICAgICAgdCA9IGR0OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNlIGlmICgxID09PSB0YykgewogICAgICAgICAgICAgICAgdCA9IDI7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdCA9IDE7Ly9ieXRlCiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDc6IC8vZG91YmxlCiAgICAgICAgICAgICAgaWYgKDAgPT09IHRjKSB7CiAgICAgICAgICAgICAgICB0ID0gZHQ7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdCA9IGR0IC0gMiAqIHRjICsgMTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgdCA9IGR0OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHQ7CiAgICAgICAgfSwKCiAgICAgICAgZ2V0T25lUGl4ZWw6IGZ1bmN0aW9uKGJsb2NrLCBibG9ja1B0ciwgb2Zmc2V0VHlwZSwgdmlldykgewogICAgICAgICAgdmFyIHRlbXAgPSAwOwogICAgICAgICAgc3dpdGNoIChvZmZzZXRUeXBlKSB7CiAgICAgICAgICAgIGNhc2UgMDogLy9jaGFyCiAgICAgICAgICAgICAgdGVtcCA9IHZpZXcuZ2V0SW50OChibG9ja1B0cik7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTogLy9ieXRlCiAgICAgICAgICAgICAgdGVtcCA9IHZpZXcuZ2V0VWludDgoYmxvY2tQdHIpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgdGVtcCA9IHZpZXcuZ2V0SW50MTYoYmxvY2tQdHIsIHRydWUpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgICAgdGVtcCA9IHZpZXcuZ2V0VWludDE2KGJsb2NrUHRyLCB0cnVlKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgIHRlbXAgPSB2aWV3LmdldEludDMyKGJsb2NrUHRyLCB0cnVlKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA1OgogICAgICAgICAgICAgIHRlbXAgPSB2aWV3LmdldFVJbnQzMihibG9ja1B0ciwgdHJ1ZSk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNjoKICAgICAgICAgICAgICB0ZW1wID0gdmlldy5nZXRGbG9hdDMyKGJsb2NrUHRyLCB0cnVlKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA3OgogICAgICAgICAgICAgIC8vdGVtcCA9IHZpZXcuZ2V0RmxvYXQ2NChibG9ja1B0ciwgdHJ1ZSk7CiAgICAgICAgICAgICAgLy9ibG9ja1B0ciArPSA4OwogICAgICAgICAgICAgIC8vbGVyYzIgZW5jb2RpbmcgZG9lc250IGhhbmRsZSBmbG9hdCA2NCwgZm9yY2UgdG8gZmxvYXQzMj8/PwogICAgICAgICAgICAgIHRlbXAgPSB2aWV3LmdldEZsb2F0NjQoYmxvY2tQdHIsIHRydWUpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIHRocm93ICgidGhlIGRlY29kZXIgZG9lcyBub3QgdW5kZXJzdGFuZCB0aGlzIHBpeGVsIHR5cGUiKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiB0ZW1wOwogICAgICAgIH0KICAgICAgfTsKCiAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAgKnByaXZhdGUgY2xhc3MgZm9yIGEgdHJlZSBub2RlLiBIdWZmbWFuIGNvZGUgaXMgaW4gTGVyYzJIZWxwZXJzCiAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICAgIHZhciBUcmVlTm9kZSA9IGZ1bmN0aW9uKHZhbCwgbGVmdCwgcmlnaHQpIHsKICAgICAgICB0aGlzLnZhbCA9IHZhbDsKICAgICAgICB0aGlzLmxlZnQgPSBsZWZ0OwogICAgICAgIHRoaXMucmlnaHQgPSByaWdodDsKICAgICAgfTsKCiAgICAgIHZhciBMZXJjMkRlY29kZSA9IHsKICAgICAgICAvKgogICAgICAgICogKioqKioqKipyZW1vdmVkIG9wdGlvbnMgY29tcGFyZWQgdG8gTEVSQzEuIFdlIGNhbiBicmluZyBzb21lIG9mIHRoZW0gYmFjayBpZiBuZWVkZWQuCiAgICAgICAgICogcmVtb3ZlZCBwaXhlbCB0eXBlLiBMRVJDMiBpcyB0eXBlZCBhbmQgZG9lc24ndCByZXF1aXJlIHVzZXIgdG8gZ2l2ZSBwaXhlbCB0eXBlCiAgICAgICAgICogY2hhbmdlZCBlbmNvZGVkTWFza0RhdGEgdG8gbWFza0RhdGEuIExFUkMyICdzIGpzIHZlcnNpb24gbWFrZSBpdCBmYXN0ZXIgdG8gdXNlIG1hc2tEYXRhIGRpcmVjdGx5LgogICAgICAgICAqIHJlbW92ZWQgcmV0dXJuTWFzay4gbWFzayBpcyB1c2VkIGJ5IExFUkMyIGludGVybmFsbHkgYW5kIGlzIGNvc3QgZnJlZS4gSW4gY2FzZSBvZiB1c2VyIGlucHV0IG1hc2ssIGl0J3MgcmV0dXJuZWQgYXMgd2VsbCBhbmQgaGFzIG5lZ2xpYmxlIGNvc3QuCiAgICAgICAgICogcmVtb3ZlZCBub2RhdGF2YWx1ZS4gQmVjYXVzZSBMRVJDMiBwaXhlbHMgYXJlIHR5cGVkLCBub2RhdGF2YWx1ZSB3aWxsIHNhY3JpZnkgYSB1c2VmdWwgdmFsdWUgZm9yIG1hbnkgdHlwZXMgKDhiaXQsIDE2Yml0KSBldGMsCiAgICAgICAgICogICAgICAgdXNlciBoYXMgdG8gYmUga25vd2xlZGdhYmxlIGVub3VnaCBhYm91dCByYXN0ZXIgYW5kIHRoZWlyIGRhdGEgdG8gYXZvaWQgdXNhYmlsaXR5IGlzc3Vlcy4gc28gbm9kYXRhIHZhbHVlIGlzIHNpbXBseSByZW1vdmVkIG5vdy4KICAgICAgICAgKiAgICAgICBXZSBjYW4gYWRkIGl0IGJhY2sgbGF0ZXIgaWYgdGhlaXIncyBhIGNsZWFyIHJlcXVpcmVtZW50LgogICAgICAgICAqIHJlbW92ZWQgZW5jb2RlZE1hc2suIFRoaXMgb3B0aW9uIHdhcyBub3QgaW1wbGVtZW50ZWQgaW4gTGVyY0RlY29kZS4gSXQgY2FuIGJlIGRvbmUgYWZ0ZXIgZGVjb2RpbmcgKGxlc3MgZWZmaWNpZW50KQogICAgICAgICAqIHJlbW92ZWQgY29tcHV0ZVVzZWRCaXREZXB0aHMuCiAgICAgICAgICoKICAgICAgICAgKgogICAgICAgICAqIHJlc3BvbnNlIGNoYW5nZXMgY29tcGFyZWQgdG8gTEVSQzEKICAgICAgICAgKiAxLiBlbmNvZGVkTWFza0RhdGEgaXMgbm90IGF2YWlsYWJsZQogICAgICAgICAqIDIuIG5vRGF0YVZhbHVlIGlzIG9wdGlvbmFsIChyZXR1cm5zIG9ubHkgaWYgdXNlcidzIG5vRGF0YVZhbHVlIGlzIHdpdGggaW4gdGhlIHZhbGlkIGRhdGEgdHlwZSByYW5nZSkKICAgICAgICAgKiAzLiBtYXNrRGF0YSBpcyBhbHdheXMgYXZhaWxhYmxlCiAgICAgICAgKi8KICAgICAgICAvKioqKioqKioqKioqKioqKioKICAgICAgICAqICBwdWJsaWMgcHJvcGVydGllcwogICAgICAgICoqKioqKioqKioqKioqKioqKi8KICAgICAgICAvL0hVRkZNQU5fTFVUX0JJVFNfTUFYOiAxMiwgLy91c2UgMl4xMiBsdXQsIG5vdCBjb25maWd1cmFibGUKCiAgICAgICAgLyoqKioqKioqKioqKioqKioqCiAgICAgICAgKiAgcHVibGljIG1ldGhvZHMKICAgICAgICAqKioqKioqKioqKioqKioqKi8KCiAgICAgICAgLyoqCiAgICAgICAgICogRGVjb2RlIGEgTEVSQzIgYnl0ZSBzdHJlYW0gYW5kIHJldHVybiBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgcGl4ZWwgZGF0YSBhbmQgb3B0aW9uYWwgbWV0YWRhdGEuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge0FycmF5QnVmZmVyfSBpbnB1dCBUaGUgTEVSQyBpbnB1dCBieXRlIHN0cmVhbQogICAgICAgICAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9uc10gb3B0aW9ucyBEZWNvZGluZyBvcHRpb25zCiAgICAgICAgICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLmlucHV0T2Zmc2V0XSBUaGUgbnVtYmVyIG9mIGJ5dGVzIHRvIHNraXAgaW4gdGhlIGlucHV0IGJ5dGUgc3RyZWFtLiBBIHZhbGlkIExFUkMgZmlsZSBpcyBleHBlY3RlZCBhdCB0aGF0IHBvc2l0aW9uCiAgICAgICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5yZXR1cm5GaWxlSW5mb10gSWYgdHJ1ZSwgdGhlIHJldHVybiB2YWx1ZSB3aWxsIGhhdmUgYSBmaWxlSW5mbyBwcm9wZXJ0eSB0aGF0IGNvbnRhaW5zIG1ldGFkYXRhIG9idGFpbmVkIGZyb20gdGhlIExFUkMgaGVhZGVycyBhbmQgdGhlIGRlY29kaW5nIHByb2Nlc3MKICAgICAgICAgKi8KICAgICAgICBkZWNvZGU6IGZ1bmN0aW9uKC8qYnl0ZSBhcnJheSovIGlucHV0LCAvKm9iamVjdCovIG9wdGlvbnMpIHsKICAgICAgICAgIC8vY3VycmVudGx5IHRoZXJlJ3MgYSBidWcgaW4gdGhlIHNwYXJzZSBhcnJheSwgc28gcGxlYXNlIGRvIG5vdCBzZXQgdG8gZmFsc2UKICAgICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwogICAgICAgICAgdmFyIG5vRGF0YVZhbHVlID0gb3B0aW9ucy5ub0RhdGFWYWx1ZTsKCiAgICAgICAgICAvL2luaXRpYWxpemUKICAgICAgICAgIHZhciBpID0gMCwgZGF0YSA9IHt9OwogICAgICAgICAgZGF0YS5wdHIgPSBvcHRpb25zLmlucHV0T2Zmc2V0IHx8IDA7CiAgICAgICAgICBkYXRhLnBpeGVscyA9IHt9OwoKICAgICAgICAgIC8vIEZpbGUgaGVhZGVyCiAgICAgICAgICBpZiAoIUxlcmMySGVscGVycy5yZWFkSGVhZGVySW5mbyhpbnB1dCwgZGF0YSkpIDsKICAgICAgICAgIHZhciBoZWFkZXJJbmZvID0gZGF0YS5oZWFkZXJJbmZvOwogICAgICAgICAgdmFyIGZpbGVWZXJzaW9uID0gaGVhZGVySW5mby5maWxlVmVyc2lvbjsKICAgICAgICAgIHZhciBPdXRQaXhlbFR5cGVBcnJheSA9IExlcmMySGVscGVycy5nZXREYXRhVHlwZUFycmF5KGhlYWRlckluZm8uaW1hZ2VUeXBlKTsKCiAgICAgICAgICAvLyBNYXNrIEhlYWRlcgogICAgICAgICAgTGVyYzJIZWxwZXJzLnJlYWRNYXNrKGlucHV0LCBkYXRhKTsKICAgICAgICAgIGlmIChoZWFkZXJJbmZvLm51bVZhbGlkUGl4ZWwgIT09IGhlYWRlckluZm8ud2lkdGggKiBoZWFkZXJJbmZvLmhlaWdodCAmJiAhZGF0YS5waXhlbHMucmVzdWx0TWFzaykgewogICAgICAgICAgICBkYXRhLnBpeGVscy5yZXN1bHRNYXNrID0gb3B0aW9ucy5tYXNrRGF0YTsKICAgICAgICAgIH0KCiAgICAgICAgICB2YXIgbnVtUGl4ZWxzID0gaGVhZGVySW5mby53aWR0aCAqIGhlYWRlckluZm8uaGVpZ2h0OwogICAgICAgICAgZGF0YS5waXhlbHMucmVzdWx0UGl4ZWxzID0gbmV3IE91dFBpeGVsVHlwZUFycmF5KG51bVBpeGVscyAqIGhlYWRlckluZm8ubnVtRGltcyk7CgogICAgICAgICAgZGF0YS5jb3VudGVyID0gewogICAgICAgICAgICBvbmVzd2VlcDogMCwKICAgICAgICAgICAgdW5jb21wcmVzc2VkOiAwLAogICAgICAgICAgICBsdXQ6IDAsCiAgICAgICAgICAgIGJpdHN0dWZmZXI6IDAsCiAgICAgICAgICAgIGNvbnN0YW50OiAwLAogICAgICAgICAgICBjb25zdGFudG9mZnNldDogMAogICAgICAgICAgfTsKICAgICAgICAgIGlmIChoZWFkZXJJbmZvLm51bVZhbGlkUGl4ZWwgIT09IDApIHsKICAgICAgICAgICAgLy9ub3QgdGVzdGVkCiAgICAgICAgICAgIGlmIChoZWFkZXJJbmZvLnpNYXggPT09IGhlYWRlckluZm8uek1pbikgLy9jb25zdGFudCBzdXJmYWNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICBMZXJjMkhlbHBlcnMuY29uc3RydWN0Q29uc3RhbnRTdXJmYWNlKGRhdGEpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYgKGZpbGVWZXJzaW9uID49IDQgJiYgTGVyYzJIZWxwZXJzLmNoZWNrTWluTWF4UmFuZ2VzKGlucHV0LCBkYXRhKSkgewogICAgICAgICAgICAgIExlcmMySGVscGVycy5jb25zdHJ1Y3RDb25zdGFudFN1cmZhY2UoZGF0YSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgdmFyIHZpZXcgPSBuZXcgRGF0YVZpZXcoaW5wdXQsIGRhdGEucHRyLCAyKTsKICAgICAgICAgICAgICB2YXIgYlJlYWREYXRhT25lU3dlZXAgPSB2aWV3LmdldFVpbnQ4KDApOwogICAgICAgICAgICAgIGRhdGEucHRyKys7CiAgICAgICAgICAgICAgaWYgKGJSZWFkRGF0YU9uZVN3ZWVwKSB7CiAgICAgICAgICAgICAgICAvL2NvbnNvbGUuZGVidWcoIk9uZVN3ZWVwIik7CiAgICAgICAgICAgICAgICBMZXJjMkhlbHBlcnMucmVhZERhdGFPbmVTd2VlcChpbnB1dCwgZGF0YSwgT3V0UGl4ZWxUeXBlQXJyYXkpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIC8vbGVyYzIuMTogLy9iaXRzdHVmZmluZyArIGx1dAogICAgICAgICAgICAgICAgLy9sZXJjMi4yOiAvL2JpdHN0dWZmaW5nICsgbHV0ICsgaHVmZm1hbgogICAgICAgICAgICAgICAgLy9sZXJjMi4zOiBuZXcgYml0c3R1ZmZlcgogICAgICAgICAgICAgICAgaWYgKGZpbGVWZXJzaW9uID4gMSAmJiBoZWFkZXJJbmZvLmltYWdlVHlwZSA8PSAxICYmIE1hdGguYWJzKGhlYWRlckluZm8ubWF4WkVycm9yIC0gMC41KSA8IDAuMDAwMDEpIHsKICAgICAgICAgICAgICAgICAgLy90aGlzIGlzIDIueCBwbHVzIDggYml0ICh1bnNpZ25lZCBhbmQgc2lnbmVkKSBkYXRhLCBwb3NzaWJsaXR5IG9mIEh1ZmZtYW4KICAgICAgICAgICAgICAgICAgdmFyIGZsYWdIdWZmbWFuID0gdmlldy5nZXRVaW50OCgxKTsKICAgICAgICAgICAgICAgICAgZGF0YS5wdHIrKzsKICAgICAgICAgICAgICAgICAgZGF0YS5lbmNvZGVNb2RlID0gZmxhZ0h1ZmZtYW47CiAgICAgICAgICAgICAgICAgIGlmIChmbGFnSHVmZm1hbiA+IDIgfHwgKGZpbGVWZXJzaW9uIDwgNCAmJiBmbGFnSHVmZm1hbiA+IDEpKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgIkludmFsaWQgSHVmZm1hbiBmbGFnICIgKyBmbGFnSHVmZm1hbjsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBpZiAoZmxhZ0h1ZmZtYW4pIHsvLzEgLSBkZWx0YSBIdWZmbWFuLCAyIC0gSHVmZm1hbgogICAgICAgICAgICAgICAgICAgIC8vY29uc29sZS5sb2coIkh1ZmZtYW4iKTsKICAgICAgICAgICAgICAgICAgICBMZXJjMkhlbHBlcnMucmVhZEh1ZmZtYW4oaW5wdXQsIGRhdGEsIE91dFBpeGVsVHlwZUFycmF5KTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKCJUaWxlcyIpOwogICAgICAgICAgICAgICAgICAgIExlcmMySGVscGVycy5yZWFkVGlsZXMoaW5wdXQsIGRhdGEsIE91dFBpeGVsVHlwZUFycmF5KTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7IC8vbGVyYzIueCBub24tOCBiaXQgZGF0YQogICAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKCJUaWxlcyIpOwogICAgICAgICAgICAgICAgICBMZXJjMkhlbHBlcnMucmVhZFRpbGVzKGlucHV0LCBkYXRhLCBPdXRQaXhlbFR5cGVBcnJheSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CgogICAgICAgICAgZGF0YS5lb2ZPZmZzZXQgPSBkYXRhLnB0cjsKICAgICAgICAgIHZhciBkaWZmOwogICAgICAgICAgaWYgKG9wdGlvbnMuaW5wdXRPZmZzZXQpIHsKICAgICAgICAgICAgZGlmZiA9IGRhdGEuaGVhZGVySW5mby5ibG9iU2l6ZSArIG9wdGlvbnMuaW5wdXRPZmZzZXQgLSBkYXRhLnB0cjsKICAgICAgICAgICAgaWYgKE1hdGguYWJzKGRpZmYpID49IDEpIHsKICAgICAgICAgICAgICAvL2NvbnNvbGUuZGVidWcoImluY29ycmVjdCBlb2Y6IGRhdGFwdHIgIiArIGRhdGEucHRyICsgIiBvZmZzZXQgIiArIG9wdGlvbnMuaW5wdXRPZmZzZXQgKyAiIGJsb2JzaXplICIgKyBkYXRhLmhlYWRlckluZm8uYmxvYlNpemUgKyAiIGRpZmY6ICIgKyBkaWZmKTsKICAgICAgICAgICAgICBkYXRhLmVvZk9mZnNldCA9IG9wdGlvbnMuaW5wdXRPZmZzZXQgKyBkYXRhLmhlYWRlckluZm8uYmxvYlNpemU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgewogICAgICAgICAgICBkaWZmID0gZGF0YS5oZWFkZXJJbmZvLmJsb2JTaXplIC0gZGF0YS5wdHI7CiAgICAgICAgICAgIGlmIChNYXRoLmFicyhkaWZmKSA+PSAxKSB7CiAgICAgICAgICAgICAgLy9jb25zb2xlLmRlYnVnKCJpbmNvcnJlY3QgZmlyc3QgYmFuZCBlb2Y6IGRhdGFwdHIgIiArIGRhdGEucHRyICsgIiBibG9ic2l6ZSAiICsgZGF0YS5oZWFkZXJJbmZvLmJsb2JTaXplICsgIiBkaWZmOiAiICsgZGlmZik7CiAgICAgICAgICAgICAgZGF0YS5lb2ZPZmZzZXQgPSBkYXRhLmhlYWRlckluZm8uYmxvYlNpemU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KCiAgICAgICAgICB2YXIgcmVzdWx0ID0gewogICAgICAgICAgICB3aWR0aDogaGVhZGVySW5mby53aWR0aCwKICAgICAgICAgICAgaGVpZ2h0OiBoZWFkZXJJbmZvLmhlaWdodCwKICAgICAgICAgICAgcGl4ZWxEYXRhOiBkYXRhLnBpeGVscy5yZXN1bHRQaXhlbHMsCiAgICAgICAgICAgIG1pblZhbHVlOiBoZWFkZXJJbmZvLnpNaW4sCiAgICAgICAgICAgIG1heFZhbHVlOiBoZWFkZXJJbmZvLnpNYXgsCiAgICAgICAgICAgIHZhbGlkUGl4ZWxDb3VudDogaGVhZGVySW5mby5udW1WYWxpZFBpeGVsLAogICAgICAgICAgICBkaW1Db3VudDogaGVhZGVySW5mby5udW1EaW1zLAogICAgICAgICAgICBkaW1TdGF0czogewogICAgICAgICAgICAgIG1pblZhbHVlczogaGVhZGVySW5mby5taW5WYWx1ZXMsCiAgICAgICAgICAgICAgbWF4VmFsdWVzOiBoZWFkZXJJbmZvLm1heFZhbHVlcwogICAgICAgICAgICB9LAogICAgICAgICAgICBtYXNrRGF0YTogZGF0YS5waXhlbHMucmVzdWx0TWFzawogICAgICAgICAgICAvL25vRGF0YVZhbHVlOiBub0RhdGFWYWx1ZQogICAgICAgICAgfTsKCiAgICAgICAgICAvL3dlIHNob3VsZCByZW1vdmUgdGhpcyBpZiB0aGVyZSdzIG5vIGV4aXN0aW5nIGNsaWVudAogICAgICAgICAgLy9vcHRpb25hbCBub0RhdGFWYWx1ZSBwcm9jZXNzaW5nLCBpdCdzIHVzZXIncyByZXNwb25zaWJsaXR5CiAgICAgICAgICBpZiAoZGF0YS5waXhlbHMucmVzdWx0TWFzayAmJiBMZXJjMkhlbHBlcnMuaXNWYWxpZFBpeGVsVmFsdWUoaGVhZGVySW5mby5pbWFnZVR5cGUsIG5vRGF0YVZhbHVlKSkgewogICAgICAgICAgICB2YXIgbWFzayA9IGRhdGEucGl4ZWxzLnJlc3VsdE1hc2s7CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1QaXhlbHM7IGkrKykgewogICAgICAgICAgICAgIGlmICghbWFza1tpXSkgewogICAgICAgICAgICAgICAgcmVzdWx0LnBpeGVsRGF0YVtpXSA9IG5vRGF0YVZhbHVlOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXN1bHQubm9EYXRhVmFsdWUgPSBub0RhdGFWYWx1ZTsKICAgICAgICAgIH0KICAgICAgICAgIGRhdGEubm9EYXRhVmFsdWUgPSBub0RhdGFWYWx1ZTsKICAgICAgICAgIGlmIChvcHRpb25zLnJldHVybkZpbGVJbmZvKSB7CiAgICAgICAgICAgIHJlc3VsdC5maWxlSW5mbyA9IExlcmMySGVscGVycy5mb3JtYXRGaWxlSW5mbyhkYXRhKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgfSwKCiAgICAgICAgZ2V0QmFuZENvdW50OiBmdW5jdGlvbigvKmJ5dGUgYXJyYXkqLyBpbnB1dCkgewogICAgICAgICAgdmFyIGNvdW50ID0gMDsKICAgICAgICAgIHZhciBpID0gMDsKICAgICAgICAgIHZhciB0ZW1wID0ge307CiAgICAgICAgICB0ZW1wLnB0ciA9IDA7CiAgICAgICAgICB0ZW1wLnBpeGVscyA9IHt9OwogICAgICAgICAgd2hpbGUgKGkgPCBpbnB1dC5ieXRlTGVuZ3RoIC0gNTgpIHsKICAgICAgICAgICAgTGVyYzJIZWxwZXJzLnJlYWRIZWFkZXJJbmZvKGlucHV0LCB0ZW1wKTsKICAgICAgICAgICAgaSArPSB0ZW1wLmhlYWRlckluZm8uYmxvYlNpemU7CiAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgIHRlbXAucHRyID0gaTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBjb3VudDsKICAgICAgICB9CiAgICAgIH07CgogICAgICByZXR1cm4gTGVyYzJEZWNvZGU7CiAgICB9KSgpOwoKICAgIHZhciBpc1BsYXRmb3JtTGl0dGxlRW5kaWFuID0gKGZ1bmN0aW9uKCkgewogICAgICB2YXIgYSA9IG5ldyBBcnJheUJ1ZmZlcig0KTsKICAgICAgdmFyIGIgPSBuZXcgVWludDhBcnJheShhKTsKICAgICAgdmFyIGMgPSBuZXcgVWludDMyQXJyYXkoYSk7CiAgICAgIGNbMF0gPSAxOwogICAgICByZXR1cm4gYlswXSA9PT0gMTsKICAgIH0pKCk7CgogICAgdmFyIExlcmMgPSB7CiAgICAgIC8qKioqKioqKioqKip3cmFwcGVyKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgICAgLyoqCiAgICAgICAqIEEgd3JhcHBlciBmb3IgZGVjb2RpbmcgYm90aCBMRVJDMSBhbmQgTEVSQzIgYnl0ZSBzdHJlYW1zIGNhcGFibGUgb2YgaGFuZGxpbmcgbXVsdGliYW5kIHBpeGVsIGJsb2NrcyBmb3IgdmFyaW91cyBwaXhlbCB0eXBlcy4KICAgICAgICoKICAgICAgICogQGFsaWFzIG1vZHVsZTpMZXJjCiAgICAgICAqIEBwYXJhbSB7QXJyYXlCdWZmZXJ9IGlucHV0IFRoZSBMRVJDIGlucHV0IGJ5dGUgc3RyZWFtCiAgICAgICAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9uc10gVGhlIGRlY29kaW5nIG9wdGlvbnMgYmVsb3cgYXJlIG9wdGlvbmFsLgogICAgICAgKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMuaW5wdXRPZmZzZXRdIFRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gc2tpcCBpbiB0aGUgaW5wdXQgYnl0ZSBzdHJlYW0uIEEgdmFsaWQgTGVyYyBmaWxlIGlzIGV4cGVjdGVkIGF0IHRoYXQgcG9zaXRpb24uCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5waXhlbFR5cGVdIChMRVJDMSBvbmx5KSBEZWZhdWx0IHZhbHVlIGlzIEYzMi4gVmFsaWQgcGl4ZWwgdHlwZXMgZm9yIGlucHV0IGFyZSBVOC9TOC9TMTYvVTE2L1MzMi9VMzIvRjMyLgogICAgICAgKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMubm9EYXRhVmFsdWVdIChMRVJDMSBvbmx5KS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHRoZSByZXR1cm5lZCBtYXNrIGluc3RlYWQgb2Ygc2V0dGluZyB0aGlzIHZhbHVlLgogICAgICAgKiBAcmV0dXJucyB7e3dpZHRoLCBoZWlnaHQsIHBpeGVscywgcGl4ZWxUeXBlLCBtYXNrLCBzdGF0aXN0aWNzfX0KICAgICAgICAgKiBAcHJvcGVydHkge251bWJlcn0gd2lkdGggV2lkdGggb2YgZGVjb2RlZCBpbWFnZS4KICAgICAgICAgKiBAcHJvcGVydHkge251bWJlcn0gaGVpZ2h0IEhlaWdodCBvZiBkZWNvZGVkIGltYWdlLgogICAgICAgICAqIEBwcm9wZXJ0eSB7YXJyYXl9IHBpeGVscyBbYmFuZDEsIGJhbmQyLCDigKZdIEVhY2ggYmFuZCBpcyBhIHR5cGVkIGFycmF5IG9mIHdpZHRoKmhlaWdodC4KICAgICAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gcGl4ZWxUeXBlIFRoZSB0eXBlIG9mIHBpeGVscyByZXByZXNlbnRlZCBpbiB0aGUgb3V0cHV0LgogICAgICAgICAqIEBwcm9wZXJ0eSB7bWFza30gbWFzayBUeXBlZCBhcnJheSB3aXRoIGEgc2l6ZSBvZiB3aWR0aCpoZWlnaHQsIG9yIG51bGwgaWYgYWxsIHBpeGVscyBhcmUgdmFsaWQuCiAgICAgICAgICogQHByb3BlcnR5IHthcnJheX0gc3RhdGlzdGljcyBbc3RhdGlzdGljc19iYW5kMSwgc3RhdGlzdGljc19iYW5kMiwg4oCmXSBFYWNoIGVsZW1lbnQgaXMgYSBzdGF0aXN0aWNzIG9iamVjdCByZXByZXNlbnRpbmcgbWluIGFuZCBtYXggdmFsdWVzCiAgICAgICoqLwogICAgICBkZWNvZGU6IGZ1bmN0aW9uKGVuY29kZWREYXRhLCBvcHRpb25zKSB7CiAgICAgICAgaWYgKCFpc1BsYXRmb3JtTGl0dGxlRW5kaWFuKSB7CiAgICAgICAgICB0aHJvdyAiQmlnIGVuZGlhbiBzeXN0ZW0gaXMgbm90IHN1cHBvcnRlZC4iOwogICAgICAgIH0KICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsKICAgICAgICB2YXIgaW5wdXRPZmZzZXQgPSBvcHRpb25zLmlucHV0T2Zmc2V0IHx8IDA7CiAgICAgICAgdmFyIGZpbGVJZFZpZXcgPSBuZXcgVWludDhBcnJheShlbmNvZGVkRGF0YSwgaW5wdXRPZmZzZXQsIDEwKTsKICAgICAgICB2YXIgZmlsZUlkZW50aWZpZXJTdHJpbmcgPSBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGZpbGVJZFZpZXcpOwogICAgICAgIHZhciBsZXJjLCBtYWpvclZlcnNpb247CiAgICAgICAgaWYgKGZpbGVJZGVudGlmaWVyU3RyaW5nLnRyaW0oKSA9PT0gIkNudFpJbWFnZSIpIHsKICAgICAgICAgIGxlcmMgPSBMZXJjRGVjb2RlOwogICAgICAgICAgbWFqb3JWZXJzaW9uID0gMTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAoZmlsZUlkZW50aWZpZXJTdHJpbmcuc3Vic3RyaW5nKDAsIDUpID09PSAiTGVyYzIiKSB7CiAgICAgICAgICBsZXJjID0gTGVyYzJEZWNvZGU7CiAgICAgICAgICBtYWpvclZlcnNpb24gPSAyOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgIHRocm93ICJVbmV4cGVjdGVkIGZpbGUgaWRlbnRpZmllciBzdHJpbmc6ICIgKyBmaWxlSWRlbnRpZmllclN0cmluZzsKICAgICAgICB9CgogICAgICAgIHZhciBpUGxhbmUgPSAwLCBlb2YgPSBlbmNvZGVkRGF0YS5ieXRlTGVuZ3RoIC0gMTAsIGVuY29kZWRNYXNrRGF0YSwgYmFuZE1hc2tzID0gW10sIGJhbmRNYXNrLCBtYXNrRGF0YTsKICAgICAgICB2YXIgZGVjb2RlZFBpeGVsQmxvY2sgPSB7CiAgICAgICAgICB3aWR0aDogMCwKICAgICAgICAgIGhlaWdodDogMCwKICAgICAgICAgIHBpeGVsczogW10sCiAgICAgICAgICBwaXhlbFR5cGU6IG9wdGlvbnMucGl4ZWxUeXBlLAogICAgICAgICAgbWFzazogbnVsbCwKICAgICAgICAgIHN0YXRpc3RpY3M6IFtdCiAgICAgICAgfTsKCiAgICAgICAgd2hpbGUgKGlucHV0T2Zmc2V0IDwgZW9mKSB7CiAgICAgICAgICB2YXIgcmVzdWx0ID0gbGVyYy5kZWNvZGUoZW5jb2RlZERhdGEsIHsKICAgICAgICAgICAgaW5wdXRPZmZzZXQ6IGlucHV0T2Zmc2V0LC8vZm9yIGJvdGggbGVyYzEgYW5kIGxlcmMyCiAgICAgICAgICAgIGVuY29kZWRNYXNrRGF0YTogZW5jb2RlZE1hc2tEYXRhLC8vbGVyYzEgb25seQogICAgICAgICAgICBtYXNrRGF0YTogbWFza0RhdGEsLy9sZXJjMiBvbmx5CiAgICAgICAgICAgIHJldHVybk1hc2s6IGlQbGFuZSA9PT0gMCA/IHRydWUgOiBmYWxzZSwvL2xlcmMxIG9ubHkKICAgICAgICAgICAgcmV0dXJuRW5jb2RlZE1hc2s6IGlQbGFuZSA9PT0gMCA/IHRydWUgOiBmYWxzZSwvL2xlcmMxIG9ubHkKICAgICAgICAgICAgcmV0dXJuRmlsZUluZm86IHRydWUsLy9mb3IgYm90aCBsZXJjMSBhbmQgbGVyYzIKICAgICAgICAgICAgcGl4ZWxUeXBlOiBvcHRpb25zLnBpeGVsVHlwZSB8fCBudWxsLC8vbGVyYzEgb25seQogICAgICAgICAgICBub0RhdGFWYWx1ZTogb3B0aW9ucy5ub0RhdGFWYWx1ZSB8fCBudWxsLy9sZXJjMSBvbmx5CiAgICAgICAgICB9KTsKCiAgICAgICAgICBpbnB1dE9mZnNldCA9IHJlc3VsdC5maWxlSW5mby5lb2ZPZmZzZXQ7CiAgICAgICAgICBpZiAoaVBsYW5lID09PSAwKSB7CiAgICAgICAgICAgIGVuY29kZWRNYXNrRGF0YSA9IHJlc3VsdC5lbmNvZGVkTWFza0RhdGE7Ly9sZXJjMQogICAgICAgICAgICBtYXNrRGF0YSA9IHJlc3VsdC5tYXNrRGF0YTsvL2xlcmMyCiAgICAgICAgICAgIGRlY29kZWRQaXhlbEJsb2NrLndpZHRoID0gcmVzdWx0LndpZHRoOwogICAgICAgICAgICBkZWNvZGVkUGl4ZWxCbG9jay5oZWlnaHQgPSByZXN1bHQuaGVpZ2h0OwogICAgICAgICAgICBkZWNvZGVkUGl4ZWxCbG9jay5kaW1Db3VudCA9IHJlc3VsdC5kaW1Db3VudCB8fCAxOwogICAgICAgICAgICAvL2RlY29kZWRQaXhlbEJsb2NrLmRpbVN0YXRzID0gZGVjb2RlZFBpeGVsQmxvY2suZGltU3RhdHM7CiAgICAgICAgICAgIGRlY29kZWRQaXhlbEJsb2NrLnBpeGVsVHlwZSA9IHJlc3VsdC5waXhlbFR5cGUgfHwgcmVzdWx0LmZpbGVJbmZvLnBpeGVsVHlwZTsKICAgICAgICAgICAgZGVjb2RlZFBpeGVsQmxvY2subWFzayA9IHJlc3VsdC5tYXNrRGF0YTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChtYWpvclZlcnNpb24gPjEgJiYgcmVzdWx0LmZpbGVJbmZvLm1hc2sgJiYgcmVzdWx0LmZpbGVJbmZvLm1hc2subnVtQnl0ZXMgPiAwKSB7CiAgICAgICAgICAgIGJhbmRNYXNrcy5wdXNoKHJlc3VsdC5tYXNrRGF0YSk7CiAgICAgICAgICB9CgogICAgICAgICAgaVBsYW5lKys7CiAgICAgICAgICBkZWNvZGVkUGl4ZWxCbG9jay5waXhlbHMucHVzaChyZXN1bHQucGl4ZWxEYXRhKTsKICAgICAgICAgIGRlY29kZWRQaXhlbEJsb2NrLnN0YXRpc3RpY3MucHVzaCh7CiAgICAgICAgICAgIG1pblZhbHVlOiByZXN1bHQubWluVmFsdWUsCiAgICAgICAgICAgIG1heFZhbHVlOiByZXN1bHQubWF4VmFsdWUsCiAgICAgICAgICAgIG5vRGF0YVZhbHVlOiByZXN1bHQubm9EYXRhVmFsdWUsCiAgICAgICAgICAgIGRpbVN0YXRzOiByZXN1bHQuZGltU3RhdHMKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICB2YXIgaSwgaiwgbnVtUGl4ZWxzOwogICAgICAgIGlmIChtYWpvclZlcnNpb24gPiAxICYmIGJhbmRNYXNrcy5sZW5ndGggPiAxKSB7CiAgICAgICAgICBudW1QaXhlbHMgPSBkZWNvZGVkUGl4ZWxCbG9jay53aWR0aCAqIGRlY29kZWRQaXhlbEJsb2NrLmhlaWdodDsKICAgICAgICAgIGRlY29kZWRQaXhlbEJsb2NrLmJhbmRNYXNrcyA9IGJhbmRNYXNrczsKICAgICAgICAgIG1hc2tEYXRhID0gbmV3IFVpbnQ4QXJyYXkobnVtUGl4ZWxzKTsKICAgICAgICAgIG1hc2tEYXRhLnNldChiYW5kTWFza3NbMF0pOwogICAgICAgICAgZm9yIChpID0gMTsgaSA8IGJhbmRNYXNrcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBiYW5kTWFzayA9IGJhbmRNYXNrc1tpXTsKICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG51bVBpeGVsczsgaisrKSB7CiAgICAgICAgICAgICAgbWFza0RhdGFbal0gPSBtYXNrRGF0YVtqXSAmIGJhbmRNYXNrW2pdOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBkZWNvZGVkUGl4ZWxCbG9jay5tYXNrRGF0YSA9IG1hc2tEYXRhOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGRlY29kZWRQaXhlbEJsb2NrOwogICAgICB9CiAgICB9OwoKICAgIGlmIChtb2R1bGUuZXhwb3J0cykgey8qIGpzaGludCBpZ25vcmU6bGluZSAqLwogICAgICAvL2NvbW1vbkpTIG1vZHVsZSAxLjAvMS4xLzEuMS4xIHN5c3RlbXMsIHN1Y2ggYXMgbm9kZUpTCiAgICAgIC8vaHR0cDovL3dpa2kuY29tbW9uanMub3JnL3dpa2kvTW9kdWxlcwogICAgICBtb2R1bGUuZXhwb3J0cyA9IExlcmM7LyoganNoaW50IGlnbm9yZTpsaW5lICovCiAgICB9CiAgICBlbHNlIHsKICAgICAgLy9hc3NpZ24gdG8gdGhpcywgbW9zdCBsaWtlbHkgd2luZG93CiAgICAgIHRoaXMuTGVyYyA9IExlcmM7CiAgICB9CgogIH0pKCk7CiAgfShMZXJjRGVjb2RlKSk7CgogIHZhciBMZXJjID0gTGVyY0RlY29kZS5leHBvcnRzOwoKICBjb25zdCBmaWVsZFRhZ05hbWVzID0gewogICAgLy8gVElGRiBCYXNlbGluZQogICAgMHgwMTNCOiAnQXJ0aXN0JywKICAgIDB4MDEwMjogJ0JpdHNQZXJTYW1wbGUnLAogICAgMHgwMTA5OiAnQ2VsbExlbmd0aCcsCiAgICAweDAxMDg6ICdDZWxsV2lkdGgnLAogICAgMHgwMTQwOiAnQ29sb3JNYXAnLAogICAgMHgwMTAzOiAnQ29tcHJlc3Npb24nLAogICAgMHg4Mjk4OiAnQ29weXJpZ2h0JywKICAgIDB4MDEzMjogJ0RhdGVUaW1lJywKICAgIDB4MDE1MjogJ0V4dHJhU2FtcGxlcycsCiAgICAweDAxMEE6ICdGaWxsT3JkZXInLAogICAgMHgwMTIxOiAnRnJlZUJ5dGVDb3VudHMnLAogICAgMHgwMTIwOiAnRnJlZU9mZnNldHMnLAogICAgMHgwMTIzOiAnR3JheVJlc3BvbnNlQ3VydmUnLAogICAgMHgwMTIyOiAnR3JheVJlc3BvbnNlVW5pdCcsCiAgICAweDAxM0M6ICdIb3N0Q29tcHV0ZXInLAogICAgMHgwMTBFOiAnSW1hZ2VEZXNjcmlwdGlvbicsCiAgICAweDAxMDE6ICdJbWFnZUxlbmd0aCcsCiAgICAweDAxMDA6ICdJbWFnZVdpZHRoJywKICAgIDB4MDEwRjogJ01ha2UnLAogICAgMHgwMTE5OiAnTWF4U2FtcGxlVmFsdWUnLAogICAgMHgwMTE4OiAnTWluU2FtcGxlVmFsdWUnLAogICAgMHgwMTEwOiAnTW9kZWwnLAogICAgMHgwMEZFOiAnTmV3U3ViZmlsZVR5cGUnLAogICAgMHgwMTEyOiAnT3JpZW50YXRpb24nLAogICAgMHgwMTA2OiAnUGhvdG9tZXRyaWNJbnRlcnByZXRhdGlvbicsCiAgICAweDAxMUM6ICdQbGFuYXJDb25maWd1cmF0aW9uJywKICAgIDB4MDEyODogJ1Jlc29sdXRpb25Vbml0JywKICAgIDB4MDExNjogJ1Jvd3NQZXJTdHJpcCcsCiAgICAweDAxMTU6ICdTYW1wbGVzUGVyUGl4ZWwnLAogICAgMHgwMTMxOiAnU29mdHdhcmUnLAogICAgMHgwMTE3OiAnU3RyaXBCeXRlQ291bnRzJywKICAgIDB4MDExMTogJ1N0cmlwT2Zmc2V0cycsCiAgICAweDAwRkY6ICdTdWJmaWxlVHlwZScsCiAgICAweDAxMDc6ICdUaHJlc2hob2xkaW5nJywKICAgIDB4MDExQTogJ1hSZXNvbHV0aW9uJywKICAgIDB4MDExQjogJ1lSZXNvbHV0aW9uJywKCiAgICAvLyBUSUZGIEV4dGVuZGVkCiAgICAweDAxNDY6ICdCYWRGYXhMaW5lcycsCiAgICAweDAxNDc6ICdDbGVhbkZheERhdGEnLAogICAgMHgwMTU3OiAnQ2xpcFBhdGgnLAogICAgMHgwMTQ4OiAnQ29uc2VjdXRpdmVCYWRGYXhMaW5lcycsCiAgICAweDAxQjE6ICdEZWNvZGUnLAogICAgMHgwMUIyOiAnRGVmYXVsdEltYWdlQ29sb3InLAogICAgMHgwMTBEOiAnRG9jdW1lbnROYW1lJywKICAgIDB4MDE1MDogJ0RvdFJhbmdlJywKICAgIDB4MDE0MTogJ0hhbGZ0b25lSGludHMnLAogICAgMHgwMTVBOiAnSW5kZXhlZCcsCiAgICAweDAxNUI6ICdKUEVHVGFibGVzJywKICAgIDB4MDExRDogJ1BhZ2VOYW1lJywKICAgIDB4MDEyOTogJ1BhZ2VOdW1iZXInLAogICAgMHgwMTNEOiAnUHJlZGljdG9yJywKICAgIDB4MDEzRjogJ1ByaW1hcnlDaHJvbWF0aWNpdGllcycsCiAgICAweDAyMTQ6ICdSZWZlcmVuY2VCbGFja1doaXRlJywKICAgIDB4MDE1MzogJ1NhbXBsZUZvcm1hdCcsCiAgICAweDAxNTQ6ICdTTWluU2FtcGxlVmFsdWUnLAogICAgMHgwMTU1OiAnU01heFNhbXBsZVZhbHVlJywKICAgIDB4MDIyRjogJ1N0cmlwUm93Q291bnRzJywKICAgIDB4MDE0QTogJ1N1YklGRHMnLAogICAgMHgwMTI0OiAnVDRPcHRpb25zJywKICAgIDB4MDEyNTogJ1Q2T3B0aW9ucycsCiAgICAweDAxNDU6ICdUaWxlQnl0ZUNvdW50cycsCiAgICAweDAxNDM6ICdUaWxlTGVuZ3RoJywKICAgIDB4MDE0NDogJ1RpbGVPZmZzZXRzJywKICAgIDB4MDE0MjogJ1RpbGVXaWR0aCcsCiAgICAweDAxMkQ6ICdUcmFuc2ZlckZ1bmN0aW9uJywKICAgIDB4MDEzRTogJ1doaXRlUG9pbnQnLAogICAgMHgwMTU4OiAnWENsaXBQYXRoVW5pdHMnLAogICAgMHgwMTFFOiAnWFBvc2l0aW9uJywKICAgIDB4MDIxMTogJ1lDYkNyQ29lZmZpY2llbnRzJywKICAgIDB4MDIxMzogJ1lDYkNyUG9zaXRpb25pbmcnLAogICAgMHgwMjEyOiAnWUNiQ3JTdWJTYW1wbGluZycsCiAgICAweDAxNTk6ICdZQ2xpcFBhdGhVbml0cycsCiAgICAweDAxMUY6ICdZUG9zaXRpb24nLAoKICAgIC8vIEVYSUYKICAgIDB4OTIwMjogJ0FwZXJ0dXJlVmFsdWUnLAogICAgMHhBMDAxOiAnQ29sb3JTcGFjZScsCiAgICAweDkwMDQ6ICdEYXRlVGltZURpZ2l0aXplZCcsCiAgICAweDkwMDM6ICdEYXRlVGltZU9yaWdpbmFsJywKICAgIDB4ODc2OTogJ0V4aWYgSUZEJywKICAgIDB4OTAwMDogJ0V4aWZWZXJzaW9uJywKICAgIDB4ODI5QTogJ0V4cG9zdXJlVGltZScsCiAgICAweEEzMDA6ICdGaWxlU291cmNlJywKICAgIDB4OTIwOTogJ0ZsYXNoJywKICAgIDB4QTAwMDogJ0ZsYXNocGl4VmVyc2lvbicsCiAgICAweDgyOUQ6ICdGTnVtYmVyJywKICAgIDB4QTQyMDogJ0ltYWdlVW5pcXVlSUQnLAogICAgMHg5MjA4OiAnTGlnaHRTb3VyY2UnLAogICAgMHg5MjdDOiAnTWFrZXJOb3RlJywKICAgIDB4OTIwMTogJ1NodXR0ZXJTcGVlZFZhbHVlJywKICAgIDB4OTI4NjogJ1VzZXJDb21tZW50JywKCiAgICAvLyBJUFRDCiAgICAweDgzQkI6ICdJUFRDJywKCiAgICAvLyBJQ0MKICAgIDB4ODc3MzogJ0lDQyBQcm9maWxlJywKCiAgICAvLyBYTVAKICAgIDB4MDJCQzogJ1hNUCcsCgogICAgLy8gR0RBTAogICAgMHhBNDgwOiAnR0RBTF9NRVRBREFUQScsCiAgICAweEE0ODE6ICdHREFMX05PREFUQScsCgogICAgLy8gUGhvdG9zaG9wCiAgICAweDg2NDk6ICdQaG90b3Nob3AnLAoKICAgIC8vIEdlb1RpZmYKICAgIDB4ODMwRTogJ01vZGVsUGl4ZWxTY2FsZScsCiAgICAweDg0ODI6ICdNb2RlbFRpZXBvaW50JywKICAgIDB4ODVEODogJ01vZGVsVHJhbnNmb3JtYXRpb24nLAogICAgMHg4N0FGOiAnR2VvS2V5RGlyZWN0b3J5JywKICAgIDB4ODdCMDogJ0dlb0RvdWJsZVBhcmFtcycsCiAgICAweDg3QjE6ICdHZW9Bc2NpaVBhcmFtcycsCgogICAgLy8gTEVSQwogICAgMHhDNUYyOiAnTGVyY1BhcmFtZXRlcnMnLAogIH07CgogIGNvbnN0IGZpZWxkVGFncyA9IHt9OwogIGZvciAoY29uc3Qga2V5IGluIGZpZWxkVGFnTmFtZXMpIHsKICAgIGlmIChmaWVsZFRhZ05hbWVzLmhhc093blByb3BlcnR5KGtleSkpIHsKICAgICAgZmllbGRUYWdzW2ZpZWxkVGFnTmFtZXNba2V5XV0gPSBwYXJzZUludChrZXksIDEwKTsKICAgIH0KICB9CgogIFsKICAgIGZpZWxkVGFncy5CaXRzUGVyU2FtcGxlLAogICAgZmllbGRUYWdzLkV4dHJhU2FtcGxlcywKICAgIGZpZWxkVGFncy5TYW1wbGVGb3JtYXQsCiAgICBmaWVsZFRhZ3MuU3RyaXBCeXRlQ291bnRzLAogICAgZmllbGRUYWdzLlN0cmlwT2Zmc2V0cywKICAgIGZpZWxkVGFncy5TdHJpcFJvd0NvdW50cywKICAgIGZpZWxkVGFncy5UaWxlQnl0ZUNvdW50cywKICAgIGZpZWxkVGFncy5UaWxlT2Zmc2V0cywKICAgIGZpZWxkVGFncy5TdWJJRkRzLAogIF07CgogIGNvbnN0IGZpZWxkVHlwZU5hbWVzID0gewogICAgMHgwMDAxOiAnQllURScsCiAgICAweDAwMDI6ICdBU0NJSScsCiAgICAweDAwMDM6ICdTSE9SVCcsCiAgICAweDAwMDQ6ICdMT05HJywKICAgIDB4MDAwNTogJ1JBVElPTkFMJywKICAgIDB4MDAwNjogJ1NCWVRFJywKICAgIDB4MDAwNzogJ1VOREVGSU5FRCcsCiAgICAweDAwMDg6ICdTU0hPUlQnLAogICAgMHgwMDA5OiAnU0xPTkcnLAogICAgMHgwMDBBOiAnU1JBVElPTkFMJywKICAgIDB4MDAwQjogJ0ZMT0FUJywKICAgIDB4MDAwQzogJ0RPVUJMRScsCiAgICAvLyBJRkQgb2Zmc2V0LCBzdWdnZXN0ZWQgYnkgaHR0cHM6Ly9vd2wucGh5LnF1ZWVuc3UuY2EvfnBoaWwvZXhpZnRvb2wvc3RhbmRhcmRzLmh0bWwKICAgIDB4MDAwRDogJ0lGRCcsCiAgICAvLyBpbnRyb2R1Y2VkIGJ5IEJpZ1RJRkYKICAgIDB4MDAxMDogJ0xPTkc4JywKICAgIDB4MDAxMTogJ1NMT05HOCcsCiAgICAweDAwMTI6ICdJRkQ4JywKICB9OwoKICBjb25zdCBmaWVsZFR5cGVzID0ge307CiAgZm9yIChjb25zdCBrZXkgaW4gZmllbGRUeXBlTmFtZXMpIHsKICAgIGlmIChmaWVsZFR5cGVOYW1lcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7CiAgICAgIGZpZWxkVHlwZXNbZmllbGRUeXBlTmFtZXNba2V5XV0gPSBwYXJzZUludChrZXksIDEwKTsKICAgIH0KICB9CgogIGNvbnN0IExlcmNQYXJhbWV0ZXJzID0gewogICAgVmVyc2lvbjogMCwKICAgIEFkZENvbXByZXNzaW9uOiAxLAogIH07CgogIGNvbnN0IExlcmNBZGRDb21wcmVzc2lvbiA9IHsKICAgIE5vbmU6IDAsCiAgICBEZWZsYXRlOiAxLAogIH07CgoKICBjb25zdCBnZW9LZXlOYW1lcyA9IHsKICAgIDEwMjQ6ICdHVE1vZGVsVHlwZUdlb0tleScsCiAgICAxMDI1OiAnR1RSYXN0ZXJUeXBlR2VvS2V5JywKICAgIDEwMjY6ICdHVENpdGF0aW9uR2VvS2V5JywKICAgIDIwNDg6ICdHZW9ncmFwaGljVHlwZUdlb0tleScsCiAgICAyMDQ5OiAnR2VvZ0NpdGF0aW9uR2VvS2V5JywKICAgIDIwNTA6ICdHZW9nR2VvZGV0aWNEYXR1bUdlb0tleScsCiAgICAyMDUxOiAnR2VvZ1ByaW1lTWVyaWRpYW5HZW9LZXknLAogICAgMjA1MjogJ0dlb2dMaW5lYXJVbml0c0dlb0tleScsCiAgICAyMDUzOiAnR2VvZ0xpbmVhclVuaXRTaXplR2VvS2V5JywKICAgIDIwNTQ6ICdHZW9nQW5ndWxhclVuaXRzR2VvS2V5JywKICAgIDIwNTU6ICdHZW9nQW5ndWxhclVuaXRTaXplR2VvS2V5JywKICAgIDIwNTY6ICdHZW9nRWxsaXBzb2lkR2VvS2V5JywKICAgIDIwNTc6ICdHZW9nU2VtaU1ham9yQXhpc0dlb0tleScsCiAgICAyMDU4OiAnR2VvZ1NlbWlNaW5vckF4aXNHZW9LZXknLAogICAgMjA1OTogJ0dlb2dJbnZGbGF0dGVuaW5nR2VvS2V5JywKICAgIDIwNjA6ICdHZW9nQXppbXV0aFVuaXRzR2VvS2V5JywKICAgIDIwNjE6ICdHZW9nUHJpbWVNZXJpZGlhbkxvbmdHZW9LZXknLAogICAgMjA2MjogJ0dlb2dUT1dHUzg0R2VvS2V5JywKICAgIDMwNzI6ICdQcm9qZWN0ZWRDU1R5cGVHZW9LZXknLAogICAgMzA3MzogJ1BDU0NpdGF0aW9uR2VvS2V5JywKICAgIDMwNzQ6ICdQcm9qZWN0aW9uR2VvS2V5JywKICAgIDMwNzU6ICdQcm9qQ29vcmRUcmFuc0dlb0tleScsCiAgICAzMDc2OiAnUHJvakxpbmVhclVuaXRzR2VvS2V5JywKICAgIDMwNzc6ICdQcm9qTGluZWFyVW5pdFNpemVHZW9LZXknLAogICAgMzA3ODogJ1Byb2pTdGRQYXJhbGxlbDFHZW9LZXknLAogICAgMzA3OTogJ1Byb2pTdGRQYXJhbGxlbDJHZW9LZXknLAogICAgMzA4MDogJ1Byb2pOYXRPcmlnaW5Mb25nR2VvS2V5JywKICAgIDMwODE6ICdQcm9qTmF0T3JpZ2luTGF0R2VvS2V5JywKICAgIDMwODI6ICdQcm9qRmFsc2VFYXN0aW5nR2VvS2V5JywKICAgIDMwODM6ICdQcm9qRmFsc2VOb3J0aGluZ0dlb0tleScsCiAgICAzMDg0OiAnUHJvakZhbHNlT3JpZ2luTG9uZ0dlb0tleScsCiAgICAzMDg1OiAnUHJvakZhbHNlT3JpZ2luTGF0R2VvS2V5JywKICAgIDMwODY6ICdQcm9qRmFsc2VPcmlnaW5FYXN0aW5nR2VvS2V5JywKICAgIDMwODc6ICdQcm9qRmFsc2VPcmlnaW5Ob3J0aGluZ0dlb0tleScsCiAgICAzMDg4OiAnUHJvakNlbnRlckxvbmdHZW9LZXknLAogICAgMzA4OTogJ1Byb2pDZW50ZXJMYXRHZW9LZXknLAogICAgMzA5MDogJ1Byb2pDZW50ZXJFYXN0aW5nR2VvS2V5JywKICAgIDMwOTE6ICdQcm9qQ2VudGVyTm9ydGhpbmdHZW9LZXknLAogICAgMzA5MjogJ1Byb2pTY2FsZUF0TmF0T3JpZ2luR2VvS2V5JywKICAgIDMwOTM6ICdQcm9qU2NhbGVBdENlbnRlckdlb0tleScsCiAgICAzMDk0OiAnUHJvakF6aW11dGhBbmdsZUdlb0tleScsCiAgICAzMDk1OiAnUHJvalN0cmFpZ2h0VmVydFBvbGVMb25nR2VvS2V5JywKICAgIDMwOTY6ICdQcm9qUmVjdGlmaWVkR3JpZEFuZ2xlR2VvS2V5JywKICAgIDQwOTY6ICdWZXJ0aWNhbENTVHlwZUdlb0tleScsCiAgICA0MDk3OiAnVmVydGljYWxDaXRhdGlvbkdlb0tleScsCiAgICA0MDk4OiAnVmVydGljYWxEYXR1bUdlb0tleScsCiAgICA0MDk5OiAnVmVydGljYWxVbml0c0dlb0tleScsCiAgfTsKCiAgY29uc3QgZ2VvS2V5cyA9IHt9OwogIGZvciAoY29uc3Qga2V5IGluIGdlb0tleU5hbWVzKSB7CiAgICBpZiAoZ2VvS2V5TmFtZXMuaGFzT3duUHJvcGVydHkoa2V5KSkgewogICAgICBnZW9LZXlzW2dlb0tleU5hbWVzW2tleV1dID0gcGFyc2VJbnQoa2V5LCAxMCk7CiAgICB9CiAgfQoKICBjbGFzcyBMZXJjRGVjb2RlciBleHRlbmRzIEJhc2VEZWNvZGVyIHsKICAgIGNvbnN0cnVjdG9yKGZpbGVEaXJlY3RvcnkpIHsKICAgICAgc3VwZXIoKTsKCiAgICAgIHRoaXMucGxhbmFyQ29uZmlndXJhdGlvbiA9IHR5cGVvZiBmaWxlRGlyZWN0b3J5LlBsYW5hckNvbmZpZ3VyYXRpb24gIT09ICd1bmRlZmluZWQnID8gZmlsZURpcmVjdG9yeS5QbGFuYXJDb25maWd1cmF0aW9uIDogMTsKICAgICAgdGhpcy5zYW1wbGVzUGVyUGl4ZWwgPSB0eXBlb2YgZmlsZURpcmVjdG9yeS5TYW1wbGVzUGVyUGl4ZWwgIT09ICd1bmRlZmluZWQnID8gZmlsZURpcmVjdG9yeS5TYW1wbGVzUGVyUGl4ZWwgOiAxOwoKICAgICAgdGhpcy5hZGRDb21wcmVzc2lvbiA9IGZpbGVEaXJlY3RvcnkuTGVyY1BhcmFtZXRlcnNbTGVyY1BhcmFtZXRlcnMuQWRkQ29tcHJlc3Npb25dOwogICAgfQoKICAgIGludGVybGVhdmVQaXhlbHMoYmFuZEludGVybGVhdmVkRGF0YSkgewogICAgICBjb25zdCBwaXhlbEludGVybGVhdmVkRGF0YSA9IG5ldyBiYW5kSW50ZXJsZWF2ZWREYXRhLmNvbnN0cnVjdG9yKGJhbmRJbnRlcmxlYXZlZERhdGEubGVuZ3RoKTsKICAgICAgY29uc3QgbGVuZ3RoUGVyU2FtcGxlID0gYmFuZEludGVybGVhdmVkRGF0YS5sZW5ndGggLyB0aGlzLnNhbXBsZXNQZXJQaXhlbDsKICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGhQZXJTYW1wbGU7IGkrKykgewogICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdGhpcy5zYW1wbGVzUGVyUGl4ZWw7IGorKykgewogICAgICAgICAgcGl4ZWxJbnRlcmxlYXZlZERhdGFbaSAqIHRoaXMuc2FtcGxlc1BlclBpeGVsICsgal0gPSBiYW5kSW50ZXJsZWF2ZWREYXRhW2kgKyBqICogbGVuZ3RoUGVyU2FtcGxlXTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHBpeGVsSW50ZXJsZWF2ZWREYXRhOwogICAgfQoKICAgIGRlY29kZUJsb2NrKGJ1ZmZlcikgewogICAgICBzd2l0Y2ggKHRoaXMuYWRkQ29tcHJlc3Npb24pIHsKICAgICAgICBjYXNlIExlcmNBZGRDb21wcmVzc2lvbi5Ob25lOgogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSBMZXJjQWRkQ29tcHJlc3Npb24uRGVmbGF0ZToKICAgICAgICAgIGJ1ZmZlciA9IGluZmxhdGVfMShuZXcgVWludDhBcnJheShidWZmZXIpKS5idWZmZXI7CiAgICAgICAgICBicmVhazsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBMRVJDIGFkZGl0aW9uYWwgY29tcHJlc3Npb24gbWV0aG9kIGlkZW50aWZpZXI6ICR7dGhpcy5hZGRDb21wcmVzc2lvbn1gKTsKICAgICAgfQoKICAgICAgY29uc3QgbGVyY1Jlc3VsdCA9IExlcmMuZGVjb2RlKGJ1ZmZlcik7CiAgICAgIGNvbnN0IGxlcmNEYXRhID0gbGVyY1Jlc3VsdC5waXhlbHNbMF07IC8vIGFsd2F5cyBiYW5kLWludGVybGVhdmVkCiAgICAgIGNvbnN0IGRlY29kZWREYXRhID0gdGhpcy5wbGFuYXJDb25maWd1cmF0aW9uID09PSAxID8gdGhpcy5pbnRlcmxlYXZlUGl4ZWxzKGxlcmNEYXRhKSA6IGxlcmNEYXRhOyAvLyB0cmFuc2Zvcm0gdG8gcGl4ZWwtaW50ZXJsZWF2ZWQgaWYgZXhwZWN0ZWQKICAgICAgcmV0dXJuIGRlY29kZWREYXRhLmJ1ZmZlcjsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGdldERlY29kZXIoZmlsZURpcmVjdG9yeSkgewogICAgc3dpdGNoIChmaWxlRGlyZWN0b3J5LkNvbXByZXNzaW9uKSB7CiAgICAgIGNhc2UgdW5kZWZpbmVkOgogICAgICBjYXNlIDE6IC8vIG5vIGNvbXByZXNzaW9uCiAgICAgICAgcmV0dXJuIG5ldyBSYXdEZWNvZGVyKCk7CiAgICAgIGNhc2UgNTogLy8gTFpXCiAgICAgICAgcmV0dXJuIG5ldyBMWldEZWNvZGVyKGZpbGVEaXJlY3RvcnkpOwogICAgICBjYXNlIDY6IC8vIEpQRUcKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ29sZCBzdHlsZSBKUEVHIGNvbXByZXNzaW9uIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CiAgICAgIGNhc2UgNzogLy8gSlBFRwogICAgICAgIHJldHVybiBuZXcgSnBlZ0RlY29kZXIoZmlsZURpcmVjdG9yeSk7CiAgICAgIGNhc2UgODogLy8gRGVmbGF0ZSBhcyByZWNvZ25pemVkIGJ5IEFkb2JlCiAgICAgIGNhc2UgMzI5NDY6IC8vIERlZmxhdGUgR0RBTCBkZWZhdWx0CiAgICAgICAgcmV0dXJuIG5ldyBEZWZsYXRlRGVjb2RlcigpOwogICAgICBjYXNlIDMyNzczOiAvLyBwYWNrYml0cwogICAgICAgIHJldHVybiBuZXcgUGFja2JpdHNEZWNvZGVyKCk7CiAgICAgIGNhc2UgMzQ4ODc6IC8vIExFUkMKICAgICAgICByZXR1cm4gbmV3IExlcmNEZWNvZGVyKGZpbGVEaXJlY3RvcnkpOwogICAgICBkZWZhdWx0OgogICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QgaWRlbnRpZmllcjogJHtmaWxlRGlyZWN0b3J5LkNvbXByZXNzaW9ufWApOwogICAgfQogIH0KCiAgYXN5bmMgZnVuY3Rpb24gZGVjb2RlKGZpbGVEaXJlY3RvcnksIGJ1ZmZlcikgewogICAgY29uc3QgZGVjb2RlciA9IGdldERlY29kZXIoZmlsZURpcmVjdG9yeSk7CiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBkZWNvZGVyLmRlY29kZShmaWxlRGlyZWN0b3J5LCBidWZmZXIpOwogICAgc2VsZi5wb3N0TWVzc2FnZShyZXN1bHQsIFtyZXN1bHRdKTsKICB9CiAgaWYgKHR5cGVvZiBzZWxmICE9PSAidW5kZWZpbmVkIikgewogICAgc2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgKGV2ZW50KSA9PiB7CiAgICAgIGNvbnN0IFtuYW1lLCAuLi5hcmdzXSA9IGV2ZW50LmRhdGE7CiAgICAgIHN3aXRjaCAobmFtZSkgewogICAgICAgIGNhc2UgImRlY29kZSI6CiAgICAgICAgICBkZWNvZGUoYXJnc1swXSwgYXJnc1sxXSk7CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgfSk7CiAgfQoKfSkoKTsK",Uo="undefined"!==typeof window&&window.Blob&&new Blob([atob(No)],{type:"text/javascript;charset=utf-8"});function _o(){var e=Uo&&(window.URL||window.webkitURL).createObjectURL(Uo);try{return e?new Worker(e):new Worker("data:application/javascript;base64,"+No,{type:"module"})}finally{e&&(window.URL||window.webkitURL).revokeObjectURL(e)}}var Mo=null!==(Ci=null===globalThis||void 0===globalThis||null===(hi=globalThis.navigator)||void 0===hi?void 0:hi.hardwareConcurrency)&&void 0!==Ci?Ci:4,Oo=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Mo;Object(u.a)(this,e),Object(g.a)(this,"workers",void 0),Object(g.a)(this,"idleWorkers",void 0),Object(g.a)(this,"waitQueue",void 0),Object(g.a)(this,"decoder",void 0),this.workers=[],this.idleWorkers=[],this.waitQueue=[],this.decoder=null;for(var A=0;A<t;++A){var n=new _o;this.workers.push(n),this.idleWorkers.push(n)}}return Object(l.a)(e,[{key:"decode",value:function(){var e=Object(a.a)(o.a.mark((function e(t,A){var n,r=this;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.waitForWorker();case 2:return n=e.sent,e.abrupt("return",new Promise((function(e,i){n.onmessage=function(t){r.finishTask(n),e(t.data)},n.onerror=function(e){r.finishTask(n),i(e)},n.postMessage(["decode",t,A],[A])})));case 4:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"waitForWorker",value:function(){var e=Object(a.a)(o.a.mark((function e(){var t,A,n;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t=this.idleWorkers.pop())){e.next=3;break}return e.abrupt("return",t);case 3:return A={},n=new Promise((function(e){A.resolve=e})),this.waitQueue.push(A),e.abrupt("return",n);case 7:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"finishTask",value:function(){var e=Object(a.a)(o.a.mark((function e(t){var A;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:(A=this.waitQueue.pop())?A.resolve(t):this.idleWorkers.push(t);case 2:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"destroy",value:function(){for(var e=0;e<this.workers.length;++e)this.workers[e].terminate()}}]),e}(),Lo={attributeNamePrefix:"",attrNodeName:"attr",parseNodeValue:!0,parseAttributeValue:!0,ignoreAttributes:!1};function To(e){var t=function(e){return di.a.parse(e,Lo)}(e);if(!t.OME)throw Error("Failed to parse OME-XML metadata.");return Ti(t.OME.Image).map((function(e){var t=Ti(e.Pixels.Channel).map((function(e){return"Color"in e.attr?Object(d.a)({},e.attr,{Color:Zi(e.attr.Color)}):Object(d.a)({},e.attr)})),A=e.AquisitionDate,n=void 0===A?"":A,r=e.Description,i=void 0===r?"":r,o=Object(d.a)({},e.attr,{AquisitionDate:n,Description:i,Pixels:Object(d.a)({},e.Pixels.attr,{Channels:t})});return Object(d.a)({},o,{format:function(){var e=o.Pixels,t=["X","Y","Z"].map((function(t){var A=e["PhysicalSize".concat(t)],n=e["PhysicalSize".concat(t,"Unit")];return A&&n?"".concat(A," ").concat(n):"-"})).join(" x ");return{"Acquisition Date":o.AquisitionDate,"Dimensions (XY)":"".concat(e.SizeX," x ").concat(e.SizeY),"Pixels Type":e.Type,"Pixels Size (XYZ)":t,"Z-sections/Timepoints":"".concat(e.SizeZ," x ").concat(e.SizeT),Channels:e.SizeC}}})}))}var Zo=function(){function e(t,A,n,r,i,o,a){Object(u.a)(this,e),Object(g.a)(this,"_indexer",void 0),this.dtype=A,this.tileSize=n,this.shape=r,this.labels=i,this.meta=o,this.pool=a,this._indexer=t}return Object(l.a)(e,[{key:"getRaster",value:function(){var e=Object(a.a)(o.a.mark((function e(t){var A,n,r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=t.selection,n=t.signal,e.next=3,this._indexer(A);case 3:return r=e.sent,e.abrupt("return",this._readRasters(r,{signal:n}));case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"getTile",value:function(){var e=Object(a.a)(o.a.mark((function e(t){var A,n,r,i,a,s,g,c,u,l,I;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=t.x,n=t.y,r=t.selection,i=t.signal,a=this._getTileExtent(A,n),s=a.height,g=a.width,c=A*this.tileSize,u=n*this.tileSize,l=[c,u,c+g,u+s],e.next=7,this._indexer(r);case 7:return I=e.sent,e.abrupt("return",this._readRasters(I,{window:l,width:g,height:s,signal:i}));case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"_readRasters",value:function(){var e=Object(a.a)(o.a.mark((function e(t,A){var n,r,i,a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=Hi(this.shape),e.next=3,t.readRasters(Object(d.a)({interleave:r},A,{pool:this.pool}));case 3:if(i=e.sent,!(null===A||void 0===A||null===(n=A.signal)||void 0===n?void 0:n.aborted)){e.next=6;break}throw"__vivSignalAborted";case 6:return a=r?i:i[0],e.abrupt("return",{data:a,width:i.width,height:i.height});case 8:case"end":return e.stop()}}),e,this)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"_getTileExtent",value:function(e,t){var A=ji(this),n=A.height,r=A.width,i=this.tileSize,o=this.tileSize,a=Math.floor(r/this.tileSize),s=Math.floor(n/this.tileSize);return e===a&&(o=r%this.tileSize),t===s&&(i=n%this.tileSize),{height:i,width:o}}},{key:"onTileError",value:function(e){console.error(e)}}]),e}();function Ho(e,t){var A=t[0],n=A.Pixels,r=n.SizeT,i=n.SizeC,o=n.SizeZ,a=Jo(A);return function(t,A){var n=a(t),s=A*o*r*i;return e.getImage(n+s)}}function Yo(e,t){var A=Jo(t[0]),n=new Map;return function(){var t=Object(a.a)(o.a.mark((function t(r,i){var a,s,g,c,u,l;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=A(r),t.next=3,e.getImage(a);case 3:if(s=t.sent,0!==i){t.next=6;break}return t.abrupt("return",s);case 6:if(g=s.fileDirectory.SubIFDs){t.next=9;break}throw Error("Indexing Error: OME-TIFF is missing SubIFDs.");case 9:return c="".concat(r.t,"-").concat(r.c,"-").concat(r.z,"-").concat(i),n.has(c)||(u=g[i-1],n.set(c,e.parseFileDirectoryAt(u))),t.next=13,n.get(c);case 13:return l=t.sent,t.abrupt("return",new s.constructor(l.fileDirectory,l.geoKeyDirectory,e.dataView,e.littleEndian,e.cache,e.source));case 15:case"end":return t.stop()}}),t)})));return function(e,A){return t.apply(this,arguments)}}()}function Jo(e){var t=e.Pixels,A=t.SizeC,n=t.SizeZ,r=t.SizeT,i=t.DimensionOrder;switch(i){case"XYZCT":return function(e){var t=e.t,r=e.c,i=e.z;return t*n*A+r*n+i};case"XYZTC":return function(e){var t=e.t,A=e.c,i=e.z;return A*n*r+t*n+i};case"XYCTZ":return function(e){var t=e.t,n=e.c;return e.z*A*r+t*A+n};case"XYCZT":return function(e){var t=e.t,r=e.c,i=e.z;return t*A*n+i*A+r};case"XYTCZ":return function(e){var t=e.t,n=e.c;return e.z*r*A+n*r+t};case"XYTZC":return function(e){var t=e.t,A=e.c,i=e.z;return A*r*n+i*r+t};default:throw new Error("Invalid OME-XML DimensionOrder, got ".concat(i,"."))}}var jo={uint8:"Uint8",uint16:"Uint16",uint32:"Uint32",float:"Float32",double:"Float64",int8:"Int8",int16:"Int16",int32:"Int32"};function Po(e){var t=e.Pixels,A=Yi(t.DimensionOrder),n=Ji(A),r=Array(A.length).fill(0);r[n("t")]=t.SizeT,r[n("c")]=t.SizeC,r[n("z")]=t.SizeZ,t.Interleaved&&(A.push("_c"),r.push(3));var i=function(e){var A=Object(B.a)(r);return A[n("x")]=t.SizeX>>e,A[n("y")]=t.SizeY>>e,A};if(!(t.Type in jo))throw Error("Pixel type ".concat(t.Type," not supported."));var o=jo[t.Type];if(t.PhysicalSizeX&&t.PhysicalSizeY){var a={x:{size:t.PhysicalSizeX,unit:t.PhysicalSizeXUnit},y:{size:t.PhysicalSizeY,unit:t.PhysicalSizeYUnit}};return t.PhysicalSizeZ&&(a.z={size:t.PhysicalSizeZ,unit:t.PhysicalSizeZUnit}),{labels:A,getShape:i,physicalSizes:a,dtype:o}}return{labels:A,getShape:i,dtype:o}}function Vo(e){var t=e.getTileWidth(),A=e.getTileHeight();return Pi(Math.min(t,A))}function Ko(e,t){return Wo.apply(this,arguments)}function Wo(){return(Wo=Object(a.a)(o.a.mark((function e(t,A){var n,r,i,a,s,g,c,u,l,I,C,h,f,d,B,p,E;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.getImage(0);case 2:return n=e.sent,r=n.fileDirectory,i=r.ImageDescription,a=r.SubIFDs,s=r.PhotometricInterpretation,g=To(i),a?(c=a.length+1,u=Yo(t,g)):(c=g.length,u=Ho(t,g)),l=g[0],I=Po(l),C=I.labels,h=I.getShape,f=I.physicalSizes,d=I.dtype,B=Vo(n),p={photometricInterpretation:s,physicalSizes:f},E=Array.from({length:c}).map((function(e,t){var n=h(t);return new Zo((function(e){return u(e,t)}),d,B,n,C,p,A)})),e.abrupt("return",{data:E,metadata:l});case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Xo(e){return qo.apply(this,arguments)}function qo(){return(qo=Object(a.a)(o.a.mark((function e(t){var A,n,r,i,a,s,g=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=g.length>1&&void 0!==g[1]?g[1]:{},n=A.headers,r=A.offsets,i=A.pool,a=void 0===i||i,"string"!==typeof t){e.next=8;break}return e.next=5,si(t,Object(d.a)({},n,{cacheSize:1/0}));case 5:s=e.sent,e.next=11;break;case 8:return e.next=10,ci(t);case 10:s=e.sent;case 11:return r&&(s=xo(s,r)),ko(s),e.abrupt("return",a?Ko(s,new Oo):Ko(s));case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function zo(e){return $o.apply(this,arguments)}function $o(){return($o=Object(a.a)(o.a.mark((function e(t){var A,n,r,i,a,s,g,c,u,l=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=l.length>1&&void 0!==l[1]?l[1]:"",e.next=3,Object(Bi.e)(t,A);case 3:return n=e.sent,e.next=6,n.attrs.asObject();case 6:return r=e.sent,i=["0"],a=["t","c","z","y","x"],"multiscales"in r&&(s=r.multiscales[0],g=s.datasets,c=s.axes,i=g.map((function(e){return e.path})),c&&(a=c)),u=i.map((function(e){return n.getItem(e)})),e.next=13,Promise.all(u);case 13:return e.t0=e.sent,e.t1=r,e.t2=a,e.abrupt("return",{data:e.t0,rootAttrs:e.t1,labels:e.t2});case 17:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ea(e){var t=Hi(e.shape),A=e.chunks.slice(t?-3:-2),n=Object(s.a)(A,2),r=n[0],i=n[1];return Pi(Math.min(r,i))}var ta={u1:"Uint8",u2:"Uint16",u4:"Uint32",f4:"Float32",f8:"Float64",i1:"Int8",i2:"Int16",i4:"Int32"},Aa=function(){function e(t,A,n){Object(u.a)(this,e),Object(g.a)(this,"_data",void 0),Object(g.a)(this,"_indexer",void 0),Object(g.a)(this,"_readChunks",void 0),this.labels=A,this.tileSize=n,this._indexer=function(e){var t=e.length,A=Ji(e);return function(e){if(Array.isArray(e))return Object(B.a)(e);for(var n=Array(t).fill(0),r=0,i=Object.entries(e);r<i.length;r++){var o=Object(s.a)(i[r],2),a=o[0],g=o[1];n[A(a)]=g}return n}}(A),this._data=t;var r=t.chunks[this._xIndex],i=t.chunks[this._xIndex-1];this._readChunks=n===r&&n===i}return Object(l.a)(e,[{key:"_chunkIndex",value:function(e,t,A){var n=this._indexer(e);return n[this._xIndex]=t,n[this._xIndex-1]=A,n}},{key:"_getSlices",value:function(e,t){var A=ji(this),n=A.height,r=A.width,i=[e*this.tileSize,Math.min((e+1)*this.tileSize,r)],o=i[0],a=i[1],s=[t*this.tileSize,Math.min((t+1)*this.tileSize,n)],g=s[0],c=s[1];if(o===a||g===c)throw new Bi.a("Tile slice is zero-sized.");return[Object(Bi.f)(o,a),Object(Bi.f)(g,c)]}},{key:"getRaster",value:function(){var e=Object(a.a)(o.a.mark((function e(t){var A,n,r,i,a,g,c,u;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=t.selection,n=this._chunkIndex(A,null,null),e.next=4,this._data.getRaw(n);case 4:return r=e.sent,i=r.data,a=r.shape,g=Object(s.a)(a,2),c=g[0],u=g[1],e.abrupt("return",{data:i,width:u,height:c});case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"getTile",value:function(){var e=Object(a.a)(o.a.mark((function e(t){var A,n,r,i,a,g,c,u,l,I,C,h,f,d,B,p;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=t.x,n=t.y,r=t.selection,i=t.signal,!this._readChunks){e.next=8;break}return g=this._chunkIndex(r,A,n),e.next=5,this._data.getRawChunk(g,{storeOptions:{signal:i}});case 5:a=e.sent,e.next=13;break;case 8:return c=this._getSlices(A,n),u=Object(s.a)(c,2),l=u[0],I=u[1],C=this._chunkIndex(r,l,I),e.next=12,this._data.getRaw(C);case 12:a=e.sent;case 13:return f=(h=a).data,d=Object(s.a)(h.shape,2),B=d[0],p=d[1],e.abrupt("return",{data:f,width:p,height:B});case 15:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"onTileError",value:function(e){if(!(e instanceof Bi.a))throw e}},{key:"shape",get:function(){return this._data.shape}},{key:"dtype",get:function(){var e=this._data.dtype.slice(1);if(!(e in ta))throw Error("Zarr dtype not supported, got ".concat(e,"."));return ta[e]}},{key:"_xIndex",get:function(){var e=Hi(this._data.shape);return this._data.shape.length-(e?2:1)}}]),e}();function na(e){return ra.apply(this,arguments)}function ra(){return(ra=Object(a.a)(o.a.mark((function e(t){var A,n,r,i,a,s;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,zo(t);case 2:return A=e.sent,n=A.data,r=A.rootAttrs,i=A.labels,a=ea(n[0]),s=n.map((function(e){return new Aa(e,i,a)})),e.abrupt("return",{data:s,metadata:r});case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ia(e){return oa.apply(this,arguments)}function oa(){return(oa=Object(a.a)(o.a.mark((function e(t){var A,n,r=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=r.length>1&&void 0!==r[1]?r[1]:{},n=new Bi.b(t,A),"multiscales"===(null===A||void 0===A?void 0:A.type)){e.next=4;break}throw Error("Only multiscale OME-Zarr is supported.");case 4:return e.abrupt("return",na(n));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},function(e,t,A){"use strict";var n=A(16),r=A(271);var i=A(91);function o(e){var t="function"===typeof Map?new Map:void 0;return(o=function(e){if(null===e||(A=e,-1===Function.toString.call(A).indexOf("[native code]")))return e;var A;if("function"!==typeof e)throw new TypeError("Super expression must either be null or a function");if("undefined"!==typeof t){if(t.has(e))return t.get(e);t.set(e,o)}function o(){return Object(i.a)(e,arguments,Object(n.a)(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),Object(r.a)(o,e)})(e)}A.d(t,"a",(function(){return o}))},function(e,t,A){"use strict";A.d(t,"f",(function(){return i})),A.d(t,"g",(function(){return o})),A.d(t,"d",(function(){return a})),A.d(t,"a",(function(){return s})),A.d(t,"e",(function(){return g})),A.d(t,"i",(function(){return c})),A.d(t,"b",(function(){return u})),A.d(t,"c",(function(){return l})),A.d(t,"h",(function(){return I}));var n=function(e){return"boolean"===typeof e},r=function(e){return"function"===typeof e},i=function(e){return null!==e&&"object"===typeof e},o=function(e){return i(e)&&e.constructor==={}.constructor},a=function(e){return e&&"function"===typeof e[Symbol.iterator]},s=function(e){return e&&"function"===typeof e[Symbol.asyncIterator]},g=function(e){return e&&r(e.next)},c=function(e){return"undefined"!==typeof Response&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json},u=function(e){return"undefined"!==typeof Blob&&e instanceof Blob},l=function(e){return e&&"object"===typeof e&&e.isBuffer},I=function(e){return function(e){return"undefined"!==typeof ReadableStream&&e instanceof ReadableStream||i(e)&&r(e.tee)&&r(e.cancel)&&r(e.getReader)}(e)||function(e){return i(e)&&r(e.read)&&r(e.pipe)&&n(e.readable)}(e)}},function(e,t,A){"use strict";A.d(t,"b",(function(){return r})),A.d(t,"g",(function(){return i})),A.d(t,"c",(function(){return o})),A.d(t,"l",(function(){return a})),A.d(t,"a",(function(){return s})),A.d(t,"k",(function(){return g})),A.d(t,"h",(function(){return c})),A.d(t,"m",(function(){return u})),A.d(t,"j",(function(){return l})),A.d(t,"d",(function(){return I})),A.d(t,"i",(function(){return C})),A.d(t,"n",(function(){return h})),A.d(t,"o",(function(){return f})),A.d(t,"f",(function(){return d})),A.d(t,"e",(function(){return B}));var n=A(31);function r(e){var t=new n.a(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function i(e,t,A,r){var i=new n.a(4);return i[0]=e,i[1]=t,i[2]=A,i[3]=r,i}function o(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function a(e,t,A,n,r){return e[0]=t,e[1]=A,e[2]=n,e[3]=r,e}function s(e,t,A){return e[0]=t[0]+A[0],e[1]=t[1]+A[1],e[2]=t[2]+A[2],e[3]=t[3]+A[3],e}function g(e,t,A){return e[0]=t[0]*A,e[1]=t[1]*A,e[2]=t[2]*A,e[3]=t[3]*A,e}function c(e){var t=e[0],A=e[1],n=e[2],r=e[3];return Math.hypot(t,A,n,r)}function u(e){var t=e[0],A=e[1],n=e[2],r=e[3];return t*t+A*A+n*n+r*r}function l(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=A*A+n*n+r*r+i*i;return o>0&&(o=1/Math.sqrt(o)),e[0]=A*o,e[1]=n*o,e[2]=r*o,e[3]=i*o,e}function I(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function C(e,t,A,n){var r=t[0],i=t[1],o=t[2],a=t[3];return e[0]=r+n*(A[0]-r),e[1]=i+n*(A[1]-i),e[2]=o+n*(A[2]-o),e[3]=a+n*(A[3]-a),e}function h(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3];return e[0]=A[0]*n+A[4]*r+A[8]*i+A[12]*o,e[1]=A[1]*n+A[5]*r+A[9]*i+A[13]*o,e[2]=A[2]*n+A[6]*r+A[10]*i+A[14]*o,e[3]=A[3]*n+A[7]*r+A[11]*i+A[15]*o,e}function f(e,t,A){var n=t[0],r=t[1],i=t[2],o=A[0],a=A[1],s=A[2],g=A[3],c=g*n+a*i-s*r,u=g*r+s*n-o*i,l=g*i+o*r-a*n,I=-o*n-a*r-s*i;return e[0]=c*g+I*-o+u*-s-l*-a,e[1]=u*g+I*-a+l*-o-c*-s,e[2]=l*g+I*-s+c*-a-u*-o,e[3]=t[3],e}function d(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function B(e,t){var A=e[0],r=e[1],i=e[2],o=e[3],a=t[0],s=t[1],g=t[2],c=t[3];return Math.abs(A-a)<=n.b*Math.max(1,Math.abs(A),Math.abs(a))&&Math.abs(r-s)<=n.b*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-g)<=n.b*Math.max(1,Math.abs(i),Math.abs(g))&&Math.abs(o-c)<=n.b*Math.max(1,Math.abs(o),Math.abs(c))}!function(){var e=function(){var e=new n.a(4);return n.a!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}()}()},function(e,t,A){"use strict";A.d(t,"c",(function(){return u})),A.d(t,"d",(function(){return l})),A.d(t,"e",(function(){return I})),A.d(t,"f",(function(){return C})),A.d(t,"g",(function(){return h})),A.d(t,"h",(function(){return f})),A.d(t,"i",(function(){return B})),A.d(t,"a",(function(){return p})),A.d(t,"b",(function(){return E}));var n=A(3),r=A.n(n),i=A(1),o=A(24),a=A(9),s=A(10),g=A(54),c=A(12);function u(e,t){for(var A in t)t.hasOwnProperty(A)&&(e[A]=t[A])}function l(e,t){return!(e.length<t.length)&&e.substr(e.length-t.length)===t}function I(e,t){for(var A=e.length,n=0;n<A;n++)t(e[n],n)}function C(e){var t={};for(var A in e){if(e.hasOwnProperty(A))t[e[A]]=A}return t}function h(e,t){for(var A=[],n=0;n<e;n++)A.push(t(n));return A}function f(e){return d.apply(this,arguments)}function d(){return(d=Object(c.a)(r.a.mark((function e(t){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){return setTimeout(e,t)})));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function B(e,t){var A=Array.isArray(e)?e:Array.from(e),n=Array.isArray(t)?t:Array.from(t);return A.map((function(e,t){return[e,n[t]]}))}var p=function(e){Object(a.a)(A,e);var t=Object(s.a)(A);function A(e){var n;return Object(i.a)(this,A),n=t.call(this,e),Error.captureStackTrace&&Error.captureStackTrace(Object(o.a)(n),A),n.name="AbortError",n}return A}(Object(g.a)(Error)),E=function(e){Object(a.a)(A,e);var t=Object(s.a)(A);function A(e,n){var r;return Object(i.a)(this,A),(r=t.call(this,n)).errors=e,r.message=n,r.name="AggregateError",r}return A}(Object(g.a)(Error))},function(e,t,A){"use strict";A.d(t,"a",(function(){return r})),A.d(t,"i",(function(){return i})),A.d(t,"d",(function(){return o})),A.d(t,"b",(function(){return a})),A.d(t,"e",(function(){return s})),A.d(t,"h",(function(){return g})),A.d(t,"f",(function(){return c})),A.d(t,"g",(function(){return u})),A.d(t,"c",(function(){return l}));var n=A(31);function r(){var e=new n.a(9);return n.a!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function i(e,t){if(e===t){var A=t[1],n=t[2],r=t[5];e[1]=t[3],e[2]=t[6],e[3]=A,e[5]=t[7],e[6]=n,e[7]=r}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function o(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=t[4],a=t[5],s=t[6],g=t[7],c=t[8],u=c*o-a*g,l=-c*i+a*s,I=g*i-o*s,C=A*u+n*l+r*I;return C?(C=1/C,e[0]=u*C,e[1]=(-c*n+r*g)*C,e[2]=(a*n-r*o)*C,e[3]=l*C,e[4]=(c*A-r*s)*C,e[5]=(-a*A+r*i)*C,e[6]=I*C,e[7]=(-g*A+n*s)*C,e[8]=(o*A-n*i)*C,e):null}function a(e){var t=e[0],A=e[1],n=e[2],r=e[3],i=e[4],o=e[5],a=e[6],s=e[7],g=e[8];return t*(g*i-o*s)+A*(-g*r+o*a)+n*(s*r-i*a)}function s(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],g=t[6],c=t[7],u=t[8],l=A[0],I=A[1],C=A[2],h=A[3],f=A[4],d=A[5],B=A[6],p=A[7],E=A[8];return e[0]=l*n+I*o+C*g,e[1]=l*r+I*a+C*c,e[2]=l*i+I*s+C*u,e[3]=h*n+f*o+d*g,e[4]=h*r+f*a+d*c,e[5]=h*i+f*s+d*u,e[6]=B*n+p*o+E*g,e[7]=B*r+p*a+E*c,e[8]=B*i+p*s+E*u,e}function g(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],g=t[6],c=t[7],u=t[8],l=A[0],I=A[1];return e[0]=n,e[1]=r,e[2]=i,e[3]=o,e[4]=a,e[5]=s,e[6]=l*n+I*o+g,e[7]=l*r+I*a+c,e[8]=l*i+I*s+u,e}function c(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],g=t[6],c=t[7],u=t[8],l=Math.sin(A),I=Math.cos(A);return e[0]=I*n+l*o,e[1]=I*r+l*a,e[2]=I*i+l*s,e[3]=I*o-l*n,e[4]=I*a-l*r,e[5]=I*s-l*i,e[6]=g,e[7]=c,e[8]=u,e}function u(e,t,A){var n=A[0],r=A[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=r*t[3],e[4]=r*t[4],e[5]=r*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function l(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=A+A,a=n+n,s=r+r,g=A*o,c=n*o,u=n*a,l=r*o,I=r*a,C=r*s,h=i*o,f=i*a,d=i*s;return e[0]=1-u-C,e[3]=c-d,e[6]=l+f,e[1]=c+d,e[4]=1-g-C,e[7]=I-h,e[2]=l-f,e[5]=I+h,e[8]=1-g-u,e}},function(e,t,A){"use strict";function n(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function r(e,t,A){return void 0===A&&(A={}),n({type:"Point",coordinates:e},t,A)}function i(e,t,A){void 0===A&&(A={});for(var r=0,i=e;r<i.length;r++){var o=i[r];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var a=0;a<o[o.length-1].length;a++)if(o[o.length-1][a]!==o[0][a])throw new Error("First and last Position are not equivalent.")}return n({type:"Polygon",coordinates:e},t,A)}function o(e,t,A){if(void 0===A&&(A={}),e.length<2)throw new Error("coordinates must be an array of two or more positions");return n({type:"LineString",coordinates:e},t,A)}function a(e,t){void 0===t&&(t={});var A={type:"FeatureCollection"};return t.id&&(A.id=t.id),t.bbox&&(A.bbox=t.bbox),A.features=e,A}function s(e,t,A){return void 0===A&&(A={}),n({type:"MultiLineString",coordinates:e},t,A)}function g(e,t,A){return void 0===A&&(A={}),n({type:"MultiPoint",coordinates:e},t,A)}function c(e,t,A){return void 0===A&&(A={}),n({type:"MultiPolygon",coordinates:e},t,A)}function u(e,A){void 0===A&&(A="kilometers");var n=t.factors[A];if(!n)throw new Error(A+" units is invalid");return e*n}function l(e,A){void 0===A&&(A="kilometers");var n=t.factors[A];if(!n)throw new Error(A+" units is invalid");return e/n}function I(e){return 180*(e%(2*Math.PI))/Math.PI}function C(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)&&!/^\s*$/.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.earthRadius=6371008.8,t.factors={centimeters:100*t.earthRadius,centimetres:100*t.earthRadius,degrees:t.earthRadius/111325,feet:3.28084*t.earthRadius,inches:39.37*t.earthRadius,kilometers:t.earthRadius/1e3,kilometres:t.earthRadius/1e3,meters:t.earthRadius,metres:t.earthRadius,miles:t.earthRadius/1609.344,millimeters:1e3*t.earthRadius,millimetres:1e3*t.earthRadius,nauticalmiles:t.earthRadius/1852,radians:1,yards:t.earthRadius/1.0936},t.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/t.earthRadius,yards:1/1.0936},t.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046},t.feature=n,t.geometry=function(e,t,A){switch(void 0===A&&(A={}),e){case"Point":return r(t).geometry;case"LineString":return o(t).geometry;case"Polygon":return i(t).geometry;case"MultiPoint":return g(t).geometry;case"MultiLineString":return s(t).geometry;case"MultiPolygon":return c(t).geometry;default:throw new Error(e+" is invalid")}},t.point=r,t.points=function(e,t,A){return void 0===A&&(A={}),a(e.map((function(e){return r(e,t)})),A)},t.polygon=i,t.polygons=function(e,t,A){return void 0===A&&(A={}),a(e.map((function(e){return i(e,t)})),A)},t.lineString=o,t.lineStrings=function(e,t,A){return void 0===A&&(A={}),a(e.map((function(e){return o(e,t)})),A)},t.featureCollection=a,t.multiLineString=s,t.multiPoint=g,t.multiPolygon=c,t.geometryCollection=function(e,t,A){return void 0===A&&(A={}),n({type:"GeometryCollection",geometries:e},t,A)},t.round=function(e,t){if(void 0===t&&(t=0),t&&!(t>=0))throw new Error("precision must be a positive number");var A=Math.pow(10,t||0);return Math.round(e*A)/A},t.radiansToLength=u,t.lengthToRadians=l,t.lengthToDegrees=function(e,t){return I(l(e,t))},t.bearingToAzimuth=function(e){var t=e%360;return t<0&&(t+=360),t},t.radiansToDegrees=I,t.degreesToRadians=function(e){return e%360*Math.PI/180},t.convertLength=function(e,t,A){if(void 0===t&&(t="kilometers"),void 0===A&&(A="kilometers"),!(e>=0))throw new Error("length must be a positive number");return u(l(e,t),A)},t.convertArea=function(e,A,n){if(void 0===A&&(A="meters"),void 0===n&&(n="kilometers"),!(e>=0))throw new Error("area must be a positive number");var r=t.areaFactors[A];if(!r)throw new Error("invalid original units");var i=t.areaFactors[n];if(!i)throw new Error("invalid final units");return e/r*i},t.isNumber=C,t.isObject=function(e){return!!e&&e.constructor===Object},t.validateBBox=function(e){if(!e)throw new Error("bbox is required");if(!Array.isArray(e))throw new Error("bbox must be an Array");if(4!==e.length&&6!==e.length)throw new Error("bbox must be an Array of 4 or 6 numbers");e.forEach((function(e){if(!C(e))throw new Error("bbox must only contain numbers")}))},t.validateId=function(e){if(!e)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof e))throw new Error("id must be a number or a string")},t.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},t.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},t.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},t.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},t.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},t.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},t.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},function(e,t,A){"use strict";A.d(t,"c",(function(){return a})),A.d(t,"a",(function(){return g})),A.d(t,"b",(function(){return c})),A.d(t,"d",(function(){return u}));var n=A(717);function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.min(Math.max(t,e),A)}function i(e){if(e.type)return e;if("#"===e.charAt(0))return i(function(e){e=e.substr(1);var t=new RegExp(".{1,".concat(e.length>=6?2:1,"}"),"g"),A=e.match(t);return A&&1===A[0].length&&(A=A.map((function(e){return e+e}))),A?"rgb".concat(4===A.length?"a":"","(").concat(A.map((function(e,t){return t<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3})).join(", "),")"):""}(e));var t=e.indexOf("("),A=e.substring(0,t);if(-1===["rgb","rgba","hsl","hsla"].indexOf(A))throw new Error(Object(n.a)(3,e));var r=e.substring(t+1,e.length-1).split(",");return{type:A,values:r=r.map((function(e){return parseFloat(e)}))}}function o(e){var t=e.type,A=e.values;return-1!==t.indexOf("rgb")?A=A.map((function(e,t){return t<3?parseInt(e,10):e})):-1!==t.indexOf("hsl")&&(A[1]="".concat(A[1],"%"),A[2]="".concat(A[2],"%")),"".concat(t,"(").concat(A.join(", "),")")}function a(e,t){var A=s(e),n=s(t);return(Math.max(A,n)+.05)/(Math.min(A,n)+.05)}function s(e){var t="hsl"===(e=i(e)).type?i(function(e){var t=(e=i(e)).values,A=t[0],n=t[1]/100,r=t[2]/100,a=n*Math.min(r,1-r),s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e+A/30)%12;return r-a*Math.max(Math.min(t-3,9-t,1),-1)},g="rgb",c=[Math.round(255*s(0)),Math.round(255*s(8)),Math.round(255*s(4))];return"hsla"===e.type&&(g+="a",c.push(t[3])),o({type:g,values:c})}(e)).values:e.values;return t=t.map((function(e){return(e/=255)<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)})),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function g(e,t){return e=i(e),t=r(t),"rgb"!==e.type&&"hsl"!==e.type||(e.type+="a"),e.values[3]=t,o(e)}function c(e,t){if(e=i(e),t=r(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb"))for(var A=0;A<3;A+=1)e.values[A]*=1-t;return o(e)}function u(e,t){if(e=i(e),t=r(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(var A=0;A<3;A+=1)e.values[A]+=(255-e.values[A])*t;return o(e)}},function(e,t,A){var n;!function(){"use strict";var A={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var i=typeof n;if("string"===i||"number"===i)e.push(n);else if(Array.isArray(n)&&n.length){var o=r.apply(null,n);o&&e.push(o)}else if("object"===i)for(var a in n)A.call(n,a)&&n[a]&&e.push(a)}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},function(e,t,A){e.exports=A(864)},function(e,t,A){var n=A(251),r=A(20);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!==typeof t?r(e):t}},function(e,t){function A(t){return e.exports=A=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},A(t)}e.exports=A},function(e,t,A){var n=A(902);e.exports=function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n=A(0),r="undefined"!==typeof window?n.useLayoutEffect:n.useEffect;function i(e){var t=n.useRef(e);return r((function(){t.current=e})),n.useCallback((function(){return t.current.apply(void 0,arguments)}),[])}},function(e,t,A){"use strict";A.d(t,"b",(function(){return r})),A.d(t,"g",(function(){return i})),A.d(t,"e",(function(){return o})),A.d(t,"h",(function(){return a})),A.d(t,"d",(function(){return s})),A.d(t,"c",(function(){return g})),A.d(t,"m",(function(){return c})),A.d(t,"l",(function(){return u})),A.d(t,"n",(function(){return l})),A.d(t,"i",(function(){return I})),A.d(t,"j",(function(){return C})),A.d(t,"k",(function(){return h})),A.d(t,"a",(function(){return f})),A.d(t,"f",(function(){return d}));var n=A(30);function r(){var e=new n.a(3);return n.a!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function i(e){var t=e[0],A=e[1],n=e[2];return Math.hypot(t,A,n)}function o(e,t,A){var r=new n.a(3);return r[0]=e,r[1]=t,r[2]=A,r}function a(e,t){var A=t[0],n=t[1],r=t[2],i=A*A+n*n+r*r;return i>0&&(i=1/Math.sqrt(i)),e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e}function s(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function g(e,t,A){var n=t[0],r=t[1],i=t[2],o=A[0],a=A[1],s=A[2];return e[0]=r*s-i*a,e[1]=i*o-n*s,e[2]=n*a-r*o,e}function c(e,t,A){var n=t[0],r=t[1],i=t[2],o=A[3]*n+A[7]*r+A[11]*i+A[15];return o=o||1,e[0]=(A[0]*n+A[4]*r+A[8]*i+A[12])/o,e[1]=(A[1]*n+A[5]*r+A[9]*i+A[13])/o,e[2]=(A[2]*n+A[6]*r+A[10]*i+A[14])/o,e}function u(e,t,A){var n=t[0],r=t[1],i=t[2];return e[0]=n*A[0]+r*A[3]+i*A[6],e[1]=n*A[1]+r*A[4]+i*A[7],e[2]=n*A[2]+r*A[5]+i*A[8],e}function l(e,t,A){var n=A[0],r=A[1],i=A[2],o=A[3],a=t[0],s=t[1],g=t[2],c=r*g-i*s,u=i*a-n*g,l=n*s-r*a,I=r*l-i*u,C=i*c-n*l,h=n*u-r*c,f=2*o;return c*=f,u*=f,l*=f,I*=2,C*=2,h*=2,e[0]=a+c+I,e[1]=s+u+C,e[2]=g+l+h,e}function I(e,t,A,n){var r=[],i=[];return r[0]=t[0]-A[0],r[1]=t[1]-A[1],r[2]=t[2]-A[2],i[0]=r[0],i[1]=r[1]*Math.cos(n)-r[2]*Math.sin(n),i[2]=r[1]*Math.sin(n)+r[2]*Math.cos(n),e[0]=i[0]+A[0],e[1]=i[1]+A[1],e[2]=i[2]+A[2],e}function C(e,t,A,n){var r=[],i=[];return r[0]=t[0]-A[0],r[1]=t[1]-A[1],r[2]=t[2]-A[2],i[0]=r[2]*Math.sin(n)+r[0]*Math.cos(n),i[1]=r[1],i[2]=r[2]*Math.cos(n)-r[0]*Math.sin(n),e[0]=i[0]+A[0],e[1]=i[1]+A[1],e[2]=i[2]+A[2],e}function h(e,t,A,n){var r=[],i=[];return r[0]=t[0]-A[0],r[1]=t[1]-A[1],r[2]=t[2]-A[2],i[0]=r[0]*Math.cos(n)-r[1]*Math.sin(n),i[1]=r[0]*Math.sin(n)+r[1]*Math.cos(n),i[2]=r[2],e[0]=i[0]+A[0],e[1]=i[1]+A[1],e[2]=i[2]+A[2],e}function f(e,t){var A=e[0],n=e[1],r=e[2],i=t[0],o=t[1],a=t[2],g=Math.sqrt(A*A+n*n+r*r)*Math.sqrt(i*i+o*o+a*a),c=g&&s(e,t)/g;return Math.acos(Math.min(Math.max(c,-1),1))}var d=i;!function(){var e=r()}()},,function(e,t,A){"use strict";function n(e){return e&&e.ownerDocument||document}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return r})),A.d(t,"b",(function(){return i})),A.d(t,"c",(function(){return o})),A.d(t,"d",(function(){return a})),A.d(t,"e",(function(){return s})),A.d(t,"f",(function(){return g}));var n=A(31);function r(e,t,A){return e[0]=t[0]+A[0],e[1]=t[1]+A[1],e}function i(e,t){return e[0]=-t[0],e[1]=-t[1],e}function o(e,t,A){var n=t[0],r=t[1];return e[0]=A[0]*n+A[2]*r,e[1]=A[1]*n+A[3]*r,e}function a(e,t,A){var n=t[0],r=t[1];return e[0]=A[0]*n+A[2]*r+A[4],e[1]=A[1]*n+A[3]*r+A[5],e}function s(e,t,A){var n=t[0],r=t[1];return e[0]=A[0]*n+A[3]*r+A[6],e[1]=A[1]*n+A[4]*r+A[7],e}function g(e,t,A){var n=t[0],r=t[1];return e[0]=A[0]*n+A[4]*r+A[12],e[1]=A[1]*n+A[5]*r+A[13],e}!function(){var e=function(){var e=new n.a(2);return n.a!=Float32Array&&(e[0]=0,e[1]=0),e}()}()},function(e,t,A){"use strict";(function(e,n){var r=A(11),i=A(3),o=A.n(i),a=A(12),s=A(1),g=A(4),c=A(47);A.d(t,"a",(function(){return c.a})),A.d(t,"b",(function(){return c.b})),A.d(t,"c",(function(){return c.c})),A.d(t,"d",(function(){return c.e})),A.d(t,"e",(function(){return c.f})),A.d(t,"f",(function(){return c.g}));function u(e){for(var t=e.length;--t>=0;)e[t]=0}var l=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),I=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),C=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),f=new Array(576);u(f);var d=new Array(60);u(d);var B=new Array(512);u(B);var p=new Array(256);u(p);var E=new Array(29);u(E);var Q,y,v,m=new Array(30);function b(e,t,A,n,r){this.static_tree=e,this.extra_bits=t,this.extra_base=A,this.elems=n,this.max_length=r,this.has_stree=e&&e.length}function w(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}u(m);var S=function(e){return e<256?B[e]:B[256+(e>>>7)]},F=function(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},R=function(e,t,A){e.bi_valid>16-A?(e.bi_buf|=t<<e.bi_valid&65535,F(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=A-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=A)},D=function(e,t,A){R(e,A[2*t],A[2*t+1])},G=function(e,t){var A=0;do{A|=1&e,e>>>=1,A<<=1}while(--t>0);return A>>>1},k=function(e,t,A){var n,r,i=new Array(16),o=0;for(n=1;n<=15;n++)i[n]=o=o+A[n-1]<<1;for(r=0;r<=t;r++){var a=e[2*r+1];0!==a&&(e[2*r]=G(i[a]++,a))}},x=function(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0},N=function(e){e.bi_valid>8?F(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},U=function(e,t,A,n){var r=2*t,i=2*A;return e[r]<e[i]||e[r]===e[i]&&n[t]<=n[A]},_=function(e,t,A){for(var n=e.heap[A],r=A<<1;r<=e.heap_len&&(r<e.heap_len&&U(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!U(t,n,e.heap[r],e.depth));)e.heap[A]=e.heap[r],A=r,r<<=1;e.heap[A]=n},M=function(e,t,A){var n,r,i,o,a=0;if(0!==e.last_lit)do{n=e.pending_buf[e.d_buf+2*a]<<8|e.pending_buf[e.d_buf+2*a+1],r=e.pending_buf[e.l_buf+a],a++,0===n?D(e,r,t):(i=p[r],D(e,i+256+1,t),0!==(o=l[i])&&(r-=E[i],R(e,r,o)),n--,i=S(n),D(e,i,A),0!==(o=I[i])&&(n-=m[i],R(e,n,o)))}while(a<e.last_lit);D(e,256,t)},O=function(e,t){var A,n,r,i=t.dyn_tree,o=t.stat_desc.static_tree,a=t.stat_desc.has_stree,s=t.stat_desc.elems,g=-1;for(e.heap_len=0,e.heap_max=573,A=0;A<s;A++)0!==i[2*A]?(e.heap[++e.heap_len]=g=A,e.depth[A]=0):i[2*A+1]=0;for(;e.heap_len<2;)i[2*(r=e.heap[++e.heap_len]=g<2?++g:0)]=1,e.depth[r]=0,e.opt_len--,a&&(e.static_len-=o[2*r+1]);for(t.max_code=g,A=e.heap_len>>1;A>=1;A--)_(e,i,A);r=s;do{A=e.heap[1],e.heap[1]=e.heap[e.heap_len--],_(e,i,1),n=e.heap[1],e.heap[--e.heap_max]=A,e.heap[--e.heap_max]=n,i[2*r]=i[2*A]+i[2*n],e.depth[r]=(e.depth[A]>=e.depth[n]?e.depth[A]:e.depth[n])+1,i[2*A+1]=i[2*n+1]=r,e.heap[1]=r++,_(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var A,n,r,i,o,a,s=t.dyn_tree,g=t.max_code,c=t.stat_desc.static_tree,u=t.stat_desc.has_stree,l=t.stat_desc.extra_bits,I=t.stat_desc.extra_base,C=t.stat_desc.max_length,h=0;for(i=0;i<=15;i++)e.bl_count[i]=0;for(s[2*e.heap[e.heap_max]+1]=0,A=e.heap_max+1;A<573;A++)(i=s[2*s[2*(n=e.heap[A])+1]+1]+1)>C&&(i=C,h++),s[2*n+1]=i,n>g||(e.bl_count[i]++,o=0,n>=I&&(o=l[n-I]),a=s[2*n],e.opt_len+=a*(i+o),u&&(e.static_len+=a*(c[2*n+1]+o)));if(0!==h){do{for(i=C-1;0===e.bl_count[i];)i--;e.bl_count[i]--,e.bl_count[i+1]+=2,e.bl_count[C]--,h-=2}while(h>0);for(i=C;0!==i;i--)for(n=e.bl_count[i];0!==n;)(r=e.heap[--A])>g||(s[2*r+1]!==i&&(e.opt_len+=(i-s[2*r+1])*s[2*r],s[2*r+1]=i),n--)}}(e,t),k(i,g,e.bl_count)},L=function(e,t,A){var n,r,i=-1,o=t[1],a=0,s=7,g=4;for(0===o&&(s=138,g=3),t[2*(A+1)+1]=65535,n=0;n<=A;n++)r=o,o=t[2*(n+1)+1],++a<s&&r===o||(a<g?e.bl_tree[2*r]+=a:0!==r?(r!==i&&e.bl_tree[2*r]++,e.bl_tree[32]++):a<=10?e.bl_tree[34]++:e.bl_tree[36]++,a=0,i=r,0===o?(s=138,g=3):r===o?(s=6,g=3):(s=7,g=4))},T=function(e,t,A){var n,r,i=-1,o=t[1],a=0,s=7,g=4;for(0===o&&(s=138,g=3),n=0;n<=A;n++)if(r=o,o=t[2*(n+1)+1],!(++a<s&&r===o)){if(a<g)do{D(e,r,e.bl_tree)}while(0!==--a);else 0!==r?(r!==i&&(D(e,r,e.bl_tree),a--),D(e,16,e.bl_tree),R(e,a-3,2)):a<=10?(D(e,17,e.bl_tree),R(e,a-3,3)):(D(e,18,e.bl_tree),R(e,a-11,7));a=0,i=r,0===o?(s=138,g=3):r===o?(s=6,g=3):(s=7,g=4)}},Z=!1,H=function(e,t,A,n){R(e,0+(n?1:0),3),function(e,t,A,n){N(e),n&&(F(e,A),F(e,~A)),e.pending_buf.set(e.window.subarray(t,t+A),e.pending),e.pending+=A}(e,t,A,!0)},Y={_tr_init:function(e){Z||(!function(){var e,t,A,n,r,i=new Array(16);for(A=0,n=0;n<28;n++)for(E[n]=A,e=0;e<1<<l[n];e++)p[A++]=n;for(p[A-1]=n,r=0,n=0;n<16;n++)for(m[n]=r,e=0;e<1<<I[n];e++)B[r++]=n;for(r>>=7;n<30;n++)for(m[n]=r<<7,e=0;e<1<<I[n]-7;e++)B[256+r++]=n;for(t=0;t<=15;t++)i[t]=0;for(e=0;e<=143;)f[2*e+1]=8,e++,i[8]++;for(;e<=255;)f[2*e+1]=9,e++,i[9]++;for(;e<=279;)f[2*e+1]=7,e++,i[7]++;for(;e<=287;)f[2*e+1]=8,e++,i[8]++;for(k(f,287,i),e=0;e<30;e++)d[2*e+1]=5,d[2*e]=G(e,5);Q=new b(f,l,257,286,15),y=new b(d,I,0,30,15),v=new b(new Array(0),C,0,19,7)}(),Z=!0),e.l_desc=new w(e.dyn_ltree,Q),e.d_desc=new w(e.dyn_dtree,y),e.bl_desc=new w(e.bl_tree,v),e.bi_buf=0,e.bi_valid=0,x(e)},_tr_stored_block:H,_tr_flush_block:function(e,t,A,n){var r,i,o=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,A=4093624447;for(t=0;t<=31;t++,A>>>=1)if(1&A&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),O(e,e.l_desc),O(e,e.d_desc),o=function(e){var t;for(L(e,e.dyn_ltree,e.l_desc.max_code),L(e,e.dyn_dtree,e.d_desc.max_code),O(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*h[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),r=e.opt_len+3+7>>>3,(i=e.static_len+3+7>>>3)<=r&&(r=i)):r=i=A+5,A+4<=r&&-1!==t?H(e,t,A,n):4===e.strategy||i===r?(R(e,2+(n?1:0),3),M(e,f,d)):(R(e,4+(n?1:0),3),function(e,t,A,n){var r;for(R(e,t-257,5),R(e,A-1,5),R(e,n-4,4),r=0;r<n;r++)R(e,e.bl_tree[2*h[r]+1],3);T(e,e.dyn_ltree,t-1),T(e,e.dyn_dtree,A-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),M(e,e.dyn_ltree,e.dyn_dtree)),x(e),n&&N(e)},_tr_tally:function(e,t,A){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&A,e.last_lit++,0===t?e.dyn_ltree[2*A]++:(e.matches++,t--,e.dyn_ltree[2*(p[A]+256+1)]++,e.dyn_dtree[2*S(t)]++),e.last_lit===e.lit_bufsize-1},_tr_align:function(e){R(e,2,3),D(e,256,f),function(e){16===e.bi_valid?(F(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},J=function(e,t,A,n){for(var r=65535&e|0,i=e>>>16&65535|0,o=0;0!==A;){A-=o=A>2e3?2e3:A;do{i=i+(r=r+t[n++]|0)|0}while(--o);r%=65521,i%=65521}return r|i<<16|0},j=new Uint32Array(function(){for(var e,t=[],A=0;A<256;A++){e=A;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[A]=e}return t}()),P=function(e,t,A,n){var r=j,i=n+A;e^=-1;for(var o=n;o<i;o++)e=e>>>8^r[255&(e^t[o])];return-1^e},V={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},K={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},W=Y._tr_init,X=Y._tr_stored_block,q=Y._tr_flush_block,z=Y._tr_tally,$=Y._tr_align,ee=K.Z_NO_FLUSH,te=K.Z_PARTIAL_FLUSH,Ae=K.Z_FULL_FLUSH,ne=K.Z_FINISH,re=K.Z_BLOCK,ie=K.Z_OK,oe=K.Z_STREAM_END,ae=K.Z_STREAM_ERROR,se=K.Z_DATA_ERROR,ge=K.Z_BUF_ERROR,ce=K.Z_DEFAULT_COMPRESSION,ue=K.Z_FILTERED,le=K.Z_HUFFMAN_ONLY,Ie=K.Z_RLE,Ce=K.Z_FIXED,he=K.Z_DEFAULT_STRATEGY,fe=K.Z_UNKNOWN,de=K.Z_DEFLATED,Be=function(e,t){return e.msg=V[t],t},pe=function(e){return(e<<1)-(e>4?9:0)},Ee=function(e){for(var t=e.length;--t>=0;)e[t]=0},Qe=function(e,t,A){return(t<<e.hash_shift^A)&e.hash_mask},ye=function(e){var t=e.state,A=t.pending;A>e.avail_out&&(A=e.avail_out),0!==A&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+A),e.next_out),e.next_out+=A,t.pending_out+=A,e.total_out+=A,e.avail_out-=A,t.pending-=A,0===t.pending&&(t.pending_out=0))},ve=function(e,t){q(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ye(e.strm)},me=function(e,t){e.pending_buf[e.pending++]=t},be=function(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},we=function(e,t,A,n){var r=e.avail_in;return r>n&&(r=n),0===r?0:(e.avail_in-=r,t.set(e.input.subarray(e.next_in,e.next_in+r),A),1===e.state.wrap?e.adler=J(e.adler,t,r,A):2===e.state.wrap&&(e.adler=P(e.adler,t,r,A)),e.next_in+=r,e.total_in+=r,r)},Se=function(e,t){var A,n,r=e.max_chain_length,i=e.strstart,o=e.prev_length,a=e.nice_match,s=e.strstart>e.w_size-262?e.strstart-(e.w_size-262):0,g=e.window,c=e.w_mask,u=e.prev,l=e.strstart+258,I=g[i+o-1],C=g[i+o];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do{if(g[(A=t)+o]===C&&g[A+o-1]===I&&g[A]===g[i]&&g[++A]===g[i+1]){i+=2,A++;do{}while(g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&i<l);if(n=258-(l-i),i=l-258,n>o){if(e.match_start=t,o=n,n>=a)break;I=g[i+o-1],C=g[i+o]}}}while((t=u[t&c])>s&&0!==--r);return o<=e.lookahead?o:e.lookahead},Fe=function(e){var t,A,n,r,i,o=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=o+(o-262)){e.window.set(e.window.subarray(o,o+o),0),e.match_start-=o,e.strstart-=o,e.block_start-=o,t=A=e.hash_size;do{n=e.head[--t],e.head[t]=n>=o?n-o:0}while(--A);t=A=o;do{n=e.prev[--t],e.prev[t]=n>=o?n-o:0}while(--A);r+=o}if(0===e.strm.avail_in)break;if(A=we(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=A,e.lookahead+e.insert>=3)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=Qe(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=Qe(e,e.ins_h,e.window[i+3-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<262&&0!==e.strm.avail_in)},Re=function(e,t){for(var A,n;;){if(e.lookahead<262){if(Fe(e),e.lookahead<262&&t===ee)return 1;if(0===e.lookahead)break}if(A=0,e.lookahead>=3&&(e.ins_h=Qe(e,e.ins_h,e.window[e.strstart+3-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==A&&e.strstart-A<=e.w_size-262&&(e.match_length=Se(e,A)),e.match_length>=3)if(n=z(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=Qe(e,e.ins_h,e.window[e.strstart+3-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!==--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=Qe(e,e.ins_h,e.window[e.strstart+1]);else n=z(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(ve(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===ne?(ve(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ve(e,!1),0===e.strm.avail_out)?1:2},De=function(e,t){for(var A,n,r;;){if(e.lookahead<262){if(Fe(e),e.lookahead<262&&t===ee)return 1;if(0===e.lookahead)break}if(A=0,e.lookahead>=3&&(e.ins_h=Qe(e,e.ins_h,e.window[e.strstart+3-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==A&&e.prev_length<e.max_lazy_match&&e.strstart-A<=e.w_size-262&&(e.match_length=Se(e,A),e.match_length<=5&&(e.strategy===ue||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-3,n=z(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=r&&(e.ins_h=Qe(e,e.ins_h,e.window[e.strstart+3-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!==--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,n&&(ve(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((n=z(e,0,e.window[e.strstart-1]))&&ve(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=z(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===ne?(ve(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ve(e,!1),0===e.strm.avail_out)?1:2};function Ge(e,t,A,n,r){this.good_length=e,this.max_lazy=t,this.nice_length=A,this.max_chain=n,this.func=r}var ke=[new Ge(0,0,0,0,(function(e,t){var A=65535;for(A>e.pending_buf_size-5&&(A=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Fe(e),0===e.lookahead&&t===ee)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+A;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,ve(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-262&&(ve(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===ne?(ve(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(ve(e,!1),e.strm.avail_out),1)})),new Ge(4,4,8,4,Re),new Ge(4,5,16,8,Re),new Ge(4,6,32,32,Re),new Ge(4,4,16,16,De),new Ge(8,16,32,32,De),new Ge(8,16,128,128,De),new Ge(8,32,128,256,De),new Ge(32,128,258,1024,De),new Ge(32,258,258,4096,De)];function xe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=de,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),Ee(this.dyn_ltree),Ee(this.dyn_dtree),Ee(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),Ee(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),Ee(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var Ne=function(e){if(!e||!e.state)return Be(e,ae);e.total_in=e.total_out=0,e.data_type=fe;var t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:113,e.adler=2===t.wrap?0:1,t.last_flush=ee,W(t),ie},Ue=function(e){var t,A=Ne(e);return A===ie&&((t=e.state).window_size=2*t.w_size,Ee(t.head),t.max_lazy_match=ke[t.level].max_lazy,t.good_match=ke[t.level].good_length,t.nice_match=ke[t.level].nice_length,t.max_chain_length=ke[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),A},_e=function(e,t,A,n,r,i){if(!e)return ae;var o=1;if(t===ce&&(t=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),r<1||r>9||A!==de||n<8||n>15||t<0||t>9||i<0||i>Ce)return Be(e,ae);8===n&&(n=9);var a=new xe;return e.state=a,a.strm=e,a.wrap=o,a.gzhead=null,a.w_bits=n,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=r+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<r+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=3*a.lit_bufsize,a.level=t,a.strategy=i,a.method=A,Ue(e)},Me={deflateInit:function(e,t){return _e(e,t,de,15,8,he)},deflateInit2:_e,deflateReset:Ue,deflateResetKeep:Ne,deflateSetHeader:function(e,t){return e&&e.state?2!==e.state.wrap?ae:(e.state.gzhead=t,ie):ae},deflate:function(e,t){var A,n;if(!e||!e.state||t>re||t<0)return e?Be(e,ae):ae;var r=e.state;if(!e.output||!e.input&&0!==e.avail_in||666===r.status&&t!==ne)return Be(e,0===e.avail_out?ge:ae);r.strm=e;var i=r.last_flush;if(r.last_flush=t,42===r.status)if(2===r.wrap)e.adler=0,me(r,31),me(r,139),me(r,8),r.gzhead?(me(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),me(r,255&r.gzhead.time),me(r,r.gzhead.time>>8&255),me(r,r.gzhead.time>>16&255),me(r,r.gzhead.time>>24&255),me(r,9===r.level?2:r.strategy>=le||r.level<2?4:0),me(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(me(r,255&r.gzhead.extra.length),me(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=P(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(me(r,0),me(r,0),me(r,0),me(r,0),me(r,0),me(r,9===r.level?2:r.strategy>=le||r.level<2?4:0),me(r,3),r.status=113);else{var o=de+(r.w_bits-8<<4)<<8;o|=(r.strategy>=le||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(o|=32),o+=31-o%31,r.status=113,be(r,o),0!==r.strstart&&(be(r,e.adler>>>16),be(r,65535&e.adler)),e.adler=1}if(69===r.status)if(r.gzhead.extra){for(A=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>A&&(e.adler=P(e.adler,r.pending_buf,r.pending-A,A)),ye(e),A=r.pending,r.pending!==r.pending_buf_size));)me(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>A&&(e.adler=P(e.adler,r.pending_buf,r.pending-A,A)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){A=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>A&&(e.adler=P(e.adler,r.pending_buf,r.pending-A,A)),ye(e),A=r.pending,r.pending===r.pending_buf_size)){n=1;break}n=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,me(r,n)}while(0!==n);r.gzhead.hcrc&&r.pending>A&&(e.adler=P(e.adler,r.pending_buf,r.pending-A,A)),0===n&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){A=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>A&&(e.adler=P(e.adler,r.pending_buf,r.pending-A,A)),ye(e),A=r.pending,r.pending===r.pending_buf_size)){n=1;break}n=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,me(r,n)}while(0!==n);r.gzhead.hcrc&&r.pending>A&&(e.adler=P(e.adler,r.pending_buf,r.pending-A,A)),0===n&&(r.status=103)}else r.status=103;if(103===r.status&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&ye(e),r.pending+2<=r.pending_buf_size&&(me(r,255&e.adler),me(r,e.adler>>8&255),e.adler=0,r.status=113)):r.status=113),0!==r.pending){if(ye(e),0===e.avail_out)return r.last_flush=-1,ie}else if(0===e.avail_in&&pe(t)<=pe(i)&&t!==ne)return Be(e,ge);if(666===r.status&&0!==e.avail_in)return Be(e,ge);if(0!==e.avail_in||0!==r.lookahead||t!==ee&&666!==r.status){var a=r.strategy===le?function(e,t){for(var A;;){if(0===e.lookahead&&(Fe(e),0===e.lookahead)){if(t===ee)return 1;break}if(e.match_length=0,A=z(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,A&&(ve(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===ne?(ve(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ve(e,!1),0===e.strm.avail_out)?1:2}(r,t):r.strategy===Ie?function(e,t){for(var A,n,r,i,o=e.window;;){if(e.lookahead<=258){if(Fe(e),e.lookahead<=258&&t===ee)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(n=o[r=e.strstart-1])===o[++r]&&n===o[++r]&&n===o[++r]){i=e.strstart+258;do{}while(n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&r<i);e.match_length=258-(i-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(A=z(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(A=z(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),A&&(ve(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===ne?(ve(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ve(e,!1),0===e.strm.avail_out)?1:2}(r,t):ke[r.level].func(r,t);if(3!==a&&4!==a||(r.status=666),1===a||3===a)return 0===e.avail_out&&(r.last_flush=-1),ie;if(2===a&&(t===te?$(r):t!==re&&(X(r,0,0,!1),t===Ae&&(Ee(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),ye(e),0===e.avail_out))return r.last_flush=-1,ie}return t!==ne?ie:r.wrap<=0?oe:(2===r.wrap?(me(r,255&e.adler),me(r,e.adler>>8&255),me(r,e.adler>>16&255),me(r,e.adler>>24&255),me(r,255&e.total_in),me(r,e.total_in>>8&255),me(r,e.total_in>>16&255),me(r,e.total_in>>24&255)):(be(r,e.adler>>>16),be(r,65535&e.adler)),ye(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?ie:oe)},deflateEnd:function(e){if(!e||!e.state)return ae;var t=e.state.status;return 42!==t&&69!==t&&73!==t&&91!==t&&103!==t&&113!==t&&666!==t?Be(e,ae):(e.state=null,113===t?Be(e,se):ie)},deflateSetDictionary:function(e,t){var A=t.length;if(!e||!e.state)return ae;var n=e.state,r=n.wrap;if(2===r||1===r&&42!==n.status||n.lookahead)return ae;if(1===r&&(e.adler=J(e.adler,t,A,0)),n.wrap=0,A>=n.w_size){0===r&&(Ee(n.head),n.strstart=0,n.block_start=0,n.insert=0);var i=new Uint8Array(n.w_size);i.set(t.subarray(A-n.w_size,A),0),t=i,A=n.w_size}var o=e.avail_in,a=e.next_in,s=e.input;for(e.avail_in=A,e.next_in=0,e.input=t,Fe(n);n.lookahead>=3;){var g=n.strstart,c=n.lookahead-2;do{n.ins_h=Qe(n,n.ins_h,n.window[g+3-1]),n.prev[g&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=g,g++}while(--c);n.strstart=g,n.lookahead=2,Fe(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,e.next_in=a,e.input=s,e.avail_in=o,n.wrap=r,ie},deflateInfo:"pako deflate (from Nodeca project)"},Oe=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},Le=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var A=t.shift();if(A){if("object"!==typeof A)throw new TypeError(A+"must be non-object");for(var n in A)Oe(A,n)&&(e[n]=A[n])}}return e},Te=function(e){for(var t=0,A=0,n=e.length;A<n;A++)t+=e[A].length;for(var r=new Uint8Array(t),i=0,o=0,a=e.length;i<a;i++){var s=e[i];r.set(s,o),o+=s.length}return r},Ze=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(gA){Ze=!1}for(var He=new Uint8Array(256),Ye=0;Ye<256;Ye++)He[Ye]=Ye>=252?6:Ye>=248?5:Ye>=240?4:Ye>=224?3:Ye>=192?2:1;He[254]=He[254]=1;var Je=function(e){var t,A,n,r,i,o=e.length,a=0;for(r=0;r<o;r++)55296===(64512&(A=e.charCodeAt(r)))&&r+1<o&&56320===(64512&(n=e.charCodeAt(r+1)))&&(A=65536+(A-55296<<10)+(n-56320),r++),a+=A<128?1:A<2048?2:A<65536?3:4;for(t=new Uint8Array(a),i=0,r=0;i<a;r++)55296===(64512&(A=e.charCodeAt(r)))&&r+1<o&&56320===(64512&(n=e.charCodeAt(r+1)))&&(A=65536+(A-55296<<10)+(n-56320),r++),A<128?t[i++]=A:A<2048?(t[i++]=192|A>>>6,t[i++]=128|63&A):A<65536?(t[i++]=224|A>>>12,t[i++]=128|A>>>6&63,t[i++]=128|63&A):(t[i++]=240|A>>>18,t[i++]=128|A>>>12&63,t[i++]=128|A>>>6&63,t[i++]=128|63&A);return t},je=function(e,t){var A,n,r=t||e.length,i=new Array(2*r);for(n=0,A=0;A<r;){var o=e[A++];if(o<128)i[n++]=o;else{var a=He[o];if(a>4)i[n++]=65533,A+=a-1;else{for(o&=2===a?31:3===a?15:7;a>1&&A<r;)o=o<<6|63&e[A++],a--;a>1?i[n++]=65533:o<65536?i[n++]=o:(o-=65536,i[n++]=55296|o>>10&1023,i[n++]=56320|1023&o)}}}return function(e,t){if(t<65534&&e.subarray&&Ze)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));for(var A="",n=0;n<t;n++)A+=String.fromCharCode(e[n]);return A}(i,n)},Pe=function(e,t){(t=t||e.length)>e.length&&(t=e.length);for(var A=t-1;A>=0&&128===(192&e[A]);)A--;return A<0||0===A?t:A+He[e[A]]>t?A:t};var Ve=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},Ke=Object.prototype.toString,We=K.Z_NO_FLUSH,Xe=K.Z_SYNC_FLUSH,qe=K.Z_FULL_FLUSH,ze=K.Z_FINISH,$e=K.Z_OK,et=K.Z_STREAM_END,tt=K.Z_DEFAULT_COMPRESSION,At=K.Z_DEFAULT_STRATEGY,nt=K.Z_DEFLATED;function rt(e){this.options=Le({level:tt,method:nt,chunkSize:16384,windowBits:15,memLevel:8,strategy:At},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ve,this.strm.avail_out=0;var A=Me.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(A!==$e)throw new Error(V[A]);if(t.header&&Me.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"===typeof t.dictionary?Je(t.dictionary):"[object ArrayBuffer]"===Ke.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(A=Me.deflateSetDictionary(this.strm,n))!==$e)throw new Error(V[A]);this._dict_set=!0}}function it(e,t){var A=new rt(t);if(A.push(e,!0),A.err)throw A.msg||V[A.err];return A.result}rt.prototype.push=function(e,t){var A,n,r=this.strm,i=this.options.chunkSize;if(this.ended)return!1;for(n=t===~~t?t:!0===t?ze:We,"string"===typeof e?r.input=Je(e):"[object ArrayBuffer]"===Ke.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),(n===Xe||n===qe)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if((A=Me.deflate(r,n))===et)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),A=Me.deflateEnd(this.strm),this.onEnd(A),this.ended=!0,A===$e;if(0!==r.avail_out){if(n>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},rt.prototype.onData=function(e){this.chunks.push(e)},rt.prototype.onEnd=function(e){e===$e&&(this.result=Te(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var ot={Deflate:rt,deflate:it,deflateRaw:function(e,t){return(t=t||{}).raw=!0,it(e,t)},gzip:function(e,t){return(t=t||{}).gzip=!0,it(e,t)},constants:K},at=function(e,t){var A,n,r,i,o,a,s,g,c,u,l,I,C,h,f,d,B,p,E,Q,y,v,m,b,w=e.state;A=e.next_in,m=e.input,n=A+(e.avail_in-5),r=e.next_out,b=e.output,i=r-(t-e.avail_out),o=r+(e.avail_out-257),a=w.dmax,s=w.wsize,g=w.whave,c=w.wnext,u=w.window,l=w.hold,I=w.bits,C=w.lencode,h=w.distcode,f=(1<<w.lenbits)-1,d=(1<<w.distbits)-1;e:do{I<15&&(l+=m[A++]<<I,I+=8,l+=m[A++]<<I,I+=8),B=C[l&f];t:for(;;){if(l>>>=p=B>>>24,I-=p,0===(p=B>>>16&255))b[r++]=65535&B;else{if(!(16&p)){if(0===(64&p)){B=C[(65535&B)+(l&(1<<p)-1)];continue t}if(32&p){w.mode=12;break e}e.msg="invalid literal/length code",w.mode=30;break e}E=65535&B,(p&=15)&&(I<p&&(l+=m[A++]<<I,I+=8),E+=l&(1<<p)-1,l>>>=p,I-=p),I<15&&(l+=m[A++]<<I,I+=8,l+=m[A++]<<I,I+=8),B=h[l&d];A:for(;;){if(l>>>=p=B>>>24,I-=p,!(16&(p=B>>>16&255))){if(0===(64&p)){B=h[(65535&B)+(l&(1<<p)-1)];continue A}e.msg="invalid distance code",w.mode=30;break e}if(Q=65535&B,I<(p&=15)&&(l+=m[A++]<<I,(I+=8)<p&&(l+=m[A++]<<I,I+=8)),(Q+=l&(1<<p)-1)>a){e.msg="invalid distance too far back",w.mode=30;break e}if(l>>>=p,I-=p,Q>(p=r-i)){if((p=Q-p)>g&&w.sane){e.msg="invalid distance too far back",w.mode=30;break e}if(y=0,v=u,0===c){if(y+=s-p,p<E){E-=p;do{b[r++]=u[y++]}while(--p);y=r-Q,v=b}}else if(c<p){if(y+=s+c-p,(p-=c)<E){E-=p;do{b[r++]=u[y++]}while(--p);if(y=0,c<E){E-=p=c;do{b[r++]=u[y++]}while(--p);y=r-Q,v=b}}}else if(y+=c-p,p<E){E-=p;do{b[r++]=u[y++]}while(--p);y=r-Q,v=b}for(;E>2;)b[r++]=v[y++],b[r++]=v[y++],b[r++]=v[y++],E-=3;E&&(b[r++]=v[y++],E>1&&(b[r++]=v[y++]))}else{y=r-Q;do{b[r++]=b[y++],b[r++]=b[y++],b[r++]=b[y++],E-=3}while(E>2);E&&(b[r++]=b[y++],E>1&&(b[r++]=b[y++]))}break}}break}}while(A<n&&r<o);A-=E=I>>3,l&=(1<<(I-=E<<3))-1,e.next_in=A,e.next_out=r,e.avail_in=A<n?n-A+5:5-(A-n),e.avail_out=r<o?o-r+257:257-(r-o),w.hold=l,w.bits=I},st=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),gt=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),ct=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),ut=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),lt=function(e,t,A,n,r,i,o,a){var s,g,c,u,l,I,C,h,f,d=a.bits,B=0,p=0,E=0,Q=0,y=0,v=0,m=0,b=0,w=0,S=0,F=null,R=0,D=new Uint16Array(16),G=new Uint16Array(16),k=null,x=0;for(B=0;B<=15;B++)D[B]=0;for(p=0;p<n;p++)D[t[A+p]]++;for(y=d,Q=15;Q>=1&&0===D[Q];Q--);if(y>Q&&(y=Q),0===Q)return r[i++]=20971520,r[i++]=20971520,a.bits=1,0;for(E=1;E<Q&&0===D[E];E++);for(y<E&&(y=E),b=1,B=1;B<=15;B++)if(b<<=1,(b-=D[B])<0)return-1;if(b>0&&(0===e||1!==Q))return-1;for(G[1]=0,B=1;B<15;B++)G[B+1]=G[B]+D[B];for(p=0;p<n;p++)0!==t[A+p]&&(o[G[t[A+p]]++]=p);if(0===e?(F=k=o,I=19):1===e?(F=st,R-=257,k=gt,x-=257,I=256):(F=ct,k=ut,I=-1),S=0,p=0,B=E,l=i,v=y,m=0,c=-1,u=(w=1<<y)-1,1===e&&w>852||2===e&&w>592)return 1;for(;;){C=B-m,o[p]<I?(h=0,f=o[p]):o[p]>I?(h=k[x+o[p]],f=F[R+o[p]]):(h=96,f=0),s=1<<B-m,E=g=1<<v;do{r[l+(S>>m)+(g-=s)]=C<<24|h<<16|f|0}while(0!==g);for(s=1<<B-1;S&s;)s>>=1;if(0!==s?(S&=s-1,S+=s):S=0,p++,0===--D[B]){if(B===Q)break;B=t[A+o[p]]}if(B>y&&(S&u)!==c){for(0===m&&(m=y),l+=E,b=1<<(v=B-m);v+m<Q&&!((b-=D[v+m])<=0);)v++,b<<=1;if(w+=1<<v,1===e&&w>852||2===e&&w>592)return 1;r[c=S&u]=y<<24|v<<16|l-i|0}}return 0!==S&&(r[l+S]=B-m<<24|64<<16|0),a.bits=y,0},It=K.Z_FINISH,Ct=K.Z_BLOCK,ht=K.Z_TREES,ft=K.Z_OK,dt=K.Z_STREAM_END,Bt=K.Z_NEED_DICT,pt=K.Z_STREAM_ERROR,Et=K.Z_DATA_ERROR,Qt=K.Z_MEM_ERROR,yt=K.Z_BUF_ERROR,vt=K.Z_DEFLATED,mt=function(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)};function bt(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var wt,St,Ft=function(e){if(!e||!e.state)return pt;var t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,ft},Rt=function(e){if(!e||!e.state)return pt;var t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Ft(e)},Dt=function(e,t){var A;if(!e||!e.state)return pt;var n=e.state;return t<0?(A=0,t=-t):(A=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?pt:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=A,n.wbits=t,Rt(e))},Gt=function(e,t){if(!e)return pt;var A=new bt;e.state=A,A.window=null;var n=Dt(e,t);return n!==ft&&(e.state=null),n},kt=!0,xt=function(e){if(kt){wt=new Int32Array(512),St=new Int32Array(32);for(var t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(lt(1,e.lens,0,288,wt,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;lt(2,e.lens,0,32,St,0,e.work,{bits:5}),kt=!1}e.lencode=wt,e.lenbits=9,e.distcode=St,e.distbits=5},Nt=function(e,t,A,n){var r,i=e.state;return null===i.window&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new Uint8Array(i.wsize)),n>=i.wsize?(i.window.set(t.subarray(A-i.wsize,A),0),i.wnext=0,i.whave=i.wsize):((r=i.wsize-i.wnext)>n&&(r=n),i.window.set(t.subarray(A-n,A-n+r),i.wnext),(n-=r)?(i.window.set(t.subarray(A-n,A),0),i.wnext=n,i.whave=i.wsize):(i.wnext+=r,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=r))),0},Ut={inflateReset:Rt,inflateReset2:Dt,inflateResetKeep:Ft,inflateInit:function(e){return Gt(e,15)},inflateInit2:Gt,inflate:function(e,t){var A,n,r,i,o,a,s,g,c,u,l,I,C,h,f,d,B,p,E,Q,y,v,m,b,w=0,S=new Uint8Array(4),F=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return pt;12===(A=e.state).mode&&(A.mode=13),o=e.next_out,r=e.output,s=e.avail_out,i=e.next_in,n=e.input,a=e.avail_in,g=A.hold,c=A.bits,u=a,l=s,v=ft;e:for(;;)switch(A.mode){case 1:if(0===A.wrap){A.mode=13;break}for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(2&A.wrap&&35615===g){A.check=0,S[0]=255&g,S[1]=g>>>8&255,A.check=P(A.check,S,2,0),g=0,c=0,A.mode=2;break}if(A.flags=0,A.head&&(A.head.done=!1),!(1&A.wrap)||(((255&g)<<8)+(g>>8))%31){e.msg="incorrect header check",A.mode=30;break}if((15&g)!==vt){e.msg="unknown compression method",A.mode=30;break}if(c-=4,y=8+(15&(g>>>=4)),0===A.wbits)A.wbits=y;else if(y>A.wbits){e.msg="invalid window size",A.mode=30;break}A.dmax=1<<A.wbits,e.adler=A.check=1,A.mode=512&g?10:12,g=0,c=0;break;case 2:for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(A.flags=g,(255&A.flags)!==vt){e.msg="unknown compression method",A.mode=30;break}if(57344&A.flags){e.msg="unknown header flags set",A.mode=30;break}A.head&&(A.head.text=g>>8&1),512&A.flags&&(S[0]=255&g,S[1]=g>>>8&255,A.check=P(A.check,S,2,0)),g=0,c=0,A.mode=3;case 3:for(;c<32;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.head&&(A.head.time=g),512&A.flags&&(S[0]=255&g,S[1]=g>>>8&255,S[2]=g>>>16&255,S[3]=g>>>24&255,A.check=P(A.check,S,4,0)),g=0,c=0,A.mode=4;case 4:for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.head&&(A.head.xflags=255&g,A.head.os=g>>8),512&A.flags&&(S[0]=255&g,S[1]=g>>>8&255,A.check=P(A.check,S,2,0)),g=0,c=0,A.mode=5;case 5:if(1024&A.flags){for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.length=g,A.head&&(A.head.extra_len=g),512&A.flags&&(S[0]=255&g,S[1]=g>>>8&255,A.check=P(A.check,S,2,0)),g=0,c=0}else A.head&&(A.head.extra=null);A.mode=6;case 6:if(1024&A.flags&&((I=A.length)>a&&(I=a),I&&(A.head&&(y=A.head.extra_len-A.length,A.head.extra||(A.head.extra=new Uint8Array(A.head.extra_len)),A.head.extra.set(n.subarray(i,i+I),y)),512&A.flags&&(A.check=P(A.check,n,I,i)),a-=I,i+=I,A.length-=I),A.length))break e;A.length=0,A.mode=7;case 7:if(2048&A.flags){if(0===a)break e;I=0;do{y=n[i+I++],A.head&&y&&A.length<65536&&(A.head.name+=String.fromCharCode(y))}while(y&&I<a);if(512&A.flags&&(A.check=P(A.check,n,I,i)),a-=I,i+=I,y)break e}else A.head&&(A.head.name=null);A.length=0,A.mode=8;case 8:if(4096&A.flags){if(0===a)break e;I=0;do{y=n[i+I++],A.head&&y&&A.length<65536&&(A.head.comment+=String.fromCharCode(y))}while(y&&I<a);if(512&A.flags&&(A.check=P(A.check,n,I,i)),a-=I,i+=I,y)break e}else A.head&&(A.head.comment=null);A.mode=9;case 9:if(512&A.flags){for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(g!==(65535&A.check)){e.msg="header crc mismatch",A.mode=30;break}g=0,c=0}A.head&&(A.head.hcrc=A.flags>>9&1,A.head.done=!0),e.adler=A.check=0,A.mode=12;break;case 10:for(;c<32;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}e.adler=A.check=mt(g),g=0,c=0,A.mode=11;case 11:if(0===A.havedict)return e.next_out=o,e.avail_out=s,e.next_in=i,e.avail_in=a,A.hold=g,A.bits=c,Bt;e.adler=A.check=1,A.mode=12;case 12:if(t===Ct||t===ht)break e;case 13:if(A.last){g>>>=7&c,c-=7&c,A.mode=27;break}for(;c<3;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}switch(A.last=1&g,c-=1,3&(g>>>=1)){case 0:A.mode=14;break;case 1:if(xt(A),A.mode=20,t===ht){g>>>=2,c-=2;break e}break;case 2:A.mode=17;break;case 3:e.msg="invalid block type",A.mode=30}g>>>=2,c-=2;break;case 14:for(g>>>=7&c,c-=7&c;c<32;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if((65535&g)!==(g>>>16^65535)){e.msg="invalid stored block lengths",A.mode=30;break}if(A.length=65535&g,g=0,c=0,A.mode=15,t===ht)break e;case 15:A.mode=16;case 16:if(I=A.length){if(I>a&&(I=a),I>s&&(I=s),0===I)break e;r.set(n.subarray(i,i+I),o),a-=I,i+=I,s-=I,o+=I,A.length-=I;break}A.mode=12;break;case 17:for(;c<14;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(A.nlen=257+(31&g),g>>>=5,c-=5,A.ndist=1+(31&g),g>>>=5,c-=5,A.ncode=4+(15&g),g>>>=4,c-=4,A.nlen>286||A.ndist>30){e.msg="too many length or distance symbols",A.mode=30;break}A.have=0,A.mode=18;case 18:for(;A.have<A.ncode;){for(;c<3;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.lens[F[A.have++]]=7&g,g>>>=3,c-=3}for(;A.have<19;)A.lens[F[A.have++]]=0;if(A.lencode=A.lendyn,A.lenbits=7,m={bits:A.lenbits},v=lt(0,A.lens,0,19,A.lencode,0,A.work,m),A.lenbits=m.bits,v){e.msg="invalid code lengths set",A.mode=30;break}A.have=0,A.mode=19;case 19:for(;A.have<A.nlen+A.ndist;){for(;d=(w=A.lencode[g&(1<<A.lenbits)-1])>>>16&255,B=65535&w,!((f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(B<16)g>>>=f,c-=f,A.lens[A.have++]=B;else{if(16===B){for(b=f+2;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(g>>>=f,c-=f,0===A.have){e.msg="invalid bit length repeat",A.mode=30;break}y=A.lens[A.have-1],I=3+(3&g),g>>>=2,c-=2}else if(17===B){for(b=f+3;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}c-=f,y=0,I=3+(7&(g>>>=f)),g>>>=3,c-=3}else{for(b=f+7;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}c-=f,y=0,I=11+(127&(g>>>=f)),g>>>=7,c-=7}if(A.have+I>A.nlen+A.ndist){e.msg="invalid bit length repeat",A.mode=30;break}for(;I--;)A.lens[A.have++]=y}}if(30===A.mode)break;if(0===A.lens[256]){e.msg="invalid code -- missing end-of-block",A.mode=30;break}if(A.lenbits=9,m={bits:A.lenbits},v=lt(1,A.lens,0,A.nlen,A.lencode,0,A.work,m),A.lenbits=m.bits,v){e.msg="invalid literal/lengths set",A.mode=30;break}if(A.distbits=6,A.distcode=A.distdyn,m={bits:A.distbits},v=lt(2,A.lens,A.nlen,A.ndist,A.distcode,0,A.work,m),A.distbits=m.bits,v){e.msg="invalid distances set",A.mode=30;break}if(A.mode=20,t===ht)break e;case 20:A.mode=21;case 21:if(a>=6&&s>=258){e.next_out=o,e.avail_out=s,e.next_in=i,e.avail_in=a,A.hold=g,A.bits=c,at(e,l),o=e.next_out,r=e.output,s=e.avail_out,i=e.next_in,n=e.input,a=e.avail_in,g=A.hold,c=A.bits,12===A.mode&&(A.back=-1);break}for(A.back=0;d=(w=A.lencode[g&(1<<A.lenbits)-1])>>>16&255,B=65535&w,!((f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(d&&0===(240&d)){for(p=f,E=d,Q=B;d=(w=A.lencode[Q+((g&(1<<p+E)-1)>>p)])>>>16&255,B=65535&w,!(p+(f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}g>>>=p,c-=p,A.back+=p}if(g>>>=f,c-=f,A.back+=f,A.length=B,0===d){A.mode=26;break}if(32&d){A.back=-1,A.mode=12;break}if(64&d){e.msg="invalid literal/length code",A.mode=30;break}A.extra=15&d,A.mode=22;case 22:if(A.extra){for(b=A.extra;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.length+=g&(1<<A.extra)-1,g>>>=A.extra,c-=A.extra,A.back+=A.extra}A.was=A.length,A.mode=23;case 23:for(;d=(w=A.distcode[g&(1<<A.distbits)-1])>>>16&255,B=65535&w,!((f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(0===(240&d)){for(p=f,E=d,Q=B;d=(w=A.distcode[Q+((g&(1<<p+E)-1)>>p)])>>>16&255,B=65535&w,!(p+(f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}g>>>=p,c-=p,A.back+=p}if(g>>>=f,c-=f,A.back+=f,64&d){e.msg="invalid distance code",A.mode=30;break}A.offset=B,A.extra=15&d,A.mode=24;case 24:if(A.extra){for(b=A.extra;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.offset+=g&(1<<A.extra)-1,g>>>=A.extra,c-=A.extra,A.back+=A.extra}if(A.offset>A.dmax){e.msg="invalid distance too far back",A.mode=30;break}A.mode=25;case 25:if(0===s)break e;if(I=l-s,A.offset>I){if((I=A.offset-I)>A.whave&&A.sane){e.msg="invalid distance too far back",A.mode=30;break}I>A.wnext?(I-=A.wnext,C=A.wsize-I):C=A.wnext-I,I>A.length&&(I=A.length),h=A.window}else h=r,C=o-A.offset,I=A.length;I>s&&(I=s),s-=I,A.length-=I;do{r[o++]=h[C++]}while(--I);0===A.length&&(A.mode=21);break;case 26:if(0===s)break e;r[o++]=A.length,s--,A.mode=21;break;case 27:if(A.wrap){for(;c<32;){if(0===a)break e;a--,g|=n[i++]<<c,c+=8}if(l-=s,e.total_out+=l,A.total+=l,l&&(e.adler=A.check=A.flags?P(A.check,r,l,o-l):J(A.check,r,l,o-l)),l=s,(A.flags?g:mt(g))!==A.check){e.msg="incorrect data check",A.mode=30;break}g=0,c=0}A.mode=28;case 28:if(A.wrap&&A.flags){for(;c<32;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(g!==(4294967295&A.total)){e.msg="incorrect length check",A.mode=30;break}g=0,c=0}A.mode=29;case 29:v=dt;break e;case 30:v=Et;break e;case 31:return Qt;case 32:default:return pt}return e.next_out=o,e.avail_out=s,e.next_in=i,e.avail_in=a,A.hold=g,A.bits=c,(A.wsize||l!==e.avail_out&&A.mode<30&&(A.mode<27||t!==It))&&Nt(e,e.output,e.next_out,l-e.avail_out),u-=e.avail_in,l-=e.avail_out,e.total_in+=u,e.total_out+=l,A.total+=l,A.wrap&&l&&(e.adler=A.check=A.flags?P(A.check,r,l,e.next_out-l):J(A.check,r,l,e.next_out-l)),e.data_type=A.bits+(A.last?64:0)+(12===A.mode?128:0)+(20===A.mode||15===A.mode?256:0),(0===u&&0===l||t===It)&&v===ft&&(v=yt),v},inflateEnd:function(e){if(!e||!e.state)return pt;var t=e.state;return t.window&&(t.window=null),e.state=null,ft},inflateGetHeader:function(e,t){if(!e||!e.state)return pt;var A=e.state;return 0===(2&A.wrap)?pt:(A.head=t,t.done=!1,ft)},inflateSetDictionary:function(e,t){var A,n=t.length;return e&&e.state?0!==(A=e.state).wrap&&11!==A.mode?pt:11===A.mode&&J(1,t,n,0)!==A.check?Et:Nt(e,t,n,n)?(A.mode=31,Qt):(A.havedict=1,ft):pt},inflateInfo:"pako inflate (from Nodeca project)"};var _t=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},Mt=Object.prototype.toString,Ot=K.Z_NO_FLUSH,Lt=K.Z_FINISH,Tt=K.Z_OK,Zt=K.Z_STREAM_END,Ht=K.Z_NEED_DICT,Yt=K.Z_STREAM_ERROR,Jt=K.Z_DATA_ERROR,jt=K.Z_MEM_ERROR;function Pt(e){this.options=Le({chunkSize:65536,windowBits:15,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0===(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ve,this.strm.avail_out=0;var A=Ut.inflateInit2(this.strm,t.windowBits);if(A!==Tt)throw new Error(V[A]);if(this.header=new _t,Ut.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"===typeof t.dictionary?t.dictionary=Je(t.dictionary):"[object ArrayBuffer]"===Mt.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(A=Ut.inflateSetDictionary(this.strm,t.dictionary))!==Tt))throw new Error(V[A])}function Vt(e,t){var A=new Pt(t);if(A.push(e),A.err)throw A.msg||V[A.err];return A.result}Pt.prototype.push=function(e,t){var A,n,r,i=this.strm,o=this.options.chunkSize,a=this.options.dictionary;if(this.ended)return!1;for(n=t===~~t?t:!0===t?Lt:Ot,"[object ArrayBuffer]"===Mt.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(o),i.next_out=0,i.avail_out=o),(A=Ut.inflate(i,n))===Ht&&a&&((A=Ut.inflateSetDictionary(i,a))===Tt?A=Ut.inflate(i,n):A===Jt&&(A=Ht));i.avail_in>0&&A===Zt&&i.state.wrap>0&&0!==e[i.next_in];)Ut.inflateReset(i),A=Ut.inflate(i,n);switch(A){case Yt:case Jt:case Ht:case jt:return this.onEnd(A),this.ended=!0,!1}if(r=i.avail_out,i.next_out&&(0===i.avail_out||A===Zt))if("string"===this.options.to){var s=Pe(i.output,i.next_out),g=i.next_out-s,c=je(i.output,s);i.next_out=g,i.avail_out=o-g,g&&i.output.set(i.output.subarray(s,s+g),0),this.onData(c)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(A!==Tt||0!==r){if(A===Zt)return A=Ut.inflateEnd(this.strm),this.onEnd(A),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},Pt.prototype.onData=function(e){this.chunks.push(e)},Pt.prototype.onEnd=function(e){e===Tt&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Te(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var Kt,Wt,Xt={Inflate:Pt,inflate:Vt,inflateRaw:function(e,t){return(t=t||{}).raw=!0,Vt(e,t)},ungzip:Vt,constants:K},qt={Deflate:ot.Deflate,deflate:ot.deflate,deflateRaw:ot.deflateRaw,gzip:ot.gzip,Inflate:Xt.Inflate,inflate:Xt.inflate,inflateRaw:Xt.inflateRaw,ungzip:Xt.ungzip,constants:K},zt=((Kt=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(Object(s.a)(this,e),t<0||t>9)throw new Error("Invalid gzip compression level, it should be between 0 and 9");this.level=t}return Object(g.a)(e,[{key:"encode",value:function(e){return qt.gzip(e,{level:this.level})}},{key:"decode",value:function(e,t){var A=qt.ungzip(e);return void 0!==t?(t.set(A),t):A}}],[{key:"fromConfig",value:function(t){return new e(t.level)}}]),e}()).codecId="gzip",Kt),$t=((Wt=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(Object(s.a)(this,e),t<-1||t>9)throw new Error("Invalid zlib compression level, it should be between -1 and 9");this.level=t}return Object(g.a)(e,[{key:"encode",value:function(e){return qt.deflate(e,{level:this.level})}},{key:"decode",value:function(e,t){var A=qt.inflate(e);return void 0!==t?(t.set(A),t):A}}],[{key:"fromConfig",value:function(t){return new e(t.level)}}]),e}()).codecId="zlib",Wt),eA="undefined"!==typeof e&&null!=e.versions&&null!=e.versions.node?function(e){return new Uint8Array(n.from(e,"base64"))}:function(){for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:4*t-205]=t;return function(t){for(var A=t.length,n=new Uint8Array(3*(A-("="==t[A-1])-("="==t[A-2]))/4|0),r=0,i=0;r<A;){var o=e[t.charCodeAt(r++)],a=e[t.charCodeAt(r++)],s=e[t.charCodeAt(r++)],g=e[t.charCodeAt(r++)];n[i++]=o<<2|a>>4,n[i++]=a<<4|s>>2,n[i++]=s<<6|g}return n}}();function tA(e,t){return e({noInitialRun:!0,wasmBinary:eA(t)})}var AA,nA,rA=("undefined"!==typeof document&&document.currentScript&&document.currentScript.src,function(e){var t,A,n;e=e||{},t||(t="undefined"!==typeof e?e:{}),t.ready=new Promise((function(e,t){A=e,n=t}));var r,i={};for(r in t)t.hasOwnProperty(r)&&(i[r]=t[r]);var o,a="./this.program",s=t.print||console.log.bind(console),g=t.printErr||console.warn.bind(console);for(r in i)i.hasOwnProperty(r)&&(t[r]=i[r]);i=null,t.thisProgram&&(a=t.thisProgram),t.wasmBinary&&(o=t.wasmBinary),t.noExitRuntime&&t.noExitRuntime,"object"!==typeof WebAssembly&&T("no native wasm support detected");var c,u=!1,l="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;function I(e,t,A){var n=t+A;for(A=t;e[A]&&!(A>=n);)++A;if(16<A-t&&e.subarray&&l)return l.decode(e.subarray(t,A));for(n="";t<A;){var r=e[t++];if(128&r){var i=63&e[t++];if(192==(224&r))n+=String.fromCharCode((31&r)<<6|i);else{var o=63&e[t++];65536>(r=224==(240&r)?(15&r)<<12|i<<6|o:(7&r)<<18|i<<12|o<<6|63&e[t++])?n+=String.fromCharCode(r):(r-=65536,n+=String.fromCharCode(55296|r>>10,56320|1023&r))}}else n+=String.fromCharCode(r)}return n}var C,h,f,d,B,p,E,Q,y,v="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function m(e,t){for(var A=e>>1,n=A+t/2;!(A>=n)&&B[A];)++A;if(32<(A<<=1)-e&&v)return v.decode(f.subarray(e,A));for(A=0,n="";;){var r=d[e+2*A>>1];if(0==r||A==t/2)return n;++A,n+=String.fromCharCode(r)}}function b(e,t,A){if(void 0===A&&(A=2147483647),2>A)return 0;var n=t;A=(A-=2)<2*e.length?A/2:e.length;for(var r=0;r<A;++r)d[t>>1]=e.charCodeAt(r),t+=2;return d[t>>1]=0,t-n}function w(e){return 2*e.length}function S(e,t){for(var A=0,n="";!(A>=t/4);){var r=p[e+4*A>>2];if(0==r)break;++A,65536<=r?(r-=65536,n+=String.fromCharCode(55296|r>>10,56320|1023&r)):n+=String.fromCharCode(r)}return n}function F(e,t,A){if(void 0===A&&(A=2147483647),4>A)return 0;var n=t;A=n+A-4;for(var r=0;r<e.length;++r){var i=e.charCodeAt(r);if(55296<=i&&57343>=i&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++r)),p[t>>2]=i,(t+=4)+4>A)break}return p[t>>2]=0,t-n}function R(e){for(var t=0,A=0;A<e.length;++A){var n=e.charCodeAt(A);55296<=n&&57343>=n&&++A,t+=4}return t}function D(e){C=e,t.HEAP8=h=new Int8Array(e),t.HEAP16=d=new Int16Array(e),t.HEAP32=p=new Int32Array(e),t.HEAPU8=f=new Uint8Array(e),t.HEAPU16=B=new Uint16Array(e),t.HEAPU32=E=new Uint32Array(e),t.HEAPF32=Q=new Float32Array(e),t.HEAPF64=y=new Float64Array(e)}var G=t.INITIAL_MEMORY||16777216;(c=t.wasmMemory?t.wasmMemory:new WebAssembly.Memory({initial:G/65536,maximum:32768}))&&(C=c.buffer),G=C.byteLength,D(C);var k,x=[],N=[],U=[],_=[];function M(){var e=t.preRun.shift();x.unshift(e)}var O=0,L=null;function T(e){throw t.onAbort&&t.onAbort(e),g(e),u=!0,e=new WebAssembly.RuntimeError("abort("+e+"). Build with -s ASSERTIONS=1 for more info."),n(e),e}function Z(e){var t=Y;return String.prototype.startsWith?t.startsWith(e):0===t.indexOf(e)}function H(){return Z("data:application/octet-stream;base64,")}t.preloadedImages={},t.preloadedAudios={};var Y="blosc_codec.wasm";if(!H()){var J=Y;Y=t.locateFile?t.locateFile(J,""):""+J}function j(){try{if(o)return new Uint8Array(o);throw"both async and sync fetching of the wasm failed"}catch(e){T(e)}}function P(e){for(;0<e.length;){var A=e.shift();if("function"==typeof A)A(t);else{var n=A.T;"number"===typeof n?void 0===A.O?k.get(n)():k.get(n)(A.O):n(void 0===A.O?null:A.O)}}}function V(e){this.N=e-16,this.$=function(e){p[this.N+8>>2]=e},this.X=function(e){p[this.N+0>>2]=e},this.Y=function(){p[this.N+4>>2]=0},this.W=function(){h[this.N+12>>0]=0},this.Z=function(){h[this.N+13>>0]=0},this.V=function(e,t){this.$(e),this.X(t),this.Y(),this.W(),this.Z()}}function K(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var W=void 0;function X(e){for(var t="";f[e];)t+=W[f[e++]];return t}var q={},z={},$={};function ee(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=t&&57>=t?"_"+e:e}function te(e,t){return e=ee(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function Ae(e){var t=Error,A=te(e,(function(t){this.name=e,this.message=t,void 0!==(t=Error(t).stack)&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}));return A.prototype=Object.create(t.prototype),A.prototype.constructor=A,A.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},A}var ne=void 0;function re(e){throw new ne(e)}var ie=void 0;function oe(e,t,A){if(A=A||{},!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=t.name;if(e||re('type "'+n+'" must have a positive integer typeid pointer'),z.hasOwnProperty(e)){if(A.U)return;re("Cannot register type '"+n+"' twice")}z[e]=t,delete $[e],q.hasOwnProperty(e)&&(t=q[e],delete q[e],t.forEach((function(e){e()})))}var ae=[],se=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function ge(e){4<e&&0===--se[e].P&&(se[e]=void 0,ae.push(e))}function ce(e){switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=ae.length?ae.pop():se.length;return se[t]={P:1,value:e},t}}function ue(e){return this.fromWireType(E[e>>2])}function le(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function Ie(e,t){switch(t){case 2:return function(e){return this.fromWireType(Q[e>>2])};case 3:return function(e){return this.fromWireType(y[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Ce(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function he(e,A,n){t.hasOwnProperty(e)?((void 0===n||void 0!==t[e].L&&void 0!==t[e].L[n])&&re("Cannot register public name '"+e+"' twice"),function(e,A){var n=t;if(void 0===n[e].L){var r=n[e];n[e]=function(){return n[e].L.hasOwnProperty(arguments.length)||re("Function '"+A+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+n[e].L+")!"),n[e].L[arguments.length].apply(this,arguments)},n[e].L=[],n[e].L[r.S]=r}}(e,e),t.hasOwnProperty(n)&&re("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),t[e].L[n]=A):(t[e]=A,void 0!==n&&(t[e].ba=n))}function fe(e,A){var n=-1!=(e=X(e)).indexOf("j")?function(e,A){0<=e.indexOf("j")||T("Assertion failed: getDynCaller should only be called with i64 sigs");var n=[];return function(){n.length=arguments.length;for(var r=0;r<arguments.length;r++)n[r]=arguments[r];return-1!=e.indexOf("j")?n&&n.length?t["dynCall_"+e].apply(null,[A].concat(n)):t["dynCall_"+e].call(null,A):k.get(A).apply(null,n)}}(e,A):k.get(A);return"function"!==typeof n&&re("unknown function pointer with signature "+e+": "+A),n}var de=void 0;function Be(e){var t=X(e=Ge(e));return De(e),t}function pe(e,t,A){switch(t){case 0:return A?function(e){return h[e]}:function(e){return f[e]};case 1:return A?function(e){return d[e>>1]}:function(e){return B[e>>1]};case 2:return A?function(e){return p[e>>2]}:function(e){return E[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var Ee={};function Qe(){if(!ye){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:a||"./this.program"};for(e in Ee)t[e]=Ee[e];var A=[];for(e in t)A.push(e+"="+t[e]);ye=A}return ye}for(var ye,ve=[null,[],[]],me=Array(256),be=0;256>be;++be)me[be]=String.fromCharCode(be);W=me,ne=t.BindingError=Ae("BindingError"),ie=t.InternalError=Ae("InternalError"),t.count_emval_handles=function(){for(var e=0,t=5;t<se.length;++t)void 0!==se[t]&&++e;return e},t.get_first_emval=function(){for(var e=5;e<se.length;++e)if(void 0!==se[e])return se[e];return null},de=t.UnboundTypeError=Ae("UnboundTypeError"),N.push({T:function(){Fe()}});var we={p:function(e){return Re(e+16)+16},o:function(e,t,A){throw new V(e).V(t,A),e},z:function(e,t,A,n,r){var i=K(A);oe(e,{name:t=X(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:r},argPackAdvance:8,readValueFromPointer:function(e){if(1===A)var n=h;else if(2===A)n=d;else{if(4!==A)throw new TypeError("Unknown boolean type size: "+t);n=p}return this.fromWireType(n[e>>i])},M:null})},y:function(e,t){oe(e,{name:t=X(t),fromWireType:function(e){var t=se[e].value;return ge(e),t},toWireType:function(e,t){return ce(t)},argPackAdvance:8,readValueFromPointer:ue,M:null})},h:function(e,t,A){A=K(A),oe(e,{name:t=X(t),fromWireType:function(e){return e},toWireType:function(e,t){if("number"!==typeof t&&"boolean"!==typeof t)throw new TypeError('Cannot convert "'+le(t)+'" to '+this.name);return t},argPackAdvance:8,readValueFromPointer:Ie(t,A),M:null})},e:function(e,A,n,r,i,o){var a=function(e,t){for(var A=[],n=0;n<e;n++)A.push(p[(t>>2)+n]);return A}(A,n);e=X(e),i=fe(r,i),he(e,(function(){!function(e,t){var A=[],n={};throw t.forEach((function e(t){n[t]||z[t]||($[t]?$[t].forEach(e):(A.push(t),n[t]=!0))})),new de(e+": "+A.map(Be).join([", "]))}("Cannot call "+e+" due to unbound types",a)}),A-1),function(e,t){function A(e){if((e=t(e)).length!==n.length)throw new ie("Mismatched type converter count");for(var A=0;A<n.length;++A)oe(n[A],e[A])}var n=[];n.forEach((function(t){$[t]=e}));var r=Array(e.length),i=[],o=0;e.forEach((function(e,t){z.hasOwnProperty(e)?r[t]=z[e]:(i.push(e),q.hasOwnProperty(e)||(q[e]=[]),q[e].push((function(){r[t]=z[e],++o===i.length&&A(r)})))})),0===i.length&&A(r)}(a,(function(n){var r=e,a=e;n=[n[0],null].concat(n.slice(1));var s=i,g=n.length;2>g&&re("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var c=null!==n[1]&&!1,u=!1,l=1;l<n.length;++l)if(null!==n[l]&&void 0===n[l].M){u=!0;break}var I="void"!==n[0].name,C="",h="";for(l=0;l<g-2;++l)C+=(0!==l?", ":"")+"arg"+l,h+=(0!==l?", ":"")+"arg"+l+"Wired";a="return function "+ee(a)+"("+C+") {\nif (arguments.length !== "+(g-2)+") {\nthrowBindingError('function "+a+" called with ' + arguments.length + ' arguments, expected "+(g-2)+" args!');\n}\n",u&&(a+="var destructors = [];\n");var f=u?"destructors":"null";for(C="throwBindingError invoker fn runDestructors retType classParam".split(" "),s=[re,s,o,Ce,n[0],n[1]],c&&(a+="var thisWired = classParam.toWireType("+f+", this);\n"),l=0;l<g-2;++l)a+="var arg"+l+"Wired = argType"+l+".toWireType("+f+", arg"+l+"); // "+n[l+2].name+"\n",C.push("argType"+l),s.push(n[l+2]);if(c&&(h="thisWired"+(0<h.length?", ":"")+h),a+=(I?"var rv = ":"")+"invoker(fn"+(0<h.length?", ":"")+h+");\n",u)a+="runDestructors(destructors);\n";else for(l=c?1:2;l<n.length;++l)g=1===l?"thisWired":"arg"+(l-2)+"Wired",null!==n[l].M&&(a+=g+"_dtor("+g+"); // "+n[l].name+"\n",C.push(g+"_dtor"),s.push(n[l].M));if(I&&(a+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),C.push(a+"}\n"),n=function(e){var t=Function;if(!(t instanceof Function))throw new TypeError("new_ called with constructor type "+typeof t+" which is not a function");var A=te(t.name||"unknownFunctionName",(function(){}));return A.prototype=t.prototype,A=new A,(e=t.apply(A,e))instanceof Object?e:A}(C).apply(null,s),l=A-1,!t.hasOwnProperty(r))throw new ie("Replacing nonexistant public symbol");return void 0!==t[r].L&&void 0!==l?t[r].L[l]=n:(t[r]=n,t[r].S=l),[]}))},c:function(e,t,A,n,r){function i(e){return e}t=X(t),-1===r&&(r=4294967295);var o=K(A);if(0===n){var a=32-8*A;i=function(e){return e<<a>>>a}}var s=-1!=t.indexOf("unsigned");oe(e,{name:t,fromWireType:i,toWireType:function(e,A){if("number"!==typeof A&&"boolean"!==typeof A)throw new TypeError('Cannot convert "'+le(A)+'" to '+this.name);if(A<n||A>r)throw new TypeError('Passing a number "'+le(A)+'" from JS side to C/C++ side to an argument of type "'+t+'", which is outside the valid range ['+n+", "+r+"]!");return s?A>>>0:0|A},argPackAdvance:8,readValueFromPointer:pe(t,o,0!==n),M:null})},b:function(e,t,A){function n(e){var t=E;return new r(C,t[1+(e>>=2)],t[e])}var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];oe(e,{name:A=X(A),fromWireType:n,argPackAdvance:8,readValueFromPointer:n},{U:!0})},i:function(e,t){var A="std::string"===(t=X(t));oe(e,{name:t,fromWireType:function(e){var t=E[e>>2];if(A)for(var n=e+4,r=0;r<=t;++r){var i=e+4+r;if(r==t||0==f[i]){if(n=n?I(f,n,i-n):"",void 0===o)var o=n;else o+=String.fromCharCode(0),o+=n;n=i+1}}else{for(o=Array(t),r=0;r<t;++r)o[r]=String.fromCharCode(f[e+4+r]);o=o.join("")}return De(e),o},toWireType:function(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"===typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||re("Cannot pass non-string to std::string");var r=(A&&n?function(){for(var e=0,A=0;A<t.length;++A){var n=t.charCodeAt(A);55296<=n&&57343>=n&&(n=65536+((1023&n)<<10)|1023&t.charCodeAt(++A)),127>=n?++e:e=2047>=n?e+2:65535>=n?e+3:e+4}return e}:function(){return t.length})(),i=Re(4+r+1);if(E[i>>2]=r,A&&n)!function(e,t,A){var n=f;if(0<A){A=t+A-1;for(var r=0;r<e.length;++r){var i=e.charCodeAt(r);if(55296<=i&&57343>=i&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++r)),127>=i){if(t>=A)break;n[t++]=i}else{if(2047>=i){if(t+1>=A)break;n[t++]=192|i>>6}else{if(65535>=i){if(t+2>=A)break;n[t++]=224|i>>12}else{if(t+3>=A)break;n[t++]=240|i>>18,n[t++]=128|i>>12&63}n[t++]=128|i>>6&63}n[t++]=128|63&i}}n[t]=0}}(t,i+4,r+1);else if(n)for(n=0;n<r;++n){var o=t.charCodeAt(n);255<o&&(De(i),re("String has UTF-16 code units that do not fit in 8 bits")),f[i+4+n]=o}else for(n=0;n<r;++n)f[i+4+n]=t[n];return null!==e&&e.push(De,i),i},argPackAdvance:8,readValueFromPointer:ue,M:function(e){De(e)}})},d:function(e,t,A){if(A=X(A),2===t)var n=m,r=b,i=w,o=function(){return B},a=1;else 4===t&&(n=S,r=F,i=R,o=function(){return E},a=2);oe(e,{name:A,fromWireType:function(e){for(var A,r=E[e>>2],i=o(),s=e+4,g=0;g<=r;++g){var c=e+4+g*t;g!=r&&0!=i[c>>a]||(s=n(s,c-s),void 0===A?A=s:(A+=String.fromCharCode(0),A+=s),s=c+t)}return De(e),A},toWireType:function(e,n){"string"!==typeof n&&re("Cannot pass non-string to C++ string type "+A);var o=i(n),s=Re(4+o+t);return E[s>>2]=o>>a,r(n,s+4,o+t),null!==e&&e.push(De,s),s},argPackAdvance:8,readValueFromPointer:ue,M:function(e){De(e)}})},A:function(e,t){oe(e,{aa:!0,name:t=X(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},n:ge,x:function(e){4<e&&(se[e].P+=1)},C:function(e,t){var A=z[e];return void 0===A&&re("_emval_take_value has unknown type "+Be(e)),ce(e=A.readValueFromPointer(t))},t:function(){T()},r:function(e,t,A){f.copyWithin(e,t,t+A)},s:function(e){e>>>=0;var t=f.length;if(2147483648<e)return!1;for(var A=1;4>=A;A*=2){var n=t*(1+.2/A);n=Math.min(n,e+100663296),0<(n=Math.max(16777216,e,n))%65536&&(n+=65536-n%65536);e:{try{c.grow(Math.min(2147483648,n)-C.byteLength+65535>>>16),D(c.buffer);var r=1;break e}catch(i){}r=void 0}if(r)return!0}return!1},u:function(e,t){var A=0;return Qe().forEach((function(n,r){var i=t+A;for(r=p[e+4*r>>2]=i,i=0;i<n.length;++i)h[r++>>0]=n.charCodeAt(i);h[r>>0]=0,A+=n.length+1})),0},v:function(e,t){var A=Qe();p[e>>2]=A.length;var n=0;return A.forEach((function(e){n+=e.length+1})),p[t>>2]=n,0},w:function(){return 0},q:function(){},g:function(e,t,A,n){for(var r=0,i=0;i<A;i++){for(var o=p[t+8*i>>2],a=p[t+(8*i+4)>>2],c=0;c<a;c++){var u=f[o+c],l=ve[e];0===u||10===u?((1===e?s:g)(I(l,0)),l.length=0):l.push(u)}r+=a}return p[n>>2]=r,0},a:c,l:function(){return 0},k:function(){return 0},j:function(){},B:function(){return 6},m:function(){},f:function(){}};!function(){function e(e){t.asm=e.exports,k=t.asm.D,O--,t.monitorRunDependencies&&t.monitorRunDependencies(O),0==O&&L&&(e=L,L=null,e())}function A(t){e(t.instance)}function r(e){return Promise.resolve().then(j).then((function(e){return WebAssembly.instantiate(e,i)})).then(e,(function(e){g("failed to asynchronously prepare wasm: "+e),T(e)}))}var i={a:we};if(O++,t.monitorRunDependencies&&t.monitorRunDependencies(O),t.instantiateWasm)try{return t.instantiateWasm(i,e)}catch(a){return g("Module.instantiateWasm callback failed with error: "+a),!1}(o||"function"!==typeof WebAssembly.instantiateStreaming||H()||Z("file://")||"function"!==typeof fetch?r(A):fetch(Y,{credentials:"same-origin"}).then((function(e){return WebAssembly.instantiateStreaming(e,i).then(A,(function(e){return g("wasm streaming compile failed: "+e),g("falling back to ArrayBuffer instantiation"),r(A)}))}))).catch(n)}();var Se,Fe=t.___wasm_call_ctors=function(){return(Fe=t.___wasm_call_ctors=t.asm.E).apply(null,arguments)},Re=t._malloc=function(){return(Re=t._malloc=t.asm.F).apply(null,arguments)},De=t._free=function(){return(De=t._free=t.asm.G).apply(null,arguments)},Ge=t.___getTypeName=function(){return(Ge=t.___getTypeName=t.asm.H).apply(null,arguments)};function ke(){function e(){if(!Se&&(Se=!0,t.calledRun=!0,!u)){if(P(N),P(U),A(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;){var e=t.postRun.shift();_.unshift(e)}P(_)}}if(!(0<O)){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)M();P(x),0<O||(t.setStatus?(t.setStatus("Running..."),setTimeout((function(){setTimeout((function(){t.setStatus("")}),1),e()}),1)):e())}}if(t.___embind_register_native_and_builtin_types=function(){return(t.___embind_register_native_and_builtin_types=t.asm.I).apply(null,arguments)},t.dynCall_jiiiii=function(){return(t.dynCall_jiiiii=t.asm.J).apply(null,arguments)},t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.K).apply(null,arguments)},L=function e(){Se||ke(),Se||(L=e)},t.run=ke,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);0<t.preInit.length;)t.preInit.pop()();return ke(),e.ready}),iA="AGFzbQEAAAABwAImYAF/AX9gA39/fwF/YAV/f39/fwF/YAJ/fwF/YAJ/fwBgAX8AYAN/f38AYAR/f39/AX9gBH9/f38AYAAAYAZ/f39/f38Bf2AFf39/f38AYAZ/f39/f38AYAd/f39/f39/AX9gBH9/f38BfmAFf39/f38BfmAIf39/f39/f38Bf2AJf39/f39/f39/AX9gAn5/AX9gC39/f39/f39/f39/AX9gA39+fwF+YAN/f34AYAN/f34Bf2ADfn9/AX9gAn5+AX5gCH9/f39/f39/AGAJf39/f39/f39/AGAFf35/f38AYAABf2ANf39/f39/f39/f39/fwF/YA9/f39/f39/f39/f39/f38Bf2AFf39/fn8Bf2AGf3x/f39/AX9gAX8BfmACf38BfmAHf35/f39/fwF+YAF+AX5gBH5/f34BfgK0AR0BYQFiAAYBYQFjAAsBYQFkAAYBYQFlAAwBYQFmAAUBYQFnAAcBYQFoAAYBYQFpAAQBYQFqAAMBYQFrAAABYQFsAAABYQFtAAMBYQFuAAUBYQFvAAYBYQFwAAABYQFxAAIBYQFyAAEBYQFzAAABYQF0AAkBYQF1AAMBYQF2AAMBYQF3AAABYQF4AAUBYQF5AAQBYQF6AAsBYQFBAAQBYQFCAAcBYQFDAAMBYQFhAgGAAoCAAgOtBKsEBAEBAwIACAAAAAQHAQEBAAIBAAQDAQMBBAEFAwUFAAYAAwAIAgIDAQgBAwYBCwEBAAQYBAEEBwoGAwMLBwgBBggDCwUDAwMGCAEGBAYABwIGAAABAAIEBAYEBQMDAAsABgwDAAANBgIYAwkAAQwGBggAAgAAAAUQHQAEAQMbBwcHBwMDBh4TBAgBAgECCgcGCgYEAAQAARARAwAIAAYDBgAFBQUFBQUJCwUGAQAFBQICAgcHAwQEAAcSARIXJQQGAwMDAAUEAQABBQUDAAMGCgAFBQMBHwUDAwUFAREDBwoEAAUBAwcKCiEGBQEABgYGBQUIAxMNAAADAAkBBwcHBwcHBwcAAQgGBwMRAgICAgYCCAoCAgcCCAAFBAUFAAMAAAIKBBQACQwMCwMLCAgICwwAAQEFAAUABQkDAAMSEhcGAQAUAAAJCQkJBgAJCQkJCQkJCQkJCQkJDQ0ABgcBAQcHAgEBAgEEAwoABAcFBRwKCgoFAgoCAgMaGQUE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BCAGanQgAWohASACIARHIQwgBEEBaiEEIAwNAAsLIA1BAWoiDSACayIBIAcgAWtBAWoiCEkEQCAKQQJJIQYDQEEBIQQgBkUEQANAIARBAnQiCiADIAFBNGxqaiADIApqKAIAIAF2NgIAIAIgBEchCiAEQQFqIQQgCg0ACwsgAUEBaiIBIAhJDQALCyAAQQRqIAcgCyAJIANBpAVqIAMgAiANEJYDIAVBAToABSAFIAc6AAYgACAFKAIENgIACyAQIQQLIAVBEGokACAEC+ACAQl/IwBBEGsiBCQAIARBADYCDCAEQQA2AggCQCADQUBrIgkgAyAEQQhqIARBDGogASACEPsBIggQIQ0AIARBBGogACgCABA0QQEhASAEKAIMIgUgBC0ABEEBak0EQEEAIQIgBEEAOgAFIAQgBToABiAAIAQoAgQ2AgAgBUEBakEBSwRAA0AgAyABQQJ0aiIGKAIAIQcgBiACNgIAIAcgAUF/anQgAmohAiABIAVGIQYgAUEBaiEBIAZFDQALCyAEKAIIIgdFDQEgAEEEaiEKIAVBAWohC0EAIQADQCADIAAgCWotAAAiBUECdGoiBigCACIBIAFBASAFdEEBdSIMaiICSQRAIAsgBWshBQNAIAogAUEBdGoiAiAFOgABIAIgADoAACABQQFqIgEgBigCACAMaiICSQ0ACwsgBiACNgIAIABBAWoiACAHRw0ACwwBC0FUIQgLIARBEGokACAICxQAIAAoAABBgPqerQNsQSAgAWt2CygAAkACQAJAIAAoAowBQX9qDgIAAQILIAAgARDCAw8LIAAgARDHAwsLOgEBfyABIAAoAgRrIgEgACgCGCICQYAIaksEQCAAIAEgASACa0GAeGoiAEGABCAAQYAESRtrNgIYCwsVACAAEJEBBEAgACgCBA8LIAAtAAsLRQEBfwJAIAIgA00gACABTXINAANAIABBf2oiAC0AACACQX9qIgItAABHDQEgBEEBaiEEIAIgA00NASAAIAFLDQALCyAECwwAIABBICABa62IpwsQACAAIAEgAigCCHRBA3RqCxIAIABBwAAgAWutiKdBACABGwsvAEEgIAFrIgEgAkkEQCAAp0F/IAJ0QX9zcQ8LIAAgASACa62Ip0F/IAJ0QX9zcQsgACACrSAAIAGtQgp8IAN+fULjyJW9y5vvjU9+fEIK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nn9+QuPcypX8zvL1hX98IQYgBCIDIgFBCGoiBCACTQ0ACwsCQCADQQRqIgEgAksEQCADIQEMAQsgAygAAK1Ch5Wvr5i23puef34gBoVCF4lCz9bTvtLHq9lCfkL5893xmfaZqxZ8IQYLIAEgAkkEQCAAIAVqQShqIQADQCABMQAAQsXP2bLx5brqJ34gBoVCC4lCh5Wvr5i23puef34hBiABQQFqIgEgAEcNAAsLIAZCIYggBoVCz9bTvtLHq9lCfiIGQh2IIAaFQvnz3fGZ9pmrFn4iBkIgiCAGhQv4AgICfwR+IAAgACkDACACrXw3AwACQAJAIAAoAkgiAyACakEfTQRAIAAgA2pBKGogASACEKsBIAAoAkggAmohAQwBCyABIAJqIQQCQAJ/IAMEQCAAQShqIgIgA2ogAUEgIANrEKsBIAAgACkDCCACKQAAEE43AwggACAAKQMQIAApADAQTjcDECAAIAApAxggACkAOBBONwMYIAAgACkDICAAQUBrKQAAEE43AyAgACgCSCECIABBADYCSCABIAJrQSBqIQELIAFBIGogBEsLBEAgASECDAELIARBYGohAyAAKQMgIQUgACkDGCEGIAApAxAhByAAKQMIIQgDQCAIIAEpAAAQTiEIIAcgASkACBBOIQcgBiABKQAQEE4hBiAFIAEpABgQTiEFIAFBIGoiAiEBIAIgA00NAAsgACAFNwMgIAAgBjcDGCAAIAc3AxAgACAINwMICyACIARPDQEgAEEoaiACIAQgAmsiARCrAQsgACABNgJICwtlACAAQgA3AyggAEL56tDQ58mh5OEANwMgIABCADcDGCAAQs/W077Sx6vZQjcDECAAQtbrgu7q/Yn14AA3AwggAEIANwMAIABCADcDMCAAQgA3AzggAEFAa0IANwMAIABCADcDSAsVACABBEAgAiAAIAERAwAPCyAAEEwLYQEDf0F+IQECQCAARQ0AIAAoAhwiAkUNACAAKAIkIgNFDQAgAigCNCIBBEAgACgCKCABIAMRBAAgACgCJCEDIAAoAhwhAgsgACgCKCACIAMRBABBACEBIABBADYCHAsgAQudCwEMfyACQQBOBEBBBEEDIAEvAQIiCxshB0EHQYoBIAsbIQQgAEG5LWohCEF/IQYDQCALIQkCQCAJIAEgDCINQQFqIgxBAnRqLwECIgtHIAVBAWoiAyAETnJFBEAgAyEFDAELAkAgAyAHSARAIAAgCUECdGoiBUH8FGohByAFQf4UaiEKIAAvAbgtIQQgACgCvC0hBQNAIAovAQAhBiAAIAQgBy8BACIOIAV0ciIEOwG4LSAAAn8gBUEQIAZrSgRAIAAgACgCFCIFQQFqNgIUIAUgACgCCGogBDoAACAAIAAoAhQiBUEBajYCFCAFIAAoAghqIAgtAAA6AAAgACAOQRAgACgCvC0iBWt2IgQ7AbgtIAUgBmpBcGoMAQsgBSAGagsiBTYCvC0gA0F/aiIDDQALDAELIAACfyAJBEACQCAGIAlGBEAgAC8BuC0hByAAKAK8LSEEIAMhBQwBCyAAIAlBAnRqIgZB/hRqLwEAIQMgACAALwG4LSAGQfwUai8BACIKIAAoArwtIgZ0ciIHOwG4LQJAIAZBECADa0oEQCAAIAAoAhQiBkEBajYCFCAGIAAoAghqIAc6AAAgACAAKAIUIgZBAWo2AhQgBiAAKAIIaiAILQAAOgAAIAMgACgCvC0iBmpBcGohBCAKQRAgBmt2IQcMAQsgAyAGaiEECyAAIAQ2ArwtCyAHIAAvAbwVIgYgBHRyIQcCQCAEQRAgAC8BvhUiA2tKBEAgACAHOwG4LSAAIAAoAhQiBEEBajYCFCAEIAAoAghqIAc6AAAgACAAKAIUIgRBAWo2AhQgBCAAKAIIaiAILQAAOgAAIAMgACgCvC0iB2pBcGohBCAGQRAgB2t2IQcMAQsgAyAEaiEECyAAIAQ2ArwtIAAgByAFQf3/A2pB//8DcSIFIAR0ciIDOwG4LSAEQQ9OBEAgACAAKAIUIgZBAWo2AhQgBiAAKAIIaiADOgAAIAAgACgCFCIDQQFqNgIUIAMgACgCCGogCC0AADoAACAAIAVBECAAKAK8LSIFa3Y7AbgtIAVBcmoMAgsgBEECagwBCyAFQQlMBEAgAC8BuC0gAC8BwBUiCiAAKAK8LSIDdHIhBwJAIANBECAALwHCFSIGa0oEQCAAIAc7AbgtIAAgACgCFCIDQQFqNgIUIAMgACgCCGogBzoAACAAIAAoAhQiA0EBajYCFCADIAAoAghqIAgtAAA6AAAgBiAAKAK8LSIDakFwaiEEIApBECADa3YhBwwBCyADIAZqIQQLIAAgBDYCvC0gACAHIAVB/v8DakH//wNxIgUgBHRyIgM7AbgtIARBDk4EQCAAIAAoAhQiBkEBajYCFCAGIAAoAghqIAM6AAAgACAAKAIUIgNBAWo2AhQgAyAAKAIIaiAILQAAOgAAIAAgBUEQIAAoArwtIgVrdjsBuC0gBUFzagwCCyAEQQNqDAELIAAvAbgtIAAvAcQVIgogACgCvC0iA3RyIQcCQCADQRAgAC8BxhUiBmtKBEAgACAHOwG4LSAAIAAoAhQiA0EBajYCFCADIAAoAghqIAc6AAAgACAAKAIUIgNBAWo2AhQgAyAAKAIIaiAILQAAOgAAIAYgACgCvC0iA2pBcGohBCAKQRAgA2t2IQcMAQsgAyAGaiEECyAAIAQ2ArwtIAAgByAFQfb/A2pB//8DcSIFIAR0ciIDOwG4LSAEQQpOBEAgACAAKAIUIgZBAWo2AhQgBiAAKAIIaiADOgAAIAAgACgCFCIDQQFqNgIUIAMgACgCCGogCC0AADoAACAAIAVBECAAKAK8LSIFa3Y7AbgtIAVBd2oMAQsgBEEHags2ArwtC0EAIQUCfyALRQRAQYoBIQRBAwwBC0EGQQcgCSALRiIDGyEEQQNBBCADGwshByAJIQYLIAIgDUcNAAsLC7kCAQx/IAEvAQIhBiACQQJ0IAFqQf//AzsBBiACQQBOBEBBB0GKASAGGyEIQQRBAyAGGyEHIABBwBVqIQsgAEHEFWohDCAAQbwVaiENQX8hCQNAIAYhBAJAIAQgASAKIg5BAWoiCkECdGovAQIiBkcgA0EBaiIFIAhOckUEQCAFIQMMAQsCfyAFIAdIBEAgACAEQQJ0akH8FGoiAy8BACAFagwBCyAEBEAgBCAJRwRAIAAgBEECdGpB/BRqIgMgAy8BAEEBajsBAAsgDSIDLwEAQQFqDAELIANBCUwEQCALIgMvAQBBAWoMAQsgDCIDLwEAQQFqCyEFIAMgBTsBAEEAIQMCfyAGRQRAQQMhB0GKAQwBC0EDQQQgBCAGRiIFGyEHQQZBByAFGwshCCAEIQkLIAIgDkcNAAsLC+EIAQp/AkAgACgCoC1FBEAgAC8BuC0hBSAAKAK8LSEEDAELIABBuS1qIQgDQCADQQFqIQogACgCmC0gA2otAAAhBQJAIAACfyAAKAKkLSADQQF0ai8BACIJRQRAIAEgBUECdGoiBC8BAiEDIAAgAC8BuC0gBC8BACIHIAAoArwtIgR0ciIFOwG4LSAEQRAgA2tKBEAgACAAKAIUIgRBAWo2AhQgBCAAKAIIaiAFOgAAIAAgACgCFCIEQQFqNgIUIAQgACgCCGogCC0AADoAACAAIAdBECAAKAK8LSIEa3YiBTsBuC0gAyAEakFwagwCCyADIARqDAELIAVBoOUAai0AACILQQJ0IgdBgAhyIAFqIgQvAQYhAyAAIAAvAbgtIAQvAQQiDCAAKAK8LSIGdHIiBDsBuC0gAAJ/IAZBECADa0oEQCAAIAAoAhQiBkEBajYCFCAGIAAoAghqIAQ6AAAgACAAKAIUIgRBAWo2AhQgBCAAKAIIaiAILQAAOgAAIAAgDEEQIAAoArwtIgZrdiIEOwG4LSADIAZqQXBqDAELIAMgBmoLIgM2ArwtIAtBeGpBE00EQCAAIAQgBSAHQaDnAGooAgBrQf//A3EiBiADdHIiBDsBuC0gAAJ/IANBECAHQYDkAGooAgAiBWtKBEAgACAAKAIUIgNBAWo2AhQgAyAAKAIIaiAEOgAAIAAgACgCFCIDQQFqNgIUIAMgACgCCGogCC0AADoAACAAIAZBECAAKAK8LSIDa3YiBDsBuC0gAyAFakFwagwBCyADIAVqCyIDNgK8LQsgAiAJQX9qIgcgB0EHdkGAAmogB0GAAkkbQaDoAGotAAAiC0ECdCIJaiIFLwECIQYgACAEIAUvAQAiDCADdHIiBTsBuC0gAAJ/IANBECAGa0oEQCAAIAAoAhQiA0EBajYCFCADIAAoAghqIAU6AAAgACAAKAIUIgNBAWo2AhQgAyAAKAIIaiAILQAAOgAAIAAgDEEQIAAoArwtIgNrdiIFOwG4LSADIAZqQXBqDAELIAMgBmoLIgQ2ArwtIAtBBEkNASAAIAUgByAJQaDsAGooAgBrQf//A3EiByAEdHIiBTsBuC0gBEEQIAlBgNoAaigCACIDa0oEQCAAIAAoAhQiBEEBajYCFCAEIAAoAghqIAU6AAAgACAAKAIUIgRBAWo2AhQgBCAAKAIIaiAILQAAOgAAIAAgB0EQIAAoArwtIgRrdiIFOwG4LSADIARqQXBqDAELIAMgBGoLIgQ2ArwtCyAKIgMgACgCoC1JDQALCyABQYIIai8BACECIAAgBSABLwGACCIBIAR0ciIDOwG4LSAEQRAgAmtKBEAgACAAKAIUIgpBAWo2AhQgCiAAKAIIaiADOgAAIAAgACgCFCIDQQFqNgIUIAMgACgCCGogAEG5LWotAAA6AAAgACABQRAgACgCvC0iAWt2OwG4LSAAIAEgAmpBcGo2ArwtDwsgACACIARqNgK8LQuXAQECfwJAAn8gACgCvC0iAUEJTgRAIAAgACgCFCIBQQFqNgIUIAEgACgCCGogAC0AuC06AAAgACAAKAIUIgFBAWo2AhQgAEG5LWotAAAhAiABIAAoAghqDAELIAFBAUgNASAAIAAoAhQiAUEBajYCFCAALQC4LSECIAEgACgCCGoLIAI6AAALIABBADYCvC0gAEEAOwG4LQvaBAEBfwNAIAAgAUECdGpBADsBlAEgAUEBaiIBQZ4CRw0ACyAAQQA7AfwUIABBADsBiBMgAEHEFWpBADsBACAAQcAVakEAOwEAIABBvBVqQQA7AQAgAEG4FWpBADsBACAAQbQVakEAOwEAIABBsBVqQQA7AQAgAEGsFWpBADsBACAAQagVakEAOwEAIABBpBVqQQA7AQAgAEGgFWpBADsBACAAQZwVakEAOwEAIABBmBVqQQA7AQAgAEGUFWpBADsBACAAQZAVakEAOwEAIABBjBVqQQA7AQAgAEGIFWpBADsBACAAQYQVakEAOwEAIABBgBVqQQA7AQAgAEH8E2pBADsBACAAQfgTakEAOwEAIABB9BNqQQA7AQAgAEHwE2pBADsBACAAQewTakEAOwEAIABB6BNqQQA7AQAgAEHkE2pBADsBACAAQeATakEAOwEAIABB3BNqQQA7AQAgAEHYE2pBADsBACAAQdQTakEAOwEAIABB0BNqQQA7AQAgAEHME2pBADsBACAAQcgTakEAOwEAIABBxBNqQQA7AQAgAEHAE2pBADsBACAAQbwTakEAOwEAIABBuBNqQQA7AQAgAEG0E2pBADsBACAAQbATakEAOwEAIABBrBNqQQA7AQAgAEGoE2pBADsBACAAQaQTakEAOwEAIABBoBNqQQA7AQAgAEGcE2pBADsBACAAQZgTakEAOwEAIABBlBNqQQA7AQAgAEGQE2pBADsBACAAQYwTakEAOwEAIABCADcCrC0gAEGUCWpBATsBACAAQQA2AqgtIABBADYCoC0LngEBAn8gACAALwG4LSADQf//A3EiBCAAKAK8LSIDdHIiBTsBuC0gAAJ/IANB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A0AgCSAFIARBAXRqIgotAAEiC0ECdGoiDCgCACEDIAlBPGogCi0AAEEIdCAIakH//wNxEC8gCUECOgA/IAkgByALayIKIAJqOgA+IANBASABIAprdGohCiAJKAI8IQsDQCAAIANBAnRqIAs2AQAgA0EBaiIDIApJDQALIAwgCjYCACAEQQFqIgQgBkcNAAsLIAlBQGskAAvdAgEJfyMAQdAAayIJJAAgCUFAayAFKAIwNgIAIAkgBSkCKDcDOCAJIAUpAiA3AzAgCSAFKQIYNwMoIAkgBSkCEDcDICAJIAUpAgA3AxAgCSAFKQIINwMYIAMEQCAHIAZrIQ8gByABayEQA0BBASABIAcgAiALQQF0aiIGLQABIgxrIghrIgp0IQ0gBi0AACEOIAlBEGogDEECdGoiDCgCACEGAkAgCiAPTwRAIAAgBkECdGogCiAIIAUgCEE0bGogCCAQaiIIQQEgCEEBShsiCCACIAQgCEECdGooAgAiCEEBdGogAyAIayAHIA4QlQMgBiANaiEIDAELIAlBDGogDhAvIAlBAToADyAJIAg6AA4gBiAGIA1qIghPDQAgCSgCDCEKA0AgACAGQQJ0aiAKNgEAIAZBAWoiBiAIRw0ACwsgDCAINgIAIAtBAWoiCyADRw0ACwsgCUHQAGokAAs+AQN/IAAEQCAAKAIAIABBvNABaigCACIBIABBwNABaigCACICIABBxNABaigCACIDEGQgACABIAIgAxBkCwvMAQEBfyAAIAEoArTQATYCmOIBIAAgASgCBCICNgLA4AEgACACNgK84AEgACACIAEoAghqIgI2ArjgASAAIAI2AsTgASABKAK40AEEQCAAQoGAgIAQNwOI4QEgACABQaTQAGo2AgwgACABQZQgajYCCCAAIAFBnDBqNgIEIAAgAUEMajYCACAAQazQAWogAUGo0AFqKAIANgIAIABBsNABaiABQazQAWooAgA2AgAgAEG00AFqIAFBsNABaigCADYCAA8LIABCADcDiOEBC6JIAS5/IwBB4ABrIhIkACAAKAKEASEGIAAoAgQhByAAKAKIASEFIAAoAgwhCCASIAAoAhg2AlwgACgCPCEbIABBQGsoAgAhHCAAQSxqIiYgAyAEQQIQWSADIAcgCGogA0ZqIg0gAyAEaiIMQXhqIi5JBEAgBUH/HyAFQf8fSRsh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AnRBsKcBaigCABBHIAtBOGoQOSALQThqIAAvAQYgAi0AAEECdEGQpAFqKAIAEEcgC0E4ahA5AkAgCgRAIAEtAAAiASABQRggAUEYSRsiAmsiAQRAIAtBOGogACgCACABEEcgC0E4ahA5CyALQThqIAAoAgAgAXYgAhBHDAELIAtBOGogACgCACABLQAAEEcLIAtBOGoQOSAJQQJPBEAgCUF+aiEMA0AgByAMai0AACECIAMgDGotAAAhBCALQThqIAtBGGogBSAMai0AACIAEGwgC0E4aiALQShqIAQQbCALQThqEDkgC0E4aiALQQhqIAIQbCALQThqEDkgC0E4aiAIIAxBA3RqIgEvAQQgAkECdEGwpwFqKAIAIgIQRyACIARBAnRBkKQBaigCACICakEZTwRAIAtBOGoQOQsgC0E4aiABLwEGIAIQRyALQThqEDkCQCAKBEAgACAAQRggAEEYSRsiAmsiAARAIAtBOGogASgCACAAEEcgC0E4ahA5CyALQThqIAEoAgAgAHYgAhBHDAELIAtBOGogASgCACAAEEcLIAtBOGoQOSAMQX9qIgwgCUkNAAsLIAtBOGogCygCKCALKAI0EHQgC0E4aiALKAIYIAsoAiQQdCALQThqIAsoAgggCygCFBB0IAtBOGoQ/QEiAEG6fyAAGyEMCyALQdAAaiQAIAwLLwAgACACQQN0aigCBCIAQRB2QQFqIgJBCHRBfyABdCAAayACQRB0akEIdCABdmsLTwEEfwNAIANBASAAIARBAnRqKAIAIgNBCHQiBSACbiIGIAUgAkkbIAYgAxtBAnRBkJwBaigCACADbGohAyAEQQFqIgQgAU0NAAsgA0EIdgtKAQF/IwBB8ARrIgQkACAEIAMgAiABEKcBIgMgACACIAEQpgEiAhAhRQRAIARB8ABqQYAEIAQgASADEKgBIQILIARB8ARqJAAgAguKAQEIfyMAQRBrIgMkACADIAAQc0F/IQUCQCAALwACIAJJDQAgAygCDCIHQQh0QYACaiEIIAMoAgghCUEAIQADQCAJIAcgABDJAyEGIAEgAEECdGooAgAiCgRAIAYgCE8NAiAGIApsIARqIQQLIABBAWoiACACTQ0ACyAEQQh2IQULIANBEGokACAFC18BAn9BCCABayEFQQAhAQNAIARBASAAIAFBAXRqLwEAIgQgBEH//wNGG0EQdEEQdSAFdEECdEGQnAFqKAIAIAIgAUECdGooAgBsaiEEIAFBAWoiASADTQ0ACyAEQQh2C2wBAX8CQAJAAkACQCACQf8fS0ECQQEgAkEfSxtqIgNBf2oOAwABAgMLIAAgAkEDdEEBcjoAAAwCCyAAIAJBBHRBBXJB9f8DcRAvDAELIAAgAkEEdEENchBNCyAAIANqIAEtAAA6AAAgA0EBagtBACAALQAAQQJHBEAgAkEANgIAIANBADYCACABQQA2AgAPCyABIAAoAAQ2AgAgAyAAKAAINgIAIAIgACgADDYCAAuLAQEBfyMAQSBrIgEkACAAQQBBmAYQKCIAQQA2AqADIABBADYCnAMgAEEANgKYAyABQRBqEOABIAEgASkDGDcDCCABIAEpAxA3AwAgACABEN8BNgIIIAAoAugFRQRAIAAQ9gEgAEEMaiIABEAgAEEAQfgAECgiAEEBNgIgIABBAzYCLAsLIAFBIGokAAtOACAAIAFB+AAQKiIAIAIoAhg2AhwgACACKQIQNwIUIAAgAikCCDcCDCAAIAIpAgA3AgQgACACKQIcNwIgIAAgAigCJDYCKCAAQQM2AiwLqQEBAn8jAEHQAWsiBiQAIAZBqAFqIgcgBSAERSAEaq0Q9QMgB0EBNgIcIAdCADcCICAGIAYpA7ABNwMQIAYgBikDuAE3AxggBiAGKQPAATcDICAGIAYpA8gBNwMoIAYgBikDqAE3AwggBkEwaiAAQQxqIAZBCGoQ0QMgACAGQTBqIAStEN4DIgUQIQR/IAUFIAAgASACIAMgBBDxAwshACAGQdABaiQAIAALJwECfyAAKAIQIgEgACgCDCICSQRAIAFBACACIAFrECgaCyAAEO0BCyYAIAAQ5QEgAEEANgJwIABBADYCSCAAQQA2AhQgACAAKAIMNgIYC2IBA38jAEEgayICJAAgARB7IAJBFGogAkEcaiACQRhqEM8DQYjsASACKAIUIgMQTCIENgIAIAEQeyAEIAMQowIgAkEIaiADQYjsASgCABDbASAAIAJBCGoQ2gEgAkEgaiQACzQAIABBADYCICAAIAE2AhAgACABNgIIIAAgATYCACAAIAEgAmo2AgQgABDmASAAQQA2AhwLQwECfkIBIQIgAFBFBEBC48iVvcub741PIQEDQEIBIAEgAEIBg1AbIAJ+IQIgASABfiEBIABCAYgiAEIAUg0ACwsgAgvEAgEDfyACKAIYQQFHBEBBBCACKAIEdCEFCyACKAIIIQYgAigCEEEDRgRAIAIoAgAiBEERIARBEUkbIQQLIANBAUYEQCAAQoGAgIAQNwIMIABCADcCBCAAQQE2AgAgARDuAQsgACAENgIcIAAQ1AMgASABKAIINgIMIAAgAUEEIAZ0EJ4BNgIgIAAgASAFEJ4BNgIoIAAgAUEEIAR0QQAgBBsQngE2AiQgASgCGEUEQCABENMDIAIoAhhBB08EQCAAIAFBgAgQVTYCLCAAIAFBkAEQVTYCMCAAIAFB1AEQVTYCNCAAIAFBgAEQVTYCOCAAIAFBiIACEFU2AjwgAEFAayABQZyABxBVNgIACyAAIAIpAgA3AnQgACACKAIYNgKMASAAIAIpAhA3AoQBIAAgAikCCDcCfEFAQQAgASgCGBsPC0FACzQAIABBADYCgAggAEHoI2pChICAgIABNwIAIABB4CNqQoCAgIAQNwIAIABB2CNqQgA3AgALLAECf0EBQQAgACgCBCIBIAAoAghrIgIgAiABSxt0QQggAXRqQQAgACgCABsLhQEBA38gACgCGCIBQQFHBEBBBCAAKAIEdCEDCyAAKAIIIQICfwJAIAAoAhBBA0YEQEGIjAlBACABQQZLGyEBQQQgAnQhAkGAgCAgACgCACIAQRFPDQIaIABFDQFBBCAAdAwCC0GIjAlBACABQQZLGyEBQQQgAnQhAgtBAAsgASADaiACamoLlQEBAn8gACABNgIUIAAoAgghBSAAKAIMIgRFBEAgAEHAADYCDEHAACEECyADQQdPBEAgACACIAQgBCACSRs2AgwLIAAoAgQiBEUEQCAAIAFBeWoiAkEGIAJBBksbIgQ2AgQLIAAoAhBFBEAgAEEAIAEgBGsiAiACIAFLGzYCEAsgACAFQQMgBRsiACAEIAAgBEkbNgIIC/AIAhB/AX4jAEHQAGsiBSQAIABBATYCuAMgAUHUAGohBiABKAJUBEAgBiABKAIEIAEoAhggASgCHBDcAyAAIAEoAmBBf2qtENcDNwOIBAsgASgCFCEIIAE1AgQhEyABQQRqIgkQ2wMhDiAFIAYpAhA3A0ggBUFAayAGKQIINwMAIAUgBikCADcDOAJ/QgEgE4YiEyACIBMgAlQbpyIEQQEgBBsiBEGAgAggBEGAgAhJGyILIQRBACAFKAI4RQ0AGiAEIAUoAkRuCyEMIAUgACgCwAQ2AjAgBSAAKQK4BDcDKCAFIABBsARqIg8pAgA3AyAgBSgCICAFKAIka0GAgID4eUshByAAQYACaiIEIgMgAygCDCADKAIUQQAQ5AEEfyADKAIcQQFqBUEACzYCHCAAKAKkAyENIAUgBikCEDcDGCAFIAYpAgg3AxAgBSAGKQIANwMIIAVBCGoQ2gMhAyAEKAIAIAAoAoQCEOcBIRACQAJ/QQAgBCIKKAIMIAQoAhQgAyAMQQxsIhEgDiALQSBqIhIgC0EDQQQgCEEDRhtuIghBC2xqampqQfj9AEHg9wAgDRtqIgMQ5AFFDQAaIAooAhxBgAFKCyAQIANJcgRAIA0EQEFAIQMMAgsgBCAAKAKYAyAAKAKcAyAAKAKgAxCkAQJ/IAQhByAAKAKcAxpBQCADIAAoApgDIAAoAqADEIcCIgpFDQAaIAcgCiADENYDQQALIgMQIQ0BIAAgBEHwIxCfASIDNgKoBCADRQRAQUAhAwwCCyAAIARB8CMQnwEiAzYCrAQgA0UEQEFAIQMMAgsgACAEQYAwEJ8BNgLABUEBIQdBQCEDIAAoAqwERQ0BCyAEEOYBIABBhAFqIAFB+AAQKhogACAJKAIYNgK8BSAAIAkpAhA3ArQFIAAgCSkCCDcCrAUgACAJKQIANwKkBSAAQgA3A7ACIAAgAkIBfDcDqAIgAEIANwO4AiACQn9RBEAgAEEANgKkAQsgACALNgKkAiAAQcACahCGAiAAQQA2AvwBIABBATYCACAAKAKoBBDZAyAEIBIQYCEDIABBADYCyAUgACALNgLcAyAAIAM2AsQDIARBABBgIQMgAEEANgLcBSAAIAM2AsQFIAAgBEEAEGA2AtgFIAYoAgAiCgRAIAAgBEEBIAEoAlggASgCXGt0IgMQYCIGNgKABCAGQQAgAxAoGgsCQCAAIgMoAgBBAUcNACADKALYAQ0AIANCADcDmAQgA0IANwOgBAsgACAINgLYAyAAIAQgCBBgNgLMAyAAIAQgCBBgNgLQAyAAIAQgCBBgNgLUAyAAIAQgCEEDdBBVNgK8AyAPIAQgCSAHENgDIgNBACADECEiBxshAyAHIApFcg0AIAAgBEEIIAEoAlh0IgEQVSIHNgL8A0EAIQMgB0EAIAEQKBogBCAREFUhASAAIAw2ApQEIAAgATYCkAQgAEIANwPoAyAAQgA3A/ADIABBADYC+AMgAEHoA2oQ5QELIAVB0ABqJAAgAwtMAQF/IwBBgAFrIgMkACADQQhqIAFB+AAQKhoCQCAAIANBCGogAhDdAyIBECENAEEAIQFBABAhDQAgAEEANgL8AQsgA0GAAWokACABC7MFAQZ/IAFBEG0hCCABQRBOBEADQCAAIAZBAnQiBWoiAUEAIAJBACABKAIAIgFBAUYbIAFqIgEgAmsiAyADIAFLGzYCACAAIAVBBHJqIgFBACACQQAgASgCACIDQQFGGyADaiIDIAJrIgQgBCADSxs2AgAgAUEAIAJBACABKAIEIgFBAUYbIAFqIgEgAmsiAyADIAFLGzYCBCAAIAVBDHJqIgFBACACQQAgASgCACIDQQFGGyADaiIDIAJrIgQgBCADSxs2AgAgAUEAIAJBACABKAIEIgNBAUYbIANqIgMgAmsiBCAEIANLGzYCBCABQQAgAkEAIAEoAggiA0EBRhsgA2oiAyACayIEIAQgA0sbNgIIIAFBACACQQAgASgCDCIBQQFGGyABaiIBIAJrIgMgAyABSxs2AgwgACAFQRxyaiIBQQAgAkEAIAEoAgAiA0EBRhsgA2oiAyACayIEIAQgA0sbNgIAIAFBACACQQAgASgCBCIDQQFGGyADaiIDIAJrIgQgBCADSxs2AgQgAUEAIAJBACABKAIIIgNBAUYbIANqIgMgAmsiBCAEIANLGzYCCCABQQAgAkEAIAEoAgwiA0EBRhsgA2oiAyACayIEIAQgA0sbNgIMIAFBACACQQAgASgCECIDQQFGGyADaiIDIAJrIgQgBCADSxs2AhAgAUEAIAJBACABKAIUIgNBAUYbIANqIgMgAmsiBCAEIANLGzYCFCABQQAgAkEAIAEoAhgiA0EBRhsgA2oiAyACayIEIAQgA0sbNgIYIAFBACACQQAgASgCHCIBQQFGGyABaiIBIAJrIgMgAyABSxs2AhwgACAFQTxyaiIBQQAgAkEAIAEoAgAiAUEBRhsgAWoiASACayIFIAUgAUsbNgIAIAZBEGohBiAHQQFqIgcgCEcNAAsLC8sDAQV/IwBBEGsiCSQAIAcgAhDpASENIAEgAEGECBAqIQoCfyADBEAgBCAFIAYgBxCdAQwBC0EGQT8gACgCgAgiAUECRhsgB08EQCAEIAUgBiAHEJ0BDAELQbp/IAdB//8AS0EEQQMgB0H/B0sbaiILIAVPDQAaIAJBBEkgB0GBCElxIQwgCSABNgIMIAUgC2shAyAEIAtqIQICfyALQQNGIAFBAkZxIAdBgAJJciIBBEAgAiADIAYgB0EAIAggCiAJQQxqIAwQ+AEMAQsgAiADIAYgB0EBIAggCiAJQQxqIAwQ+AELIQMgCSgCDCECIAMQISADRSADIAcgDWtPcnIEQCAKIABBhAgQKhogBCAFIAYgBxCdAQwBCyADQQFGBEAgCiAAQYQIECoaIAQgBiAHEM4DDAELIAJFBEAgCkEBNgKACAtBA0ECIAIbIQACQAJAAkACQCALQX1qDgMAAQIDCyAEIAdBBHRBBEEAIAEbciAAckEEcyADQQ50ahCjAQwCCyAEIAdBBHQgAHJBCHIgA0ESdGoQTQwBCyAEIAdBBHQgAHJBDHIgA0EWdGoQTSAEIANBCnY6AAQLIAMgC2oLIQAgCUEQaiQAIAALMwEBfwJAAkACQCAAKAJAQX9qDgICAAELQQEPCyAAKAIcQQFHDQAgACgCGEEARyEBCyABC/8GARJ/IwBB8AFrIggkACADKAIEIRUgACgCFCENIAAoAhAhDiAAKAIYIQ8gACgCBCEJIAAoAgAhEwJAIAEgAiADKAIcIhAgAxDhAyAEIAUgACgCCCIDIAAoAgwgA2sgBhDgAyIDECEiBw0AIAMgBGohCkG6fyEDIAQgBWoiCyAEIAogBxsiB2tBBEgNAAJ/IAkgE2siA0EDdSIFQf8ATQRAIAcgBToAACAHQQFqDAELIAVB//0BTQRAIAcgBToAASAHIAVBCHZBgAFzOgAAIAdBAmoMAQsgB0H/AToAACAHQQFqIAVBgIJ+akH//wNxEC8gB0EDagshCiACQYQIaiERIANFBEAgESABQYQIakHgGxAqGiAKIARrIQMMAQsgABDzAyAIQSM2AgwgCEEQaiAIQQxqIA4gBSAGEIMBIQMgAkHgI2oiByABQeAjaigCADYCACAKQQFqIgAgCyAAayACQbQZaiIWQQkgByAIQRBqIAgoAgwiByADIAVBCSABQbQZaiIDQZCaAUEGQQEgEBCiASIUIAhBEGogByAOIAVBkJoBQQZBIyADQaQKIAYQoQEiAxAhIgcNACAIQR82AgwgCEEQaiAIQQxqIA8gBSAGEIMBIQwgCCgCDCEJIAJB2CNqIhIgAUHYI2ooAgA2AgAgACAAIANqIAcbIgcgCyAHayARQQggEiAIQRBqIAkgDCAFQQggAUGECGoiA0HgmgFBBSAJQR1JIBAQogEiDCAIQRBqIAkgDyAFQeCaAUEFQRwgA0GEBiAGEKEBIgMQISIJDQAgCEE0NgIMIAhBEGogCEEMaiANIAUgBhCDASESIAJB3CNqIhcgAUHcI2ooAgA2AgAgByADIAdqIAkbIgkgCyAJayACQYgOaiIYQQkgFyAIQRBqIAgoAgwiAiASIAVBCSABQYgOaiIDQaCbAUEGQQEgEBCiASIBIAhBEGogAiANIAVBoJsBQQZBNCADQawLIAYQoQEiAxAhIgINACAKIAxBBHQgFEEGdGogAUECdGo6AAAgCSADIAlqIAIbIgYgCyAGayAYIA0gESAPIBYgDiATIAUgFUEZSxDIAyIDECENACADIAZqIQUgByAAQQAgFEECRhsgDEECRhsiACAJIAIbIAAgAUECRhsiAARAQQAhAyAFIABrQQRIDQELIAUgBGshAwsgCEHwAWokACADC6kCAQx/IwBBIGsiBiQAAkAgBEEUdiAEQf//P3FBAEdqIg5FDQAgAyAEaiELQQEgAigCFHQhDCABKAIIIQUDQCAFIAEoAgxPDQEgBiAAKAIQNgIYIAYgACkCCDcDECAGIAApAgA3AwggCyADIAlBFHRqIgRBgIBAayALIARrQYCAwABJGyIHIARrIQ0gBkEIaiAHEO8BBEAgAigCBCEPIAAgDCAEEK0DIRAgACgCFEEBIA90IBAQrAMLIAAgByAMEKsDIAAgASACIAQgDRCqAyIEECEEQCAEIQgMAgsCfyAFIAEoAggiB0kEQCABKAIAIAVBDGxqIgUgBSgCBCAKajYCBCAEDAELIAogDWoLIQogByEFIAlBAWoiCSAORw0ACwsgBkEgaiQAIAgLNAECf0G6fyEFIANBA2oiBiABTQR/IAAgA0EDdCAEahCjASAAQQNqIAIgAxAqGiAGBSAFCwshACABIABrIAMoAgAgAmpLBEAgA0EANgIAIARBADYCAAsLPgECf0EBIQIgAUECTwR/IAAtAAAhAwJAA0AgAyAAIAJqLQAARw0BIAJBAWoiAiABRw0AC0EBDwtBAAUgAgsLTwEBfwJAIAAgASACIAMgBCAFIAcQ4gMiAEUgBiAFTUEAIABBun9GG3IEfyAIBSAAECFFDQEgAAsPCyAAQQAgACAGIAYgAygCHBDpAWtJGwuEAwEPfyAAKAKwAyEJIABBvANqIgcoAgQiASAHKAIAIgprIgQEQCAAKAKsAyAJQRRsaiELIAogAWsiASAEIAEgBEobQQN2IARBfyAEQX9KGyIBQQEgAUEBSBtsIgFBASABQQFLGyEMIAcoAighDQNAIAsgA0EUbGoiASAKIANBA3RqIgUoAgAiAjYCBCABIAUvAQQiBjYCCCABIAUvAQYiCEEDaiIFNgIMAkAgAyANRw0AAkACQCAHKAIkQX9qDgIAAQILIAEgBkGAgARyIgY2AggMAQsgASAIQYOABGoiBTYCDAsCQCABAn8gAkEDTQRAIAEgAiAGRWoiCDYCECABIAsgAyACayIOIAMgDiACQQNGG0F/aiAGGyICQRRsakEEaiACQX9zQQJ0QdCwAWogAkF/ShsoAgAiAjYCBCAIQQRHDQIgAkF/agwBCyACQX1qCzYCBAsgASAGIA9qIgE2AgAgASAFaiEPIANBAWoiAyAMRw0ACwsgACAEQQN1IAlqNgKwAwurAwEHfyMAQRBrIgUkACACQQZLBEAgAEG8A2oiBxDyASAAIAAoAqgEIgY2ApgFIAAgACgCxAE2ApwFIAEgACgCtARrIgQgACgCyAQiA0GAA2pLBEAgACAEIAQgA2tBgH1qIgRBwAEgBEHAAUkbazYCyAQLIABBsARqIgQQ7AEhCCAAKAKsBCIDIAYoAuQjNgLkIyADQegjaiAGQegjaigCADYCACADQewjaiAGQewjaigCADYCACADQeQjaiEDIAchBgJAIAEgAmoCfyAAKAKcBCAAKAKgBEkEQCAAQZgEaiAEIAcgAyABIAIQ6wEMAQsgAEHYAWoiCSgCAARAIAVCADcCBCAFIAAoApAENgIAIAUgACgClAQ2AgwgAEHoA2ogBSAJIAEgAhDjAyIDECENAiAFIAQgByAAKAKsBEHkI2ogASACEOsBDAELIAQgByADIAEgAiAAKAKgASAIEPMBEQIACyIAayEBIAYoAgwgASAAECoaIAYgBigCDCAAajYCDEEAIQMLIAVBEGokACADDwsgAEGYBGogAiAAKAKYARDqASAFQRBqJABBAQvrAQECfwJAAkACQEEBIAAgAyAEEOkDIgVBAUZBAnQgBRAhGw4FAAICAgECCyAAKAKoAwRAIAAQ6ANBAA8LIABBvANqIAAoAqgEIAAoAqwEIABBhAFqIAEgAiAEIAAoAsAFEOcDIgZBGEsNACAAKAK4Aw0AIAMgBBDmA0UNACABIAMtAAA6AABBASEGCyAGECEhAiAAKAKoBCEBAkAgBkECSQRAIAEhBQwBCyACBEAgASEFDAELIAAoAqwEIQUgACABNgKsBCAAIAU2AqgECyAFQdgjaigCAEECRgRAIAVBATYC2CMLIAYhBQsgBQtrAQJ/IAAoAiBBASABKAIMdCACEKABAkAgASgCHCIEQQFGDQBBASABKAIIdCEBIAAoAighAyAEQQZGBEAgAyABIAIQ3wMMAQsgAyABIAIQoAELIAAoAhwiAQRAIAAoAiRBASABdCACEKABCwtSAQF/IAAgACgCBCIEIAMgBGsiAyACayADQX8gAXRBf3NxayIBajYCBCAAIAAoAgggAWo2AgggACAAKAIQIAFrNgIQIAAgACgCDCABazYCDCABC5cBAQF/IwBBIGsiBSQAIAUgACgCEDYCGCAFIAApAgg3AxAgBSAAKQIANwMIIAVBCGogBBDvAQRAIAAgAigCCCACKAIcEPQBQQEgAigCBHQgAxDsAyEDIAEQ7gEgACACIAMQ6wMgARDtASAAQQA2AnAgAEEANgIUIABBACAAKAIYIgAgA2siASABIABLGzYCGAsgBUEgaiQAC/ECAQ1/IAAoAogBIQUgACgCpAIhByAAKAKoAQRAIABBwAJqIAMgBBCFAgsgAEGEAWohDEEBIAV0IQ0gAEGgBWohDiAAQcQEaiEPIABBgAJqIRAgAEGwBGohESABIQUCQANAIAJBBkkEQEG6fw8LIBEgECAMIAMgAyAEIAcgBCAHSRsiCGoiChDtAyAAKAK0BCAKIA0gDyAOEOUDIAAoAsgEIAAoAsAEIglJBEAgACAJNgLIBAsgACAFQQNqIAJBfWogAyAIEOoDIgYQIQ0BIAcgBE8hBwJAAn8CQAJAAkAgBg4CAAECCyAFIAIgAyAIIAcQ5AMiBhAhRQ0DDAULQQIhCyAHIQkgCEEDdAwBCyAGQQN0IQlBBCELIAcLIQMgBSADIAlyIAtyEKMBIAZBA2ohBgsgAEEANgK4AyACIAZrIQIgBSAGaiEFIAohAyAEIAgiB2siBA0ACyAFIAFLBEAgAEEDNgIACyAFIAFrIQYLIAYLrgEBA39BRCEDIAEhBSABIQQCQAJAAkACQCAAKAIADgQDAAECAQsgASACIABBhAFqQgBBABDxASIDECENAiAAQQI2AgAgASADaiEFIAIgA2shAgtBun8hAyACQQRJDQEgBUEBEE0gAkF9aiECIAVBA2ohBAsgACgCqAEEQEG6fyEDIAJBBEkNASAEIABBwAJqEIQCpxBNIARBBGohBAsgAEEANgIAIAQgAWshAwsgAwvtAQICfwF+QUQhBgJAAkACQAJAIAAoAgAOAgMAAQsgASACIABBhAFqIAApA6gCQn98IAAoAvwBEPEBIgUQIQ0BIABBAjYCACABIAVqIQEgAiAFayECCyAERQ0AIABBsARqIAMgBBDwAUUEQCAAIAAoArwENgLIBAsgACgC2AEEQCAAQegDaiADIAQQ8AEaCyAAIAEgAiADIAQQ7gMiBhAhDQEgACAAKQOwAiAErXwiBzcDsAIgACAAKQO4AiAFIAZqIgGtfDcDuAJBuH8gASAHQgF8IAApA6gCIgdWGyABIAdCAFIbDwsgBSEGCyAGC1sBAX4gACABIAIgAyAEEPADIgMQIQRAIAMPCyAAIAEgA2ogAiADaxDvAyIBECEEQCABDwsCfyAAKQOoAiIFUEUEQEG4fyAFIAApA7ACQgF8Ug0BGgsgASADagsLkAEBA38gACEBAkACQCAAQQNxRQ0AIAAtAABFBEBBAA8LA0AgAUEBaiIBQQNxRQ0BIAEtAAANAAsMAQsDQCABIgJBBGohASACKAIAIgNBf3MgA0H//ft3anFBgIGChHhxRQ0ACyADQf8BcUUEQCACIABrDwsDQCACLQABIQMgAkEBaiIBIQIgAw0ACwsgASAAawviAQEIfyAAKAIUIQMgACgCECEEIAAoAgQiAiAAKAIAIgVrIgEEQCAAKAIYIQYgBSACayICIAEgAiABShtBA3YgAUF/IAFBf0obIgFBASABQQFIG2wiAUEBIAFBAUsbIQdBACEBA0AgBSABQQN0aiICLwEGIQggASAEaiACLwEEEIABOgAAIAEgBmogAigCABAkOgAAIAEgA2ogCBA8OgAAIAFBAWoiASAHRw0ACwsgACgCJCIBQQFGBH8gBCAAKAIoakEjOgAAIAAoAiQFIAELQQJGBEAgAyAAKAIoakE0OgAACwvJAQEDfwJAQn8gAiACUBsiAkKAgICAAloEQCABKAIAIQQMAQtBBiEDIAKnIgRBwABPBEAgBEF/ahAkQQFqIQMLIAEoAgAiBCADTQ0AIAEgAzYCACADIQQLIAEoAgggBEEBaiIDSwRAIAEgAzYCCAsgBCABKAIEIgUgASgCGBD0ASIDSQRAIAEgBCAFaiADazYCBAsgBEEJTQRAIAFBCjYCAAsgACABKQIANwIAIAAgASgCGDYCGCAAIAEpAhA3AhAgACABKQIINwIIC9MBAgJ/AX4jAEFAaiIDJAAgA0J/IAIgAlAbIgVCgYAQVCAFQoGACFRqIAVCgYABVGpBhAVsQRZBACABQQMgARsgAUEASBsgAUEWShtBHGxqIgRBmIUBaigCADYCOCADIARBkIUBaikCADcDMCADIARBiIUBaikCADcDKCADIARBgIUBaikCADcDICABQX9MBEAgA0EAIAFrNgI0CyADIAMoAjg2AhggAyADKQMwNwMQIAMgAykDKDcDCCADIAMpAyA3AwAgACADIAIQ9AMgA0FAayQACyIBAX8CQCABRQ0AIAAoAgAgAUsNACAAKAIEIAFPIQILIAILSwEEfwJAIABFDQAgAEEMaiIBIAAQ9gMhAiABIAAoArAlIgEgAEG0JWooAgAiAyAAQbglaigCACIEEKQBIAINACAAIAEgAyAEEGQLCzQBAn8gAEEBQQEQWyAAEDkgACgCDCICIAAoAhBJBH8gAiAAKAIIayAAKAIEQQBHagUgAQsLJAAgACABNgIMIAAgATYCCCAAQgA3AgAgACABIAJqQXxqNgIQC/UBAQV/AkAgAUERSSADQQxJcg0AIABBBmoiByABQXpqIAIgA0EDakECdiIGIAQQcSIFECEEQCAFDwsgBUUNACAAIAVB//8DcRAvIAUgB2oiBSAAIAFqIgcgBWsgAiAGaiIIIAYgBBBxIgEQIQRAIAEPCyABRQ0AIABBAmogAUH//wNxEC8gASAFaiIFIAcgBWsgBiAIaiIIIAYgBBBxIgEQIQRAIAEPCyABRQ0AIABBBGogAUH//wNxEC8gASAFaiIFIAcgBWsgBiAIaiIBIAIgA2ogAWsgBBBxIgEQIQRAIAEPCyABRQ0AIAEgBWogAGshCQsgCQtGAQN/IAJBAEgEQEEBDwsDQCAEIAEgA0ECdCIFaigCAEEARyAAIAVqLQACRXFyIQQgAiADRyEFIANBAWohAyAFDQALIARFCyoBAX8jAEEQayIAJAAgAEEANgIMQZTpASgCAEG/EkEAELkBIABBEGokAAv4BgEHfyMAQUBqIgckAAJAIAAgAUEDdGoiBC0AByIFIAJNBEAgBSECDAELIARBB2ohBkEBIAUgAmsiCXQhCEEAIQQgBSEDA0AgBiACOgAAIAQgCGpBfyAFIANrdGohBCAAIAFBf2oiAUEDdGoiA0EHaiEGIAMtAAciAyACSw0ACwNAIANB/wFxIAJHRQRAIAAgAUF/aiIBQQN0ai0AByEDDAELCyAHQvDhw4ePnrz4cDcDMCAHQvDhw4ePnrz4cDcDKCAHQvDhw4ePnrz4cDcDICAHQvDhw4ePnrz4cDcDGCAHQvDhw4ePnrz4cDcDECAHQvDhw4ePnrz4cDcDCCAHQvDhw4ePnrz4cDcDACAEIAl1IQUCQCABQX9MDQAgAiEGIAEhBANAIAYgA0H/AXEiA0sEQCAHIAIgA2tBAnRqIAQ2AgAgAyEGCyAEQQFIDQEgACAEQX9qIgRBA3RqLQAHIQMMAAsACyAFQQBKBEADQAJAAkAgBRAkQQFqIgRBAkkEQCAEIQMMAQsgByAEQQJ0aigCACEIA0ACQCAHIARBf2oiBkECdGooAgAhCSAIQfDhw4d/RwRAIAlB8OHDh39GDQEgACAIQQN0aigCACAAIAlBA3RqKAIAQQF0TQ0BC0EBIQMgCSEIIAYiBEEBSw0BDAILCyAEIgNBDEsNAQsDQAJAIAcgA0ECdGooAgBB8OHDh39HBEAgAyEEDAELQQ0hBCADQQFqIgNBDUcNAQsLIAcgBEF/aiIGQQJ0aigCACEJCyAHIARBAnRqIggoAgAhAyAJQfDhw4d/RgRAIAcgBkECdGogAzYCAAtBfyAGdCAFaiEFIAAgA0EDdGoiBiAGLQAHQQFqOgAHIAggAwR/IAggA0F/aiIDNgIAIANB8OHDh38gACADQQN0ai0AByACIARrRhsFQfDhw4d/CzYCACAFQQBKDQALCyAFQX9KDQAgBygCBCEEA0AgBUF/IAVBf0obIQYgBSEDA0AgBEHw4cOHf0YEQCABIQQDQCAEIgFBf2ohBCAAIAFBA3RqLQAHIAJGDQALIAAgAUEBaiIEQQN0aiIGIAYtAAdBf2o6AAcgA0EBaiEFIANBfkoNAwwCCyAAIARBAWoiBEEDdGoiBSAFLQAHQX9qOgAHIAMgBkchBSADQQFqIQMgBQ0ACwsLIAdBQGskACACC74CAQd/IwBBgAJrIgQkACAEQQBBgAIQKCEFA0AgBSABIANBAnRqKAIAQQFqECRBA3RqIgQgBCgCAEEBajYCACADQQFqIgMgAk0NAAtBHiEDIAUoAvABIQQDQCAFIANBf2oiA0EDdGoiByAHKAIAIARqIgQ2AgAgAw0AC0EAIQMDQCAFIANBA3RqIgQgBCgCADYCBCADQQFqIgNBIEcNAAsDQCABIAZBAnRqKAIAIghBAWoQJEEDdCAFaiIEIgNBDGogAygCDCIDQQFqNgIAAkAgAyAEKAIIIgRNDQADQCAIIAAgA0F/aiIHQQN0aiIJKAIATQ0BIAAgA0EDdGogCSkCADcCACAHIgMgBEsNAAsgBCEDCyAAIANBA3RqIgMgBjoABiADIAg2AgAgBkEBaiIGIAJNDQALIAVBgAJqJAAL4wYBDH8jAEFAaiIHJABBfyEFAkACQAJAIARBA3ENAEFSIQUgAkH/AUsNACADQQsgAxshDCAEQQBBgCAQKCEIIARBCGoiBiABIAIQ/gMgAiEDA0AgAyIFQX9qIQMgBiAFQQN0aigCACIBRQ0ACyAIIAEgBiADQQN0aiIBKAIAajYCiBAgAUGAAjsBBCAGIAVBA3RqQYACOwEEIAVB/wFqIgpBgAJNDQEgBUF+aiEDQYECIQEDQCAGIAFBA3RqQYCAgIAENgIAIAFBAWoiASAKTQ0ACyAIQYCAgIB4NgIAQYACIQFBgQIhCEGBAiEEA0AgBiAIQQN0aiAGIAMgBiADQQN0aigCACIJIAYgAUEDdGooAgAiC0kiDWsiCCABIAkgC09qIgkgBiAIQQN0aigCACILIAYgCUEDdGooAgAiDkkiDxtBA3RqIhAoAgAgBiADIAEgDRtBA3RqIgEoAgBqNgIAIBAgBDsBBCABIAQ7AQQgCSALIA5PaiEBIAggD2shAyAKIARBAWoiBEH//wNxIghPDQALDAILIAdBQGskACAFDwsgCEGAgICAeDYCAAtBACEDIAYgCkEDdGpBADoAByAFQf4BaiIBQYACTwRAA0AgBiABQQN0aiIEIAYgBC8BBEEDdGotAAdBAWo6AAcgAUF/aiIBQf8BSw0ACwsDQCAGIANBA3RqIgEgBiABLwEEQQN0ai0AB0EBajoAByADQQFqIgMgBU0NAAsgBiAFIAwQ/QMhBEEAIQMgB0EAOwE4IAdCADcDMCAHQgA3AyggB0IANwMgIAdBADsBGCAHQgA3AxAgB0IANwMIIAdCADcDAEF/IQEgBEEMTQRAA0AgB0EgaiAGIANBA3RqLQAHQQF0aiIBIAEvAQBBAWo7AQAgA0EBaiIDIAVNDQALIAQEQEEAIQUgBCEDA0AgByADQQF0IgFqIAU7AQAgB0EgaiABai8BACAFakH+/wNxQQF2IQUgA0F/aiIDDQALC0EAIQVBACEDA0AgACAGIANBA3RqIgEtAAZBAnRqIAEtAAc6AAIgA0EBaiIDIAJNDQALA0AgByAAIAVBAnRqIgEtAAJBAXRqIgMgAy8BACIDQQFqOwEAIAEgAzsBACAFQQFqIgUgAk0NAAsgBCEBCyAHQUBrJAAgAQvdAgEFfyMAQZACayIGJABBUiEFAkAgA0H/AUsNACAGQQA6AIMCQQEhBSAEQQFqIghBAUsEQANAIAZBgwJqIAVqIAggBWs6AAAgBCAFRiEJIAVBAWohBSAJRQ0ACwsCfyADBEADQCAGIAdqIAIgB0ECdGotAAIgBkGDAmpqLQAAOgAAIAdBAWoiByADRw0ACyAAQQFqIAFBf2ogBiADEPoBDAELIABBAWogAUF/aiAGQQAQ+gELIgUQIQ0AIAVBAkkgBSADQQF2T3JFBEAgACAFOgAAIAVBAWohBQwBC0F/IQUgA0GAAUsNAEG6fyEFIANBAWpBAXYiAiABTw0AIAJBAWohBSAAIANB/wBqOgAAQQAhByADIAZqQQA6AAAgA0UNAANAIAdBAXYgAGogBiAHQQFyai0AACAGIAdqLQAAQQR0ajoAASAHQQJqIgcgA0kNAAsLIAZBkAJqJAAgBQt/AQR/IwBBkARrIgQkACAEQf8BNgIIAkAgBEEQaiAEQQhqIARBDGogASACEGsiBhAhBEAgBiEFDAELQVQhBSAEKAIMIgdBBksNACADIARBEGogBCgCCCAHEIMEIgUQIQ0AIAAgASAGaiACIAZrIAMQggQhBQsgBEGQBGokACAFC+8FAQN/IwBBMGsiBCQAAkAgAy8BAgRAIARBGGogASACEEUiARAhDQEgBEEQaiAEQRhqIAMQggEgBEEIaiAEQRhqIAMQggFBACEBAkAgBEEYahAjBEBBACEDDAELA0AgACABaiICIARBEGogBEEYahBiOgAAIAIgBEEIaiAEQRhqEGI6AAEgBEEYahAjBEAgAUECciEDDAILIAIgBEEQaiAEQRhqEGI6AAIgAiAEQQhqIARBGGoQYjoAAyABQQRqIQMgBEEYahAjIQIgAUH3AUsNASADIQEgAkUNAAsLAn8DQEG6fyEBIANB/QFLDQMgACADaiICIARBEGogBEEYahBiOgAAIAIiBkEBaiEFIARBGGoQI0EDRgRAQQIhAyAEQQhqDAILIANB/AFLDQMgBiAEQQhqIARBGGoQYjoAASADQQJqIQMgBEEYahAjQQNHDQALIAAgA2ohBUEDIQMgBEEQagshASAFIAEgBEEYahBiOgAAIAIgA2ogAGshAQwBCyAEQRhqIAEgAhBFIgEQIQ0AIARBEGogBEEYaiADEIIBIARBCGogBEEYaiADEIIBQQAhAQJAIARBGGoQIwRAQQAhAwwBCwNAIAAgAWoiAiAEQRBqIARBGGoQYToAACACIARBCGogBEEYahBhOgABIARBGGoQIwRAIAFBAnIhAwwCCyACIARBEGogBEEYahBhOgACIAIgBEEIaiAEQRhqEGE6AAMgAUEEaiEDIARBGGoQIyECIAFB9wFLDQEgAyEBIAJFDQALCwJ/A0BBun8hASADQf0BSw0CIAAgA2oiAiAEQRBqIARBGGoQYToAACACIgZBAWohBSAEQRhqECNBA0YEQEECIQMgBEEIagwCCyADQfwBSw0CIAYgBEEIaiAEQRhqEGE6AAEgA0ECaiEDIARBGGoQI0EDRw0ACyAAIANqIQVBAyEDIARBEGoLIQEgBSABIARBGGoQYToAACACIANqIABrIQELIARBMGokACABC68DAQp/IwBBgARrIgkkAEFSIQUCQCACQf8BSw0AIABBBGohCkGAgAQgA0F/anRBEHUhC0EBIAN0IghBf2oiDCEHQQEhBQNAAkAgASAEQQF0Ig1qLwEAIgZB//8DRgRAIAogB0ECdGogBDoAAiAHQX9qIQdBASEGDAELIAVBACALIAZBEHRBEHVKGyEFCyAJIA1qIAY7AQAgAiAERyEGIARBAWohBCAGDQALIAAgBTsB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IAIgASgCCGpBADoAACABIAEoAhQiAkEBajYCFCACIAEoAghqQQA6AABBAiECIAEoAoQBIgNBCUcEQEEEIAEoAogBQQFKQQJ0IANBAkgbIQILIAEgASgCFCIDQQFqNgIUIAMgASgCCGogAjoAACABIAEoAhQiAkEBajYCFCACIAEoAghqQQM6AAAgAUHxADYCBAwNCyACKAIkIQMgAigCHCEEIAIoAhAhBSACKAIsIQYgAigCACEHIAEgASgCFCIIQQFqNgIUQQIhAiAIIAEoAghqIAZBAEdBAXQgB0EAR3IgBUEAR0ECdHIgBEEAR0EDdHIgA0EAR0EEdHI6AAAgASgCHCgCBCEDIAEgASgCFCIEQQFqNgIUIAQgASgCCGogAzoAACABKAIcKAIEIQMgASABKAIUIgRBAWo2AhQgBCABKAIIaiADQQh2OgAAIAEoAhwvAQYhAyABIAEoAhQiBEEBajYCFCAEIAEoAghqIAM6AAAgASgCHC0AByEDIAEgASgCFCIEQQFqNgIUIAQgASgCCGogAzoAACABKAKEASIDQQlHBEBBBCABKAKIAUEBSkECdCADQQJIGyECCyABIAEoAhQiA0EBajYCFCADIAEoAghqIAI6AAAgASgCHCgCDCECIAEgASgCFCIDQQFqNgIUIAMgASgCCGogAjoAAAJ/IAEoAhwiBCgCEARAIAQoAhQhAiABIAEoAhQiA0EBajYCFCADIAEoAghqIAI6AAAgASgCHCgCFCECIAEgASgCFCIDQQFqNgIUIAMgASgCCGogAkEIdjoAACABKAIcIQQLIAQoAiwLBEAgACAAKAIwIAEoAgggASgCFBA1NgIwCyABQcUANgIEIAFBADYCIAwCCyABKAIwQQx0QYCQfmohBEEAIQICQCABKAKIAUEBSg0AIAEoAoQBIgNBAkgNAEHAACECIANBBkgNAEGAAUHAASADQQZGGyECCyABQfEANgIEIAEgAiAEciICQSByIAIgASgCbBsiAkEfcCACckEfcxB1IAEoAmwEQCABIAAvATIQdSABIAAvATAQdQsgAEEAQQBBABBlNgIwIAEoAgQhAgsgAkHFAEcNASABKAIcIQQLAkAgBCgCEARAIAEoAhQhAiABKAIgIgUgBC8BFE8NASACIQMDQCABKAIMIAJGBEACQCACIANNDQAgBCgCLEUNACAAIAAoAjAgASgCCCADaiACIANrEDU2AjALIAAQNiABKAIcIQQgASgCFCICIAEoAgxGDQMgASgCICEFIAIhAwsgBCgCECAFai0AACEEIAEgAkEBajYCFCABKAIIIAJqIAQ6AAAgASABKAIgQQFqIgU2AiAgBSABKAIcIgQvARRPBEAgAyECDAMFIAEoAhQhAgwBCwALAAsgAUHJADYCBAwCCwJAIAQoAixFDQAgASgCFCIDIAJNDQAgACAAKAIwIAEoAgggAmogAyACaxA1NgIwCyABKAIgIAQoAhRGBEAgAUHJADYCBCABQQA2AiAMAgsgASgCBCECCyACQckARw0BIAEoAhwhBAsgBCgCHEUNAiABKAIUIgIhAwJAA0ACQCABKAIMIAJGBEACQCACIANNDQAgASgCHCgCLEUNACAAIAAoAjAgASgCCCADaiACIANrEDU2AjALIAAQNiABKAIUIgIgASgCDEYNASACIQMLQQEhBSABKAIcKAIcIQQgASABKAIgIgZBAWo2AiAgBCAGai0AACEEIAEgAkEBajYCFCABKAIIIAJqIAQ6AAAgBARAIAEoAhQhAgwCBSADIQIMAwsACwtBACEFCwJAIAEoAhwiBCgCLEUNACABKAIUIgMgAk0NACAAIAAoAjAgASgCCCACaiADIAJrEDU2AjALIAUNASABKAIEIQILIAJB2wBHDQMgASgCHCEEDAILIAFBADYCIAsgAUHbADYCBAsgBCgCJEUNASABKAIUIgIhAwJAA0ACQCABKAIMIAJGBEACQCACIANNDQAgASgCHCgCLEUNACAAIAAoAjAgASgCCCADaiACIANrEDU2AjALIAAQNiABKAIUIgIgASgCDEYNASACIQMLQQEhBSABKAIcKAIkIQQgASABKAIgIgZBAWo2AiAgBCAGai0AACEEIAEgAkEBajYCFCABKAIIIAJqIAQ6AAAgBARAIAEoAhQhAgwCBSADIQIMAwsACwtBACEFCwJAIAEoAhwiBCgCLEUNACABKAIUIgMgAk0NACAAIAAoAjAgASgCCCACaiADIAJrEDU2AjALIAUNASABKAIEIQILIAJB5wBHDQIgASgCHCEEDAELIAFB5wA2AgQLIAQoAiwEQCABKAIUIgVBAmoiAiABKAIMIgRLBH8gABA2IAEoAgwhBCABKAIUIgVBAmoFIAILIARLDQEgACgCMCECIAEgBUEBajYCFCABKAIIIAVqIAI6AAAgACgCMCECIAEgASgCFCIDQQFqNgIUIAMgASgCCGogAkEIdjoAACAAQQBBAEEAEDU2AjAgAUHxADYCBAwBCyABQfEANgIECwJAIAEoAhQEQCAAEDYgACgCEARAIAAoAgQhAgwCCwwECyAAKAIEIgINAEEAIQILAkACQAJAIAEoAgQiA0GaBUYEQCACRQ0BDAULIAINAQsgA0GaBUcNACABKAJ0RQ0BCwJ/AkACQAJAIAEoAogBQX5qDgIAAQILIAEQnQQMAgsgARCcBAwBCyABQQQgASgChAFBDGxBuNcAaigCABEDAAsiAkF+cUECRgRAIAFBmgU2AgQLIAJBfXFFBEBBACECIAAoAhANAgwECyACQQFHDQAgAUEAQQBBABCOAiAAEDYgACgCEA0ADAMLQQEhAiABKAIYIgNBAUgNACAAKAIwIQICQCADQQJGBEAgASABKAIUIgNBAWo2AhQgAyABKAIIaiACOgAAIAAoAjAhAiABIAEoAhQiA0EBajYCFCADIAEoAghqIAJBCHY6AAAgAC8BMiECIAEgASgCFCIDQQFqNgIUIAMgASgCCGogAjoAACAALQAzIQIgASABKAIUIgNBAWo2AhQgAyABKAIIaiACOgAAIAAoAgghAiABIAEoAhQiA0EBajYCFCADIAEoAghqIAI6AAAgACgCCCECIAEgASgCFCIDQQFqNgIUIAMgASgCCGogAkEIdjoAACAALwEKIQIgASABKAIUIgNBAWo2AhQgAyABKAIIaiACOgAAIAAtAAshAiABIAEoAhQiA0EBajYCFCADIAEoAghqIAI6AAAMAQsgASACQRB2EHUgASAALwEwEHULIAAQNiABKAIYIgBBAU4EQCABQQAgAGs2AhgLIAEoAhRFIQILIAIPCyAAQceEATYCGEF7DwsgAUF/NgIoQQAL3QEBBn8CQCAAKAKAgBAiBSAAKAKEgBAiAyAAKAKMgBAiBGpBBGpJDQAgACgClIAQIgIgBSADa0F9aiIGTw0AA0AgACACQf//A3FBAXRqQYCACGogAiAAIAIgA2oQOkECdGoiBCgCAGsiB0H//wMgB0H//wNJGzsBACAEIAI2AgAgAkEBaiICIAZJDQALIAAoAoyAECEECyAAIAQ2ApCAECAAIAM2AoiAECAAQQA2ApyAECAAIAE2AoCAECAAIAUgA2siAjYCjIAQIAAgAjYClIAQIAAgASACazYChIAQC9kDAQR/IwBBEGsiAyQAIAFBADYCACAAKAIAIgIgA0EMaiACKAIAKAIMEQMAIQICQCADKAIMRQ0AIAIsAAAhAiAAKAIAIgRBASAEKAIAKAIQEQQAIAEgASgCACACQf8AcXI2AgACQCACQX9KDQAgACgCACICIANBDGogAigCACgCDBEDACECIAMoAgxFDQEgAiwAACECIAAoAgAiBEEBIAQoAgAoAhARBAAgASABKAIAIAJB/wBxQQd0cjYCACACQX9KDQAgACgCACICIANBDGogAigCACgCDBEDACECIAMoAgxFDQEgAiwAACECIAAoAgAiBEEBIAQoAgAoAhARBAAgASABKAIAIAJB/wBxQQ50cjYCACACQX9KDQAgACgCACICIANBDGogAigCACgCDBEDACECIAMoAgxFDQEgAiwAACECIAAoAgAiBEEBIAQoAgAoAhARBAAgASABKAIAIAJB/wBxQRV0cjYCACACQX9KDQAgACgCACICIANBDGogAigCACgCDBEDACECIAMoAgxFDQEgAiwAACEFIAAoAgAiAEEBIAAoAgAoAhARBAAgASABKAIAIAVBHHRyNgIAIAVBf0oNAEEAIQUMAQtBASEFCyADQRBqJAAgBQvhSQE3fwJAIAAoAoCAECIJIAAoAoSAECILayAAKAKQgBBrIghBgIAETwRAIABBADYCnIAQDAELAkAgCA0AIAMoAgBBgSBIDQAgACAAKAKcgBBBoIAQECoiACABEKwEIAAgBTsBmIAQDAELAkAgBEEATEEAIAZBAkYbDQAgAygCACIIQYCAgPAHSw0AIAAgCCAJajYCgIAQQQkgBSAFQQFIGyIFQQwgBUEMSBsiG0EMbCIJQZQWaigCACEuAkACfyAbQQlNBEAgA0EANgIAIAIgBGoiOkF7aiA6IAZBAkYiOxshKSABIAhqITMgASEoIAIhCQJAIAhBDUgNACAzQXRqIjIgAUkNAEGANCAbdkEBcSE0IDNBe2oiGEF/aiEvIBhBfWohIkEAIRsDQCAAKAKUgBAhBCAAKAKIgBAhEyAAKAKcgBAhFCAoIQwDQCAAKAKQgBAiBSAMIAtrIh9BgYB8aiAFQYCABGogH0sbIRUgACgC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BEADQCADKAAAIAQoAABzIgkEQCAJECUgBGogAGsMBAsgA0EEaiEDIARBBGoiBCAUSQ0ACwsCQCAEIBhPDQAgAy8AACAELwAARw0AIANBAmohAyAEQQJqIQQLIAQgF0kEfyAEQQFqIAQgAy0AACAELQAARhsFIAQLIABrDAELIAMQJQsiAEHwAWpB/wFuakEIaiAPSw0EIAdBAmohAyAAIAZqQQRqIQYgBS0AACEEAn8gAEEPTwRAIAUgBEEPajoAACADQX8QNCAAQXFqIgRB/AdPBEADQCADQQRqIgNBfxA0IARBhHhqIgRB+wdLDQALCyADIARB//8DcUH/AW4iAGoiAyAAQYF+bCAEajoAACADQQFqDAELIAUgACAEajoAACADCyEFIAYgEU8NASAGQX5qIgAgACgAACALEDAgCCALIAwQSSAGKAAAIQACQAJAIBZFBEAgAEEBEDAiACAIEIUBIQQgBiAAIAhBASAMEEkgBEH//wNqIAZJDQEgBCgAACAGKAAARw0BDAILIAAgCxAwIgMgCCALEEghACAGIAxrIgQgAyAIIAsQXCAAQf//A2ogBEkNACAAIAxqIgQoAAAgBigAAEYNAQsgBkEBaiIDKAAAIAsQMCEEDAMLIAVBADoAACAFQQFqIQcMAAsACwtBACETIAUgECAGayIBaiABQfABakH/AW5qQQFqIA9LDQECQCABQQ9PBEAgBUHwAToAACAFQQFqIQAgAUFxaiIDQf8BSQRAIAAiBSADOgAADAILIABB/wEgAUHyfWoiAEH/AW5BAWoQKBogAEH/AW4iAyAFakECaiIFIANBgX5sIABqOgAADAELIAUgAUEEdDoAAAsgBUEBaiAGIAEQKiABaiACayETDAELIANBgICA8AdLDQAgASADaiIPQXVqIRAgD0F0aiEUIAgoAoCAASEAIAhBAUECIAFB//8DSxsiCzsBhoABIAggACADajYCgIABIAggCCgCkIABIANqNgKQgAEgASABKAAAIAsQMCAIIAsgASAAayIMEEkgD0F7aiITQX9qIRcgE0F9aiERIAZBBnQiCkEBciENIAFBAWoiAygAACALEDAhBCABQYCABEkhFSACIQUgASEGA0ACQCAVRQRAIAMgFEsNBCADQQFqIQ4gCiEJIA0hBwNAIAQgCBCFASEAIA4oAABBARAwIRIgAyAE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IAJBCE8EQANAIAMEQCADIAVsIQcgBUEHciIIIANsIQkgBUEGciIKIANsIQsgBUEFciIMIANsIQ0gBUEEciIOIANsIQ8gBUEDciIQIANsIREgBUECciISIANsIRMgBUEBciIUIANsIRVBACEEA0AgASAFIAIgBGwiBmpqIAAgBCAHamotAAA6AAAgASAGIBRqaiAAIAQgFWpqLQAAOgAAIAEgBiASamogACAEIBNqai0AADoAACABIAYgEGpqIAAgBCARamotAAA6AAAgASAGIA5qaiAAIAQgD2pqLQAAOgAAIAEgBiAMamogACAEIA1qai0AADoAACABIAYgCmpqIAAgBCALamotAAA6AAAgASAGIAhqaiAAIAQgCWpqLQAAOgAAIARBAWoiBCADRw0ACwsgBUEPaiEEIAVBCGohBSAEIAJJDQALCyACQXhxIgUgAk8NAANAIAMEQCADIAVsIQZBACEEA0AgASACIARsIAVqaiAAIAQgBmpqLQAAOgAAIARBAWoiBCADRw0ACwsgBUEBaiIFIAJHDQALCyACIANsrQuCAQEGfyABIAEgAG4iBiAAbGshByAAIAFNBEAgBkEBIAZBAUsbIQgDQCAABEAgACAEbCEJQQAhBQNAIAMgBSAJamogAiAFIAZsIARqai0AADoAACAFQQFqIgUgAEcNAAsLIARBAWoiBCAIRw0ACwsgAyABIAdrIgBqIAAgAmogBxAqGgsNACAAIAEgAiADEL0EC4IBAQZ/IAEgASAAbiIGIABsayEHIAAEQCAGQQEgBkEBSxshCANAIAAgAU0EQCAEIAZsIQlBACEFA0AgAyAFIAlqaiACIAAgBWwgBGpqLQAAOgAAIAVBAWoiBSAIRw0ACwsgBEEBaiIEIABHDQALCyADIAEgB2siAGogACACaiAHECoaC7gBAQN/AkAgAUEBSA0AIAAsAAAiBEH/AHEhAwJAIARBf0oNACABQQJIDQEgACwAASIEQQd0QYD/AHEgA3IhAyAEQX9KDQAgAUEDSA0BIAAsAAIiBEEOdEGAgP8AcSADciEDIARBf0oNACABQQRIDQEgACwAAyIEQRV0QYCAgP8AcSADciEDIARBf0oNACABQQVIDQEgAC0ABCIAQQ9LDQEgAEEcdCADciEDCyACIAM2AgBBASEFCyAFCw0AIAAgASACIAMQvwQLlAIB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CA0tEC0gLgAJDS4QLiAvAAoNLxAvIDAACw0wEDAgMQAEDjEQMSAyAAUOMhAyIDMABg4zEDMgNAAHDjQQNCA1AAgONRA1IDYACQ42EDYgNwAKDjcQNyA4AAsOOBA4IDkABA85EDkgOgAFDzoQOiA7AAYPOxA7IDwABw88EDwgAQgIDz0QPSABEAkPPhA+IAEYCg8/ED8gASALD0AQQCAAAAAA/wAAAP//AAD///8A/////2RlY29tcHJlc3MAY29tcHJlc3MAZnJlZV9yZXN1bHQAdmkAAHhzAABpaWlpaWlpAEGQDgvUBigHAAAwBwAAMAcAAMxzAADMcwAAzHMAABh0AAC2BwAAQHQAAEgHAAAAAAAAAQAAAIgHAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAABh0AACQBwAATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBOMTBlbXNjcmlwdGVuM3ZhbEUAAAAAGHQAANQHAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUAaWlpAAAoBwAAMAcAABgIAAAgCAAAJAgAACoIAAAxCAAANggAAGJsb3NjbHoAbHo0AGx6NGhjAHNuYXBweQB6bGliAHpzdGQARXJyb3IuICBudGhyZWFkcyBjYW5ub3QgYmUgbGFyZ2VyIHRoYW4gQkxPU0NfTUFYX1RIUkVBRFMgKCVkKQBFcnJvci4gIG50aHJlYWRzIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyAEVSUk9SOyByZXR1cm4gY29kZSBmcm9tIHB0aHJlYWRfY3JlYXRlKCkgaXMgJWQKAAlFcnJvciBkZXRhaWw6ICVzCgBCbG9zYyBoYXMgbm90IGJlZW4gY29tcGlsZWQgd2l0aCAnJXMnIABjb21wcmVzc2lvbiBzdXBwb3J0LiAgUGxlYXNlIHVzZSBvbmUgaGF2aW5nIGl0LgBFcnJvciBhbGxvY2F0aW5nIG1lbW9yeSEARVJST1I7IHJldHVybiBjb2RlIGZyb20gcHRocmVhZF9qb2luKCkgaXMgJWQKAElucHV0IGJ1ZmZlciBzaXplIGNhbm5vdCBleGNlZWQgJWQgYnl0ZXMKAE91dHB1dCBidWZmZXIgc2l6ZSBzaG91bGQgYmUgbGFyZ2VyIHRoYW4gJWQgYnl0ZXMKAGBjbGV2ZWxgIHBhcmFtZXRlciBtdXN0IGJlIGJldHdlZW4gMCBhbmQgOSEKAGBzaHVmZmxlYCBwYXJhbWV0ZXIgbXVzdCBiZSBlaXRoZXIgMCwgMSBvciAyIQoAAAAAAQAAgAAAAAABAAAAAQAACgoLDA0ODg4O/wAICBAgICAgQABB9hQLUfC/mpmZmZmZuT+amZmZmZnJPzMzMzMzM9M/mpmZmZmZ2T8zMzMzMzPjP83MzMzMzOw/ZmZmZmZm7j8AAAAAAADwPwAAAAAAAPA/Z2VuZXJpYwBB1BULGQEAAAACAAAAAQAAAAAAAAAEAAAABAAAAAQAQfwVC64B//////z///8BAAAAAgAAAAMAAAAAAAAAAgAAABAAAAAAAAAAAgAAABAAAAAAAAAAAgAAABAAAAAAAAAABAAAABAAAAAAAAAACAAAABAAAAAAAAAAEAAAABAAAAAAAAAAIAAAABAAAAAAAAAAQAAAABAAAAAAAAAAgAAAABAAAAAAAAAAAAEAABAAAAABAAAAYAAAAEAAAAABAAAAAAIAAIAAAAABAAAAAEAAAAAQAEG0FwvxQJYwB3csYQ7uulEJmRnEbQeP9GpwNaVj6aOVZJ4yiNsOpLjceR7p1eCI2dKXK0y2Cb18sX4HLbjnkR2/kGQQtx3yILBqSHG5895BvoR91Noa6+TdbVG11PTHhdODVphsE8Coa2R6+WL97Mllik9cARTZbAZjYz0P+vUNCI3IIG47XhBpTORBYNVycWei0eQDPEfUBEv9hQ3Sa7UKpfqotTVsmLJC1sm720D5vKzjbNgydVzfRc8N1txZPdGrrDDZJjoA3lGAUdfIFmHQv7X0tCEjxLNWmZW6zw+lvbieuAIoCIgFX7LZDMYk6Quxh3xvLxFMaFirHWHBPS1mtpBB3HYGcdsBvCDSmCoQ1e+JhbFxH7W2BqXkv58z1LjooskHeDT5AA+OqAmWGJgO4bsNan8tPW0Il2xkkQFcY+b0UWtrYmFsHNgwZYVOAGLy7ZUGbHulARvB9AiCV8QP9cbZsGVQ6bcS6ri+i3yIufzfHd1iSS3aFfN804xlTNT7WGGyTc5RtTp0ALyj4jC71EGl30rXldg9bcTRpPv01tNq6WlD/NluNEaIZ63QuGDacy0EROUdAzNfTAqqyXwN3TxxBVCqQQInEBALvoYgDMkltWhXs4VvIAnUZrmf5GHODvneXpjJ2SkimNCwtKjXxxc9s1mBDbQuO1y9t61susAgg7jttrO/mgzitgOa0rF0OUfV6q930p0VJtsEgxbccxILY+OEO2SUPmptDahaanoLzw7knf8JkyeuAAqxngd9RJMP8NKjCIdo8gEe/sIGaV1XYvfLZ2WAcTZsGecGa252G9T+4CvTiVp62hDMSt1nb9+5+fnvvo5DvrcX1Y6wYOij1tZ+k9GhxMLYOFLy30/xZ7vRZ1e8pt0GtT9LNrJI2isN2EwbCq/2SgM2YHoEQcPvYN9V32eo745uMXm+aUaMs2HLGoNmvKDSbyU24mhSlXcMzANHC7u5FgIiLyYFVb47usUoC72yklq0KwRqs1yn/9fCMc/QtYue2Swdrt5bsMJkmybyY+yco2p1CpNtAqkGCZw/Ng7rhWcHchNXAAWCSr+VFHq44q4rsXs4G7YMm47Skg2+1eW379x8Id/bC9TS04ZC4tTx+LPdaG6D2h/NFr6BWya59uF3sG93R7cY5loIiHBqD//KOwZmXAsBEf+eZY9prmL40/9rYUXPbBZ44gqg7tIN11SDBE7CswM5YSZnp/cWYNBNR2lJ23duPkpq0a7cWtbZZgvfQPA72DdTrrypxZ673n/Pskfp/7UwHPK9vYrCusowk7NTpqO0JAU20LqTBtfNKVfeVL9n2SMuemazuEphxAIbaF2UK28qN74LtKGODMMb3wVaje8CLQAAAABBMRsZgmI2MsNTLSsExWxkRfR3fYanWlbHlkFPCIrZyEm7wtGK6O/6y9n04wxPtaxNfq61ji2Dns8cmIdREsJKECPZU9Nw9HiSQe9hVdeuLhTmtTfXtZgcloSDBVmYG4IYqQCb2/otsJrLNqldXXfmHGxs/98/QdSeDlrNoiSEleMVn4wgRrKnYXepvqbh6PHn0PPoJIPew2Wyxdqqrl1d659GRCjMa29p/XB2rmsxOe9aKiAsCQcLbTgcEvM2Rt+yB13GcVRw7TBla/T38yq7tsIxonWRHIk0oAeQ+7yfF7qNhA553qklOO+yPP9583O+SOhqfRvFQTwq3lgFT3nwRH5i6YctT8LGHFTbAYoVlEC7Do2D6COmwtk4vw3FoDhM9Lshj6eWCs6WjRMJAMxcSDHXRYti+m7KU+F3VF27uhVsoKPWP42Ilw6WkVCY194RqczH0vrh7JPL+vVc12JyHeZ5a961VECfhE9ZWBIOFhkjFQ/acDgkm0EjPadr/WXmWuZ8JQnLV2Q40E6jrpEB4p+KGCHMpzNg/bwqr+Ekre7QP7QtgxKfbLIJhqskSMnqFVPQKUZ++2h3ZeL2eT8vt0gkNnQbCR01KhIE8rxTS7ONSFJw3mV5Me9+YP7z5ue/wv3+fJHQ1T2gy8z6NoqDuweRmnhUvLE5ZaeoS5iDOwqpmCLJ+rUJiMuuEE9d718ObPRGzT/ZbYwOwnRDElrzAiNB6sFwbMGAQXfYR9c2lwbmLY7FtQClhIQbvBqKQXFbu1pomOh3Q9nZbFoeTy0VX342DJwtGyfdHAA+EgCYuVMxg6CQYq6L0VO1khbF9N1X9O/ElKfC79WW2fbpvAeuqI0ct2veMZwq7yqF7XlryqxIcNNvG134LipG4eE23magB8V/Y1ToVCJl803l87ICpMKpG2eRhDAmoJ8puK7F5Pmf3v06zPPWe/3oz7xrqYD9WrKZPgmfsn84hKuwJBws8RUHNTJGKh5zdzEHtOFwSPXQa1E2g0Z6d7JdY07X+ssP5uHSzLXM+Y2E1+BKEpavCyONtshwoJ2JQbuERl0jAwdsOBrEPxUxhQ4OKEKYT2cDqVR+wPp5VYHLYkwfxTiBXvQjmJ2nDrPclhWqGwBU5VoxT/yZYmLX2FN5zhdP4UlWfvpQlS3Xe9QczGITio0tUruWNJHoux/Q2aAG7PN+Xq3CZUdukUhsL6BTdeg2EjqpBwkjalQkCCtlPxHkeaeWpUi8j2YbkaQnKoq94LzL8qGN0Oti3v3AI+/m2b3hvBT80KcNP4OKJn6ykT+5JNBw+BXLaTtG5kJ6d/1btWtl3PRafsU3CVPudjhI97GuCbjwnxKhM8w/inL9JJMAAAAAN2rCAW7UhANZvkYC3KgJB+vCywayfI0EhRZPBbhREw6PO9EP1oWXDeHvVQxk+RoJU5PYCAotngo9R1wLcKMmHEfJ5B0ed6IfKR1gHqwLLxubYe0awt+rGPW1aRnI8jUS/5j3E6YmsRGRTHMQFFo8FSMw/hR6jrgWTeR6F+BGTTjXLI85jpLJO7n4Czo87kQ/C4SGPlI6wDxlUAI9WBdeNm99nDc2w9o1AakYNIS/VzGz1ZUw6mvTMt0BETOQ5Wskp4+pJf4x7yfJWy0mTE1iI3snoCIimeYgFfMkISi0eCof3rorRmD8KXEKPij0HHEtw3azLJrI9S6tojcvwI2acPfnWHGuWR5zmTPcchwlk3crT1F2cvEXdEWb1XV43Il+T7ZLfxYIDX0hYs98pHSAeZMeQnjKoAR6/crGe7AuvGyHRH5t3vo4b+mQ+m5shrVrW+x3agJSMWg1OPNpCH+vYj8VbWNmqythUcHpYNTXpmXjvWRkugMiZo1p4Gcgy9dIF6EVSU4fU0t5dZFK/GPeT8sJHE6St1pMpd2YTZiaxEav8AZH9k5ARcEkgkREMs1Bc1gPQCrmSUIdjItDUGjxVGcCM1U+vHVXCda3VozA+FO7qjpS4hR8UNV+vlHoOeJa31MgW4btZlmxh6RYNJHrXQP7KVxaRW9ebS+tX4AbNeG3cffg7s+x4tmlc+Ncszzma9n+5zJnuOUFDXrkOEom7w8g5O5WnqLsYfRg7eTiL+jTiO3pijar671caerwuBP9x9LR/J5sl/6pBlX/LBAa+ht62PtCxJ75da5c+EjpAPN/g8LyJj2E8BFXRvGUQQn0oyvL9fqVjffN/0/2YF142Vc3utgOifzaOeM+27z1cd6Ln7Pf0iH13eVLN9zYDGvX72ap1rbY79SBsi3VBKRi0DPOoNFqcObTXRok0hD+XsUnlJzEfiraxklAGMfMVlfC+zyVw6KC08GV6BHAqK9Ny5/Fj8rGe8nI8RELyXQHRMxDbYbNGtPAzy25As5Alq+Rd/xtkC5CK5IZKOmTnD6mlqtUZJfy6iKVxYDglPjHvJ/PrX6elhM4nKF5+p0kb7WYEwV3mUq7MZt90fOaMDWJjQdfS4xe4Q2OaYvPj+ydgIrb90KLgkkEibUjxoiIZJqDvw5YguawHoDR2tyBVMyThGOmUYU6GBeHDXLVhqDQ4qmXuiCozgRmqvlupKt8eOuuSxIprxKsb60lxq2sGIHxpy/rM6Z2VXWkQT+3pcQp+KDzQzqhqv18o52XvqLQc8S15xkGtL6nQLaJzYK3DNvNsjuxD7NiD0mxVWWLsGgi17tfSBW6BvZTuDGckbm0it68g+AcvdpeWr/tNJi+AAAAAGVnvLiLyAmq7q+1EleXYo8y8N433F9rJbk4153vKLTFik8IfWTgvW8BhwHXuL/WSt3YavIzd9/gVhBjWJ9XGVD6MKXoFJ8Q+nH4rELIwHvfrafHZ0MIcnUmb87NcH+tlRUYES37t6Q/ntAYhyfozxpCj3OirCDGsMlHegg+rzKgW8iOGLVnOwrQAIeyaThQLwxf7Jfi8FmFh5flPdGHhmW04DrdWk+Pzz8oM3eGEOTq43dYUg3Y7UBov1H4ofgr8MSfl0gqMCJaT1ee4vZvSX+TCPXHfadA1RjA/G1O0J81K7cjjcUYlp+gfyonGUf9unwgQQKSj/QQ9+hIqD1YFJtYP6gjtpAdMdP3oYlqz3YUD6jKrOEHf76EYMMG0nCgXrcXHOZZuKn0PN8VTIXnwtHggH5pDi/Le2tId8OiDw3Lx2ixcynHBGFMoLjZ9ZhvRJD/0/x+UGbuGzfaVk0nuQ4oQAW2xu+wpKOIDBwasNuBf9dnOZF40iv0H26TA/cmO2aQmoOIPy+R7ViTKVRgRLQxB/gM36hNHrrP8abs35L+ibguRmcXm1QCcCfsu0jwcd4vTMkwgPnbVedFY5ygP2v5x4PTF2g2wXIPinnLN13krlDhXED/VE4lmOj2c4iLrhbvNxb4QIIEnSc+vCQf6SFBeFWZr9fgi8qwXDM7tlntXtHlVbB+UEfVGez/bCE7YglGh9rn6TLIgo6OcNSe7Six+VGQX1bkgjoxWDqDCY+n5m4zHwjBhg1tpjq1pOFAvcGG/AUvKUkXSk71r/N2IjKWEZ6KeL4rmB3ZlyBLyfR4Lq5IwMAB/dKlZkFqHF6W93k5Kk+Xlp9d8vEj5QUZa01gftf1jtFi5+u23l9SjgnCN+m1etlGAGi8IbzQ6jHfiI9WYzBh+dYiBJ5qmr2mvQfYwQG/Nm60rVMJCBWaTnId/ynOpRGGe7d04ccPzdkQkqi+rCpGERk4I3algHVmxtgQAXpg/q7PcpvJc8oi8aRXR5YY76k5rf3MXhFFBu5NdmOJ8c6NJkTc6EH4ZFF5L/k0HpNB2rEmU7/WmuvpxvmzjKFFC2IO8BkHaUyhvlGbPNs2J4Q1mZKWUP4uLpm5VCb83uieEnFdjHcW4TTOLjapq0mKEUXmPwMggYO7dpHg4xP2XFv9WelJmD5V8SEGgmxEYT7Uqs6Lxs+pN344QX/WXSbDbrOJdnzW7srEb9YdWQqxoeHkHhTzgXmoS9dpyxOyDnerXKHCuTnGfgGA/qmc5ZkVJAs2oDZuURyOpxZmhsJx2j4s3m8sSbnTlPCBBAmV5rixe0kNox4usRtIPtJDLVlu+8P22+mmkWdRH6mwzHrODHSUYblm8QYF3gAAAAB3BzCW7g5hLJkJUboHbcQZcGr0j+ljpTWeZJWjDtuIMnncuKTg1ekel9LZiAm2TCt+sXy957gtB5C/HZEdtxBkarAg8vO5cUiEvkHeGtrUfW3d5Ov01LVRg9OFxxNsmFZka6jA/WL5eoplyewUAVxPYwZs2foPPWONCA31O24gyExpEF7VYEHkomdxcjwD5NFLBNRH0g2F/aUKtWs1taj6QrKYbNu7ydasvPlAMths40XfXHXc1g3Pq9E9WSbZMKxR3gA6yNdRgL/QYRYhtPS1VrPEI8+6lZm4vaUPKAK4nl8FiAjGDNmysQvpJC9vfIdYaEwRwWEdq7ZmLT123EGQAdtxBpjSILzv1RAqcbGFiQa2tR+fv+Sl6LjUM3gHyaIPAPk0lgmojuEOmBh/ag27CG09LZFkbJfmY1wBa2tR9BxsYWKFZTDY8mIATmwGle0bAaV7ggj0wfUPxFdlsNnGErfpUIu+uOr8uYh8Yt0d3xXaLUmM03zz+9RMZU2yYVg6tVHOo7wAdNS7MOJK36VBPdiV16TRxG3T1vT7Q2npajRu2fytZ4hG2mC40EQELXMzAx3lqgpMX90NfMlQBXE8JwJBqr4LEBDJDCCGV2i1JSBvhbO5ZtQJzmHkn17e+Q4p2cmYsNCYIsfXqLRZsz0XLrQNgbe9XDvAumyt7biDIJq/s7YDtuIMdLHSmurVRzmd0nevBNsmFXPcFoPjYwsSlGQ7hA1taj56alqo5A7PC5MJ/50KAK4nfQeesfAPk0SHCKPSHgHyaGkGwv73YlddgGVnyxlsNnFuawbn/tQbdonTK+AQ2npaZ91KzPm532+Ovu/5F7e+Q2CwjtXW1qPoodGTfjjYwsRP3/JS0btn8aa8V2c/tQbdSLI2S9gNK9qvChtMNgNK9kEEemDfYO/DqGffVTFuju9Gab55y2GzjLxmgxolb9KgUmjiNswMd5W7C0cDIgIWuVUFJi/Fuju+sr0LKCu0WpJcs2oEwtf/p7XQzzEs2Z6LW96uHZtkwrDsY/ImdWqjnAJtkwqcCQap6w42P3IHZ4UFAFcTlb9KguK4ehR7sSuuDLYbOJLSjpvl1b4NfNzvtwvb3yGG09LU8dTiQmjds/gf2oNugb4Wzfa5JltvsHfhGLdHd4gIWub/D2pwZgY7yhEBC1yPZZ7/+GKuaWFr/9MWbM9FoArieNcN0u5OBINUOQOzwqdnJmHQYBb3SWlHTT5ud9uu0WpK2dZa3EDfC2Y32DvwqbyuU967nsVHss9/MLX/6b298hzKusKKU7OTMCS0o6a60DYFzdcGk1TeVykj2We/s2Z6LsRhSrhdaBsCKm8rlLQLvjfDDI6hWgXfGy0C740AAAAAGRsxQTI2YoIrLVPDZGzFBH139EVWWqeGT0GWx8jZigjRwrtJ+u/oiuP02custU8Mta5+TZ6DLY6HmBzPSsISUVPZIxB49HDTYe9Bki6u11U3teYUHJi11wWDhJaCG5hZmwCpGLAt+tupNsua5nddXf9sbBzUQT/fzVoOnpWEJKKMnxXjp7JGIL6pd2Hx6OGm6PPQ58PegyTaxbJlXV2uqkRGn+tva8wodnD9aTkxa64gKlrvCwcJLBIcOG3fRjbzxl0Hsu1wVHH0a2Uwuyrz96IxwraJHJF1kAegNBefvPsOhI26JaneeTyy7zhz83n/auhIvkHFG31Y3io88HlPBelifkTCTy2H21QcxpQVigGNDrtApiPog7842cI4oMUNIbv0TAqWp48TjZbOXMwACUXXMUhu+mKLd+FTyrq7XVSjoGwViI0/1pGWDpfe15hQx8ypEezh+tL1+suTcmLXXGt55h1AVLXeWU+EnxYOElgPFSMZJDhw2j0jQZtl/WunfOZa5lfLCSVO0DhkAZGuoxiKn+Izp8whKrz9YK0k4a+0P9DunxKDLYYJsmzJSCSr0FMV6vt+RiniZXdoLz959jYkSLcdCRt0BBIqNUtTvPJSSI2zeWXecGB+7zHn5vP+/v3Cv9XQkXzMy6A9g4o2+pqRB7uxvFR4qKdlOTuDmEsimKkKCbX6yRCuy4hf711PRvRsDm3ZP810wg6M81oSQ+pBIwLBbHDB2HdBgJc210eOLeYGpQC1xbwbhIRxQYoaaFq7W0N36JhabNnZFS1PHgw2fl8nGy2cPgAc3bmYABKggzFTi65ikJK1U9Hd9MUWxO/0V+/Cp5T22ZbVrge86bccjaicMd5rhSrvKspree3TcEis+F0bb+FGKi5m3jbhf8UHoFToVGNN82UiArLz5RupwqQwhJFnKZ+gJuTFrrj93p/51vPMOs/o/XuAqWu8mbJa/bKfCT6rhDh/LBwksDUHFfEeKkYyBzF3c0hw4bRRa9D1ekaDNmNdsnfL+tdO0uHmD/nMtczg14SNr5YSSraNIwudoHDIhLtBiQMjXUYaOGwHMRU/xCgODoVnT5hCflSpA1V5+sBMYsuBgTjFH5gj9F6zDqedqhWW3OVUABv8TzFa12Jimc55U9hJ4U8XUPp+VnvXLZVizBzULY2KEzSWu1Ifu+iRBqDZ0F5+8+xHZcKtbEiRbnVToC86EjboIwkHqQgkVGoRP2Urlqd55I+8SKWkkRtmvYoqJ/LLvODr0I2hwP3eYtnm7yMUvOG9DafQ/CaKgz8/kbJ+cNAkuWnLFfhC5kY7W/13etxla7XFflr07lMJN/dIOHa4Ca6xoRKf8Io/zDOTJP1yAAAAAAHCajcDhNRuAka+WQcJqNwGy8LrBI18sgVPFoUOE1G4D9E7jw2XhdYMVe/hCRr5ZAjYk1MKni0KC1xHPRwmo3Ad5MlHH6J3Hh5gHSkbLwusGu1hmxir38IZabX1EjXyyBP3mP8RsSamEHNMkRU8WhQU/jAjFriOehd65E04TUbgOY8s1zvJko46C/i5P0TuPD6GhAs8wDpSPQJQZTZeF1g3nH1vNdrDNjQYqQExV7+EMJXVszLTa+ozEQHdJGvlkCWpj6cn7zH+Ji1bySNiTUwioCd7IOaZIiEk8xUqeLQoK7reHyn8YEYoPgpxLXEc9CyzdsMu9ciaLzeirXCajcBxWOf3cx5ZrnLcM5l3kyUcdlFPK3QX8XJ11ZtFfonceH9Ltk99DQgWfM9iIXmAdKR4Qh6TegSgynvGyv1svC6wbX5Eh284+t5u+pDpa7WGbGp37FtoMVICafM4NWKvfwhjbRU/YSurZmDpwVFlptfUZGS942YiA7pn4GmNSNfLIEkVoRdLUx9OSpF1eU/eY/xOHAnLTFq3kk2Y3aVGxJqYRwbwr0VATvZEgiTBQc0yREAPWHNCSeYqQ4uMHVTxaFBVMwJnV3W8Pla31glT+MCMUjqqu1B8FOJRvn7VWuI56FsgU99ZZu2GWKSHsV3rkTRcKfsDXm9FWl+tL23hNRuA4Pdxt+Kxz+7jc6XZ5jyzXOf+2WvluGcy5HoNBe8mSjju5CAP7KKeVu1g9GHoL+Lk6e2I0+urNorqaVy9/RO48PzR0sf+l2ye/1UGqfoaECz72Hob+Z7EQvhcrnXzAOlI8sKDf/CEPSbxRlcR9AlBlPXLK6P3jZX69k//zdl4XWDYujdX2vyJDts+4znecfW837Ofi931IdLcN0vl12sM2NapZu/U79i21S2ygdBipATRoM4z0+ZwatIkGl3FXv4QxJyUJ8baKn7HGEBJwldWzMOVPPvB04KiwBHolctNr6jKj8WfyMl7xskLEfHMRAd0zYZtQ8/A0xrOArktka+WQJBt/HeSK0Iuk+koGZamPpyXZFSrlSLq8pTggMWfvMf4nn6tz5w4E5ad+nmhmLVvJJl3BRObMbtKmvPRfY2JNTCMS18Hjg3hXo/Pi2mKgJ3si0L324kESYKIxiO1g5pkiIJYDr+AHrDmgdza0YSTzFSFUaZjhxcYOobVcg2p4tCgqCC6l6pmBM6rpG75rut4fK8pEkutb6wSrK3GJafxgRimM+svpHVVdqW3P0Gg+CnEoTpD86N8/aqivpedtcRz0LQGGee2QKe+t4LNibLN2wyzD7E7sUkPYrCLZVW71yJouhVIX7hT9ga5kZwxvN6KtL0c4IO/Wl7avpg07QAAAAC4vGdlqgnIixK1r+6PYpdXN97wMiVrX9yd1zi5xbQo730IT4pvveBk1wGHAUrWv7jyatjd4N93M1hjEFZQGVef6KUw+voQnxRCrPhx33vAyGfHp611cghDzc5vJpWtf3AtERgVP6S3+4cY0J4az+gnonOPQrDGIKwIekfJoDKvPhiOyFsKO2e1socA0C9QOGmX7F8MhVnw4j3ll4dlhofR3TrgtM+PT1p3Myg/6uQQhlJYd+NA7dgN+FG/aPAr+KFIl5/EWiIwKuKeV09/SW/2x/UIk9VAp31t/MAYNZ/QTo0jtyuflhjFJyp/oLr9RxkCQSB8EPSPkqhI6PebFFg9I6g/WDEdkLaJoffTFHbPaqzKqA++fwfhBsNghF6gcNLmHBe39Km4WUwV3zzRwueFaX6A4HvLLw7Dd0hryw0PonOxaMdhBMcp2bigTERvmPX80/+Q7mZQflbaNxsOuSdNtgVAKKSw78YcDIijgduwGjln138r0niRk24f9Dsm9wODmpBmkS8/iCmTWO20RGBUDPgHMR5NqN+m8c+6/pLf7EYuuIlUmxdn7CdwAnHwSLvJTC/e2/mAMGNF51VrP6Cc04PH+cE2aBd5ig9y5F03y1zhUK5OVP9A9uiYJa6LiHMWN+8WBIJA+Lw+J50h6R8kmVV4QYvg168zXLDK7Vm2O1Xl0V5HUH6w/+wZ1WI7IWzah0YJyDLp53COjoIo7Z7UkFH5sYLkVl86WDE6p48Jgx8zbuYNhsEItTqmbb1A4aQF/IbBF0kpL6/1TkoyInbzip4Rlpgrvnggl9kdePTJS8BIri7S/QHAakFmpfeWXhxPKjl5XZ+Wl+Uj8fJNaxkF9dd+YOdi0Y5f3rbrwgmOUnq16TdoAEbZ0LwhvIjfMeowY1aPItb5YZpqngQHvaa9vwHB2K20bjYVCAlTHXJOmqXOKf+3e4YRD8fhdJIQ2c0qrL6oOBkRRoCldiPYxmZ1YHoBEHLPrv7Kc8mbV6TxIu8Ylkf9rTmpRRFezHZN7gbO8Ylj3EQmjWT4Qej5L3lRQZMeNFMmsdrrmta/s/nG6QtFoYwZ8A5ioUxpBzybUb6EJzbblpKZNS4u/lAmVLmZnuje/IxdcRI04RZ3qTYuzhGKSasDP+ZFu4OBIOPgkXZbXPYTSelZ/fFVPphsggYh1D5hRMaLzqp+N6nP1n9BOG7DJl18domzxMru1lkd1m/hobEK8xQe5EuoeYETy2nXq3cOsrnCoVwBfsY5nKn+gCQVmeU2oDYLjhxRboZmFqc+2nHCLG/eLJTTuUkJBIHwsbjmlaMNSXsbsS4eQ9I+SPtuWS3p2/bDUWeRpsywqR90DM56ZrlhlN4FBvEAAAAAAAAAAB0AAAAEAAQACAAEAB4AAAAEAAUAEAAIAB4AAAAEAAYAIAAgAB4AAAAEAAQAEAAQAB8AAAAIABAAIAAgAB8AAAAIABAAgACAAB8AAAAIACAAgAAAAR8AAAAgAIAAAgEABB8AAAAgAAIBAgEAEB8AQfDYAAsJAgAAAAMAAAAHAEGC2QALdQUAEAAFAAgABQAYAAUABAAFABQABQAMAAUAHAAFAAIABQASAAUACgAFABoABQAGAAUAFgAFAA4ABQAeAAUAAQAFABEABQAJAAUAGQAFAAUABQAVAAUADQAFAB0ABQADAAUAEwAFAAsABQAbAAUABwAFABcABQBBkNoAC2UBAAAAAQAAAAIAAAACAAAAAwAAAAMAAAAEAAAABAAAAAUAAAAFAAAABgAAAAYAAAAHAAAABwAAAAgAAAAIAAAACQAAAAkAAAAKAAAACgAAAAsAAAALAAAADAAAAAwAAAANAAAADQBBgNsAC/8IDAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBX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AAAJ/ABgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnCABAHCgAACGEAAAghAAAJogAACAEAAAiBAAAIQQAACeIAEAcGAAAIWQAACBkAAAmSABMHOwAACHkAAAg5AAAJ0gARBxEAAAhpAAAIKQAACbIAAAgJAAAIiQAACEkAAAnyABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcoAEQcNAAAIZQAACCUAAAmqAAAIBQAACIUAAAhFAAAJ6gAQBwgAAAhdAAAIHQAACZoAFAdTAAAIfQAACD0AAAnaABIHFwAACG0AAAgtAAAJugAACA0AAAiNAAAITQAACfoAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxgARBwsAAAhjAAAIIwAACaYAAAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYAEgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4AEAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4AAAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEAEAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEAEwc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakAAAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkAEgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUAEAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUAAAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0AEQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0AFAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0AYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMAAAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMAEQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnLABEHDQAACGUAAAglAAAJqwAACAUAAAiFAAAIRQAACesAEAcIAAAIXQAACB0AAAmbABQHUwAACH0AAAg9AAAJ2wASBxcAAAhtAAAILQAACbsAAAgNAAAIjQAACE0AAAn7ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACccAEQcLAAAIYwAACCMAAAmnAAAIAwAACIMAAAhDAAAJ5wAQBwcAAAhbAAAIGwAACZcAFAdDAAAIewAACDsAAAnXABIHEwAACGsAAAgrAAAJtwAACAsAAAiLAAAISwAACfcAEAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzwARBw8AAAhnAAAIJwAACa8AAAgHAAAIhwAACEcAAAnvABAHCQAACF8AAAgfAAAJnwAUB2MAAAh/AAAIPwAACd8AEgcbAAAIbwAACC8AAAm/AAAIDwAACI8AAAhPAAAJ/wAQBQEAFwUBARMFEQAbBQEQEQUFABkFAQQVBUEAHQUBQBAFAwAYBQECFAUhABwFASASBQkAGgUBCBYFgQBABQAAEAUCABcFgQETBRkAGwUBGBEFBwAZBQEGFQVhAB0FAWAQBQQAGAUBAxQFMQAcBQEwEgUNABoFAQwWBcEAQAUAADEuMi44AHN0cmVhbSBlcnJvcgBpbnN1ZmZpY2llbnQgbWVtb3J5AGJ1ZmZlciBlcnJvcgBB5IQBC6EVazgHAA2yBwCc8gcAcGQIAGCuCgCwcQsAMKoMABMAAAAMAAAADQAAAAEAAAAGAAAAAQAAAAEAAAATAAAADQAAAA4AAAABAAAABwAAAAAAAAABAAAAFAAAAA8AAAAQAAAAAQAAAAYAAAAAAAAAAQAAABUAAAAQAAAAEQAAAAEAAAAFAAAAAAAAAAIAAAAVAAAAEgAAABIAAAABAAAABQAAAAAAAAACAAAAFQAAABIAAAATAAAAAgAAAAUAAAACAAAAAwAAABUAAAATAAAAEwAAAAMAAAAFAAAABAAAAAMAAAAVAAAAEwAAABMAAAADAAAABQAAAAgAAAAEAAAAFQAAABMAAAATAAAAAwAAAAUAAAAQAAAABQAAABUAAAATAAAAFAAAAAQAAAAFAAAAEAAAAAUAAAAWAAAAFAAAABUAAAAEAAAABQAAABAAAAAFAAAAFgAAABUAAAAWAAAABAAAAAUAAAAQAAAABQAAABYAAAAVAAAAFgAAAAUAAAAFAAAAEAAAAAUAAAAWAAAAFQAAABYAAAAFAAAABQAAACAAAAAGAAAAFgAAABYAAAAXAAAABQAAAAUAAAAgAAAABgAAABYAAAAXAAAAFwAAAAYAAAAFAAAAIAAAAAYAAAAWAAAAFgAAABYAAAAFAAAABQAAADAAAAAHAAAAFwAAABcAAAAWAAAABQAAAAQAAABAAAAABwAAABcAAAAXAAAAFgAAAAYAAAADAAAAQAAAAAgAAAAXAAAAGAAAABYAAAAHAAAAAwAAAAABAAAJAAAAGQAAABkAAAAXAAAABwAAAAMAAAAAAQAACQAAABoAAAAaAAAAGAAAAAcAAAADAAAAAAIAAAkAAAAbAAAAGwAAABkAAAAJAAAAAwAAAOcDAAAJAAAAEgAAAAwAAAANAAAAAQAAAAUAAAABAAAAAQAAABIAAAANAAAADgAAAAEAAAAGAAAAAAAAAAEAAAASAAAADgAAAA4AAAABAAAABQAAAAAAAAACAAAAEgAAABAAAAAQAAAAAQAAAAQAAAAAAAAAAgAAABIAAAAQAAAAEQAAAAIAAAAFAAAAAgAAAAMAAAASAAAAEgAAABIAAAADAAAABQAAAAIAAAADAAAAEgAAABIAAAATAAAAAwAAAAUAAAAEAAAABAAAABIAAAASAAAAEwAAAAQAAAAEAAAABAAAAAQAAAASAAAAEgAAABMAAAAEAAAABAAAAAgAAAAFAAAAEgAAABIAAAATAAAABQAAAAQAAAAIAAAABQAAABIAAAASAAAAEwAAAAYAAAAEAAAACAAAAAUAAAASAAAAEgAAABMAAAAFAAAABAAAAAwAAAAGAAAAEgAAABMAAAATAAAABwAAAAQAAAAMAAAABgAAABIAAAASAAAAEwAAAAQAAAAEAAAAEAAAAAcAAAASAAAAEgAAABMAAAAEAAAAAwAAACAAAAAHAAAAEgAAABIAAAATAAAABgAAAAMAAACAAAAABwAAABIAAAATAAAAEwAAAAYAAAADAAAAgAAAAAgAAAASAAAAEwAAABMAAAAIAAAAAwAAAAABAAAIAAAAEgAAABMAAAATAAAABgAAAAMAAACAAAAACQAAABIAAAATAAAAEwAAAAgAAAADAAAAAAEAAAkAAAASAAAAEwAAABMAAAAKAAAAAwAAAAACAAAJAAAAEgAAABMAAAATAAAADAAAAAMAAAAAAgAACQAAABIAAAATAAAAEwAAAA0AAAADAAAA5wMAAAkAAAARAAAADAAAAAwAAAABAAAABQAAAAEAAAABAAAAEQAAAAwAAAANAAAAAQAAAAYAAAAAAAAAAQAAABEAAAANAAAADwAAAAEAAAAFAAAAAAAAAAEAAAARAAAADwAAABAAAAACAAAABQAAAAAAAAACAAAAEQAAABEAAAARAAAAAgAAAAQAAAAAAAAAAgAAABEAAAAQAAAAEQAAAAMAAAAEAAAAAgAAAAMAAAARAAAAEQAAABEAAAADAAAABAAAAAQAAAAEAAAAEQAAABEAAAARAAAAAwAAAAQAAAAIAAAABQAAABEAAAARAAAAEQAAAAQAAAAEAAAACAAAAAUAAAARAAAAEQAAABEAAAAFAAAABAAAAAgAAAAFAAAAEQAAABEAAAARAAAABgAAAAQAAAAIAAAABQAAABEAAAARAAAAEQAAAAUAAAAEAAAACAAAAAYAAAARAAAAEgAAABEAAAAHAAAABAAAAAwAAAAGAAAAEQAAABIAAAARAAAAAwAAAAQAAAAMAAAABwAAABEAAAASAAAAEQAAAAQAAAADAAAAIAAAAAcAAAARAAAAEgAAABEAAAAGAAAAAwAAAAABAAAHAAAAEQAAABIAAAARAAAABgAAAAMAAACAAAAACAAAABEAAAASAAAAEQAAAAgAAAADAAAAAAEAAAgAAAARAAAAEgAAABEAAAAKAAAAAwAAAAACAAAIAAAAEQAAABIAAAARAAAABQAAAAMAAAAAAQAACQAAABEAAAASAAAAEQAAAAcAAAADAAAAAAIAAAkAAAARAAAAEgAAABEAAAAJAAAAAwAAAAACAAAJAAAAEQAAABIAAAARAAAACwAAAAMAAADnAwAACQAAAA4AAAAMAAAADQAAAAEAAAAFAAAAAQAAAAEAAAAOAAAADgAAAA8AAAABAAAABQAAAAAAAAABAAAADgAAAA4AAAAPAAAAAQAAAAQAAAAAAAAAAQAAAA4AAAAOAAAADwAAAAIAAAAEAAAAAAAAAAIAAAAOAAAADgAAAA4AAAAEAAAABAAAAAIAAAADAAAADgAAAA4AAAAOAAAAAwAAAAQAAAAEAAAABAAAAA4AAAAOAAAADgAAAAQAAAAEAAAACAAAAAUAAAAOAAAADgAAAA4AAAAGAAAABAAAAAgAAAAFAAAADgAAAA4AAAAOAAAACAAAAAQAAAAIAAAABQAAAA4AAAAPAAAADgAAAAUAAAAEAAAACAAAAAYAAAAOAAAADwAAAA4AAAAJAAAABAAAAAgAAAAGAAAADgAAAA8AAAAOAAAAAwAAAAQAAAAMAAAABwAAAA4AAAAPAAAADgAAAAQAAAADAAAAGAAAAAcAAAAOAAAADwAAAA4AAAAFAAAAAwAAACAAAAAIAAAADgAAAA8AAAAPAAAABgAAAAMAAABAAAAACAAAAA4AAAAPAAAADwAAAAcAAAADAAAAAAEAAAgAAAAOAAAADwAAAA8AAAAFAAAAAwAAADAAAAAJAAAADgAAAA8AAAAPAAAABgAAAAMAAACAAAAACQAAAA4AAAAPAAAADwAAAAcAAAADAAAAAAEAAAkAAAAOAAAADwAAAA8AAAAIAAAAAwAAAAABAAAJAAAADgAAAA8AAAAPAAAACAAAAAMAAAAAAgAACQAAAA4AAAAPAAAADwAAAAkAAAADAAAAAAIAAAkAAAAOAAAADwAAAA8AAAAKAAAAAwAAAOcDAAAJAAAAIAAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADAAAAAxAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA4AEGQmgEL+gEEAAMAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAQABAAIAAgACAAIAAgACAAIAAgACAAMAAgABAAEAAQABAAEA//////////8AAAAAAAAAAAEAAQABAAEAAQABAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP////////////8AAAAAAAABAAQAAwACAAIAAgACAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP//////////////////AEGVnAEL+AcIAAAABwAAagYAAAAGAACtBQAAagUAADEFAAAABQAA1AQAAK0EAACKBAAAagQAAEwEAAAxBAAAFwQAAAAEAADpAwAA1AMAAMADAACtAwAAmwMAAIoDAAB5AwAAagMAAFsDAABMAwAAPgMAADEDAAAkAwAAFwMAAAsDAAAAAwAA9AIAAOkCAADeAgAA1AIAAMoCAADAAgAAtgIAAK0CAACkAgAAmwIAAJICAACKAgAAggIAAHkCAAByAgAAagIAAGICAABbAgAAUwIAAEwCAABFAgAAPgIAADcCAAAxAgAAKgIAACQCAAAeAgAAFwIAABECAAALAgAABQIAAAACAAD6AQAA9AEAAO8BAADpAQAA5AEAAN4BAADZAQAA1AEAAM8BAADKAQAAxQEAAMABAAC7AQAAtgEAALIBAACtAQAAqAEAAKQBAACfAQAAmwEAAJcBAACSAQAAjgEAAIoBAACGAQAAggEAAH4BAAB5AQAAdQEAAHIBAABuAQAAagEAAGYBAABiAQAAXgEAAFsBAABXAQAAUwEAAFABAABMAQAASQEAAEUBAABCAQAAPgEAADsBAAA3AQAANAEAADEBAAAuAQAAKgEAACcBAAAkAQAAIQEAAB4BAAAaAQAAFwEAABQBAAARAQAADgEAAAsBAAAIAQAABQEAAAIBAAAAAQAA/QAAAPoAAAD3AAAA9AAAAPEAAADvAAAA7AAAAOkAAADmAAAA5AAAAOEAAADeAAAA3AAAANkAAADXAAAA1AAAANEAAADPAAAAzAAAAMoAAADHAAAAxQAAAMIAAADAAAAAvgAAALsAAAC5AAAAtgAAALQAAACyAAAArwAAAK0AAACrAAAAqAAAAKYAAACkAAAAogAAAJ8AAACdAAAAmwAAAJkAAACXAAAAlQAAAJIA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AAAPAAAAEAAAABIAAAAUAAAAFgAAABgAAAAcAAAAIAAAACgAAAAwAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQBBsLIBC9YEAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAAEAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAABAAEBBgAAAAAAAAQAAAAAEAAABAAAAAAgAAAFAQAAAAAAAAUDAAAAAAAABQQAAAAAAAAFBgAAAAAAAAUHAAAAAAAABQkAAAAAAAAFCgAAAAAAAAUMAAAAAAAABg4AAAAAAAEFEAAAAAAAAQUUAAAAAAABBRYAAAAAAAIFHAAAAAAAAwUgAAAAAAAEBTAAAAAgAAYFQAAAAAAABwWAAAAAAAAIBgABAAAAAAoGAAQAAAAADAYAEAAAIAAABAAAAAAAAAAEAQAAAAAAAAUCAAAAIAAABQQAAAAAAAAFBQAAACAAAAUHAAAAAAAABQgAAAAgAAAFCgAAAAAAAAULAAAAAAAABg0AAAAgAAEFEAAAAAAAAQUSAAAAIAABBRYAAAAAAAIFGAAAACAAAwUgAAAAAAADBSgAAAAAAAYEQAAAABAABgRAAAAAIAAHBYAAAAAAAAkGAAIAAAAACwYACAAAMAAABAAAAAAQAAAEAQAAACAAAAUCAAAAIAAABQMAAAAgAAAFBQAAACAAAAUGAAAAIAAABQgAAAAgAAAFCQAAACAAAAULAAAAIAAABQwAAAAAAAAGDwAAACAAAQUSAAAAIAABBRQAAAAgAAIFGAAAACAAAgUcAAAAIAADBSgAAAAgAAQFMAAAAAAAEAYAAAEAAAAPBgCAAAAAAA4GAEAAAAAADQYAIABBlLcBC4MEAQAAAAEAAAAFAAAADQAAAB0AAAA9AAAAfQAAAP0AAAD9AQAA/QMAAP0HAAD9DwAA/R8AAP0/AAD9fwAA/f8AAP3/AQD9/wMA/f8HAP3/DwD9/x8A/f8/AP3/fwD9//8A/f//Af3//wP9//8H/f//D/3//x/9//8//f//fwAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAAT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IGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AAAAGHQAAFBlAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUAABh0AAB4ZQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAAAYdAAAoGUAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAAGHQAAMhlAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUAABh0AADwZQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAAAYdAAAGGYAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQAAGHQAAEBmAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUAABh0AABoZgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAAAYdAAAkGYAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQAAGHQAALhmAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUAAEB0AADwZgAAAAAAAAEAAACIBwAAAAAAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEaU5TXzExY2hhcl90cmFpdHNJRGlFRU5TXzlhbGxvY2F0b3JJRGlFRUVFAAAAQHQAAExnAAAAAAAAAQAAAIgHAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAABAdAAAqGcAAAAAAAABAAAAiAcAAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAAQHQAAABoAAAAAAAAAQAAAIgHAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUAABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABAAkLCwAACQYLAAALAAYRAAAAERERAEGR0QELIQsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwBBy9EBCwEMAEHX0QELFQwAAAAADAAAAAAJDAAAAAAADAAADABBhdIBCwEOAEGR0gELFQ0AAAAEDQAAAAAJDgAAAAAADgAADgBBv9IBCwEQAEHL0gELHg8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgBBgtMBCw4SAAAAEhISAAAAAAAACQBBs9MBCwELAEG/0wELFQoAAAAACgAAAAAJCwAAAAAACwAACwBB7dMBCwEMAEH50wELJwwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQBBsNQBC2cwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGg1QEL9hNJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAYmFzaWNfc3RyaW5nAHN0ZDo6ZXhjZXB0aW9uAAAAAADccQAAPAAAAD0AAAA+AAAAGHQAAORxAABTdDlleGNlcHRpb24AAAAAAAAAAAhyAAAQAAAAPwAAAEAAAACMcgAAFHIAANxxAABTdDExbG9naWNfZXJyb3IAAAAAADhyAAAQAAAAQQAAAEAAAACMcgAARHIAAAhyAABTdDEybGVuZ3RoX2Vycm9yAFN0OXR5cGVfaW5mbwAAABh0AABVcgAAjHIAAAFzAABkcgAAjHIAAKxyAABscgAAAAAAANByAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAAIxyAADccgAAeHIAAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQAAAAAAAABAcwAAQgAAAEoAAABEAAAARQAAAEsAAACMcgAATHMAAGxyAABOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgAAACxzAAB0cwAAYgAAACxzAACAcwAAYwAAACxzAACMcwAAaAAAACxzAACYcwAAYQAAACxzAACkcwAAcwAAACxzAACwcwAAdAAAACxzAAC8cwAAaQAAACxzAADIcwAAagAAACxzAADUcwAAbAAAACxzAADgcwAAbQAAACxzAADscwAAZgAAACxzAAD4cwAAZAAAACxzAAAEdAAAAAAAAHhyAABCAAAATAAAAEQAAABFAAAARgAAAE0AAABOAAAATwAAAAAAAABgdAAAQgAAAFAAAABEAAAARQAAAEYAAABRAAAAUgAAAFMAAACMcgAAbHQAAHhyAABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAAAAcHUAQZjpAQtBgC0AAAAyAAABAQAAHgEAAA8AAACALAAAAC0AAAAAAAAeAAAADwAAAAAAAAAwLAAAAAAAABMAAAAHAAAAAAAAAAUAQeTpAQsBOQBB/OkBCwo6AAAAOwAAAC12AEGU6gELAQIAQaPqAQsF//////8AQejqAQsJoH5QAAAAAAAFAEH86gELAVQAQZTrAQsOOgAAAFUAAACYegAAAAQAQazrAQsBAQBBu+sBCwUK/////w==";!function(e){e[e.NOSHUFFLE=0]="NOSHUFFLE",e[e.SHUFFLE=1]="SHUFFLE",e[e.BITSHUFFLE=2]="BITSHUFFLE",e[e.AUTOSHUFFLE=-1]="AUTOSHUFFLE"}(nA||(nA={}));var oA,aA=new Set(["blosclz","lz4","lz4hc","snappy","zlib","zstd"]),sA=((AA=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"lz4",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:nA.SHUFFLE,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(Object(s.a)(this,e),t<0||t>9)throw new Error("Invalid compression level: '".concat(t,"'. It should be between 0 and 9"));if(!aA.has(A))throw new Error("Invalid compressor '".concat(A,"'. Valid compressors include\n 'blosclz', 'lz4', 'lz4hc','snappy', 'zlib', 'zstd'."));if(n<-1||n>2)throw new Error("Invalid shuffle ".concat(n,". Must be one of 0 (NOSHUFFLE),\n 1 (SHUFFLE), 2 (BITSHUFFLE), -1 (AUTOSHUFFLE)."));this.blocksize=r,this.clevel=t,this.cname=A,this.shuffle=n}return Object(g.a)(e,[{key:"encode",value:function(){var e=Object(a.a)(o.a.mark((function e(t){var A,n,r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return oA||(oA=tA(rA,iA)),e.next=3,oA;case 3:return A=e.sent,n=A.compress(t,this.cname,this.clevel,this.shuffle,this.blocksize),r=new Uint8Array(n),A.free_result(),e.abrupt("return",r);case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"decode",value:function(){var e=Object(a.a)(o.a.mark((function e(t,A){var n,r,i;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return oA||(oA=tA(rA,iA)),e.next=3,oA;case 3:if(n=e.sent,r=n.decompress(t),i=new Uint8Array(r),n.free_result(),void 0===A){e.next=10;break}return A.set(i),e.abrupt("return",A);case 10:return e.abrupt("return",i);case 11:case"end":return e.stop()}}),e)})));return function(t,A){return e.apply(this,arguments)}}()}],[{key:"fromConfig",value:function(t){var A=t.blocksize;return new e(t.clevel,t.cname,t.shuffle,A)}}]),e}()).codecId="blosc",AA.COMPRESSORS=Object(r.a)(aA),AA.NOSHUFFLE=nA.NOSHUFFLE,AA.SHUFFLE=nA.SHUFFLE,AA.BITSHUFFLE=nA.BITSHUFFLE,AA.AUTOSHUFFLE=nA.AUTOSHUFFLE,AA);Object(c.d)($t.codecId,(function(){return $t})),Object(c.d)(zt.codecId,(function(){return zt})),Object(c.d)(sA.codecId,(function(){return sA}))}).call(this,A(90),A(188).Buffer)},function(e,t,A){"use strict";A.d(t,"d",(function(){return r})),A.d(t,"e",(function(){return i})),A.d(t,"c",(function(){return o})),A.d(t,"b",(function(){return a})),A.d(t,"a",(function(){return s}));var n=A(85);function r(e){return"undefined"!==typeof WebGLRenderingContext&&e instanceof WebGLRenderingContext||("undefined"!==typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&Number.isFinite(e._version)))}function i(e){return"undefined"!==typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}function o(e){return i(e)?e:null}function a(e){return Object(n.a)(r(e),"Invalid WebGLRenderingContext"),e}function s(e){return Object(n.a)(i(e),"Requires WebGL2"),e}},function(e,t,A){"use strict";A.d(t,"a",(function(){return a}));var n=A(393),r=A(395),i=A(203),o=A(394);function a(e){return Object(n.a)(e)||Object(r.a)(e)||Object(i.a)(e)||Object(o.a)()}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(993);Object.defineProperty(t,"Alpha",{enumerable:!0,get:function(){return u(n).default}});var r=A(488);Object.defineProperty(t,"Checkboard",{enumerable:!0,get:function(){return u(r).default}});var i=A(996);Object.defineProperty(t,"EditableInput",{enumerable:!0,get:function(){return u(i).default}});var o=A(997);Object.defineProperty(t,"Hue",{enumerable:!0,get:function(){return u(o).default}});var a=A(999);Object.defineProperty(t,"Raised",{enumerable:!0,get:function(){return u(a).default}});var s=A(1004);Object.defineProperty(t,"Saturation",{enumerable:!0,get:function(){return u(s).default}});var g=A(617);Object.defineProperty(t,"ColorWrap",{enumerable:!0,get:function(){return u(g).default}});var c=A(1009);function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"Swatch",{enumerable:!0,get:function(){return u(c).default}})},function(e,t,A){"use strict";A.r(t);var n=A(650),r=A(648),i=A(269),o=A(649),a=A(651),s=A(388),g=A(387),c=A(1),u=A(4),l=A(9),I=A(10),C=A(1256),h=A(36),f=function(e){Object(l.a)(A,e);var t=Object(I.a)(A);function A(){return Object(c.a)(this,A),t.apply(this,arguments)}return Object(u.a)(A,[{key:"getGeometry",value:function(e){return new C.a}},{key:"draw",value:function(e){var t=e.uniforms,A=this.props,n=A.elevationScale,r=A.extruded,i=A.offset,o=A.coverage,a=A.cellSize,s=A.angle,g=A.radiusUnits;this.state.model.setUniforms(t).setUniforms({radius:a/2,radiusUnits:h.d[g],angle:s,offset:i,extruded:r,coverage:o,elevationScale:n,edgeDistance:1,isWireframe:!1}).draw()}}]),A}(g.a);f.layerName="GridCellLayer",f.defaultProps={cellSize:{type:"number",min:0,value:1e3},offset:{type:"array",min:0,value:[1,1]}};var d=A(268),B=A(580),p=A(646),E=A(386),Q=A(267),y=A(391),v=A(389);A.d(t,"ArcLayer",(function(){return n.a})),A.d(t,"BitmapLayer",(function(){return r.a})),A.d(t,"IconLayer",(function(){return i.a})),A.d(t,"LineLayer",(function(){return o.a})),A.d(t,"PointCloudLayer",(function(){return a.a})),A.d(t,"ScatterplotLayer",(function(){return s.a})),A.d(t,"ColumnLayer",(function(){return g.a})),A.d(t,"GridCellLayer",(function(){return f})),A.d(t,"PathLayer",(function(){return d.a})),A.d(t,"PolygonLayer",(function(){return B.a})),A.d(t,"GeoJsonLayer",(function(){return p.a})),A.d(t,"TextLayer",(function(){return E.a})),A.d(t,"SolidPolygonLayer",(function(){return Q.a})),A.d(t,"_MultiIconLayer",(function(){return y.a})),A.d(t,"_TextBackgroundLayer",(function(){return v.a}))},function(e,t,A){"use strict";var n={};function r(e){var t=e&&e.lastIndexOf("/");return t>=0?e.substr(0,t):""}function i(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];var n="/";return(t=t.map((function(e,A){return A&&(e=e.replace(new RegExp("^".concat(n)),"")),A!==t.length-1&&(e=e.replace(new RegExp("".concat(n,"$")),"")),e}))).join(n)}A.r(n),A.d(n,"dirname",(function(){return r})),A.d(n,"join",(function(){return i}));A(366),A(637);A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"b",(function(){return i})),A.d(t,"a",(function(){return o}));var n=A(41),r={};function i(e){r=e}function o(e){var t;n.a.level>0&&r[e]&&(t=r[e]).call.apply(t,arguments)}},function(e,t,A){"use strict";A.d(t,"a",(function(){return n})),A.d(t,"b",(function(){return r}));var n={NO_STATE:"Awaiting state",MATCHED:"Matched. State transferred from previous layer",INITIALIZED:"Initialized",AWAITING_GC:"Discarded. Awaiting garbage collection",AWAITING_FINALIZATION:"No longer matched. Awaiting garbage collection",FINALIZED:"Finalized! Awaiting garbage collection"},r={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getIntermediatePosition=function(e,t){return[(e[0]+t[0])/2,(e[1]+t[1])/2]},t.GeoJsonEditMode=void 0;var n=g(A(1154)),r=g(A(376)),i=g(A(1155)),o=g(A(1150)),a=A(99),s=A(158);function g(e){return e&&e.__esModule?e:{default:e}}function c(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||u(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){if(e){if("string"===typeof e)return l(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(A):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function I(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var C={type:"FeatureCollection",features:[]},h=[],f=function(){function e(){var t,A,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),n=[],(A="_clickSequence")in(t=this)?Object.defineProperty(t,A,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[A]=n}var t,A,g;return t=e,(A=[{key:"getGuides",value:function(e){return C}},{key:"getTooltips",value:function(e){return h}},{key:"getSelectedFeature",value:function(e){return 1===e.selectedIndexes.length?e.data.features[e.selectedIndexes[0]]:null}},{key:"getSelectedGeometry",value:function(e){var t=this.getSelectedFeature(e);return t?t.geometry:null}},{key:"getSelectedFeaturesAsFeatureCollection",value:function(e){var t=e.data.features;return{type:"FeatureCollection",features:e.selectedIndexes.map((function(e){return t[e]}))}}},{key:"getClickSequence",value:function(){return this._clickSequence}},{key:"addClickSequence",value:function(e){var t=e.mapCoords;this._clickSequence.push(t)}},{key:"resetClickSequence",value:function(){this._clickSequence=[]}},{key:"getTentativeGuide",value:function(e){return this.getGuides(e).features.find((function(e){return e.properties&&"tentative"===e.properties.guideType}))}},{key:"isSelectionPicked",value:function(e,t){if(!e.length)return!1;var A=(0,a.getNonGuidePicks)(e).map((function(e){return e.index})),n=(0,a.getPickedEditHandles)(e).map((function(e){return e.properties.featureIndex})),r=new Set([].concat(c(A),c(n)));return t.selectedIndexes.some((function(e){return r.has(e)}))}},{key:"rewindPolygon",value:function(e){var t=e.geometry;return"Polygon"===t.type||"MultiPolygon"===t.type?(0,o.default)(e):e}},{key:"getAddFeatureAction",value:function(e,t){var A=e,n="Feature"===A.type?A:{type:"Feature",properties:{},geometry:A},r=this.rewindPolygon(n),i=new s.ImmutableFeatureCollection(t).addFeature(r).getObject();return{updatedData:i,editType:"addFeature",editContext:{featureIndexes:[i.features.length-1]}}}},{key:"getAddManyFeaturesAction",value:function(e,t){var A,n=e.features,r=new s.ImmutableFeatureCollection(t),i=r.getObject().features.length,o=[],a=function(e){if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=u(e))){var t=0,A=function(){};return{s:A,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:A}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,i=!0,o=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){o=!0,r=e},f:function(){try{i||null==n.return||n.return()}finally{if(o)throw r}}}}(n);try{for(a.s();!(A=a.n()).done;){var g=A.value,c=g.properties,l=g.geometry;r=r.addFeature({type:"Feature",properties:c,geometry:l}),o.push(i+o.length)}}catch(I){a.e(I)}finally{a.f()}return{updatedData:r.getObject(),editType:"addFeature",editContext:{featureIndexes:o}}}},{key:"getAddFeatureOrBooleanPolygonAction",value:function(e,t){var A=e,o=this.getSelectedFeature(t),a=t.modeConfig;if(a&&a.booleanOperation){if(!o||"Polygon"!==o.geometry.type&&"MultiPolygon"!==o.geometry.type)return console.warn("booleanOperation only supported for single Polygon or MultiPolygon selection"),null;var g,c="Feature"===A.type?A:{type:"Feature",geometry:A};if("union"===a.booleanOperation)g=(0,n.default)(o,c);else if("difference"===a.booleanOperation)g=(0,r.default)(o,c);else{if("intersection"!==a.booleanOperation)return console.warn("Invalid booleanOperation ".concat(a.booleanOperation)),null;g=(0,i.default)(o,c)}if(!g)return console.warn("Canceling edit. Boolean operation erased entire polygon."),null;var u=t.selectedIndexes[0];return{updatedData:new s.ImmutableFeatureCollection(t.data).replaceGeometry(u,g.geometry).getObject(),editType:"unionGeometry",editContext:{featureIndexes:[u]}}}return this.getAddFeatureAction(e,t.data)}},{key:"createTentativeFeature",value:function(e){return null}},{key:"handleClick",value:function(e,t){}},{key:"handlePointerMove",value:function(e,t){var A=this.createTentativeFeature(t);A&&t.onEdit({updatedData:t.data,editType:"updateTentativeFeature",editContext:{feature:A}})}},{key:"handleStartDragging",value:function(e,t){}},{key:"handleStopDragging",value:function(e,t){}},{key:"handleDragging",value:function(e,t){}},{key:"handleKeyUp",value:function(e,t){"Escape"===e.key&&(this.resetClickSequence(),t.onEdit({updatedData:t.data,editType:"cancelFeature",editContext:{}}))}}])&&I(t.prototype,A),g&&I(t,g),e}();t.GeoJsonEditMode=f},function(e,t,A){"use strict";A.d(t,"a",(function(){return d}));var n=A(1),r=A(4),i=A(24),o=A(9),a=A(10),s=A(92),g=A(139),c=A(119),u=A(18),l=A(26),I=A(323),C={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},h={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:C},f={removedProps:C},d=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(n.a)(this,A),(r=t.call(this,e,o)).stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),r.target=o.target||(r.gl.webgl2?36662:34962),r.initialize(o),Object.seal(Object(i.a)(r)),r}return Object(r.a)(A,[{key:"getElementCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/g.a.getBytesPerElement(e))}},{key:"getVertexCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/g.a.getBytesPerVertex(e))}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=Object(I.a)("Buffer",e,h),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}},{key:"setProps",value:function(e){return"accessor"in(e=Object(I.a)("Buffer",e,f))&&this.setAccessor(e.accessor),this}},{key:"setAccessor",value:function(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new g.a(e),this}},{key:"reallocate",value:function(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}},{key:"setData",value:function(e){return this.initialize(e)}},{key:"subData",value:function(e){ArrayBuffer.isView(e)&&(e={data:e});var t=e,A=t.data,n=t.offset,r=void 0===n?0:n,i=t.srcOffset,o=void 0===i?0:i,a=e.byteLength||e.length;Object(l.a)(A);var s=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(s,this.handle),0!==o||void 0!==a?(Object(u.a)(this.gl),this.gl.bufferSubData(this.target,r,A,o,a)):this.gl.bufferSubData(s,r,A),this.gl.bindBuffer(s,null),this.debugData=null,this._inferType(A),this}},{key:"copyData",value:function(e){var t=e.sourceBuffer,A=e.readOffset,n=void 0===A?0:A,r=e.writeOffset,i=void 0===r?0:r,o=e.size,a=this.gl;return Object(u.a)(a),a.bindBuffer(36662,t.handle),a.bindBuffer(36663,this.handle),a.copyBufferSubData(36662,36663,n,i,o),a.bindBuffer(36662,null),a.bindBuffer(36663,null),this.debugData=null,this}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.dstData,A=void 0===t?null:t,n=e.srcByteOffset,r=void 0===n?0:n,i=e.dstOffset,o=void 0===i?0:i,a=e.length,s=void 0===a?0:a;Object(u.a)(this.gl);var g,I,C=Object(c.c)(this.accessor.type||5126,{clamped:!1}),h=this._getAvailableElementCount(r),f=o;A?g=(I=A.length)-f:I=f+(g=Math.min(h,s||h));var d=Math.min(h,g);return s=s||d,Object(l.a)(s<=d),A=A||new C(I),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,r,A,o,s),this.gl.bindBuffer(36662,null),A}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,A=void 0===t?this.target:t,n=e.index,r=void 0===n?this.accessor&&this.accessor.index:n,i=e.offset,o=void 0===i?0:i,a=e.size;return 35345===A||35982===A?void 0!==a?this.gl.bindBufferRange(A,r,this.handle,o,a):(Object(l.a)(0===o),this.gl.bindBufferBase(A,r,this.handle)):this.gl.bindBuffer(A,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,A=void 0===t?this.target:t,n=e.index,r=void 0===n?this.accessor&&this.accessor.index:n,i=35345===A||35982===A;return i?this.gl.bindBufferBase(A,r,null):this.gl.bindBuffer(A,null),this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}},{key:"invalidateDebugData",value:function(){this.debugData=null}},{key:"_setData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.byteLength+t;Object(l.a)(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();var n=this._getTarget();this.gl.bindBuffer(n,this.handle),this.gl.bufferData(n,A,this.usage),this.gl.bufferSubData(n,t,e),this.gl.bindBuffer(n,null),this.debugData=e.slice(0,10),this.bytesUsed=A,this._trackAllocatedMemory(A);var r=Object(c.b)(e);return Object(l.a)(r),this.setAccessor(new g.a(this.accessor,{type:r})),this}},{key:"_setByteLength",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.usage;Object(l.a)(e>=0),this._trackDeallocatedMemory();var A=e;0===e&&(A=new Float32Array(0));var n=this._getTarget();return this.gl.bindBuffer(n,this.handle),this.gl.bufferData(n,A,t),this.gl.bindBuffer(n,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}},{key:"_getTarget",value:function(){return this.gl.webgl2?36663:this.target}},{key:"_getAvailableElementCount",value:function(e){var t=e/Object(c.c)(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-t}},{key:"_inferType",value:function(e){this.accessor.type||this.setAccessor(new g.a(this.accessor,{type:Object(c.b)(e)}))}},{key:"_createHandle",value:function(){return this.gl.createBuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_getParameter",value:function(e){this.gl.bindBuffer(this.target,this.handle);var t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}},{key:"setByteLength",value:function(e){return u.k.deprecated("setByteLength","reallocate")(),this.reallocate(e)}},{key:"updateAccessor",value:function(e){return u.k.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new g.a(this.accessor,e),this}},{key:"type",get:function(){return u.k.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}},{key:"bytes",get:function(){return u.k.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}}]),A}(s.a)},function(e,t,A){"use strict";var n=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),r=A(1),i=A(4),o=A(9),a=A(10),s=(A(91),A(11));function g(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}Math.PI,Math.PI;var c={};function u(e){return Math.round(e/c.EPSILON)*c.EPSILON}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.precision,n=void 0===A?c.precision||4:A;return e=u(e),"".concat(parseFloat(e.toPrecision(n)))}function I(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function C(e,t,A){var n=c.EPSILON;A&&(c.EPSILON=A);try{if(e===t)return!0;if(I(e)&&I(t)){if(e.length!==t.length)return!1;for(var r=0;r<e.length;++r)if(!C(e[r],t[r]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):!(!Number.isFinite(e)||!Number.isFinite(t))&&Math.abs(e-t)<=c.EPSILON*Math.max(1,Math.abs(e),Math.abs(t))}finally{c.EPSILON=n}}c.EPSILON=1e-12,c.debug=!1,c.precision=4,c.printTypes=!1,c.printDegrees=!1,c.printRowMajor=!0;var h=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"clone",value:function(){return(new this.constructor).copy(this)}},{key:"from",value:function(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}},{key:"fromArray",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=0;A<this.ELEMENTS;++A)this[A]=e[A+t];return this.check()}},{key:"to",value:function(e){return e===this?this:I(e)?this.toArray(e):this.toObject(e)}},{key:"toTarget",value:function(e){return e?this.to(e):this}},{key:"toArray",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=0;A<this.ELEMENTS;++A)e[t+A]=this[A];return e}},{key:"toFloat32Array",value:function(){return new Float32Array(this)}},{key:"toString",value:function(){return this.formatString(c)}},{key:"formatString",value:function(e){for(var t="",A=0;A<this.ELEMENTS;++A)t+=(A>0?", ":"")+l(this[A],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t<this.ELEMENTS;++t)if(!C(this[t],e[t]))return!1;return!0}},{key:"exactEquals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t<this.ELEMENTS;++t)if(this[t]!==e[t])return!1;return!0}},{key:"negate",value:function(){for(var e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}},{key:"lerp",value:function(e,t,A){void 0===A&&(A=t,t=e,e=this);for(var n=0;n<this.ELEMENTS;++n){var r=e[n];this[n]=r+A*(t[n]-r)}return this.check()}},{key:"min",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=Math.min(e[t],this[t]);return this.check()}},{key:"max",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=Math.max(e[t],this[t]);return this.check()}},{key:"clamp",value:function(e,t){for(var A=0;A<this.ELEMENTS;++A)this[A]=Math.min(Math.max(this[A],e[A]),t[A]);return this.check()}},{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]+=i[o];return this.check()}},{key:"subtract",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]-=i[o];return this.check()}},{key:"scale",value:function(e){if(Array.isArray(e))return this.multiply(e);for(var t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}},{key:"sub",value:function(e){return this.subtract(e)}},{key:"setScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=e;return this.check()}},{key:"addScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]+=e;return this.check()}},{key:"subScalar",value:function(e){return this.addScalar(-e)}},{key:"multiplyScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}},{key:"divideScalar",value:function(e){return this.scale(1/e)}},{key:"clampScalar",value:function(e,t){for(var A=0;A<this.ELEMENTS;++A)this[A]=Math.min(Math.max(this[A],e),t);return this.check()}},{key:"multiplyByScalar",value:function(e){return this.scale(e)}},{key:"check",value:function(){if(c.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}},{key:"validate",value:function(){for(var e=this.length===this.ELEMENTS,t=0;t<this.ELEMENTS;++t)e=e&&Number.isFinite(this[t]);return e}},{key:"ELEMENTS",get:function(){return g(!1),0}},{key:"elements",get:function(){return this}}]),A}(function(e){function t(){var t=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(t,Object.getPrototypeOf(this)),t}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}(Array));function f(e,t){if(e.length!==t)return!1;for(var A=0;A<e.length;++A)if(!Number.isFinite(e[A]))return!1;return!0}function d(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(e));return e}function B(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(c.debug&&!f(e,t))throw new Error("math.gl: ".concat(A," some fields set to invalid numbers'"));return e}var p={};function E(e,t){p[e]||(p[e]=!0,console.warn("".concat(e," has been removed in version ").concat(t,", see upgrade guide for more information")))}var Q=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"copy",value:function(e){return g(!1),this}},{key:"len",value:function(){return Math.sqrt(this.lengthSquared())}},{key:"magnitude",value:function(){return this.len()}},{key:"lengthSquared",value:function(){for(var e=0,t=0;t<this.ELEMENTS;++t)e+=this[t]*this[t];return e}},{key:"magnitudeSquared",value:function(){return this.lengthSquared()}},{key:"distance",value:function(e){return Math.sqrt(this.distanceSquared(e))}},{key:"distanceSquared",value:function(e){for(var t=0,A=0;A<this.ELEMENTS;++A){var n=this[A]-e[A];t+=n*n}return d(t)}},{key:"dot",value:function(e){for(var t=0,A=0;A<this.ELEMENTS;++A)t+=this[A]*e[A];return d(t)}},{key:"normalize",value:function(){var e=this.magnitude();if(0!==e)for(var t=0;t<this.ELEMENTS;++t)this[t]/=e;return this.check()}},{key:"multiply",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]*=i[o];return this.check()}},{key:"divide",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]/=i[o];return this.check()}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"distanceTo",value:function(e){return this.distance(e)}},{key:"distanceToSquared",value:function(e){return this.distanceSquared(e)}},{key:"getComponent",value:function(e){return g(e>=0&&e<this.ELEMENTS,"index is out of range"),d(this[e])}},{key:"setComponent",value:function(e,t){return g(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=t,this.check()}},{key:"addVectors",value:function(e,t){return this.copy(e).add(t)}},{key:"subVectors",value:function(e,t){return this.copy(e).subtract(t)}},{key:"multiplyVectors",value:function(e,t){return this.copy(e).multiply(t)}},{key:"addScaledVector",value:function(e,t){return this.add(new this.constructor(e).multiplyScalar(t))}},{key:"ELEMENTS",get:function(){return g(!1),0}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=d(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=d(e)}}]),A}(h),y=A(29);function v(e,t,A){var n=t[0],r=t[1],i=t[2],o=A[3]*n+A[7]*r+A[11]*i||1;return e[0]=(A[0]*n+A[4]*r+A[8]*i)/o,e[1]=(A[1]*n+A[5]*r+A[9]*i)/o,e[2]=(A[2]*n+A[6]*r+A[10]*i)/o,e}var m=[0,0,0],b={},w=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Object(r.a)(this,A),e=t.call(this,-0,-0,-0),1===arguments.length&&I(n)?e.copy(n):(c.debug&&(d(n),d(i),d(o)),e[0]=n,e[1]=i,e[2]=o),e}return Object(i.a)(A,null,[{key:"ZERO",get:function(){return b.ZERO=b.ZERO||Object.freeze(new A(0,0,0,0))}}]),Object(i.a)(A,[{key:"set",value:function(e,t,A){return this[0]=e,this[1]=t,this[2]=A,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return c.debug&&(d(e.x),d(e.y),d(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"angle",value:function(e){return y.a(this,e)}},{key:"cross",value:function(e){return y.c(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?m:A;return y.j(this,this,n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?m:A;return y.k(this,this,n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?m:A;return y.l(this,this,n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return y.p(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return v(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return y.o(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return function(e,t,A){var n=t[0],r=t[1];e[0]=A[0]*n+A[2]*r,e[1]=A[1]*n+A[3]*r,e[2]=t[2]}(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return y.q(this,this,e),this.check()}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=d(e)}}]),A}(Q),S=new w,F=new w,R=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0],A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;Object(r.a)(this,e),n=n||S.copy(t).add(A).scale(.5),this.center=new w(n),this.halfDiagonal=new w(A).subtract(this.center),this.minimum=new w(t),this.maximum=new w(A)}return Object(i.a)(e,[{key:"clone",value:function(){return new e(this.minimum,this.maximum,this.center)}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.minimum.equals(e.minimum)&&this.maximum.equals(e.maximum)}},{key:"transform",value:function(e){return this.center.transformAsPoint(e),this.halfDiagonal.transform(e),this.minimum.transform(e),this.maximum.transform(e),this}},{key:"intersectPlane",value:function(e){var t=this.halfDiagonal,A=F.from(e.normal),r=t.x*Math.abs(A.x)+t.y*Math.abs(A.y)+t.z*Math.abs(A.z),i=this.center.dot(A)+e.distance;return i-r>0?n.INSIDE:i+r<0?n.OUTSIDE:n.INTERSECTING}},{key:"distanceTo",value:function(e){return Math.sqrt(this.distanceSquaredTo(e))}},{key:"distanceSquaredTo",value:function(e){var t,A=S.from(e).subtract(this.center),n=this.halfDiagonal,r=0;return(t=Math.abs(A.x)-n.x)>0&&(r+=t*t),(t=Math.abs(A.y)-n.y)>0&&(r+=t*t),(t=Math.abs(A.z)-n.z)>0&&(r+=t*t),r}}]),e}(),D=A(27),G=new w,k=new w,x=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0],A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;Object(r.a)(this,e),this.radius=-0,this.center=new w,this.fromCenterRadius(t,A)}return Object(i.a)(e,[{key:"fromCenterRadius",value:function(e,t){return this.center.from(e),this.radius=t,this}},{key:"fromCornerPoints",value:function(e,t){return t=G.from(t),this.center=(new w).from(e).add(t).scale(.5),this.radius=this.center.distance(t),this}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.radius===e.radius}},{key:"clone",value:function(){return new e(this.center,this.radius)}},{key:"union",value:function(e){var t=this.center,A=this.radius,n=e.center,r=e.radius,i=G.copy(n).subtract(t),o=i.magnitude();if(A>=o+r)return this.clone();if(r>=o+A)return e.clone();var a=.5*(A+o+r);return k.copy(i).scale((-A+a)/o).add(t),this.center.copy(k),this.radius=a,this}},{key:"expand",value:function(e){var t=(e=G.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}},{key:"transform",value:function(e){this.center.transform(e);var t=D.d(G,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}},{key:"distanceSquaredTo",value:function(e){var t=this.distanceTo(e);return t*t}},{key:"distanceTo",value:function(e){var t=(e=G.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}},{key:"intersectPlane",value:function(e){var t=this.center,A=this.radius,r=e.normal.dot(t)+e.distance;return r<-A?n.OUTSIDE:r<A?n.INTERSECTING:n.INSIDE}}]),e}(),N=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"toString",value:function(){var e="[";if(c.printRowMajor){e+="row-major:";for(var t=0;t<this.RANK;++t)for(var A=0;A<this.RANK;++A)e+=" ".concat(this[A*this.RANK+t])}else{e+="column-major:";for(var n=0;n<this.ELEMENTS;++n)e+=" ".concat(this[n])}return e+="]"}},{key:"getElementIndex",value:function(e,t){return t*this.RANK+e}},{key:"getElement",value:function(e,t){return this[t*this.RANK+e]}},{key:"setElement",value:function(e,t,A){return this[t*this.RANK+e]=d(A),this}},{key:"getColumn",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),A=e*this.RANK,n=0;n<this.RANK;++n)t[n]=this[A+n];return t}},{key:"setColumn",value:function(e,t){for(var A=e*this.RANK,n=0;n<this.RANK;++n)this[A+n]=t[n];return this}},{key:"ELEMENTS",get:function(){return g(!1),0}},{key:"RANK",get:function(){return g(!1),0}}]),A}(h),U=A(58),_=A(70),M=Object.freeze([1,0,0,0,1,0,0,0,1]),O=Object.freeze([0,0,0,0,0,0,0,0,0]),L=Object.freeze({COL0ROW0:0,COL0ROW1:1,COL0ROW2:2,COL1ROW0:3,COL1ROW1:4,COL1ROW2:5,COL2ROW0:6,COL2ROW1:7,COL2ROW2:8}),T={},Z=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(e){var n;return Object(r.a)(this,A),n=t.call(this,-0,-0,-0,-0,-0,-0,-0,-0,-0),1===arguments.length&&Array.isArray(e)?n.copy(e):n.identity(),n}return Object(i.a)(A,[{key:"ELEMENTS",get:function(){return 9}},{key:"RANK",get:function(){return 3}},{key:"INDICES",get:function(){return L}}],[{key:"IDENTITY",get:function(){return T.IDENTITY=T.IDENTITY||Object.freeze(new A(M)),T.IDENTITY}},{key:"ZERO",get:function(){return T.ZERO=T.ZERO||Object.freeze(new A(O)),T.ZERO}}]),Object(i.a)(A,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this.check()}},{key:"set",value:function(e,t,A,n,r,i,o,a,s){return this[0]=e,this[1]=t,this[2]=A,this[3]=n,this[4]=r,this[5]=i,this[6]=o,this[7]=a,this[8]=s,this.check()}},{key:"setRowMajor",value:function(e,t,A,n,r,i,o,a,s){return this[0]=e,this[1]=n,this[2]=o,this[3]=t,this[4]=r,this[5]=a,this[6]=A,this[7]=i,this[8]=s,this.check()}},{key:"determinant",value:function(){return U.b(this)}},{key:"identity",value:function(){return this.copy(M)}},{key:"fromQuaternion",value:function(e){return U.c(this,e),this.check()}},{key:"transpose",value:function(){return U.i(this,this),this.check()}},{key:"invert",value:function(){return U.d(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return U.e(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return U.e(this,this,e),this.check()}},{key:"rotate",value:function(e){return U.f(this,this,e),this.check()}},{key:"scale",value:function(e){return Array.isArray(e)?U.g(this,this,e):U.g(this,this,[e,e,e]),this.check()}},{key:"translate",value:function(e){return U.h(this,this,e),this.check()}},{key:"transform",value:function(e,t){switch(e.length){case 2:t=_.e(t||[-0,-0],e,this);break;case 3:t=y.o(t||[-0,-0,-0],e,this);break;case 4:t=function(e,t,A){var n=t[0],r=t[1],i=t[2];return e[0]=A[0]*n+A[3]*r+A[6]*i,e[1]=A[1]*n+A[4]*r+A[7]*i,e[2]=A[2]*n+A[5]*r+A[8]*i,e[3]=t[3],e}(t||[-0,-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return B(t,e.length),t}},{key:"transformVector",value:function(e,t){return E("Matrix3.transformVector"),this.transform(e,t)}},{key:"transformVector2",value:function(e,t){return E("Matrix3.transformVector"),this.transform(e,t)}},{key:"transformVector3",value:function(e,t){return E("Matrix3.transformVector"),this.transform(e,t)}}]),A}(N),H=A(34),Y=A(56),J=[0,0,0,1],j=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return Object(r.a)(this,A),e=t.call(this,-0,-0,-0,-0),Array.isArray(n)&&1===arguments.length?e.copy(n):e.set(n,i,o,a),e}return Object(i.a)(A,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,A,n){return this[0]=e,this[1]=t,this[2]=A,this[3]=n,this.check()}},{key:"fromMatrix3",value:function(e){return H.e(this,e),this.check()}},{key:"identity",value:function(){return H.f(this),this.check()}},{key:"fromAxisRotation",value:function(e,t){return H.p(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"len",value:function(){return H.h(this)}},{key:"lengthSquared",value:function(){return H.r(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return H.d(this,e)}},{key:"rotationTo",value:function(e,t){return H.n(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return H.a(this,this,e),this.check()}},{key:"calculateW",value:function(){return H.b(this,this),this.check()}},{key:"conjugate",value:function(){return H.c(this,this),this.check()}},{key:"invert",value:function(){return H.g(this,this),this.check()}},{key:"lerp",value:function(e,t,A){return H.i(this,e,t,A),this.check()}},{key:"multiplyRight",value:function(e,t){return g(!t),H.j(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return g(!t),H.j(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return H.k(this,this,e),this.check()}},{key:"rotateY",value:function(e){return H.l(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return H.m(this,this,e),this.check()}},{key:"scale",value:function(e){return H.o(this,this,e),this.check()}},{key:"slerp",value:function(e,t,A){switch(arguments.length){case 1:var n=arguments[0],r=n.start;e=void 0===r?J:r,t=n.target,A=n.ratio;break;case 2:var i=Array.prototype.slice.call(arguments);t=i[0],A=i[1],e=this}return H.q(this,e,t,A),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return Y.o(t,e,this),B(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=d(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=d(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=d(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=d(e)}}]),A}(h),P=new w,V=new w,K=new w,W=new w,X=new w,q=new w,z=new w,$=0,ee=1,te=2,Ae=3,ne=4,re=5,ie=6,oe=7,ae=8,se=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0],A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0,0,0,0,0,0,0];Object(r.a)(this,e),this.center=(new w).from(t),this.halfAxes=new Z(A)}return Object(i.a)(e,[{key:"fromCenterHalfSizeQuaternion",value:function(e,t,A){var n=new j(A),r=(new Z).fromQuaternion(n);return r[0]=r[0]*t[0],r[1]=r[1]*t[0],r[2]=r[2]*t[0],r[3]=r[3]*t[1],r[4]=r[4]*t[1],r[5]=r[5]*t[1],r[6]=r[6]*t[2],r[7]=r[7]*t[2],r[8]=r[8]*t[2],this.center=(new w).from(e),this.halfAxes=r,this}},{key:"clone",value:function(){return new e(this.center,this.halfAxes)}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}},{key:"getBoundingSphere",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new x,t=this.halfAxes,A=t.getColumn(0,K),n=t.getColumn(1,W),r=t.getColumn(2,X),i=P.copy(A).add(n).add(r);return e.center.copy(this.center),e.radius=i.magnitude(),e}},{key:"intersectPlane",value:function(e){var t=this.center,A=e.normal,r=this.halfAxes,i=A.x,o=A.y,a=A.z,s=Math.abs(i*r[$]+o*r[ee]+a*r[te])+Math.abs(i*r[Ae]+o*r[ne]+a*r[re])+Math.abs(i*r[ie]+o*r[oe]+a*r[ae]),g=A.dot(t)+e.distance;return g<=-s?n.OUTSIDE:g>=s?n.INSIDE:n.INTERSECTING}},{key:"distanceTo",value:function(e){return Math.sqrt(this.distanceSquaredTo(e))}},{key:"distanceSquaredTo",value:function(e){var t=V.from(e).subtract(this.center),A=this.halfAxes,n=A.getColumn(0,K),r=A.getColumn(1,W),i=A.getColumn(2,X),o=n.magnitude(),a=r.magnitude(),s=i.magnitude();n.normalize(),r.normalize(),i.normalize();var g,c=0;return(g=Math.abs(t.dot(n))-o)>0&&(c+=g*g),(g=Math.abs(t.dot(r))-a)>0&&(c+=g*g),(g=Math.abs(t.dot(i))-s)>0&&(c+=g*g),c}},{key:"computePlaneDistances",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[-0,-0],n=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,i=this.center,o=this.halfAxes,a=o.getColumn(0,K),s=o.getColumn(1,W),g=o.getColumn(2,X),c=q.copy(a).add(s).add(g).add(i),u=z.copy(c).subtract(e),l=t.dot(u);return n=Math.min(l,n),r=Math.max(l,r),c.copy(i).add(a).add(s).subtract(g),u.copy(c).subtract(e),l=t.dot(u),n=Math.min(l,n),r=Math.max(l,r),c.copy(i).add(a).subtract(s).add(g),u.copy(c).subtract(e),l=t.dot(u),n=Math.min(l,n),r=Math.max(l,r),c.copy(i).add(a).subtract(s).subtract(g),u.copy(c).subtract(e),l=t.dot(u),n=Math.min(l,n),r=Math.max(l,r),i.copy(c).subtract(a).add(s).add(g),u.copy(c).subtract(e),l=t.dot(u),n=Math.min(l,n),r=Math.max(l,r),i.copy(c).subtract(a).add(s).subtract(g),u.copy(c).subtract(e),l=t.dot(u),n=Math.min(l,n),r=Math.max(l,r),i.copy(c).subtract(a).subtract(s).add(g),u.copy(c).subtract(e),l=t.dot(u),n=Math.min(l,n),r=Math.max(l,r),i.copy(c).subtract(a).subtract(s).subtract(g),u.copy(c).subtract(e),l=t.dot(u),n=Math.min(l,n),r=Math.max(l,r),A[0]=n,A[1]=r,A}},{key:"transform",value:function(e){this.center.transformAsPoint(e);var t=this.halfAxes.getColumn(0,K);t.transformAsPoint(e);var A=this.halfAxes.getColumn(1,W);A.transformAsPoint(e);var n=this.halfAxes.getColumn(2,X);return n.transformAsPoint(e),this.halfAxes=new Z([].concat(Object(s.a)(t),Object(s.a)(A),Object(s.a)(n))),this}},{key:"getTransform",value:function(){throw new Error("not implemented")}},{key:"halfSize",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),A=this.halfAxes.getColumn(2);return[new w(e).len(),new w(t).len(),new w(A).len()]}},{key:"quaternion",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),A=this.halfAxes.getColumn(2),n=new w(e).normalize(),r=new w(t).normalize(),i=new w(A).normalize();return(new j).fromMatrix3(new Z([].concat(Object(s.a)(n),Object(s.a)(r),Object(s.a)(i))))}}]),e}(),ge=A(6),ce=new w,ue=new w,le=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,1],A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;Object(r.a)(this,e),this.normal=new w,this.distance=-0,this.fromNormalDistance(t,A)}return Object(i.a)(e,[{key:"fromNormalDistance",value:function(e,t){return g(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}},{key:"fromPointNormal",value:function(e,t){e=ce.from(e),this.normal.from(t).normalize();var A=-this.normal.dot(e);return this.distance=A,this}},{key:"fromCoefficients",value:function(e,t,A,n){return this.normal.set(e,t,A),g(C(this.normal.len(),1)),this.distance=n,this}},{key:"clone",value:function(t){return new e(this.normal,this.distance)}},{key:"equals",value:function(e){return C(this.distance,e.distance)&&C(this.normal,e.normal)}},{key:"getPointDistance",value:function(e){return this.normal.dot(e)+this.distance}},{key:"transform",value:function(e){var t=ue.copy(this.normal).transformAsVector(e).normalize(),A=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(A,t)}},{key:"projectPointOntoPlane",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];e=ce.from(e);var A=this.getPointDistance(e),n=ue.copy(this.normal).scale(A);return e.subtract(n).to(t)}}]),e}(),Ie=[new w([1,0,0]),new w([0,1,0]),new w([0,0,1])],Ce=new w,he=new w,fe=(new le(new w(1,0,0),0),function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];Object(r.a)(this,e),this.planes=t,g(this.planes.every((function(e){return e instanceof le})))}return Object(i.a)(e,null,[{key:"MASK_OUTSIDE",get:function(){return 4294967295}},{key:"MASK_INSIDE",get:function(){return 0}},{key:"MASK_INDETERMINATE",get:function(){return 2147483647}}]),Object(i.a)(e,[{key:"fromBoundingSphere",value:function(e){this.planes.length=2*Ie.length;var t,A=e.center,n=e.radius,r=0,i=Object(ge.a)(Ie);try{for(i.s();!(t=i.n()).done;){var o=t.value,a=this.planes[r],s=this.planes[r+1];a||(a=this.planes[r]=new le),s||(s=this.planes[r+1]=new le);var g=Ce.copy(o).scale(-n).add(A);o.dot(g);a.fromPointNormal(g,o);var c=Ce.copy(o).scale(n).add(A),u=he.copy(o).negate();u.dot(c);s.fromPointNormal(c,u),r+=2}}catch(l){i.e(l)}finally{i.f()}return this}},{key:"computeVisibility",value:function(e){g(e);var t,A=n.INSIDE,r=Object(ge.a)(this.planes);try{for(r.s();!(t=r.n()).done;){var i=t.value;switch(e.intersectPlane(i)){case n.OUTSIDE:return n.OUTSIDE;case n.INTERSECTING:A=n.INTERSECTING}}}catch(o){r.e(o)}finally{r.f()}return A}},{key:"computeVisibilityWithPlaneMask",value:function(t,A){if(g(t,"boundingVolume is required."),g(Number.isFinite(A),"parentPlaneMask is required."),A===e.MASK_OUTSIDE||A===e.MASK_INSIDE)return A;for(var r=e.MASK_INSIDE,i=this.planes,o=0;o<this.planes.length;++o){var a=o<31?1<<o:0;if(!(o<31&&0===(A&a))){var s=i[o],c=t.intersectPlane(s);if(c===n.OUTSIDE)return e.MASK_OUTSIDE;c===n.INTERSECTING&&(r|=a)}}return r}}]),e}());A(7),A(8),Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Object.freeze([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze({COL0ROW0:0,COL0ROW1:1,COL0ROW2:2,COL0ROW3:3,COL1ROW0:4,COL1ROW1:5,COL1ROW2:6,COL1ROW3:7,COL2ROW0:8,COL2ROW1:9,COL2ROW2:10,COL2ROW3:11,COL3ROW0:12,COL3ROW1:13,COL3ROW2:14,COL3ROW3:15}),new w,new w,new w,new w,new w;new w,new w,new w,new w,new w,new w,new w,new w,new w,new w,new w,new w,Math.PI;var de=1e-15,Be=1e-20,pe=(Math.PI,Math.PI,Math.PI,Math.PI,new Z),Ee=new Z,Qe=new Z,ye=new Z,ve=new Z;function me(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=Be,n=10,r=0,i=0,o=Ee,a=Qe;o.identity(),a.copy(e);for(var s=A*be(a);i<n&&Fe(a)>s;)Re(a,ye),ve.copy(ye).transpose(),a.multiplyRight(ye),a.multiplyLeft(ve),o.multiplyRight(ye),++r>2&&(++i,r=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=a.toTarget(t.diagonal),t}function be(e){for(var t=0,A=0;A<9;++A){var n=e[A];t+=n*n}return Math.sqrt(t)}var we=[1,0,0],Se=[2,2,1];function Fe(e){for(var t=0,A=0;A<3;++A){var n=e[pe.getElementIndex(Se[A],we[A])];t+=2*n*n}return Math.sqrt(t)}function Re(e,t){for(var A=de,n=0,r=1,i=0;i<3;++i){var o=Math.abs(e[pe.getElementIndex(Se[i],we[i])]);o>n&&(r=i,n=o)}var a=we[r],s=Se[r],g=1,c=0;if(Math.abs(e[pe.getElementIndex(s,a)])>A){var u,l=(e[pe.getElementIndex(s,s)]-e[pe.getElementIndex(a,a)])/2/e[pe.getElementIndex(s,a)];c=(u=l<0?-1/(-l+Math.sqrt(1+l*l)):1/(l+Math.sqrt(1+l*l)))*(g=1/Math.sqrt(1+u*u))}return Z.IDENTITY.to(t),t[pe.getElementIndex(a,a)]=t[pe.getElementIndex(s,s)]=g,t[pe.getElementIndex(s,a)]=c,t[pe.getElementIndex(a,s)]=-c,t}var De=new w,Ge=new w,ke=new w,xe=new w,Ne=new w,Ue=new Z,_e={diagonal:new Z,unitary:new Z};function Me(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new se;if(!e||0===e.length)return t.halfAxes=new Z([0,0,0,0,0,0,0,0,0]),t.center=new w,t;var A,n=e.length,r=new w(0,0,0),i=Object(ge.a)(e);try{for(i.s();!(A=i.n()).done;){var o=A.value;r.add(o)}}catch(M){i.e(M)}finally{i.f()}var a=1/n;r.multiplyByScalar(a);var s,g=0,c=0,u=0,l=0,I=0,C=0,h=Object(ge.a)(e);try{for(h.s();!(s=h.n()).done;){var f=s.value,d=De.copy(f).subtract(r);g+=d.x*d.x,c+=d.x*d.y,u+=d.x*d.z,l+=d.y*d.y,I+=d.y*d.z,C+=d.z*d.z}}catch(M){h.e(M)}finally{h.f()}g*=a,c*=a,u*=a,l*=a,I*=a,C*=a;var B=Ue;B[0]=g,B[1]=c,B[2]=u,B[3]=c,B[4]=l,B[5]=I,B[6]=u,B[7]=I,B[8]=C;var p,E=me(B,_e),Q=E.unitary,y=t.halfAxes.copy(Q),v=y.getColumn(0,ke),m=y.getColumn(1,xe),b=y.getColumn(2,Ne),S=-Number.MAX_VALUE,F=-Number.MAX_VALUE,R=-Number.MAX_VALUE,D=Number.MAX_VALUE,G=Number.MAX_VALUE,k=Number.MAX_VALUE,x=Object(ge.a)(e);try{for(x.s();!(p=x.n()).done;){var N=p.value;De.copy(N),S=Math.max(De.dot(v),S),F=Math.max(De.dot(m),F),R=Math.max(De.dot(b),R),D=Math.min(De.dot(v),D),G=Math.min(De.dot(m),G),k=Math.min(De.dot(b),k)}}catch(M){x.e(M)}finally{x.f()}v=v.multiplyByScalar(.5*(D+S)),m=m.multiplyByScalar(.5*(G+F)),b=b.multiplyByScalar(.5*(k+R)),t.center.copy(v).add(m).add(b);var U=Ge.set(S-D,F-G,R-k).multiplyByScalar(.5),_=new Z([U[0],0,0,0,U[1],0,0,0,U[2]]);return t.halfAxes.multiplyRight(_),t}A.d(t,"a",(function(){return R})),A.d(t,"b",(function(){return x})),A.d(t,"d",(function(){return se})),A.d(t,"c",(function(){return fe})),A.d(t,"e",(function(){return le})),A.d(t,"f",(function(){return Me}))},function(e,t,A){var n=A(813)();e.exports=n},function(e,t,A){"use strict";function n(e,t){if(null==e)return{};var A,n,r=function(e,t){if(null==e)return{};var A,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||Object.prototype.propertyIsEnumerable.call(e,A)&&(r[A]=e[A])}return r}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return i})),A.d(t,"e",(function(){return o})),A.d(t,"c",(function(){return a})),A.d(t,"d",(function(){return s})),A.d(t,"b",(function(){return l})),A.d(t,"f",(function(){return I}));var n=A(150),r=A(23);function i(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function o(e,t){var A=e%t;return A<0?t+A:A}function a(e){return[e[12],e[13],e[14]]}function s(e){var t={};return t.left=u(e[3]+e[0],e[7]+e[4],e[11]+e[8],e[15]+e[12]),t.right=u(e[3]-e[0],e[7]-e[4],e[11]-e[8],e[15]-e[12]),t.bottom=u(e[3]+e[1],e[7]+e[5],e[11]+e[9],e[15]+e[13]),t.top=u(e[3]-e[1],e[7]-e[5],e[11]-e[9],e[15]-e[13]),t.near=u(e[3]+e[2],e[7]+e[6],e[11]+e[10],e[15]+e[14]),t.far=u(e[3]-e[2],e[7]-e[6],e[11]-e[10],e[15]-e[14]),t}var g,c=new r.Vector3;function u(e,t,A,n){c.set(e,t,A);var i=c.len();return{distance:n/i,normal:new r.Vector3(-e/i,-t/i,-A/i)}}function l(e){return e-Math.fround(e)}function I(e,t){var A=t.size,r=void 0===A?1:A,i=t.startIndex,o=void 0===i?0:i,a=t.endIndex;Number.isFinite(a)||(a=e.length);var s=(a-o)/r;g=n.a.allocate(g,s,{type:Float32Array,size:2*r});for(var c=o,u=0;c<a;){for(var I=0;I<r;I++){var C=e[c++];g[u+I]=C,g[u+I+r]=l(C)}u+=2*r}return g.subarray(0,s*r*2)}},function(e,t,A){"use strict";function n(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}A.d(t,"a",(function(){return n}))},function(e,t){var A;A=function(){return this}();try{A=A||new Function("return this")()}catch(n){"object"===typeof window&&(A=window)}e.exports=A},function(e,t,A){"use strict";function n(e,t){if(!e)throw new Error(t||"deck.gl: assertion failed.")}A.d(t,"a",(function(){return n}))},function(e,t,A){var n=A(1108),r=A(460);e.exports=function(e,t,A){return void 0===A&&(A=t,t=void 0),void 0!==A&&(A=(A=r(A))===A?A:0),void 0!==t&&(t=(t=r(t))===t?t:0),n(r(e),t,A)}},function(e,t,A){"use strict";A(1),A(4),A(32);var n={CLOCKWISE:1,COUNTER_CLOCKWISE:-1};function r(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i(e,A);return n!==t&&(a(e,A),!0)}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Math.sign(o(e,t))}function o(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.start,n=void 0===A?0:A,r=t.end,i=void 0===r?e.length:r,o=t.size||2,a=0,s=n,g=i-o;s<i;s+=o)a+=(e[s]-e[g])*(e[s+1]+e[g+1]),g=s;return a/2}function a(e,t){for(var A=t.start,n=void 0===A?0:A,r=t.end,i=void 0===r?e.length:r,o=t.size,a=void 0===o?2:o,s=(i-n)/a,g=Math.floor(s/2),c=0;c<g;++c)for(var u=n+c*a,l=n+(s-1-c)*a,I=0;I<a;++I){var C=e[u+I];e[u+I]=e[l+I],e[l+I]=C}}function s(e,t,A,n){A=A||2;var r,i,o,a,s,l,I,C=t&&t.length,h=C?t[0]*A:e.length,B=g(e,0,h,A,!0,n&&n[0]),p=[];if(!B||B.next===B.prev)return p;if(C&&(B=function(e,t,A,n,r){var i,o,a,s,u,l=[];for(i=0,o=t.length;i<o;i++)a=t[i]*n,s=i<o-1?t[i+1]*n:e.length,(u=g(e,a,s,n,!1,r&&r[i+1]))===u.next&&(u.steiner=!0),l.push(E(u));for(l.sort(f),i=0;i<l.length;i++)d(l[i],A),A=c(A,A.next);return A}(e,t,B,A,n)),e.length>80*A){a=i=e[0],s=o=e[1];for(var Q=A;Q<h;Q+=A)(l=e[Q])<a&&(a=l),(I=e[Q+1])<s&&(s=I),l>i&&(i=l),I>o&&(o=I);r=0!==(r=Math.max(i-a,o-s))?1/r:0}return u(B,p,A,a,s,r),p}function g(e,t,A,n,r,i){var a,s;if(void 0===i&&(i=o(e,{start:t,end:A,size:n})),r===i<0)for(a=t;a<A;a+=n)s=D(a,e[a],e[a+1],s);else for(a=A-n;a>=t;a-=n)s=D(a,e[a],e[a+1],s);return s&&m(s,s.next)&&(G(s),s=s.next),s}function c(e,t){if(!e)return e;t||(t=e);var A,n=e;do{if(A=!1,n.steiner||!m(n,n.next)&&0!==v(n.prev,n,n.next))n=n.next;else{if(G(n),(n=t=n.prev)===n.next)break;A=!0}}while(A||n!==t);return t}function u(e,t,A,n,r,i,o){if(e){!o&&i&&function(e,t,A,n){var r=e;do{null===r.z&&(r.z=p(r.x,r.y,t,A,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==e);r.prevZ.nextZ=null,r.prevZ=null,function(e){var t,A,n,r,i,o,a,s,g=1;do{for(r=e,e=null,s=null,n=0;r;){for(n++,o=r,i=0,A=0;A<g&&(i++,o=o.nextZ);A++);for(a=g;i>0||a>0&&o;)0!==i&&(0===a||!o||r.z<=o.z)?(t=r,r=r.nextZ,i--):(t=o,o=o.nextZ,a--),s?s.nextZ=t:e=t,t.prevZ=s,s=t;r=o}s.nextZ=null,g*=2}while(n>1)}(r)}(e,n,r,i);for(var a,s,g=e;e.prev!==e.next;)if(a=e.prev,s=e.next,i?I(e,n,r,i):l(e))t.push(a.i/A),t.push(e.i/A),t.push(s.i/A),G(e),e=s.next,g=s.next;else if((e=s)===g){o?1===o?u(e=C(c(e),t,A),t,A,n,r,i,2):2===o&&h(e,t,A,n,r,i):u(c(e),t,A,n,r,i,1);break}}}function l(e){var t=e.prev,A=e,n=e.next;if(v(t,A,n)>=0)return!1;for(var r=e.next.next;r!==e.prev;){if(Q(t.x,t.y,A.x,A.y,n.x,n.y,r.x,r.y)&&v(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function I(e,t,A,n){var r=e.prev,i=e,o=e.next;if(v(r,i,o)>=0)return!1;for(var a=r.x<i.x?r.x<o.x?r.x:o.x:i.x<o.x?i.x:o.x,s=r.y<i.y?r.y<o.y?r.y:o.y:i.y<o.y?i.y:o.y,g=r.x>i.x?r.x>o.x?r.x:o.x:i.x>o.x?i.x:o.x,c=r.y>i.y?r.y>o.y?r.y:o.y:i.y>o.y?i.y:o.y,u=p(a,s,t,A,n),l=p(g,c,t,A,n),I=e.prevZ,C=e.nextZ;I&&I.z>=u&&C&&C.z<=l;){if(I!==e.prev&&I!==e.next&&Q(r.x,r.y,i.x,i.y,o.x,o.y,I.x,I.y)&&v(I.prev,I,I.next)>=0)return!1;if(I=I.prevZ,C!==e.prev&&C!==e.next&&Q(r.x,r.y,i.x,i.y,o.x,o.y,C.x,C.y)&&v(C.prev,C,C.next)>=0)return!1;C=C.nextZ}for(;I&&I.z>=u;){if(I!==e.prev&&I!==e.next&&Q(r.x,r.y,i.x,i.y,o.x,o.y,I.x,I.y)&&v(I.prev,I,I.next)>=0)return!1;I=I.prevZ}for(;C&&C.z<=l;){if(C!==e.prev&&C!==e.next&&Q(r.x,r.y,i.x,i.y,o.x,o.y,C.x,C.y)&&v(C.prev,C,C.next)>=0)return!1;C=C.nextZ}return!0}function C(e,t,A){var n=e;do{var r=n.prev,i=n.next.next;!m(r,i)&&b(r,n,n.next,i)&&F(r,i)&&F(i,r)&&(t.push(r.i/A),t.push(n.i/A),t.push(i.i/A),G(n),G(n.next),n=e=i),n=n.next}while(n!==e);return c(n)}function h(e,t,A,n,r,i){var o=e;do{for(var a=o.next.next;a!==o.prev;){if(o.i!==a.i&&y(o,a)){var s=R(o,a);return o=c(o,o.next),s=c(s,s.next),u(o,t,A,n,r,i),void u(s,t,A,n,r,i)}a=a.next}o=o.next}while(o!==e)}function f(e,t){return e.x-t.x}function d(e,t){if(t=function(e,t){var A,n=t,r=e.x,i=e.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var a=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(a<=r&&a>o){if(o=a,a===r){if(i===n.y)return n;if(i===n.next.y)return n.next}A=n.x<n.next.x?n:n.next}}n=n.next}while(n!==t);if(!A)return null;if(r===o)return A;var s,g=A,c=A.x,u=A.y,l=1/0;n=A;do{r>=n.x&&n.x>=c&&r!==n.x&&Q(i<u?r:o,i,c,u,i<u?o:r,i,n.x,n.y)&&(s=Math.abs(i-n.y)/(r-n.x),F(n,e)&&(s<l||s===l&&(n.x>A.x||n.x===A.x&&B(A,n)))&&(A=n,l=s)),n=n.next}while(n!==g);return A}(e,t)){var A=R(t,e);c(t,t.next),c(A,A.next)}}function B(e,t){return v(e.prev,e,t.prev)<0&&v(t.next,e,e.next)<0}function p(e,t,A,n,r){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-A)*r)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*r)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function E(e){var t=e,A=e;do{(t.x<A.x||t.x===A.x&&t.y<A.y)&&(A=t),t=t.next}while(t!==e);return A}function Q(e,t,A,n,r,i,o,a){return(r-o)*(t-a)-(e-o)*(i-a)>=0&&(e-o)*(n-a)-(A-o)*(t-a)>=0&&(A-o)*(i-a)-(r-o)*(n-a)>=0}function y(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var A=e;do{if(A.i!==e.i&&A.next.i!==e.i&&A.i!==t.i&&A.next.i!==t.i&&b(A,A.next,e,t))return!0;A=A.next}while(A!==e);return!1}(e,t)&&(F(e,t)&&F(t,e)&&function(e,t){var A=e,n=!1,r=(e.x+t.x)/2,i=(e.y+t.y)/2;do{A.y>i!==A.next.y>i&&A.next.y!==A.y&&r<(A.next.x-A.x)*(i-A.y)/(A.next.y-A.y)+A.x&&(n=!n),A=A.next}while(A!==e);return n}(e,t)&&(v(e.prev,e,t.prev)||v(e,t.prev,t))||m(e,t)&&v(e.prev,e,e.next)>0&&v(t.prev,t,t.next)>0)}function v(e,t,A){return(t.y-e.y)*(A.x-t.x)-(t.x-e.x)*(A.y-t.y)}function m(e,t){return e.x===t.x&&e.y===t.y}function b(e,t,A,n){var r=S(v(e,t,A)),i=S(v(e,t,n)),o=S(v(A,n,e)),a=S(v(A,n,t));return r!==i&&o!==a||(!(0!==r||!w(e,A,t))||(!(0!==i||!w(e,n,t))||(!(0!==o||!w(A,e,n))||!(0!==a||!w(A,t,n)))))}function w(e,t,A){return t.x<=Math.max(e.x,A.x)&&t.x>=Math.min(e.x,A.x)&&t.y<=Math.max(e.y,A.y)&&t.y>=Math.min(e.y,A.y)}function S(e){return e>0?1:e<0?-1:0}function F(e,t){return v(e.prev,e,e.next)<0?v(e,t,e.next)>=0&&v(e,e.prev,t)>=0:v(e,t,e.prev)<0||v(e,e.next,t)<0}function R(e,t){var A=new k(e.i,e.x,e.y),n=new k(t.i,t.x,t.y),r=e.next,i=t.prev;return e.next=t,t.prev=e,A.next=r,r.prev=A,n.next=A,A.prev=n,i.next=n,n.prev=i,n}function D(e,t,A,n){var r=new k(e,t,A);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function G(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function k(e,t,A){this.i=e,this.x=t,this.y=A,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function x(e,t){var A=t.length,n=e.length;if(n>0){for(var r=!0,i=0;i<A;i++)if(e[n-A+i]!==t[i]){r=!1;break}if(r)return!1}for(var o=0;o<A;o++)e[n+o]=t[o];return!0}function N(e,t){for(var A=t.length,n=0;n<A;n++)e[n]=t[n]}function U(e,t,A,n){for(var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],i=n+t*A,o=0;o<A;o++)r[o]=e[i+o];return r}function _(e,t,A,n){var r,i,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];if(8&A)r=(n[3]-e[1])/(t[1]-e[1]),i=3;else if(4&A)r=(n[1]-e[1])/(t[1]-e[1]),i=1;else if(2&A)r=(n[2]-e[0])/(t[0]-e[0]),i=2;else{if(!(1&A))return null;r=(n[0]-e[0])/(t[0]-e[0]),i=0}for(var a=0;a<e.length;a++)o[a]=(1&i)===a?n[i]:r*(t[a]-e[a])+e[a];return o}function M(e,t){var A=0;return e[0]<t[0]?A|=1:e[0]>t[2]&&(A|=2),e[1]<t[1]?A|=4:e[1]>t[3]&&(A|=8),A}function O(e){var t,A,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.size,i=void 0===r?2:r,o=n.broken,a=void 0!==o&&o,s=n.gridResolution,g=void 0===s?10:s,c=n.gridOffset,u=void 0===c?[0,0]:c,l=n.startIndex,I=void 0===l?0:l,C=n.endIndex,h=void 0===C?e.length:C,f=(h-I)/i,d=[],B=[d],p=U(e,0,i,I),E=H(p,g,u,[]),Q=[];x(d,p);for(var y=1;y<f;y++){for(A=M(t=U(e,y,i,I,t),E);A;){_(p,t,A,E,Q);var v=M(Q,E);v&&(_(p,Q,v,E,Q),A=v),x(d,Q),N(p,Q),Y(E,g,A),a&&d.length>i&&(d=[],B.push(d),x(d,p)),A=M(t,E)}x(d,t),N(p,t)}return a?B:B[0]}function L(e,t){for(var A=0;A<t.length;A++)e.push(t[A]);return e}function T(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e.length)return[];for(var n=A.size,r=void 0===n?2:n,i=A.gridResolution,o=void 0===i?10:i,a=A.gridOffset,s=void 0===a?[0,0]:a,g=A.edgeTypes,c=void 0!==g&&g,u=[],l=[{pos:e,types:c&&new Array(e.length/r).fill(1),holes:t||[]}],I=[[],[]],C=[];l.length;){var h=l.shift(),f=h.pos,d=h.types,B=h.holes;J(f,r,B[0]||f.length,I),C=H(I[0],o,s,C);var p=M(I[1],C);if(p){var E=Z(f,d,r,0,B[0]||f.length,C,p),Q={pos:E[0].pos,types:E[0].types,holes:[]},y={pos:E[1].pos,types:E[1].types,holes:[]};l.push(Q,y);for(var v=0;v<B.length;v++)(E=Z(f,d,r,B[v],B[v+1]||f.length,C,p))[0]&&(Q.holes.push(Q.pos.length),Q.pos=L(Q.pos,E[0].pos),c&&(Q.types=L(Q.types,E[0].types))),E[1]&&(y.holes.push(y.pos.length),y.pos=L(y.pos,E[1].pos),c&&(y.types=L(y.types,E[1].types)))}else{var m={positions:f};c&&(m.edgeTypes=d),B.length&&(m.holeIndices=B),u.push(m)}}return u}function Z(e,t,A,n,r,i,o){for(var a,s,g,c=(r-n)/A,u=[],l=[],I=[],C=[],h=[],f=U(e,c-1,A,n),d=Math.sign(8&o?f[1]-i[3]:f[0]-i[2]),B=t&&t[c-1],p=0,E=0,Q=0;Q<c;Q++)a=U(e,Q,A,n,a),s=Math.sign(8&o?a[1]-i[3]:a[0]-i[2]),g=t&&t[n/A+Q],s&&d&&d!==s&&(_(f,a,o,i,h),x(u,h)&&I.push(B),x(l,h)&&C.push(B)),s<=0?(x(u,a)&&I.push(g),p-=s):I.length&&(I[I.length-1]=0),s>=0?(x(l,a)&&C.push(g),E+=s):C.length&&(C[C.length-1]=0),N(f,a),d=s,B=g;return[p?{pos:u,types:t&&I}:null,E?{pos:l,types:t&&C}:null]}function H(e,t,A,n){var r=Math.floor((e[0]-A[0])/t)*t+A[0],i=Math.floor((e[1]-A[1])/t)*t+A[1];return n[0]=r,n[1]=i,n[2]=r+t,n[3]=i+t,n}function Y(e,t,A){8&A?(e[1]+=t,e[3]+=t):4&A?(e[1]-=t,e[3]-=t):2&A?(e[0]+=t,e[2]+=t):1&A&&(e[0]-=t,e[2]-=t)}function J(e,t,A,n){for(var r=1/0,i=-1/0,o=1/0,a=-1/0,s=0;s<A;s+=t){var g=e[s],c=e[s+1];r=g<r?g:r,i=g>i?g:i,o=c<o?c:o,a=c>a?c:a}return n[0][0]=r,n[0][1]=o,n[1][0]=i,n[1][1]=a,n}var j=A(6);function P(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.size,n=void 0===A?2:A,r=t.startIndex,i=void 0===r?0:r,o=t.endIndex,a=void 0===o?e.length:o,s=t.normalize,g=void 0===s||s,c=e.slice(i,a);X(c,n,0,a-i);var u=O(c,{size:n,broken:!0,gridResolution:360,gridOffset:[-180,-180]});if(g){var l,I=Object(j.a)(u);try{for(I.s();!(l=I.n()).done;){var C=l.value;q(C,n)}}catch(h){I.e(h)}finally{I.f()}}return u}function V(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=A.size,r=void 0===n?2:n,i=A.normalize,o=void 0===i||i,a=A.edgeTypes,s=void 0!==a&&a;t=t||[];for(var g=[],c=[],u=0,l=0,I=0;I<=t.length;I++){for(var C=t[I]||e.length,h=l,f=K(e,r,u,C),d=f;d<C;d++)g[l++]=e[d];for(var B=u;B<f;B++)g[l++]=e[B];X(g,r,h,l),W(g,r,h,l,A.maxLatitude),u=C,c[I]=l}c.pop();var p=T(g,c,{size:r,gridResolution:360,gridOffset:[-180,-180],edgeTypes:s});if(o){var E,Q=Object(j.a)(p);try{for(Q.s();!(E=Q.n()).done;){var y=E.value;q(y.positions,r)}}catch(v){Q.e(v)}finally{Q.f()}}return p}function K(e,t,A,n){for(var r=-1,i=-1,o=A+1;o<n;o+=t){var a=Math.abs(e[o]);a>r&&(r=a,i=o-1)}return i}function W(e,t,A,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:85.051129,i=e[A],o=e[n-t];if(Math.abs(i-o)>180){var a=U(e,0,t,A);a[0]+=360*Math.round((o-i)/360),x(e,a),a[1]=Math.sign(a[1])*r,x(e,a),a[0]=i,x(e,a)}}function X(e,t,A,n){for(var r,i=e[0],o=A;o<n;o+=t){var a=(r=e[o])-i;(a>180||a<-180)&&(r-=360*Math.round(a/360)),e[o]=i=r}}function q(e,t){for(var A,n=e.length/t,r=0;r<n&&((A=e[r*t])+180)%360===0;r++);var i=360*-Math.round(A/360);if(0!==i)for(var o=0;o<n;o++)e[o*t]+=i}A.d(t,"g",(function(){return o})),A.d(t,"h",(function(){return r})),A.d(t,"a",(function(){return n})),A.d(t,"f",(function(){return s})),A.d(t,"b",(function(){return T})),A.d(t,"d",(function(){return O})),A.d(t,"e",(function(){return P})),A.d(t,"c",(function(){return V}))},function(e,t){var A,n,r=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(A===setTimeout)return setTimeout(e,0);if((A===i||!A)&&setTimeout)return A=setTimeout,setTimeout(e,0);try{return A(e,0)}catch(t){try{return A.call(null,e,0)}catch(t){return A.call(this,e,0)}}}!function(){try{A="function"===typeof setTimeout?setTimeout:i}catch(e){A=i}try{n="function"===typeof clearTimeout?clearTimeout:o}catch(e){n=o}}();var s,g=[],c=!1,u=-1;function l(){c&&s&&(c=!1,s.length?g=s.concat(g):u=-1,g.length&&I())}function I(){if(!c){var e=a(l);c=!0;for(var t=g.length;t;){for(s=g,g=[];++u<t;)s&&s[u].run();u=-1,t=g.length}s=null,c=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function C(e,t){this.fun=e,this.array=t}function h(){}r.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var A=1;A<arguments.length;A++)t[A-1]=arguments[A];g.push(new C(e,t)),1!==g.length||c||a(I)},C.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=h,r.addListener=h,r.once=h,r.off=h,r.removeListener=h,r.removeAllListeners=h,r.emit=h,r.prependListener=h,r.prependOnceListener=h,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n=A(271),r=A(403);function i(e,t,A){return(i=Object(r.a)()?Reflect.construct:function(e,t,A){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return A&&Object(n.a)(i,A.prototype),i}).apply(null,arguments)}},function(e,t,A){"use strict";A.d(t,"a",(function(){return I}));var n=A(6),r=A(1),i=A(4),o=A(18),a=A(330),s=A(109),g=A(26),c=A(108),u=A(407),l="Resource subclass must define virtual methods",I=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(r.a)(this,e),Object(o.b)(t);var n=A.id,i=A.userData,a=void 0===i?{}:i;this.gl=t,this.gl2=t,this.id=n||Object(c.c)(this.constructor.name),this.userData=a,this._bound=!1,this._handle=A.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}return Object(i.a)(e,[{key:"toString",value:function(){return"".concat(this.constructor.name,"(").concat(this.id,")")}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deleteChildren,A=void 0!==t&&t,n=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,n&&A&&n.filter(Boolean).forEach((function(e){return e.delete()})),this}},{key:"bind",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.handle;return"function"!==typeof t?(this._bindHandle(t),this):(this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e)}},{key:"unbind",value:function(){this.bind(null)}},{key:"getParameter",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(s.b)(this.gl,e),Object(g.a)(e);var A=this.constructor.PARAMETERS||{},n=A[e];if(n){var r=Object(o.j)(this.gl),i=(!("webgl2"in n)||r)&&(!("extension"in n)||this.gl.getExtension(n.extension));if(!i){var a=n.webgl1,c="webgl2"in n?n.webgl2:n.webgl1,u=r?c:a;return u}}return this._getParameter(e,t)}},{key:"getParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=t.parameters,r=t.keys,i=this.constructor.PARAMETERS||{},a=Object(o.j)(this.gl),g={},c=A||Object.keys(i),u=Object(n.a)(c);try{for(u.s();!(e=u.n()).done;){var l=e.value,I=i[l],C=I&&(!("webgl2"in I)||a)&&(!("extension"in I)||this.gl.getExtension(I.extension));if(C){var h=r?Object(s.a)(this.gl,l):l;g[h]=this.getParameter(l,t),r&&"GLenum"===I.type&&(g[h]=Object(s.a)(this.gl,g[h]))}}}catch(f){u.e(f)}finally{u.f()}return g}},{key:"setParameter",value:function(e,t){e=Object(s.b)(this.gl,e),Object(g.a)(e);var A=(this.constructor.PARAMETERS||{})[e];if(A){var n=Object(o.j)(this.gl);if(!((!("webgl2"in A)||n)&&(!("extension"in A)||this.gl.getExtension(A.extension))))throw new Error("Parameter not available on this platform");"GLenum"===A.type&&(t=Object(s.b)(t))}return this._setParameter(e,t),this}},{key:"setParameters",value:function(e){for(var t in e)this.setParameter(t,e[t]);return this}},{key:"stubRemovedMethods",value:function(e,t,A){return Object(u.a)(this,e,t,A)}},{key:"initialize",value:function(e){}},{key:"_createHandle",value:function(){throw new Error(l)}},{key:"_deleteHandle",value:function(){throw new Error(l)}},{key:"_bindHandle",value:function(e){throw new Error(l)}},{key:"_getOptsFromHandle",value:function(){throw new Error(l)}},{key:"_getParameter",value:function(e,t){throw new Error(l)}},{key:"_setParameter",value:function(e,t){throw new Error(l)}},{key:"_context",value:function(){return this.gl.luma=this.gl.luma||{},this.gl.luma}},{key:"_addStats",value:function(){var e=this.constructor.name,t=a.a.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get("".concat(e,"s Created")).incrementCount(),t.get("".concat(e,"s Active")).incrementCount()}},{key:"_removeStats",value:function(){var e=this.constructor.name;a.a.get("Resource Counts").get("".concat(e,"s Active")).decrementCount()}},{key:"_trackAllocatedMemory",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.constructor.name,A=a.a.get("Memory Usage");A.get("GPU Memory").addCount(e),A.get("".concat(t," Memory")).addCount(e),this.byteLength=e}},{key:"_trackDeallocatedMemory",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.constructor.name,t=a.a.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get("".concat(e," Memory")).subtractCount(this.byteLength),this.byteLength=0}},{key:"handle",get:function(){return this._handle}}]),e}()},function(e,t,A){"use strict";t.__esModule=!0;var n,r=A(925),i=(n=r)&&n.__esModule?n:{default:n};t.default=i.default||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}},function(e,t,A){"use strict";A.d(t,"b",(function(){return r})),A.d(t,"g",(function(){return i})),A.d(t,"c",(function(){return o})),A.d(t,"l",(function(){return a})),A.d(t,"a",(function(){return s})),A.d(t,"k",(function(){return g})),A.d(t,"h",(function(){return c})),A.d(t,"m",(function(){return u})),A.d(t,"j",(function(){return l})),A.d(t,"d",(function(){return I})),A.d(t,"i",(function(){return C})),A.d(t,"n",(function(){return h})),A.d(t,"o",(function(){return f})),A.d(t,"f",(function(){return d})),A.d(t,"e",(function(){return B}));var n=A(30);function r(e){var t=new n.a(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function i(e,t,A,r){var i=new n.a(4);return i[0]=e,i[1]=t,i[2]=A,i[3]=r,i}function o(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function a(e,t,A,n,r){return e[0]=t,e[1]=A,e[2]=n,e[3]=r,e}function s(e,t,A){return e[0]=t[0]+A[0],e[1]=t[1]+A[1],e[2]=t[2]+A[2],e[3]=t[3]+A[3],e}function g(e,t,A){return e[0]=t[0]*A,e[1]=t[1]*A,e[2]=t[2]*A,e[3]=t[3]*A,e}function c(e){var t=e[0],A=e[1],n=e[2],r=e[3];return Math.hypot(t,A,n,r)}function u(e){var t=e[0],A=e[1],n=e[2],r=e[3];return t*t+A*A+n*n+r*r}function l(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=A*A+n*n+r*r+i*i;return o>0&&(o=1/Math.sqrt(o)),e[0]=A*o,e[1]=n*o,e[2]=r*o,e[3]=i*o,e}function I(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function C(e,t,A,n){var r=t[0],i=t[1],o=t[2],a=t[3];return e[0]=r+n*(A[0]-r),e[1]=i+n*(A[1]-i),e[2]=o+n*(A[2]-o),e[3]=a+n*(A[3]-a),e}function h(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3];return e[0]=A[0]*n+A[4]*r+A[8]*i+A[12]*o,e[1]=A[1]*n+A[5]*r+A[9]*i+A[13]*o,e[2]=A[2]*n+A[6]*r+A[10]*i+A[14]*o,e[3]=A[3]*n+A[7]*r+A[11]*i+A[15]*o,e}function f(e,t,A){var n=t[0],r=t[1],i=t[2],o=A[0],a=A[1],s=A[2],g=A[3],c=g*n+a*i-s*r,u=g*r+s*n-o*i,l=g*i+o*r-a*n,I=-o*n-a*r-s*i;return e[0]=c*g+I*-o+u*-s-l*-a,e[1]=u*g+I*-a+l*-o-c*-s,e[2]=l*g+I*-s+c*-a-u*-o,e[3]=t[3],e}function d(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function B(e,t){var A=e[0],r=e[1],i=e[2],o=e[3],a=t[0],s=t[1],g=t[2],c=t[3];return Math.abs(A-a)<=n.b*Math.max(1,Math.abs(A),Math.abs(a))&&Math.abs(r-s)<=n.b*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-g)<=n.b*Math.max(1,Math.abs(i),Math.abs(g))&&Math.abs(o-c)<=n.b*Math.max(1,Math.abs(o),Math.abs(c))}!function(){var e=function(){var e=new n.a(4);return n.a!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}()}()},function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,A){"use strict";A.d(t,"a",(function(){return f}));var n=A(8),r=A(1),i=A(4),o=A(41),a=A(84),s=A(23),g=A(27),c=A(42),u=A(36),l=Math.PI/180,I=Object(a.a)(),C=[0,0,0],h={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]},f=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(r.a)(this,e);var A=t.id,n=void 0===A?null:A,i=t.x,o=void 0===i?0:i,a=t.y,s=void 0===a?0:a,g=t.width,c=void 0===g?1:g,u=t.height,l=void 0===u?1:u;this.id=n||this.constructor.displayName||"viewport",this.x=o,this.y=s,this.width=c||1,this.height=l||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}return Object(i.a)(e,[{key:"equals",value:function(t){return t instanceof e&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&Object(s.equals)(t.projectionMatrix,this.projectionMatrix)&&Object(s.equals)(t.viewMatrix,this.viewMatrix))}},{key:"project",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.topLeft,r=void 0===A||A,i=this.projectPosition(e),o=Object(c.s)(i,this.pixelProjectionMatrix),a=Object(n.a)(o,2),s=a[0],g=a[1],u=r?g:this.height-g;return 2===e.length?[s,u]:[s,u,o[2]]}},{key:"unproject",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.topLeft,r=void 0===A||A,i=t.targetZ,o=Object(n.a)(e,3),a=o[0],s=o[1],g=o[2],u=r?s:this.height-s,l=i&&i*this.distanceScales.unitsPerMeter[2],I=Object(c.p)([a,u,g],this.pixelUnprojectionMatrix,l),C=this.unprojectPosition(I),h=Object(n.a)(C,3),f=h[0],d=h[1],B=h[2];return Number.isFinite(g)?[f,d,B]:Number.isFinite(i)?[f,d,i]:[f,d]}},{key:"projectPosition",value:function(e){var t=this.projectFlat(e),A=Object(n.a)(t,2);return[A[0],A[1],(e[2]||0)*this.distanceScales.unitsPerMeter[2]]}},{key:"unprojectPosition",value:function(e){var t=this.unprojectFlat(e),A=Object(n.a)(t,2);return[A[0],A[1],(e[2]||0)*this.distanceScales.metersPerUnit[2]]}},{key:"projectFlat",value:function(e){return this.isGeospatial?Object(c.n)(e):e}},{key:"unprojectFlat",value:function(e){return this.isGeospatial?Object(c.r)(e):e}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={targetZ:e.z||0},A=this.unproject([0,0],t),n=this.unproject([this.width,0],t),r=this.unproject([0,this.height],t),i=this.unproject([this.width,this.height],t);return[Math.min(A[0],n[0],r[0],i[0]),Math.min(A[1],n[1],r[1],i[1]),Math.max(A[0],n[0],r[0],i[0]),Math.max(A[1],n[1],r[1],i[1])]}},{key:"getDistanceScales",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?Object(c.h)({longitude:e[0],latitude:e[1],highPrecision:!0}):this.distanceScales}},{key:"containsPixel",value:function(e){var t=e.x,A=e.y,n=e.width,r=void 0===n?1:n,i=e.height,o=void 0===i?1:i;return t<this.x+this.width&&this.x<t+r&&A<this.y+this.height&&this.y<A+o}},{key:"getFrustumPlanes",value:function(){return this._frustumPlanes.near||Object.assign(this._frustumPlanes,Object(a.d)(this.viewProjectionMatrix)),this._frustumPlanes}},{key:"panByPosition",value:function(e,t){return null}},{key:"getCameraPosition",value:function(){return this.cameraPosition}},{key:"getCameraDirection",value:function(){return this.cameraDirection}},{key:"getCameraUp",value:function(){return this.cameraUp}},{key:"_createProjectionMatrix",value:function(e){var t=e.orthographic,A=e.fovyRadians,n=e.aspect,r=e.focalDistance,i=e.near,o=e.far;return t?(new s.Matrix4).orthographic({fovy:A,aspect:n,focalDistance:r,near:i,far:o}):(new s.Matrix4).perspective({fovy:A,aspect:n,near:i,far:o})}},{key:"_initViewMatrix",value:function(e){var t=e.viewMatrix,A=void 0===t?I:t,n=e.longitude,r=void 0===n?null:n,i=e.latitude,o=void 0===i?null:i,a=e.zoom,g=void 0===a?null:a,u=e.position,l=void 0===u?null:u,f=e.modelMatrix,d=void 0===f?null:f,B=e.focalDistance,p=void 0===B?1:B,E=e.distanceScales,Q=void 0===E?null:E;this.isGeospatial=Number.isFinite(o)&&Number.isFinite(r),this.zoom=g,Number.isFinite(this.zoom)||(this.zoom=this.isGeospatial?Object(c.j)({latitude:o})+Math.log2(p):0);var y=Math.pow(2,this.zoom);this.scale=y,this.distanceScales=this.isGeospatial?Object(c.h)({latitude:o,longitude:r}):Q||h,this.focalDistance=p,this.distanceScales.metersPerUnit=new s.Vector3(this.distanceScales.metersPerUnit),this.distanceScales.unitsPerMeter=new s.Vector3(this.distanceScales.unitsPerMeter),this.position=C,this.meterOffset=C,l&&(this.position=l,this.modelMatrix=d,this.meterOffset=d?d.transformVector(l):l),this.isGeospatial?(this.longitude=r,this.latitude=o,this.center=this._getCenterInWorld({longitude:r,latitude:o})):this.center=l?this.projectPosition(l):[0,0,0],this.viewMatrixUncentered=A,this.viewMatrix=(new s.Matrix4).multiplyRight(this.viewMatrixUncentered).translate(new s.Vector3(this.center||C).negate())}},{key:"_getCenterInWorld",value:function(e){var t=e.longitude,A=e.latitude,n=this.meterOffset,r=this.distanceScales,i=new s.Vector3(this.projectPosition([t,A,0]));if(n){var o=new s.Vector3(n).scale(r.unitsPerMeter);i.add(o)}return i}},{key:"_initProjectionMatrix",value:function(e){var t=e.projectionMatrix,A=void 0===t?null:t,n=e.orthographic,r=void 0!==n&&n,i=e.fovyRadians,o=e.fovy,a=void 0===o?75:o,s=e.near,g=void 0===s?.1:s,c=e.far,u=void 0===c?1e3:c,I=e.focalDistance,C=void 0===I?1:I;this.projectionMatrix=A||this._createProjectionMatrix({orthographic:r,fovyRadians:i||a*l,aspect:this.width/this.height,focalDistance:C,near:g,far:u})}},{key:"_initPixelMatrices",value:function(){var e=Object(a.a)();g.g(e,e,this.projectionMatrix),g.g(e,e,this.viewMatrix),this.viewProjectionMatrix=e,this.viewMatrixInverse=g.e([],this.viewMatrix)||this.viewMatrix,this.cameraPosition=Object(a.c)(this.viewMatrixInverse);var t=Object(a.a)(),A=Object(a.a)();g.n(t,t,[this.width/2,-this.height/2,1]),g.o(t,t,[1,-1,0]),g.g(A,t,this.viewProjectionMatrix),this.pixelProjectionMatrix=A,this.viewportMatrix=t,this.pixelUnprojectionMatrix=g.e(Object(a.a)(),this.pixelProjectionMatrix),this.pixelUnprojectionMatrix||o.a.warn("Pixel project matrix not invertible")()}},{key:"metersPerPixel",get:function(){return this.distanceScales.metersPerUnit[2]/this.scale}},{key:"projectionMode",get:function(){return this.isGeospatial?this.zoom<12?u.c.WEB_MERCATOR:u.c.WEB_MERCATOR_AUTO_OFFSET:u.c.IDENTITY}}]),e}();f.displayName="Viewport"},function(e,t,A){"use strict";function n(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";t.__esModule=!0;var n,r=A(600),i=(n=r)&&n.__esModule?n:{default:n};t.default=function(e,t,A){return t in e?(0,i.default)(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toDeckColor=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[255,0,0,255];if(!Array.isArray(e))return t;return[255*e[0],255*e[1],255*e[2],255*e[3]]},t.recursivelyTraverseNestedArrays=function e(t,A,n){if(!Array.isArray(t[0]))return!0;for(var r=0;r<t.length;r++)if(e(t[r],[].concat(l(A),[r]),n)){n(t,A);break}return!1},t.generatePointsParallelToLinePoints=function(e,t,A){var o={type:"LineString",coordinates:[e,t]},s=(0,a.point)(A),g=(0,i.default)(s,o),c=(0,r.default)(e,t),u=(A[0]-e[0])*(t[1]-e[1])-(A[1]-e[1])*(t[0]-e[0])<0?c-90:c-270,l=(0,n.default)(t,g,u),I=(0,n.default)(e,g,u);return[l.geometry.coordinates,I.geometry.coordinates]},t.distance2d=h,t.mix=f,t.nearestPointOnProjectedLine=function(e,t,A){var n=new g.default(A),r=e.geometry.coordinates.map((function(e){var t=u(e,3),A=t[0],r=t[1],i=t[2],o=void 0===i?0:i;return n.project([A,r,o])})),i=u(n.project(t.geometry.coordinates),2),o=i[0],a=i[1],s=1/0,c={};r.forEach((function(e,t){var A=u(e,2),n=A[0],i=A[1];if(0!==t){var g=u(r[t-1],2),l=g[0],I=g[1],C=I-i,h=n-l,f=l*i-n*I,d=C*C+h*h,B=Math.abs(C*o+h*a+f)/Math.sqrt(d);B<s&&(s=B,c={index:t,x0:(h*(h*o-C*a)-C*f)/d,y0:(C*(-h*o+C*a)-h*f)/d})}}));var l=c,I=l.index,C=l.x0,d=l.y0,B=u(r[I-1],3),p=B[0],E=B[1],Q=B[2],y=void 0===Q?0:Q,v=u(r[I],3),m=v[0],b=v[1],w=v[2],S=void 0===w?0:w,F=h(p,E,m,b),R=h(p,E,C,d),D=f(y,S,R/F);return{type:"Feature",geometry:{type:"Point",coordinates:n.unproject([C,d,D])},properties:{dist:s,index:I-1}}},t.nearestPointOnLine=function(e,t,A){var n,r,i;A&&(i=new g.default(A));var c=(0,a.point)([1/0,1/0],{dist:1/0});if(!(null===(n=e.geometry)||void 0===n?void 0:n.coordinates.length)||(null===(r=e.geometry)||void 0===r?void 0:r.coordinates.length)<2)return c;return(0,o.flattenEach)(e,(function(e){var A,n,r,o,g,u,l,I=(0,s.getCoords)(e),C=(0,s.getCoords)(t);if(I.length>1&&C.length){var h,f;i?(h=I.map((function(e){return i.project(e)})),f=i.project(C)):(h=I,f=C);for(var d=1;d<h.length;d++){if(h[d][0]!==h[d-1][0]){var B=(h[d][1]-h[d-1][1])/(h[d][0]-h[d-1][0]),p=h[d][1]-B*h[d][0];l=Math.abs(B*f[0]+p-f[1])/Math.sqrt(B*B+1)}else l=Math.abs(f[0]-h[d][0]);var E=Math.pow(h[d][1]-h[d-1][1],2)+Math.pow(h[d][0]-h[d-1][0],2),Q=Math.pow(h[d][1]-f[1],2)+Math.pow(h[d][0]-f[0],2),y=Math.pow(h[d-1][1]-f[1],2)+Math.pow(h[d-1][0]-f[0],2),v=Math.pow(l,2),m=Q-v+y-v;m>E&&(l=Math.sqrt(Math.min(Q,y))),(null===A||void 0===A||A>l)&&(m>E?y<Q?(n=0,r=1):(r=0,n=1):(n=Math.sqrt(y-v)/Math.sqrt(E),r=Math.sqrt(Q-v)/Math.sqrt(E)),A=l,u=d)}var b=h[u-1][0]-h[u][0],w=h[u-1][1]-h[u][1];o=h[u-1][0]-b*n,g=h[u-1][1]-w*n}var S={x:o,y:g,idx:u-1,to:n,from:r};if(i){var F=i.unproject([S.x,S.y]);S={x:F[0],y:F[1],idx:u-1,to:n,from:r}}c=(0,a.point)([S.x,S.y],{dist:Math.abs(S.from-S.to),index:S.idx})})),c},t.getPickedEditHandle=function(e){var t=d(e);return t.length?t[0]:null},t.getPickedSnapSourceEditHandle=function(e){return d(e).find((function(e){return"snap-source"===e.properties.editHandleType}))},t.getNonGuidePicks=function(e){return e&&e.filter((function(e){return!e.isGuide}))},t.getPickedExistingEditHandle=function(e){return d(e).find((function(e){var t=e.properties;return t.featureIndex>=0&&"existing"===t.editHandleType}))},t.getPickedIntermediateEditHandle=function(e){return d(e).find((function(e){var t=e.properties;return t.featureIndex>=0&&"intermediate"===t.editHandleType}))},t.getPickedEditHandles=d,t.getEditHandlesForGeometry=function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"existing",n=[];switch(e.type){case"Point":n=[{type:"Feature",properties:{guideType:"editHandle",editHandleType:A,positionIndexes:[],featureIndex:t},geometry:{type:"Point",coordinates:e.coordinates}}];break;case"MultiPoint":case"LineString":n=n.concat(B(e.coordinates,[],t,A));break;case"Polygon":case"MultiLineString":for(var r=0;r<e.coordinates.length;r++)n=n.concat(B(e.coordinates[r],[r],t,A)),"Polygon"===e.type&&(n=n.slice(0,-1));break;case"MultiPolygon":for(var i=0;i<e.coordinates.length;i++)for(var o=0;o<e.coordinates[i].length;o++)n=(n=n.concat(B(e.coordinates[i][o],[i,o],t,A))).slice(0,-1);break;default:throw Error("Unhandled geometry type: ".concat(e.type))}return n};var n=c(A(304)),r=c(A(143)),i=c(A(647)),o=A(141),a=A(59),s=A(105),g=c(A(630));function c(e){return e&&e.__esModule?e:{default:e}}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||I(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e){return function(e){if(Array.isArray(e))return C(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||I(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e,t){if(e){if("string"===typeof e)return C(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(A):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?C(e,t):void 0}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function h(e,t,A,n){var r=e-A,i=t-n;return Math.sqrt(r*r+i*i)}function f(e,t,A){return t*A+e*(1-A)}function d(e){return e&&e.filter((function(e){return e.isGuide&&"editHandle"===e.object.properties.guideType})).map((function(e){return e.object}))||[]}function B(e,t,A){for(var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"existing",r=[],i=0;i<e.length;i++){var o=e[i];r.push({type:"Feature",properties:{guideType:"editHandle",positionIndexes:[].concat(l(t),[i]),featureIndex:A,editHandleType:n},geometry:{type:"Point",coordinates:o}})}return r}},function(e,t,A){"use strict";function n(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!==e&&void 0!==e&&this.setState(e)}function r(e){this.setState(function(t){var A=this.constructor.getDerivedStateFromProps(e,t);return null!==A&&void 0!==A?A:null}.bind(this))}function i(e,t){try{var A=this.props,n=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(A,n)}finally{this.props=A,this.state=n}}function o(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!==typeof e.getDerivedStateFromProps&&"function"!==typeof t.getSnapshotBeforeUpdate)return e;var A=null,o=null,a=null;if("function"===typeof t.componentWillMount?A="componentWillMount":"function"===typeof t.UNSAFE_componentWillMount&&(A="UNSAFE_componentWillMount"),"function"===typeof t.componentWillReceiveProps?o="componentWillReceiveProps":"function"===typeof t.UNSAFE_componentWillReceiveProps&&(o="UNSAFE_componentWillReceiveProps"),"function"===typeof t.componentWillUpdate?a="componentWillUpdate":"function"===typeof t.UNSAFE_componentWillUpdate&&(a="UNSAFE_componentWillUpdate"),null!==A||null!==o||null!==a){var s=e.displayName||e.name,g="function"===typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+s+" uses "+g+" but also contains the following legacy lifecycles:"+(null!==A?"\n "+A:"")+(null!==o?"\n "+o:"")+(null!==a?"\n "+a:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"===typeof e.getDerivedStateFromProps&&(t.componentWillMount=n,t.componentWillReceiveProps=r),"function"===typeof t.getSnapshotBeforeUpdate){if("function"!==typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=i;var c=t.componentDidUpdate;t.componentDidUpdate=function(e,t,A){var n=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:A;c.call(this,e,t,n)}}return e}A.d(t,"a",(function(){return o})),n.__suppressDeprecationWarning=!0,r.__suppressDeprecationWarning=!0,i.__suppressDeprecationWarning=!0},function(e,t,A){"use strict";var n=A(399);var r=A(400);function i(e,t){return Object(n.a)(e)||function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}}(e,t)||Object(r.a)()}A.d(t,"a",(function(){return i}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return K})),A.d(t,"b",(function(){return he})),A.d(t,"c",(function(){return u})),A.d(t,"d",(function(){return de})),A.d(t,"e",(function(){return fe})),A.d(t,"f",(function(){return I}));var n=A(14),r=A(233),i=(A(311),A(287)),o=A(225),a=A(321),s=A(204),g={}.constructor;function c(e){if(null==e||"object"!==typeof e)return e;if(Array.isArray(e))return e.map(c);if(e.constructor!==g)return e;var t={};for(var A in e)t[A]=c(e[A]);return t}function u(e,t,A){void 0===e&&(e="unnamed");var n=A.jss,r=c(t),i=n.plugins.onCreateRule(e,r,A);return i||(e[0],null)}var l=function(e,t){for(var A="",n=0;n<e.length&&"!important"!==e[n];n++)A&&(A+=t),A+=e[n];return A},I=function(e,t){if(void 0===t&&(t=!1),!Array.isArray(e))return e;var A="";if(Array.isArray(e[0]))for(var n=0;n<e.length&&"!important"!==e[n];n++)A&&(A+=", "),A+=l(e[n]," ");else A=l(e,", ");return t||"!important"!==e[e.length-1]||(A+=" !important"),A};function C(e){return e&&!1===e.format?{linebreak:"",space:""}:{linebreak:"\n",space:" "}}function h(e,t){for(var A="",n=0;n<t;n++)A+=" ";return A+e}function f(e,t,A){void 0===A&&(A={});var n="";if(!t)return n;var r=A.indent,i=void 0===r?0:r,o=t.fallbacks;!1===A.format&&(i=-1/0);var a=C(A),s=a.linebreak,g=a.space;if(e&&i++,o)if(Array.isArray(o))for(var c=0;c<o.length;c++){var u=o[c];for(var l in u){var f=u[l];null!=f&&(n&&(n+=s),n+=h(l+":"+g+I(f)+";",i))}}else for(var d in o){var B=o[d];null!=B&&(n&&(n+=s),n+=h(d+":"+g+I(B)+";",i))}for(var p in t){var E=t[p];null!=E&&"fallbacks"!==p&&(n&&(n+=s),n+=h(p+":"+g+I(E)+";",i))}return(n||A.allowEmpty)&&e?(n&&(n=""+s+n+s),h(""+e+g+"{"+n,--i)+h("}",i)):n}var d=/([[\].#*$><+~=|^:(),"'`\s])/g,B="undefined"!==typeof CSS&&CSS.escape,p=function(e){return B?B(e):e.replace(d,"\\$1")},E=function(){function e(e,t,A){this.type="style",this.isProcessed=!1;var n=A.sheet,r=A.Renderer;this.key=e,this.options=A,this.style=t,n?this.renderer=n.renderer:r&&(this.renderer=new r)}return e.prototype.prop=function(e,t,A){if(void 0===t)return this.style[e];var n=!!A&&A.force;if(!n&&this.style[e]===t)return this;var r=t;A&&!1===A.process||(r=this.options.jss.plugins.onChangeValue(t,e,this));var i=null==r||!1===r,o=e in this.style;if(i&&!o&&!n)return this;var a=i&&o;if(a?delete this.style[e]:this.style[e]=r,this.renderable&&this.renderer)return a?this.renderer.removeProperty(this.renderable,e):this.renderer.setProperty(this.renderable,e,r),this;var s=this.options.sheet;return s&&s.attached,this},e}(),Q=function(e){function t(t,A,n){var r;r=e.call(this,t,A,n)||this;var i=n.selector,o=n.scoped,s=n.sheet,g=n.generateId;return i?r.selectorText=i:!1!==o&&(r.id=g(Object(a.a)(Object(a.a)(r)),s),r.selectorText="."+p(r.id)),r}Object(o.a)(t,e);var A=t.prototype;return A.applyTo=function(e){var t=this.renderer;if(t){var A=this.toJSON();for(var n in A)t.setProperty(e,n,A[n])}return this},A.toJSON=function(){var e={};for(var t in this.style){var A=this.style[t];"object"!==typeof A?e[t]=A:Array.isArray(A)&&(e[t]=I(A))}return e},A.toString=function(e){var t=this.options.sheet,A=!!t&&t.options.link?Object(n.a)({},e,{allowEmpty:!0}):e;return f(this.selectorText,this.style,A)},Object(i.a)(t,[{key:"selector",set:function(e){if(e!==this.selectorText){this.selectorText=e;var t=this.renderer,A=this.renderable;if(A&&t)t.setSelector(A,e)||t.replaceRule(A,this)}},get:function(){return this.selectorText}}]),t}(E),y={onCreateRule:function(e,t,A){return"@"===e[0]||A.parent&&"keyframes"===A.parent.type?null:new Q(e,t,A)}},v={indent:1,children:!0},m=/@([\w-]+)/,b=function(){function e(e,t,A){this.type="conditional",this.isProcessed=!1,this.key=e;var r=e.match(m);for(var i in this.at=r?r[1]:"unknown",this.query=A.name||"@"+this.at,this.options=A,this.rules=new K(Object(n.a)({},A,{parent:this})),t)this.rules.add(i,t[i]);this.rules.process()}var t=e.prototype;return t.getRule=function(e){return this.rules.get(e)},t.indexOf=function(e){return this.rules.indexOf(e)},t.addRule=function(e,t,A){var n=this.rules.add(e,t,A);return n?(this.options.jss.plugins.onProcessRule(n),n):null},t.toString=function(e){void 0===e&&(e=v);var t=C(e).linebreak;if(null==e.indent&&(e.indent=v.indent),null==e.children&&(e.children=v.children),!1===e.children)return this.query+" {}";var A=this.rules.toString(e);return A?this.query+" {"+t+A+t+"}":""},e}(),w=/@media|@supports\s+/,S={onCreateRule:function(e,t,A){return w.test(e)?new b(e,t,A):null}},F={indent:1,children:!0},R=/@keyframes\s+([\w-]+)/,D=function(){function e(e,t,A){this.type="keyframes",this.at="@keyframes",this.isProcessed=!1;var r=e.match(R);r&&r[1]?this.name=r[1]:this.name="noname",this.key=this.type+"-"+this.name,this.options=A;var i=A.scoped,o=A.sheet,a=A.generateId;for(var s in this.id=!1===i?this.name:p(a(this,o)),this.rules=new K(Object(n.a)({},A,{parent:this})),t)this.rules.add(s,t[s],Object(n.a)({},A,{parent:this}));this.rules.process()}return e.prototype.toString=function(e){void 0===e&&(e=F);var t=C(e).linebreak;if(null==e.indent&&(e.indent=F.indent),null==e.children&&(e.children=F.children),!1===e.children)return this.at+" "+this.id+" {}";var A=this.rules.toString(e);return A&&(A=""+t+A+t),this.at+" "+this.id+" {"+A+"}"},e}(),G=/@keyframes\s+/,k=/\$([\w-]+)/g,x=function(e,t){return"string"===typeof e?e.replace(k,(function(e,A){return A in t?t[A]:e})):e},N=function(e,t,A){var n=e[t],r=x(n,A);r!==n&&(e[t]=r)},U={onCreateRule:function(e,t,A){return"string"===typeof e&&G.test(e)?new D(e,t,A):null},onProcessStyle:function(e,t,A){return"style"===t.type&&A?("animation-name"in e&&N(e,"animation-name",A.keyframes),"animation"in e&&N(e,"animation",A.keyframes),e):e},onChangeValue:function(e,t,A){var n=A.options.sheet;if(!n)return e;switch(t){case"animation":case"animation-name":return x(e,n.keyframes);default:return e}}},_=function(e){function t(){return e.apply(this,arguments)||this}return Object(o.a)(t,e),t.prototype.toString=function(e){var t=this.options.sheet,A=!!t&&t.options.link?Object(n.a)({},e,{allowEmpty:!0}):e;return f(this.key,this.style,A)},t}(E),M={onCreateRule:function(e,t,A){return A.parent&&"keyframes"===A.parent.type?new _(e,t,A):null}},O=function(){function e(e,t,A){this.type="font-face",this.at="@font-face",this.isProcessed=!1,this.key=e,this.style=t,this.options=A}return e.prototype.toString=function(e){var t=C(e).linebreak;if(Array.isArray(this.style)){for(var A="",n=0;n<this.style.length;n++)A+=f(this.at,this.style[n]),this.style[n+1]&&(A+=t);return A}return f(this.at,this.style,e)},e}(),L=/@font-face/,T={onCreateRule:function(e,t,A){return L.test(e)?new O(e,t,A):null}},Z=function(){function e(e,t,A){this.type="viewport",this.at="@viewport",this.isProcessed=!1,this.key=e,this.style=t,this.options=A}return e.prototype.toString=function(e){return f(this.key,this.style,e)},e}(),H={onCreateRule:function(e,t,A){return"@viewport"===e||"@-ms-viewport"===e?new Z(e,t,A):null}},Y=function(){function e(e,t,A){this.type="simple",this.isProcessed=!1,this.key=e,this.value=t,this.options=A}return e.prototype.toString=function(e){if(Array.isArray(this.value)){for(var t="",A=0;A<this.value.length;A++)t+=this.key+" "+this.value[A]+";",this.value[A+1]&&(t+="\n");return t}return this.key+" "+this.value+";"},e}(),J={"@charset":!0,"@import":!0,"@namespace":!0},j=[y,S,U,M,T,H,{onCreateRule:function(e,t,A){return e in J?new Y(e,t,A):null}}],P={process:!0},V={force:!0,process:!0},K=function(){function e(e){this.map={},this.raw={},this.index=[],this.counter=0,this.options=e,this.classes=e.classes,this.keyframes=e.keyframes}var t=e.prototype;return t.add=function(e,t,A){var r=this.options,i=r.parent,o=r.sheet,a=r.jss,s=r.Renderer,g=r.generateId,c=r.scoped,l=Object(n.a)({classes:this.classes,parent:i,sheet:o,jss:a,Renderer:s,generateId:g,scoped:c,name:e,keyframes:this.keyframes,selector:void 0},A),I=e;e in this.raw&&(I=e+"-d"+this.counter++),this.raw[I]=t,I in this.classes&&(l.selector="."+p(this.classes[I]));var C=u(I,t,l);if(!C)return null;this.register(C);var h=void 0===l.index?this.index.length:l.index;return this.index.splice(h,0,C),C},t.get=function(e){return this.map[e]},t.remove=function(e){this.unregister(e),delete this.raw[e.key],this.index.splice(this.index.indexOf(e),1)},t.indexOf=function(e){return this.index.indexOf(e)},t.process=function(){var e=this.options.jss.plugins;this.index.slice(0).forEach(e.onProcessRule,e)},t.register=function(e){this.map[e.key]=e,e instanceof Q?(this.map[e.selector]=e,e.id&&(this.classes[e.key]=e.id)):e instanceof D&&this.keyframes&&(this.keyframes[e.name]=e.id)},t.unregister=function(e){delete this.map[e.key],e instanceof Q?(delete this.map[e.selector],delete this.classes[e.key]):e instanceof D&&delete this.keyframes[e.name]},t.update=function(){var e,t,A;if("string"===typeof(arguments.length<=0?void 0:arguments[0])?(e=arguments.length<=0?void 0:arguments[0],t=arguments.length<=1?void 0:arguments[1],A=arguments.length<=2?void 0:arguments[2]):(t=arguments.length<=0?void 0:arguments[0],A=arguments.length<=1?void 0:arguments[1],e=null),e)this.updateOne(this.map[e],t,A);else for(var n=0;n<this.index.length;n++)this.updateOne(this.index[n],t,A)},t.updateOne=function(t,A,n){void 0===n&&(n=P);var r=this.options,i=r.jss.plugins,o=r.sheet;if(t.rules instanceof e)t.rules.update(A,n);else{var a=t.style;if(i.onUpdate(A,t,o,n),n.process&&a&&a!==t.style){for(var s in i.onProcessStyle(t.style,t,o),t.style){var g=t.style[s];g!==a[s]&&t.prop(s,g,V)}for(var c in a){var u=t.style[c],l=a[c];null==u&&u!==l&&t.prop(c,null,V)}}}},t.toString=function(e){for(var t="",A=this.options.sheet,n=!!A&&A.options.link,r=C(e).linebreak,i=0;i<this.index.length;i++){var o=this.index[i].toString(e);(o||n)&&(t&&(t+=r),t+=o)}return t},e}(),W=function(){function e(e,t){for(var A in this.attached=!1,this.deployed=!1,this.classes={},this.keyframes={},this.options=Object(n.a)({},t,{sheet:this,parent:this,classes:this.classes,keyframes:this.keyframes}),t.Renderer&&(this.renderer=new t.Renderer(this)),this.rules=new K(this.options),e)this.rules.add(A,e[A]);this.rules.process()}var t=e.prototype;return t.attach=function(){return this.attached||(this.renderer&&this.renderer.attach(),this.attached=!0,this.deployed||this.deploy()),this},t.detach=function(){return this.attached?(this.renderer&&this.renderer.detach(),this.attached=!1,this):this},t.addRule=function(e,t,A){var n=this.queue;this.attached&&!n&&(this.queue=[]);var r=this.rules.add(e,t,A);return r?(this.options.jss.plugins.onProcessRule(r),this.attached?this.deployed?(n?n.push(r):(this.insertRule(r),this.queue&&(this.queue.forEach(this.insertRule,this),this.queue=void 0)),r):r:(this.deployed=!1,r)):null},t.insertRule=function(e){this.renderer&&this.renderer.insertRule(e)},t.addRules=function(e,t){var A=[];for(var n in e){var r=this.addRule(n,e[n],t);r&&A.push(r)}return A},t.getRule=function(e){return this.rules.get(e)},t.deleteRule=function(e){var t="object"===typeof e?e:this.rules.get(e);return!(!t||this.attached&&!t.renderable)&&(this.rules.remove(t),!(this.attached&&t.renderable&&this.renderer)||this.renderer.deleteRule(t.renderable))},t.indexOf=function(e){return this.rules.indexOf(e)},t.deploy=function(){return this.renderer&&this.renderer.deploy(),this.deployed=!0,this},t.update=function(){var e;return(e=this.rules).update.apply(e,arguments),this},t.updateOne=function(e,t,A){return this.rules.updateOne(e,t,A),this},t.toString=function(e){return this.rules.toString(e)},e}(),X=function(){function e(){this.plugins={internal:[],external:[]},this.registry={}}var t=e.prototype;return t.onCreateRule=function(e,t,A){for(var n=0;n<this.registry.onCreateRule.length;n++){var r=this.registry.onCreateRule[n](e,t,A);if(r)return r}return null},t.onProcessRule=function(e){if(!e.isProcessed){for(var t=e.options.sheet,A=0;A<this.registry.onProcessRule.length;A++)this.registry.onProcessRule[A](e,t);e.style&&this.onProcessStyle(e.style,e,t),e.isProcessed=!0}},t.onProcessStyle=function(e,t,A){for(var n=0;n<this.registry.onProcessStyle.length;n++)t.style=this.registry.onProcessStyle[n](t.style,t,A)},t.onProcessSheet=function(e){for(var t=0;t<this.registry.onProcessSheet.length;t++)this.registry.onProcessSheet[t](e)},t.onUpdate=function(e,t,A,n){for(var r=0;r<this.registry.onUpdate.length;r++)this.registry.onUpdate[r](e,t,A,n)},t.onChangeValue=function(e,t,A){for(var n=e,r=0;r<this.registry.onChangeValue.length;r++)n=this.registry.onChangeValue[r](n,t,A);return n},t.use=function(e,t){void 0===t&&(t={queue:"external"});var A=this.plugins[t.queue];-1===A.indexOf(e)&&(A.push(e),this.registry=[].concat(this.plugins.external,this.plugins.internal).reduce((function(e,t){for(var A in t)A in e&&e[A].push(t[A]);return e}),{onCreateRule:[],onProcessRule:[],onProcessStyle:[],onProcessSheet:[],onChangeValue:[],onUpdate:[]}))},e}(),q=new(function(){function e(){this.registry=[]}var t=e.prototype;return t.add=function(e){var t=this.registry,A=e.options.index;if(-1===t.indexOf(e))if(0===t.length||A>=this.index)t.push(e);else for(var n=0;n<t.length;n++)if(t[n].options.index>A)return void t.splice(n,0,e)},t.reset=function(){this.registry=[]},t.remove=function(e){var t=this.registry.indexOf(e);this.registry.splice(t,1)},t.toString=function(e){for(var t=void 0===e?{}:e,A=t.attached,n=Object(s.a)(t,["attached"]),r=C(n).linebreak,i="",o=0;o<this.registry.length;o++){var a=this.registry[o];null!=A&&a.attached!==A||(i&&(i+=r),i+=a.toString(n))}return i},Object(i.a)(e,[{key:"index",get:function(){return 0===this.registry.length?0:this.registry[this.registry.length-1].options.index}}]),e}()),z="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof window&&window.Math===Math?window:"undefined"!==typeof self&&self.Math===Math?self:Function("return this")(),$="2f1acc6c3a606b082e5eef5e54414ffb";null==z[$]&&(z[$]=0);var ee=z[$]++,te=function(e){void 0===e&&(e={});var t=0;return function(A,n){t+=1;var r="",i="";return n&&(n.options.classNamePrefix&&(i=n.options.classNamePrefix),null!=n.options.jss.id&&(r=String(n.options.jss.id))),e.minify?""+(i||"c")+ee+r+t:i+A.key+"-"+ee+(r?"-"+r:"")+"-"+t}},Ae=function(e){var t;return function(){return t||(t=e()),t}},ne=function(e,t){try{return e.attributeStyleMap?e.attributeStyleMap.get(t):e.style.getPropertyValue(t)}catch(A){return""}},re=function(e,t,A){try{var n=A;if(Array.isArray(A)&&(n=I(A,!0),"!important"===A[A.length-1]))return e.style.setProperty(t,n,"important"),!0;e.attributeStyleMap?e.attributeStyleMap.set(t,n):e.style.setProperty(t,n)}catch(r){return!1}return!0},ie=function(e,t){try{e.attributeStyleMap?e.attributeStyleMap.delete(t):e.style.removeProperty(t)}catch(A){}},oe=function(e,t){return e.selectorText=t,e.selectorText===t},ae=Ae((function(){return document.querySelector("head")}));function se(e){var t=q.registry;if(t.length>0){var A=function(e,t){for(var A=0;A<e.length;A++){var n=e[A];if(n.attached&&n.options.index>t.index&&n.options.insertionPoint===t.insertionPoint)return n}return null}(t,e);if(A&&A.renderer)return{parent:A.renderer.element.parentNode,node:A.renderer.element};if((A=function(e,t){for(var A=e.length-1;A>=0;A--){var n=e[A];if(n.attached&&n.options.insertionPoint===t.insertionPoint)return n}return null}(t,e))&&A.renderer)return{parent:A.renderer.element.parentNode,node:A.renderer.element.nextSibling}}var n=e.insertionPoint;if(n&&"string"===typeof n){var r=function(e){for(var t=ae(),A=0;A<t.childNodes.length;A++){var n=t.childNodes[A];if(8===n.nodeType&&n.nodeValue.trim()===e)return n}return null}(n);if(r)return{parent:r.parentNode,node:r.nextSibling}}return!1}var ge=Ae((function(){var e=document.querySelector('meta[property="csp-nonce"]');return e?e.getAttribute("content"):null})),ce=function(e,t,A){try{"insertRule"in e?e.insertRule(t,A):"appendRule"in e&&e.appendRule(t)}catch(n){return!1}return e.cssRules[A]},ue=function(e,t){var A=e.cssRules.length;return void 0===t||t>A?A:t},le=function(){function e(e){this.getPropertyValue=ne,this.setProperty=re,this.removeProperty=ie,this.setSelector=oe,this.hasInsertedRules=!1,this.cssRules=[],e&&q.add(e),this.sheet=e;var t=this.sheet?this.sheet.options:{},A=t.media,n=t.meta,r=t.element;this.element=r||function(){var e=document.createElement("style");return e.textContent="\n",e}(),this.element.setAttribute("data-jss",""),A&&this.element.setAttribute("media",A),n&&this.element.setAttribute("data-meta",n);var i=ge();i&&this.element.setAttribute("nonce",i)}var t=e.prototype;return t.attach=function(){if(!this.element.parentNode&&this.sheet){!function(e,t){var A=t.insertionPoint,n=se(t);if(!1!==n&&n.parent)n.parent.insertBefore(e,n.node);else if(A&&"number"===typeof A.nodeType){var r=A,i=r.parentNode;i&&i.insertBefore(e,r.nextSibling)}else ae().appendChild(e)}(this.element,this.sheet.options);var e=Boolean(this.sheet&&this.sheet.deployed);this.hasInsertedRules&&e&&(this.hasInsertedRules=!1,this.deploy())}},t.detach=function(){if(this.sheet){var e=this.element.parentNode;e&&e.removeChild(this.element),this.sheet.options.link&&(this.cssRules=[],this.element.textContent="\n")}},t.deploy=function(){var e=this.sheet;e&&(e.options.link?this.insertRules(e.rules):this.element.textContent="\n"+e.toString()+"\n")},t.insertRules=function(e,t){for(var A=0;A<e.index.length;A++)this.insertRule(e.index[A],A,t)},t.insertRule=function(e,t,A){if(void 0===A&&(A=this.element.sheet),e.rules){var n=e,r=A;if("conditional"===e.type||"keyframes"===e.type){var i=ue(A,t);if(!1===(r=ce(A,n.toString({children:!1}),i)))return!1;this.refCssRule(e,i,r)}return this.insertRules(n.rules,r),r}var o=e.toString();if(!o)return!1;var a=ue(A,t),s=ce(A,o,a);return!1!==s&&(this.hasInsertedRules=!0,this.refCssRule(e,a,s),s)},t.refCssRule=function(e,t,A){e.renderable=A,e.options.parent instanceof W&&(this.cssRules[t]=A)},t.deleteRule=function(e){var t=this.element.sheet,A=this.indexOf(e);return-1!==A&&(t.deleteRule(A),this.cssRules.splice(A,1),!0)},t.indexOf=function(e){return this.cssRules.indexOf(e)},t.replaceRule=function(e,t){var A=this.indexOf(e);return-1!==A&&(this.element.sheet.deleteRule(A),this.cssRules.splice(A,1),this.insertRule(t,A))},t.getRules=function(){return this.element.sheet.cssRules},e}(),Ie=0,Ce=function(){function e(e){this.id=Ie++,this.version="10.8.2",this.plugins=new X,this.options={id:{minify:!1},createGenerateId:te,Renderer:r.a?le:null,plugins:[]},this.generateId=te({minify:!1});for(var t=0;t<j.length;t++)this.plugins.use(j[t],{queue:"internal"});this.setup(e)}var t=e.prototype;return t.setup=function(e){return void 0===e&&(e={}),e.createGenerateId&&(this.options.createGenerateId=e.createGenerateId),e.id&&(this.options.id=Object(n.a)({},this.options.id,e.id)),(e.createGenerateId||e.id)&&(this.generateId=this.options.createGenerateId(this.options.id)),null!=e.insertionPoint&&(this.options.insertionPoint=e.insertionPoint),"Renderer"in e&&(this.options.Renderer=e.Renderer),e.plugins&&this.use.apply(this,e.plugins),this},t.createStyleSheet=function(e,t){void 0===t&&(t={});var A=t.index;"number"!==typeof A&&(A=0===q.index?0:q.index+1);var r=new W(e,Object(n.a)({},t,{jss:this,generateId:t.generateId||this.generateId,insertionPoint:this.options.insertionPoint,Renderer:this.options.Renderer,index:A}));return this.plugins.onProcessSheet(r),r},t.removeStyleSheet=function(e){return e.detach(),q.remove(e),this},t.createRule=function(e,t,A){if(void 0===t&&(t={}),void 0===A&&(A={}),"object"===typeof e)return this.createRule(void 0,e,t);var r=Object(n.a)({},A,{name:e,jss:this,Renderer:this.options.Renderer});r.generateId||(r.generateId=this.generateId),r.classes||(r.classes={}),r.keyframes||(r.keyframes={});var i=u(e,t,r);return i&&this.plugins.onProcessRule(i),i},t.use=function(){for(var e=this,t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return A.forEach((function(t){e.plugins.use(t)})),this},e}(),he=function(e){return new Ce(e)},fe="object"===typeof CSS&&null!=CSS&&"number"in CSS;function de(e){var t=null;for(var A in e){var n=e[A],r=typeof n;if("function"===r)t||(t={}),t[A]=n;else if("object"===r&&null!==n&&!Array.isArray(n)){var i=de(n);i&&(t||(t={}),t[A]=i)}}return t}he()},function(e,t){function A(){return e.exports=A=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},A.apply(this,arguments)}e.exports=A},function(e,t,A){"use strict";var n=A(7);function r(e){var t=e.source,A=e.target,n=e.start,r=void 0===n?0:n,i=e.end,o=e.size,a=e.getData;i=i||A.length;var s=t.length,g=i-r;if(s>g)A.set(t.subarray(0,g),r);else if(A.set(t,r),a)for(var c=s;c<g;)for(var u=a(c,t),l=0;l<o;l++)A[r+c]=u[l]||0,c++}A.d(t,"e",(function(){return o})),A.d(t,"d",(function(){return a})),A.d(t,"c",(function(){return s})),A.d(t,"a",(function(){return g})),A.d(t,"b",(function(){return c})),A.d(t,"f",(function(){return u}));var i={interpolation:{duration:0,easing:function(e){return e}},spring:{stiffness:.05,damping:.5}};function o(e,t){return e?(Number.isFinite(e)&&(e={duration:e}),e.type=e.type||"interpolation",Object(n.a)({},i[e.type],{},t,{},e)):null}function a(e,t){return t.getBuffer()?[t.getBuffer(),{divisor:0,size:t.size,normalized:t.settings.normalized}]:t.value}function s(e){switch(e){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(e,'"'))}}function g(e){e.push(e.shift())}function c(e,t){var A=e.doublePrecision,n=e.settings,r=e.value,i=e.size,o=A&&r instanceof Float64Array?2:1;return(n.noAlloc?r.length:t*i)*o}function u(e){var t=e.buffer,A=e.numInstances,n=e.attribute,i=e.fromLength,o=e.fromStartIndices,a=e.getData,s=void 0===a?function(e){return e}:a,g=n.doublePrecision&&n.value instanceof Float64Array?2:1,u=n.size*g,l=n.byteOffset,I=n.startIndices,C=o&&I,h=c(n,A),f=n.state.constant;if(C||!(i>=h)){var d=f?n.value:n.getBuffer().getData({srcByteOffset:l});if(n.settings.normalized&&!f){var B=s;s=function(e,t){return n._normalizeConstant(B(e,t))}}var p=f?function(e,t){return s(d,t)}:function(e,t){return s(d.subarray(e,e+u),t)},E=t.getData({length:i}),Q=new Float32Array(h);!function(e){var t=e.source,A=e.target,n=e.size,i=e.getData,o=e.sourceStartIndices,a=e.targetStartIndices;if(!Array.isArray(a))return r({source:t,target:A,size:n,getData:i}),A;for(var s=0,g=0,c=i&&function(e,t){return i(e+g,t)},u=Math.min(o.length,a.length),l=1;l<u;l++){var I=o[l]*n,C=a[l]*n;r({source:t.subarray(s,I),target:A,start:g,end:C,size:n,getData:c}),s=I,g=C}g<A.length&&r({source:[],target:A,start:g,size:n,getData:c})}({source:E,target:Q,sourceStartIndices:o,targetStartIndices:I,size:u,getData:p}),t.byteLength<Q.byteLength+l&&t.reallocate(Q.byteLength+l),t.subData({data:Q,offset:l})}}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(59);t.getCoord=function(e){if(!e)throw new Error("coord is required");if(!Array.isArray(e)){if("Feature"===e.type&&null!==e.geometry&&"Point"===e.geometry.type)return e.geometry.coordinates;if("Point"===e.type)return e.coordinates}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return e;throw new Error("coord must be GeoJSON Point or an Array of numbers")},t.getCoords=function(e){if(Array.isArray(e))return e;if("Feature"===e.type){if(null!==e.geometry)return e.geometry.coordinates}else if(e.coordinates)return e.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")},t.containsNumber=function e(t){if(t.length>1&&n.isNumber(t[0])&&n.isNumber(t[1]))return!0;if(Array.isArray(t[0])&&t[0].length)return e(t[0]);throw new Error("coordinates must only contain numbers")},t.geojsonType=function(e,t,A){if(!t||!A)throw new Error("type and name required");if(!e||e.type!==t)throw new Error("Invalid input to "+A+": must be a "+t+", given "+e.type)},t.featureOf=function(e,t,A){if(!e)throw new Error("No feature passed");if(!A)throw new Error(".featureOf() requires a name");if(!e||"Feature"!==e.type||!e.geometry)throw new Error("Invalid input to "+A+", Feature with geometry required");if(!e.geometry||e.geometry.type!==t)throw new Error("Invalid input to "+A+": must be a "+t+", given "+e.geometry.type)},t.collectionOf=function(e,t,A){if(!e)throw new Error("No featureCollection passed");if(!A)throw new Error(".collectionOf() requires a name");if(!e||"FeatureCollection"!==e.type)throw new Error("Invalid input to "+A+", FeatureCollection required");for(var n=0,r=e.features;n<r.length;n++){var i=r[n];if(!i||"Feature"!==i.type||!i.geometry)throw new Error("Invalid input to "+A+", Feature with geometry required");if(!i.geometry||i.geometry.type!==t)throw new Error("Invalid input to "+A+": must be a "+t+", given "+i.geometry.type)}},t.getGeom=function(e){return"Feature"===e.type?e.geometry:e},t.getType=function(e,t){return"FeatureCollection"===e.type?"FeatureCollection":"GeometryCollection"===e.type?"GeometryCollection":"Feature"===e.type&&null!==e.geometry?e.geometry.type:e.type}},function(e,t,A){var n=A(299),r=A(300),i=A(371),o=A(370),a=o.MAX_LENGTH,s=o.MAX_SAFE_INTEGER,g=A(260),c=g.re,u=g.t,l=A(372),I=A(498).compareIdentifiers,C=function(){"use strict";function e(t,A){if(n(this,e),A=l(A),t instanceof e){if(t.loose===!!A.loose&&t.includePrerelease===!!A.includePrerelease)return t;t=t.version}else if("string"!==typeof t)throw new TypeError("Invalid Version: ".concat(t));if(t.length>a)throw new TypeError("version is longer than ".concat(a," characters"));i("SemVer",t,A),this.options=A,this.loose=!!A.loose,this.includePrerelease=!!A.includePrerelease;var r=t.trim().match(A.loose?c[u.LOOSE]:c[u.FULL]);if(!r)throw new TypeError("Invalid Version: ".concat(t));if(this.raw=t,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>s||this.major<0)throw new TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t<s)return t}return e})):this.prerelease=[],this.build=r[5]?r[5].split("."):[],this.format()}return r(e,[{key:"format",value:function(){return this.version="".concat(this.major,".").concat(this.minor,".").concat(this.patch),this.prerelease.length&&(this.version+="-".concat(this.prerelease.join("."))),this.version}},{key:"toString",value:function(){return this.version}},{key:"compare",value:function(t){if(i("SemVer.compare",this.version,this.options,t),!(t instanceof e)){if("string"===typeof t&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}},{key:"compareMain",value:function(t){return t instanceof e||(t=new e(t,this.options)),I(this.major,t.major)||I(this.minor,t.minor)||I(this.patch,t.patch)}},{key:"comparePre",value:function(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;var A=0;do{var n=this.prerelease[A],r=t.prerelease[A];if(i("prerelease compare",A,n,r),void 0===n&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===n)return-1;if(n!==r)return I(n,r)}while(++A)}},{key:"compareBuild",value:function(t){t instanceof e||(t=new e(t,this.options));var A=0;do{var n=this.build[A],r=t.build[A];if(i("prerelease compare",A,n,r),void 0===n&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===n)return-1;if(n!==r)return I(n,r)}while(++A)}},{key:"inc",value:function(e,t){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t),this.inc("pre",t);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t),this.inc("pre",t);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":if(0===this.prerelease.length)this.prerelease=[0];else{for(var A=this.prerelease.length;--A>=0;)"number"===typeof this.prerelease[A]&&(this.prerelease[A]++,A=-2);-1===A&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}]),e}();e.exports=C},function(e,t,A){var n=A(127),r=A(882),i=A(460),o=Math.max,a=Math.min;e.exports=function(e,t,A){var s,g,c,u,l,I,C=0,h=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function B(t){var A=s,n=g;return s=g=void 0,C=t,u=e.apply(n,A)}function p(e){return C=e,l=setTimeout(Q,t),h?B(e):u}function E(e){var A=e-I;return void 0===I||A>=t||A<0||f&&e-C>=c}function Q(){var e=r();if(E(e))return y(e);l=setTimeout(Q,function(e){var A=t-(e-I);return f?a(A,c-(e-C)):A}(e))}function y(e){return l=void 0,d&&s?B(e):(s=g=void 0,u)}function v(){var e=r(),A=E(e);if(s=arguments,g=this,I=e,A){if(void 0===l)return p(I);if(f)return clearTimeout(l),l=setTimeout(Q,t),B(I)}return void 0===l&&(l=setTimeout(Q,t)),u}return t=i(t)||0,n(A)&&(h=!!A.leading,c=(f="maxWait"in A)?o(i(A.maxWait)||0,t):c,d="trailing"in A?!!A.trailing:d),v.cancel=function(){void 0!==l&&clearTimeout(l),C=0,s=I=g=l=void 0},v.flush=function(){return void 0===l?u:y(r())},v}},function(e,t,A){"use strict";A.d(t,"c",(function(){return i})),A.d(t,"b",(function(){return o})),A.d(t,"a",(function(){return a}));var n=A(26),r={};function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"id";r[e]=r[e]||1;var t=r[e]++;return"".concat(e,"-").concat(t)}function o(e){return Object(n.a)("number"===typeof e,"Input must be a number"),e&&0===(e&e-1)}function a(e){var t=!0;for(var A in e){t=!1;break}return t}},function(e,t,A){"use strict";A.d(t,"b",(function(){return r})),A.d(t,"a",(function(){return i}));var n=A(26);function r(e,t){if("string"!==typeof t)return t;var A=Number(t);if(!isNaN(A))return A;var r=e[t=t.replace(/^.*\./,"")];return Object(n.a)(void 0!==r,"Accessing undefined constant GL.".concat(t)),r}function i(e,t){for(var A in t=Number(t),e)if(e[A]===t)return"GL.".concat(A);return String(t)}},function(e,t,A){var n;!function(A){"use strict";var r=function(e){return.5*(Math.exp(e)+Math.exp(-e))},i=function(e){return.5*(Math.exp(e)-Math.exp(-e))},o=function(){throw SyntaxError("Invalid Param")};function a(e,t){var A=Math.abs(e),n=Math.abs(t);return 0===e?Math.log(n):0===t?Math.log(A):A<3e3&&n<3e3?.5*Math.log(e*e+t*t):Math.log(e/Math.cos(Math.atan2(t,e)))}function s(e,t){if(!(this instanceof s))return new s(e,t);var A=function(e,t){var A={re:0,im:0};if(void 0===e||null===e)A.re=A.im=0;else if(void 0!==t)A.re=e,A.im=t;else switch(typeof e){case"object":if("im"in e&&"re"in e)A.re=e.re,A.im=e.im;else if("abs"in e&&"arg"in e){if(!Number.isFinite(e.abs)&&Number.isFinite(e.arg))return s.INFINITY;A.re=e.abs*Math.cos(e.arg),A.im=e.abs*Math.sin(e.arg)}else if("r"in e&&"phi"in e){if(!Number.isFinite(e.r)&&Number.isFinite(e.phi))return s.INFINITY;A.re=e.r*Math.cos(e.phi),A.im=e.r*Math.sin(e.phi)}else 2===e.length?(A.re=e[0],A.im=e[1]):o();break;case"string":A.im=A.re=0;var n=e.match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g),r=1,i=0;null===n&&o();for(var a=0;a<n.length;a++){var g=n[a];" "===g||"\t"===g||"\n"===g||("+"===g?r++:"-"===g?i++:"i"===g||"I"===g?(r+i===0&&o()," "===n[a+1]||isNaN(n[a+1])?A.im+=parseFloat((i%2?"-":"")+"1"):(A.im+=parseFloat((i%2?"-":"")+n[a+1]),a++),r=i=0):((r+i===0||isNaN(g))&&o(),"i"===n[a+1]||"I"===n[a+1]?(A.im+=parseFloat((i%2?"-":"")+g),a++):A.re+=parseFloat((i%2?"-":"")+g),r=i=0))}r+i>0&&o();break;case"number":A.im=0,A.re=e;break;default:o()}return isNaN(A.re)||isNaN(A.im),A}(e,t);this.re=A.re,this.im=A.im}s.prototype={re:0,im:0,sign:function(){var e=this.abs();return new s(this.re/e,this.im/e)},add:function(e,t){var A=new s(e,t);return this.isInfinite()&&A.isInfinite()?s.NAN:this.isInfinite()||A.isInfinite()?s.INFINITY:new s(this.re+A.re,this.im+A.im)},sub:function(e,t){var A=new s(e,t);return this.isInfinite()&&A.isInfinite()?s.NAN:this.isInfinite()||A.isInfinite()?s.INFINITY:new s(this.re-A.re,this.im-A.im)},mul:function(e,t){var A=new s(e,t);return this.isInfinite()&&A.isZero()||this.isZero()&&A.isInfinite()?s.NAN:this.isInfinite()||A.isInfinite()?s.INFINITY:0===A.im&&0===this.im?new s(this.re*A.re,0):new s(this.re*A.re-this.im*A.im,this.re*A.im+this.im*A.re)},div:function(e,t){var A=new s(e,t);if(this.isZero()&&A.isZero()||this.isInfinite()&&A.isInfinite())return s.NAN;if(this.isInfinite()||A.isZero())return s.INFINITY;if(this.isZero()||A.isInfinite())return s.ZERO;e=this.re,t=this.im;var n,r,i=A.re,o=A.im;return 0===o?new s(e/i,t/i):Math.abs(i)<Math.abs(o)?new s((e*(r=i/o)+t)/(n=i*r+o),(t*r-e)/n):new s((e+t*(r=o/i))/(n=o*r+i),(t-e*r)/n)},pow:function(e,t){var A=new s(e,t);if(e=this.re,t=this.im,A.isZero())return s.ONE;if(0===A.im){if(0===t&&e>=0)return new s(Math.pow(e,A.re),0);if(0===e)switch((A.re%4+4)%4){case 0:return new s(Math.pow(t,A.re),0);case 1:return new s(0,Math.pow(t,A.re));case 2:return new s(-Math.pow(t,A.re),0);case 3:return new s(0,-Math.pow(t,A.re))}}if(0===e&&0===t&&A.re>0&&A.im>=0)return s.ZERO;var n=Math.atan2(t,e),r=a(e,t);return e=Math.exp(A.re*r-A.im*n),t=A.im*r+A.re*n,new s(e*Math.cos(t),e*Math.sin(t))},sqrt:function(){var e,t,A=this.re,n=this.im,r=this.abs();if(A>=0){if(0===n)return new s(Math.sqrt(A),0);e=.5*Math.sqrt(2*(r+A))}else e=Math.abs(n)/Math.sqrt(2*(r-A));return t=A<=0?.5*Math.sqrt(2*(r-A)):Math.abs(n)/Math.sqrt(2*(r+A)),new s(e,n<0?-t:t)},exp:function(){var e=Math.exp(this.re);return this.im,new s(e*Math.cos(this.im),e*Math.sin(this.im))},expm1:function(){var e=this.re,t=this.im;return new s(Math.expm1(e)*Math.cos(t)+function(e){var t=Math.PI/4;if(e<-t||e>t)return Math.cos(e)-1;var A=e*e;return A*(A*(1/24+A*(-1/720+A*(1/40320+A*(-1/3628800+A*(1/4790014600+A*(-1/87178291200+A*(1/20922789888e3)))))))-.5)}(t),Math.exp(e)*Math.sin(t))},log:function(){var e=this.re,t=this.im;return new s(a(e,t),Math.atan2(t,e))},abs:function(){return function(e,t){var A=Math.abs(e),n=Math.abs(t);return A<3e3&&n<3e3?Math.sqrt(A*A+n*n):(A<n?(A=n,n=e/t):n=t/e,A*Math.sqrt(1+n*n))}(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){var e=this.re,t=this.im;return new s(Math.sin(e)*r(t),Math.cos(e)*i(t))},cos:function(){var e=this.re,t=this.im;return new s(Math.cos(e)*r(t),-Math.sin(e)*i(t))},tan:function(){var e=2*this.re,t=2*this.im,A=Math.cos(e)+r(t);return new s(Math.sin(e)/A,i(t)/A)},cot:function(){var e=2*this.re,t=2*this.im,A=Math.cos(e)-r(t);return new s(-Math.sin(e)/A,i(t)/A)},sec:function(){var e=this.re,t=this.im,A=.5*r(2*t)+.5*Math.cos(2*e);return new s(Math.cos(e)*r(t)/A,Math.sin(e)*i(t)/A)},csc:function(){var e=this.re,t=this.im,A=.5*r(2*t)-.5*Math.cos(2*e);return new s(Math.sin(e)*r(t)/A,-Math.cos(e)*i(t)/A)},asin:function(){var e=this.re,t=this.im,A=new s(t*t-e*e+1,-2*e*t).sqrt(),n=new s(A.re-t,A.im+e).log();return new s(n.im,-n.re)},acos:function(){var e=this.re,t=this.im,A=new s(t*t-e*e+1,-2*e*t).sqrt(),n=new s(A.re-t,A.im+e).log();return new s(Math.PI/2-n.im,n.re)},atan:function(){var e=this.re,t=this.im;if(0===e){if(1===t)return new s(0,1/0);if(-1===t)return new s(0,-1/0)}var A=e*e+(1-t)*(1-t),n=new s((1-t*t-e*e)/A,-2*e/A).log();return new s(-.5*n.im,.5*n.re)},acot:function(){var e=this.re,t=this.im;if(0===t)return new s(Math.atan2(1,e),0);var A=e*e+t*t;return 0!==A?new s(e/A,-t/A).atan():new s(0!==e?e/0:0,0!==t?-t/0:0).atan()},asec:function(){var e=this.re,t=this.im;if(0===e&&0===t)return new s(0,1/0);var A=e*e+t*t;return 0!==A?new s(e/A,-t/A).acos():new s(0!==e?e/0:0,0!==t?-t/0:0).acos()},acsc:function(){var e=this.re,t=this.im;if(0===e&&0===t)return new s(Math.PI/2,1/0);var A=e*e+t*t;return 0!==A?new s(e/A,-t/A).asin():new s(0!==e?e/0:0,0!==t?-t/0:0).asin()},sinh:function(){var e=this.re,t=this.im;return new s(i(e)*Math.cos(t),r(e)*Math.sin(t))},cosh:function(){var e=this.re,t=this.im;return new s(r(e)*Math.cos(t),i(e)*Math.sin(t))},tanh:function(){var e=2*this.re,t=2*this.im,A=r(e)+Math.cos(t);return new s(i(e)/A,Math.sin(t)/A)},coth:function(){var e=2*this.re,t=2*this.im,A=r(e)-Math.cos(t);return new s(i(e)/A,-Math.sin(t)/A)},csch:function(){var e=this.re,t=this.im,A=Math.cos(2*t)-r(2*e);return new s(-2*i(e)*Math.cos(t)/A,2*r(e)*Math.sin(t)/A)},sech:function(){var e=this.re,t=this.im,A=Math.cos(2*t)+r(2*e);return new s(2*r(e)*Math.cos(t)/A,-2*i(e)*Math.sin(t)/A)},asinh:function(){var e=this.im;this.im=-this.re,this.re=e;var t=this.asin();return this.re=-this.im,this.im=e,e=t.re,t.re=-t.im,t.im=e,t},acosh:function(){var e=this.acos();if(e.im<=0){var t=e.re;e.re=-e.im,e.im=t}else{t=e.im;e.im=-e.re,e.re=t}return e},atanh:function(){var e=this.re,t=this.im,A=e>1&&0===t,n=1-e,r=1+e,i=n*n+t*t,o=0!==i?new s((r*n-t*t)/i,(t*n+r*t)/i):new s(-1!==e?e/0:0,0!==t?t/0:0),g=o.re;return o.re=a(o.re,o.im)/2,o.im=Math.atan2(o.im,g)/2,A&&(o.im=-o.im),o},acoth:function(){var e=this.re,t=this.im;if(0===e&&0===t)return new s(0,Math.PI/2);var A=e*e+t*t;return 0!==A?new s(e/A,-t/A).atanh():new s(0!==e?e/0:0,0!==t?-t/0:0).atanh()},acsch:function(){var e=this.re,t=this.im;if(0===t)return new s(0!==e?Math.log(e+Math.sqrt(e*e+1)):1/0,0);var A=e*e+t*t;return 0!==A?new s(e/A,-t/A).asinh():new s(0!==e?e/0:0,0!==t?-t/0:0).asinh()},asech:function(){var e=this.re,t=this.im;if(this.isZero())return s.INFINITY;var A=e*e+t*t;return 0!==A?new s(e/A,-t/A).acosh():new s(0!==e?e/0:0,0!==t?-t/0:0).acosh()},inverse:function(){if(this.isZero())return s.INFINITY;if(this.isInfinite())return s.ZERO;var e=this.re,t=this.im,A=e*e+t*t;return new s(e/A,-t/A)},conjugate:function(){return new s(this.re,-this.im)},neg:function(){return new s(-this.re,-this.im)},ceil:function(e){return e=Math.pow(10,e||0),new s(Math.ceil(this.re*e)/e,Math.ceil(this.im*e)/e)},floor:function(e){return e=Math.pow(10,e||0),new s(Math.floor(this.re*e)/e,Math.floor(this.im*e)/e)},round:function(e){return e=Math.pow(10,e||0),new s(Math.round(this.re*e)/e,Math.round(this.im*e)/e)},equals:function(e,t){var A=new s(e,t);return Math.abs(A.re-this.re)<=s.EPSILON&&Math.abs(A.im-this.im)<=s.EPSILON},clone:function(){return new s(this.re,this.im)},toString:function(){var e=this.re,t=this.im,A="";return this.isNaN()?"NaN":this.isZero()?"0":this.isInfinite()?"Infinity":(0!==e&&(A+=e),0!==t&&(0!==e?A+=t<0?" - ":" + ":t<0&&(A+="-"),1!==(t=Math.abs(t))&&(A+=t),A+="i"),A||"0")},toVector:function(){return[this.re,this.im]},valueOf:function(){return 0===this.im?this.re:null},isNaN:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){return isNaN(this.re)||isNaN(this.im)})),isZero:function(){return(0===this.re||-0===this.re)&&(0===this.im||-0===this.im)},isFinite:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){return isFinite(this.re)&&isFinite(this.im)})),isInfinite:function(){return!(this.isNaN()||this.isFinite())}},s.ZERO=new s(0,0),s.ONE=new s(1,0),s.I=new s(0,1),s.PI=new s(Math.PI,0),s.E=new s(Math.E,0),s.INFINITY=new s(1/0,1/0),s.NAN=new s(NaN,NaN),s.EPSILON=1e-16,void 0===(n=function(){return s}.apply(t,[]))||(e.exports=n)}()},function(e,t){var A=Array.isArray;e.exports=A},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(105),r=A(59);t.default=function(e,t,A){void 0===A&&(A={});var i=n.getCoord(e),o=n.getCoord(t),a=r.degreesToRadians(o[1]-i[1]),s=r.degreesToRadians(o[0]-i[0]),g=r.degreesToRadians(i[1]),c=r.degreesToRadians(o[1]),u=Math.pow(Math.sin(a/2),2)+Math.pow(Math.sin(s/2),2)*Math.cos(g)*Math.cos(c);return r.radiansToLength(2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u)),A.units)}},function(e,t,A){"use strict";var n=A(14),r=A(0),i=A.n(r),o=A(21),a=(A(13),A(19)),s=A(28),g=A(40),c=r.forwardRef((function(e,t){var A=e.children,i=e.classes,s=e.className,c=e.color,u=void 0===c?"inherit":c,l=e.component,I=void 0===l?"svg":l,C=e.fontSize,h=void 0===C?"medium":C,f=e.htmlColor,d=e.titleAccess,B=e.viewBox,p=void 0===B?"0 0 24 24":B,E=Object(o.a)(e,["children","classes","className","color","component","fontSize","htmlColor","titleAccess","viewBox"]);return r.createElement(I,Object(n.a)({className:Object(a.a)(i.root,s,"inherit"!==u&&i["color".concat(Object(g.a)(u))],"default"!==h&&"medium"!==h&&i["fontSize".concat(Object(g.a)(h))]),focusable:"false",viewBox:p,color:f,"aria-hidden":!d||void 0,role:d?"img":void 0,ref:t},E),A,d?r.createElement("title",null,d):null)}));c.muiName="SvgIcon";var u=Object(s.a)((function(e){return{root:{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:"currentColor",flexShrink:0,fontSize:e.typography.pxToRem(24),transition:e.transitions.create("fill",{duration:e.transitions.duration.shorter})},colorPrimary:{color:e.palette.primary.main},colorSecondary:{color:e.palette.secondary.main},colorAction:{color:e.palette.action.active},colorError:{color:e.palette.error.main},colorDisabled:{color:e.palette.action.disabled},fontSizeInherit:{fontSize:"inherit"},fontSizeSmall:{fontSize:e.typography.pxToRem(20)},fontSizeLarge:{fontSize:e.typography.pxToRem(35)}}}),{name:"MuiSvgIcon"})(c);function l(e,t){var A=function(t,A){return i.a.createElement(u,Object(n.a)({ref:A},t),e)};return A.muiName=u.muiName,i.a.memo(i.a.forwardRef(A))}A.d(t,"a",(function(){return l}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n=A(532),r=(A(0),A(205));function i(){return Object(n.a)()||r.a}},function(e,t,A){"use strict";function n(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return i})),A.d(t,"c",(function(){return o})),A.d(t,"b",(function(){return a}));var n=[],r=[];function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,i=n,o={index:-1,data:e,target:[]};return e?"function"===typeof e[Symbol.iterator]?i=e:e.length>0&&(r.length=e.length,i=r):i=n,(t>0||Number.isFinite(A))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(t,A),o.index=t-1),{iterable:i,objectInfo:o}}function o(e){return e&&e[Symbol.asyncIterator]}function a(e,t){var A=t.size,n=t.stride,r=t.offset,i=t.startIndices,o=t.nested,a=e.BYTES_PER_ELEMENT,s=n?n/a:A,g=r?r/a:0,c=Math.floor((e.length-g)/s);return function(t,n){var r=n.index,a=n.target;if(!i){for(var u=r*s+g,l=0;l<A;l++)a[l]=e[u+l];return a}var I,C=i[r],h=i[r+1]||c;if(o){I=new Array(h-C);for(var f=C;f<h;f++){var d=f*s+g;a=new Array(A);for(var B=0;B<A;B++)a[B]=e[d+B];I[f-C]=a}}else if(s===A)I=e.subarray(C*A+g,h*A+g);else{I=new e.constructor((h-C)*A);for(var p=0,E=C;E<h;E++)for(var Q=E*s+g,y=0;y<A;y++)I[p++]=e[Q+y]}return I}}},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n=new Date,r=new Date;function i(e,t,A,o){function a(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return a.floor=function(t){return e(t=new Date(+t)),t},a.ceil=function(A){return e(A=new Date(A-1)),t(A,1),e(A),A},a.round=function(e){var t=a(e),A=a.ceil(e);return e-t<A-e?t:A},a.offset=function(e,A){return t(e=new Date(+e),null==A?1:Math.floor(A)),e},a.range=function(A,n,r){var i,o=[];if(A=a.ceil(A),r=null==r?1:Math.floor(r),!(A<n)||!(r>0))return o;do{o.push(i=new Date(+A)),t(A,r),e(A)}while(i<A&&A<n);return o},a.filter=function(A){return i((function(t){if(t>=t)for(;e(t),!A(t);)t.setTime(t-1)}),(function(e,n){if(e>=e)if(n<0)for(;++n<=0;)for(;t(e,-1),!A(e););else for(;--n>=0;)for(;t(e,1),!A(e););}))},A&&(a.count=function(t,i){return n.setTime(+t),r.setTime(+i),e(n),e(r),Math.floor(A(n,r))},a.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?a.filter(o?function(t){return o(t)%e===0}:function(t){return a.count(0,t)%e===0}):a:null}),a}},,function(e,t,A){"use strict";A.d(t,"b",(function(){return n})),A.d(t,"c",(function(){return r})),A.d(t,"a",(function(){return i})),A.d(t,"d",(function(){return o}));function n(e){switch(ArrayBuffer.isView(e)?e.constructor:e){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.clamped,n=void 0===A||A;switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return n?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function i(e){var t=e.data,A=e.width,n=e.height,r=e.bytesPerPixel,i=void 0===r?4:r,o=e.temp,a=A*i;o=o||new Uint8Array(a);for(var s=0;s<n/2;++s){var g=s*a,c=(n-s-1)*a;o.set(t.subarray(g,g+a)),t.copyWithin(g,c,c+a),t.set(o,c)}}function o(e){for(var t=e.data,A=e.width,n=e.height,r=Math.round(A/2),i=Math.round(n/2),o=new Uint8Array(r*i*4),a=0;a<i;a++)for(var s=0;s<r;s++)for(var g=0;g<4;g++)o[4*(a*r+s)+g]=t[4*(2*a*A+2*s)+g];return{data:o,width:r,height:i}}},function(e,t,A){"use strict";var n=A(8),r=A(11),i=A(6),o=A(1),a=A(4),s=A(81),g=A(42),c=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],u=c.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),l=u.concat([[.25,.5],[.75,.5]]),I=function(){function e(t,A,n){Object(o.a)(this,e),this.x=t,this.y=A,this.z=n}return Object(a.a)(e,[{key:"update",value:function(e){var t=e.viewport,A=e.cullingVolume,n=e.elevationBounds,r=e.minZ,o=e.maxZ,a=e.bounds,s=e.offset,g=e.project,c=this.getBoundingVolume(n,s,g);if(a&&!this.insideBounds(a))return!1;if(A.computeVisibility(c)<0)return!1;if(!this.childVisible){var u=this.z;if(u<o&&u>=r){var l=c.distanceTo(t.cameraPosition)*t.scale/t.height;u+=Math.floor(Math.log2(l))}if(u>=o)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;var I,C=Object(i.a)(this.children);try{for(C.s();!(I=C.n()).done;){I.value.update(e)}}catch(h){C.e(h)}finally{C.f()}return!0}},{key:"getSelected",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(this.selected&&e.push(this),this._children){var t,A=Object(i.a)(this._children);try{for(A.s();!(t=A.n()).done;){var n=t.value;n.getSelected(e)}}catch(r){A.e(r)}finally{A.f()}}return e}},{key:"insideBounds",value:function(e){var t=Object(n.a)(e,4),A=t[0],r=t[1],i=t[2],o=t[3],a=512/Math.pow(2,this.z);return this.x*a<i&&this.y*a<o&&(this.x+1)*a>A&&(this.y+1)*a>r}},{key:"getBoundingVolume",value:function(e,t,A){if(A){var n,r=this.z<1?l:this.z<2?u:c,o=[],a=Object(i.a)(r);try{for(a.s();!(n=a.n()).done;){var g=n.value,I=p(this.x+g[0],this.y+g[1],this.z);I[2]=e[0],o.push(A(I)),e[0]!==e[1]&&(I[2]=e[1],o.push(A(I)))}}catch(d){a.e(d)}finally{a.f()}return Object(s.f)(o)}var C=512/Math.pow(2,this.z),h=this.x*C+512*t,f=512-(this.y+1)*C;return new s.a([h,f,e[0]],[h+C,f+C,e[1]])}},{key:"children",get:function(){if(!this._children){var t=2*this.x,A=2*this.y,n=this.z+1;this._children=[new e(t,A,n),new e(t,A+1,n),new e(t+1,A,n),new e(t+1,A+1,n)]}return this._children}}]),e}();A.d(t,"f",(function(){return h})),A.d(t,"b",(function(){return d})),A.d(t,"d",(function(){return p})),A.d(t,"e",(function(){return Q})),A.d(t,"a",(function(){return v})),A.d(t,"c",(function(){return m}));var C=[-1/0,-1/0,1/0,1/0],h={type:"url",value:null,validate:function(e,t){return t.optional&&null===e||"string"===typeof e||Array.isArray(e)&&e.every((function(e){return"string"===typeof e}))},equals:function(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t))return!1;var A=e.length;if(A!==t.length)return!1;for(var n=0;n<A;n++)if(e[n]!==t[n])return!1;return!0}};function f(e,t){var A=[t.transformPoint([e[0],e[1]]),t.transformPoint([e[2],e[1]]),t.transformPoint([e[0],e[3]]),t.transformPoint([e[2],e[3]])];return[Math.min.apply(Math,Object(r.a)(A.map((function(e){return e[0]})))),Math.min.apply(Math,Object(r.a)(A.map((function(e){return e[1]})))),Math.max.apply(Math,Object(r.a)(A.map((function(e){return e[0]})))),Math.max.apply(Math,Object(r.a)(A.map((function(e){return e[1]}))))]}function d(e,t){if(!e||!e.length)return null;Array.isArray(e)&&(e=e[Math.abs(t.x+t.y)%e.length]);var A=t.x,n=t.y,r=t.z;return e.replace("{x}",A).replace("{y}",n).replace("{z}",r).replace("{-y}",Math.pow(2,r)-n-1)}function B(e,t){return 512*Math.pow(2,e)/t}function p(e,t,A){var n=B(A,512),r=e/n*360-180,i=Math.PI-2*Math.PI*t/n;return[r,180/Math.PI*Math.atan(.5*(Math.exp(i)-Math.exp(-i)))]}function E(e,t,A,n){var r=B(A,n);return[e/r*512,t/r*512]}function Q(e,t,A,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:512;if(e.isGeospatial){var o=p(t,A,r),a=Object(n.a)(o,2),s=a[0],g=a[1],c=p(t+1,A+1,r),u=Object(n.a)(c,2),l=u[0],I=u[1];return{west:s,north:g,east:l,south:I}}var C=E(t,A,r,i),h=Object(n.a)(C,2),f=h[0],d=h[1],B=E(t+1,A+1,r,i),Q=Object(n.a)(B,2),y=Q[0],v=Q[1];return{left:f,top:d,right:y,bottom:v}}function y(e,t,A,r,i){for(var o=function(e,t,A){return A?f(e,A).map((function(e){return e*t/512})):e.map((function(e){return e*t/512}))}(function(e,t,A){var r;if(t&&2===t.length){var i=Object(n.a)(t,2),o=i[0],a=i[1],s=e.getBounds({z:o}),g=e.getBounds({z:a});r=[Math.min(s[0],g[0]),Math.min(s[1],g[1]),Math.max(s[2],g[2]),Math.max(s[3],g[3])]}else r=e.getBounds();return e.isGeospatial?[Math.max(r[0],A[0]),Math.max(r[1],A[1]),Math.min(r[2],A[2]),Math.min(r[3],A[3])]:[Math.max(Math.min(r[0],A[2]),A[0]),Math.max(Math.min(r[1],A[3]),A[1]),Math.min(Math.max(r[2],A[0]),A[2]),Math.min(Math.max(r[3],A[1]),A[3])]}(e,null,r),B(t,A),i),a=Object(n.a)(o,4),s=a[0],g=a[1],c=a[2],u=a[3],l=[],I=Math.floor(s);I<c;I++)for(var C=Math.floor(g);C<u;C++)l.push({x:I,y:C,z:t});return l}function v(e){var t=e.viewport,A=e.maxZoom,r=e.minZoom,i=e.zRange,o=e.extent,a=e.tileSize,c=void 0===a?512:a,u=e.modelMatrix,l=e.modelMatrixInverse,h=e.zoomOffset,d=void 0===h?0:h,B=t.isGeospatial?Math.round(t.zoom+Math.log2(512/c))+d:Math.ceil(t.zoom)+d;if(Number.isFinite(r)&&B<r){if(!o)return[];B=r}Number.isFinite(A)&&B>A&&(B=A);var p=o;return u&&l&&o&&!t.isGeospatial&&(p=f(o,u)),t.isGeospatial?function(e,t,A,r){var i=e.resolution?e.projectPosition:null,o=Object.values(e.getFrustumPlanes()).map((function(e){var t=e.normal,A=e.distance;return new s.e(t.clone().negate(),A)})),a=new s.c(o),c=e.distanceScales.unitsPerMeter[2],u=A&&A[0]*c||0,l=A&&A[1]*c||0,C=e.pitch<=60?t:0;if(r){var h=r,f=Object(n.a)(h,4),d=f[0],B=f[1],p=f[2],E=f[3],Q=Object(g.n)([d,E]),y=Object(g.n)([p,B]);r=[Q[0],512-Q[1],y[0],512-y[1]]}var v=new I(0,0,0),m={viewport:e,project:i,cullingVolume:a,elevationBounds:[u,l],minZ:C,maxZ:t,bounds:r,offset:0};if(v.update(m),e.subViewports&&e.subViewports.length>1){for(m.offset=-1;v.update(m)&&!(--m.offset<-3););for(m.offset=1;v.update(m)&&!(++m.offset>3););}return v.getSelected()}(t,B,i,o):y(t,B,c,p||C,l)}function m(e){return/(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))/.test(e)}},function(e,t,A){"use strict";var n=A(816),r=A(461),i=A(820),o=A(560),a=A(272),s=A(821),g=A(822),c=A(843),u=A(250);e.exports=d,d.prototype.validate=function(e,t){var A;if("string"==typeof e){if(!(A=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var n=this._addSchema(e);A=n.validate||this._compile(n)}var r=A(t);!0!==A.$async&&(this.errors=A.errors);return r},d.prototype.compile=function(e,t){var A=this._addSchema(e,void 0,t);return A.validate||this._compile(A)},d.prototype.addSchema=function(e,t,A,n){if(Array.isArray(e)){for(var i=0;i<e.length;i++)this.addSchema(e[i],void 0,A,n);return this}var o=this._getId(e);if(void 0!==o&&"string"!=typeof o)throw new Error("schema id must be string");return v(this,t=r.normalizeId(t||o)),this._schemas[t]=this._addSchema(e,A,n,!0),this},d.prototype.addMetaSchema=function(e,t,A){return this.addSchema(e,t,A,!0),this},d.prototype.validateSchema=function(e,t){var A=e.$schema;if(void 0!==A&&"string"!=typeof A)throw new Error("$schema must be a string");if(!(A=A||this._opts.defaultMeta||function(e){var t=e._opts.meta;return e._opts.defaultMeta="object"==typeof t?e._getId(t)||t:e.getSchema(C)?C:void 0,e._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),this.errors=null,!0;var n=this.validate(A,e);if(!n&&t){var r="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(r);this.logger.error(r)}return n},d.prototype.getSchema=function(e){var t=B(this,e);switch(typeof t){case"object":return t.validate||this._compile(t);case"string":return this.getSchema(t);case"undefined":return function(e,t){var A=r.schema.call(e,{schema:{}},t);if(A){var i=A.schema,a=A.root,s=A.baseId,g=n.call(e,i,a,void 0,s);return e._fragments[t]=new o({ref:t,fragment:!0,schema:i,root:a,baseId:s,validate:g}),g}}(this,e)}},d.prototype.removeSchema=function(e){if(e instanceof RegExp)return p(this,this._schemas,e),p(this,this._refs,e),this;switch(typeof e){case"undefined":return p(this,this._schemas),p(this,this._refs),this._cache.clear(),this;case"string":var t=B(this,e);return t&&this._cache.del(t.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var A=this._opts.serialize,n=A?A(e):e;this._cache.del(n);var i=this._getId(e);i&&(i=r.normalizeId(i),delete this._schemas[i],delete this._refs[i])}return this},d.prototype.addFormat=function(e,t){"string"==typeof t&&(t=new RegExp(t));return this._formats[e]=t,this},d.prototype.errorsText=function(e,t){if(!(e=e||this.errors))return"No errors";for(var A=void 0===(t=t||{}).separator?", ":t.separator,n=void 0===t.dataVar?"data":t.dataVar,r="",i=0;i<e.length;i++){var o=e[i];o&&(r+=n+o.dataPath+" "+o.message+A)}return r.slice(0,-A.length)},d.prototype._addSchema=function(e,t,A,n){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var i=this._opts.serialize,a=i?i(e):e,s=this._cache.get(a);if(s)return s;n=n||!1!==this._opts.addUsedSchema;var g=r.normalizeId(this._getId(e));g&&n&&v(this,g);var c,u=!1!==this._opts.validateSchema&&!t;u&&!(c=g&&g==r.normalizeId(e.$schema))&&this.validateSchema(e,!0);var l=r.ids.call(this,e),I=new o({id:g,schema:e,localRefs:l,cacheKey:a,meta:A});"#"!=g[0]&&n&&(this._refs[g]=I);this._cache.put(a,I),u&&c&&this.validateSchema(e,!0);return I},d.prototype._compile=function(e,t){if(e.compiling)return e.validate=i,i.schema=e.schema,i.errors=null,i.root=t||i,!0===e.schema.$async&&(i.$async=!0),i;var A,r;e.compiling=!0,e.meta&&(A=this._opts,this._opts=this._metaOpts);try{r=n.call(this,e.schema,t,e.localRefs)}catch(o){throw delete e.validate,o}finally{e.compiling=!1,e.meta&&(this._opts=A)}return e.validate=r,e.refs=r.refs,e.refVal=r.refVal,e.root=r.root,r;function i(){var t=e.validate,A=t.apply(this,arguments);return i.errors=t.errors,A}},d.prototype.compileAsync=A(844);var l=A(845);d.prototype.addKeyword=l.add,d.prototype.getKeyword=l.get,d.prototype.removeKeyword=l.remove,d.prototype.validateKeyword=l.validate;var I=A(462);d.ValidationError=I.Validation,d.MissingRefError=I.MissingRef,d.$dataMetaSchema=c;var C="http://json-schema.org/draft-07/schema",h=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],f=["/properties"];function d(e){if(!(this instanceof d))return new d(e);e=this._opts=u.copy(e)||{},function(e){var t=e._opts.logger;if(!1===t)e.logger={log:m,warn:m,error:m};else{if(void 0===t&&(t=console),!("object"==typeof t&&t.log&&t.warn&&t.error))throw new Error("logger must implement log, warn and error methods");e.logger=t}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=s(e.format),this._cache=e.cache||new i,this._loadingSchemas={},this._compilations=[],this.RULES=g(),this._getId=function(e){switch(e.schemaId){case"auto":return y;case"id":return E;default:return Q}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=a),this._metaOpts=function(e){for(var t=u.copy(e._opts),A=0;A<h.length;A++)delete t[h[A]];return t}(this),e.formats&&function(e){for(var t in e._opts.formats){var A=e._opts.formats[t];e.addFormat(t,A)}}(this),e.keywords&&function(e){for(var t in e._opts.keywords){var A=e._opts.keywords[t];e.addKeyword(t,A)}}(this),function(e){var t;e._opts.$data&&(t=A(848),e.addMetaSchema(t,t.$id,!0));if(!1===e._opts.meta)return;var n=A(566);e._opts.$data&&(n=c(n,f));e.addMetaSchema(n,C,!0),e._refs["http://json-schema.org/schema"]=C}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),function(e){var t=e._opts.schemas;if(!t)return;if(Array.isArray(t))e.addSchema(t);else for(var A in t)e.addSchema(t[A],A)}(this)}function B(e,t){return t=r.normalizeId(t),e._schemas[t]||e._refs[t]||e._fragments[t]}function p(e,t,A){for(var n in t){var r=t[n];r.meta||A&&!A.test(n)||(e._cache.del(r.cacheKey),delete t[n])}}function E(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function Q(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function y(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function v(e,t){if(e._schemas[t]||e._refs[t])throw new Error('schema with key or id "'+t+'" already exists')}function m(){}},function(e,t,A){"use strict";A.r(t),A.d(t,"UNITS",(function(){return I})),A.d(t,"h3IsValid",(function(){return k})),A.d(t,"h3IsPentagon",(function(){return x})),A.d(t,"h3IsResClassIII",(function(){return N})),A.d(t,"h3GetBaseCell",(function(){return U})),A.d(t,"h3GetFaces",(function(){return _})),A.d(t,"h3GetResolution",(function(){return M})),A.d(t,"geoToH3",(function(){return O})),A.d(t,"h3ToGeo",(function(){return L})),A.d(t,"h3ToGeoBoundary",(function(){return T})),A.d(t,"h3ToParent",(function(){return Z})),A.d(t,"h3ToChildren",(function(){return H})),A.d(t,"h3ToCenterChild",(function(){return Y})),A.d(t,"kRing",(function(){return J})),A.d(t,"kRingDistances",(function(){return j})),A.d(t,"hexRing",(function(){return P})),A.d(t,"polyfill",(function(){return V})),A.d(t,"h3SetToMultiPolygon",(function(){return K})),A.d(t,"compact",(function(){return W})),A.d(t,"uncompact",(function(){return X})),A.d(t,"h3IndexesAreNeighbors",(function(){return q})),A.d(t,"getH3UnidirectionalEdge",(function(){return z})),A.d(t,"getOriginH3IndexFromUnidirectionalEdge",(function(){return $})),A.d(t,"getDestinationH3IndexFromUnidirectionalEdge",(function(){return ee})),A.d(t,"h3UnidirectionalEdgeIsValid",(function(){return te})),A.d(t,"getH3IndexesFromUnidirectionalEdge",(function(){return Ae})),A.d(t,"getH3UnidirectionalEdgesFromHexagon",(function(){return ne})),A.d(t,"getH3UnidirectionalEdgeBoundary",(function(){return re})),A.d(t,"h3Distance",(function(){return ie})),A.d(t,"h3Line",(function(){return oe})),A.d(t,"experimentalH3ToLocalIj",(function(){return ae})),A.d(t,"experimentalLocalIjToH3",(function(){return se})),A.d(t,"pointDist",(function(){return ge})),A.d(t,"cellArea",(function(){return ce})),A.d(t,"exactEdgeLength",(function(){return ue})),A.d(t,"hexArea",(function(){return le})),A.d(t,"edgeLength",(function(){return Ie})),A.d(t,"numHexagons",(function(){return Ce})),A.d(t,"getRes0Indexes",(function(){return he})),A.d(t,"getPentagonIndexes",(function(){return fe})),A.d(t,"degsToRads",(function(){return de})),A.d(t,"radsToDegs",(function(){return Be}));var n=function(e){var t,A="undefined"!==typeof(e=e||{})?e:{},n={};for(t in A)A.hasOwnProperty(t)&&(n[t]=A[t]);var r,i=[],o="";document.currentScript&&(o=document.currentScript.src),o=0!==o.indexOf("blob:")?o.substr(0,o.lastIndexOf("/")+1):"",r=function(e,t,A){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){if(200==n.status||0==n.status&&n.response)t(n.response);else{var r=W(e);r?t(r.buffer):A()}},n.onerror=A,n.send(null)};var a=A.print||console.log.bind(console),s=A.printErr||console.warn.bind(console);for(t in n)n.hasOwnProperty(t)&&(A[t]=n[t]);n=null,A.arguments&&(i=A.arguments);var g=0,c=function(){return g};var u=!1;function l(e){var t,n=A["_"+e];return t="Cannot call unknown function "+e+", make sure it is exported",n||se("Assertion failed: "+t),n}function I(e,t,A,n,r){var i={string:function(e){var t=0;if(null!==e&&void 0!==e&&0!==e){var A=1+(e.length<<2);(function(e,t,A){(function(e,t,A,n){if(!(n>0))return 0;for(var r=A,i=A+n-1,o=0;o<e.length;++o){var a=e.charCodeAt(o);if(a>=55296&&a<=57343){var s=e.charCodeAt(++o);a=65536+((1023&a)<<10)|1023&s}if(a<=127){if(A>=i)break;t[A++]=a}else if(a<=2047){if(A+1>=i)break;t[A++]=192|a>>6,t[A++]=128|63&a}else if(a<=65535){if(A+2>=i)break;t[A++]=224|a>>12,t[A++]=128|a>>6&63,t[A++]=128|63&a}else{if(A+3>=i)break;t[A++]=240|a>>18,t[A++]=128|a>>12&63,t[A++]=128|a>>6&63,t[A++]=128|63&a}}t[A]=0})(e,B,t,A)})(e,t=ee(A),A)}return t},array:function(e){var t=ee(e.length);return function(e,t){d.set(e,t)}(e,t),t}};var o=l(e),a=[],s=0;if(n)for(var g=0;g<n.length;g++){var c=i[A[g]];c?(0===s&&(s=Ae()),a[g]=c(n[g])):a[g]=n[g]}var u=o.apply(null,a);return u=function(e){return"string"===t?h(e):"boolean"===t?Boolean(e):e}(u),0!==s&&te(s),u}var C="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;function h(e,t){return e?function(e,t,A){for(var n=t+A,r=t;e[r]&&!(r>=n);)++r;if(r-t>16&&e.subarray&&C)return C.decode(e.subarray(t,r));for(var i="";t<r;){var o=e[t++];if(128&o){var a=63&e[t++];if(192!=(224&o)){var s=63&e[t++];if((o=224==(240&o)?(15&o)<<12|a<<6|s:(7&o)<<18|a<<12|s<<6|63&e[t++])<65536)i+=String.fromCharCode(o);else{var g=o-65536;i+=String.fromCharCode(55296|g>>10,56320|1023&g)}}else i+=String.fromCharCode((31&o)<<6|a)}else i+=String.fromCharCode(o)}return i}(B,e,t):""}var f,d,B,p,E,Q,y;"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");function v(e,t){return e%t>0&&(e+=t-e%t),e}function m(e){f=e,A.HEAP8=d=new Int8Array(e),A.HEAP16=p=new Int16Array(e),A.HEAP32=E=new Int32Array(e),A.HEAPU8=B=new Uint8Array(e),A.HEAPU16=new Uint16Array(e),A.HEAPU32=new Uint32Array(e),A.HEAPF32=Q=new Float32Array(e),A.HEAPF64=y=new Float64Array(e)}var b=A.TOTAL_MEMORY||33554432;function w(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var n=t.func;"number"===typeof n?void 0===t.arg?A.dynCall_v(n):A.dynCall_vi(n,t.arg):n(void 0===t.arg?null:t.arg)}else t()}}b=(f=A.buffer?A.buffer:new ArrayBuffer(b)).byteLength,m(f),E[6004]=5266928;var S=[],F=[],R=[],D=[];var G=Math.abs,k=Math.ceil,x=Math.floor,N=Math.min,U=0,_=null,M=null;A.preloadedImages={},A.preloadedAudios={};var O,L,T=null,Z="data:application/octet-stream;base64,";function H(e){return String.prototype.startsWith?e.startsWith(Z):0===e.indexOf(Z)}T="data:application/octet-stream;base64,AAAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAABAAAAAMAAAAGAAAABQAAAAIAAAAAAAAAAgAAAAMAAAABAAAABAAAAAYAAAAAAAAABQAAAAMAAAAGAAAABAAAAAUAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAABAAAABQAAAAIAAAAAAAAAAQAAAAMAAAAGAAAABAAAAAYAAAAAAAAABQAAAAIAAAABAAAABAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABgAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAABgAAAAAAAAADAAAAAgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAUAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAEAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAACAAAABAAAAAMAAAAIAAAA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AAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAQAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAADAAAABQAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAABQAAAAUAAAAAAAAAAAAAAP////8BAAAAAAAAAAMAAAAEAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAABQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAQAAAP//////////AQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAIAAAAAAAAAAAAAAAEAAAACAAAABgAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAABAAAAAQAAAAUAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAAAAAAAAAAAAAEAAAADAAAABwAAAAYAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAJAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAAAAAAAAAAAAQAAAAQAAAAIAAAACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAAAAAAAAAAABAAAACwAAAA8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAAAAAAAAAAABAAAADAAAABAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAEAAAAKAAAAEwAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAAAAAAAQAAAA0AAAARAAAADQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAAAAAAAAAAAAAEAAAAOAAAAEgAAAA8AAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAAAAAABAAAA//////////8TAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABIAAAAAAAAAGAAAAAAAAAAhAAAAAAAAAB4AAAAAAAAAIAAAAAMAAAAxAAAAAQAAADAAAAADAAAAMgAAAAMAAAAIAAAAAAAAAAUAAAAFAAAACgAAAAUAAAAWAAAAAAAAABAAAAAAAAAAEgAAAAAAAAApAAAAAQAAACEAAAAAAAAAHgAAAAAAAAAEAAAAAAAAAAAAAAAFAAAAAgAAAAUAAAAPAAAAAQAAAAgAAAAAAAAABQAAAAUAAAAfAAAAAQAAABYAAAAAAAAAEAAAAAAAAAACAAAAAAAAAAYAAAAAAAAADgAAAAAAAAAKAAAAAAAAAAsAAAAAAAAAEQAAAAMAAAAYAAAAAQAAABcAAAADAAAAGQAAAAMAAAAAAAAAAAAAAAEAAAAFAAAACQAAAAUAAAAFAAAAAAAAAAIAAAAAAAAABgAAAAAAAAASAAAAAQAAAAoAAAAAAAAACwAAAAAAAAAEAAAAAQAAAAMAAAAFAAAABwAAAAUAAAAIAAAAAQAAAAAAAAAAAAAAAQAAAAUAAAAQAAAAAQAAAAUAAAAAAAAAAgAAAAAAAAAHAAAAAAAAABUAAAAAAAAAJgAAAAAAAAAJAAAAAAAAABMAAAAAAAAAIgAAAAMAAAAOAAAAAQAAABQAAAADAAAAJAAAAAMAAAADAAAAAAAAAA0AAAAFAAAAHQAAAAUAAAABAAAAAAAAAAcAAAAAAAAAFQAAAAAAAAAGAAAA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74auECWhw7+cjSACjzniv8CZ+wUhN9I/1uGEKzup6z+/GYr/04bavwmkNHp7xee/F2NMZVAA1z+82s+x2BLivwr2ytbJ9em/KwEH1sMS1r8yp/2LhTfev81i5RexJsy/BlIKPVwR5b95Wyu0/Qjnv5DjoT7YYcs/nBhKZ6zrwr8wRYS7Nebuv3OW6geh+Lu/SLrixebL3j+pcyymN9Xrv8rHIFfWehZAMBwUdlo0DECTUc17EOb2PxpVB1SWChdAzjbhb9pTDUDQhmdvECX5P9FlMKCC9+g/IIAzjELgE0DajDngMv8GQFhWDmDPjNs/y1guLh96EkAxPi8k7DIEQJCc4URlhRhA3eLKKLwkEECqpNAyTBD/P6xpjXcDiwVAFtl//cQm4z+Ibt3XKiYTQM7mCLUb3QdAoM1t8yVv7D8aLZv2Nk8UQEAJPV5nQwxAtSsfTCoE9z9TPjXLXIIWQBVanC5W9AtAYM3d7Adm9j++5mQz1FoWQBUThyaVBghAwH5muQsV7T89Q1qv82MUQJoWGOfNuBdAzrkClkmwDkDQjKq77t37Py+g0dtitsE/ZwAMTwVPEUBojepluNwBQGYbtuW+t9w/HNWIJs6MEkDTNuQUSlgEQKxktPP5TcQ/ixbLB8JjEUCwuWjXMQYCQAS/R09FkRdAowpiZjhhDkB7LmlczD/7P01iQmhhsAVAnrtTwDy84z/Z6jfQ2TgTQChOCXMnWwpAhrW3daoz8z/HYJvVPI4VQLT3ik5FcA5Angi7LOZd+z+NNVzDy5gXQBXdvVTFUA1AYNMgOeYe+T8+qHXGCwkXQKQTOKwa5AJA8gFVoEMW0T+FwzJyttIRQAEAAAD/////BwAAAP////8xAAAA/////1cBAAD/////YQkAAP////+nQQAA/////5HLAQD/////95AMAP/////B9lcAAAAAAAAAAAAAAAAAAgAAAP////8OAAAA/////2IAAAD/////rgIAAP/////CEgAA/////06DAAD/////IpcDAP/////uIRkA/////4LtrwAAAAAAAAAAAAAAAAAAAAAAAgAAAP//////////AQAAAAMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////wIAAAD//////////wEAAAAAAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA/////////////////////wEAAAD///////////////8CAAAA////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD///////////////////////////////8CAAAA////////////////AQAAAP////////////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAAAQAAAP//////////AgAAAP//////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAAEAAAD//////////wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAgAAAAAAAAACAAAAAQAAAAEAAAACAAAAAgAAAAAAAAAFAAAABQAAAAAAAAACAAAAAgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAABAAAAAgAAAAIAAAACAAAAAAAAAAUAAAAGAAAAAAAAAAIAAAACAAAAAwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAAAAAAAgAAAAEAAAADAAAAAgAAAAIAAAAAAAAABQAAAAcAAAAAAAAAAgAAAAIAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAACAAAAAQAAAAQAAAACAAAAAgAAAAAAAAAFAAAACAAAAAAAAAACAAAAAgAAAAMAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACAAAAAAAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAUAAAAJAAAAAAAAAAIAAAACAAAAAwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAIAAAACAAAAAAAAAAMAAAAOAAAAAgAAAAAAAAACAAAAAwAAAAAAAAAAAAAAAgAAAAIAAAADAAAABgAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAgAAAAIAAAAAAAAAAwAAAAoAAAACAAAAAAAAAAIAAAADAAAAAQAAAAAAAAACAAAAAgAAAAMAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAgAAAAAAAAADAAAACwAAAAIAAAAAAAAAAgAAAAMAAAACAAAAAAAAAAIAAAACAAAAAwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAACAAAAAAAAAAMAAAAMAAAAAgAAAAAAAAACAAAAAwAAAAMAAAAAAAAAAgAAAAIAAAADAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAIAAAAAAAAAAwAAAA0AAAACAAAAAAAAAAIAAAADAAAABAAAAAAAAAACAAAAAgAAAAMAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAgAAAAAAAAADAAAABgAAAAIAAAAAAAAAAgAAAAMAAAAPAAAAAAAAAAIAAAACAAAAAwAAAAsAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAIAAAACAAAAAAAAAAMAAAAHAAAAAgAAAAAAAAACAAAAAwAAABAAAAAAAAAAAgAAAAIAAAADAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAIAAAAAAAAAAwAAAAgAAAACAAAAAAAAAAIAAAADAAAAEQAAAAAAAAACAAAAAgAAAAMAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACAAAAAgAAAAAAAAADAAAACQAAAAIAAAAAAAAAAgAAAAMAAAASAAAAAAAAAAIAAAACAAAAAwAAAA4AAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAACAAAAAAAAAAMAAAAFAAAAAgAAAAAAAAACAAAAAwAAABMAAAAAAAAAAgAAAAIAAAADAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAABAAEAAAEBAAAAAAABAAAAAQAAAAEAAQAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAHAAAABwAAAAEAAAACAAAABAAAAAMAAAAAAAAAAAAAAAcAAAADAAAAAQAAAAIAAAAFAAAABAAAAAAAAAAAAAAAYWxnb3MuYwBfcG9seWZpbGxJbnRlcm5hbABhZGphY2VudEZhY2VEaXJbdG1wRmlqay5mYWNlXVtmaWprLmZhY2VdID09IEtJAGZhY2VpamsuYwBfZmFjZUlqa1BlbnRUb0dlb0JvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9HZW9Cb3VuZGFyeQBwb2x5Z29uLT5uZXh0ID09IE5VTEwAbGlua2VkR2VvLmMAYWRkTmV3TGlua2VkUG9seWdvbgBuZXh0ICE9IE5VTEwAbG9vcCAhPSBOVUxMAGFkZE5ld0xpbmtlZExvb3AAcG9seWdvbi0+Zmlyc3QgPT0gTlVMTABhZGRMaW5rZWRMb29wAGNvb3JkICE9IE5VTEwAYWRkTGlua2VkQ29vcmQAbG9vcC0+Zmlyc3QgPT0gTlVMTABpbm5lckxvb3BzICE9IE5VTEwAbm9ybWFsaXplTXVsdGlQb2x5Z29uAGJib3hlcyAhPSBOVUxMAGNhbmRpZGF0ZXMgIT0gTlVMTABmaW5kUG9seWdvbkZvckhvbGUAY2FuZGlkYXRlQkJveGVzICE9IE5VTEwAcmV2RGlyICE9IElOVkFMSURfRElHSVQAbG9jYWxpai5jAGgzVG9Mb2NhbElqawBiYXNlQ2VsbCAhPSBvcmlnaW5CYXNlQ2VsbAAhKG9yaWdpbk9uUGVudCAmJiBpbmRleE9uUGVudCkAcGVudGFnb25Sb3RhdGlvbnMgPj0gMABkaXJlY3Rpb25Sb3RhdGlvbnMgPj0gMABiYXNlQ2VsbCA9PSBvcmlnaW5CYXNlQ2VsbABiYXNlQ2VsbCAhPSBJTlZBTElEX0JBU0VfQ0VMTABsb2NhbElqa1RvSDMAIV9pc0Jhc2VDZWxsUGVudGFnb24oYmFzZUNlbGwpAGJhc2VDZWxsUm90YXRpb25zID49IDAAd2l0aGluUGVudGFnb25Sb3RhdGlvbnMgPj0gMABncmFwaC0+YnVja2V0cyAhPSBOVUxMAHZlcnRleEdyYXBoLmMAaW5pdFZlcnRleEdyYXBoAG5vZGUgIT0gTlVMTABhZGRWZXJ0ZXhOb2Rl";function Y(e){return e}function J(e){return e.replace(/\b__Z[\w\d_]+/g,(function(e){return e===e?e:e+" ["+e+"]"}))}function j(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function P(){return d.length}function V(e){try{var t=new ArrayBuffer(e);if(t.byteLength!=e)return;return new Int8Array(t).set(d),$(t),m(t),1}catch(A){}}var K="function"===typeof atob?atob:function(e){var t,A,n,r,i,o,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s="",g=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{t=a.indexOf(e.charAt(g++))<<2|(r=a.indexOf(e.charAt(g++)))>>4,A=(15&r)<<4|(i=a.indexOf(e.charAt(g++)))>>2,n=(3&i)<<6|(o=a.indexOf(e.charAt(g++))),s+=String.fromCharCode(t),64!==i&&(s+=String.fromCharCode(A)),64!==o&&(s+=String.fromCharCode(n))}while(g<e.length);return s};function W(e){if(H(e))return function(e){try{for(var t=K(e),A=new Uint8Array(t.length),n=0;n<t.length;++n)A[n]=t.charCodeAt(n);return A}catch(r){throw new Error("Converting base64 string to bytes failed.")}}(e.slice(Z.length))}var X,q,z=function(e,t,A){var n=new e.Int8Array(A),r=new e.Int32Array(A),i=(new e.Uint8Array(A),new e.Float32Array(A),new e.Float64Array(A)),o=0|t.p,a=e.Math.floor,s=e.Math.abs,g=e.Math.sqrt,c=e.Math.pow,u=e.Math.cos,l=e.Math.sin,I=e.Math.tan,C=e.Math.acos,h=e.Math.asin,f=e.Math.atan,d=e.Math.atan2,B=e.Math.ceil,p=e.Math.imul,E=e.Math.min,Q=e.Math.clz32,y=t.b,v=t.c,m=t.d,b=t.e,w=t.f,S=t.g,F=t.h,R=t.i,D=24048;function G(e,t,A,n){var r,i;0|k(e|=0,t|=0,A|=0,n|=0,0)&&(Rt(0|n,0,(i=1+(0|p(3*A|0,A+1|0))|0)<<3|0),(r=0|pt(i,4))&&(x(e,t,A,n,r,i,0),Bt(r)))}function k(e,t,A,n,i){e|=0,t|=0,A|=0,i|=0;var o,a=0,s=0,g=0,c=0,u=0,l=0,I=0,C=0;if(o=D,D=D+16|0,C=o,r[(a=n|=0)>>2]=e,r[a+4>>2]=t,(a=0!=(0|i))&&(r[i>>2]=0),0|Ne(e,t))return D=o,0|(C=1);r[C>>2]=0;e:do{if((0|A)>=1)if(a)for(u=0,l=1,I=1,s=0,a=e;;){if(!(s|u)){if(0==(0|(a=0|N(a,t,4,C)))&0==(0|(t=0|v()))){a=2;break e}if(0|Ne(a,t)){a=1;break e}}if(0==(0|(a=0|N(a,t,0|r[16+(u<<2)>>2],C)))&0==(0|(t=0|v()))){a=2;break e}if(r[(e=n+(I<<3)|0)>>2]=a,r[e+4>>2]=t,r[i+(I<<2)>>2]=l,e=(0|(s=s+1|0))==(0|l),c=6==(0|(g=u+1|0)),0|Ne(a,t)){a=1;break e}if((0|(l=l+(c&e&1)|0))>(0|A)){a=0;break}u=e?c?0:g:u,I=I+1|0,s=e?0:s}else for(u=0,l=1,I=1,s=0,a=e;;){if(!(s|u)){if(0==(0|(a=0|N(a,t,4,C)))&0==(0|(t=0|v()))){a=2;break e}if(0|Ne(a,t)){a=1;break e}}if(0==(0|(a=0|N(a,t,0|r[16+(u<<2)>>2],C)))&0==(0|(t=0|v()))){a=2;break e}if(r[(e=n+(I<<3)|0)>>2]=a,r[e+4>>2]=t,e=(0|(s=s+1|0))==(0|l),c=6==(0|(g=u+1|0)),0|Ne(a,t)){a=1;break e}if((0|(l=l+(c&e&1)|0))>(0|A)){a=0;break}u=e?c?0:g:u,I=I+1|0,s=e?0:s}else a=0}while(0);return D=o,0|(C=a)}function x(e,t,A,n,i,o,a){A|=0,n|=0,i|=0,o|=0,a|=0;var s,g,c=0,u=0,l=0,I=0,C=0;if(g=D,D=D+16|0,s=g,0==(0|(e|=0))&0==(0|(t|=0)))D=g;else{if(c=0|vt(0|e,0|t,0|o,((0|o)<0)<<31>>31|0),v(),!(0==(0|(C=0|r[(I=u=n+(c<<3)|0)>>2]))&0==(0|(I=0|r[I+4>>2]))|(l=(0|C)==(0|e)&(0|I)==(0|t))))do{l=(0|(I=0|r[(C=u=n+((c=(c+1|0)%(0|o)|0)<<3)|0)>>2]))==(0|e)&(0|(C=0|r[C+4>>2]))==(0|t)}while(!(0==(0|I)&0==(0|C)|l));c=i+(c<<2)|0,l&&(0|r[c>>2])<=(0|a)||(r[(C=u)>>2]=e,r[C+4>>2]=t,r[c>>2]=a,(0|a)>=(0|A)||(C=a+1|0,r[s>>2]=0,x(I=0|N(e,t,2,s),0|v(),A,n,i,o,C),r[s>>2]=0,x(I=0|N(e,t,3,s),0|v(),A,n,i,o,C),r[s>>2]=0,x(I=0|N(e,t,1,s),0|v(),A,n,i,o,C),r[s>>2]=0,x(I=0|N(e,t,5,s),0|v(),A,n,i,o,C),r[s>>2]=0,x(I=0|N(e,t,4,s),0|v(),A,n,i,o,C),r[s>>2]=0,x(I=0|N(e,t,6,s),0|v(),A,n,i,o,C))),D=g}}function N(e,t,A,n){e|=0,t|=0,A|=0;var i,o,a=0,s=0,g=0,c=0,u=0,l=0,I=0;if((0|r[(n|=0)>>2])>0){a=0;do{A=0|se(A),a=a+1|0}while((0|a)<(0|r[n>>2]))}i=0|mt(0|e,0|t,45),v(),o=127&i,s=0|Ue(e,t),a=0|mt(0|e,0|t,52),v(),a&=15;e:do{if(a)for(;;){if(l=0|mt(0|e,0|t,0|(u=3*(15-a|0)|0)),v(),l&=7,I=0==(0|Te(a)),a=a+-1|0,c=0|bt(7,0,0|u),t&=~(0|v()),e=(u=0|bt(0|r[(I?464:48)+(28*l|0)+(A<<2)>>2],0,0|u))|e&~c,t|=0|v(),!(A=0|r[(I?672:256)+(28*l|0)+(A<<2)>>2])){A=0;break e}if(!a){g=6;break}}else g=6}while(0);6==(0|g)&&(e|=l=0|bt(0|(I=0|r[880+(28*o|0)+(A<<2)>>2]),0,45),t=0|v()|-1040385&t,A=0|r[4304+(28*o|0)+(A<<2)>>2],127==(127&I|0)&&(I=0|bt(0|r[880+(28*o|0)+20>>2],0,45),t=0|v()|-1040385&t,A=0|r[4304+(28*o|0)+20>>2],e=0|Me(I|e,t),t=0|v(),r[n>>2]=1+(0|r[n>>2]))),g=0|mt(0|e,0|t,45),v(),g&=127;e:do{if(0|_(g)){t:do{if(1==(0|Ue(e,t))){if((0|o)!=(0|g)){if(0|T(g,0|r[7728+(28*o|0)>>2])){e=0|Le(e,t),s=1,t=0|v();break}e=0|Me(e,t),s=1,t=0|v();break}switch(0|s){case 5:e=0|Le(e,t),t=0|v(),r[n>>2]=5+(0|r[n>>2]),s=0;break t;case 3:e=0|Me(e,t),t=0|v(),r[n>>2]=1+(0|r[n>>2]),s=0;break t;default:return I=0,y(0|(l=0)),0|I}}else s=0}while(0);if((0|A)>0){a=0;do{e=0|_e(e,t),t=0|v(),a=a+1|0}while((0|a)!=(0|A))}if((0|o)!=(0|g)){if(!(0|M(g))){if(0!=(0|s)|5!=(0|Ue(e,t)))break;r[n>>2]=1+(0|r[n>>2]);break}switch(127&i){case 8:case 118:break e}3!=(0|Ue(e,t))&&(r[n>>2]=1+(0|r[n>>2]))}}else if((0|A)>0){a=0;do{e=0|Me(e,t),t=0|v(),a=a+1|0}while((0|a)!=(0|A))}}while(0);return r[n>>2]=((0|r[n>>2])+A|0)%6|0,I=e,y(0|(l=t)),0|I}function U(e,t,A,n,o,a){t|=0,A|=0,n|=0,o|=0,a|=0;var s,g,c,u,l,I,C,h,f,d=0,B=0,p=0,E=0,Q=0,y=0,m=0,b=0,w=0,S=0,F=0,R=0,G=0,k=0;if(f=D,D=D+48|0,I=f+32|0,C=f+16|0,h=f,(0|(d=0|r[(e|=0)>>2]))<=0)return D=f,0|(R=0);s=e+4|0,g=I+8|0,c=C+8|0,u=h+8|0,l=((0|t)<0)<<31>>31,F=0;e:for(;;){w=(B=0|r[s>>2])+(F<<4)|0,r[I>>2]=r[w>>2],r[I+4>>2]=r[w+4>>2],r[I+8>>2]=r[w+8>>2],r[I+12>>2]=r[w+12>>2],(0|F)==(d+-1|0)?(r[C>>2]=r[B>>2],r[C+4>>2]=r[B+4>>2],r[C+8>>2]=r[B+8>>2],r[C+12>>2]=r[B+12>>2]):(w=B+(F+1<<4)|0,r[C>>2]=r[w>>2],r[C+4>>2]=r[w+4>>2],r[C+8>>2]=r[w+8>>2],r[C+12>>2]=r[w+12>>2]),w=0|P(I,C,A);t:do{if((0|w)>0){S=+(0|w),b=0;A:for(;;){k=+(w-b|0),G=+(0|b),i[h>>3]=+i[I>>3]*k/S+ +i[C>>3]*G/S,i[u>>3]=+i[g>>3]*k/S+ +i[c>>3]*G/S,B=0|vt(0|(y=0|Ze(h,A)),0|(m=0|v()),0|t,0|l),v(),E=0|r[(p=d=a+(B<<3)|0)>>2],p=0|r[p+4>>2];n:do{if(0==(0|E)&0==(0|p))R=14;else for(Q=0;;){if((0|Q)>(0|t)){d=1;break n}if((0|E)==(0|y)&(0|p)==(0|m)){d=7;break n}if(0==(0|(E=0|r[(p=d=a+((B=(B+1|0)%(0|t)|0)<<3)|0)>>2]))&0==(0|(p=0|r[p+4>>2]))){R=14;break}Q=Q+1|0}}while(0);switch(14==(0|R)&&(R=0,0==(0|y)&0==(0|m)?d=7:(r[d>>2]=y,r[d+4>>2]=m,d=0|r[n>>2],r[(Q=o+(d<<3)|0)>>2]=y,r[Q+4>>2]=m,r[n>>2]=d+1,d=0)),7&d){case 7:case 0:break;default:break A}if((0|w)<=(0|(b=b+1|0))){R=8;break t}}if(0|d){d=-1,R=20;break e}}else R=8}while(0);if(8==(0|R)&&(R=0),(0|(F=F+1|0))>=(0|(d=0|r[e>>2]))){d=0,R=20;break}}return 20==(0|R)?(D=f,0|d):0}function _(e){return 0|r[7728+(28*(e|=0)|0)+16>>2]}function M(e){return 4==(0|(e|=0))|117==(0|e)|0}function O(e){return 0|r[11152+(216*(0|r[(e|=0)>>2])|0)+(72*(0|r[e+4>>2])|0)+(24*(0|r[e+8>>2])|0)+(r[e+12>>2]<<3)>>2]}function L(e){return 0|r[11152+(216*(0|r[(e|=0)>>2])|0)+(72*(0|r[e+4>>2])|0)+(24*(0|r[e+8>>2])|0)+(r[e+12>>2]<<3)+4>>2]}function T(e,t){return t|=0,(0|r[7728+(28*(e|=0)|0)+20>>2])==(0|t)?0|(t=1):0|(t=(0|r[7728+(28*e|0)+24>>2])==(0|t))}function Z(e,t){return 0|r[880+(28*(e|=0)|0)+((t|=0)<<2)>>2]}function H(e,t){return t|=0,(0|r[880+(28*(e|=0)|0)>>2])==(0|t)?0|(t=0):(0|r[880+(28*e|0)+4>>2])==(0|t)?0|(t=1):(0|r[880+(28*e|0)+8>>2])==(0|t)?0|(t=2):(0|r[880+(28*e|0)+12>>2])==(0|t)?0|(t=3):(0|r[880+(28*e|0)+16>>2])==(0|t)?0|(t=4):(0|r[880+(28*e|0)+20>>2])==(0|t)?0|(t=5):0|((0|r[880+(28*e|0)+24>>2])==(0|t)?6:7)}function Y(e){return+i[(e|=0)+16>>3]<+i[e+24>>3]|0}function J(e,t){e|=0;var A,n,r=0;return(r=+i[(t|=0)>>3])>=+i[e+8>>3]&&r<=+i[e>>3]?(A=+i[e+16>>3],r=+i[e+24>>3],t=(n=+i[t+8>>3])>=r,e=n<=A&1,A<r?t&&(e=1):t||(e=0),0|(t=0!=(0|e))):0|(t=0)}function j(e,t){e|=0,t|=0;var A,n,o,a,g,c,u=0,l=0;a=D,D=D+288|0,A=a+264|0,n=a+96|0,l=(u=o=a)+96|0;do{r[u>>2]=0,u=u+4|0}while((0|u)<(0|l));return Pe(t,o),Je(l=0|r[(u=o)>>2],u=0|r[u+4>>2],A),je(l,u,n),g=+Fe(A,n+8|0),i[A>>3]=+i[e>>3],i[(u=A+8|0)>>3]=+i[e+16>>3],i[n>>3]=+i[e+8>>3],i[(l=n+8|0)>>3]=+i[e+24>>3],c=+Fe(A,n),l=~~+B(+c*c/+wt(+ +s(+(+i[u>>3]-+i[l>>3])/(+i[A>>3]-+i[n>>3])),3)/(g*(2.59807621135*g)*.8)),D=a,0|(0==(0|l)?1:l)}function P(e,t,A){e|=0,t|=0,A|=0;var n,i,o,a,s,g=0,c=0;a=D,D=D+288|0,n=a+264|0,i=a+96|0,c=(g=o=a)+96|0;do{r[g>>2]=0,g=g+4|0}while((0|g)<(0|c));return Pe(A,o),Je(g=0|r[(c=o)>>2],c=0|r[c+4>>2],n),je(g,c,i),s=+Fe(n,i+8|0),c=~~+B(+ +Fe(e,t)/(2*s)),D=a,0|(0==(0|c)?1:c)}function V(e,t,A,n){t|=0,A|=0,n|=0,r[(e|=0)>>2]=t,r[e+4>>2]=A,r[e+8>>2]=n}function K(e,t){e|=0;var A,n,o,a,g=0,c=0,u=0,l=0,I=0,C=0,h=0;r[(a=(t|=0)+8|0)>>2]=0,n=+i[e>>3],l=+s(+n),o=+i[e+8>>3],l+=.5*(I=+s(+o)/.8660254037844386),l-=+(0|(g=~~l)),I-=+(0|(e=~~I));do{if(l<.5){if(l<.3333333333333333){if(r[t>>2]=g,I<.5*(l+1)){r[t+4>>2]=e;break}e=e+1|0,r[t+4>>2]=e;break}if(e=(1&!(I<(h=1-l)))+e|0,r[t+4>>2]=e,h<=I&I<2*l){g=g+1|0,r[t>>2]=g;break}r[t>>2]=g;break}if(!(l<.6666666666666666)){if(g=g+1|0,r[t>>2]=g,I<.5*l){r[t+4>>2]=e;break}e=e+1|0,r[t+4>>2]=e;break}if(I<1-l){if(r[t+4>>2]=e,2*l-1<I){r[t>>2]=g;break}}else e=e+1|0,r[t+4>>2]=e;g=g+1|0,r[t>>2]=g}while(0);do{if(n<0){if(1&e){g=~~(+(0|g)-(2*(+((C=0|Et(0|g,((0|g)<0)<<31>>31|0,0|(C=(e+1|0)/2|0),((0|C)<0)<<31>>31|0))>>>0)+4294967296*+(0|v()))+1)),r[t>>2]=g;break}g=~~(+(0|g)-2*(+((C=0|Et(0|g,((0|g)<0)<<31>>31|0,0|(C=(0|e)/2|0),((0|C)<0)<<31>>31|0))>>>0)+4294967296*+(0|v()))),r[t>>2]=g;break}}while(0);C=t+4|0,o<0&&(g=g-((1|e<<1)/2|0)|0,r[t>>2]=g,e=0-e|0,r[C>>2]=e),c=e-g|0,(0|g)<0?(u=0-g|0,r[C>>2]=c,r[a>>2]=u,r[t>>2]=0,e=c,g=0):u=0,(0|e)<0&&(g=g-e|0,r[t>>2]=g,u=u-e|0,r[a>>2]=u,r[C>>2]=0,e=0),A=g-u|0,c=e-u|0,(0|u)<0&&(r[t>>2]=A,r[C>>2]=c,r[a>>2]=0,e=c,g=A,u=0),(0|(c=(0|u)<(0|(c=(0|e)<(0|g)?e:g))?u:c))<=0||(r[t>>2]=g-c,r[C>>2]=e-c,r[a>>2]=u-c)}function W(e){var t,A=0,n=0,i=0,o=0,a=0;A=0|r[(e|=0)>>2],n=0|r[(t=e+4|0)>>2],(0|A)<0&&(n=n-A|0,r[t>>2]=n,r[(a=e+8|0)>>2]=(0|r[a>>2])-A,r[e>>2]=0,A=0),(0|n)<0?(A=A-n|0,r[e>>2]=A,o=(0|r[(a=e+8|0)>>2])-n|0,r[a>>2]=o,r[t>>2]=0,n=0):(a=o=e+8|0,o=0|r[o>>2]),(0|o)<0&&(A=A-o|0,r[e>>2]=A,n=n-o|0,r[t>>2]=n,r[a>>2]=0,o=0),(0|(i=(0|o)<(0|(i=(0|n)<(0|A)?n:A))?o:i))<=0||(r[e>>2]=A-i,r[t>>2]=n-i,r[a>>2]=o-i)}function X(e,t){t|=0;var A,n;n=0|r[(e|=0)+8>>2],A=+((0|r[e+4>>2])-n|0),i[t>>3]=+((0|r[e>>2])-n|0)-.5*A,i[t+8>>3]=.8660254037844386*A}function q(e,t,A){e|=0,t|=0,r[(A|=0)>>2]=(0|r[t>>2])+(0|r[e>>2]),r[A+4>>2]=(0|r[t+4>>2])+(0|r[e+4>>2]),r[A+8>>2]=(0|r[t+8>>2])+(0|r[e+8>>2])}function z(e,t,A){e|=0,t|=0,r[(A|=0)>>2]=(0|r[e>>2])-(0|r[t>>2]),r[A+4>>2]=(0|r[e+4>>2])-(0|r[t+4>>2]),r[A+8>>2]=(0|r[e+8>>2])-(0|r[t+8>>2])}function $(e,t){t|=0;var A,n=0;n=0|p(0|r[(e|=0)>>2],t),r[e>>2]=n,A=0|p(0|r[(n=e+4|0)>>2],t),r[n>>2]=A,t=0|p(0|r[(e=e+8|0)>>2],t),r[e>>2]=t}function ee(e){var t,A,n=0,i=0,o=0,a=0,s=0;s=(0|(A=0|r[(e|=0)>>2]))<0,e=(e=(i=(0|(a=((t=(0|(o=(0|r[e+4>>2])-(s?A:0)|0))<0)?0-o|0:0)+((0|r[e+8>>2])-(s?A:0))|0))<0)?0:a)-((o=(0|(i=(0|e)<(0|(i=(0|(n=(t?0:o)-(i?a:0)|0))<(0|(a=(s?0:A)-(t?o:0)-(i?a:0)|0))?n:a))?e:i))>0)?i:0)|0,n=n-(o?i:0)|0;e:do{switch(a-(o?i:0)|0){case 0:switch(0|n){case 0:return 0|(s=0==(0|e)?0:1==(0|e)?1:7);case 1:return 0|(s=0==(0|e)?2:1==(0|e)?3:7);default:break e}case 1:switch(0|n){case 0:return 0|(s=0==(0|e)?4:1==(0|e)?5:7);case 1:if(e)break e;return 0|(e=6);default:break e}}}while(0);return 0|(s=7)}function te(e){var t,A,n=0,i=0,o=0,a=0,s=0;i=0|r[(t=(e|=0)+8|0)>>2],o=0|ft(+((3*(n=(0|r[e>>2])-i|0)|0)-(i=(0|r[(A=e+4|0)>>2])-i|0)|0)/7),r[e>>2]=o,n=0|ft(+((i<<1)+n|0)/7),r[A>>2]=n,r[t>>2]=0,i=n-o|0,(0|o)<0?(s=0-o|0,r[A>>2]=i,r[t>>2]=s,r[e>>2]=0,n=i,o=0,i=s):i=0,(0|n)<0&&(o=o-n|0,r[e>>2]=o,i=i-n|0,r[t>>2]=i,r[A>>2]=0,n=0),s=o-i|0,a=n-i|0,(0|i)<0?(r[e>>2]=s,r[A>>2]=a,r[t>>2]=0,n=a,a=s,i=0):a=o,(0|(o=(0|i)<(0|(o=(0|n)<(0|a)?n:a))?i:o))<=0||(r[e>>2]=a-o,r[A>>2]=n-o,r[t>>2]=i-o)}function Ae(e){var t,A,n=0,i=0,o=0,a=0,s=0;i=0|r[(t=(e|=0)+8|0)>>2],o=0|ft(+(((n=(0|r[e>>2])-i|0)<<1)+(i=(0|r[(A=e+4|0)>>2])-i|0)|0)/7),r[e>>2]=o,n=0|ft(+((3*i|0)-n|0)/7),r[A>>2]=n,r[t>>2]=0,i=n-o|0,(0|o)<0?(s=0-o|0,r[A>>2]=i,r[t>>2]=s,r[e>>2]=0,n=i,o=0,i=s):i=0,(0|n)<0&&(o=o-n|0,r[e>>2]=o,i=i-n|0,r[t>>2]=i,r[A>>2]=0,n=0),s=o-i|0,a=n-i|0,(0|i)<0?(r[e>>2]=s,r[A>>2]=a,r[t>>2]=0,n=a,a=s,i=0):a=o,(0|(o=(0|i)<(0|(o=(0|n)<(0|a)?n:a))?i:o))<=0||(r[e>>2]=a-o,r[A>>2]=n-o,r[t>>2]=i-o)}function ne(e){var t,A,n,i=0,o=0,a=0,s=0;i=0|r[(e|=0)>>2],o=0|r[(A=e+4|0)>>2],a=0|r[(n=e+8|0)>>2],s=o+(3*i|0)|0,r[e>>2]=s,o=a+(3*o|0)|0,r[A>>2]=o,i=(3*a|0)+i|0,r[n>>2]=i,a=o-s|0,(0|s)<0?(i=i-s|0,r[A>>2]=a,r[n>>2]=i,r[e>>2]=0,o=a,a=0):a=s,(0|o)<0&&(a=a-o|0,r[e>>2]=a,i=i-o|0,r[n>>2]=i,r[A>>2]=0,o=0),t=a-i|0,s=o-i|0,(0|i)<0?(r[e>>2]=t,r[A>>2]=s,r[n>>2]=0,a=t,i=0):s=o,(0|(o=(0|i)<(0|(o=(0|s)<(0|a)?s:a))?i:o))<=0||(r[e>>2]=a-o,r[A>>2]=s-o,r[n>>2]=i-o)}function re(e){var t,A,n,i=0,o=0,a=0,s=0;s=0|r[(e|=0)>>2],a=(3*(i=0|r[(A=e+4|0)>>2])|0)+s|0,s=(o=0|r[(n=e+8|0)>>2])+(3*s|0)|0,r[e>>2]=s,r[A>>2]=a,i=(3*o|0)+i|0,r[n>>2]=i,o=a-s|0,(0|s)<0?(i=i-s|0,r[A>>2]=o,r[n>>2]=i,r[e>>2]=0,s=0):o=a,(0|o)<0&&(s=s-o|0,r[e>>2]=s,i=i-o|0,r[n>>2]=i,r[A>>2]=0,o=0),t=s-i|0,a=o-i|0,(0|i)<0?(r[e>>2]=t,r[A>>2]=a,r[n>>2]=0,s=t,i=0):a=o,(0|(o=(0|i)<(0|(o=(0|a)<(0|s)?a:s))?i:o))<=0||(r[e>>2]=s-o,r[A>>2]=a-o,r[n>>2]=i-o)}function ie(e,t){e|=0;var A,n,i,o=0,a=0,s=0;((t|=0)+-1|0)>>>0>=6||(s=(0|r[15472+(12*t|0)>>2])+(0|r[e>>2])|0,r[e>>2]=s,i=e+4|0,a=(0|r[15472+(12*t|0)+4>>2])+(0|r[i>>2])|0,r[i>>2]=a,n=e+8|0,t=(0|r[15472+(12*t|0)+8>>2])+(0|r[n>>2])|0,r[n>>2]=t,o=a-s|0,(0|s)<0?(t=t-s|0,r[i>>2]=o,r[n>>2]=t,r[e>>2]=0,a=0):(o=a,a=s),(0|o)<0&&(a=a-o|0,r[e>>2]=a,t=t-o|0,r[n>>2]=t,r[i>>2]=0,o=0),A=a-t|0,s=o-t|0,(0|t)<0?(r[e>>2]=A,r[i>>2]=s,r[n>>2]=0,a=A,t=0):s=o,(0|(o=(0|t)<(0|(o=(0|s)<(0|a)?s:a))?t:o))<=0||(r[e>>2]=a-o,r[i>>2]=s-o,r[n>>2]=t-o))}function oe(e){var t,A,n,i=0,o=0,a=0,s=0;s=0|r[(e|=0)>>2],a=(i=0|r[(A=e+4|0)>>2])+s|0,s=(o=0|r[(n=e+8|0)>>2])+s|0,r[e>>2]=s,r[A>>2]=a,i=o+i|0,r[n>>2]=i,o=a-s|0,(0|s)<0?(i=i-s|0,r[A>>2]=o,r[n>>2]=i,r[e>>2]=0,a=0):(o=a,a=s),(0|o)<0&&(a=a-o|0,r[e>>2]=a,i=i-o|0,r[n>>2]=i,r[A>>2]=0,o=0),t=a-i|0,s=o-i|0,(0|i)<0?(r[e>>2]=t,r[A>>2]=s,r[n>>2]=0,a=t,i=0):s=o,(0|(o=(0|i)<(0|(o=(0|s)<(0|a)?s:a))?i:o))<=0||(r[e>>2]=a-o,r[A>>2]=s-o,r[n>>2]=i-o)}function ae(e){var t,A,n,i=0,o=0,a=0,s=0;i=0|r[(e|=0)>>2],a=0|r[(A=e+4|0)>>2],o=0|r[(n=e+8|0)>>2],s=a+i|0,r[e>>2]=s,a=o+a|0,r[A>>2]=a,i=o+i|0,r[n>>2]=i,o=a-s|0,(0|s)<0?(i=i-s|0,r[A>>2]=o,r[n>>2]=i,r[e>>2]=0,a=0):(o=a,a=s),(0|o)<0&&(a=a-o|0,r[e>>2]=a,i=i-o|0,r[n>>2]=i,r[A>>2]=0,o=0),t=a-i|0,s=o-i|0,(0|i)<0?(r[e>>2]=t,r[A>>2]=s,r[n>>2]=0,a=t,i=0):s=o,(0|(o=(0|i)<(0|(o=(0|s)<(0|a)?s:a))?i:o))<=0||(r[e>>2]=a-o,r[A>>2]=s-o,r[n>>2]=i-o)}function se(e){switch(0|(e|=0)){case 1:e=5;break;case 5:e=4;break;case 4:e=6;break;case 6:e=2;break;case 2:e=3;break;case 3:e=1}return 0|e}function ge(e){switch(0|(e|=0)){case 1:e=3;break;case 3:e=2;break;case 2:e=6;break;case 6:e=4;break;case 4:e=5;break;case 5:e=1}return 0|e}function ce(e){var t,A,n,i=0,o=0,a=0,s=0;i=0|r[(e|=0)>>2],o=0|r[(A=e+4|0)>>2],a=0|r[(n=e+8|0)>>2],s=o+(i<<1)|0,r[e>>2]=s,o=a+(o<<1)|0,r[A>>2]=o,i=(a<<1)+i|0,r[n>>2]=i,a=o-s|0,(0|s)<0?(i=i-s|0,r[A>>2]=a,r[n>>2]=i,r[e>>2]=0,o=a,a=0):a=s,(0|o)<0&&(a=a-o|0,r[e>>2]=a,i=i-o|0,r[n>>2]=i,r[A>>2]=0,o=0),t=a-i|0,s=o-i|0,(0|i)<0?(r[e>>2]=t,r[A>>2]=s,r[n>>2]=0,a=t,i=0):s=o,(0|(o=(0|i)<(0|(o=(0|s)<(0|a)?s:a))?i:o))<=0||(r[e>>2]=a-o,r[A>>2]=s-o,r[n>>2]=i-o)}function ue(e){var t,A,n,i=0,o=0,a=0,s=0;s=0|r[(e|=0)>>2],a=((i=0|r[(A=e+4|0)>>2])<<1)+s|0,s=(o=0|r[(n=e+8|0)>>2])+(s<<1)|0,r[e>>2]=s,r[A>>2]=a,i=(o<<1)+i|0,r[n>>2]=i,o=a-s|0,(0|s)<0?(i=i-s|0,r[A>>2]=o,r[n>>2]=i,r[e>>2]=0,s=0):o=a,(0|o)<0&&(s=s-o|0,r[e>>2]=s,i=i-o|0,r[n>>2]=i,r[A>>2]=0,o=0),t=s-i|0,a=o-i|0,(0|i)<0?(r[e>>2]=t,r[A>>2]=a,r[n>>2]=0,s=t,i=0):a=o,(0|(o=(0|i)<(0|(o=(0|a)<(0|s)?a:s))?i:o))<=0||(r[e>>2]=s-o,r[A>>2]=a-o,r[n>>2]=i-o)}function le(e,t){t|=0;var A,n,i,o=0,a=0,s=0;return i=(0|(n=(0|r[(e|=0)>>2])-(0|r[t>>2])|0))<0,A=(0|(a=(0|r[e+4>>2])-(0|r[t+4>>2])-(i?n:0)|0))<0,t=(t=(e=(0|(s=(i?0-n|0:0)+(0|r[e+8>>2])-(0|r[t+8>>2])+(A?0-a|0:0)|0))<0)?0:s)-((a=(0|(e=(0|t)<(0|(e=(0|(o=(A?0:a)-(e?s:0)|0))<(0|(s=(i?0:n)-(A?a:0)-(e?s:0)|0))?o:s))?t:e))>0)?e:0)|0,o=o-(a?e:0)|0,0|((0|(e=(0|(e=s-(a?e:0)|0))>-1?e:0-e|0))>(0|(t=(0|(o=(0|o)>-1?o:0-o|0))>(0|(t=(0|t)>-1?t:0-t|0))?o:t))?e:t)}function Ie(e,t){t|=0;var A;A=0|r[(e|=0)+8>>2],r[t>>2]=(0|r[e>>2])-A,r[t+4>>2]=(0|r[e+4>>2])-A}function Ce(e,t){t|=0;var A,n,i,o=0,a=0,s=0;a=0|r[(e|=0)>>2],r[t>>2]=a,e=0|r[e+4>>2],r[(n=t+4|0)>>2]=e,r[(i=t+8|0)>>2]=0,o=e-a|0,(0|a)<0?(e=0-a|0,r[n>>2]=o,r[i>>2]=e,r[t>>2]=0,a=0):(o=e,e=0),(0|o)<0&&(a=a-o|0,r[t>>2]=a,e=e-o|0,r[i>>2]=e,r[n>>2]=0,o=0),A=a-e|0,s=o-e|0,(0|e)<0?(r[t>>2]=A,r[n>>2]=s,r[i>>2]=0,o=s,s=A,e=0):s=a,(0|(a=(0|e)<(0|(a=(0|o)<(0|s)?o:s))?e:a))<=0||(r[t>>2]=s-a,r[n>>2]=o-a,r[i>>2]=e-a)}function he(e){var t,A,n,i;A=(i=0|r[(t=(e|=0)+8|0)>>2])-(0|r[e>>2])|0,r[e>>2]=A,e=(0|r[(n=e+4|0)>>2])-i|0,r[n>>2]=e,r[t>>2]=0-(e+A)}function fe(e){var t,A,n=0,i=0,o=0,a=0,s=0;n=0-(i=0|r[(e|=0)>>2])|0,r[e>>2]=n,r[(t=e+8|0)>>2]=0,a=(o=0|r[(A=e+4|0)>>2])+i|0,(0|i)>0?(r[A>>2]=a,r[t>>2]=i,r[e>>2]=0,n=0,o=a):i=0,(0|o)<0?(s=n-o|0,r[e>>2]=s,i=i-o|0,r[t>>2]=i,r[A>>2]=0,a=s-i|0,n=0-i|0,(0|i)<0?(r[e>>2]=a,r[A>>2]=n,r[t>>2]=0,o=n,i=0):(o=0,a=s)):a=n,(0|(n=(0|i)<(0|(n=(0|o)<(0|a)?o:a))?i:n))<=0||(r[e>>2]=a-n,r[A>>2]=o-n,r[t>>2]=i-n)}function de(e,t,A,n){t|=0,A|=0,n|=0;var o,a=0,s=0,g=0,c=0;if(o=D,D=D+32|0,function(e,t){t|=0;var A,n,r=0;r=+i[(e=e|0)>>3],A=+u(+r),r=+l(+r),i[t+16>>3]=r,r=+i[e+8>>3],n=A*+u(+r),i[t>>3]=n,r=A*+l(+r),i[t+8>>3]=r}(e|=0,s=o),r[A>>2]=0,a=+st(15888,s),(g=+st(15912,s))<a&&(r[A>>2]=1,a=g),(g=+st(15936,s))<a&&(r[A>>2]=2,a=g),(g=+st(15960,s))<a&&(r[A>>2]=3,a=g),(g=+st(15984,s))<a&&(r[A>>2]=4,a=g),(g=+st(16008,s))<a&&(r[A>>2]=5,a=g),(g=+st(16032,s))<a&&(r[A>>2]=6,a=g),(g=+st(16056,s))<a&&(r[A>>2]=7,a=g),(g=+st(16080,s))<a&&(r[A>>2]=8,a=g),(g=+st(16104,s))<a&&(r[A>>2]=9,a=g),(g=+st(16128,s))<a&&(r[A>>2]=10,a=g),(g=+st(16152,s))<a&&(r[A>>2]=11,a=g),(g=+st(16176,s))<a&&(r[A>>2]=12,a=g),(g=+st(16200,s))<a&&(r[A>>2]=13,a=g),(g=+st(16224,s))<a&&(r[A>>2]=14,a=g),(g=+st(16248,s))<a&&(r[A>>2]=15,a=g),(g=+st(16272,s))<a&&(r[A>>2]=16,a=g),(g=+st(16296,s))<a&&(r[A>>2]=17,a=g),(g=+st(16320,s))<a&&(r[A>>2]=18,a=g),(g=+st(16344,s))<a&&(r[A>>2]=19,a=g),(g=+C(+(1-.5*a)))<1e-16)return r[n>>2]=0,r[n+4>>2]=0,r[n+8>>2]=0,r[n+12>>2]=0,void(D=o);if(A=0|r[A>>2],a=+we((a=+i[16368+(24*A|0)>>3])-+we(+function(e,t){e|=0;var A,n,r,o,a;return o=+i[(t=t|0)>>3],n=+u(+o),r=+i[t+8>>3]-+i[e+8>>3],a=n*+l(+r),A=+i[e>>3],+ +d(+a,+(+l(+o)*+u(+A)-+u(+r)*(n*+l(+A))))}(15568+(A<<4)|0,e))),c=0|Te(t)?+we(a+-.3334731722518321):a,a=+I(+g)/.381966011250105,(0|t)>0){s=0;do{a*=2.6457513110645907,s=s+1|0}while((0|s)!=(0|t))}g=+u(+c)*a,i[n>>3]=g,c=+l(+c)*a,i[n+8>>3]=c,D=o}function Be(e,t,A,n,o){t|=0,A|=0,n|=0,o|=0;var a=0,c=0;if((a=+function(e){var t,A;return A=+i[(e=e|0)>>3],t=+i[e+8>>3],+ +g(+(A*A+t*t))}(e|=0))<1e-16)return t=15568+(t<<4)|0,r[o>>2]=r[t>>2],r[o+4>>2]=r[t+4>>2],r[o+8>>2]=r[t+8>>2],void(r[o+12>>2]=r[t+12>>2]);if(c=+d(+ +i[e+8>>3],+ +i[e>>3]),(0|A)>0){e=0;do{a/=2.6457513110645907,e=e+1|0}while((0|e)!=(0|A))}n?(a/=3,A=0==(0|Te(A)),a=+f(.381966011250105*(A?a:a/2.6457513110645907))):(a=+f(.381966011250105*a),0|Te(A)&&(c=+we(c+.3334731722518321))),function(e,t,A,n){e|=0,t=+t,n|=0;var o=0,a=0,g=0,c=0;if((A=+A)<1e-16)return r[n>>2]=r[e>>2],r[n+4>>2]=r[e+4>>2],r[n+8>>2]=r[e+8>>2],void(r[n+12>>2]=r[e+12>>2]);a=t<0?t+6.283185307179586:t,a=t>=6.283185307179586?a+-6.283185307179586:a;do{if(!(a<1e-16)){if(o=+s(+(a+-3.141592653589793))<1e-16,t=+i[e>>3],o){t-=A,i[n>>3]=t,o=n;break}if(g=+u(+A),A=+l(+A),t=g*+l(+t)+ +u(+a)*(A*+u(+t)),t=+h(+((t=t>1?1:t)<-1?-1:t)),i[n>>3]=t,+s(+(t+-1.5707963267948966))<1e-16)return i[n>>3]=1.5707963267948966,void(i[n+8>>3]=0);if(+s(+(t+1.5707963267948966))<1e-16)return i[n>>3]=-1.5707963267948966,void(i[n+8>>3]=0);if(c=+u(+t),a=A*+l(+a)/c,A=+i[e>>3],t=(g-+l(+t)*+l(+A))/+u(+A)/c,g=a>1?1:a,t=t>1?1:t,(t=+i[e+8>>3]+ +d(+(g<-1?-1:g),+(t<-1?-1:t)))>3.141592653589793)do{t+=-6.283185307179586}while(t>3.141592653589793);if(t<-3.141592653589793)do{t+=6.283185307179586}while(t<-3.141592653589793);return void(i[n+8>>3]=t)}t=+i[e>>3]+A,i[n>>3]=t,o=n}while(0);if(+s(+(t+-1.5707963267948966))<1e-16)return i[o>>3]=1.5707963267948966,void(i[n+8>>3]=0);if(+s(+(t+1.5707963267948966))<1e-16)return i[o>>3]=-1.5707963267948966,void(i[n+8>>3]=0);if((t=+i[e+8>>3])>3.141592653589793)do{t+=-6.283185307179586}while(t>3.141592653589793);if(t<-3.141592653589793)do{t+=6.283185307179586}while(t<-3.141592653589793);i[n+8>>3]=t}(15568+(t<<4)|0,+we(+i[16368+(24*t|0)>>3]-c),a,o)}function pe(e,t,A){t|=0,A|=0;var n,i;n=D,D=D+16|0,X((e|=0)+4|0,i=n),Be(i,0|r[e>>2],t,0,A),D=n}function Ee(e,t,A,n,o){e|=0,t|=0,A|=0,n|=0,o|=0;var a,s,g,c,u,l,I,C,h,f,d,B,p,E,Q,y,v,b,w,S,F,R,G=0,k=0,x=0,N=0,U=0,_=0;if(R=D,D=D+272|0,N=R+240|0,w=R,S=R+224|0,F=R+208|0,d=R+176|0,B=R+160|0,p=R+192|0,E=R+144|0,Q=R+128|0,y=R+112|0,v=R+96|0,b=R+80|0,r[(G=R+256|0)>>2]=t,r[N>>2]=r[e>>2],r[N+4>>2]=r[e+4>>2],r[N+8>>2]=r[e+8>>2],r[N+12>>2]=r[e+12>>2],Qe(N,G,w),r[o>>2]=0,(0|(N=n+A+(5==(0|n)&1)|0))<=(0|A))D=R;else{s=S+4|0,g=d+4|0,c=A+5|0,u=16848+((a=0|r[G>>2])<<2)|0,l=16928+(a<<2)|0,I=Q+8|0,C=y+8|0,h=v+8|0,f=F+4|0,x=A;e:for(;;){k=w+(((0|x)%5|0)<<4)|0,r[F>>2]=r[k>>2],r[F+4>>2]=r[k+4>>2],r[F+8>>2]=r[k+8>>2],r[F+12>>2]=r[k+12>>2];do{}while(2==(0|ye(F,a,0,1)));if((0|x)>(0|A)&0!=(0|Te(t))){if(r[d>>2]=r[F>>2],r[d+4>>2]=r[F+4>>2],r[d+8>>2]=r[F+8>>2],r[d+12>>2]=r[F+12>>2],X(s,B),n=0|r[d>>2],G=0|r[17008+(80*n|0)+(r[S>>2]<<2)>>2],r[d>>2]=r[18608+(80*n|0)+(20*G|0)>>2],(0|(k=0|r[18608+(80*n|0)+(20*G|0)+16>>2]))>0){e=0;do{oe(g),e=e+1|0}while((0|e)<(0|k))}switch(k=18608+(80*n|0)+(20*G|0)+4|0,r[p>>2]=r[k>>2],r[p+4>>2]=r[k+4>>2],r[p+8>>2]=r[k+8>>2],$(p,3*(0|r[u>>2])|0),q(g,p,g),W(g),X(g,E),U=+(0|r[l>>2]),i[Q>>3]=3*U,i[I>>3]=0,_=-1.5*U,i[y>>3]=_,i[C>>3]=2.598076211353316*U,i[v>>3]=_,i[h>>3]=-2.598076211353316*U,0|r[17008+(80*(0|r[d>>2])|0)+(r[F>>2]<<2)>>2]){case 1:e=y,n=Q;break;case 3:e=v,n=y;break;case 2:e=Q,n=v;break;default:e=12;break e}ot(B,E,n,e,b),Be(b,0|r[d>>2],a,1,o+8+(r[o>>2]<<4)|0),r[o>>2]=1+(0|r[o>>2])}if((0|x)<(0|c)&&(X(f,d),Be(d,0|r[F>>2],a,1,o+8+(r[o>>2]<<4)|0),r[o>>2]=1+(0|r[o>>2])),r[S>>2]=r[F>>2],r[S+4>>2]=r[F+4>>2],r[S+8>>2]=r[F+8>>2],r[S+12>>2]=r[F+12>>2],(0|(x=x+1|0))>=(0|N)){e=3;break}}3!=(0|e)?12==(0|e)&&m(22474,22521,581,22531):D=R}}function Qe(e,t,A){e|=0,t|=0,A|=0;var n,i=0,o=0,a=0,s=0,g=0;n=D,D=D+128|0,o=n,s=20208,g=(a=i=n+64|0)+60|0;do{r[a>>2]=r[s>>2],a=a+4|0,s=s+4|0}while((0|a)<(0|g));s=20272,g=(a=o)+60|0;do{r[a>>2]=r[s>>2],a=a+4|0,s=s+4|0}while((0|a)<(0|g));i=(g=0==(0|Te(0|r[t>>2])))?i:o,ce(o=e+4|0),ue(o),0|Te(0|r[t>>2])&&(re(o),r[t>>2]=1+(0|r[t>>2])),r[A>>2]=r[e>>2],q(o,i,t=A+4|0),W(t),r[A+16>>2]=r[e>>2],q(o,i+12|0,t=A+20|0),W(t),r[A+32>>2]=r[e>>2],q(o,i+24|0,t=A+36|0),W(t),r[A+48>>2]=r[e>>2],q(o,i+36|0,t=A+52|0),W(t),r[A+64>>2]=r[e>>2],q(o,i+48|0,A=A+68|0),W(A),D=n}function ye(e,t,A,n){A|=0,n|=0;var i,o,a,s,g,c,u=0,l=0,I=0,C=0,h=0;if(c=D,D=D+32|0,g=c+12|0,o=c,h=(e|=0)+4|0,C=0|r[16928+((t|=0)<<2)>>2],C=(s=0!=(0|n))?3*C|0:C,u=0|r[h>>2],i=0|r[(a=e+8|0)>>2],s){if((0|(u=i+u+(n=0|r[(l=e+12|0)>>2])|0))==(0|C))return D=c,0|(h=1);I=l}else u=i+u+(n=0|r[(I=e+12|0)>>2])|0;if((0|u)<=(0|C))return D=c,0|(h=0);do{if((0|n)>0){if(n=0|r[e>>2],(0|i)>0){l=18608+(80*n|0)+60|0,n=e;break}n=18608+(80*n|0)+40|0,A?(V(g,C,0,0),z(h,g,o),ae(o),q(o,g,h),l=n,n=e):(l=n,n=e)}else l=18608+(80*(0|r[e>>2])|0)+20|0,n=e}while(0);if(r[n>>2]=r[l>>2],(0|r[(u=l+16|0)>>2])>0){n=0;do{oe(h),n=n+1|0}while((0|n)<(0|r[u>>2]))}return e=l+4|0,r[g>>2]=r[e>>2],r[g+4>>2]=r[e+4>>2],r[g+8>>2]=r[e+8>>2],t=0|r[16848+(t<<2)>>2],$(g,s?3*t|0:t),q(h,g,h),W(h),n=s&&((0|r[a>>2])+(0|r[h>>2])+(0|r[I>>2])|0)==(0|C)?1:2,D=c,0|(h=n)}function ve(e,t){e|=0,t|=0;var A=0;do{A=0|ye(e,t,0,1)}while(2==(0|A));return 0|A}function me(e,t,A,n,o){e|=0,t|=0,A|=0,n|=0,o|=0;var a,s,g,c,u,l,I,C,h,f,d,B,p,E,Q,y,v,b,w=0,S=0,F=0,R=0,G=0;if(b=D,D=D+240|0,E=b+208|0,Q=b,y=b+192|0,v=b+176|0,h=b+160|0,f=b+144|0,d=b+128|0,B=b+112|0,p=b+96|0,r[(w=b+224|0)>>2]=t,r[E>>2]=r[e>>2],r[E+4>>2]=r[e+4>>2],r[E+8>>2]=r[e+8>>2],r[E+12>>2]=r[e+12>>2],be(E,w,Q),r[o>>2]=0,(0|(C=n+A+(6==(0|n)&1)|0))<=(0|A))D=b;else{s=A+6|0,g=16928+((a=0|r[w>>2])<<2)|0,c=f+8|0,u=d+8|0,l=B+8|0,I=y+4|0,S=0,F=A,n=-1;e:for(;;){if(e=Q+((w=(0|F)%6|0)<<4)|0,r[y>>2]=r[e>>2],r[y+4>>2]=r[e+4>>2],r[y+8>>2]=r[e+8>>2],r[y+12>>2]=r[e+12>>2],e=S,S=0|ye(y,a,0,1),(0|F)>(0|A)&0!=(0|Te(t))&&(1!=(0|e)&&(0|r[y>>2])!=(0|n))){switch(X(Q+(((w+5|0)%6|0)<<4)+4|0,v),X(Q+(w<<4)+4|0,h),R=+(0|r[g>>2]),i[f>>3]=3*R,i[c>>3]=0,G=-1.5*R,i[d>>3]=G,i[u>>3]=2.598076211353316*R,i[B>>3]=G,i[l>>3]=-2.598076211353316*R,w=0|r[E>>2],0|r[17008+(80*w|0)+(((0|n)==(0|w)?0|r[y>>2]:n)<<2)>>2]){case 1:e=d,n=f;break;case 3:e=B,n=d;break;case 2:e=f,n=B;break;default:e=8;break e}ot(v,h,n,e,p),0|at(v,p)||0|at(h,p)||(Be(p,0|r[E>>2],a,1,o+8+(r[o>>2]<<4)|0),r[o>>2]=1+(0|r[o>>2]))}if((0|F)<(0|s)&&(X(I,v),Be(v,0|r[y>>2],a,1,o+8+(r[o>>2]<<4)|0),r[o>>2]=1+(0|r[o>>2])),(0|(F=F+1|0))>=(0|C)){e=3;break}n=0|r[y>>2]}3!=(0|e)?8==(0|e)&&m(22557,22521,746,22602):D=b}}function be(e,t,A){e|=0,t|=0,A|=0;var n,i=0,o=0,a=0,s=0,g=0;n=D,D=D+160|0,o=n,s=20336,g=(a=i=n+80|0)+72|0;do{r[a>>2]=r[s>>2],a=a+4|0,s=s+4|0}while((0|a)<(0|g));s=20416,g=(a=o)+72|0;do{r[a>>2]=r[s>>2],a=a+4|0,s=s+4|0}while((0|a)<(0|g));i=(g=0==(0|Te(0|r[t>>2])))?i:o,ce(o=e+4|0),ue(o),0|Te(0|r[t>>2])&&(re(o),r[t>>2]=1+(0|r[t>>2])),r[A>>2]=r[e>>2],q(o,i,t=A+4|0),W(t),r[A+16>>2]=r[e>>2],q(o,i+12|0,t=A+20|0),W(t),r[A+32>>2]=r[e>>2],q(o,i+24|0,t=A+36|0),W(t),r[A+48>>2]=r[e>>2],q(o,i+36|0,t=A+52|0),W(t),r[A+64>>2]=r[e>>2],q(o,i+48|0,t=A+68|0),W(t),r[A+80>>2]=r[e>>2],q(o,i+60|0,A=A+84|0),W(A),D=n}function we(e){var t;return t=(e=+e)<0?e+6.283185307179586:e,+(e>=6.283185307179586?t+-6.283185307179586:t)}function Se(e,t){return t|=0,+s(+(+i[(e|=0)>>3]-+i[t>>3]))<17453292519943298e-27?0|(t=+s(+(+i[e+8>>3]-+i[t+8>>3]))<17453292519943298e-27):0|(t=0)}function Fe(e,t){e|=0;var A,n,r,o=0;return n=+i[(t|=0)>>3],A=+i[e>>3],o=(r=+l(.5*(n-A)))*r+(o=+l(.5*(+i[t+8>>3]-+i[e+8>>3])))*(+u(+n)*+u(+A)*o),2*+d(+ +g(+o),+ +g(+(1-o)))*6371.007180918475}function Re(e,t,A){e|=0,A|=0;var n,r,o,a,s=0,c=0,C=0,h=0,B=0,p=0;return p=+i[(t|=0)>>3],o=+i[e>>3],B=+l(.5*(p-o)),C=+i[t+8>>3],r=+i[e+8>>3],h=+l(.5*(C-r)),n=+u(+o),a=+u(+p),h=2*+d(+ +g(+(h=B*B+h*(a*n*h))),+ +g(+(1-h))),B=+i[A>>3],p=+l(.5*(B-p)),s=+i[A+8>>3],C=+l(.5*(s-C)),c=+u(+B),C=2*+d(+ +g(+(C=p*p+C*(a*c*C))),+ +g(+(1-C))),B=+l(.5*(o-B)),s=+l(.5*(r-s)),s=2*+d(+ +g(+(s=B*B+s*(n*c*s))),+ +g(+(1-s))),4*+f(+ +g(+ +I(.5*(c=.5*(h+C+s)))*+I(.5*(c-h))*+I(.5*(c-C))*+I(.5*(c-s))))}function De(e,t){return t=0|mt(0|(e|=0),0|(t|=0),45),v(),127&t|0}function Ge(e,t){var A=0,n=0,r=0,i=0,o=0,a=0;if(!(!0&134217728==(-16777216&(t|=0)|0)))return 0|(t=0);if(o=0|mt(0|(e|=0),0|t,45),v(),(o&=127)>>>0>121)return 0|(t=0);A=0|mt(0|e,0|t,52),v(),A&=15;do{if(0|A){for(r=1,n=0;;){if(i=0|mt(0|e,0|t,3*(15-r|0)|0),v(),0!=(0|(i&=7))&(1^n)){if(1==(0|i)&0!=(0|_(o))){a=0,n=13;break}n=1}if(7==(0|i)){a=0,n=13;break}if(!(r>>>0<A>>>0)){n=9;break}r=r+1|0}if(9==(0|n)){if(15!=(0|A))break;return 0|(a=1)}if(13==(0|n))return 0|a}}while(0);for(;;){if(a=0|mt(0|e,0|t,3*(14-A|0)|0),v(),!(7==(7&a|0)&!0)){a=0,n=13;break}if(!(A>>>0<14)){a=1,n=13;break}A=A+1|0}return 13==(0|n)?0|a:0}function ke(e,t,A){A|=0;var n=0,r=0;if(n=0|mt(0|(e|=0),0|(t|=0),52),v(),(0|(n&=15))>=(0|A)){if((0|n)!=(0|A))if(A>>>0<=15){if(e|=r=0|bt(0|A,0,52),t=0|v()|-15728641&t,(0|n)>(0|A))do{r=0|bt(7,0,3*(14-A|0)|0),A=A+1|0,e|=r,t=0|v()|t}while((0|A)<(0|n))}else t=0,e=0}else t=0,e=0;return y(0|t),0|e}function xe(e,t,A,n){A|=0,n|=0;var i,o=0,a=0,s=0,g=0,c=0,u=0;if(s=0|mt(0|(e|=0),0|(t|=0),52),v(),(0|A)<16&(0|(s&=15))<=(0|A)){if((0|s)==(0|A))return r[(A=n)>>2]=e,void(r[A+4>>2]=t);if(i=(0|(c=0|tt(7,A-s|0)))/7|0,g=0|mt(0|e,0|t,45),v(),0|_(127&g)){e:do{if(s)for(a=1;;){if(o=0|mt(0|e,0|t,3*(15-a|0)|0),v(),0|(o&=7))break e;if(!(a>>>0<s>>>0)){o=0;break}a=a+1|0}else o=0}while(0);a=0==(0|o)}else a=0;if(u=0|bt(s+1|0,0,52),o=0|v()|-15728641&t,xe(t=(u|e)&~(t=0|bt(7,0,0|(g=3*(14-s|0)|0))),s=o&~(0|v()),A,n),o=n+(i<<3)|0,!a)return xe((u=0|bt(1,0,0|g))|t,0|v()|s,A,o),u=o+(i<<3)|0,xe((c=0|bt(2,0,0|g))|t,0|v()|s,A,u),u=u+(i<<3)|0,xe((c=0|bt(3,0,0|g))|t,0|v()|s,A,u),u=u+(i<<3)|0,xe((c=0|bt(4,0,0|g))|t,0|v()|s,A,u),u=u+(i<<3)|0,xe((c=0|bt(5,0,0|g))|t,0|v()|s,A,u),void xe((c=0|bt(6,0,0|g))|t,0|v()|s,A,u+(i<<3)|0);a=o+(i<<3)|0,(0|c)>6&&(Rt(0|o,0,(u=(a>>>0>(c=o+8|0)>>>0?a:c)+-1+(0-o)|0)+8&-8|0),o=c+(u>>>3<<3)|0),xe((u=0|bt(2,0,0|g))|t,0|v()|s,A,o),u=o+(i<<3)|0,xe((c=0|bt(3,0,0|g))|t,0|v()|s,A,u),u=u+(i<<3)|0,xe((c=0|bt(4,0,0|g))|t,0|v()|s,A,u),u=u+(i<<3)|0,xe((c=0|bt(5,0,0|g))|t,0|v()|s,A,u),xe((c=0|bt(6,0,0|g))|t,0|v()|s,A,u+(i<<3)|0)}}function Ne(e,t){var A=0,n=0,r=0;if(r=0|mt(0|(e|=0),0|(t|=0),45),v(),!(0|_(127&r)))return 0|(r=0);r=0|mt(0|e,0|t,52),v(),r&=15;e:do{if(r)for(n=1;;){if(A=0|mt(0|e,0|t,3*(15-n|0)|0),v(),0|(A&=7))break e;if(!(n>>>0<r>>>0)){A=0;break}n=n+1|0}else A=0}while(0);return 0|(r=0==(0|A)&1)}function Ue(e,t){var A=0,n=0,r=0;if(r=0|mt(0|(e|=0),0|(t|=0),52),v(),!(r&=15))return 0|(r=0);for(n=1;;){if(A=0|mt(0|e,0|t,3*(15-n|0)|0),v(),0|(A&=7)){n=5;break}if(!(n>>>0<r>>>0)){A=0,n=5;break}n=n+1|0}return 5==(0|n)?0|A:0}function _e(e,t){var A=0,n=0,r=0,i=0,o=0,a=0,s=0;if(s=0|mt(0|(e|=0),0|(t|=0),52),v(),!(s&=15))return s=e,y(0|(a=t)),0|s;for(a=1,A=0;;){n=0|bt(7,0,0|(i=3*(15-a|0)|0)),r=0|v(),o=0|mt(0|e,0|t,0|i),v(),e=(i=0|bt(0|se(7&o),0,0|i))|e&~n,t=(o=0|v())|t&~r;e:do{if(!A)if(0==(i&n|0)&0==(o&r|0))A=0;else if(n=0|mt(0|e,0|t,52),v(),n&=15){A=1;t:for(;;){switch(o=0|mt(0|e,0|t,3*(15-A|0)|0),v(),7&o){case 1:break t;case 0:break;default:A=1;break e}if(!(A>>>0<n>>>0)){A=1;break e}A=A+1|0}for(A=1;;){if(r=0|mt(0|e,0|t,0|(o=3*(15-A|0)|0)),v(),i=0|bt(7,0,0|o),t&=~(0|v()),e=e&~i|(o=0|bt(0|se(7&r),0,0|o)),t=0|t|v(),!(A>>>0<n>>>0)){A=1;break}A=A+1|0}}else A=1}while(0);if(!(a>>>0<s>>>0))break;a=a+1|0}return y(0|t),0|e}function Me(e,t){var A=0,n=0,r=0,i=0,o=0;if(n=0|mt(0|(e|=0),0|(t|=0),52),v(),!(n&=15))return n=e,y(0|(A=t)),0|n;for(A=1;o=0|mt(0|e,0|t,0|(i=3*(15-A|0)|0)),v(),r=0|bt(7,0,0|i),t&=~(0|v()),e=(i=0|bt(0|se(7&o),0,0|i))|e&~r,t=0|v()|t,A>>>0<n>>>0;)A=A+1|0;return y(0|t),0|e}function Oe(e,t){var A=0,n=0,r=0,i=0,o=0,a=0,s=0;if(s=0|mt(0|(e|=0),0|(t|=0),52),v(),!(s&=15))return s=e,y(0|(a=t)),0|s;for(a=1,A=0;;){n=0|bt(7,0,0|(i=3*(15-a|0)|0)),r=0|v(),o=0|mt(0|e,0|t,0|i),v(),e=(i=0|bt(0|ge(7&o),0,0|i))|e&~n,t=(o=0|v())|t&~r;e:do{if(!A)if(0==(i&n|0)&0==(o&r|0))A=0;else if(n=0|mt(0|e,0|t,52),v(),n&=15){A=1;t:for(;;){switch(o=0|mt(0|e,0|t,3*(15-A|0)|0),v(),7&o){case 1:break t;case 0:break;default:A=1;break e}if(!(A>>>0<n>>>0)){A=1;break e}A=A+1|0}for(A=1;;){if(i=0|bt(7,0,0|(r=3*(15-A|0)|0)),o=t&~(0|v()),t=0|mt(0|e,0|t,0|r),v(),e=e&~i|(t=0|bt(0|ge(7&t),0,0|r)),t=0|o|v(),!(A>>>0<n>>>0)){A=1;break}A=A+1|0}}else A=1}while(0);if(!(a>>>0<s>>>0))break;a=a+1|0}return y(0|t),0|e}function Le(e,t){var A=0,n=0,r=0,i=0,o=0;if(n=0|mt(0|(e|=0),0|(t|=0),52),v(),!(n&=15))return n=e,y(0|(A=t)),0|n;for(A=1;i=0|bt(7,0,0|(o=3*(15-A|0)|0)),r=t&~(0|v()),t=0|mt(0|e,0|t,0|o),v(),e=(t=0|bt(0|ge(7&t),0,0|o))|e&~i,t=0|v()|r,A>>>0<n>>>0;)A=A+1|0;return y(0|t),0|e}function Te(e){return 0|(0|(e|=0))%2}function Ze(e,t){e|=0;var A,n;return n=D,D=D+16|0,A=n,(t|=0)>>>0<=15&&2146435072!=(2146435072&r[e+4>>2]|0)&&2146435072!=(2146435072&r[e+8+4>>2]|0)?(!function(e,t,A){var n,r;n=D,D=D+16|0,de(e|=0,t|=0,A|=0,r=n),K(r,A+4|0),D=n}(e,t,A),t=0|function(e,t){e|=0;var A,n=0,i=0,o=0,a=0,s=0,g=0,c=0,u=0;if(A=D,D=D+64|0,g=A+40|0,i=A+24|0,o=A+12|0,a=A,bt(0|(t|=0),0,52),n=134225919|v(),!t)return(0|r[e+4>>2])>2||(0|r[e+8>>2])>2||(0|r[e+12>>2])>2?(g=0,y(0|(s=0)),D=A,0|g):(bt(0|O(e),0,45),s=0|v()|n,g=-1,y(0|s),D=A,0|g);if(r[g>>2]=r[e>>2],r[g+4>>2]=r[e+4>>2],r[g+8>>2]=r[e+8>>2],r[g+12>>2]=r[e+12>>2],s=g+4|0,(0|t)>0)for(e=-1;r[i>>2]=r[s>>2],r[i+4>>2]=r[s+4>>2],r[i+8>>2]=r[s+8>>2],1&t?(te(s),r[o>>2]=r[s>>2],r[o+4>>2]=r[s+4>>2],r[o+8>>2]=r[s+8>>2],ne(o)):(Ae(s),r[o>>2]=r[s>>2],r[o+4>>2]=r[s+4>>2],r[o+8>>2]=r[s+8>>2],re(o)),z(i,o,a),W(a),c=0|bt(7,0,0|(u=3*(15-t|0)|0)),n&=~(0|v()),e=(u=0|bt(0|ee(a),0,0|u))|e&~c,n=0|v()|n,(0|t)>1;)t=t+-1|0;else e=-1;e:do{if((0|r[s>>2])<=2&&(0|r[g+8>>2])<=2&&(0|r[g+12>>2])<=2){if(t=0|bt(0|(i=0|O(g)),0,45),t|=e,e=0|v()|-1040385&n,a=0|L(g),!(0|_(i))){if((0|a)<=0)break;for(o=0;;){if(i=0|mt(0|t,0|e,52),v(),i&=15)for(n=1;g=0|mt(0|t,0|e,0|(u=3*(15-n|0)|0)),v(),c=0|bt(7,0,0|u),e&=~(0|v()),t=t&~c|(u=0|bt(0|se(7&g),0,0|u)),e=0|e|v(),n>>>0<i>>>0;)n=n+1|0;if((0|(o=o+1|0))==(0|a))break e}}o=0|mt(0|t,0|e,52),v(),o&=15;t:do{if(o){n=1;A:for(;;){switch(u=0|mt(0|t,0|e,3*(15-n|0)|0),v(),7&u){case 1:break A;case 0:break;default:break t}if(!(n>>>0<o>>>0))break t;n=n+1|0}if(0|T(i,0|r[g>>2]))for(n=1;c=0|bt(7,0,0|(g=3*(15-n|0)|0)),u=e&~(0|v()),e=0|mt(0|t,0|e,0|g),v(),t=t&~c|(e=0|bt(0|ge(7&e),0,0|g)),e=0|u|v(),n>>>0<o>>>0;)n=n+1|0;else for(n=1;g=0|mt(0|t,0|e,0|(u=3*(15-n|0)|0)),v(),c=0|bt(7,0,0|u),e&=~(0|v()),t=t&~c|(u=0|bt(0|se(7&g),0,0|u)),e=0|e|v(),n>>>0<o>>>0;)n=n+1|0}}while(0);if((0|a)>0){n=0;do{t=0|_e(t,e),e=0|v(),n=n+1|0}while((0|n)!=(0|a))}}else t=0,e=0}while(0);return u=t,y(0|(c=e)),D=A,0|u}(A,t),e=0|v()):(e=0,t=0),y(0|e),D=n,0|t}function He(e,t,A){var n,i=0,o=0,a=0;if(n=(A|=0)+4|0,o=0|mt(0|(e|=0),0|(t|=0),52),v(),o&=15,a=0|mt(0|e,0|t,45),v(),i=0==(0|o),0|_(127&a)){if(i)return 0|(a=1);i=1}else{if(i)return 0|(a=0);i=0==(0|r[n>>2])&&0==(0|r[A+8>>2])?0!=(0|r[A+12>>2])&1:1}for(A=1;1&A?ne(n):re(n),a=0|mt(0|e,0|t,3*(15-A|0)|0),v(),ie(n,7&a),A>>>0<o>>>0;)A=A+1|0;return 0|i}function Ye(e,t,A){A|=0;var n,i,o=0,a=0,s=0,g=0,c=0,u=0;i=D,D=D+16|0,n=i,u=0|mt(0|(e|=0),0|(t|=0),45),v(),u&=127;e:do{if(0!=(0|_(u))&&(s=0|mt(0|e,0|t,52),v(),0!=(0|(s&=15)))){o=1;t:for(;;){switch(c=0|mt(0|e,0|t,3*(15-o|0)|0),v(),7&c){case 5:break t;case 0:break;default:o=t;break e}if(!(o>>>0<s>>>0)){o=t;break e}o=o+1|0}for(a=1,o=t;g=0|bt(7,0,0|(t=3*(15-a|0)|0)),c=o&~(0|v()),o=0|mt(0|e,0|o,0|t),v(),e=e&~g|(o=0|bt(0|ge(7&o),0,0|t)),o=0|c|v(),a>>>0<s>>>0;)a=a+1|0}else o=t}while(0);if(c=7728+(28*u|0)|0,r[A>>2]=r[c>>2],r[A+4>>2]=r[c+4>>2],r[A+8>>2]=r[c+8>>2],r[A+12>>2]=r[c+12>>2],0|He(e,o,A)){if(g=A+4|0,r[n>>2]=r[g>>2],r[n+4>>2]=r[g+4>>2],r[n+8>>2]=r[g+8>>2],s=0|mt(0|e,0|o,52),v(),c=15&s,1&s?(re(g),s=c+1|0):s=c,0|_(u)){e:do{if(c)for(t=1;;){if(a=0|mt(0|e,0|o,3*(15-t|0)|0),v(),0|(a&=7)){o=a;break e}if(!(t>>>0<c>>>0)){o=0;break}t=t+1|0}else o=0}while(0);o=4==(0|o)&1}else o=0;if(0|ye(A,s,o,0)){if(0|_(u))do{}while(0!=(0|ye(A,s,0,0)));(0|s)!=(0|c)&&Ae(g)}else(0|s)!=(0|c)&&(r[g>>2]=r[n>>2],r[g+4>>2]=r[n+4>>2],r[g+8>>2]=r[n+8>>2]);D=i}else D=i}function Je(e,t,A){A|=0;var n,r;n=D,D=D+16|0,Ye(e|=0,t|=0,r=n),t=0|mt(0|e,0|t,52),v(),pe(r,15&t,A),D=n}function je(e,t,A){A|=0;var n,r,i=0,o=0;r=D,D=D+16|0,Ye(e|=0,t|=0,n=r),i=0|mt(0|e,0|t,45),v(),i=0==(0|_(127&i)),o=0|mt(0|e,0|t,52),v(),o&=15;e:do{if(!i){if(0|o)for(i=1;;){if(!(0==((0|bt(7,0,3*(15-i|0)|0))&e|0)&0==((0|v())&t|0)))break e;if(!(i>>>0<o>>>0))break;i=i+1|0}return Ee(n,o,0,5,A),void(D=r)}}while(0);me(n,o,0,6,A),D=r}function Pe(e,t){t|=0;var A,n=0,i=0,o=0,a=0,s=0,g=0;if(bt(0|(e|=0),0,52),A=134225919|v(),(0|e)<1){i=0,n=0;do{0|_(i)&&(bt(0|i,0,45),s=0|A|v(),r[(e=t+(n<<3)|0)>>2]=-1,r[e+4>>2]=s,n=n+1|0),i=i+1|0}while(122!=(0|i))}else{s=0,n=0;do{if(0|_(s)){for(bt(0|s,0,45),i=1,o=-1,a=0|A|v();o&=~(g=0|bt(7,0,3*(15-i|0)|0)),a&=~(0|v()),(0|i)!=(0|e);)i=i+1|0;r[(g=t+(n<<3)|0)>>2]=o,r[g+4>>2]=a,n=n+1|0}s=s+1|0}while(122!=(0|s))}}function Ve(e,t,A,n){var i,o=0,a=0,s=0,g=0,c=0;if(i=D,D=D+64|0,s=i,(0|(e|=0))==(0|(A|=0))&(0|(t|=0))==(0|(n|=0))|!1|134217728!=(2013265920&t|0)|!1|134217728!=(2013265920&n|0))return D=i,0|(s=0);if(o=0|mt(0|e,0|t,52),v(),o&=15,a=0|mt(0|A,0|n,52),v(),(0|o)!=(15&a|0))return D=i,0|(s=0);if(a=o+-1|0,o>>>0>1&&(c=0|ke(e,t,a),g=0|v(),(0|c)==(0|(a=0|ke(A,n,a)))&(0|g)==(0|v()))){if(o=0|mt(0|e,0|t,0|(a=3*(15^o)|0)),v(),o&=7,a=0|mt(0|A,0|n,0|a),v(),0==(0|o)|0==(0|(a&=7)))return D=i,0|(c=1);if((0|r[21136+(o<<2)>>2])==(0|a))return D=i,0|(c=1);if((0|r[21168+(o<<2)>>2])==(0|a))return D=i,0|(c=1)}a=(o=s)+56|0;do{r[o>>2]=0,o=o+4|0}while((0|o)<(0|a));return G(e,t,1,s),o=(0|r[(c=s)>>2])==(0|A)&&(0|r[c+4>>2])==(0|n)||(0|r[(c=s+8|0)>>2])==(0|A)&&(0|r[c+4>>2])==(0|n)||(0|r[(c=s+16|0)>>2])==(0|A)&&(0|r[c+4>>2])==(0|n)||(0|r[(c=s+24|0)>>2])==(0|A)&&(0|r[c+4>>2])==(0|n)||(0|r[(c=s+32|0)>>2])==(0|A)&&(0|r[c+4>>2])==(0|n)||(0|r[(c=s+40|0)>>2])==(0|A)&&(0|r[c+4>>2])==(0|n)?1:1&((0|r[(o=s+48|0)>>2])==(0|A)?(0|r[o+4>>2])==(0|n):0),D=i,0|(c=o)}function Ke(e,t,A){A|=0;var n,i,o,a,s=0;if(o=D,D=D+16|0,i=o,s=0|mt(0|(e|=0),0|(t|=0),56),v(),-1==(0|(t=0|function(e,t,A){A|=0;var n,i=0;if(i=0|Ne(e=e|0,t=t|0),(A+-1|0)>>>0>5)return 0|(A=-1);if(1==(0|A)&(n=0!=(0|i)))return 0|(A=-1);return i=0|function(e,t){var A,n,i,o=0,a=0,s=0,g=0,c=0;if(i=D,D=D+32|0,n=i,Ye(e=e|0,t=t|0,A=i+16|0),s=0|De(e,t),c=0|Ue(e,t),function(e,t){e=7728+(28*(e|=0)|0)|0,r[(t|=0)>>2]=r[e>>2],r[t+4>>2]=r[e+4>>2],r[t+8>>2]=r[e+8>>2],r[t+12>>2]=r[e+12>>2]}(s,n),t=0|function(e,t){e|=0;var A=0,n=0;if((t|=0)>>>0>20)return 0|(t=-1);do{if((0|r[11152+(216*t|0)>>2])!=(0|e))if((0|r[11152+(216*t|0)+8>>2])!=(0|e))if((0|r[11152+(216*t|0)+16>>2])!=(0|e))if((0|r[11152+(216*t|0)+24>>2])!=(0|e))if((0|r[11152+(216*t|0)+32>>2])!=(0|e))if((0|r[11152+(216*t|0)+40>>2])!=(0|e))if((0|r[11152+(216*t|0)+48>>2])!=(0|e))if((0|r[11152+(216*t|0)+56>>2])!=(0|e))if((0|r[11152+(216*t|0)+64>>2])!=(0|e))if((0|r[11152+(216*t|0)+72>>2])!=(0|e))if((0|r[11152+(216*t|0)+80>>2])!=(0|e))if((0|r[11152+(216*t|0)+88>>2])!=(0|e))if((0|r[11152+(216*t|0)+96>>2])!=(0|e))if((0|r[11152+(216*t|0)+104>>2])!=(0|e))if((0|r[11152+(216*t|0)+112>>2])!=(0|e))if((0|r[11152+(216*t|0)+120>>2])!=(0|e))if((0|r[11152+(216*t|0)+128>>2])!=(0|e)){if((0|r[11152+(216*t|0)+136>>2])!=(0|e)){if((0|r[11152+(216*t|0)+144>>2])==(0|e)){e=0,A=2,n=0;break}if((0|r[11152+(216*t|0)+152>>2])==(0|e)){e=0,A=2,n=1;break}if((0|r[11152+(216*t|0)+160>>2])==(0|e)){e=0,A=2,n=2;break}if((0|r[11152+(216*t|0)+168>>2])==(0|e)){e=1,A=2,n=0;break}if((0|r[11152+(216*t|0)+176>>2])==(0|e)){e=1,A=2,n=1;break}if((0|r[11152+(216*t|0)+184>>2])==(0|e)){e=1,A=2,n=2;break}if((0|r[11152+(216*t|0)+192>>2])==(0|e)){e=2,A=2,n=0;break}if((0|r[11152+(216*t|0)+200>>2])==(0|e)){e=2,A=2,n=1;break}if((0|r[11152+(216*t|0)+208>>2])==(0|e)){e=2,A=2,n=2;break}return 0|(e=-1)}e=2,A=1,n=2}else e=2,A=1,n=1;else e=2,A=1,n=0;else e=1,A=1,n=2;else e=1,A=1,n=1;else e=1,A=1,n=0;else e=0,A=1,n=2;else e=0,A=1,n=1;else e=0,A=1,n=0;else e=2,A=0,n=2;else e=2,A=0,n=1;else e=2,A=0,n=0;else e=1,A=0,n=2;else e=1,A=0,n=1;else e=1,A=0,n=0;else e=0,A=0,n=2;else e=0,A=0,n=1;else e=0,A=0,n=0}while(0);return 0|(t=0|r[11152+(216*t|0)+(72*A|0)+(24*e|0)+(n<<3)+4>>2])}(s,0|r[A>>2]),!(0|_(s)))return D=i,0|(c=t);switch(0|s){case 4:e=0,o=14;break;case 14:e=1,o=14;break;case 24:e=2,o=14;break;case 38:e=3,o=14;break;case 49:e=4,o=14;break;case 58:e=5,o=14;break;case 63:e=6,o=14;break;case 72:e=7,o=14;break;case 83:e=8,o=14;break;case 97:e=9,o=14;break;case 107:e=10,o=14;break;case 117:e=11,o=14;break;default:g=0,a=0}14==(0|o)&&(g=0|r[22096+(24*e|0)+8>>2],a=0|r[22096+(24*e|0)+16>>2]);(0|(e=0|r[A>>2]))!=(0|r[n>>2])&&(s=0|M(s),e=0|r[A>>2],s|(0|e)==(0|a)&&(t=(t+1|0)%6|0));if(3==(0|c)&(0|e)==(0|a))return D=i,0|(c=(t+5|0)%6|0);if(!(5==(0|c)&(0|e)==(0|g)))return D=i,0|(c=t);return D=i,0|(c=(t+1|0)%6|0)}(e,t),n?0|(A=(5-i+(0|r[22384+(A<<2)>>2])|0)%5|0):0|(A=(6-i+(0|r[22416+(A<<2)>>2])|0)%6|0)}(n=(a=!0&268435456==(2013265920&t|0))?e:0,e=a?-2130706433&t|134217728:0,7&s))))return r[A>>2]=0,void(D=o);Ye(n,e,i),s=0|mt(0|n,0|e,52),v(),s&=15,0|Ne(n,e)?Ee(i,s,t,2,A):me(i,s,t,2,A),D=o}function We(e){e|=0;var t,A,n=0;return(t=0|pt(1,12))||m(22691,22646,49,22704),0|(n=0|r[(A=e+4|0)>>2])?(r[(n=n+8|0)>>2]=t,r[A>>2]=t,0|t):(0|r[e>>2]&&m(22721,22646,61,22744),r[(n=e)>>2]=t,r[A>>2]=t,0|t)}function Xe(e,t){e|=0,t|=0;var A,n;return(n=0|dt(24))||m(22758,22646,78,22772),r[n>>2]=r[t>>2],r[n+4>>2]=r[t+4>>2],r[n+8>>2]=r[t+8>>2],r[n+12>>2]=r[t+12>>2],r[n+16>>2]=0,0|(A=0|r[(t=e+4|0)>>2])?(r[A+16>>2]=n,r[t>>2]=n,0|n):(0|r[e>>2]&&m(22787,22646,82,22772),r[e>>2]=n,r[t>>2]=n,0|n)}function qe(e){var t,A,n=0,o=0,a=0,g=0,c=0,u=0,l=0,I=0,C=0,h=0,f=0,d=0,B=0,p=0,E=0,Q=0,y=0,v=0,b=0,w=0,S=0,F=0,R=0,D=0,G=0,k=0,x=0,N=0,U=0,_=0;if(0|r[(g=(e|=0)+8|0)>>2])return 0|(_=1);if(!(a=0|r[e>>2]))return 0|(_=0);n=a,o=0;do{o=o+1|0,n=0|r[n+8>>2]}while(0!=(0|n));if(o>>>0<2)return 0|(_=0);(A=0|dt(o<<2))||m(22807,22646,317,22826),(t=0|dt(o<<5))||m(22848,22646,321,22826),r[e>>2]=0,r[(F=e+4|0)>>2]=0,r[g>>2]=0,o=0,N=0,S=0,f=0;e:for(;;){if(h=0|r[a>>2]){c=0,u=h;do{if(I=+i[u+8>>3],n=u,u=0|r[u+16>>2],l=+i[(g=(C=0==(0|u))?h:u)+8>>3],+s(+(I-l))>3.141592653589793){_=14;break}c+=(l-I)*(+i[n>>3]+ +i[g>>3])}while(!C);if(14==(0|_)){_=0,c=0,n=h;do{w=+i[n+8>>3],k=0|r[(x=n+16|0)>>2],b=+i[(k=0==(0|k)?h:k)+8>>3],c+=(+i[n>>3]+ +i[k>>3])*((b<0?b+6.283185307179586:b)-(w<0?w+6.283185307179586:w)),n=0|r[(0==(0|n)?a:x)>>2]}while(0!=(0|n))}c>0?(r[A+(N<<2)>>2]=a,N=N+1|0,g=S,n=f):_=19}else _=19;if(19==(0|_)){_=0;do{if(!o){if(f){g=F,u=f+8|0,n=a,o=e;break}if(0|r[e>>2]){_=27;break e}g=F,u=e,n=a,o=e;break}if(0|r[(n=o+8|0)>>2]){_=21;break e}if(!(o=0|pt(1,12))){_=23;break e}r[n>>2]=o,g=o+4|0,u=o,n=f}while(0);if(r[u>>2]=a,r[g>>2]=a,u=t+(S<<5)|0,C=0|r[a>>2]){for(i[(h=t+(S<<5)+8|0)>>3]=17976931348623157e292,i[(f=t+(S<<5)+24|0)>>3]=17976931348623157e292,i[u>>3]=-17976931348623157e292,i[(d=t+(S<<5)+16|0)>>3]=-17976931348623157e292,y=17976931348623157e292,v=-17976931348623157e292,g=0,B=C,I=17976931348623157e292,E=17976931348623157e292,Q=-17976931348623157e292,l=-17976931348623157e292;c=+i[B>>3],w=+i[B+8>>3],B=0|r[B+16>>2],b=+i[((p=0==(0|B))?C:B)+8>>3],c<I&&(i[h>>3]=c,I=c),w<E&&(i[f>>3]=w,E=w),c>Q?i[u>>3]=c:c=Q,w>l&&(i[d>>3]=w,l=w),y=w>0&w<y?w:y,v=w<0&w>v?w:v,g|=+s(+(w-b))>3.141592653589793,!p;)Q=c;g&&(i[d>>3]=v,i[f>>3]=y)}else r[u>>2]=0,r[u+4>>2]=0,r[u+8>>2]=0,r[u+12>>2]=0,r[u+16>>2]=0,r[u+20>>2]=0,r[u+24>>2]=0,r[u+28>>2]=0;g=S+1|0}if(a=0|r[(x=a+8|0)>>2],r[x>>2]=0,!a){_=45;break}S=g,f=n}if(21==(0|_))m(22624,22646,35,22658);else if(23==(0|_))m(22678,22646,37,22658);else if(27==(0|_))m(22721,22646,61,22744);else if(45==(0|_)){e:do{if((0|N)>0){for(x=0==(0|g),G=g<<2,k=0==(0|e),D=0,n=0;;){if(R=0|r[A+(D<<2)>>2],x)_=73;else{if(!(S=0|dt(G))){_=50;break}if(!(F=0|dt(G))){_=52;break}t:do{if(k)o=0;else{for(g=0,o=0,u=e;a=t+(g<<5)|0,0|ze(0|r[u>>2],a,0|r[R>>2])?(r[S+(o<<2)>>2]=u,r[F+(o<<2)>>2]=a,p=o+1|0):p=o,u=0|r[u+8>>2];)g=g+1|0,o=p;if((0|p)>0)if(a=0|r[S>>2],1==(0|p))o=a;else for(d=0,B=-1,o=a,f=a;;){for(C=0|r[f>>2],a=0,u=0;h=(0|(g=0|r[r[S+(u<<2)>>2]>>2]))==(0|C)?a:a+(1&(0|ze(g,0|r[F+(u<<2)>>2],0|r[C>>2])))|0,(0|(u=u+1|0))!=(0|p);)a=h;if(o=(g=(0|h)>(0|B))?f:o,(0|(a=d+1|0))==(0|p))break t;d=a,B=g?h:B,f=0|r[S+(a<<2)>>2]}else o=0}}while(0);if(Bt(S),Bt(F),o){if(a=0|r[(g=o+4|0)>>2])o=a+8|0;else if(0|r[o>>2]){_=70;break}r[o>>2]=R,r[g>>2]=R}else _=73}if(73==(0|_)){if(_=0,0|(n=0|r[R>>2]))do{F=n,n=0|r[n+16>>2],Bt(F)}while(0!=(0|n));Bt(R),n=2}if((0|(D=D+1|0))>=(0|N)){U=n;break e}}50==(0|_)?m(22863,22646,249,22882):52==(0|_)?m(22901,22646,252,22882):70==(0|_)&&m(22721,22646,61,22744)}else U=0}while(0);return Bt(A),Bt(t),0|(_=U)}return 0}function ze(e,t,A){e|=0;var n,o=0,a=0,s=0,g=0,c=0,u=0,l=0;if(!(0|J(t|=0,A|=0)))return 0|(e=0);if(t=0|Y(t),n=+i[A>>3],o=t&(o=+i[A+8>>3])<0?o+6.283185307179586:o,!(e=0|r[e>>2]))return 0|(e=0);if(t){t=0,A=e;e:for(;;){for(;g=+i[A>>3],u=+i[A+8>>3],l=0|r[(A=A+16|0)>>2],s=+i[(l=0==(0|l)?e:l)>>3],a=+i[l+8>>3],g>s?(c=g,g=u):(c=s,s=g,g=a,a=u),n<s|n>c;)if(!(A=0|r[A>>2])){A=22;break e}if(o=(g=g<0?g+6.283185307179586:g)==o|(u=a<0?a+6.283185307179586:a)==o?o+-2220446049250313e-31:o,((u+=(n-s)/(c-s)*(g-u))<0?u+6.283185307179586:u)>o&&(t^=1),!(A=0|r[A>>2])){A=22;break}}if(22==(0|A))return 0|t}else{t=0,A=e;e:for(;;){for(;g=+i[A>>3],u=+i[A+8>>3],l=0|r[(A=A+16|0)>>2],s=+i[(l=0==(0|l)?e:l)>>3],a=+i[l+8>>3],g>s?(c=g,g=u):(c=s,s=g,g=a,a=u),n<s|n>c;)if(!(A=0|r[A>>2])){A=22;break e}if(a+(n-s)/(c-s)*(g-a)>(o=g==o|a==o?o+-2220446049250313e-31:o)&&(t^=1),!(A=0|r[A>>2])){A=22;break}}if(22==(0|A))return 0|t}return 0}function $e(e,t,A,i,o){A|=0,i|=0,o|=0;var a,s,g,c,u=0,l=0,I=0,C=0,h=0,f=0,d=0,B=0,p=0,E=0;if(c=D,D=D+32|0,E=c+16|0,g=c,u=0|mt(0|(e|=0),0|(t|=0),52),v(),u&=15,d=0|mt(0|A,0|i,52),v(),(0|u)!=(15&d|0))return D=c,0|(E=1);if(h=0|mt(0|e,0|t,45),v(),h&=127,f=0|mt(0|A,0|i,45),v(),d=(0|h)!=(0|(f&=127))){if(7==(0|(I=0|H(h,f))))return D=c,0|(E=2);7==(0|(C=0|H(f,h)))?m(22925,22949,151,22959):(B=I,l=C)}else B=0,l=0;a=0|_(h),s=0|_(f),r[E>>2]=0,r[E+4>>2]=0,r[E+8>>2]=0,r[E+12>>2]=0;do{if(B){if(I=(0|(f=0|r[4304+(28*h|0)+(B<<2)>>2]))>0,s)if(I){h=0,C=A,I=i;do{C=0|Oe(C,I),I=0|v(),1==(0|(l=0|ge(l)))&&(l=0|ge(1)),h=h+1|0}while((0|h)!=(0|f));f=l,h=C,C=I}else f=l,h=A,C=i;else if(I){h=0,C=A,I=i;do{C=0|Le(C,I),I=0|v(),l=0|ge(l),h=h+1|0}while((0|h)!=(0|f));f=l,h=C,C=I}else f=l,h=A,C=i;if(He(h,C,E),d||m(22972,22949,181,22959),(I=0!=(0|a))&(l=0!=(0|s))&&m(22999,22949,182,22959),I){if(l=0|Ue(e,t),0|n[22032+(7*l|0)+B>>0]){u=3;break}h=C=0|r[21200+(28*l|0)+(B<<2)>>2],p=26}else if(l){if(l=0|Ue(h,C),0|n[22032+(7*l|0)+f>>0]){u=4;break}h=0,C=0|r[21200+(28*f|0)+(l<<2)>>2],p=26}else l=0;if(26==(0|p))if((0|C)<=-1&&m(23030,22949,212,22959),(0|h)<=-1&&m(23053,22949,213,22959),(0|C)>0){I=E+4|0,l=0;do{ae(I),l=l+1|0}while((0|l)!=(0|C));l=h}else l=h;if(r[g>>2]=0,r[g+4>>2]=0,r[g+8>>2]=0,ie(g,B),0|u)for(;0|Te(u)?ne(g):re(g),(0|u)>1;)u=u+-1|0;if((0|l)>0){u=0;do{ae(g),u=u+1|0}while((0|u)!=(0|l))}q(p=E+4|0,g,p),W(p),p=50}else if(He(A,i,E),0!=(0|a)&0!=(0|s))if((0|f)!=(0|h)&&m(23077,22949,243,22959),l=0|Ue(e,t),u=0|Ue(A,i),0|n[22032+(7*l|0)+u>>0])u=5;else if((0|(l=0|r[21200+(28*l|0)+(u<<2)>>2]))>0){I=E+4|0,u=0;do{ae(I),u=u+1|0}while((0|u)!=(0|l));p=50}else p=50;else p=50}while(0);return 50==(0|p)&&(u=E+4|0,r[o>>2]=r[u>>2],r[o+4>>2]=r[u+4>>2],r[o+8>>2]=r[u+8>>2],u=0),D=c,0|(E=u)}function et(e,t,A,n){A|=0,n|=0;var i,o,a=0,s=0,g=0,c=0,u=0,l=0,I=0,C=0,h=0,f=0,d=0,B=0,p=0;if(o=D,D=D+48|0,g=o+36|0,c=o+24|0,u=o+12|0,l=o,s=0|mt(0|(e|=0),0|(t|=0),52),v(),s&=15,C=0|mt(0|e,0|t,45),v(),i=0|_(C&=127),bt(0|s,0,52),d=134225919|v(),r[(f=n)>>2]=-1,r[f+4>>2]=d,!s)return(0|r[A>>2])>1||(0|r[A+4>>2])>1||(0|r[A+8>>2])>1||127==(0|(a=0|Z(C,0|ee(A))))?(D=o,0|(d=1)):(h=0|bt(0|a,0,45),f=0|v(),f=-1040385&r[(C=n)+4>>2]|f,r[(d=n)>>2]=r[C>>2]|h,r[d+4>>2]=f,D=o,0|(d=0));for(r[g>>2]=r[A>>2],r[g+4>>2]=r[A+4>>2],r[g+8>>2]=r[A+8>>2];r[c>>2]=r[g>>2],r[c+4>>2]=r[g+4>>2],r[c+8>>2]=r[g+8>>2],0|Te(s)?(te(g),r[u>>2]=r[g>>2],r[u+4>>2]=r[g+4>>2],r[u+8>>2]=r[g+8>>2],ne(u)):(Ae(g),r[u>>2]=r[g>>2],r[u+4>>2]=r[g+4>>2],r[u+8>>2]=r[g+8>>2],re(u)),z(c,u,l),W(l),B=0|r[(f=n)>>2],f=0|r[f+4>>2],A=0|bt(7,0,0|(p=3*(15-s|0)|0)),f&=~(0|v()),p=0|bt(0|ee(l),0,0|p),f=0|v()|f,r[(d=n)>>2]=p|B&~A,r[d+4>>2]=f,(0|s)>1;)s=s+-1|0;e:do{if((0|r[g>>2])<=1&&(0|r[g+4>>2])<=1&&(0|r[g+8>>2])<=1){l=127==(0|(c=0|Z(C,s=0|ee(g))))?0:0|_(c);t:do{if(s){if(i){if(g=21408+(28*(0|Ue(e,t))|0)+(s<<2)|0,(0|(g=0|r[g>>2]))>0){A=0;do{s=0|se(s),A=A+1|0}while((0|A)!=(0|g))}if(1==(0|s)){a=3;break e}127==(0|(A=0|Z(C,s)))&&m(23104,22949,376,23134),0|_(A)?m(23147,22949,377,23134):(h=g,I=s,a=A)}else h=0,I=s,a=c;if((0|(u=0|r[4304+(28*C|0)+(I<<2)>>2]))<=-1&&m(23178,22949,384,23134),!l){if((0|h)<=-1&&m(23030,22949,417,23134),0|h){s=0,A=0|r[(g=n)>>2],g=0|r[g+4>>2];do{A=0|Me(A,g),g=0|v(),r[(p=n)>>2]=A,r[p+4>>2]=g,s=s+1|0}while((0|s)<(0|h))}if((0|u)<=0){s=54;break}for(s=0,A=0|r[(g=n)>>2],g=0|r[g+4>>2];;)if(A=0|Me(A,g),g=0|v(),r[(p=n)>>2]=A,r[p+4>>2]=g,(0|(s=s+1|0))==(0|u)){s=54;break t}}if(7==(0|(c=0|H(a,C)))&&m(22925,22949,393,23134),A=0|r[(s=n)>>2],s=0|r[s+4>>2],(0|u)>0){g=0;do{A=0|Me(A,s),s=0|v(),r[(p=n)>>2]=A,r[p+4>>2]=s,g=g+1|0}while((0|g)!=(0|u))}if(A=0|Ue(A,s),p=0|M(a),(0|(A=0|r[(p?21824:21616)+(28*c|0)+(A<<2)>>2]))<=-1&&m(23030,22949,412,23134),A){s=0,g=0|r[(c=n)>>2],c=0|r[c+4>>2];do{g=0|_e(g,c),c=0|v(),r[(p=n)>>2]=g,r[p+4>>2]=c,s=s+1|0}while((0|s)<(0|A));s=54}else s=54}else if(0!=(0|i)&0!=(0|l))if(s=21408+(28*(p=0|Ue(e,t))|0)+((0|Ue(0|r[(s=n)>>2],0|r[s+4>>2]))<<2)|0,(0|(s=0|r[s>>2]))<=-1&&m(23201,22949,433,23134),s){a=0,A=0|r[(g=n)>>2],g=0|r[g+4>>2];do{A=0|Me(A,g),g=0|v(),r[(p=n)>>2]=A,r[p+4>>2]=g,a=a+1|0}while((0|a)<(0|s));a=c,s=54}else a=c,s=55;else a=c,s=54}while(0);if(54==(0|s)&&l&&(s=55),55==(0|s)&&1==(0|Ue(0|r[(p=n)>>2],0|r[p+4>>2]))){a=4;break}d=0|r[(p=n)>>2],p=-1040385&r[p+4>>2],B=0|bt(0|a,0,45),p=0|p|v(),r[(a=n)>>2]=d|B,r[a+4>>2]=p,a=0}else a=2}while(0);return D=o,0|(p=a)}function tt(e,t){var A=0;if(!(t|=0))return 0|(A=1);A=e|=0,e=1;do{e=0|p(0==(1&t|0)?1:A,e),t>>=1,A=0|p(A,A)}while(0!=(0|t));return 0|e}function At(e,t,A){e|=0;var n,o,a=0,s=0,g=0,c=0,u=0,l=0,I=0,C=0;if(!(0|J(t|=0,A|=0)))return 0|(C=0);if(t=0|Y(t),o=+i[A>>3],a=t&(a=+i[A+8>>3])<0?a+6.283185307179586:a,(0|(C=0|r[e>>2]))<=0)return 0|(C=0);if(n=0|r[e+4>>2],t){t=0,A=-1,e=0;e:for(;;){for(I=e;c=+i[n+(I<<4)>>3],l=+i[n+(I<<4)+8>>3],g=+i[n+((e=(A+2|0)%(0|C)|0)<<4)>>3],s=+i[n+(e<<4)+8>>3],c>g?(u=c,c=l):(u=g,g=c,c=s,s=l),o<g|o>u;){if(!((0|(A=I+1|0))<(0|C))){A=22;break e}e=I,I=A,A=e}if(a=(c=c<0?c+6.283185307179586:c)==a|(l=s<0?s+6.283185307179586:s)==a?a+-2220446049250313e-31:a,((l+=(o-g)/(u-g)*(c-l))<0?l+6.283185307179586:l)>a&&(t^=1),(0|(e=I+1|0))>=(0|C)){A=22;break}A=I}if(22==(0|A))return 0|t}else{t=0,A=-1,e=0;e:for(;;){for(I=e;c=+i[n+(I<<4)>>3],l=+i[n+(I<<4)+8>>3],g=+i[n+((e=(A+2|0)%(0|C)|0)<<4)>>3],s=+i[n+(e<<4)+8>>3],c>g?(u=c,c=l):(u=g,g=c,c=s,s=l),o<g|o>u;){if(!((0|(A=I+1|0))<(0|C))){A=22;break e}e=I,I=A,A=e}if(s+(o-g)/(u-g)*(c-s)>(a=c==a|s==a?a+-2220446049250313e-31:a)&&(t^=1),(0|(e=I+1|0))>=(0|C)){A=22;break}A=I}if(22==(0|A))return 0|t}return 0}function nt(e,t){t|=0;var A,n,o,a,g,c=0,u=0,l=0,I=0,C=0,h=0,f=0,d=0,B=0,p=0,E=0,Q=0;if(!(n=0|r[(e|=0)>>2]))return r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,r[t+20>>2]=0,r[t+24>>2]=0,void(r[t+28>>2]=0);if(i[(o=t+8|0)>>3]=17976931348623157e292,i[(a=t+24|0)>>3]=17976931348623157e292,i[t>>3]=-17976931348623157e292,i[(g=t+16|0)>>3]=-17976931348623157e292,!((0|n)<=0)){for(A=0|r[e+4>>2],d=17976931348623157e292,B=-17976931348623157e292,p=0,e=-1,I=17976931348623157e292,C=17976931348623157e292,f=-17976931348623157e292,u=-17976931348623157e292,E=0;c=+i[A+(E<<4)>>3],h=+i[A+(E<<4)+8>>3],l=+i[A+(((0|(e=e+2|0))==(0|n)?0:e)<<4)+8>>3],c<I&&(i[o>>3]=c,I=c),h<C&&(i[a>>3]=h,C=h),c>f?i[t>>3]=c:c=f,h>u&&(i[g>>3]=h,u=h),d=h>0&h<d?h:d,B=h<0&h>B?h:B,p|=+s(+(h-l))>3.141592653589793,(0|(e=E+1|0))!=(0|n);)Q=E,f=c,E=e,e=Q;p&&(i[g>>3]=B,i[a>>3]=d)}}function rt(e,t){t|=0;var A,n=0,o=0,a=0,g=0,c=0,u=0,l=0,I=0,C=0,h=0,f=0,d=0,B=0,p=0,E=0,Q=0,y=0,v=0,m=0,b=0,w=0;if(B=0|r[(e|=0)>>2]){if(i[(p=t+8|0)>>3]=17976931348623157e292,i[(E=t+24|0)>>3]=17976931348623157e292,i[t>>3]=-17976931348623157e292,i[(Q=t+16|0)>>3]=-17976931348623157e292,(0|B)>0){for(a=0|r[e+4>>2],f=17976931348623157e292,d=-17976931348623157e292,o=0,n=-1,l=17976931348623157e292,I=17976931348623157e292,h=-17976931348623157e292,c=-17976931348623157e292,y=0;g=+i[a+(y<<4)>>3],C=+i[a+(y<<4)+8>>3],u=+i[a+(((0|(b=n+2|0))==(0|B)?0:b)<<4)+8>>3],g<l&&(i[p>>3]=g,l=g),C<I&&(i[E>>3]=C,I=C),g>h?i[t>>3]=g:g=h,C>c&&(i[Q>>3]=C,c=C),f=C>0&C<f?C:f,d=C<0&C>d?C:d,o|=+s(+(C-u))>3.141592653589793,(0|(n=y+1|0))!=(0|B);)b=y,h=g,y=n,n=b;o&&(i[Q>>3]=d,i[E>>3]=f)}}else r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,r[t+20>>2]=0,r[t+24>>2]=0,r[t+28>>2]=0;if(!((0|(n=0|r[(b=e+8|0)>>2]))<=0)){A=e+12|0,m=0;do{if(a=0|r[A>>2],o=m,E=t+((m=m+1|0)<<5)|0,Q=0|r[a+(o<<3)>>2]){if(i[(y=t+(m<<5)+8|0)>>3]=17976931348623157e292,i[(e=t+(m<<5)+24|0)>>3]=17976931348623157e292,i[E>>3]=-17976931348623157e292,i[(v=t+(m<<5)+16|0)>>3]=-17976931348623157e292,(0|Q)>0){for(B=0|r[a+(o<<3)+4>>2],f=17976931348623157e292,d=-17976931348623157e292,a=0,o=-1,p=0,l=17976931348623157e292,I=17976931348623157e292,C=-17976931348623157e292,c=-17976931348623157e292;g=+i[B+(p<<4)>>3],h=+i[B+(p<<4)+8>>3],u=+i[B+(((0|(o=o+2|0))==(0|Q)?0:o)<<4)+8>>3],g<l&&(i[y>>3]=g,l=g),h<I&&(i[e>>3]=h,I=h),g>C?i[E>>3]=g:g=C,h>c&&(i[v>>3]=h,c=h),f=h>0&h<f?h:f,d=h<0&h>d?h:d,a|=+s(+(h-u))>3.141592653589793,(0|(o=p+1|0))!=(0|Q);)w=p,p=o,C=g,o=w;a&&(i[v>>3]=d,i[e>>3]=f)}}else r[E>>2]=0,r[E+4>>2]=0,r[E+8>>2]=0,r[E+12>>2]=0,r[E+16>>2]=0,r[E+20>>2]=0,r[E+24>>2]=0,r[E+28>>2]=0,n=0|r[b>>2]}while((0|m)<(0|n))}}function it(e,t,A){var n=0,i=0,o=0;if(!(0|At(e|=0,t|=0,A|=0)))return 0|(i=0);if((0|r[(i=e+8|0)>>2])<=0)return 0|(i=1);for(n=e+12|0,e=0;;){if(o=e,e=e+1|0,0|At((0|r[n>>2])+(o<<3)|0,t+(e<<5)|0,A)){e=0,n=6;break}if((0|e)>=(0|r[i>>2])){e=1,n=6;break}}return 6==(0|n)?0|e:0}function ot(e,t,A,n,r){t|=0,A|=0,n|=0,r|=0;var o,a,s,g,c,u,l,I=0;g=+i[(e|=0)>>3],s=+i[t>>3]-g,a=+i[e+8>>3],o=+i[t+8>>3]-a,u=+i[A>>3],I=((I=+i[n>>3]-u)*(a-(l=+i[A+8>>3]))-(g-u)*(c=+i[n+8>>3]-l))/(s*c-o*I),i[r>>3]=g+s*I,i[r+8>>3]=a+o*I}function at(e,t){return t|=0,+i[(e|=0)>>3]!=+i[t>>3]?0|(t=0):0|(t=+i[e+8>>3]==+i[t+8>>3])}function st(e,t){t|=0;var A,n,r;return+((r=+i[(e|=0)>>3]-+i[t>>3])*r+(n=+i[e+8>>3]-+i[t+8>>3])*n+(A=+i[e+16>>3]-+i[t+16>>3])*A)}function gt(e,t,A){e|=0,A|=0;var n=0;(0|(t|=0))>0?(n=0|pt(t,4),r[e>>2]=n,n||m(23230,23253,40,23267)):r[e>>2]=0,r[e+4>>2]=t,r[e+8>>2]=0,r[e+12>>2]=A}function ct(e){var t,A,n,o=0,a=0,g=0,u=0;t=(e|=0)+4|0,A=e+12|0,n=e+8|0;e:for(;;){for(a=0|r[t>>2],o=0;;){if((0|o)>=(0|a))break e;if(g=0|r[e>>2],u=0|r[g+(o<<2)>>2])break;o=o+1|0}o=g+(~~(+s(+ +c(10,+ +(15-(0|r[A>>2])|0))*(+i[u>>3]+ +i[u+8>>3]))%+(0|a))>>>0<<2)|0,a=0|r[o>>2];t:do{if(0|a){if(g=u+32|0,(0|a)==(0|u))r[o>>2]=r[g>>2];else{if(!(o=0|r[(a=a+32|0)>>2]))break;for(;(0|o)!=(0|u);)if(!(o=0|r[(a=o+32|0)>>2]))break t;r[a>>2]=r[g>>2]}Bt(u),r[n>>2]=(0|r[n>>2])-1}}while(0)}Bt(0|r[e>>2])}function ut(e){var t,A=0,n=0;for(t=0|r[(e|=0)+4>>2],n=0;;){if((0|n)>=(0|t)){A=0,n=4;break}if(A=0|r[(0|r[e>>2])+(n<<2)>>2]){n=4;break}n=n+1|0}return 4==(0|n)?0|A:0}function lt(e,t){t|=0;var A=0,n=0,o=0,a=0;if(A=~~(+s(+ +c(10,+ +(15-(0|r[(e|=0)+12>>2])|0))*(+i[t>>3]+ +i[t+8>>3]))%+(0|r[e+4>>2]))>>>0,A=(0|r[e>>2])+(A<<2)|0,!(n=0|r[A>>2]))return 0|(a=1);a=t+32|0;do{if((0|n)!=(0|t)){if(!(A=0|r[n+32>>2]))return 0|(a=1);for(o=A;;){if((0|o)==(0|t)){o=8;break}if(!(A=0|r[o+32>>2])){A=1,o=10;break}n=o,o=A}if(8==(0|o)){r[n+32>>2]=r[a>>2];break}if(10==(0|o))return 0|A}else r[A>>2]=r[a>>2]}while(0);return Bt(t),r[(a=e+8|0)>>2]=(0|r[a>>2])-1,0|(a=0)}function It(e,t,A){e|=0,t|=0,A|=0;var n,o=0,a=0,g=0;(n=0|dt(40))||m(23283,23253,98,23296),r[n>>2]=r[t>>2],r[n+4>>2]=r[t+4>>2],r[n+8>>2]=r[t+8>>2],r[n+12>>2]=r[t+12>>2],r[(a=n+16|0)>>2]=r[A>>2],r[a+4>>2]=r[A+4>>2],r[a+8>>2]=r[A+8>>2],r[a+12>>2]=r[A+12>>2],r[n+32>>2]=0,a=~~(+s(+ +c(10,+ +(15-(0|r[e+12>>2])|0))*(+i[t>>3]+ +i[t+8>>3]))%+(0|r[e+4>>2]))>>>0,a=(0|r[e>>2])+(a<<2)|0,o=0|r[a>>2];do{if(o){for(;!(0|Se(o,t)&&0|Se(o+16|0,A));)if(a=0|r[o+32>>2],!(0|r[(o=0==(0|a)?o:a)+32>>2])){g=10;break}if(10==(0|g)){r[o+32>>2]=n;break}return Bt(n),0|(g=o)}r[a>>2]=n}while(0);return r[(g=e+8|0)>>2]=1+(0|r[g>>2]),0|(g=n)}function Ct(e,t,A){t|=0,A|=0;var n=0,o=0;if(o=~~(+s(+ +c(10,+ +(15-(0|r[(e|=0)+12>>2])|0))*(+i[t>>3]+ +i[t+8>>3]))%+(0|r[e+4>>2]))>>>0,!(o=0|r[(0|r[e>>2])+(o<<2)>>2]))return 0|(A=0);if(!A){for(e=o;;){if(0|Se(e,t)){n=10;break}if(!(e=0|r[e+32>>2])){e=0,n=10;break}}if(10==(0|n))return 0|e}for(e=o;;){if(0|Se(e,t)&&0|Se(e+16|0,A)){n=10;break}if(!(e=0|r[e+32>>2])){e=0,n=10;break}}return 10==(0|n)?0|e:0}function ht(e,t){t|=0;var A=0;if(A=~~(+s(+ +c(10,+ +(15-(0|r[(e|=0)+12>>2])|0))*(+i[t>>3]+ +i[t+8>>3]))%+(0|r[e+4>>2]))>>>0,!(e=0|r[(0|r[e>>2])+(A<<2)>>2]))return 0|(A=0);for(;;){if(0|Se(e,t)){t=5;break}if(!(e=0|r[e+32>>2])){e=0,t=5;break}}return 5==(0|t)?0|e:0}function ft(e){return 0|~~+function(e){return+ +Dt(+(e=+e))}(e=+e)}function dt(e){e|=0;var t,A=0,n=0,i=0,o=0,a=0,s=0,g=0,c=0,u=0,l=0,I=0,C=0,h=0,f=0,d=0,B=0,p=0,E=0,Q=0,y=0;t=D,D=D+16|0,C=t;do{if(e>>>0<245){if(e=(u=e>>>0<11?16:e+11&-8)>>>3,3&(n=(I=0|r[5829])>>>e)|0)return i=0|r[(n=(e=23356+((A=(1&n^1)+e|0)<<1<<2)|0)+8|0)>>2],(0|(a=0|r[(o=i+8|0)>>2]))==(0|e)?r[5829]=I&~(1<<A):(r[a+12>>2]=e,r[n>>2]=a),y=A<<3,r[i+4>>2]=3|y,r[(y=i+y+4|0)>>2]=1|r[y>>2],D=t,0|(y=o);if(u>>>0>(l=0|r[5831])>>>0){if(0|n)return A=((A=n<<e&((A=2<<e)|0-A))&0-A)-1|0,a=0|r[(e=(A=23356+((i=((n=(A>>>=g=A>>>12&16)>>>5&8)|g|(a=(A>>>=n)>>>2&4)|(e=(A>>>=a)>>>1&2)|(i=(A>>>=e)>>>1&1))+(A>>>i)|0)<<1<<2)|0)+8|0)>>2],(0|(n=0|r[(g=a+8|0)>>2]))==(0|A)?(e=I&~(1<<i),r[5829]=e):(r[n+12>>2]=A,r[e>>2]=n,e=I),s=(y=i<<3)-u|0,r[a+4>>2]=3|u,r[(o=a+u|0)+4>>2]=1|s,r[a+y>>2]=s,0|l&&(i=0|r[5834],n=23356+((A=l>>>3)<<1<<2)|0,e&(A=1<<A)?A=0|r[(e=n+8|0)>>2]:(r[5829]=e|A,A=n,e=n+8|0),r[e>>2]=i,r[A+12>>2]=i,r[i+8>>2]=A,r[i+12>>2]=n),r[5831]=s,r[5834]=o,D=t,0|(y=g);if(a=0|r[5830]){for(n=(a&0-a)-1|0,n=c=0|r[23620+(((i=(n>>>=o=n>>>12&16)>>>5&8)|o|(s=(n>>>=i)>>>2&4)|(g=(n>>>=s)>>>1&2)|(c=(n>>>=g)>>>1&1))+(n>>>c)<<2)>>2],g=c,c=(-8&r[c+4>>2])-u|0;(e=0|r[n+16>>2])||(e=0|r[n+20>>2]);)n=e,g=(o=(s=(-8&r[e+4>>2])-u|0)>>>0<c>>>0)?e:g,c=o?s:c;if((s=g+u|0)>>>0>g>>>0){o=0|r[g+24>>2],A=0|r[g+12>>2];do{if((0|A)==(0|g)){if(!(A=0|r[(e=g+20|0)>>2])&&!(A=0|r[(e=g+16|0)>>2])){n=0;break}for(;;)if(n=0|r[(i=A+20|0)>>2])A=n,e=i;else{if(!(n=0|r[(i=A+16|0)>>2]))break;A=n,e=i}r[e>>2]=0,n=A}else n=0|r[g+8>>2],r[n+12>>2]=A,r[A+8>>2]=n,n=A}while(0);do{if(0|o){if(A=0|r[g+28>>2],(0|g)==(0|r[(e=23620+(A<<2)|0)>>2])){if(r[e>>2]=n,!n){r[5830]=a&~(1<<A);break}}else if(r[((0|r[(y=o+16|0)>>2])==(0|g)?y:o+20|0)>>2]=n,!n)break;r[n+24>>2]=o,0|(A=0|r[g+16>>2])&&(r[n+16>>2]=A,r[A+24>>2]=n),0|(A=0|r[g+20>>2])&&(r[n+20>>2]=A,r[A+24>>2]=n)}}while(0);return c>>>0<16?(y=c+u|0,r[g+4>>2]=3|y,r[(y=g+y+4|0)>>2]=1|r[y>>2]):(r[g+4>>2]=3|u,r[s+4>>2]=1|c,r[s+c>>2]=c,0|l&&(i=0|r[5834],n=23356+((A=l>>>3)<<1<<2)|0,(A=1<<A)&I?A=0|r[(e=n+8|0)>>2]:(r[5829]=A|I,A=n,e=n+8|0),r[e>>2]=i,r[A+12>>2]=i,r[i+8>>2]=A,r[i+12>>2]=n),r[5831]=c,r[5834]=s),D=t,0|(y=g+8|0)}I=u}else I=u}else I=u}else if(e>>>0<=4294967231)if(u=-8&(e=e+11|0),i=0|r[5830]){o=0-u|0,c=(e>>>=8)?u>>>0>16777215?31:u>>>((c=14-((g=((d=e<<(I=(e+1048320|0)>>>16&8))+520192|0)>>>16&4)|I|(c=((d<<=g)+245760|0)>>>16&2))+(d<<c>>>15)|0)+7|0)&1|c<<1:0,n=0|r[23620+(c<<2)>>2];e:do{if(n)for(e=0,g=u<<(31==(0|c)?0:25-(c>>>1)|0),a=0;;){if((s=(-8&r[n+4>>2])-u|0)>>>0<o>>>0){if(!s){e=n,o=0,d=65;break e}e=n,o=s}if(a=0==(0|(d=0|r[n+20>>2]))|(0|d)==(0|(n=0|r[n+16+(g>>>31<<2)>>2]))?a:d,!n){n=a,d=61;break}g<<=1}else n=0,e=0,d=61}while(0);if(61==(0|d)){if(0==(0|n)&0==(0|e)){if(!(e=((e=2<<c)|0-e)&i)){I=u;break}I=(e&0-e)-1|0,e=0,n=0|r[23620+(((a=(I>>>=s=I>>>12&16)>>>5&8)|s|(g=(I>>>=a)>>>2&4)|(c=(I>>>=g)>>>1&2)|(n=(I>>>=c)>>>1&1))+(I>>>n)<<2)>>2]}n?d=65:(g=e,s=o)}if(65==(0|d))for(a=n;;){if(o=(n=(I=(-8&r[a+4>>2])-u|0)>>>0<o>>>0)?I:o,e=n?a:e,(n=0|r[a+16>>2])||(n=0|r[a+20>>2]),!n){g=e,s=o;break}a=n}if(0!=(0|g)&&s>>>0<((0|r[5831])-u|0)>>>0&&(l=g+u|0)>>>0>g>>>0){a=0|r[g+24>>2],A=0|r[g+12>>2];do{if((0|A)==(0|g)){if(!(A=0|r[(e=g+20|0)>>2])&&!(A=0|r[(e=g+16|0)>>2])){A=0;break}for(;;)if(n=0|r[(o=A+20|0)>>2])A=n,e=o;else{if(!(n=0|r[(o=A+16|0)>>2]))break;A=n,e=o}r[e>>2]=0}else y=0|r[g+8>>2],r[y+12>>2]=A,r[A+8>>2]=y}while(0);do{if(a){if(e=0|r[g+28>>2],(0|g)==(0|r[(n=23620+(e<<2)|0)>>2])){if(r[n>>2]=A,!A){i&=~(1<<e),r[5830]=i;break}}else if(r[((0|r[(y=a+16|0)>>2])==(0|g)?y:a+20|0)>>2]=A,!A)break;r[A+24>>2]=a,0|(e=0|r[g+16>>2])&&(r[A+16>>2]=e,r[e+24>>2]=A),(e=0|r[g+20>>2])&&(r[A+20>>2]=e,r[e+24>>2]=A)}}while(0);e:do{if(s>>>0<16)y=s+u|0,r[g+4>>2]=3|y,r[(y=g+y+4|0)>>2]=1|r[y>>2];else{if(r[g+4>>2]=3|u,r[l+4>>2]=1|s,r[l+s>>2]=s,A=s>>>3,s>>>0<256){n=23356+(A<<1<<2)|0,(e=0|r[5829])&(A=1<<A)?A=0|r[(e=n+8|0)>>2]:(r[5829]=e|A,A=n,e=n+8|0),r[e>>2]=l,r[A+12>>2]=l,r[l+8>>2]=A,r[l+12>>2]=n;break}if(A=23620+((n=(A=s>>>8)?s>>>0>16777215?31:s>>>((n=14-((E=((y=A<<(Q=(A+1048320|0)>>>16&8))+520192|0)>>>16&4)|Q|(n=((y<<=E)+245760|0)>>>16&2))+(y<<n>>>15)|0)+7|0)&1|n<<1:0)<<2)|0,r[l+28>>2]=n,r[(e=l+16|0)+4>>2]=0,r[e>>2]=0,!(i&(e=1<<n))){r[5830]=i|e,r[A>>2]=l,r[l+24>>2]=A,r[l+12>>2]=l,r[l+8>>2]=l;break}A=0|r[A>>2];t:do{if((-8&r[A+4>>2]|0)!=(0|s)){for(i=s<<(31==(0|n)?0:25-(n>>>1)|0);e=0|r[(n=A+16+(i>>>31<<2)|0)>>2];){if((-8&r[e+4>>2]|0)==(0|s)){A=e;break t}i<<=1,A=e}r[n>>2]=l,r[l+24>>2]=A,r[l+12>>2]=l,r[l+8>>2]=l;break e}}while(0);y=0|r[(Q=A+8|0)>>2],r[y+12>>2]=l,r[Q>>2]=l,r[l+8>>2]=y,r[l+12>>2]=A,r[l+24>>2]=0}}while(0);return D=t,0|(y=g+8|0)}I=u}else I=u;else I=-1}while(0);if((n=0|r[5831])>>>0>=I>>>0)return A=n-I|0,e=0|r[5834],A>>>0>15?(y=e+I|0,r[5834]=y,r[5831]=A,r[y+4>>2]=1|A,r[e+n>>2]=A,r[e+4>>2]=3|I):(r[5831]=0,r[5834]=0,r[e+4>>2]=3|n,r[(y=e+n+4|0)>>2]=1|r[y>>2]),D=t,0|(y=e+8|0);if((s=0|r[5832])>>>0>I>>>0)return E=s-I|0,r[5832]=E,Q=(y=0|r[5835])+I|0,r[5835]=Q,r[Q+4>>2]=1|E,r[y+4>>2]=3|I,D=t,0|(y=y+8|0);if(0|r[5947]?e=0|r[5949]:(r[5949]=4096,r[5948]=4096,r[5950]=-1,r[5951]=-1,r[5952]=0,r[5940]=0,r[5947]=-16&C^1431655768,e=4096),g=I+48|0,(u=(a=e+(c=I+47|0)|0)&(o=0-e|0))>>>0<=I>>>0)return D=t,0|(y=0);if(0|(e=0|r[5939])&&(C=(l=0|r[5937])+u|0)>>>0<=l>>>0|C>>>0>e>>>0)return D=t,0|(y=0);e:do{if(4&r[5940])A=0,d=143;else{n=0|r[5835];t:do{if(n){for(i=23764;!((C=0|r[i>>2])>>>0<=n>>>0&&(C+(0|r[i+4>>2])|0)>>>0>n>>>0);){if(!(e=0|r[i+8>>2])){d=128;break t}i=e}if((A=a-s&o)>>>0<2147483647)if((0|(e=0|Gt(0|A)))==((0|r[i>>2])+(0|r[i+4>>2])|0)){if(-1!=(0|e)){s=A,a=e,d=145;break e}}else i=e,d=136;else A=0}else d=128}while(0);do{if(128==(0|d))if(-1!=(0|(n=0|Gt(0)))&&(A=n,f=(A=(0==((f=(h=0|r[5948])+-1|0)&A|0)?0:(f+A&0-h)-A|0)+u|0)+(h=0|r[5937])|0,A>>>0>I>>>0&A>>>0<2147483647)){if(0|(C=0|r[5939])&&f>>>0<=h>>>0|f>>>0>C>>>0){A=0;break}if((0|(e=0|Gt(0|A)))==(0|n)){s=A,a=n,d=145;break e}i=e,d=136}else A=0}while(0);do{if(136==(0|d)){if(n=0-A|0,!(g>>>0>A>>>0&A>>>0<2147483647&-1!=(0|i))){if(-1==(0|i)){A=0;break}s=A,a=i,d=145;break e}if((e=c-A+(e=0|r[5949])&0-e)>>>0>=2147483647){s=A,a=i,d=145;break e}if(-1==(0|Gt(0|e))){Gt(0|n),A=0;break}s=e+A|0,a=i,d=145;break e}}while(0);r[5940]=4|r[5940],d=143}}while(0);if(143==(0|d)&&u>>>0<2147483647&&!(-1==(0|(E=0|Gt(0|u)))|1^(p=(B=(f=0|Gt(0))-E|0)>>>0>(I+40|0)>>>0)|E>>>0<f>>>0&-1!=(0|E)&-1!=(0|f)^1)&&(s=p?B:A,a=E,d=145),145==(0|d)){A=(0|r[5937])+s|0,r[5937]=A,A>>>0>(0|r[5938])>>>0&&(r[5938]=A),c=0|r[5835];e:do{if(c){for(A=23764;;){if((0|a)==((e=0|r[A>>2])+(n=0|r[A+4>>2])|0)){d=154;break}if(!(i=0|r[A+8>>2]))break;A=i}if(154==(0|d)&&(Q=A+4|0,0==(8&r[A+12>>2]|0))&&a>>>0>c>>>0&e>>>0<=c>>>0){r[Q>>2]=n+s,Q=c+(E=0==(7&(E=c+8|0)|0)?0:0-E&7)|0,E=(y=(0|r[5832])+s|0)-E|0,r[5835]=Q,r[5832]=E,r[Q+4>>2]=1|E,r[c+y+4>>2]=40,r[5836]=r[5951];break}for(a>>>0<(0|r[5833])>>>0&&(r[5833]=a),n=a+s|0,A=23764;;){if((0|r[A>>2])==(0|n)){d=162;break}if(!(e=0|r[A+8>>2]))break;A=e}if(162==(0|d)&&0==(8&r[A+12>>2]|0)){r[A>>2]=a,r[(l=A+4|0)>>2]=(0|r[l>>2])+s,u=(l=a+(0==(7&(l=a+8|0)|0)?0:0-l&7)|0)+I|0,g=(A=n+(0==(7&(A=n+8|0)|0)?0:0-A&7)|0)-l-I|0,r[l+4>>2]=3|I;t:do{if((0|c)==(0|A))y=(0|r[5832])+g|0,r[5832]=y,r[5835]=u,r[u+4>>2]=1|y;else{if((0|r[5834])==(0|A)){y=(0|r[5831])+g|0,r[5831]=y,r[5834]=u,r[u+4>>2]=1|y,r[u+y>>2]=y;break}if(1==(3&(e=0|r[A+4>>2])|0)){s=-8&e,i=e>>>3;A:do{if(e>>>0<256){if(e=0|r[A+8>>2],(0|(n=0|r[A+12>>2]))==(0|e)){r[5829]=r[5829]&~(1<<i);break}r[e+12>>2]=n,r[n+8>>2]=e;break}a=0|r[A+24>>2],e=0|r[A+12>>2];do{if((0|e)==(0|A)){if(e=0|r[(i=(n=A+16|0)+4|0)>>2])n=i;else if(!(e=0|r[n>>2])){e=0;break}for(;;)if(i=0|r[(o=e+20|0)>>2])e=i,n=o;else{if(!(i=0|r[(o=e+16|0)>>2]))break;e=i,n=o}r[n>>2]=0}else y=0|r[A+8>>2],r[y+12>>2]=e,r[e+8>>2]=y}while(0);if(!a)break;i=23620+((n=0|r[A+28>>2])<<2)|0;do{if((0|r[i>>2])==(0|A)){if(r[i>>2]=e,0|e)break;r[5830]=r[5830]&~(1<<n);break A}if(r[((0|r[(y=a+16|0)>>2])==(0|A)?y:a+20|0)>>2]=e,!e)break A}while(0);if(r[e+24>>2]=a,0|(i=0|r[(n=A+16|0)>>2])&&(r[e+16>>2]=i,r[i+24>>2]=e),!(n=0|r[n+4>>2]))break;r[e+20>>2]=n,r[n+24>>2]=e}while(0);A=A+s|0,o=s+g|0}else o=g;if(r[(A=A+4|0)>>2]=-2&r[A>>2],r[u+4>>2]=1|o,r[u+o>>2]=o,A=o>>>3,o>>>0<256){n=23356+(A<<1<<2)|0,(e=0|r[5829])&(A=1<<A)?A=0|r[(e=n+8|0)>>2]:(r[5829]=e|A,A=n,e=n+8|0),r[e>>2]=u,r[A+12>>2]=u,r[u+8>>2]=A,r[u+12>>2]=n;break}A=o>>>8;do{if(A){if(o>>>0>16777215){i=31;break}i=o>>>((i=14-((E=((y=A<<(Q=(A+1048320|0)>>>16&8))+520192|0)>>>16&4)|Q|(i=((y<<=E)+245760|0)>>>16&2))+(y<<i>>>15)|0)+7|0)&1|i<<1}else i=0}while(0);if(A=23620+(i<<2)|0,r[u+28>>2]=i,r[(e=u+16|0)+4>>2]=0,r[e>>2]=0,!((e=0|r[5830])&(n=1<<i))){r[5830]=e|n,r[A>>2]=u,r[u+24>>2]=A,r[u+12>>2]=u,r[u+8>>2]=u;break}A=0|r[A>>2];A:do{if((-8&r[A+4>>2]|0)!=(0|o)){for(i=o<<(31==(0|i)?0:25-(i>>>1)|0);e=0|r[(n=A+16+(i>>>31<<2)|0)>>2];){if((-8&r[e+4>>2]|0)==(0|o)){A=e;break A}i<<=1,A=e}r[n>>2]=u,r[u+24>>2]=A,r[u+12>>2]=u,r[u+8>>2]=u;break t}}while(0);y=0|r[(Q=A+8|0)>>2],r[y+12>>2]=u,r[Q>>2]=u,r[u+8>>2]=y,r[u+12>>2]=A,r[u+24>>2]=0}}while(0);return D=t,0|(y=l+8|0)}for(A=23764;!((e=0|r[A>>2])>>>0<=c>>>0&&(y=e+(0|r[A+4>>2])|0)>>>0>c>>>0);)A=0|r[A+8>>2];A=(e=(e=(o=y+-47|0)+(0==(7&(e=o+8|0)|0)?0:0-e&7)|0)>>>0<(o=c+16|0)>>>0?c:e)+8|0,Q=a+(E=0==(7&(E=a+8|0)|0)?0:0-E&7)|0,E=(n=s+-40|0)-E|0,r[5835]=Q,r[5832]=E,r[Q+4>>2]=1|E,r[a+n+4>>2]=40,r[5836]=r[5951],r[(n=e+4|0)>>2]=27,r[A>>2]=r[5941],r[A+4>>2]=r[5942],r[A+8>>2]=r[5943],r[A+12>>2]=r[5944],r[5941]=a,r[5942]=s,r[5944]=0,r[5943]=A,A=e+24|0;do{Q=A,r[(A=A+4|0)>>2]=7}while((Q+8|0)>>>0<y>>>0);if((0|e)!=(0|c)){if(a=e-c|0,r[n>>2]=-2&r[n>>2],r[c+4>>2]=1|a,r[e>>2]=a,A=a>>>3,a>>>0<256){n=23356+(A<<1<<2)|0,(e=0|r[5829])&(A=1<<A)?A=0|r[(e=n+8|0)>>2]:(r[5829]=e|A,A=n,e=n+8|0),r[e>>2]=c,r[A+12>>2]=c,r[c+8>>2]=A,r[c+12>>2]=n;break}if(n=23620+((i=(A=a>>>8)?a>>>0>16777215?31:a>>>((i=14-((E=((y=A<<(Q=(A+1048320|0)>>>16&8))+520192|0)>>>16&4)|Q|(i=((y<<=E)+245760|0)>>>16&2))+(y<<i>>>15)|0)+7|0)&1|i<<1:0)<<2)|0,r[c+28>>2]=i,r[c+20>>2]=0,r[o>>2]=0,!((A=0|r[5830])&(e=1<<i))){r[5830]=A|e,r[n>>2]=c,r[c+24>>2]=n,r[c+12>>2]=c,r[c+8>>2]=c;break}A=0|r[n>>2];t:do{if((-8&r[A+4>>2]|0)!=(0|a)){for(i=a<<(31==(0|i)?0:25-(i>>>1)|0);e=0|r[(n=A+16+(i>>>31<<2)|0)>>2];){if((-8&r[e+4>>2]|0)==(0|a)){A=e;break t}i<<=1,A=e}r[n>>2]=c,r[c+24>>2]=A,r[c+12>>2]=c,r[c+8>>2]=c;break e}}while(0);y=0|r[(Q=A+8|0)>>2],r[y+12>>2]=c,r[Q>>2]=c,r[c+8>>2]=y,r[c+12>>2]=A,r[c+24>>2]=0}}else 0==(0|(y=0|r[5833]))|a>>>0<y>>>0&&(r[5833]=a),r[5941]=a,r[5942]=s,r[5944]=0,r[5838]=r[5947],r[5837]=-1,r[5842]=23356,r[5841]=23356,r[5844]=23364,r[5843]=23364,r[5846]=23372,r[5845]=23372,r[5848]=23380,r[5847]=23380,r[5850]=23388,r[5849]=23388,r[5852]=23396,r[5851]=23396,r[5854]=23404,r[5853]=23404,r[5856]=23412,r[5855]=23412,r[5858]=23420,r[5857]=23420,r[5860]=23428,r[5859]=23428,r[5862]=23436,r[5861]=23436,r[5864]=23444,r[5863]=23444,r[5866]=23452,r[5865]=23452,r[5868]=23460,r[5867]=23460,r[5870]=23468,r[5869]=23468,r[5872]=23476,r[5871]=23476,r[5874]=23484,r[5873]=23484,r[5876]=23492,r[5875]=23492,r[5878]=23500,r[5877]=23500,r[5880]=23508,r[5879]=23508,r[5882]=23516,r[5881]=23516,r[5884]=23524,r[5883]=23524,r[5886]=23532,r[5885]=23532,r[5888]=23540,r[5887]=23540,r[5890]=23548,r[5889]=23548,r[5892]=23556,r[5891]=23556,r[5894]=23564,r[5893]=23564,r[5896]=23572,r[5895]=23572,r[5898]=23580,r[5897]=23580,r[5900]=23588,r[5899]=23588,r[5902]=23596,r[5901]=23596,r[5904]=23604,r[5903]=23604,Q=a+(E=0==(7&(E=a+8|0)|0)?0:0-E&7)|0,E=(y=s+-40|0)-E|0,r[5835]=Q,r[5832]=E,r[Q+4>>2]=1|E,r[a+y+4>>2]=40,r[5836]=r[5951]}while(0);if((A=0|r[5832])>>>0>I>>>0)return E=A-I|0,r[5832]=E,Q=(y=0|r[5835])+I|0,r[5835]=Q,r[Q+4>>2]=1|E,r[y+4>>2]=3|I,D=t,0|(y=y+8|0)}return r[(y=23312)>>2]=12,D=t,0|(y=0)}function Bt(e){var t=0,A=0,n=0,i=0,o=0,a=0,s=0,g=0;if(e|=0){A=e+-8|0,i=0|r[5833],g=A+(t=-8&(e=0|r[e+-4>>2]))|0;do{if(1&e)s=A,a=A;else{if(n=0|r[A>>2],!(3&e))return;if(o=n+t|0,(a=A+(0-n)|0)>>>0<i>>>0)return;if((0|r[5834])==(0|a)){if(3!=(3&(t=0|r[(e=g+4|0)>>2])|0)){s=a,t=o;break}return r[5831]=o,r[e>>2]=-2&t,r[a+4>>2]=1|o,void(r[a+o>>2]=o)}if(A=n>>>3,n>>>0<256){if(e=0|r[a+8>>2],(0|(t=0|r[a+12>>2]))==(0|e)){r[5829]=r[5829]&~(1<<A),s=a,t=o;break}r[e+12>>2]=t,r[t+8>>2]=e,s=a,t=o;break}i=0|r[a+24>>2],e=0|r[a+12>>2];do{if((0|e)==(0|a)){if(e=0|r[(A=(t=a+16|0)+4|0)>>2])t=A;else if(!(e=0|r[t>>2])){e=0;break}for(;;)if(A=0|r[(n=e+20|0)>>2])e=A,t=n;else{if(!(A=0|r[(n=e+16|0)>>2]))break;e=A,t=n}r[t>>2]=0}else s=0|r[a+8>>2],r[s+12>>2]=e,r[e+8>>2]=s}while(0);if(i){if(t=0|r[a+28>>2],(0|r[(A=23620+(t<<2)|0)>>2])==(0|a)){if(r[A>>2]=e,!e){r[5830]=r[5830]&~(1<<t),s=a,t=o;break}}else if(r[((0|r[(s=i+16|0)>>2])==(0|a)?s:i+20|0)>>2]=e,!e){s=a,t=o;break}r[e+24>>2]=i,0|(A=0|r[(t=a+16|0)>>2])&&(r[e+16>>2]=A,r[A+24>>2]=e),(t=0|r[t+4>>2])?(r[e+20>>2]=t,r[t+24>>2]=e,s=a,t=o):(s=a,t=o)}else s=a,t=o}}while(0);if(!(a>>>0>=g>>>0)&&1&(n=0|r[(e=g+4|0)>>2])){if(2&n)r[e>>2]=-2&n,r[s+4>>2]=1|t,r[a+t>>2]=t,i=t;else{if((0|r[5835])==(0|g)){if(g=(0|r[5832])+t|0,r[5832]=g,r[5835]=s,r[s+4>>2]=1|g,(0|s)!=(0|r[5834]))return;return r[5834]=0,void(r[5831]=0)}if((0|r[5834])==(0|g))return g=(0|r[5831])+t|0,r[5831]=g,r[5834]=a,r[s+4>>2]=1|g,void(r[a+g>>2]=g);i=(-8&n)+t|0,A=n>>>3;do{if(n>>>0<256){if(t=0|r[g+8>>2],(0|(e=0|r[g+12>>2]))==(0|t)){r[5829]=r[5829]&~(1<<A);break}r[t+12>>2]=e,r[e+8>>2]=t;break}o=0|r[g+24>>2],e=0|r[g+12>>2];do{if((0|e)==(0|g)){if(e=0|r[(A=(t=g+16|0)+4|0)>>2])t=A;else if(!(e=0|r[t>>2])){A=0;break}for(;;)if(A=0|r[(n=e+20|0)>>2])e=A,t=n;else{if(!(A=0|r[(n=e+16|0)>>2]))break;e=A,t=n}r[t>>2]=0,A=e}else A=0|r[g+8>>2],r[A+12>>2]=e,r[e+8>>2]=A,A=e}while(0);if(0|o){if(e=0|r[g+28>>2],(0|r[(t=23620+(e<<2)|0)>>2])==(0|g)){if(r[t>>2]=A,!A){r[5830]=r[5830]&~(1<<e);break}}else if(r[((0|r[(n=o+16|0)>>2])==(0|g)?n:o+20|0)>>2]=A,!A)break;r[A+24>>2]=o,0|(t=0|r[(e=g+16|0)>>2])&&(r[A+16>>2]=t,r[t+24>>2]=A),0|(e=0|r[e+4>>2])&&(r[A+20>>2]=e,r[e+24>>2]=A)}}while(0);if(r[s+4>>2]=1|i,r[a+i>>2]=i,(0|s)==(0|r[5834]))return void(r[5831]=i)}if(e=i>>>3,i>>>0<256)return A=23356+(e<<1<<2)|0,(t=0|r[5829])&(e=1<<e)?e=0|r[(t=A+8|0)>>2]:(r[5829]=t|e,e=A,t=A+8|0),r[t>>2]=s,r[e+12>>2]=s,r[s+8>>2]=e,void(r[s+12>>2]=A);e=23620+((n=(e=i>>>8)?i>>>0>16777215?31:i>>>((n=14-((o=((g=e<<(a=(e+1048320|0)>>>16&8))+520192|0)>>>16&4)|a|(n=((g<<=o)+245760|0)>>>16&2))+(g<<n>>>15)|0)+7|0)&1|n<<1:0)<<2)|0,r[s+28>>2]=n,r[s+20>>2]=0,r[s+16>>2]=0,t=0|r[5830],A=1<<n;e:do{if(t&A){e=0|r[e>>2];t:do{if((-8&r[e+4>>2]|0)!=(0|i)){for(n=i<<(31==(0|n)?0:25-(n>>>1)|0);t=0|r[(A=e+16+(n>>>31<<2)|0)>>2];){if((-8&r[t+4>>2]|0)==(0|i)){e=t;break t}n<<=1,e=t}r[A>>2]=s,r[s+24>>2]=e,r[s+12>>2]=s,r[s+8>>2]=s;break e}}while(0);g=0|r[(a=e+8|0)>>2],r[g+12>>2]=s,r[a>>2]=s,r[s+8>>2]=g,r[s+12>>2]=e,r[s+24>>2]=0}else r[5830]=t|A,r[e>>2]=s,r[s+24>>2]=e,r[s+12>>2]=s,r[s+8>>2]=s}while(0);if(g=(0|r[5837])-1|0,r[5837]=g,!(0|g)){for(e=23772;e=0|r[e>>2];)e=e+8|0;r[5837]=-1}}}}function pt(e,t){t|=0;var A=0;return(e|=0)?(A=0|p(t,e),(t|e)>>>0>65535&&(A=(0|(A>>>0)/(e>>>0))==(0|t)?A:-1)):A=0,(e=0|dt(A))&&3&r[e+-4>>2]?(Rt(0|e,0,0|A),0|e):0|e}function Et(e,t,A,n){return 0|(y(0|(n=(t|=0)-(n|=0)-((A|=0)>>>0>(e|=0)>>>0|0)>>>0)),e-A>>>0|0)}function Qt(e){return 0|((e|=0)?31-(0|Q(e^e-1))|0:32)}function yt(e,t,A,n,i){i|=0;var o=0,a=0,s=0,g=0,c=0,u=0,l=0,I=0,C=0,h=0;if(u=e|=0,a=A|=0,s=I=n|=0,!(c=g=t|=0))return o=0!=(0|i),s?o?(r[i>>2]=0|e,r[i+4>>2]=0&t,i=0,0|(y(0|(I=0)),i)):(i=0,0|(y(0|(I=0)),i)):(o&&(r[i>>2]=(u>>>0)%(a>>>0),r[i+4>>2]=0),i=(u>>>0)/(a>>>0)>>>0,0|(y(0|(I=0)),i));o=0==(0|s);do{if(a){if(!o){if((o=(0|Q(0|s))-(0|Q(0|c))|0)>>>0<=31){a=l=o+1|0,e=u>>>(l>>>0)&(t=o-31>>31)|c<<(s=31-o|0),t&=c>>>(l>>>0),o=0,s=u<<s;break}return i?(r[i>>2]=0|e,r[i+4>>2]=g|0&t,i=0,0|(y(0|(I=0)),i)):(i=0,0|(y(0|(I=0)),i))}if((o=a-1|0)&a|0){a=s=33+(0|Q(0|a))-(0|Q(0|c))|0,e=(l=32-s|0)-1>>31&c>>>((C=s-32|0)>>>0)|(c<<l|u>>>(s>>>0))&(t=C>>31),t&=c>>>(s>>>0),o=u<<(h=64-s|0)&(g=l>>31),s=(c<<h|u>>>(C>>>0))&g|u<<l&s-33>>31;break}return 0|i&&(r[i>>2]=o&u,r[i+4>>2]=0),1==(0|a)?(h=0|e,0|(y(0|(C=g|0&t)),h)):(C=c>>>((h=0|Qt(0|a))>>>0)|0,h=c<<32-h|u>>>(h>>>0)|0,0|(y(0|C),h))}if(o)return 0|i&&(r[i>>2]=(c>>>0)%(a>>>0),r[i+4>>2]=0),h=(c>>>0)/(a>>>0)>>>0,0|(y(0|(C=0)),h);if(!u)return 0|i&&(r[i>>2]=0,r[i+4>>2]=(c>>>0)%(s>>>0)),h=(c>>>0)/(s>>>0)>>>0,0|(y(0|(C=0)),h);if(!((o=s-1|0)&s))return 0|i&&(r[i>>2]=0|e,r[i+4>>2]=o&c|0&t),C=0,h=c>>>((0|Qt(0|s))>>>0),0|(y(0|C),h);if((o=(0|Q(0|s))-(0|Q(0|c))|0)>>>0<=30){a=t=o+1|0,e=c<<(s=31-o|0)|u>>>(t>>>0),t=c>>>(t>>>0),o=0,s=u<<s;break}return i?(r[i>>2]=0|e,r[i+4>>2]=g|0&t,h=0,0|(y(0|(C=0)),h)):(h=0,0|(y(0|(C=0)),h))}while(0);if(a){c=0|function(e,t,A,n){return 0|(y((t|=0)+(n|=0)+((A=(e|=0)+(A|=0)>>>0)>>>0<e>>>0|0)>>>0|0),0|A)}(0|(l=0|A),0|(u=I|0&n),-1,-1),A=0|v(),g=s,s=0;do{n=g,g=o>>>31|g<<1,o=s|o<<1,Et(0|c,0|A,0|(n=e<<1|n>>>31|0),0|(I=e>>>31|t<<1|0)),s=1&(C=(h=0|v())>>31|((0|h)<0?-1:0)<<1),e=0|Et(0|n,0|I,C&l|0,(((0|h)<0?-1:0)>>31|((0|h)<0?-1:0)<<1)&u|0),t=0|v(),a=a-1|0}while(0!=(0|a));c=g,g=0}else c=s,g=0,s=0;return a=0,0|i&&(r[i>>2]=e,r[i+4>>2]=t),h=-2&(o<<1|0)|s,0|(y(0|(C=(0|o)>>>31|(c|a)<<1|0&(a<<1|o>>>31)|g)),h)}function vt(e,t,A,n){var i,o;return o=D,D=D+16|0,yt(e|=0,t|=0,A|=0,n|=0,i=0|o),D=o,0|(y(0|r[i+4>>2]),0|r[i>>2])}function mt(e,t,A){return e|=0,t|=0,(0|(A|=0))<32?(y(t>>>A|0),e>>>A|(t&(1<<A)-1)<<32-A):(y(0),t>>>A-32|0)}function bt(e,t,A){return e|=0,t|=0,(0|(A|=0))<32?(y(t<<A|(e&(1<<A)-1<<32-A)>>>32-A|0),e<<A):(y(e<<A-32|0),0)}function wt(e,t){return t=+t,(e=+e)!=e?+t:t!=t?+e:+E(+e,+t)}function St(e){return(e=+e)>=0?+a(e+.5):+B(e-.5)}function Ft(e,t,A){e|=0,t|=0;var i,o,a=0;if((0|(A|=0))>=8192)return S(0|e,0|t,0|A),0|e;if(o=0|e,i=e+A|0,(3&e)==(3&t)){for(;3&e;){if(!A)return 0|o;n[e>>0]=0|n[t>>0],e=e+1|0,t=t+1|0,A=A-1|0}for(a=(A=-4&i|0)-64|0;(0|e)<=(0|a);)r[e>>2]=r[t>>2],r[e+4>>2]=r[t+4>>2],r[e+8>>2]=r[t+8>>2],r[e+12>>2]=r[t+12>>2],r[e+16>>2]=r[t+16>>2],r[e+20>>2]=r[t+20>>2],r[e+24>>2]=r[t+24>>2],r[e+28>>2]=r[t+28>>2],r[e+32>>2]=r[t+32>>2],r[e+36>>2]=r[t+36>>2],r[e+40>>2]=r[t+40>>2],r[e+44>>2]=r[t+44>>2],r[e+48>>2]=r[t+48>>2],r[e+52>>2]=r[t+52>>2],r[e+56>>2]=r[t+56>>2],r[e+60>>2]=r[t+60>>2],e=e+64|0,t=t+64|0;for(;(0|e)<(0|A);)r[e>>2]=r[t>>2],e=e+4|0,t=t+4|0}else for(A=i-4|0;(0|e)<(0|A);)n[e>>0]=0|n[t>>0],n[e+1>>0]=0|n[t+1>>0],n[e+2>>0]=0|n[t+2>>0],n[e+3>>0]=0|n[t+3>>0],e=e+4|0,t=t+4|0;for(;(0|e)<(0|i);)n[e>>0]=0|n[t>>0],e=e+1|0,t=t+1|0;return 0|o}function Rt(e,t,A){t|=0;var i,o=0,a=0,s=0;if(i=(e|=0)+(A|=0)|0,t&=255,(0|A)>=67){for(;3&e;)n[e>>0]=t,e=e+1|0;for(s=t|t<<8|t<<16|t<<24,a=(o=-4&i|0)-64|0;(0|e)<=(0|a);)r[e>>2]=s,r[e+4>>2]=s,r[e+8>>2]=s,r[e+12>>2]=s,r[e+16>>2]=s,r[e+20>>2]=s,r[e+24>>2]=s,r[e+28>>2]=s,r[e+32>>2]=s,r[e+36>>2]=s,r[e+40>>2]=s,r[e+44>>2]=s,r[e+48>>2]=s,r[e+52>>2]=s,r[e+56>>2]=s,r[e+60>>2]=s,e=e+64|0;for(;(0|e)<(0|o);)r[e>>2]=s,e=e+4|0}for(;(0|e)<(0|i);)n[e>>0]=t,e=e+1|0;return i-A|0}function Dt(e){return(e=+e)>=0?+a(e+.5):+B(e-.5)}function Gt(e){e|=0;var t,A,n;return n=0|w(),(0|e)>0&(0|(t=(A=0|r[o>>2])+e|0))<(0|A)|(0|t)<0?(R(0|t),b(12),-1):(0|t)>(0|n)&&!(0|F(0|t))?(b(12),-1):(r[o>>2]=t,0|A)}return{___uremdi3:vt,_bitshift64Lshr:mt,_bitshift64Shl:bt,_calloc:pt,_cellAreaKm2:function(e,t){var A,n,i,o=0;if(i=D,D=D+192|0,n=i,Je(e|=0,t|=0,A=i+168|0),je(e,t,n),(0|(t=0|r[n>>2]))>0){if(o=+Re(n+8|0,n+8+((1!=(0|t)&1)<<4)|0,A)+0,1!=(0|t)){e=1;do{o+=+Re(n+8+(e<<4)|0,n+8+(((0|(e=e+1|0))%(0|t)|0)<<4)|0,A)}while((0|e)<(0|t))}}else o=0;return D=i,6371.007180918475*o*6371.007180918475},_cellAreaM2:function(e,t){var A,n,i,o=0;if(i=D,D=D+192|0,n=i,Je(e|=0,t|=0,A=i+168|0),je(e,t,n),(0|(t=0|r[n>>2]))>0){if(o=+Re(n+8|0,n+8+((1!=(0|t)&1)<<4)|0,A)+0,1!=(0|t)){e=1;do{o+=+Re(n+8+(e<<4)|0,n+8+(((0|(e=e+1|0))%(0|t)|0)<<4)|0,A)}while((0|e)<(0|t))}}else o=0;return D=i,6371.007180918475*o*6371.007180918475*1e3*1e3},_cellAreaRads2:function(e,t){var A,n,i,o=0;if(i=D,D=D+192|0,n=i,Je(e|=0,t|=0,A=i+168|0),je(e,t,n),(0|(t=0|r[n>>2]))<=0)return D=i,+(o=0);if(o=+Re(n+8|0,n+8+((1!=(0|t)&1)<<4)|0,A)+0,1==(0|t))return D=i,+o;e=1;do{o+=+Re(n+8+(e<<4)|0,n+8+(((0|(e=e+1|0))%(0|t)|0)<<4)|0,A)}while((0|e)<(0|t));return D=i,+o},_compact:function(e,t,A){t|=0;var n,i=0,o=0,a=0,s=0,g=0,c=0,u=0,l=0,I=0,C=0,h=0,f=0,d=0,B=0,p=0,E=0,Q=0,y=0,m=0,b=0,w=0;if(!(A|=0))return 0|(b=0);if(i=0|r[(o=e|=0)>>2],!0&0==(15728640&(o=0|r[o+4>>2])|0)){if((0|A)<=0)return 0|(b=0);if(r[(b=t)>>2]=i,r[b+4>>2]=o,1==(0|A))return 0|(b=0);i=1;do{m=0|r[(y=e+(i<<3)|0)+4>>2],r[(b=t+(i<<3)|0)>>2]=r[y>>2],r[b+4>>2]=m,i=i+1|0}while((0|i)!=(0|A));return 0|(i=0)}if(!(m=0|dt(y=A<<3)))return 0|(b=-3);if(Ft(0|m,0|e,0|y),!(n=0|pt(A,8)))return Bt(m),0|(b=-3);i=A;e:for(;;){E=0|mt(0|(l=0|r[(s=m)>>2]),0|(s=0|r[s+4>>2]),52),v(),Q=(E&=15)+-1|0,p=(0|i)>0;t:do{if(p){if(B=((0|i)<0)<<31>>31,f=0|bt(0|Q,0,52),d=0|v(),Q>>>0>15)for(o=0,e=l,A=s;;){if(!(0==(0|e)&0==(0|A))){if(a=0|mt(0|e,0|A,52),v(),g=(0|(a&=15))<(0|Q),a=(0|a)==(0|Q),A=0|vt(0|(u=g?0:a?e:0),0|(e=g?0:a?A:0),0|i,0|B),v(),0==(0|(c=0|r[(g=a=n+(A<<3)|0)>>2]))&0==(0|(g=0|r[g+4>>2])))A=u;else for(f=0,h=A,C=g,A=u;;){if((0|f)>(0|i)){b=41;break e}if((0|c)==(0|A)&(-117440513&C|0)==(0|e)){u=0|mt(0|c,0|C,56),v(),I=(u&=7)+1|0,d=0|mt(0|c,0|C,45),v();A:do{if(0|_(127&d)){if(c=0|mt(0|c,0|C,52),v(),!(c&=15)){g=6;break}for(g=1;;){if(!(0==((d=0|bt(7,0,3*(15-g|0)|0))&A|0)&0==((0|v())&e|0))){g=7;break A}if(!(g>>>0<c>>>0)){g=6;break}g=g+1|0}}else g=7}while(0);if((u+2|0)>>>0>g>>>0){b=51;break e}d=0|bt(0|I,0,56),e=0|v()|-117440513&e,r[(g=a)>>2]=0,r[g+4>>2]=0,g=h,A|=d}else g=(h+1|0)%(0|i)|0;if(0==(0|(c=0|r[(C=a=n+(g<<3)|0)>>2]))&0==(0|(C=0|r[C+4>>2])))break;f=f+1|0,h=g}r[(d=a)>>2]=A,r[d+4>>2]=e}if((0|(o=o+1|0))>=(0|i))break t;e=0|r[(A=m+(o<<3)|0)>>2],A=0|r[A+4>>2]}for(o=0,e=l,A=s;;){if(!(0==(0|e)&0==(0|A))){if(g=0|mt(0|e,0|A,52),v(),(0|(g&=15))>=(0|Q)){if((0|g)!=(0|Q)&&(e|=f,A=-15728641&A|d,g>>>0>=E>>>0)){a=Q;do{h=0|bt(7,0,3*(14-a|0)|0),a=a+1|0,e|=h,A=0|v()|A}while(a>>>0<g>>>0)}}else e=0,A=0;if(g=0|vt(0|e,0|A,0|i,0|B),v(),!(0==(0|(u=0|r[(c=a=n+(g<<3)|0)>>2]))&0==(0|(c=0|r[c+4>>2]))))for(h=0;;){if((0|h)>(0|i)){b=41;break e}if((0|u)==(0|e)&(-117440513&c|0)==(0|A)){I=0|mt(0|u,0|c,56),v(),C=(I&=7)+1|0,w=0|mt(0|u,0|c,45),v();A:do{if(0|_(127&w)){if(u=0|mt(0|u,0|c,52),v(),!(u&=15)){c=6;break}for(c=1;;){if(!(0==((w=0|bt(7,0,3*(15-c|0)|0))&e|0)&0==((0|v())&A|0))){c=7;break A}if(!(c>>>0<u>>>0)){c=6;break}c=c+1|0}}else c=7}while(0);if((I+2|0)>>>0>c>>>0){b=51;break e}w=0|bt(0|C,0,56),A=0|v()|-117440513&A,r[(C=a)>>2]=0,r[C+4>>2]=0,e|=w}else g=(g+1|0)%(0|i)|0;if(0==(0|(u=0|r[(c=a=n+(g<<3)|0)>>2]))&0==(0|(c=0|r[c+4>>2])))break;h=h+1|0}r[(w=a)>>2]=e,r[w+4>>2]=A}if((0|(o=o+1|0))>=(0|i))break t;e=0|r[(A=m+(o<<3)|0)>>2],A=0|r[A+4>>2]}}}while(0);if((i+5|0)>>>0<11){b=99;break}if(!(d=0|pt((0|i)/6|0,8))){b=58;break}t:do{if(p){h=0,C=0;do{if(!(0==(0|(o=0|r[(e=g=n+(h<<3)|0)>>2]))&0==(0|(e=0|r[e+4>>2])))){c=0|mt(0|o,0|e,56),v(),A=(c&=7)+1|0,u=-117440513&e,w=0|mt(0|o,0|e,45),v();A:do{if(0|_(127&w)){if(I=0|mt(0|o,0|e,52),v(),0|(I&=15))for(a=1;;){if(!(0==(o&(w=0|bt(7,0,3*(15-a|0)|0))|0)&0==(u&(0|v())|0)))break A;if(!(a>>>0<I>>>0))break;a=a+1|0}o|=e=0|bt(0|A,0,56),e=0|v()|u,r[(A=g)>>2]=o,r[A+4>>2]=e,A=c+2|0}}while(0);7==(0|A)&&(r[(w=d+(C<<3)|0)>>2]=o,r[w+4>>2]=-117440513&e,C=C+1|0)}h=h+1|0}while((0|h)!=(0|i));if(p){if(f=((0|i)<0)<<31>>31,I=0|bt(0|Q,0,52),h=0|v(),Q>>>0>15)for(e=0,o=0;;){do{if(!(0==(0|l)&0==(0|s))){for(c=0|mt(0|l,0|s,52),v(),a=(0|(c&=15))<(0|Q),c=(0|c)==(0|Q),a=0|vt(0|(g=a?0:c?l:0),0|(c=a?0:c?s:0),0|i,0|f),v(),A=0;;){if((0|A)>(0|i)){b=98;break e}if((-117440513&(u=0|r[(w=n+(a<<3)|0)+4>>2])|0)==(0|c)&&(0|r[w>>2])==(0|g)){b=70;break}if((0|r[(w=n+((a=(a+1|0)%(0|i)|0)<<3)|0)>>2])==(0|g)&&(0|r[w+4>>2])==(0|c))break;A=A+1|0}if(70==(0|b)&&(b=0,!0&100663296==(117440512&u|0)))break;r[(w=t+(o<<3)|0)>>2]=l,r[w+4>>2]=s,o=o+1|0}}while(0);if((0|(e=e+1|0))>=(0|i)){i=C;break t}l=0|r[(s=m+(e<<3)|0)>>2],s=0|r[s+4>>2]}for(e=0,o=0;;){do{if(!(0==(0|l)&0==(0|s))){if(c=0|mt(0|l,0|s,52),v(),(0|(c&=15))>=(0|Q))if((0|c)!=(0|Q))if(A=l|I,a=-15728641&s|h,c>>>0<E>>>0)c=a;else{g=Q;do{w=0|bt(7,0,3*(14-g|0)|0),g=g+1|0,A|=w,a=0|v()|a}while(g>>>0<c>>>0);c=a}else A=l,c=s;else A=0,c=0;for(g=0|vt(0|A,0|c,0|i,0|f),v(),a=0;;){if((0|a)>(0|i)){b=98;break e}if((-117440513&(u=0|r[(w=n+(g<<3)|0)+4>>2])|0)==(0|c)&&(0|r[w>>2])==(0|A)){b=93;break}if((0|r[(w=n+((g=(g+1|0)%(0|i)|0)<<3)|0)>>2])==(0|A)&&(0|r[w+4>>2])==(0|c))break;a=a+1|0}if(93==(0|b)&&(b=0,!0&100663296==(117440512&u|0)))break;r[(w=t+(o<<3)|0)>>2]=l,r[w+4>>2]=s,o=o+1|0}}while(0);if((0|(e=e+1|0))>=(0|i)){i=C;break t}l=0|r[(s=m+(e<<3)|0)>>2],s=0|r[s+4>>2]}}else o=0,i=C}else o=0,i=0}while(0);if(Rt(0|n,0,0|y),Ft(0|m,0|d,i<<3|0),Bt(d),!i)break;t=t+(o<<3)|0}return 41==(0|b)?(Bt(m),Bt(n),0|(w=-1)):51==(0|b)?(Bt(m),Bt(n),0|(w=-2)):58==(0|b)?(Bt(m),Bt(n),0|(w=-3)):98==(0|b)?(Bt(d),Bt(m),Bt(n),0|(w=-1)):(99==(0|b)&&Ft(0|t,0|m,i<<3|0),Bt(m),Bt(n),0|(w=0))},_destroyLinkedPolygon:function(e){var t=0,A=0,n=0,i=0;if(e|=0)for(n=1;;){if(0|(t=0|r[e>>2]))do{if(0|(A=0|r[t>>2]))do{i=A,A=0|r[A+16>>2],Bt(i)}while(0!=(0|A));i=t,t=0|r[t+8>>2],Bt(i)}while(0!=(0|t));if(t=e,e=0|r[e+8>>2],n||Bt(t),!e)break;n=0}},_edgeLengthKm:function(e){return+ +i[20752+((e|=0)<<3)>>3]},_edgeLengthM:function(e){return+ +i[20880+((e|=0)<<3)>>3]},_emscripten_replace_memory:function(e){return n=new Int8Array(e),new Uint8Array(e),r=new Int32Array(e),new Float32Array(e),i=new Float64Array(e),A=e,!0},_exactEdgeLengthKm:function(e,t){var A,n,o=0,a=0,s=0,c=0,I=0,C=0;if(n=D,D=D+176|0,Ke(e|=0,t|=0,A=n),(0|(e=0|r[A>>2]))<=1)return D=n,+(s=0);t=e+-1|0,e=0,o=0,a=+i[A+8>>3],s=+i[A+16>>3];do{I=a,a=+i[A+8+((e=e+1|0)<<4)>>3],C=+l(.5*(a-I)),c=s,s=+i[A+8+(e<<4)+8>>3],c=C*C+(c=+l(.5*(s-c)))*(+u(+I)*+u(+a)*c),o+=2*+d(+ +g(+c),+ +g(+(1-c)))}while((0|e)!=(0|t));return D=n,+(C=6371.007180918475*o)},_exactEdgeLengthM:function(e,t){var A,n,o=0,a=0,s=0,c=0,I=0,C=0;if(n=D,D=D+176|0,Ke(e|=0,t|=0,A=n),(0|(e=0|r[A>>2]))<=1)return D=n,+(s=0);t=e+-1|0,e=0,o=0,a=+i[A+8>>3],s=+i[A+16>>3];do{I=a,a=+i[A+8+((e=e+1|0)<<4)>>3],C=+l(.5*(a-I)),c=s,s=+i[A+8+(e<<4)+8>>3],c=C*C+(c=+l(.5*(s-c)))*(+u(+I)*+u(+a)*c),o+=2*+d(+ +g(+c),+ +g(+(1-c)))}while((0|e)!=(0|t));return D=n,+(C=6371.007180918475*o*1e3)},_exactEdgeLengthRads:function(e,t){var A,n,o=0,a=0,s=0,c=0,I=0,C=0;if(n=D,D=D+176|0,Ke(e|=0,t|=0,A=n),(0|(e=0|r[A>>2]))<=1)return D=n,+(s=0);t=e+-1|0,e=0,o=0,a=+i[A+8>>3],s=+i[A+16>>3];do{I=a,a=+i[A+8+((e=e+1|0)<<4)>>3],C=+l(.5*(a-I)),c=s,s=+i[A+8+(e<<4)+8>>3],c=C*C+(c=+l(.5*(s-c)))*(+u(+a)*+u(+I)*c),o+=2*+d(+ +g(+c),+ +g(+(1-c)))}while((0|e)<(0|t));return D=n,+o},_experimentalH3ToLocalIj:function(e,t,A,n,r){var i,o;return r|=0,o=D,D=D+16|0,(e=0|$e(e|=0,t|=0,A|=0,n|=0,i=o))||(Ie(i,r),e=0),D=o,0|e},_experimentalLocalIjToH3:function(e,t,A,n){var r,i;return e|=0,t|=0,n|=0,r=D,D=D+16|0,Ce(A|=0,i=r),n=0|et(e,t,i,n),D=r,0|n},_free:Bt,_geoToH3:Ze,_getDestinationH3IndexFromUnidirectionalEdge:function(e,t){e|=0;var A,n,i=0;return A=D,D=D+16|0,i=A,!0&268435456==(2013265920&(t|=0)|0)?(n=0|mt(0|e,0|t,56),v(),r[i>>2]=0,i=0|N(e,-2130706433&t|134217728,7&n,i),t=0|v(),y(0|t),D=A,0|i):(i=0,y(0|(t=0)),D=A,0|i)},_getH3IndexesFromUnidirectionalEdge:function(e,t,A){e|=0;var n,i,o,a,s=0;o=D,D=D+16|0,n=o,a=!0&268435456==(2013265920&(t|=0)|0),i=-2130706433&t|134217728,r[(s=A|=0)>>2]=a?e:0,r[s+4>>2]=a?i:0,a?(t=0|mt(0|e,0|t,56),v(),r[n>>2]=0,e=0|N(e,i,7&t,n),t=0|v()):(e=0,t=0),r[(s=A+8|0)>>2]=e,r[s+4>>2]=t,D=o},_getH3UnidirectionalEdge:function(e,t,A,n){var i,o,a=0,s=0,g=0,c=0,u=0;if(o=D,D=D+16|0,i=o,!(0|Ve(e|=0,t|=0,A|=0,n|=0)))return c=0,y(0|(g=0)),D=o,0|c;for(g=-2130706433&t,a=(a=0==(0|Ne(e,t)))?1:2;r[i>>2]=0,s=a+1|0,!((0|(u=0|N(e,t,a,i)))==(0|A)&(0|v())==(0|n));){if(!(s>>>0<7)){a=0,e=0,c=6;break}a=s}return 6==(0|c)?(y(0|a),D=o,0|e):(u=0|bt(0|a,0,56),c=0|g|v()|268435456,u|=e,y(0|c),D=o,0|u)},_getH3UnidirectionalEdgeBoundary:Ke,_getH3UnidirectionalEdgesFromHexagon:function(e,t,A){A|=0;var n,i=0;n=0==(0|Ne(e|=0,t|=0)),t&=-2130706433,r[(i=A)>>2]=n?e:0,r[i+4>>2]=n?285212672|t:0,r[(i=A+8|0)>>2]=e,r[i+4>>2]=301989888|t,r[(i=A+16|0)>>2]=e,r[i+4>>2]=318767104|t,r[(i=A+24|0)>>2]=e,r[i+4>>2]=335544320|t,r[(i=A+32|0)>>2]=e,r[i+4>>2]=352321536|t,r[(A=A+40|0)>>2]=e,r[A+4>>2]=369098752|t},_getOriginH3IndexFromUnidirectionalEdge:function(e,t){var A;return e|=0,y(0|((A=!0&268435456==(2013265920&(t|=0)|0))?-2130706433&t|134217728:0)),0|(A?e:0)},_getPentagonIndexes:Pe,_getRes0Indexes:function(e){e|=0;var t=0,A=0,n=0;t=0;do{bt(0|t,0,45),n=134225919|v(),r[(A=e+(t<<3)|0)>>2]=-1,r[A+4>>2]=n,t=t+1|0}while(122!=(0|t))},_h3Distance:function(e,t,A,n){var r,i,o;return A|=0,n|=0,o=D,D=D+32|0,i=o,e=0==(0|$e(e|=0,t|=0,e,t,r=o+12|0))&&0==(0|$e(e,t,A,n,i))?0|le(r,i):-1,D=o,0|e},_h3GetBaseCell:De,_h3GetFaces:function e(t,A,n){n|=0;var i,o=0,a=0,s=0,g=0,c=0,u=0,l=0,I=0;i=D,D=D+128|0,l=i+112|0,s=i+96|0,I=i,a=0|mt(0|(t|=0),0|(A|=0),52),v(),c=15&a,r[l>>2]=c,g=0|mt(0|t,0|A,45),v(),g&=127;e:do{if(0|_(g)){if(0|c)for(o=1;;){if(!(0==((u=0|bt(7,0,3*(15-o|0)|0))&t|0)&0==((0|v())&A|0))){a=0;break e}if(!(o>>>0<c>>>0))break;o=o+1|0}if(!(1&a))return u=0|bt(c+1|0,0,52),I=0|v()|-15728641&A,e((u|t)&~(l=0|bt(7,0,3*(14-c|0)|0)),I&~(0|v()),n),void(D=i);a=1}else a=0}while(0);Ye(t,A,s),a?(Qe(s,l,I),u=5):(be(s,l,I),u=6);e:do{if(0|_(g))if(c)for(o=1;;){if(!(0==((g=0|bt(7,0,3*(15-o|0)|0))&t|0)&0==((0|v())&A|0))){o=8;break e}if(!(o>>>0<c>>>0)){o=20;break}o=o+1|0}else o=20;else o=8}while(0);if(Rt(0|n,-1,0|o),a){a=0;do{for(ve(s=I+(a<<4)|0,0|r[l>>2]),s=0|r[s>>2],o=0;!(-1==(0|(c=0|r[(g=n+(o<<2)|0)>>2]))|(0|c)==(0|s));)o=o+1|0;r[g>>2]=s,a=a+1|0}while((0|a)!=(0|u))}else{a=0;do{for(ye(s=I+(a<<4)|0,0|r[l>>2],0,1),s=0|r[s>>2],o=0;!(-1==(0|(c=0|r[(g=n+(o<<2)|0)>>2]))|(0|c)==(0|s));)o=o+1|0;r[g>>2]=s,a=a+1|0}while((0|a)!=(0|u))}D=i},_h3IndexesAreNeighbors:Ve,_h3IsPentagon:Ne,_h3IsResClassIII:function(e,t){return t=0|mt(0|(e|=0),0|(t|=0),52),v(),1&t|0},_h3IsValid:Ge,_h3Line:function(e,t,A,n,i){A|=0,n|=0,i|=0;var o,a=0,g=0,c=0,u=0,l=0,I=0,C=0,h=0,f=0,d=0,B=0,p=0,E=0,Q=0,y=0,v=0,m=0;if(o=D,D=D+48|0,g=o+12|0,v=o,0==(0|$e(e|=0,t|=0,e,t,a=o+24|0))&&0==(0|$e(e,t,A,n,g))){if((0|(y=0|le(a,g)))<0)return D=o,0|(v=y);for(r[a>>2]=0,r[a+4>>2]=0,r[a+8>>2]=0,r[g>>2]=0,r[g+4>>2]=0,r[g+8>>2]=0,$e(e,t,e,t,a),$e(e,t,A,n,g),he(a),he(g),y?(f=+(0|y),Q=a,A=I=0|r[a>>2],n=C=0|r[(p=a+4|0)>>2],a=h=0|r[(E=a+8|0)>>2],d=+((0|r[g>>2])-I|0)/f,B=+((0|r[g+4>>2])-C|0)/f,f=+((0|r[g+8>>2])-h|0)/f):(p=n=a+4|0,E=h=a+8|0,Q=a,A=0|r[a>>2],n=0|r[n>>2],a=0|r[h>>2],d=0,B=0,f=0),r[v>>2]=A,r[(h=v+4|0)>>2]=n,r[(C=v+8|0)>>2]=a,I=0;;){m=d*(u=+(0|I))+ +(0|A),c=B*u+ +(0|r[p>>2]),u=f*u+ +(0|r[E>>2]),n=~~+St(+m),g=~~+St(+c),A=~~+St(+u),m=+s(+(+(0|n)-m)),c=+s(+(+(0|g)-c)),u=+s(+(+(0|A)-u));do{if(!(m>c&m>u)){if(l=0-n|0,c>u){a=l-A|0;break}a=g,A=l-g|0;break}n=0-(g+A)|0,a=g}while(0);if(r[v>>2]=n,r[h>>2]=a,r[C>>2]=A,fe(v),et(e,t,v,i+(I<<3)|0),(0|I)==(0|y))break;I=I+1|0,A=0|r[Q>>2]}return D=o,0|(v=0)}return D=o,0|(v=-1)},_h3LineSize:function(e,t,A,n){var r,i,o;return A|=0,n|=0,o=D,D=D+32|0,i=o,e=0==(0|$e(e|=0,t|=0,e,t,r=o+12|0))&&0==(0|$e(e,t,A,n,i))?0|le(r,i):-1,D=o,(e>>>31^1)+e|0},_h3SetToLinkedGeo:function(e,t,A){A|=0;var n,i,o,a=0;if(o=D,D=D+32|0,n=o,function(e,t,A){e|=0,A|=0;var n,i,o=0,a=0,s=0,g=0,c=0;if(i=D,D=D+176|0,n=i,(0|(t|=0))<1)return gt(A,0,0),void(D=i);g=0|mt(0|r[(g=e)>>2],0|r[g+4>>2],52),v(),gt(A,(0|t)>6?t:6,15&g),g=0;do{if(je(0|r[(o=e+(g<<3)|0)>>2],0|r[o+4>>2],n),(0|(o=0|r[n>>2]))>0){c=0;do{s=n+8+(c<<4)|0,(a=0|Ct(A,o=n+8+(((0|(c=c+1|0))%(0|o)|0)<<4)|0,s))?lt(A,a):It(A,s,o),o=0|r[n>>2]}while((0|c)<(0|o))}g=g+1|0}while((0|g)!=(0|t));D=i}(e|=0,t|=0,i=o+16|0),r[A>>2]=0,r[A+4>>2]=0,r[A+8>>2]=0,!(e=0|ut(i)))return qe(A),ct(i),void(D=o);do{t=0|We(A);do{Xe(t,e),a=e+16|0,r[n>>2]=r[a>>2],r[n+4>>2]=r[a+4>>2],r[n+8>>2]=r[a+8>>2],r[n+12>>2]=r[a+12>>2],lt(i,e),e=0|ht(i,n)}while(0!=(0|e));e=0|ut(i)}while(0!=(0|e));qe(A),ct(i),D=o},_h3ToCenterChild:function(e,t,A){A|=0;var n=0,r=0;if(n=0|mt(0|(e|=0),0|(t|=0),52),v(),(0|A)<16&(0|(n&=15))<=(0|A)){if((0|n)!=(0|A)&&(e|=r=0|bt(0|A,0,52),t=0|v()|-15728641&t,(0|n)<(0|A)))do{r=0|bt(7,0,3*(14-n|0)|0),n=n+1|0,e&=~r,t&=~(0|v())}while((0|n)<(0|A))}else t=0,e=0;return y(0|t),0|e},_h3ToChildren:xe,_h3ToGeo:Je,_h3ToGeoBoundary:je,_h3ToParent:ke,_h3UnidirectionalEdgeIsValid:function(e,t){var A=0;if(!(!0&268435456==(2013265920&(t|=0)|0)))return 0|(A=0);switch(A=0|mt(0|(e|=0),0|t,56),v(),7&A){case 0:case 7:return 0|(A=0)}return!0&16777216==(117440512&t|0)&0!=(0|Ne(e,A=-2130706433&t|134217728))?0|(A=0):0|(A=0|Ge(e,A))},_hexAreaKm2:function(e){return+ +i[20496+((e|=0)<<3)>>3]},_hexAreaM2:function(e){return+ +i[20624+((e|=0)<<3)>>3]},_hexRing:function(e,t,A,n){e|=0,t|=0,n|=0;var i,o=0,a=0,s=0,g=0,c=0,u=0,l=0;if(i=D,D=D+16|0,l=i,!(A|=0))return r[(l=n)>>2]=e,r[l+4>>2]=t,D=i,0|(l=0);r[l>>2]=0;e:do{if(0|Ne(e,t))e=1;else{if(a=(0|A)>0){o=0,u=e;do{if(0==(0|(u=0|N(u,t,4,l)))&0==(0|(t=0|v()))){e=2;break e}if(o=o+1|0,0|Ne(u,t)){e=1;break e}}while((0|o)<(0|A));if(r[(c=n)>>2]=u,r[c+4>>2]=t,c=A+-1|0,a){a=0,s=1,o=u,e=t;do{if(0==(0|(o=0|N(o,e,2,l)))&0==(0|(e=0|v()))){e=2;break e}if(r[(g=n+(s<<3)|0)>>2]=o,r[g+4>>2]=e,s=s+1|0,0|Ne(o,e)){e=1;break e}a=a+1|0}while((0|a)<(0|A));g=0,a=s;do{if(0==(0|(o=0|N(o,e,3,l)))&0==(0|(e=0|v()))){e=2;break e}if(r[(s=n+(a<<3)|0)>>2]=o,r[s+4>>2]=e,a=a+1|0,0|Ne(o,e)){e=1;break e}g=g+1|0}while((0|g)<(0|A));s=0;do{if(0==(0|(o=0|N(o,e,1,l)))&0==(0|(e=0|v()))){e=2;break e}if(r[(g=n+(a<<3)|0)>>2]=o,r[g+4>>2]=e,a=a+1|0,0|Ne(o,e)){e=1;break e}s=s+1|0}while((0|s)<(0|A));s=0;do{if(0==(0|(o=0|N(o,e,5,l)))&0==(0|(e=0|v()))){e=2;break e}if(r[(g=n+(a<<3)|0)>>2]=o,r[g+4>>2]=e,a=a+1|0,0|Ne(o,e)){e=1;break e}s=s+1|0}while((0|s)<(0|A));s=0;do{if(0==(0|(o=0|N(o,e,4,l)))&0==(0|(e=0|v()))){e=2;break e}if(r[(g=n+(a<<3)|0)>>2]=o,r[g+4>>2]=e,a=a+1|0,0|Ne(o,e)){e=1;break e}s=s+1|0}while((0|s)<(0|A));for(s=0;;){if(0==(0|(o=0|N(o,e,6,l)))&0==(0|(e=0|v()))){e=2;break e}if((0|s)!=(0|c)){if(r[(g=n+(a<<3)|0)>>2]=o,r[g+4>>2]=e,0|Ne(o,e)){e=1;break e}a=a+1|0}if((0|(s=s+1|0))>=(0|A)){s=u,a=t;break}}}else s=u,o=u,a=t,e=t}else r[(s=n)>>2]=e,r[s+4>>2]=t,s=e,o=e,a=t,e=t;e=1&((0|s)!=(0|o)|(0|a)!=(0|e))}}while(0);return D=i,0|(l=e)},_i64Subtract:Et,_kRing:G,_kRingDistances:function(e,t,A,n,r){var i;if(0|k(e|=0,t|=0,A|=0,n|=0,r|=0)){if(Rt(0|n,0,(i=1+(0|p(3*A|0,A+1|0))|0)<<3|0),0|r)return Rt(0|r,0,i<<2|0),void x(e,t,A,n,r,i,0);(r=0|pt(i,4))&&(x(e,t,A,n,r,i,0),Bt(r))}},_llvm_minnum_f64:wt,_llvm_round_f64:St,_malloc:dt,_maxFaceCount:function(e,t){var A=0,n=0;if(n=0|mt(0|(e|=0),0|(t|=0),45),v(),!(0|_(127&n)))return 0|(n=2);if(n=0|mt(0|e,0|t,52),v(),!(n&=15))return 0|(n=5);for(A=1;;){if(!(0==((0|bt(7,0,3*(15-A|0)|0))&e|0)&0==((0|v())&t|0))){A=2,e=6;break}if(!(A>>>0<n>>>0)){A=5,e=6;break}A=A+1|0}return 6==(0|e)?0|A:0},_maxH3ToChildrenSize:function(e,t,A){return A|=0,e=0|mt(0|(e|=0),0|(t|=0),52),v(),(0|A)<16&(0|(e&=15))<=(0|A)?0|(A=0|tt(7,A-e|0)):0|(A=0)},_maxKringSize:function(e){return 1+(0|p(3*(e|=0)|0,e+1|0))|0},_maxPolyfillSize:function(e,t){t|=0;var A,n=0,i=0,o=0,a=0,s=0;if(A=D,D=D+48|0,o=A+8|0,i=A,a=0|r[(s=e|=0)+4>>2],r[(n=i)>>2]=r[s>>2],r[n+4>>2]=a,nt(i,o),o=0|j(o,t),t=0|r[i>>2],(0|(i=0|r[e+8>>2]))<=0)return D=A,0|(s=(s=(a=(0|o)<(0|(s=t)))?s:o)+12|0);n=0|r[e+12>>2],e=0;do{t=(0|r[n+(e<<3)>>2])+t|0,e=e+1|0}while((0|e)<(0|i));return D=A,0|(s=(s=(s=(0|o)<(0|t))?t:o)+12|0)},_maxUncompactSize:function(e,t,A){e|=0,A|=0;var n=0,i=0,o=0,a=0;if((0|(t|=0))<=0)return 0|(A=0);if((0|A)>=16){for(n=0;;){if(!(0==(0|r[(a=e+(n<<3)|0)>>2])&0==(0|r[a+4>>2]))){n=-1,i=13;break}if((0|(n=n+1|0))>=(0|t)){n=0,i=13;break}}if(13==(0|i))return 0|n}n=0,a=0;e:for(;;){o=0|r[(i=e+(a<<3)|0)>>2],i=0|r[i+4>>2];do{if(!(0==(0|o)&0==(0|i))){if(i=0|mt(0|o,0|i,52),v(),(0|(i&=15))>(0|A)){n=-1,i=13;break e}if((0|i)==(0|A)){n=n+1|0;break}n=(0|tt(7,A-i|0))+n|0;break}}while(0);if((0|(a=a+1|0))>=(0|t)){i=13;break}}return 13==(0|i)?0|n:0},_memcpy:Ft,_memset:Rt,_numHexagons:function(e){var t;return e=0|r[(t=21008+((e|=0)<<3)|0)>>2],y(0|r[t+4>>2]),0|e},_pentagonIndexCount:function(){return 12},_pointDistKm:Fe,_pointDistM:function(e,t){e|=0;var A,n,r,o=0;return n=+i[(t|=0)>>3],A=+i[e>>3],o=(r=+l(.5*(n-A)))*r+(o=+l(.5*(+i[t+8>>3]-+i[e+8>>3])))*(+u(+n)*+u(+A)*o),2*+d(+ +g(+o),+ +g(+(1-o)))*6371.007180918475*1e3},_pointDistRads:function(e,t){e|=0;var A,n,r,o=0;return n=+i[(t|=0)>>3],A=+i[e>>3],o=(r=+l(.5*(n-A)))*r+(o=+l(.5*(+i[t+8>>3]-+i[e+8>>3])))*(+u(+n)*+u(+A)*o),2*+d(+ +g(+o),+ +g(+(1-o)))},_polyfill:function(e,t,A){var n,i=0,o=0,a=0,s=0,g=0;if(n=D,D=D+48|0,i=n+8|0,o=n,0|function(e,t,A){t|=0,A|=0;var n,i,o,a,s,g=0,c=0,u=0,l=0,I=0,C=0,h=0,f=0,d=0,B=0,p=0,E=0,Q=0,y=0,b=0,w=0,S=0,F=0,R=0,G=0,N=0,_=0,M=0,O=0,L=0;s=D,D=D+112|0,i=s+80|0,C=s+72|0,o=s,a=s+56|0,(L=0|dt(32+(r[(h=(e=e|0)+8|0)>>2]<<5)|0))||m(22848,22448,800,22456);if(rt(e,L),g=0|r[(u=e)+4>>2],r[(I=C)>>2]=r[u>>2],r[I+4>>2]=g,nt(C,i),I=0|j(i,t),g=0|r[C>>2],(0|(u=0|r[h>>2]))>0){l=0|r[e+12>>2],c=0;do{g=(0|r[l+(c<<3)>>2])+g|0,c=c+1|0}while((0|c)!=(0|u))}if(c=0|pt(n=(I=(0|I)<(0|g)?g:I)+12|0,8),f=0|pt(n,8),r[i>>2]=0,O=0|r[(M=e)+4>>2],r[(g=C)>>2]=r[M>>2],r[g+4>>2]=O,0|(g=0|U(C,n,t,i,c,f)))return Bt(c),Bt(f),Bt(L),D=s,0|(L=g);e:do{if((0|r[h>>2])>0){for(u=e+12|0,g=0;l=0|U((0|r[u>>2])+(g<<3)|0,n,t,i,c,f),g=g+1|0,!(0|l);)if((0|g)>=(0|r[h>>2]))break e;return Bt(c),Bt(f),Bt(L),D=s,0|(L=l)}}while(0);(0|I)>-12&&Rt(0|f,0,((0|n)>1?n:1)<<3|0);e:do{if((0|r[i>>2])>0){O=((0|n)<0)<<31>>31,F=c,R=f,G=c,N=c,_=f,M=c,g=c,y=c,b=f,w=f,S=f,c=f;t:for(;;){for(Q=0|r[i>>2],p=0,E=0,u=0;;){I=(l=o)+56|0;do{r[l>>2]=0,l=l+4|0}while((0|l)<(0|I));if(C=0|r[(t=F+(p<<3)|0)>>2],t=0|r[t+4>>2],0|k(C,t,1,o,0)){I=(l=o)+56|0;do{r[l>>2]=0,l=l+4|0}while((0|l)<(0|I));0|(l=0|pt(7,4))&&(x(C,t,1,o,l,7,0),Bt(l))}B=0;do{f=0|r[(d=o+(B<<3)|0)>>2],d=0|r[d+4>>2];A:do{if(!(0==(0|f)&0==(0|d))){if(C=0|vt(0|f,0|d,0|n,0|O),v(),t=0|r[(I=l=A+(C<<3)|0)>>2],I=0|r[I+4>>2],!(0==(0|t)&0==(0|I)))for(h=0;;){if((0|h)>(0|n))break t;if((0|t)==(0|f)&(0|I)==(0|d))break A;if(t=0|r[(I=l=A+((C=(C+1|0)%(0|n)|0)<<3)|0)>>2],I=0|r[I+4>>2],0==(0|t)&0==(0|I))break;h=h+1|0}0==(0|f)&0==(0|d)||(Je(f,d,a),0|it(e,L,a)&&(r[(h=l)>>2]=f,r[h+4>>2]=d,r[(h=R+(u<<3)|0)>>2]=f,r[h+4>>2]=d,u=u+1|0))}}while(0);B=B+1|0}while(B>>>0<7);if((0|(E=E+1|0))>=(0|Q))break;p=p+1|0}if((0|Q)>0&&Rt(0|G,0,Q<<3|0),r[i>>2]=u,!((0|u)>0))break e;f=c,d=S,B=M,p=w,E=b,Q=R,c=y,S=g,w=N,b=G,y=f,g=d,M=_,_=B,N=p,G=E,R=F,F=Q}return Bt(N),Bt(_),Bt(L),D=s,0|(L=-1)}g=f}while(0);return Bt(L),Bt(c),Bt(g),D=s,0|(L=0)}(e|=0,t|=0,A|=0)){if(a=0|r[(g=e)+4>>2],r[(s=o)>>2]=r[g>>2],r[s+4>>2]=a,nt(o,i),s=0|j(i,t),t=0|r[o>>2],(0|(a=0|r[e+8>>2]))>0){o=0|r[e+12>>2],i=0;do{t=(0|r[o+(i<<3)>>2])+t|0,i=i+1|0}while((0|i)!=(0|a))}(0|(t=(0|s)<(0|t)?t:s))<=-12||Rt(0|A,0,8+(((0|(g=t+11|0))>0?g:0)<<3)|0),D=n}else D=n},_res0IndexCount:function(){return 122},_round:Dt,_sbrk:Gt,_sizeOfCoordIJ:function(){return 8},_sizeOfGeoBoundary:function(){return 168},_sizeOfGeoCoord:function(){return 16},_sizeOfGeoPolygon:function(){return 16},_sizeOfGeofence:function(){return 8},_sizeOfH3Index:function(){return 8},_sizeOfLinkedGeoPolygon:function(){return 12},_uncompact:function(e,t,A,n,i){e|=0,A|=0,n|=0,i|=0;var o=0,a=0,s=0,g=0,c=0,u=0;if((0|(t|=0))<=0)return 0|(i=0);if((0|i)>=16){for(o=0;;){if(!(0==(0|r[(u=e+(o<<3)|0)>>2])&0==(0|r[u+4>>2]))){o=14;break}if((0|(o=o+1|0))>=(0|t)){a=0,o=16;break}}if(14==(0|o))return 0|((0|n)>0?-2:-1);if(16==(0|o))return 0|a}o=0,u=0;e:for(;;){a=0|r[(s=c=e+(u<<3)|0)>>2],s=0|r[s+4>>2];do{if(!(0==(0|a)&0==(0|s))){if((0|o)>=(0|n)){a=-1,o=16;break e}if(g=0|mt(0|a,0|s,52),v(),(0|(g&=15))>(0|i)){a=-2,o=16;break e}if((0|g)==(0|i)){r[(c=A+(o<<3)|0)>>2]=a,r[c+4>>2]=s,o=o+1|0;break}if((0|(a=(0|tt(7,i-g|0))+o|0))>(0|n)){a=-1,o=16;break e}xe(0|r[c>>2],0|r[c+4>>2],i,A+(o<<3)|0),o=a}}while(0);if((0|(u=u+1|0))>=(0|t)){a=0,o=16;break}}return 16==(0|o)?0|a:0},establishStackSpace:function(e,t){D=e|=0},stackAlloc:function(e){var t;return t=D,D=(D=D+(e|=0)|0)+15&-16,0|t},stackRestore:function(e){D=e|=0},stackSave:function(){return 0|D}}}({Math:Math,Int8Array:Int8Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Float32Array:Float32Array,Float64Array:Float64Array},{a:se,b:function(e){g=e},c:c,d:function(e,t,A,n){se("Assertion failed: "+h(e)+", at: "+[t?h(t):"unknown filename",A,n?h(n):"unknown function"])},e:function(e){return A.___errno_location&&(E[A.___errno_location()>>2]=e),e},f:P,g:function(e,t,A){B.set(B.subarray(t,t+A),e)},h:function(e){var t=P();if(e>2130706432)return!1;for(var A=Math.max(t,16777216);A<e;)A=A<=536870912?v(2*A,16777216):Math.min(v((3*A+2147483648)/4,16777216),2130706432);return!!V(A)},i:function(e){se("OOM")},j:Y,k:J,l:V,m:j,n:function(){var e=j();return A.extraStackTrace&&(e+="\n"+A.extraStackTrace()),J(e)},o:24032,p:24016},f),$=(A.___uremdi3=z.___uremdi3,A._bitshift64Lshr=z._bitshift64Lshr,A._bitshift64Shl=z._bitshift64Shl,A._calloc=z._calloc,A._cellAreaKm2=z._cellAreaKm2,A._cellAreaM2=z._cellAreaM2,A._cellAreaRads2=z._cellAreaRads2,A._compact=z._compact,A._destroyLinkedPolygon=z._destroyLinkedPolygon,A._edgeLengthKm=z._edgeLengthKm,A._edgeLengthM=z._edgeLengthM,A._emscripten_replace_memory=z._emscripten_replace_memory),ee=(A._exactEdgeLengthKm=z._exactEdgeLengthKm,A._exactEdgeLengthM=z._exactEdgeLengthM,A._exactEdgeLengthRads=z._exactEdgeLengthRads,A._experimentalH3ToLocalIj=z._experimentalH3ToLocalIj,A._experimentalLocalIjToH3=z._experimentalLocalIjToH3,A._free=z._free,A._geoToH3=z._geoToH3,A._getDestinationH3IndexFromUnidirectionalEdge=z._getDestinationH3IndexFromUnidirectionalEdge,A._getH3IndexesFromUnidirectionalEdge=z._getH3IndexesFromUnidirectionalEdge,A._getH3UnidirectionalEdge=z._getH3UnidirectionalEdge,A._getH3UnidirectionalEdgeBoundary=z._getH3UnidirectionalEdgeBoundary,A._getH3UnidirectionalEdgesFromHexagon=z._getH3UnidirectionalEdgesFromHexagon,A._getOriginH3IndexFromUnidirectionalEdge=z._getOriginH3IndexFromUnidirectionalEdge,A._getPentagonIndexes=z._getPentagonIndexes,A._getRes0Indexes=z._getRes0Indexes,A._h3Distance=z._h3Distance,A._h3GetBaseCell=z._h3GetBaseCell,A._h3GetFaces=z._h3GetFaces,A._h3IndexesAreNeighbors=z._h3IndexesAreNeighbors,A._h3IsPentagon=z._h3IsPentagon,A._h3IsResClassIII=z._h3IsResClassIII,A._h3IsValid=z._h3IsValid,A._h3Line=z._h3Line,A._h3LineSize=z._h3LineSize,A._h3SetToLinkedGeo=z._h3SetToLinkedGeo,A._h3ToCenterChild=z._h3ToCenterChild,A._h3ToChildren=z._h3ToChildren,A._h3ToGeo=z._h3ToGeo,A._h3ToGeoBoundary=z._h3ToGeoBoundary,A._h3ToParent=z._h3ToParent,A._h3UnidirectionalEdgeIsValid=z._h3UnidirectionalEdgeIsValid,A._hexAreaKm2=z._hexAreaKm2,A._hexAreaM2=z._hexAreaM2,A._hexRing=z._hexRing,A._i64Subtract=z._i64Subtract,A._kRing=z._kRing,A._kRingDistances=z._kRingDistances,A._llvm_minnum_f64=z._llvm_minnum_f64,A._llvm_round_f64=z._llvm_round_f64,A._malloc=z._malloc,A._maxFaceCount=z._maxFaceCount,A._maxH3ToChildrenSize=z._maxH3ToChildrenSize,A._maxKringSize=z._maxKringSize,A._maxPolyfillSize=z._maxPolyfillSize,A._maxUncompactSize=z._maxUncompactSize,A._memcpy=z._memcpy,A._memset=z._memset,A._numHexagons=z._numHexagons,A._pentagonIndexCount=z._pentagonIndexCount,A._pointDistKm=z._pointDistKm,A._pointDistM=z._pointDistM,A._pointDistRads=z._pointDistRads,A._polyfill=z._polyfill,A._res0IndexCount=z._res0IndexCount,A._round=z._round,A._sbrk=z._sbrk,A._sizeOfCoordIJ=z._sizeOfCoordIJ,A._sizeOfGeoBoundary=z._sizeOfGeoBoundary,A._sizeOfGeoCoord=z._sizeOfGeoCoord,A._sizeOfGeoPolygon=z._sizeOfGeoPolygon,A._sizeOfGeofence=z._sizeOfGeofence,A._sizeOfH3Index=z._sizeOfH3Index,A._sizeOfLinkedGeoPolygon=z._sizeOfLinkedGeoPolygon,A._uncompact=z._uncompact,A.establishStackSpace=z.establishStackSpace,A.stackAlloc=z.stackAlloc),te=A.stackRestore=z.stackRestore,Ae=A.stackSave=z.stackSave;if(A.asm=z,A.cwrap=function(e,t,A,n){var r=(A=A||[]).every((function(e){return"number"===e}));return"string"!==t&&r&&!n?l(e):function(){return I(e,t,A,arguments)}},A.setValue=function(e,t,A,n){switch("*"===(A=A||"i8").charAt(A.length-1)&&(A="i32"),A){case"i1":case"i8":d[e>>0]=t;break;case"i16":p[e>>1]=t;break;case"i32":E[e>>2]=t;break;case"i64":L=[t>>>0,(O=t,+G(O)>=1?O>0?(0|N(+x(O/4294967296),4294967295))>>>0:~~+k((O-+(~~O>>>0))/4294967296)>>>0:0)],E[e>>2]=L[0],E[e+4>>2]=L[1];break;case"float":Q[e>>2]=t;break;case"double":y[e>>3]=t;break;default:se("invalid type for setValue: "+A)}},A.getValue=function(e,t,A){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return d[e>>0];case"i16":return p[e>>1];case"i32":case"i64":return E[e>>2];case"float":return Q[e>>2];case"double":return y[e>>3];default:se("invalid type for getValue: "+t)}return null},A.getTempRet0=c,T){H(T)||(X=T,T=A.locateFile?A.locateFile(X,o):o+X),U++,A.monitorRunDependencies&&A.monitorRunDependencies(U);var ne=function(e){e.byteLength&&(e=new Uint8Array(e)),B.set(e,8),A.memoryInitializerRequest&&delete A.memoryInitializerRequest.response,function(e){if(U--,A.monitorRunDependencies&&A.monitorRunDependencies(U),0==U&&(null!==_&&(clearInterval(_),_=null),M)){var t=M;M=null,t()}}()},re=function(){r(T,ne,(function(){throw"could not load memory initializer "+T}))},ie=W(T);if(ie)ne(ie.buffer);else if(A.memoryInitializerRequest){var oe=function(){var e=A.memoryInitializerRequest,t=e.response;if(200!==e.status&&0!==e.status){var n=W(A.memoryInitializerRequestURL);if(!n)return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+e.status+", retrying "+T),void re();t=n.buffer}ne(t)};A.memoryInitializerRequest.response?setTimeout(oe,0):A.memoryInitializerRequest.addEventListener("load",oe)}else re()}function ae(e){function t(){q||(q=!0,u||(w(F),w(R),A.onRuntimeInitialized&&A.onRuntimeInitialized(),function(){if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)e=A.postRun.shift(),D.unshift(e);var e;w(D)}()))}e=e||i,U>0||(!function(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)e=A.preRun.shift(),S.unshift(e);var e;w(S)}(),U>0||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),t()}),1)):t()))}function se(e){throw A.onAbort&&A.onAbort(e),a(e+=""),s(e),u=!0,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(M=function e(){q||ae(),q||(M=e)},A.run=ae,A.abort=se,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return ae(),e}("object"===typeof n?n:{}),r="number",i={};[["sizeOfH3Index",r],["sizeOfGeoCoord",r],["sizeOfGeoBoundary",r],["sizeOfGeoPolygon",r],["sizeOfGeofence",r],["sizeOfLinkedGeoPolygon",r],["sizeOfCoordIJ",r],["h3IsValid","number",["number","number"]],["geoToH3","number",[r,r,"number"]],["h3ToGeo",null,["number","number",r]],["h3ToGeoBoundary",null,["number","number",r]],["maxKringSize",r,[r]],["kRing",null,["number","number",r,r]],["kRingDistances",null,["number","number",r,r,r]],["hexRing",null,["number","number",r,r]],["maxPolyfillSize",r,[r,"number"]],["polyfill",null,[r,"number",r]],["h3SetToLinkedGeo",null,[r,r,r]],["destroyLinkedPolygon",null,[r]],["compact",r,[r,r,r]],["uncompact",r,[r,r,r,r,"number"]],["maxUncompactSize",r,[r,r,"number"]],["h3IsPentagon","number",["number","number"]],["h3IsResClassIII","number",["number","number"]],["h3GetBaseCell",r,["number","number"]],["maxFaceCount",r,["number","number"]],["h3GetFaces",null,["number","number",r]],["h3ToParent","number",["number","number","number"]],["h3ToChildren",null,["number","number","number",r]],["h3ToCenterChild","number",["number","number","number"]],["maxH3ToChildrenSize",r,["number","number","number"]],["h3IndexesAreNeighbors","number",["number","number","number","number"]],["getH3UnidirectionalEdge","number",["number","number","number","number"]],["getOriginH3IndexFromUnidirectionalEdge","number",["number","number"]],["getDestinationH3IndexFromUnidirectionalEdge","number",["number","number"]],["h3UnidirectionalEdgeIsValid","number",["number","number"]],["getH3IndexesFromUnidirectionalEdge",null,["number","number",r]],["getH3UnidirectionalEdgesFromHexagon",null,["number","number",r]],["getH3UnidirectionalEdgeBoundary",null,["number","number",r]],["h3Distance",r,["number","number","number","number"]],["h3Line",r,["number","number","number","number",r]],["h3LineSize",r,["number","number","number","number"]],["experimentalH3ToLocalIj",r,["number","number","number","number",r]],["experimentalLocalIjToH3",r,["number","number",r,r]],["hexAreaM2",r,["number"]],["hexAreaKm2",r,["number"]],["edgeLengthM",r,["number"]],["edgeLengthKm",r,["number"]],["pointDistM",r,[r,r]],["pointDistKm",r,[r,r]],["pointDistRads",r,[r,r]],["cellAreaM2",r,["number","number"]],["cellAreaKm2",r,["number","number"]],["cellAreaRads2",r,["number","number"]],["exactEdgeLengthM",r,["number","number"]],["exactEdgeLengthKm",r,["number","number"]],["exactEdgeLengthRads",r,["number","number"]],["numHexagons",r,["number"]],["getRes0Indexes",null,[r]],["res0IndexCount",r],["getPentagonIndexes",null,[r,r]],["pentagonIndexCount",r]].forEach((function(e){i[e[0]]=n.cwrap.apply(n,e)}));var o=i.sizeOfH3Index(),a=i.sizeOfGeoCoord(),s=i.sizeOfGeoBoundary(),g=i.sizeOfGeoPolygon(),c=i.sizeOfGeofence(),u=i.sizeOfLinkedGeoPolygon(),l=i.sizeOfCoordIJ(),I={m:"m",m2:"m2",km:"km",km2:"km2",rads:"rads",rads2:"rads2"};function C(e){if("number"!==typeof e||e<0||e>15||Math.floor(e)!==e)throw new Error("Invalid resolution: "+e)}var h=/[^0-9a-fA-F]/;function f(e){if(Array.isArray(e)&&2===e.length&&Number.isInteger(e[0])&&Number.isInteger(e[1]))return e;if("string"!==typeof e||h.test(e))return[0,0];var t=parseInt(e.substring(0,e.length-8),16);return[parseInt(e.substring(e.length-8),16),t]}function d(e){if(e>=0)return e.toString(16);var t=p(8,(e&=2147483647).toString(16));return t=(parseInt(t[0],16)+8).toString(16)+t.substring(1)}function B(e,t){return d(t)+p(8,d(e))}function p(e,t){for(var A=e-t.length,n="",r=0;r<A;r++)n+="0";return n+=t}function E(e,t,A){for(var r=e.length,i=n._calloc(r,a),o=A?1:0,s=A?0:1,g=0;g<2*r;g+=2)n.HEAPF64.set([e[g/2][o],e[g/2][s]].map(de),i/8+g);return n.HEAPU32.set([r,i],t/4),t}function Q(e){return[e,n.getTempRet0()]}function y(e){var t=Q(e),A=t[0],n=t[1];return n?B(A,n):null}function v(e,t){void 0===t&&(t=0);var A=n.getValue(e+4*t*2,"i32"),r=n.getValue(e+4*(2*t+1),"i32");return r?B(A,r):null}function m(e,t,A){n.HEAPU32.set(f(e),t/4+2*A)}function b(e,t){for(var A=[],n=0;n<t;n++){var r=v(e,n);null!==r&&A.push(r)}return A}function w(e,t){for(var A=t.length,n=0;n<A;n++)m(t[n],e,n)}function S(e,t){var A=n._calloc(1,a);return n.HEAPF64.set([e,t].map(de),A/8),A}function F(e){return Be(n.getValue(e,"double"))}function R(e){return[F(e),F(e+8)]}function D(e){return[F(e+8),F(e)]}function G(e,t,A){for(var r=n.getValue(e,"i32"),i=e+8,o=[],a=t?D:R,s=0;s<2*r;s+=2)o.push(a(i+8*s));return A&&o.push(o[0]),o}function k(e){var t=f(e),A=t[0],n=t[1];return Boolean(i.h3IsValid(A,n))}function x(e){var t=f(e),A=t[0],n=t[1];return Boolean(i.h3IsPentagon(A,n))}function N(e){var t=f(e),A=t[0],n=t[1];return Boolean(i.h3IsResClassIII(A,n))}function U(e){var t=f(e),A=t[0],n=t[1];return i.h3GetBaseCell(A,n)}function _(e){var t=f(e),A=t[0],r=t[1],o=i.maxFaceCount(A,r),a=n._malloc(4*o);i.h3GetFaces(A,r,a);var s=function(e,t){for(var A=[],r=0;r<t;r++){var i=n.getValue(e+4*r,"i32");i>=0&&A.push(i)}return A}(a,o);return n._free(a),s}function M(e){return"string"!==typeof e?-1:parseInt(e.charAt(1),16)}function O(e,t,A){var r=n._malloc(a);n.HEAPF64.set([e,t].map(de),r/8);var o=y(i.geoToH3(r,A));return n._free(r),o}function L(e){var t=n._malloc(a),A=f(e),r=A[0],o=A[1];i.h3ToGeo(r,o,t);var s=R(t);return n._free(t),s}function T(e,t){var A=n._malloc(s),r=f(e),o=r[0],a=r[1];i.h3ToGeoBoundary(o,a,A);var g=G(A,t,t);return n._free(A),g}function Z(e,t){var A=f(e),n=A[0],r=A[1];return y(i.h3ToParent(n,r,t))}function H(e,t){if(!k(e))return[];var A=f(e),r=A[0],a=A[1],s=i.maxH3ToChildrenSize(r,a,t),g=n._calloc(s,o);i.h3ToChildren(r,a,t,g);var c=b(g,s);return n._free(g),c}function Y(e,t){var A=f(e),n=A[0],r=A[1];return y(i.h3ToCenterChild(n,r,t))}function J(e,t){var A=f(e),r=A[0],a=A[1],s=i.maxKringSize(t),g=n._calloc(s,o);i.kRing(r,a,t,g);var c=b(g,s);return n._free(g),c}function j(e,t){var A=f(e),r=A[0],a=A[1],s=i.maxKringSize(t),g=n._calloc(s,o),c=n._calloc(s,4);i.kRingDistances(r,a,t,g,c);for(var u=[],l=0;l<t+1;l++)u.push([]);for(var I=0;I<2*s;I+=2){var C=n.getValue(g+4*I,"i32"),h=n.getValue(g+4*(I+1),"i32"),d=n.getValue(c+I/2*4,"i32");0===C&&0===h||u[d].push(B(C,h))}return n._free(g),n._free(c),u}function P(e,t){var A=0===t?1:6*t,r=n._calloc(A,o);if(0!==i.hexRing.apply(i,f(e).concat([t],[r])))throw n._free(r),new Error("Failed to get hexRing (encountered a pentagon?)");var a=b(r,A);return n._free(r),a}function V(e,t,A){if(C(t),A=Boolean(A),0===e.length||0===e[0].length)return[];"number"===typeof e[0][0]&&(e=[e]);var r=function(e,t){var A,r=e.length-1,i=n._calloc(g),o=0+c,a=o+4;if(E(e[0],i+0,t),r>0){A=n._calloc(r,c);for(var s=0;s<r;s++)E(e[s+1],A+c*s,t)}return n.setValue(i+o,r,"i32"),n.setValue(i+a,A,"i32"),i}(e,A),a=i.maxPolyfillSize(r,t),s=n._calloc(a,o);i.polyfill(r,t,s);var u=b(s,a);return n._free(s),function(e){var t=0+c,A=t+4;n._free(n.getValue(e+0,"i8*"));for(var r=n.getValue(e+t,"i32"),i=0;i<r;i++)n._free(n.getValue(e+A+c*i,"i8*"));n._free(e)}(r),u}function K(e,t){if(!e||!e.length)return[];var A=e.length,r=n._calloc(A,o);w(r,e);var a=n._calloc(u),s=a;i.h3SetToLinkedGeo(r,A,a);var g=function(e,t){for(var A,r,i,o,a=[],s=t?D:R;e;){for(a.push(A=[]),r=n.getValue(e,"i8*");r;){for(A.push(i=[]),o=n.getValue(r,"i8*");o;)i.push(s(o)),o=n.getValue(o+16,"i8*");t&&i.push(i[0]),r=n.getValue(r+8,"i8*")}e=n.getValue(e+8,"i8*")}return a}(a,t);return i.destroyLinkedPolygon(s),n._free(s),n._free(r),g}function W(e){if(!e||!e.length)return[];var t=e.length,A=n._calloc(t,o);w(A,e);var r=n._calloc(t,o);if(0!==i.compact(A,r,t))throw n._free(A),n._free(r),new Error("Failed to compact, malformed input data (duplicate hexagons?)");var a=b(r,t);return n._free(A),n._free(r),a}function X(e,t){if(C(t),!e||!e.length)return[];var A=e.length,r=n._calloc(A,o);w(r,e);var a=i.maxUncompactSize(r,A,t),s=n._calloc(a,o);if(0!==i.uncompact(r,A,s,a,t))throw n._free(r),n._free(s),new Error("Failed to uncompact (bad resolution?)");var g=b(s,a);return n._free(r),n._free(s),g}function q(e,t){var A=f(e),n=A[0],r=A[1],o=f(t),a=o[0],s=o[1];return Boolean(i.h3IndexesAreNeighbors(n,r,a,s))}function z(e,t){var A=f(e),n=A[0],r=A[1],o=f(t),a=o[0],s=o[1];return y(i.getH3UnidirectionalEdge(n,r,a,s))}function $(e){var t=f(e),A=t[0],n=t[1];return y(i.getOriginH3IndexFromUnidirectionalEdge(A,n))}function ee(e){var t=f(e),A=t[0],n=t[1];return y(i.getDestinationH3IndexFromUnidirectionalEdge(A,n))}function te(e){var t=f(e),A=t[0],n=t[1];return Boolean(i.h3UnidirectionalEdgeIsValid(A,n))}function Ae(e){var t=f(e),A=t[0],r=t[1],a=n._calloc(2,o);i.getH3IndexesFromUnidirectionalEdge(A,r,a);var s=b(a,2);return n._free(a),s}function ne(e){var t=f(e),A=t[0],r=t[1],a=n._calloc(6,o);i.getH3UnidirectionalEdgesFromHexagon(A,r,a);var s=b(a,6);return n._free(a),s}function re(e,t){var A=n._malloc(s),r=f(e),o=r[0],a=r[1];i.getH3UnidirectionalEdgeBoundary(o,a,A);var g=G(A,t);return n._free(A),g}function ie(e,t){var A=f(e),n=A[0],r=A[1],o=f(t),a=o[0],s=o[1];return i.h3Distance(n,r,a,s)}function oe(e,t){var A=f(e),r=A[0],a=A[1],s=f(t),g=s[0],c=s[1],u=i.h3LineSize(r,a,g,c);if(u<0)throw new Error("Line cannot be calculated");var l=n._calloc(u,o);i.h3Line(r,a,g,c,l);var I=b(l,u);return n._free(l),I}function ae(e,t){var A,r=n._malloc(l),o=i.experimentalH3ToLocalIj.apply(i,f(e).concat(f(t),[r])),a=(A=r,{i:n.getValue(A,"i32"),j:n.getValue(A+4,"i32")});switch(n._free(r),o){case 0:return a;case 1:throw new Error("Incompatible origin and index.");case 2:default:throw new Error("Local IJ coordinates undefined for this origin and index pair. The index may be too far from the origin.");case 3:case 4:case 5:throw new Error("Encountered possible pentagon distortion")}}function se(e,t){if(!t||"number"!==typeof t.i||"number"!==typeof t.j)throw new Error("Coordinates must be provided as an {i, j} object");var A=n._malloc(l),r=n._malloc(o);!function(e,t){var A=t.i,r=t.j;n.setValue(e,A,"i32"),n.setValue(e+4,r,"i32")}(A,t);var a=i.experimentalLocalIjToH3.apply(i,f(e).concat([A],[r])),s=v(r);if(n._free(A),n._free(r),0!==a)throw new Error("Index not defined for this origin and IJ coordinates pair. IJ coordinates may be too far from origin, or a pentagon distortion was encountered.");return s}function ge(e,t,A){var r,o=S(e[0],e[1]),a=S(t[0],t[1]);switch(A){case I.m:r=i.pointDistM(o,a);break;case I.km:r=i.pointDistKm(o,a);break;case I.rads:r=i.pointDistRads(o,a);break;default:r=null}if(n._free(o),n._free(a),null===r)throw new Error("Unknown unit: "+A);return r}function ce(e,t){var A=f(e),n=A[0],r=A[1];switch(t){case I.m2:return i.cellAreaM2(n,r);case I.km2:return i.cellAreaKm2(n,r);case I.rads2:return i.cellAreaRads2(n,r);default:throw new Error("Unknown unit: "+t)}}function ue(e,t){var A=f(e),n=A[0],r=A[1];switch(t){case I.m:return i.exactEdgeLengthM(n,r);case I.km:return i.exactEdgeLengthKm(n,r);case I.rads:return i.exactEdgeLengthRads(n,r);default:throw new Error("Unknown unit: "+t)}}function le(e,t){switch(C(e),t){case I.m2:return i.hexAreaM2(e);case I.km2:return i.hexAreaKm2(e);default:throw new Error("Unknown unit: "+t)}}function Ie(e,t){switch(C(e),t){case I.m:return i.edgeLengthM(e);case I.km:return i.edgeLengthKm(e);default:throw new Error("Unknown unit: "+t)}}function Ce(e){C(e);var t=Q(i.numHexagons(e)),A=t[0],n=t[1];return n?n*Math.pow(2,32)+A:A}function he(){var e=i.res0IndexCount(),t=n._malloc(o*e);i.getRes0Indexes(t);var A=b(t,e);return n._free(t),A}function fe(e){C(e);var t=i.pentagonIndexCount(),A=n._malloc(o*t);i.getPentagonIndexes(e,A);var r=b(A,t);return n._free(A),r}function de(e){return e*Math.PI/180}function Be(e){return 180*e/Math.PI}},function(e,t,A){var n=A(1e3),r=A(1003)((function(e,t,A){n(e,t,A)}));e.exports=r},function(e,t,A){"use strict";A.d(t,"a",(function(){return B}));var n=A(8),r=A(6),i=A(1),o=A(4),a=A(9),s=A(10),g=A(18),c=A(62),u=A(92),l=A(80),I=A(184),C=A(26),h=A(108),f=[9729,9728],d=c.global.WebGLBuffer||function(){},B=function(e){Object(a.a)(A,e);var t=Object(s.a)(A);function A(e,n){var r;Object(i.a)(this,A);var o=n.id,a=void 0===o?Object(h.c)("texture"):o,s=n.handle,g=n.target;return(r=t.call(this,e,{id:a,handle:s})).target=g,r.textureUnit=void 0,r.loaded=!1,r.width=void 0,r.height=void 0,r.depth=void 0,r.format=void 0,r.type=void 0,r.dataFormat=void 0,r.border=void 0,r.textureUnit=void 0,r.mipmaps=void 0,r}return Object(o.a)(A,null,[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.format,n=t.linearFiltering,r=!0;return A&&(r=(r=r&&Object(I.d)(e,A))&&(!n||Object(I.e)(e,A))),r}}]),Object(o.a)(A,[{key:"toString",value:function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")}},{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=t.data;if(A instanceof Promise)return A.then((function(A){return e.initialize(Object.assign({},t,{pixels:A,data:A}))})),this;var n="undefined"!==typeof HTMLVideoElement&&A instanceof HTMLVideoElement;if(n&&A.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,A.addEventListener("loadeddata",(function(){return e.initialize(t)})),this;var r=t.pixels,i=void 0===r?null:r,o=t.format,a=void 0===o?6408:o,s=t.border,c=void 0===s?0:s,u=t.recreate,l=void 0!==u&&u,I=t.parameters,C=void 0===I?{}:I,h=t.pixelStore,f=void 0===h?{}:h,d=t.textureUnit,B=void 0===d?void 0:d;A||(A=i);var p=t.width,E=t.height,Q=t.dataFormat,y=t.type,v=t.compressed,m=void 0!==v&&v,b=t.mipmaps,w=void 0===b||b,S=t.depth,F=void 0===S?0:S,R=this._deduceParameters({format:a,type:y,dataFormat:Q,compressed:m,data:A,width:p,height:E});return p=R.width,E=R.height,m=R.compressed,Q=R.dataFormat,y=R.type,this.width=p,this.height=E,this.depth=F,this.format=a,this.type=y,this.dataFormat=Q,this.border=c,this.textureUnit=B,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),w&&this._isNPOT()&&(g.k.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),w=!1,this._updateForNPOT(C)),this.mipmaps=w,this.setImageData({data:A,width:p,height:E,depth:F,format:a,type:y,dataFormat:Q,border:c,mipmaps:w,parameters:f,compressed:m}),w&&this.generateMipmap(),this.setParameters(C),l&&(this.data=A),n&&(this._video={video:A,parameters:C,lastTime:A.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?A.currentTime:-1}),this}},{key:"update",value:function(){if(this._video){var e=this._video,t=e.video,A=e.parameters;if(e.lastTime===t.currentTime||t.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:t,parameters:A}),this.mipmaps&&this.generateMipmap(),this._video.lastTime=t.currentTime}}},{key:"resize",value:function(e){var t=e.height,A=e.width,n=e.mipmaps,r=void 0!==n&&n;return A!==this.width||t!==this.height?this.initialize({width:A,height:t,format:this.format,type:this.type,dataFormat:this.dataFormat,border:this.border,mipmaps:r}):this}},{key:"generateMipmap",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._isNPOT()?(g.k.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Object(g.o)(this.gl,t,(function(){e.gl.generateMipmap(e.target)})),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(e){this._trackDeallocatedMemory("Texture");var t=e.target,A=void 0===t?this.target:t,i=e.pixels,o=void 0===i?null:i,a=e.level,s=void 0===a?0:a,c=e.format,u=void 0===c?this.format:c,l=e.border,h=void 0===l?this.border:l,f=e.offset,d=void 0===f?0:f,B=e.parameters,p=void 0===B?{}:B,E=e.data,Q=void 0===E?null:E,y=e.type,v=void 0===y?this.type:y,m=e.width,b=void 0===m?this.width:m,w=e.height,S=void 0===w?this.height:w,F=e.dataFormat,R=void 0===F?this.dataFormat:F,D=e.compressed,G=void 0!==D&&D;Q||(Q=o);var k=this._deduceParameters({format:u,type:v,dataFormat:R,compressed:G,data:Q,width:b,height:S});v=k.type,R=k.dataFormat,G=k.compressed,b=k.width,S=k.height;var x=this.gl;x.bindTexture(this.target,this.handle);var N,U,_=this._getDataType({data:Q,compressed:G});if(Q=_.data,N=_.dataType,Object(g.o)(this.gl,p,(function(){switch(N){case"null":x.texImage2D(A,s,u,b,S,h,R,v,Q);break;case"typed-array":x.texImage2D(A,s,u,b,S,h,R,v,Q,d);break;case"buffer":(U=Object(g.a)(x)).bindBuffer(35052,Q.handle||Q),U.texImage2D(A,s,u,b,S,h,R,v,d),U.bindBuffer(35052,null);break;case"browser-object":Object(g.j)(x)?x.texImage2D(A,s,u,b,S,h,R,v,Q):x.texImage2D(A,s,u,R,v,Q);break;case"compressed":var e,t=Object(r.a)(Q.entries());try{for(t.s();!(e=t.n()).done;){var i=Object(n.a)(e.value,2),o=i[0],a=i[1];x.compressedTexImage2D(A,o,a.format,a.width,a.height,h,a.data)}}catch(c){t.e(c)}finally{t.f()}break;default:Object(C.a)(!1,"Unknown image data type")}})),Q&&Q.byteLength)this._trackAllocatedMemory(Q.byteLength,"Texture");else{var M=I.a[this.dataFormat]||4,O=I.c[this.type]||1;this._trackAllocatedMemory(this.width*this.height*M*O,"Texture")}return this.loaded=!0,this}},{key:"setSubImageData",value:function(e){var t=this,A=e.target,n=void 0===A?this.target:A,r=e.pixels,i=void 0===r?null:r,o=e.data,a=void 0===o?null:o,s=e.x,c=void 0===s?0:s,u=e.y,I=void 0===u?0:u,h=e.width,f=void 0===h?this.width:h,B=e.height,p=void 0===B?this.height:B,E=e.level,Q=void 0===E?0:E,y=e.format,v=void 0===y?this.format:y,m=e.type,b=void 0===m?this.type:m,w=e.dataFormat,S=void 0===w?this.dataFormat:w,F=e.compressed,R=void 0!==F&&F,D=e.offset,G=void 0===D?0:D,k=e.border,x=(void 0===k&&this.border,e.parameters),N=void 0===x?{}:x,U=this._deduceParameters({format:v,type:b,dataFormat:S,compressed:R,data:a,width:f,height:p});if(b=U.type,S=U.dataFormat,R=U.compressed,f=U.width,p=U.height,Object(C.a)(0===this.depth,"texSubImage not supported for 3D textures"),a||(a=i),a&&a.data){var _=a;a=_.data,f=_.shape[0],p=_.shape[1]}a instanceof l.a&&(a=a.handle),this.gl.bindTexture(this.target,this.handle),Object(g.o)(this.gl,N,(function(){if(R)t.gl.compressedTexSubImage2D(n,Q,c,I,f,p,v,a);else if(null===a)t.gl.texSubImage2D(n,Q,c,I,f,p,S,b,null);else if(ArrayBuffer.isView(a))t.gl.texSubImage2D(n,Q,c,I,f,p,S,b,a,G);else if(a instanceof d){var e=Object(g.a)(t.gl);e.bindBuffer(35052,a),e.texSubImage2D(n,Q,c,I,f,p,S,b,G),e.bindBuffer(35052,null)}else if(Object(g.j)(t.gl)){Object(g.a)(t.gl).texSubImage2D(n,Q,c,I,f,p,S,b,a)}else t.gl.texSubImage2D(n,Q,c,I,S,b,a)})),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return g.k.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(34016)-33984}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}},{key:"_getDataType",value:function(e){var t=e.data,A=e.compressed;return void 0!==A&&A?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof l.a?{data:t.handle,dataType:"buffer"}:t instanceof d?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(e){var t=e.format,A=e.data,n=e.width,r=e.height,i=e.dataFormat,o=e.type,a=e.compressed,s=I.b[t];i=i||s&&s.dataFormat,o=o||s&&s.types[0],a=a||s&&s.compressed;var g=this._deduceImageSize(A,n,r);return{dataFormat:i,type:o,compressed:a,width:n=g.width,height:r=g.height,format:t,data:A}}},{key:"_deduceImageSize",value:function(e,t,A){var n;return n="undefined"!==typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!==typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!==typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!==typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:A}:{width:t>=0?t:1,height:A>=0?A:1},Object(C.a)(n,"Could not deduced texture size"),Object(C.a)(void 0===t||n.width===t,"Deduced texture width does not match supplied width"),Object(C.a)(void 0===A||n.height===A,"Deduced texture height does not match supplied height"),n}},{key:"_createHandle",value:function(){return this.gl.createTexture()}},{key:"_deleteHandle",value:function(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}},{key:"_getParameter",value:function(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);var t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}},{key:"_setParameter",value:function(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:Object(C.a)(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}},{key:"_isNPOT",value:function(){return!Object(g.j)(this.gl)&&(!(!this.width||!this.height)&&(!Object(h.b)(this.width)||!Object(h.b)(this.height)))}},{key:"_updateForNPOT",value:function(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}},{key:"_getNPOTParam",value:function(e,t){if(this._isNPOT())switch(e){case 10241:-1===f.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}]),A}(u.a)},function(e,t,A){"use strict";function n(e,t,A){var n=t[0],r=t[1],i=A[3]*n+A[7]*r||1;return e[0]=(A[0]*n+A[4]*r)/i,e[1]=(A[1]*n+A[5]*r)/i,e}function r(e,t,A){var n=t[0],r=t[1],i=t[2],o=A[3]*n+A[7]*r+A[11]*i||1;return e[0]=(A[0]*n+A[4]*r+A[8]*i)/o,e[1]=(A[1]*n+A[5]*r+A[9]*i)/o,e[2]=(A[2]*n+A[6]*r+A[10]*i)/o,e}function i(e,t,A){var n=t[0],r=t[1];return e[0]=A[0]*n+A[2]*r,e[1]=A[1]*n+A[3]*r,e[2]=t[2],e}function o(e,t,A){var n=t[0],r=t[1];return e[0]=A[0]*n+A[2]*r,e[1]=A[1]*n+A[3]*r,e[2]=t[2],e[3]=t[3],e}function a(e,t,A){var n=t[0],r=t[1],i=t[2];return e[0]=A[0]*n+A[3]*r+A[6]*i,e[1]=A[1]*n+A[4]*r+A[7]*i,e[2]=A[2]*n+A[5]*r+A[8]*i,e[3]=t[3],e}A.d(t,"a",(function(){return n})),A.d(t,"c",(function(){return r})),A.d(t,"b",(function(){return i})),A.d(t,"d",(function(){return o})),A.d(t,"e",(function(){return a}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return r})),A.d(t,"i",(function(){return i})),A.d(t,"d",(function(){return o})),A.d(t,"b",(function(){return a})),A.d(t,"e",(function(){return s})),A.d(t,"h",(function(){return g})),A.d(t,"f",(function(){return c})),A.d(t,"g",(function(){return u})),A.d(t,"c",(function(){return l}));var n=A(30);function r(){var e=new n.a(9);return n.a!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function i(e,t){if(e===t){var A=t[1],n=t[2],r=t[5];e[1]=t[3],e[2]=t[6],e[3]=A,e[5]=t[7],e[6]=n,e[7]=r}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function o(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=t[4],a=t[5],s=t[6],g=t[7],c=t[8],u=c*o-a*g,l=-c*i+a*s,I=g*i-o*s,C=A*u+n*l+r*I;return C?(C=1/C,e[0]=u*C,e[1]=(-c*n+r*g)*C,e[2]=(a*n-r*o)*C,e[3]=l*C,e[4]=(c*A-r*s)*C,e[5]=(-a*A+r*i)*C,e[6]=I*C,e[7]=(-g*A+n*s)*C,e[8]=(o*A-n*i)*C,e):null}function a(e){var t=e[0],A=e[1],n=e[2],r=e[3],i=e[4],o=e[5],a=e[6],s=e[7],g=e[8];return t*(g*i-o*s)+A*(-g*r+o*a)+n*(s*r-i*a)}function s(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],g=t[6],c=t[7],u=t[8],l=A[0],I=A[1],C=A[2],h=A[3],f=A[4],d=A[5],B=A[6],p=A[7],E=A[8];return e[0]=l*n+I*o+C*g,e[1]=l*r+I*a+C*c,e[2]=l*i+I*s+C*u,e[3]=h*n+f*o+d*g,e[4]=h*r+f*a+d*c,e[5]=h*i+f*s+d*u,e[6]=B*n+p*o+E*g,e[7]=B*r+p*a+E*c,e[8]=B*i+p*s+E*u,e}function g(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],g=t[6],c=t[7],u=t[8],l=A[0],I=A[1];return e[0]=n,e[1]=r,e[2]=i,e[3]=o,e[4]=a,e[5]=s,e[6]=l*n+I*o+g,e[7]=l*r+I*a+c,e[8]=l*i+I*s+u,e}function c(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],g=t[6],c=t[7],u=t[8],l=Math.sin(A),I=Math.cos(A);return e[0]=I*n+l*o,e[1]=I*r+l*a,e[2]=I*i+l*s,e[3]=I*o-l*n,e[4]=I*a-l*r,e[5]=I*s-l*i,e[6]=g,e[7]=c,e[8]=u,e}function u(e,t,A){var n=A[0],r=A[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=r*t[3],e[4]=r*t[4],e[5]=r*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function l(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=A+A,a=n+n,s=r+r,g=A*o,c=n*o,u=n*a,l=r*o,I=r*a,C=r*s,h=i*o,f=i*a,d=i*s;return e[0]=1-u-C,e[3]=c-d,e[6]=l+f,e[1]=c+d,e[4]=1-g-C,e[7]=I-h,e[2]=l-f,e[5]=I+h,e[8]=1-g-u,e}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t){e.exports=function(){throw new Error("define cannot be used indirect")}},function(e,t,A){var n=A(251);function r(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return r=function(){return e},e}e.exports=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=r();if(t&&t.has(e))return t.get(e);var A={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(A,o,a):A[o]=e[o]}return A.default=e,t&&t.set(e,A),A}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n.createSvgIcon}});var n=A(654)},function(e,t,A){"use strict";var n=Math.sqrt(50),r=Math.sqrt(10),i=Math.sqrt(2);var o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function a(e){if(!(t=o.exec(e)))throw new Error("invalid format: "+e);var t;return new s({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function s(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}a.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};function g(e,t){if((A=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var A,n=e.slice(0,A);return[n.length>1?n[0]+n.slice(2):n,+e.slice(A+1)]}var c,u,l,I,C=function(e){return(e=g(Math.abs(e)))?e[1]:NaN},h=function(e,t){var A=g(e,t);if(!A)return e+"";var n=A[0],r=A[1];return r<0?"0."+new Array(-r).join("0")+n:n.length>r+1?n.slice(0,r+1)+"."+n.slice(r+1):n+new Array(r-n.length+2).join("0")},f={"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return h(100*e,t)},r:h,s:function(e,t){var A=g(e,t);if(!A)return e+"";var n=A[0],r=A[1],i=r-(c=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,o=n.length;return i===o?n:i>o?n+new Array(i-o+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+g(e,Math.max(0,t+i-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}},d=function(e){return e},B=Array.prototype.map,p=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"],E=function(e){var t,A,n=void 0===e.grouping||void 0===e.thousands?d:(t=B.call(e.grouping,Number),A=e.thousands+"",function(e,n){for(var r=e.length,i=[],o=0,a=t[0],s=0;r>0&&a>0&&(s+a+1>n&&(a=Math.max(1,n-s)),i.push(e.substring(r-=a,r+a)),!((s+=a+1)>n));)a=t[o=(o+1)%t.length];return i.reverse().join(A)}),r=void 0===e.currency?"":e.currency[0]+"",i=void 0===e.currency?"":e.currency[1]+"",o=void 0===e.decimal?".":e.decimal+"",s=void 0===e.numerals?d:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(B.call(e.numerals,String)),g=void 0===e.percent?"%":e.percent+"",u=void 0===e.minus?"\u2212":e.minus+"",l=void 0===e.nan?"NaN":e.nan+"";function I(e){var t=(e=a(e)).fill,A=e.align,I=e.sign,C=e.symbol,h=e.zero,d=e.width,B=e.comma,E=e.precision,Q=e.trim,y=e.type;"n"===y?(B=!0,y="g"):f[y]||(void 0===E&&(E=12),Q=!0,y="g"),(h||"0"===t&&"="===A)&&(h=!0,t="0",A="=");var v="$"===C?r:"#"===C&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",m="$"===C?i:/[%p]/.test(y)?g:"",b=f[y],w=/[defgprs%]/.test(y);function S(e){var r,i,a,g=v,C=m;if("c"===y)C=b(e)+C,e="";else{var f=(e=+e)<0||1/e<0;if(e=isNaN(e)?l:b(Math.abs(e),E),Q&&(e=function(e){e:for(var t,A=e.length,n=1,r=-1;n<A;++n)switch(e[n]){case".":r=t=n;break;case"0":0===r&&(r=n),t=n;break;default:if(!+e[n])break e;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(t+1):e}(e)),f&&0===+e&&"+"!==I&&(f=!1),g=(f?"("===I?I:u:"-"===I||"("===I?"":I)+g,C=("s"===y?p[8+c/3]:"")+C+(f&&"("===I?")":""),w)for(r=-1,i=e.length;++r<i;)if(48>(a=e.charCodeAt(r))||a>57){C=(46===a?o+e.slice(r+1):e.slice(r))+C,e=e.slice(0,r);break}}B&&!h&&(e=n(e,1/0));var S=g.length+e.length+C.length,F=S<d?new Array(d-S+1).join(t):"";switch(B&&h&&(e=n(F+e,F.length?d-C.length:1/0),F=""),A){case"<":e=g+e+C+F;break;case"=":e=g+F+e+C;break;case"^":e=F.slice(0,S=F.length>>1)+g+e+C+F.slice(S);break;default:e=F+g+e+C}return s(e)}return E=void 0===E?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,E)):Math.max(0,Math.min(20,E)),S.toString=function(){return e+""},S}return{format:I,formatPrefix:function(e,t){var A=I(((e=a(e)).type="f",e)),n=3*Math.max(-8,Math.min(8,Math.floor(C(t)/3))),r=Math.pow(10,-n),i=p[8+n/3];return function(e){return A(r*e)+i}}}};u=E({thousands:",",grouping:[3],currency:["$",""]}),l=u.format,I=u.formatPrefix;var Q=A(46),y=A(5),v=A(1270),m=A(1271),b=A(1272),w=A(1273),S=A(1274),F=A(1275);function R(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function D(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function G(e,t,A){return{y:e,m:t,d:A,H:0,M:0,S:0,L:0}}function k(e){var t=e.dateTime,A=e.date,n=e.time,r=e.periods,i=e.days,o=e.shortDays,a=e.months,s=e.shortMonths,g=P(r),c=V(r),u=P(i),l=V(i),I=P(o),C=V(o),h=P(a),f=V(a),d=P(s),B=V(s),p={a:function(e){return o[e.getDay()]},A:function(e){return i[e.getDay()]},b:function(e){return s[e.getMonth()]},B:function(e){return a[e.getMonth()]},c:null,d:Ce,e:Ce,f:pe,g:De,G:ke,H:he,I:fe,j:de,L:Be,m:Ee,M:Qe,p:function(e){return r[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:tt,s:At,S:ye,u:ve,U:me,V:we,w:Se,W:Fe,x:null,X:null,y:Re,Y:Ge,Z:xe,"%":et},E={a:function(e){return o[e.getUTCDay()]},A:function(e){return i[e.getUTCDay()]},b:function(e){return s[e.getUTCMonth()]},B:function(e){return a[e.getUTCMonth()]},c:null,d:Ne,e:Ne,f:Le,g:Xe,G:ze,H:Ue,I:_e,j:Me,L:Oe,m:Te,M:Ze,p:function(e){return r[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:tt,s:At,S:He,u:Ye,U:Je,V:Pe,w:Ve,W:Ke,x:null,X:null,y:We,Y:qe,Z:$e,"%":et},Q={a:function(e,t,A){var n=I.exec(t.slice(A));return n?(e.w=C.get(n[0].toLowerCase()),A+n[0].length):-1},A:function(e,t,A){var n=u.exec(t.slice(A));return n?(e.w=l.get(n[0].toLowerCase()),A+n[0].length):-1},b:function(e,t,A){var n=d.exec(t.slice(A));return n?(e.m=B.get(n[0].toLowerCase()),A+n[0].length):-1},B:function(e,t,A){var n=h.exec(t.slice(A));return n?(e.m=f.get(n[0].toLowerCase()),A+n[0].length):-1},c:function(e,A,n){return F(e,t,A,n)},d:re,e:re,f:ce,g:ee,G:$,H:oe,I:oe,j:ie,L:ge,m:ne,M:ae,p:function(e,t,A){var n=g.exec(t.slice(A));return n?(e.p=c.get(n[0].toLowerCase()),A+n[0].length):-1},q:Ae,Q:le,s:Ie,S:se,u:W,U:X,V:q,w:K,W:z,x:function(e,t,n){return F(e,A,t,n)},X:function(e,t,A){return F(e,n,t,A)},y:ee,Y:$,Z:te,"%":ue};function y(e,t){return function(A){var n,r,i,o=[],a=-1,s=0,g=e.length;for(A instanceof Date||(A=new Date(+A));++a<g;)37===e.charCodeAt(a)&&(o.push(e.slice(s,a)),null!=(r=T[n=e.charAt(++a)])?n=e.charAt(++a):r="e"===n?" ":"0",(i=t[n])&&(n=i(A,r)),o.push(n),s=a+1);return o.push(e.slice(s,a)),o.join("")}}function S(e,t){return function(A){var n,r,i=G(1900,void 0,1);if(F(i,e,A+="",0)!=A.length)return null;if("Q"in i)return new Date(i.Q);if("s"in i)return new Date(1e3*i.s+("L"in i?i.L:0));if(t&&!("Z"in i)&&(i.Z=0),"p"in i&&(i.H=i.H%12+12*i.p),void 0===i.m&&(i.m="q"in i?i.q:0),"V"in i){if(i.V<1||i.V>53)return null;"w"in i||(i.w=1),"Z"in i?(r=(n=D(G(i.y,0,1))).getUTCDay(),n=r>4||0===r?v.a.ceil(n):Object(v.a)(n),n=m.a.offset(n,7*(i.V-1)),i.y=n.getUTCFullYear(),i.m=n.getUTCMonth(),i.d=n.getUTCDate()+(i.w+6)%7):(r=(n=R(G(i.y,0,1))).getDay(),n=r>4||0===r?b.a.ceil(n):Object(b.a)(n),n=w.a.offset(n,7*(i.V-1)),i.y=n.getFullYear(),i.m=n.getMonth(),i.d=n.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),r="Z"in i?D(G(i.y,0,1)).getUTCDay():R(G(i.y,0,1)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(r+5)%7:i.w+7*i.U-(r+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,D(i)):R(i)}}function F(e,t,A,n){for(var r,i,o=0,a=t.length,s=A.length;o<a;){if(n>=s)return-1;if(37===(r=t.charCodeAt(o++))){if(r=t.charAt(o++),!(i=Q[r in T?t.charAt(o++):r])||(n=i(e,A,n))<0)return-1}else if(r!=A.charCodeAt(n++))return-1}return n}return p.x=y(A,p),p.X=y(n,p),p.c=y(t,p),E.x=y(A,E),E.X=y(n,E),E.c=y(t,E),{format:function(e){var t=y(e+="",p);return t.toString=function(){return e},t},parse:function(e){var t=S(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=y(e+="",E);return t.toString=function(){return e},t},utcParse:function(e){var t=S(e+="",!0);return t.toString=function(){return e},t}}}var x,N,U,_,M,O,L,T={"-":"",_:" ",0:"0"},Z=/^\s*\d+/,H=/^%/,Y=/[\\^$*+?|[\]().{}]/g;function J(e,t,A){var n=e<0?"-":"",r=(n?-e:e)+"",i=r.length;return n+(i<A?new Array(A-i+1).join(t)+r:r)}function j(e){return e.replace(Y,"\\$&")}function P(e){return new RegExp("^(?:"+e.map(j).join("|")+")","i")}function V(e){return new Map(e.map((function(e,t){return[e.toLowerCase(),t]})))}function K(e,t,A){var n=Z.exec(t.slice(A,A+1));return n?(e.w=+n[0],A+n[0].length):-1}function W(e,t,A){var n=Z.exec(t.slice(A,A+1));return n?(e.u=+n[0],A+n[0].length):-1}function X(e,t,A){var n=Z.exec(t.slice(A,A+2));return n?(e.U=+n[0],A+n[0].length):-1}function q(e,t,A){var n=Z.exec(t.slice(A,A+2));return n?(e.V=+n[0],A+n[0].length):-1}function z(e,t,A){var n=Z.exec(t.slice(A,A+2));return n?(e.W=+n[0],A+n[0].length):-1}function $(e,t,A){var n=Z.exec(t.slice(A,A+4));return n?(e.y=+n[0],A+n[0].length):-1}function ee(e,t,A){var n=Z.exec(t.slice(A,A+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),A+n[0].length):-1}function te(e,t,A){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(A,A+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),A+n[0].length):-1}function Ae(e,t,A){var n=Z.exec(t.slice(A,A+1));return n?(e.q=3*n[0]-3,A+n[0].length):-1}function ne(e,t,A){var n=Z.exec(t.slice(A,A+2));return n?(e.m=n[0]-1,A+n[0].length):-1}function re(e,t,A){var n=Z.exec(t.slice(A,A+2));return n?(e.d=+n[0],A+n[0].length):-1}function ie(e,t,A){var n=Z.exec(t.slice(A,A+3));return n?(e.m=0,e.d=+n[0],A+n[0].length):-1}function oe(e,t,A){var n=Z.exec(t.slice(A,A+2));return n?(e.H=+n[0],A+n[0].length):-1}function ae(e,t,A){var n=Z.exec(t.slice(A,A+2));return n?(e.M=+n[0],A+n[0].length):-1}function se(e,t,A){var n=Z.exec(t.slice(A,A+2));return n?(e.S=+n[0],A+n[0].length):-1}function ge(e,t,A){var n=Z.exec(t.slice(A,A+3));return n?(e.L=+n[0],A+n[0].length):-1}function ce(e,t,A){var n=Z.exec(t.slice(A,A+6));return n?(e.L=Math.floor(n[0]/1e3),A+n[0].length):-1}function ue(e,t,A){var n=H.exec(t.slice(A,A+1));return n?A+n[0].length:-1}function le(e,t,A){var n=Z.exec(t.slice(A));return n?(e.Q=+n[0],A+n[0].length):-1}function Ie(e,t,A){var n=Z.exec(t.slice(A));return n?(e.s=+n[0],A+n[0].length):-1}function Ce(e,t){return J(e.getDate(),t,2)}function he(e,t){return J(e.getHours(),t,2)}function fe(e,t){return J(e.getHours()%12||12,t,2)}function de(e,t){return J(1+w.a.count(Object(S.a)(e),e),t,3)}function Be(e,t){return J(e.getMilliseconds(),t,3)}function pe(e,t){return Be(e,t)+"000"}function Ee(e,t){return J(e.getMonth()+1,t,2)}function Qe(e,t){return J(e.getMinutes(),t,2)}function ye(e,t){return J(e.getSeconds(),t,2)}function ve(e){var t=e.getDay();return 0===t?7:t}function me(e,t){return J(b.b.count(Object(S.a)(e)-1,e),t,2)}function be(e){var t=e.getDay();return t>=4||0===t?Object(b.c)(e):b.c.ceil(e)}function we(e,t){return e=be(e),J(b.c.count(Object(S.a)(e),e)+(4===Object(S.a)(e).getDay()),t,2)}function Se(e){return e.getDay()}function Fe(e,t){return J(b.a.count(Object(S.a)(e)-1,e),t,2)}function Re(e,t){return J(e.getFullYear()%100,t,2)}function De(e,t){return J((e=be(e)).getFullYear()%100,t,2)}function Ge(e,t){return J(e.getFullYear()%1e4,t,4)}function ke(e,t){var A=e.getDay();return J((e=A>=4||0===A?Object(b.c)(e):b.c.ceil(e)).getFullYear()%1e4,t,4)}function xe(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+J(t/60|0,"0",2)+J(t%60,"0",2)}function Ne(e,t){return J(e.getUTCDate(),t,2)}function Ue(e,t){return J(e.getUTCHours(),t,2)}function _e(e,t){return J(e.getUTCHours()%12||12,t,2)}function Me(e,t){return J(1+m.a.count(Object(F.a)(e),e),t,3)}function Oe(e,t){return J(e.getUTCMilliseconds(),t,3)}function Le(e,t){return Oe(e,t)+"000"}function Te(e,t){return J(e.getUTCMonth()+1,t,2)}function Ze(e,t){return J(e.getUTCMinutes(),t,2)}function He(e,t){return J(e.getUTCSeconds(),t,2)}function Ye(e){var t=e.getUTCDay();return 0===t?7:t}function Je(e,t){return J(v.b.count(Object(F.a)(e)-1,e),t,2)}function je(e){var t=e.getUTCDay();return t>=4||0===t?Object(v.c)(e):v.c.ceil(e)}function Pe(e,t){return e=je(e),J(v.c.count(Object(F.a)(e),e)+(4===Object(F.a)(e).getUTCDay()),t,2)}function Ve(e){return e.getUTCDay()}function Ke(e,t){return J(v.a.count(Object(F.a)(e)-1,e),t,2)}function We(e,t){return J(e.getUTCFullYear()%100,t,2)}function Xe(e,t){return J((e=je(e)).getUTCFullYear()%100,t,2)}function qe(e,t){return J(e.getUTCFullYear()%1e4,t,4)}function ze(e,t){var A=e.getUTCDay();return J((e=A>=4||0===A?Object(v.c)(e):v.c.ceil(e)).getUTCFullYear()%1e4,t,4)}function $e(){return"+0000"}function et(){return"%"}function tt(e){return+e}function At(e){return Math.floor(+e/1e3)}function nt(e){var t={};return function(A){return t[A]||(t[A]=e(A))}}function rt(e){var t=nt(e.format),A=e.formatPrefix;return{format:t,formatPrefix:A,formatFloat:function(e){var A,n,r=a(e||",");if(null==r.precision){switch(r.precision=12,r.type){case"%":r.precision-=2;break;case"e":r.precision-=1}return A=t(r),n=t(".1f")(1)[1],function(e){var t=A(e),r=t.indexOf(n);if(r<0)return t;for(var i=function(e,t){var A,n=e.lastIndexOf("e");if(n>0)return n;for(n=e.length;--n>t;)if((A=e.charCodeAt(n))>=48&&A<=57)return n+1}(t,r),o=i<t.length?t.slice(i):"";--i>r;)if("0"!==t[i]){++i;break}return t.slice(0,i)+o}}return t(r)},formatSpan:function(e,o,s,g){g=a(null==g?",f":g);var c,u=function(e,t,A){var o=Math.abs(t-e)/Math.max(0,A),a=Math.pow(10,Math.floor(Math.log(o)/Math.LN10)),s=o/a;return s>=n?a*=10:s>=r?a*=5:s>=i&&(a*=2),t<e?-a:a}(e,o,s),l=Math.max(Math.abs(e),Math.abs(o));if(null==g.precision)switch(g.type){case"s":return isNaN(c=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(C(t)/3)))-C(Math.abs(e)))}(u,l))||(g.precision=c),A(g,l);case"":case"e":case"g":case"p":case"r":isNaN(c=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,C(t)-C(e))+1}(u,l))||(g.precision=c-("e"===g.type));break;case"f":case"%":isNaN(c=function(e){return Math.max(0,-C(Math.abs(e)))}(u))||(g.precision=c-2*("%"===g.type))}return t(g)}}}function it(){return O=rt({format:l,formatPrefix:I})}function ot(e){return rt(E(e))}function at(e){return arguments.length?O=ot(e):O}function st(e,t,A){A=A||{},Object(y.H)(A)||Object(y.o)("Invalid time multi-format specifier: ".concat(A));var n=t(Q.i),r=t(Q.f),i=t(Q.d),o=t(Q.a),a=t(Q.k),s=t(Q.g),g=t(Q.h),c=t(Q.l),u=e(A[Q.e]||".%L"),l=e(A[Q.i]||":%S"),I=e(A[Q.f]||"%I:%M"),C=e(A[Q.d]||"%I %p"),h=e(A[Q.a]||A[Q.b]||"%a %d"),f=e(A[Q.k]||"%b %d"),d=e(A[Q.g]||"%B"),B=e(A[Q.h]||"%B"),p=e(A[Q.l]||"%Y");return function(e){return(n(e)<e?u:r(e)<e?l:i(e)<e?I:o(e)<e?C:s(e)<e?a(e)<e?h:f:c(e)<e?g(e)<e?d:B:p)(e)}}function gt(e){var t=nt(e.format),A=nt(e.utcFormat);return{timeFormat:function(e){return Object(y.J)(e)?t(e):st(t,Q.p,e)},utcFormat:function(e){return Object(y.J)(e)?A(e):st(A,Q.v,e)},timeParse:nt(e.parse),utcParse:nt(e.utcParse)}}function ct(){return L=gt({format:N,parse:U,utcFormat:_,utcParse:M})}function ut(e){return gt(k(e))}function lt(e){return arguments.length?L=ut(e):L}!function(e){x=k(e),N=x.format,U=x.parse,_=x.utcFormat,M=x.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),A.d(t,"a",(function(){return ht})),A.d(t,"b",(function(){return Ct})),A.d(t,"c",(function(){return at})),A.d(t,"d",(function(){return ft})),A.d(t,"e",(function(){return lt})),it(),ct();var It=function(e,t){return Object(y.p)({},e,t)};function Ct(e,t){var A=e?ot(e):at(),n=t?ut(t):lt();return It(A,n)}function ht(e,t){var A=arguments.length;return A&&2!==A&&Object(y.o)("defaultLocale expects either zero or two arguments."),A?It(at(e),lt(t)):It(at(),lt())}function ft(){return it(),ct(),ht()}},function(e,t,A){"use strict";(function(e,n){A.d(t,"b",(function(){return i})),A.d(t,"a",(function(){return o}));var r={self:"undefined"!==typeof self&&self,window:"undefined"!==typeof window&&window,global:"undefined"!==typeof e&&e,document:"undefined"!==typeof document&&document,process:"object"===typeof n&&n},i=r.window||r.self||r.global,o=r.process||{};console}).call(this,A(86),A(90))},function(e,t,A){"use strict";A.d(t,"a",(function(){return d}));var n=A(7),r=A(1),i=A(4),o=A(315),a=A(316),s={transitionDuration:0},g={transitionDuration:300,transitionEasing:function(e){return e},transitionInterruption:o.a.BREAK},c=function(e){return 1-(1-e)*(1-e)},u=["wheel"],l=["panstart","panmove","panend"],I=["pinchstart","pinchmove","pinchend"],C=["tripanstart","tripanmove","tripanend"],h=["doubletap"],f=["keydown"],d=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(r.a)(this,e),this.ControllerState=t,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new o.b(t,Object(n.a)({},A,{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));var i=this.linearTransitionProps;this._transition=i&&Object(n.a)({},g,{transitionInterpolator:new a.a({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(A)}return Object(i.a)(e,[{key:"finalize",value:function(){for(var e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}},{key:"handleEvent",value:function(e){var t=this.ControllerState;this.controllerState=new t(Object(n.a)({makeViewport:this.makeViewport},this.controllerStateProps,{},this._state));var A=this._eventStartBlocked;switch(e.type){case"panstart":return!A&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!A&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!A&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}},{key:"getCenter",value:function(e){var t=this.controllerStateProps,A=t.x,n=t.y,r=e.offsetCenter;return[r.x-A,r.y-n]}},{key:"isPointInBounds",value:function(e,t){var A=this.controllerStateProps,n=A.width,r=A.height;if(t&&t.handled)return!1;var i=e[0]>=0&&e[0]<=n&&e[1]>=0&&e[1]<=r;return i&&t&&t.stopPropagation(),i}},{key:"isFunctionKeyPressed",value:function(e){var t=e.srcEvent;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}},{key:"isDragging",value:function(){return this._interactionState.isDragging}},{key:"blockEvents",value:function(e){var t=this,A=setTimeout((function(){t._eventStartBlocked===A&&(t._eventStartBlocked=null)}),e);this._eventStartBlocked=A}},{key:"setProps",value:function(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);var t=e.inertia;!0===t&&(t=300),this.inertia=t;var A=e.scrollZoom,n=void 0===A||A,r=e.dragPan,i=void 0===r||r,o=e.dragRotate,a=void 0===o||o,s=e.doubleClickZoom,g=void 0===s||s,c=e.touchZoom,d=void 0===c||c,B=e.touchRotate,p=void 0!==B&&B,E=e.keyboard,Q=void 0===E||E,y=Boolean(this.onViewStateChange);this.toggleEvents(u,y&&n),this.toggleEvents(l,y&&(i||a)),this.toggleEvents(I,y&&(d||p)),this.toggleEvents(C,y&&p),this.toggleEvents(h,y&&g),this.toggleEvents(f,y&&Q),this.scrollZoom=n,this.dragPan=i,this.dragRotate=a,this.doubleClickZoom=g,this.touchZoom=d,this.touchRotate=p,this.keyboard=Q}},{key:"updateTransition",value:function(){this.transitionManager.updateTransition()}},{key:"toggleEvents",value:function(e,t){var A=this;this.eventManager&&e.forEach((function(e){A._events[e]!==t&&(A._events[e]=t,t?A.eventManager.on(e,A.handleEvent):A.eventManager.off(e,A.handleEvent))}))}},{key:"updateViewport",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=Object(n.a)({},e.getViewportProps(),{},t),i=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(A),i){var o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}},{key:"_onTransition",value:function(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}},{key:"_setInteractionState",value:function(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}},{key:"_onPanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var A=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(A=!A);var n=this.controllerState[A?"panStart":"rotateStart"]({pos:t});return this._panMove=A,this.updateViewport(n,s,{isDragging:!0}),!0}},{key:"_onPan",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}},{key:"_onPanEnd",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}},{key:"_onPanMove",value:function(e){if(!this.dragPan)return!1;var t=this.getCenter(e),A=this.controllerState.pan({pos:t});return this.updateViewport(A,s,{isDragging:!0,isPanning:!0}),!0}},{key:"_onPanMoveEnd",value:function(e){var t=this.inertia;if(this.dragPan&&t&&e.velocity){var A=this.getCenter(e),r=[A[0]+e.velocityX*t/2,A[1]+e.velocityY*t/2],i=this.controllerState.pan({pos:r}).panEnd();this.updateViewport(i,Object(n.a)({},this._getTransitionProps(),{transitionDuration:t,transitionEasing:c}),{isDragging:!1,isPanning:!0})}else{var o=this.controllerState.panEnd();this.updateViewport(o,null,{isDragging:!1,isPanning:!1})}return!0}},{key:"_onPanRotate",value:function(e){if(!this.dragRotate)return!1;var t=this.getCenter(e),A=this.controllerState.rotate({pos:t});return this.updateViewport(A,s,{isDragging:!0,isRotating:!0}),!0}},{key:"_onPanRotateEnd",value:function(e){var t=this.inertia;if(this.dragRotate&&t&&e.velocity){var A=this.getCenter(e),r=[A[0]+e.velocityX*t/2,A[1]+e.velocityY*t/2],i=this.controllerState.rotate({pos:r}).rotateEnd();this.updateViewport(i,Object(n.a)({},this._getTransitionProps(),{transitionDuration:t,transitionEasing:c}),{isDragging:!1,isRotating:!0})}else{var o=this.controllerState.rotateEnd();this.updateViewport(o,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onWheel",value:function(e){if(!this.scrollZoom)return!1;e.preventDefault();var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var A=this.scrollZoom,r=A.speed,i=void 0===r?.01:r,o=A.smooth,a=void 0!==o&&o,s=e.delta,g=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==g&&(g=1/g);var c=this.controllerState.zoom({pos:t,scale:g});return this.updateViewport(c,Object(n.a)({},this._getTransitionProps({around:t}),{transitionDuration:a?250:1}),{isZooming:!0,isPanning:!0}),!0}},{key:"_onTriplePanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var A=this.controllerState.rotateStart({pos:t});return this.updateViewport(A,s,{isDragging:!0}),!0}},{key:"_onTriplePan",value:function(e){if(!this.touchRotate)return!1;if(!this.isDragging())return!1;var t=this.getCenter(e);t[0]-=e.deltaX;var A=this.controllerState.rotate({pos:t});return this.updateViewport(A,s,{isDragging:!0,isRotating:!0}),!0}},{key:"_onTriplePanEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia;if(this.touchRotate&&t&&e.velocityY){var A=this.getCenter(e),r=[A[0],A[1]+=e.velocityY*t/2],i=this.controllerState.rotate({pos:r});this.updateViewport(i,Object(n.a)({},this._getTransitionProps(),{transitionDuration:t,transitionEasing:c}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{var o=this.controllerState.rotateEnd();this.updateViewport(o,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onPinchStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var A=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(A,s,{isDragging:!0}),!0}},{key:"_onPinch",value:function(e){if(!this.touchZoom&&!this.touchRotate)return!1;if(!this.isDragging())return!1;var t=this.controllerState;if(this.touchZoom){var A=e.scale,n=this.getCenter(e);t=t.zoom({pos:n,scale:A})}if(this.touchRotate){var r=e.rotation;t=t.rotate({deltaAngleX:this._startPinchRotation-r})}return this.updateViewport(t,s,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}},{key:"_onPinchEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia,A=this._lastPinchEvent;if(this.touchZoom&&t&&A&&e.scale!==A.scale){var r=this.getCenter(e),i=this.controllerState.rotateEnd(),o=Math.log2(e.scale),a=(o-Math.log2(A.scale))/(e.deltaTime-A.deltaTime),s=Math.pow(2,o+a*t/2);i=i.zoom({pos:r,scale:s}).zoomEnd(),this.updateViewport(i,Object(n.a)({},this._getTransitionProps({around:r}),{transitionDuration:t,transitionEasing:c}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{var g=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(g,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}},{key:"_onDoubleTap",value:function(e){if(!this.doubleClickZoom)return!1;var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var A=this.isFunctionKeyPressed(e),n=this.controllerState.zoom({pos:t,scale:A?.5:2});return this.updateViewport(n,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}},{key:"_onKeyDown",value:function(e){if(!this.keyboard)return!1;var t,A=this.isFunctionKeyPressed(e),n=this.keyboard,r=n.zoomSpeed,i=n.moveSpeed,o=n.rotateSpeedX,a=n.rotateSpeedY,s=this.controllerState,g={};switch(e.srcEvent.code){case"Minus":t=A?s.zoomOut(r).zoomOut(r):s.zoomOut(r),g.isZooming=!0;break;case"Equal":t=A?s.zoomIn(r).zoomIn(r):s.zoomIn(r),g.isZooming=!0;break;case"ArrowLeft":A?(t=s.rotateLeft(o),g.isRotating=!0):(t=s.moveLeft(i),g.isPanning=!0);break;case"ArrowRight":A?(t=s.rotateRight(o),g.isRotating=!0):(t=s.moveRight(i),g.isPanning=!0);break;case"ArrowUp":A?(t=s.rotateUp(a),g.isRotating=!0):(t=s.moveUp(i),g.isPanning=!0);break;case"ArrowDown":A?(t=s.rotateDown(a),g.isRotating=!0):(t=s.moveDown(i),g.isPanning=!0);break;default:return!1}return this.updateViewport(t,this._getTransitionProps(),g),!0}},{key:"_getTransitionProps",value:function(e){var t=this._transition;return t?e?Object(n.a)({},t,{transitionInterpolator:new a.a(Object(n.a)({},e,{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:s}},{key:"linearTransitionProps",get:function(){return null}},{key:"events",set:function(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}}]),e}()},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(96),a=/([0-9]+\.?[0-9]*)(%|px)/;function s(e){switch(typeof e){case"number":return{position:e,relative:!1};case"string":var t=e.match(a);if(t&&t.length>=3){var A="%"===t[2],n=parseFloat(t[1]);return{position:A?n/100:n,relative:A}}default:throw new Error("Could not parse position string ".concat(e))}}function g(e,t){return e.relative?Math.round(e.position*t):e.position}var c=A(163),u=A(87);A.d(t,"a",(function(){return l}));var l=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(r.a)(this,e);var A=t.id,i=void 0===A?null:A,a=t.x,s=void 0===a?0:a,g=t.y,c=void 0===g?0:g,l=t.width,I=void 0===l?"100%":l,C=t.height,h=void 0===C?"100%":C,f=t.viewportInstance,d=t.type,B=void 0===d?o.a:d;Object(u.a)(!f||f instanceof o.a),this.viewportInstance=f,this.id=i||this.constructor.displayName||"view",this.type=B,this.props=Object(n.a)({},t,{id:this.id}),this._parseDimensions({x:s,y:c,width:I,height:h}),this.equals=this.equals.bind(this),Object.seal(this)}return Object(i.a)(e,[{key:"equals",value:function(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):Object(c.a)(this.props,e.props))}},{key:"makeViewport",value:function(e){var t=e.width,A=e.height,n=e.viewState;if(this.viewportInstance)return this.viewportInstance;n=this.filterViewState(n);var r=this.getDimensions({width:t,height:A});return this._getViewport(n,r)}},{key:"getViewStateId",value:function(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}},{key:"filterViewState",value:function(e){if(this.props.viewState&&"object"===typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;var t=Object(n.a)({},e);for(var A in this.props.viewState)"id"!==A&&(t[A]=this.props.viewState[A]);return t}return e}},{key:"getDimensions",value:function(e){var t=e.width,A=e.height;return{x:g(this._x,t),y:g(this._y,A),width:g(this._width,t),height:g(this._height,A)}}},{key:"_getControllerProps",value:function(e){var t=this.props.controller;return t?!0===t?e:("function"===typeof t&&(t={type:t}),Object(n.a)({},e,{},t)):null}},{key:"_getViewport",value:function(e,t){return new(0,this.type)(Object(n.a)({},e,{},this.props,{},t))}},{key:"_parseDimensions",value:function(e){var t=e.x,A=e.y,n=e.width,r=e.height;this._x=s(t),this._y=s(A),this._width=s(n),this._height=s(r)}}]),e}()},function(e,t,A){"use strict";A.d(t,"a",(function(){return g}));var n=A(7),r=A(1),i=A(4),o=A(108),a=A(26),s={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},g=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(r.a)(this,e);var A=t.id,n=void 0===A?Object(o.c)("geometry"):A,i=t.drawMode,a=void 0===i?s.TRIANGLES:i,g=t.attributes,c=void 0===g?{}:g,u=t.indices,l=void 0===u?null:u,I=t.vertexCount,C=void 0===I?null:I;this.id=n,this.drawMode=0|a,this.attributes={},this.userData={},this._setAttributes(c,l),this.vertexCount=C||this._calculateVertexCount(this.attributes,this.indices)}return Object(i.a)(e,null,[{key:"DRAW_MODE",get:function(){return s}}]),Object(i.a)(e,[{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?Object(n.a)({indices:this.indices},this.attributes):this.attributes}},{key:"_print",value:function(e){return"Geometry ".concat(this.id," attribute ").concat(e)}},{key:"_setAttributes",value:function(e,t){for(var A in t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t),e){var n=e[A];n=ArrayBuffer.isView(n)?{value:n}:n,Object(a.a)(ArrayBuffer.isView(n.value),"".concat(this._print(A),": must be typed array or object with value as typed array")),"POSITION"!==A&&"positions"!==A||n.size||(n.size=3),"indices"===A?(Object(a.a)(!this.indices),this.indices=n):this.attributes[A]=n}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}},{key:"_calculateVertexCount",value:function(e,t){if(t)return t.value.length;var A=1/0;for(var n in e){var r=e[n],i=r.value,o=r.size;!r.constant&&i&&o>=1&&(A=Math.min(A,i.length/o))}return Object(a.a)(Number.isFinite(A)),A}},{key:"mode",get:function(){return this.drawMode}}]),e}()},function(e,t,A){"use strict";function n(e,t){"function"===typeof e?e(t):e&&(e.current=t)}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";var n=A(397);function r(e){return function(e){if(Array.isArray(e)){for(var t=0,A=new Array(e.length);t<e.length;t++)A[t]=e[t];return A}}(e)||Object(n.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}A.d(t,"a",(function(){return r}))},,function(e,t,A){"use strict";A.d(t,"a",(function(){return u}));var n=A(91),r=A(1),i=A(4),o=A(119),a=A(26),s=A(323),g={offset:0,stride:0,type:5126,size:1,divisor:0,normalized:!1,integer:!1},c={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},u=function(){function e(){var t=this;Object(r.a)(this,e);for(var A=arguments.length,n=new Array(A),i=0;i<A;i++)n[i]=arguments[i];n.forEach((function(e){return t._assign(e)})),Object.freeze(this)}return Object(i.a)(e,null,[{key:"getBytesPerElement",value:function(e){return Object(o.c)(e.type||5126).BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(e){return Object(a.a)(e.size),Object(o.c)(e.type||5126).BYTES_PER_ELEMENT*e.size}},{key:"resolve",value:function(){for(var t=arguments.length,A=new Array(t),r=0;r<t;r++)A[r]=arguments[r];return Object(n.a)(e,[g].concat(A))}}]),Object(i.a)(e,[{key:"toString",value:function(){return JSON.stringify(this)}},{key:"_assign",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return void 0!==(e=Object(s.a)("Accessor",e,c)).type&&(this.type=e.type,5124!==e.type&&5125!==e.type||(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&("boolean"===typeof e.index?this.index=e.index?1:0:this.index=e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}},{key:"BYTES_PER_ELEMENT",get:function(){return e.getBytesPerElement(this)}},{key:"BYTES_PER_VERTEX",get:function(){return e.getBytesPerVertex(this)}}]),e}()},function(e,t,A){var n=A(543),r="object"==typeof self&&self&&self.Object===Object&&self,i=n||r||Function("return this")();e.exports=i},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(59);function r(e,t,A){if(null!==e)for(var n,i,o,a,s,g,c,u,l=0,I=0,C=e.type,h="FeatureCollection"===C,f="Feature"===C,d=h?e.features.length:1,B=0;B<d;B++){s=(u=!!(c=h?e.features[B].geometry:f?e.geometry:e)&&"GeometryCollection"===c.type)?c.geometries.length:1;for(var p=0;p<s;p++){var E=0,Q=0;if(null!==(a=u?c.geometries[p]:c)){g=a.coordinates;var y=a.type;switch(l=!A||"Polygon"!==y&&"MultiPolygon"!==y?0:1,y){case null:break;case"Point":if(!1===t(g,I,B,E,Q))return!1;I++,E++;break;case"LineString":case"MultiPoint":for(n=0;n<g.length;n++){if(!1===t(g[n],I,B,E,Q))return!1;I++,"MultiPoint"===y&&E++}"LineString"===y&&E++;break;case"Polygon":case"MultiLineString":for(n=0;n<g.length;n++){for(i=0;i<g[n].length-l;i++){if(!1===t(g[n][i],I,B,E,Q))return!1;I++}"MultiLineString"===y&&E++,"Polygon"===y&&Q++}"Polygon"===y&&E++;break;case"MultiPolygon":for(n=0;n<g.length;n++){for(Q=0,i=0;i<g[n].length;i++){for(o=0;o<g[n][i].length-l;o++){if(!1===t(g[n][i][o],I,B,E,Q))return!1;I++}Q++}E++}break;case"GeometryCollection":for(n=0;n<a.geometries.length;n++)if(!1===r(a.geometries[n],t,A))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function i(e,t){var A;switch(e.type){case"FeatureCollection":for(A=0;A<e.features.length&&!1!==t(e.features[A].properties,A);A++);break;case"Feature":t(e.properties,0)}}function o(e,t){if("Feature"===e.type)t(e,0);else if("FeatureCollection"===e.type)for(var A=0;A<e.features.length&&!1!==t(e.features[A],A);A++);}function a(e,t){var A,n,r,i,o,a,s,g,c,u,l=0,I="FeatureCollection"===e.type,C="Feature"===e.type,h=I?e.features.length:1;for(A=0;A<h;A++){for(a=I?e.features[A].geometry:C?e.geometry:e,g=I?e.features[A].properties:C?e.properties:{},c=I?e.features[A].bbox:C?e.bbox:void 0,u=I?e.features[A].id:C?e.id:void 0,o=(s=!!a&&"GeometryCollection"===a.type)?a.geometries.length:1,r=0;r<o;r++)if(null!==(i=s?a.geometries[r]:a))switch(i.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===t(i,l,g,c,u))return!1;break;case"GeometryCollection":for(n=0;n<i.geometries.length;n++)if(!1===t(i.geometries[n],l,g,c,u))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===t(null,l,g,c,u))return!1;l++}}function s(e,t){a(e,(function(e,A,r,i,o){var a,s=null===e?null:e.type;switch(s){case null:case"Point":case"LineString":case"Polygon":return!1!==t(n.feature(e,r,{bbox:i,id:o}),A,0)&&void 0}switch(s){case"MultiPoint":a="Point";break;case"MultiLineString":a="LineString";break;case"MultiPolygon":a="Polygon"}for(var g=0;g<e.coordinates.length;g++){var c={type:a,coordinates:e.coordinates[g]};if(!1===t(n.feature(c,r),A,g))return!1}}))}function g(e,t){s(e,(function(e,A,i){var o=0;if(e.geometry){var a=e.geometry.type;if("Point"!==a&&"MultiPoint"!==a){var s,g=0,c=0,u=0;return!1!==r(e,(function(r,a,l,I,C){if(void 0===s||A>g||I>c||C>u)return s=r,g=A,c=I,u=C,void(o=0);var h=n.lineString([s,r],e.properties);if(!1===t(h,A,i,C,o))return!1;o++,s=r}))&&void 0}}}))}function c(e,t){if(!e)throw new Error("geojson is required");s(e,(function(e,A,r){if(null!==e.geometry){var i=e.geometry.type,o=e.geometry.coordinates;switch(i){case"LineString":if(!1===t(e,A,r,0,0))return!1;break;case"Polygon":for(var a=0;a<o.length;a++)if(!1===t(n.lineString(o[a],e.properties),A,r,a))return!1}}}))}t.coordEach=r,t.coordReduce=function(e,t,A,n){var i=A;return r(e,(function(e,n,r,o,a){i=0===n&&void 0===A?e:t(i,e,n,r,o,a)}),n),i},t.propEach=i,t.propReduce=function(e,t,A){var n=A;return i(e,(function(e,r){n=0===r&&void 0===A?e:t(n,e,r)})),n},t.featureEach=o,t.featureReduce=function(e,t,A){var n=A;return o(e,(function(e,r){n=0===r&&void 0===A?e:t(n,e,r)})),n},t.coordAll=function(e){var t=[];return r(e,(function(e){t.push(e)})),t},t.geomEach=a,t.geomReduce=function(e,t,A){var n=A;return a(e,(function(e,r,i,o,a){n=0===r&&void 0===A?e:t(n,e,r,i,o,a)})),n},t.flattenEach=s,t.flattenReduce=function(e,t,A){var n=A;return s(e,(function(e,r,i){n=0===r&&0===i&&void 0===A?e:t(n,e,r,i)})),n},t.segmentEach=g,t.segmentReduce=function(e,t,A){var n=A,r=!1;return g(e,(function(e,i,o,a,s){n=!1===r&&void 0===A?e:t(n,e,i,o,a,s),r=!0})),n},t.lineEach=c,t.lineReduce=function(e,t,A){var n=A;return c(e,(function(e,r,i,o){n=0===r&&void 0===A?e:t(n,e,r,i,o)})),n},t.findSegment=function(e,t){if(t=t||{},!n.isObject(t))throw new Error("options is invalid");var A,r=t.featureIndex||0,i=t.multiFeatureIndex||0,o=t.geometryIndex||0,a=t.segmentIndex||0,s=t.properties;switch(e.type){case"FeatureCollection":r<0&&(r=e.features.length+r),s=s||e.features[r].properties,A=e.features[r].geometry;break;case"Feature":s=s||e.properties,A=e.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":A=e;break;default:throw new Error("geojson is invalid")}if(null===A)return null;var g=A.coordinates;switch(A.type){case"Point":case"MultiPoint":return null;case"LineString":return a<0&&(a=g.length+a-1),n.lineString([g[a],g[a+1]],s,t);case"Polygon":return o<0&&(o=g.length+o),a<0&&(a=g[o].length+a-1),n.lineString([g[o][a],g[o][a+1]],s,t);case"MultiLineString":return i<0&&(i=g.length+i),a<0&&(a=g[i].length+a-1),n.lineString([g[i][a],g[i][a+1]],s,t);case"MultiPolygon":return i<0&&(i=g.length+i),o<0&&(o=g[i].length+o),a<0&&(a=g[i][o].length-a-1),n.lineString([g[i][o][a],g[i][o][a+1]],s,t)}throw new Error("geojson is invalid")},t.findPoint=function(e,t){if(t=t||{},!n.isObject(t))throw new Error("options is invalid");var A,r=t.featureIndex||0,i=t.multiFeatureIndex||0,o=t.geometryIndex||0,a=t.coordIndex||0,s=t.properties;switch(e.type){case"FeatureCollection":r<0&&(r=e.features.length+r),s=s||e.features[r].properties,A=e.features[r].geometry;break;case"Feature":s=s||e.properties,A=e.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":A=e;break;default:throw new Error("geojson is invalid")}if(null===A)return null;var g=A.coordinates;switch(A.type){case"Point":return n.point(g,s,t);case"MultiPoint":return i<0&&(i=g.length+i),n.point(g[i],s,t);case"LineString":return a<0&&(a=g.length+a),n.point(g[a],s,t);case"Polygon":return o<0&&(o=g.length+o),a<0&&(a=g[o].length+a),n.point(g[o][a],s,t);case"MultiLineString":return i<0&&(i=g.length+i),a<0&&(a=g[i].length+a),n.point(g[i][a],s,t);case"MultiPolygon":return i<0&&(i=g.length+i),o<0&&(o=g[i].length+o),a<0&&(a=g[i][o].length-a),n.point(g[i][o][a],s,t)}throw new Error("geojson is invalid")}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.red=t.getContrastingColor=t.isValidHex=t.toState=t.simpleCheckForValidColor=void 0;var n=i(A(1007)),r=i(A(412));function i(e){return e&&e.__esModule?e:{default:e}}t.simpleCheckForValidColor=function(e){var t=0,A=0;return(0,n.default)(["r","g","b","a","h","s","l","v"],(function(n){if(e[n]&&(t+=1,isNaN(e[n])||(A+=1),"s"===n||"l"===n)){/^\d+%$/.test(e[n])&&(A+=1)}})),t===A&&e};var o=t.toState=function(e,t){var A=e.hex?(0,r.default)(e.hex):(0,r.default)(e),n=A.toHsl(),i=A.toHsv(),o=A.toRgb(),a=A.toHex();return 0===n.s&&(n.h=t||0,i.h=t||0),{hsl:n,hex:"000000"===a&&0===o.a?"transparent":"#"+a,rgb:o,hsv:i,oldHue:e.h||t||n.h,source:e.source}};t.isValidHex=function(e){var t="#"===String(e).charAt(0)?1:0;return e.length!==4+t&&e.length<7+t&&(0,r.default)(e).isValid()},t.getContrastingColor=function(e){if(!e)return"#fff";var t=o(e);return"transparent"===t.hex?"rgba(0,0,0,0.4)":(299*t.rgb.r+587*t.rgb.g+114*t.rgb.b)/1e3>=128?"#000":"#fff"},t.red={hsl:{a:1,h:0,l:.5,s:1},hex:"#ff0000",rgb:{r:255,g:0,b:0,a:1},hsv:{h:0,s:1,v:1,a:1}};t.default=t},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(59),r=A(105);function i(e,t,A){if(void 0===A&&(A={}),!0===A.final)return function(e,t){var A=i(t,e);return A=(A+180)%360}(e,t);var o=r.getCoord(e),a=r.getCoord(t),s=n.degreesToRadians(o[0]),g=n.degreesToRadians(a[0]),c=n.degreesToRadians(o[1]),u=n.degreesToRadians(a[1]),l=Math.sin(g-s)*Math.cos(u),I=Math.cos(c)*Math.sin(u)-Math.sin(c)*Math.cos(u)*Math.cos(g-s);return n.radiansToDegrees(Math.atan2(l,I))}t.default=i},function(e,t,A){var n=A(106);e.exports=function(e,t,A){return new n(e,A).compare(new n(t,A))}},function(e,t,A){var n=A(1123),r=A(505),i=A(299),o=A(300),a=function(){"use strict";function e(t,A){var n=this;if(i(this,e),A=g(A),t instanceof e)return t.loose===!!A.loose&&t.includePrerelease===!!A.includePrerelease?t:new e(t.raw,A);if(t instanceof c)return this.raw=t.value,this.set=[[t]],this.format(),this;if(this.options=A,this.loose=!!A.loose,this.includePrerelease=!!A.includePrerelease,this.raw=t,this.set=t.split(/\s*\|\|\s*/).map((function(e){return n.parseRange(e.trim())})).filter((function(e){return e.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: ".concat(t));if(this.set.length>1){var o=this.set[0];if(this.set=this.set.filter((function(e){return!p(e[0])})),0===this.set.length)this.set=[o];else if(this.set.length>1){var a,s=r(this.set);try{for(s.s();!(a=s.n()).done;){var u=a.value;if(1===u.length&&E(u[0])){this.set=[u];break}}}catch(l){s.e(l)}finally{s.f()}}}this.format()}return o(e,[{key:"format",value:function(){return this.range=this.set.map((function(e){return e.join(" ").trim()})).join("||").trim(),this.range}},{key:"toString",value:function(){return this.range}},{key:"parseRange",value:function(e){var t=this;e=e.trim();var A=Object.keys(this.options).join(","),i="parseRange:".concat(A,":").concat(e),o=s.get(i);if(o)return o;var a=this.options.loose,g=a?C[h.HYPHENRANGELOOSE]:C[h.HYPHENRANGE];e=e.replace(g,k(this.options.includePrerelease)),u("hyphen replace",e),e=e.replace(C[h.COMPARATORTRIM],f),u("comparator trim",e,C[h.COMPARATORTRIM]),e=(e=(e=e.replace(C[h.TILDETRIM],d)).replace(C[h.CARETTRIM],B)).split(/\s+/).join(" ");var l,I=a?C[h.COMPARATORLOOSE]:C[h.COMPARATOR],E=e.split(" ").map((function(e){return y(e,t.options)})).join(" ").split(/\s+/).map((function(e){return G(e,t.options)})).filter(this.options.loose?function(e){return!!e.match(I)}:function(){return!0}).map((function(e){return new c(e,t.options)})),Q=(E.length,new Map),v=r(E);try{for(v.s();!(l=v.n()).done;){var m=l.value;if(p(m))return[m];Q.set(m.value,m)}}catch(w){v.e(w)}finally{v.f()}Q.size>1&&Q.has("")&&Q.delete("");var b=n(Q.values());return s.set(i,b),b}},{key:"intersects",value:function(t,A){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some((function(e){return Q(e,A)&&t.set.some((function(t){return Q(t,A)&&e.every((function(e){return t.every((function(t){return e.intersects(t,A)}))}))}))}))}},{key:"test",value:function(e){if(!e)return!1;if("string"===typeof e)try{e=new l(e,this.options)}catch(A){return!1}for(var t=0;t<this.set.length;t++)if(x(this.set[t],e,this.options))return!0;return!1}}]),e}();e.exports=a;var s=new(A(1127))({max:1e3}),g=A(372),c=A(374),u=A(371),l=A(106),I=A(260),C=I.re,h=I.t,f=I.comparatorTrimReplace,d=I.tildeTrimReplace,B=I.caretTrimReplace,p=function(e){return"<0.0.0-0"===e.value},E=function(e){return""===e.value},Q=function(e,t){for(var A=!0,n=e.slice(),r=n.pop();A&&n.length;)A=n.every((function(e){return r.intersects(e,t)})),r=n.pop();return A},y=function(e,t){return u("comp",e,t),e=w(e,t),u("caret",e),e=m(e,t),u("tildes",e),e=F(e,t),u("xrange",e),e=D(e,t),u("stars",e),e},v=function(e){return!e||"x"===e.toLowerCase()||"*"===e},m=function(e,t){return e.trim().split(/\s+/).map((function(e){return b(e,t)})).join(" ")},b=function(e,t){var A=t.loose?C[h.TILDELOOSE]:C[h.TILDE];return e.replace(A,(function(t,A,n,r,i){var o;return u("tilde",e,t,A,n,r,i),v(A)?o="":v(n)?o=">=".concat(A,".0.0 <").concat(+A+1,".0.0-0"):v(r)?o=">=".concat(A,".").concat(n,".0 <").concat(A,".").concat(+n+1,".0-0"):i?(u("replaceTilde pr",i),o=">=".concat(A,".").concat(n,".").concat(r,"-").concat(i," <").concat(A,".").concat(+n+1,".0-0")):o=">=".concat(A,".").concat(n,".").concat(r," <").concat(A,".").concat(+n+1,".0-0"),u("tilde return",o),o}))},w=function(e,t){return e.trim().split(/\s+/).map((function(e){return S(e,t)})).join(" ")},S=function(e,t){u("caret",e,t);var A=t.loose?C[h.CARETLOOSE]:C[h.CARET],n=t.includePrerelease?"-0":"";return e.replace(A,(function(t,A,r,i,o){var a;return u("caret",e,t,A,r,i,o),v(A)?a="":v(r)?a=">=".concat(A,".0.0").concat(n," <").concat(+A+1,".0.0-0"):v(i)?a="0"===A?">=".concat(A,".").concat(r,".0").concat(n," <").concat(A,".").concat(+r+1,".0-0"):">=".concat(A,".").concat(r,".0").concat(n," <").concat(+A+1,".0.0-0"):o?(u("replaceCaret pr",o),a="0"===A?"0"===r?">=".concat(A,".").concat(r,".").concat(i,"-").concat(o," <").concat(A,".").concat(r,".").concat(+i+1,"-0"):">=".concat(A,".").concat(r,".").concat(i,"-").concat(o," <").concat(A,".").concat(+r+1,".0-0"):">=".concat(A,".").concat(r,".").concat(i,"-").concat(o," <").concat(+A+1,".0.0-0")):(u("no pr"),a="0"===A?"0"===r?">=".concat(A,".").concat(r,".").concat(i).concat(n," <").concat(A,".").concat(r,".").concat(+i+1,"-0"):">=".concat(A,".").concat(r,".").concat(i).concat(n," <").concat(A,".").concat(+r+1,".0-0"):">=".concat(A,".").concat(r,".").concat(i," <").concat(+A+1,".0.0-0")),u("caret return",a),a}))},F=function(e,t){return u("replaceXRanges",e,t),e.split(/\s+/).map((function(e){return R(e,t)})).join(" ")},R=function(e,t){e=e.trim();var A=t.loose?C[h.XRANGELOOSE]:C[h.XRANGE];return e.replace(A,(function(A,n,r,i,o,a){u("xRange",e,A,n,r,i,o,a);var s=v(r),g=s||v(i),c=g||v(o),l=c;return"="===n&&l&&(n=""),a=t.includePrerelease?"-0":"",s?A=">"===n||"<"===n?"<0.0.0-0":"*":n&&l?(g&&(i=0),o=0,">"===n?(n=">=",g?(r=+r+1,i=0,o=0):(i=+i+1,o=0)):"<="===n&&(n="<",g?r=+r+1:i=+i+1),"<"===n&&(a="-0"),A="".concat(n+r,".").concat(i,".").concat(o).concat(a)):g?A=">=".concat(r,".0.0").concat(a," <").concat(+r+1,".0.0-0"):c&&(A=">=".concat(r,".").concat(i,".0").concat(a," <").concat(r,".").concat(+i+1,".0-0")),u("xRange return",A),A}))},D=function(e,t){return u("replaceStars",e,t),e.trim().replace(C[h.STAR],"")},G=function(e,t){return u("replaceGTE0",e,t),e.trim().replace(C[t.includePrerelease?h.GTE0PRE:h.GTE0],"")},k=function(e){return function(t,A,n,r,i,o,a,s,g,c,u,l,I){return A=v(n)?"":v(r)?">=".concat(n,".0.0").concat(e?"-0":""):v(i)?">=".concat(n,".").concat(r,".0").concat(e?"-0":""):o?">=".concat(A):">=".concat(A).concat(e?"-0":""),s=v(g)?"":v(c)?"<".concat(+g+1,".0.0-0"):v(u)?"<".concat(g,".").concat(+c+1,".0-0"):l?"<=".concat(g,".").concat(c,".").concat(u,"-").concat(l):e?"<".concat(g,".").concat(c,".").concat(+u+1,"-0"):"<=".concat(s),"".concat(A," ").concat(s).trim()}},x=function(e,t,A){for(var n=0;n<e.length;n++)if(!e[n].test(t))return!1;if(t.prerelease.length&&!A.includePrerelease){for(var r=0;r<e.length;r++)if(u(e[r].semver),e[r].semver!==c.ANY&&e[r].semver.prerelease.length>0){var i=e[r].semver;if(i.major===t.major&&i.minor===t.minor&&i.patch===t.patch)return!0}return!1}return!0}},function(e,t,A){"use strict";e.exports=function e(t,A){if(t===A)return!0;if(t&&A&&"object"==typeof t&&"object"==typeof A){if(t.constructor!==A.constructor)return!1;var n,r,i;if(Array.isArray(t)){if((n=t.length)!=A.length)return!1;for(r=n;0!==r--;)if(!e(t[r],A[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===A.source&&t.flags===A.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===A.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===A.toString();if((n=(i=Object.keys(t)).length)!==Object.keys(A).length)return!1;for(r=n;0!==r--;)if(!Object.prototype.hasOwnProperty.call(A,i[r]))return!1;for(r=n;0!==r--;){var o=i[r];if(!e(t[o],A[o]))return!1}return!0}return t!==t&&A!==A}},function(e,t,A){"use strict";function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0};return Array.isArray(e)?r(e,t,[]):t(e)?[e]:[]}function r(e,t,A){for(var n=-1;++n<e.length;){var i=e[n];Array.isArray(i)?r(i,t,A):t(i)&&A.push(i)}return A}function i(e){for(var t=e.target,A=e.source,n=e.start,r=void 0===n?0:n,i=e.count,o=void 0===i?1:i,a=A.length,s=o*a,g=0,c=r;g<a;g++)t[c++]=A[g];for(;g<s;)g<s-g?(t.copyWithin(r+g,r,r+g),g*=2):(t.copyWithin(r+g,r,r+s-g),g=s);return t}A.d(t,"b",(function(){return n})),A.d(t,"a",(function(){return i}))},function(e,t,A){"use strict";function n(e){var t,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:166;function n(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];var o=this,a=function(){e.apply(o,r)};clearTimeout(t),t=setTimeout(a,A)}return n.clear=function(){clearTimeout(t)},n}A.d(t,"a",(function(){return n}))},function(e,t,A){var n=A(849),r=A(850);e.exports=function(e,t,A){var i=t&&A||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var o=(e=e||{}).random||(e.rng||n)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t)for(var a=0;a<16;++a)t[i+a]=o[a];return t||r(o)}},function(e,t,A){"use strict";var n=A(1),r=A(4),i=function(){function e(t){Object(n.a)(this,e),this._pool=[],this.props={overAlloc:2,poolSize:100},this.setProps(t)}return Object(r.a)(e,[{key:"setProps",value:function(e){Object.assign(this.props,e)}},{key:"allocate",value:function(e,t,A){var n,r=A.size,i=void 0===r?1:r,o=A.type,a=A.padding,s=void 0===a?0:a,g=A.copy,c=void 0!==g&&g,u=A.initialize,l=void 0!==u&&u,I=A.maxCount,C=o||e&&e.constructor||Float32Array,h=t*i+s;if(ArrayBuffer.isView(e)){if(h<=e.length)return e;if(h*e.BYTES_PER_ELEMENT<=e.buffer.byteLength)return new C(e.buffer,0,h)}I&&(n=I*i+s);var f=this._allocate(C,h,l,n);return e&&c?f.set(e):l||f.fill(0,0,4),this._release(e),f}},{key:"release",value:function(e){this._release(e)}},{key:"_allocate",value:function(e,t,A,n){var r=Math.max(Math.ceil(t*this.props.overAlloc),1);r>n&&(r=n);var i=this._pool,o=e.BYTES_PER_ELEMENT*r,a=i.findIndex((function(e){return e.byteLength>=o}));if(a>=0){var s=new e(i.splice(a,1)[0],0,r);return A&&s.fill(0),s}return new e(r)}},{key:"_release",value:function(e){if(ArrayBuffer.isView(e)){var t=this._pool,A=e.buffer,n=A.byteLength,r=t.findIndex((function(e){return e.byteLength>=n}));r<0?t.push(A):(r>0||t.length<this.props.poolSize)&&t.splice(r,0,A),t.length>this.props.poolSize&&t.shift()}}}]),e}();t.a=new i},function(e,t,A){"use strict";A.d(t,"b",(function(){return n})),A.d(t,"a",(function(){return r}));var n=function(e){return e.scrollTop};function r(e,t){var A=e.timeout,n=e.style,r=void 0===n?{}:n;return{duration:r.transitionDuration||"number"===typeof A?A:A[t.mode]||0,delay:r.transitionDelay}}},function(e,t,A){"use strict";A.d(t,"c",(function(){return c})),A.d(t,"e",(function(){return h})),A.d(t,"a",(function(){return d})),A.d(t,"b",(function(){return B})),A.d(t,"d",(function(){return E}));var n,r,i,o=A(8),a=A(11),s=A(2),g=A(72),c=(n={},Object(s.a)(n,3042,!1),Object(s.a)(n,32773,new Float32Array([0,0,0,0])),Object(s.a)(n,32777,32774),Object(s.a)(n,34877,32774),Object(s.a)(n,32969,1),Object(s.a)(n,32968,0),Object(s.a)(n,32971,1),Object(s.a)(n,32970,0),Object(s.a)(n,3106,new Float32Array([0,0,0,0])),Object(s.a)(n,3107,[!0,!0,!0,!0]),Object(s.a)(n,2884,!1),Object(s.a)(n,2885,1029),Object(s.a)(n,2929,!1),Object(s.a)(n,2931,1),Object(s.a)(n,2932,513),Object(s.a)(n,2928,new Float32Array([0,1])),Object(s.a)(n,2930,!0),Object(s.a)(n,3024,!0),Object(s.a)(n,36006,null),Object(s.a)(n,2886,2305),Object(s.a)(n,33170,4352),Object(s.a)(n,2849,1),Object(s.a)(n,32823,!1),Object(s.a)(n,32824,0),Object(s.a)(n,10752,0),Object(s.a)(n,32938,1),Object(s.a)(n,32939,!1),Object(s.a)(n,3089,!1),Object(s.a)(n,3088,new Int32Array([0,0,1024,1024])),Object(s.a)(n,2960,!1),Object(s.a)(n,2961,0),Object(s.a)(n,2968,4294967295),Object(s.a)(n,36005,4294967295),Object(s.a)(n,2962,519),Object(s.a)(n,2967,0),Object(s.a)(n,2963,4294967295),Object(s.a)(n,34816,519),Object(s.a)(n,36003,0),Object(s.a)(n,36004,4294967295),Object(s.a)(n,2964,7680),Object(s.a)(n,2965,7680),Object(s.a)(n,2966,7680),Object(s.a)(n,34817,7680),Object(s.a)(n,34818,7680),Object(s.a)(n,34819,7680),Object(s.a)(n,2978,[0,0,1024,1024]),Object(s.a)(n,3333,4),Object(s.a)(n,3317,4),Object(s.a)(n,37440,!1),Object(s.a)(n,37441,!1),Object(s.a)(n,37443,37444),Object(s.a)(n,35723,4352),Object(s.a)(n,36010,null),Object(s.a)(n,35977,!1),Object(s.a)(n,3330,0),Object(s.a)(n,3332,0),Object(s.a)(n,3331,0),Object(s.a)(n,3314,0),Object(s.a)(n,32878,0),Object(s.a)(n,3316,0),Object(s.a)(n,3315,0),Object(s.a)(n,32877,0),n),u=function(e,t,A){return t?e.enable(A):e.disable(A)},l=function(e,t,A){return e.hint(A,t)},I=function(e,t,A){return e.pixelStorei(A,t)};function C(e){return Array.isArray(e)||ArrayBuffer.isView(e)}var h=(r={},Object(s.a)(r,3042,u),Object(s.a)(r,32773,(function(e,t){return e.blendColor.apply(e,Object(a.a)(t))})),Object(s.a)(r,32777,"blendEquation"),Object(s.a)(r,34877,"blendEquation"),Object(s.a)(r,32969,"blendFunc"),Object(s.a)(r,32968,"blendFunc"),Object(s.a)(r,32971,"blendFunc"),Object(s.a)(r,32970,"blendFunc"),Object(s.a)(r,3106,(function(e,t){return e.clearColor.apply(e,Object(a.a)(t))})),Object(s.a)(r,3107,(function(e,t){return e.colorMask.apply(e,Object(a.a)(t))})),Object(s.a)(r,2884,u),Object(s.a)(r,2885,(function(e,t){return e.cullFace(t)})),Object(s.a)(r,2929,u),Object(s.a)(r,2931,(function(e,t){return e.clearDepth(t)})),Object(s.a)(r,2932,(function(e,t){return e.depthFunc(t)})),Object(s.a)(r,2928,(function(e,t){return e.depthRange.apply(e,Object(a.a)(t))})),Object(s.a)(r,2930,(function(e,t){return e.depthMask(t)})),Object(s.a)(r,3024,u),Object(s.a)(r,35723,l),Object(s.a)(r,36006,(function(e,t){var A=Object(g.e)(e)?36009:36160;return e.bindFramebuffer(A,t)})),Object(s.a)(r,2886,(function(e,t){return e.frontFace(t)})),Object(s.a)(r,33170,l),Object(s.a)(r,2849,(function(e,t){return e.lineWidth(t)})),Object(s.a)(r,32823,u),Object(s.a)(r,32824,"polygonOffset"),Object(s.a)(r,10752,"polygonOffset"),Object(s.a)(r,35977,u),Object(s.a)(r,32938,"sampleCoverage"),Object(s.a)(r,32939,"sampleCoverage"),Object(s.a)(r,3089,u),Object(s.a)(r,3088,(function(e,t){return e.scissor.apply(e,Object(a.a)(t))})),Object(s.a)(r,2960,u),Object(s.a)(r,2961,(function(e,t){return e.clearStencil(t)})),Object(s.a)(r,2968,(function(e,t){return e.stencilMaskSeparate(1028,t)})),Object(s.a)(r,36005,(function(e,t){return e.stencilMaskSeparate(1029,t)})),Object(s.a)(r,2962,"stencilFuncFront"),Object(s.a)(r,2967,"stencilFuncFront"),Object(s.a)(r,2963,"stencilFuncFront"),Object(s.a)(r,34816,"stencilFuncBack"),Object(s.a)(r,36003,"stencilFuncBack"),Object(s.a)(r,36004,"stencilFuncBack"),Object(s.a)(r,2964,"stencilOpFront"),Object(s.a)(r,2965,"stencilOpFront"),Object(s.a)(r,2966,"stencilOpFront"),Object(s.a)(r,34817,"stencilOpBack"),Object(s.a)(r,34818,"stencilOpBack"),Object(s.a)(r,34819,"stencilOpBack"),Object(s.a)(r,2978,(function(e,t){return e.viewport.apply(e,Object(a.a)(t))})),Object(s.a)(r,3333,I),Object(s.a)(r,3317,I),Object(s.a)(r,37440,I),Object(s.a)(r,37441,I),Object(s.a)(r,37443,I),Object(s.a)(r,3330,I),Object(s.a)(r,3332,I),Object(s.a)(r,3331,I),Object(s.a)(r,36010,(function(e,t){return e.bindFramebuffer(36008,t)})),Object(s.a)(r,3314,I),Object(s.a)(r,32878,I),Object(s.a)(r,3316,I),Object(s.a)(r,3315,I),Object(s.a)(r,32877,I),Object(s.a)(r,"framebuffer",(function(e,t){var A=t&&"handle"in t?t.handle:t;return e.bindFramebuffer(36160,A)})),Object(s.a)(r,"blend",(function(e,t){return t?e.enable(3042):e.disable(3042)})),Object(s.a)(r,"blendColor",(function(e,t){return e.blendColor.apply(e,Object(a.a)(t))})),Object(s.a)(r,"blendEquation",(function(e,t){t=C(t)?t:[t,t],e.blendEquationSeparate.apply(e,Object(a.a)(t))})),Object(s.a)(r,"blendFunc",(function(e,t){t=C(t)&&2===t.length?[].concat(Object(a.a)(t),Object(a.a)(t)):t,e.blendFuncSeparate.apply(e,Object(a.a)(t))})),Object(s.a)(r,"clearColor",(function(e,t){return e.clearColor.apply(e,Object(a.a)(t))})),Object(s.a)(r,"clearDepth",(function(e,t){return e.clearDepth(t)})),Object(s.a)(r,"clearStencil",(function(e,t){return e.clearStencil(t)})),Object(s.a)(r,"colorMask",(function(e,t){return e.colorMask.apply(e,Object(a.a)(t))})),Object(s.a)(r,"cull",(function(e,t){return t?e.enable(2884):e.disable(2884)})),Object(s.a)(r,"cullFace",(function(e,t){return e.cullFace(t)})),Object(s.a)(r,"depthTest",(function(e,t){return t?e.enable(2929):e.disable(2929)})),Object(s.a)(r,"depthFunc",(function(e,t){return e.depthFunc(t)})),Object(s.a)(r,"depthMask",(function(e,t){return e.depthMask(t)})),Object(s.a)(r,"depthRange",(function(e,t){return e.depthRange.apply(e,Object(a.a)(t))})),Object(s.a)(r,"dither",(function(e,t){return t?e.enable(3024):e.disable(3024)})),Object(s.a)(r,"derivativeHint",(function(e,t){e.hint(35723,t)})),Object(s.a)(r,"frontFace",(function(e,t){return e.frontFace(t)})),Object(s.a)(r,"mipmapHint",(function(e,t){return e.hint(33170,t)})),Object(s.a)(r,"lineWidth",(function(e,t){return e.lineWidth(t)})),Object(s.a)(r,"polygonOffsetFill",(function(e,t){return t?e.enable(32823):e.disable(32823)})),Object(s.a)(r,"polygonOffset",(function(e,t){return e.polygonOffset.apply(e,Object(a.a)(t))})),Object(s.a)(r,"sampleCoverage",(function(e,t){return e.sampleCoverage.apply(e,Object(a.a)(t))})),Object(s.a)(r,"scissorTest",(function(e,t){return t?e.enable(3089):e.disable(3089)})),Object(s.a)(r,"scissor",(function(e,t){return e.scissor.apply(e,Object(a.a)(t))})),Object(s.a)(r,"stencilTest",(function(e,t){return t?e.enable(2960):e.disable(2960)})),Object(s.a)(r,"stencilMask",(function(e,t){var A=t=C(t)?t:[t,t],n=Object(o.a)(A,2),r=n[0],i=n[1];e.stencilMaskSeparate(1028,r),e.stencilMaskSeparate(1029,i)})),Object(s.a)(r,"stencilFunc",(function(e,t){var A=t=C(t)&&3===t.length?[].concat(Object(a.a)(t),Object(a.a)(t)):t,n=Object(o.a)(A,6),r=n[0],i=n[1],s=n[2],g=n[3],c=n[4],u=n[5];e.stencilFuncSeparate(1028,r,i,s),e.stencilFuncSeparate(1029,g,c,u)})),Object(s.a)(r,"stencilOp",(function(e,t){var A=t=C(t)&&3===t.length?[].concat(Object(a.a)(t),Object(a.a)(t)):t,n=Object(o.a)(A,6),r=n[0],i=n[1],s=n[2],g=n[3],c=n[4],u=n[5];e.stencilOpSeparate(1028,r,i,s),e.stencilOpSeparate(1029,g,c,u)})),Object(s.a)(r,"viewport",(function(e,t){return e.viewport.apply(e,Object(a.a)(t))})),r);function f(e,t,A){return void 0!==t[e]?t[e]:A[e]}var d={blendEquation:function(e,t,A){return e.blendEquationSeparate(f(32777,t,A),f(34877,t,A))},blendFunc:function(e,t,A){return e.blendFuncSeparate(f(32969,t,A),f(32968,t,A),f(32971,t,A),f(32970,t,A))},polygonOffset:function(e,t,A){return e.polygonOffset(f(32824,t,A),f(10752,t,A))},sampleCoverage:function(e,t,A){return e.sampleCoverage(f(32938,t,A),f(32939,t,A))},stencilFuncFront:function(e,t,A){return e.stencilFuncSeparate(1028,f(2962,t,A),f(2967,t,A),f(2963,t,A))},stencilFuncBack:function(e,t,A){return e.stencilFuncSeparate(1029,f(34816,t,A),f(36003,t,A),f(36004,t,A))},stencilOpFront:function(e,t,A){return e.stencilOpSeparate(1028,f(2964,t,A),f(2965,t,A),f(2966,t,A))},stencilOpBack:function(e,t,A){return e.stencilOpSeparate(1029,f(34817,t,A),f(34818,t,A),f(34819,t,A))}},B={enable:function(e,t){return e(Object(s.a)({},t,!0))},disable:function(e,t){return e(Object(s.a)({},t,!1))},pixelStorei:function(e,t,A){return e(Object(s.a)({},t,A))},hint:function(e,t,A){return e(Object(s.a)({},t,A))},bindFramebuffer:function(e,t,A){var n;switch(t){case 36160:return e((n={},Object(s.a)(n,36006,A),Object(s.a)(n,36010,A),n));case 36009:return e(Object(s.a)({},36006,A));case 36008:return e(Object(s.a)({},36010,A));default:return null}},blendColor:function(e,t,A,n,r){return e(Object(s.a)({},32773,new Float32Array([t,A,n,r])))},blendEquation:function(e,t){var A;return e((A={},Object(s.a)(A,32777,t),Object(s.a)(A,34877,t),A))},blendEquationSeparate:function(e,t,A){var n;return e((n={},Object(s.a)(n,32777,t),Object(s.a)(n,34877,A),n))},blendFunc:function(e,t,A){var n;return e((n={},Object(s.a)(n,32969,t),Object(s.a)(n,32968,A),Object(s.a)(n,32971,t),Object(s.a)(n,32970,A),n))},blendFuncSeparate:function(e,t,A,n,r){var i;return e((i={},Object(s.a)(i,32969,t),Object(s.a)(i,32968,A),Object(s.a)(i,32971,n),Object(s.a)(i,32970,r),i))},clearColor:function(e,t,A,n,r){return e(Object(s.a)({},3106,new Float32Array([t,A,n,r])))},clearDepth:function(e,t){return e(Object(s.a)({},2931,t))},clearStencil:function(e,t){return e(Object(s.a)({},2961,t))},colorMask:function(e,t,A,n,r){return e(Object(s.a)({},3107,[t,A,n,r]))},cullFace:function(e,t){return e(Object(s.a)({},2885,t))},depthFunc:function(e,t){return e(Object(s.a)({},2932,t))},depthRange:function(e,t,A){return e(Object(s.a)({},2928,new Float32Array([t,A])))},depthMask:function(e,t){return e(Object(s.a)({},2930,t))},frontFace:function(e,t){return e(Object(s.a)({},2886,t))},lineWidth:function(e,t){return e(Object(s.a)({},2849,t))},polygonOffset:function(e,t,A){var n;return e((n={},Object(s.a)(n,32824,t),Object(s.a)(n,10752,A),n))},sampleCoverage:function(e,t,A){var n;return e((n={},Object(s.a)(n,32938,t),Object(s.a)(n,32939,A),n))},scissor:function(e,t,A,n,r){return e(Object(s.a)({},3088,new Int32Array([t,A,n,r])))},stencilMask:function(e,t){var A;return e((A={},Object(s.a)(A,2968,t),Object(s.a)(A,36005,t),A))},stencilMaskSeparate:function(e,t,A){return e(Object(s.a)({},1028===t?2968:36005,A))},stencilFunc:function(e,t,A,n){var r;return e((r={},Object(s.a)(r,2962,t),Object(s.a)(r,2967,A),Object(s.a)(r,2963,n),Object(s.a)(r,34816,t),Object(s.a)(r,36003,A),Object(s.a)(r,36004,n),r))},stencilFuncSeparate:function(e,t,A,n,r){var i;return e((i={},Object(s.a)(i,1028===t?2962:34816,A),Object(s.a)(i,1028===t?2967:36003,n),Object(s.a)(i,1028===t?2963:36004,r),i))},stencilOp:function(e,t,A,n){var r;return e((r={},Object(s.a)(r,2964,t),Object(s.a)(r,2965,A),Object(s.a)(r,2966,n),Object(s.a)(r,34817,t),Object(s.a)(r,34818,A),Object(s.a)(r,34819,n),r))},stencilOpSeparate:function(e,t,A,n,r){var i;return e((i={},Object(s.a)(i,1028===t?2964:34817,A),Object(s.a)(i,1028===t?2965:34818,n),Object(s.a)(i,1028===t?2966:34819,r),i))},viewport:function(e,t,A,n,r){return e(Object(s.a)({},2978,[t,A,n,r]))}},p=function(e,t){return e.isEnabled(t)},E=(i={},Object(s.a)(i,3042,p),Object(s.a)(i,2884,p),Object(s.a)(i,2929,p),Object(s.a)(i,3024,p),Object(s.a)(i,32823,p),Object(s.a)(i,32926,p),Object(s.a)(i,32928,p),Object(s.a)(i,3089,p),Object(s.a)(i,2960,p),Object(s.a)(i,35977,p),i)},,function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,A){"use strict";(function(e){var n=A(32),r=A(568);A.d(t,"g",(function(){return r.a}));var i=A(221);A.d(t,"h",(function(){return i.a}));var o=A(569);A.d(t,"i",(function(){return o.a}));var a=A(570);A.d(t,"b",(function(){return a.a}));var s=A(286);A.d(t,"c",(function(){return s.a}));var g=A(319);A.d(t,"e",(function(){return g.a})),A.d(t,"u",(function(){return n.f})),A.d(t,"v",(function(){return n.g})),A.d(t,"A",(function(){return n.l})),A.d(t,"B",(function(){return n.m})),A.d(t,"t",(function(){return n.e})),A.d(t,"y",(function(){return n.j})),A.d(t,"z",(function(){return n.k})),A.d(t,"H",(function(){return n.s})),A.d(t,"G",(function(){return n.r})),A.d(t,"D",(function(){return n.o})),A.d(t,"x",(function(){return n.i})),A.d(t,"E",(function(){return n.p})),A.d(t,"w",(function(){return n.h})),A.d(t,"F",(function(){return n.q})),A.d(t,"o",(function(){return n.b})),A.d(t,"n",(function(){return n.a})),A.d(t,"q",(function(){return n.c})),A.d(t,"s",(function(){return n.d})),A.d(t,"C",(function(){return n.n})),A.d(t,"I",(function(){return n.t}));var c=A(33);A.d(t,"r",(function(){return c.a}));var u=A(571);A.d(t,"k",(function(){return u.a}));var l=A(354);A.d(t,"f",(function(){return l.a}));var I=A(355);A.d(t,"d",(function(){return I.a}));var C=A(197);A.d(t,"a",(function(){return C.a}));var h=A(97);A.d(t,"p",(function(){return h.a})),A.d(t,"m",(function(){return l.a})),A.d(t,"l",(function(){return I.a})),A.d(t,"j",(function(){return C.a}));var f={self:"undefined"!==typeof self&&self,window:"undefined"!==typeof window&&window,global:"undefined"!==typeof e&&e};(f.global||f.self||f.window).mathgl={config:n.f}}).call(this,A(86))},function(e,t,A){"use strict";function n(e,t){return function(){return null}}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";function n(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return r(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return r(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function i(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function o(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?i(Object(A),!0).forEach((function(t){s(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):i(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function a(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}Object.defineProperty(t,"__esModule",{value:!0}),t.ImmutableFeatureCollection=void 0;var g=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),s(this,"featureCollection",void 0),this.featureCollection=t}var t,A,r;return t=e,(A=[{key:"getObject",value:function(){return this.featureCollection}},{key:"replacePosition",value:function(e,t,A){var n=this.featureCollection.features[e].geometry,r="Polygon"===n.type||"MultiPolygon"===n.type,i=o({},n,{coordinates:u(n.coordinates,t,A,r)});return this.replaceGeometry(e,i)}},{key:"removePosition",value:function(e,t){var A=this.featureCollection.features[e].geometry;if("Point"===A.type)throw Error("Can't remove a position from a Point or there'd be nothing left");if("MultiPoint"===A.type&&A.coordinates.length<2)throw Error("Can't remove the last point of a MultiPoint or there'd be nothing left");if("LineString"===A.type&&A.coordinates.length<3)throw Error("Can't remove position. LineString must have at least two positions");if("Polygon"===A.type&&A.coordinates[0].length<5&&Array.isArray(t)&&0===t[0])throw Error("Can't remove position. Polygon's outer ring must have at least four positions");if("MultiLineString"===A.type&&1===A.coordinates.length&&A.coordinates[0].length<3)throw Error("Can't remove position. MultiLineString must have at least two positions");if("MultiPolygon"===A.type&&1===A.coordinates.length&&A.coordinates[0][0].length<5&&Array.isArray(t)&&0===t[0]&&0===t[1])throw Error("Can't remove position. MultiPolygon's outer ring must have at least four positions");var n="Polygon"===A.type||"MultiPolygon"===A.type,r=o({},A,{coordinates:l(A.coordinates,t,n)});return function(e){switch(e.type){case"Polygon":!function(e){for(var t=e.coordinates,A=1;A<t.length;A++)C(t,A)&&A--}(e);break;case"MultiLineString":!function(e){for(var t=0;t<e.coordinates.length;t++)1===e.coordinates[t].length&&(e.coordinates.splice(t,1),t--)}(e);break;case"MultiPolygon":!function(e){for(var t=0;t<e.coordinates.length;t++){var A=e.coordinates[t];A[0].length<=3&&(e.coordinates.splice(t,1),t--);for(var n=1;n<A.length;n++)C(A,n)&&n--}}(e)}}(r),this.replaceGeometry(e,r)}},{key:"addPosition",value:function(e,t,A){var n=this.featureCollection.features[e].geometry;if("Point"===n.type)throw new Error("Unable to add a position to a Point feature");var r="Polygon"===n.type||"MultiPolygon"===n.type,i=o({},n,{coordinates:I(n.coordinates,t,A,r)});return this.replaceGeometry(e,i)}},{key:"replaceGeometry",value:function(t,A){var r=o({},this.featureCollection.features[t],{geometry:A});return new e(o({},this.featureCollection,{features:[].concat(n(this.featureCollection.features.slice(0,t)),[r],n(this.featureCollection.features.slice(t+1)))}))}},{key:"addFeature",value:function(e){return this.addFeatures([e])}},{key:"addFeatures",value:function(t){return new e(o({},this.featureCollection,{features:[].concat(n(this.featureCollection.features),n(t))}))}},{key:"deleteFeature",value:function(e){return this.deleteFeatures([e])}},{key:"deleteFeatures",value:function(t){var A=n(this.featureCollection.features);t.sort();for(var r=t.length-1;r>=0;r--){var i=t[r];i>=0&&i<A.length&&A.splice(i,1)}return new e(o({},this.featureCollection,{features:A}))}}])&&a(t.prototype,A),r&&a(t,r),e}();function c(e,t){if(2===e.length&&3===t.length){var A=t[2];return[e[0],e[1],A]}return e}function u(e,t,A,r){if(!t)return e;if(0===t.length)return c(A,e);if(1===t.length){var i=[].concat(n(e.slice(0,t[0])),[c(A,e[t[0]])],n(e.slice(t[0]+1)));return!r||0!==t[0]&&t[0]!==e.length-1||(i[0]=c(A,e[0]),i[e.length-1]=c(A,e[0])),i}return[].concat(n(e.slice(0,t[0])),[u(e[t[0]],t.slice(1,t.length),A,r)],n(e.slice(t[0]+1)))}function l(e,t,A){if(!t)return e;if(0===t.length)throw Error("Must specify the index of the position to remove");if(1===t.length){var r=[].concat(n(e.slice(0,t[0])),n(e.slice(t[0]+1)));return!A||0!==t[0]&&t[0]!==e.length-1||(0===t[0]?r[r.length-1]=r[0]:t[0]===e.length-1&&(r[0]=r[r.length-1])),r}return[].concat(n(e.slice(0,t[0])),[l(e[t[0]],t.slice(1,t.length),A)],n(e.slice(t[0]+1)))}function I(e,t,A,r){if(!t)return e;if(0===t.length)throw Error("Must specify the index of the position to remove");return 1===t.length?[].concat(n(e.slice(0,t[0])),[A],n(e.slice(t[0]))):[].concat(n(e.slice(0,t[0])),[I(e[t[0]],t.slice(1,t.length),A,r)],n(e.slice(t[0]+1)))}function C(e,t){return e[t].length<=3&&(e.splice(t,1),!0)}t.ImmutableFeatureCollection=g},function(e,t,A){"use strict";(function(e){A.d(t,"c",(function(){return I})),A.d(t,"b",(function(){return C})),A.d(t,"a",(function(){return h}));var n=A(1),r=A(4),i=A(152),o=A(196),a=A(85),s=A(322);function g(e,t){var A=e[t].bind(e);e[t]=function(){var t=arguments.length<=0?void 0:arguments[0];return t in e.state.cache&&e.state.enable?e.state.cache[t]:A.apply(void 0,arguments)},Object.defineProperty(e[t],"name",{value:"".concat(t,"-from-cache"),configurable:!1})}function c(e,t,A){var n=e[t].bind(e);e[t]=function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];var o=A.apply(void 0,[e.state._updateCache].concat(r)),a=o.valueChanged,s=o.oldValue;return a&&n.apply(void 0,r),s},Object.defineProperty(e[t],"name",{value:"".concat(t,"-to-cache"),configurable:!1})}function u(e){var t=e.useProgram.bind(e);e.useProgram=function(A){e.state.program!==A&&(t(A),e.state.program=A)}}var l=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=A.copyState,a=void 0!==r&&r,s=A.log,g=void 0===s?function(){}:s;Object(n.a)(this,e),this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=a?Object(o.a)(t):Object.assign({},i.c),this.log=g,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return Object(r.a)(e,[{key:"push",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.stateStack.push({})}},{key:"pop",value:function(){Object(a.a)(this.stateStack.length>0);var e=this.stateStack[this.stateStack.length-1];Object(o.c)(this.gl,e),this.stateStack.pop()}},{key:"_updateCache",value:function(e){var t,A=!1,n=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(var r in e){Object(a.a)(void 0!==r);var i=e[r],o=this.cache[r];Object(s.a)(i,o)||(A=!0,t=o,n&&!(r in n)&&(n[r]=o),this.cache[r]=i)}return{valueChanged:A,oldValue:t}}}]),e}();function I(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=A.enable,r=void 0===n||n,o=A.copyState;if(Object(a.a)(void 0!==o),!t.state){var s="undefined"!==typeof e?e:window,I=s.polyfillContext;for(var C in I&&I(t),t.state=new l(t,{copyState:o}),u(t),i.b){var h=i.b[C];c(t,C,h)}g(t,"getParameter"),g(t,"isEnabled")}return t.state.enable=r,t}function C(e){e.state||I(e,{copyState:!1}),e.state.push()}function h(e){Object(a.a)(e.state),e.state.pop()}}).call(this,A(86))},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(0);function r(e){var t=e.controlled,A=e.default,r=(e.name,e.state,n.useRef(void 0!==t).current),i=n.useState(A),o=i[0],a=i[1];return[r?t:o,n.useCallback((function(e){r||a(e)}),[])]}},function(e,t,A){"use strict";A.d(t,"a",(function(){return y}));var n=A(2),r=A(8),i=A(6),o=A(1),a=A(24),s=A(16),g=A(17),c=A(4),u=A(9),l=A(10),I=A(18),C=A(92),h=A(232),f=A(238),d=A(428),B=A(530),p=A(718),E=A(109),Q=A(26),y=function(e){Object(u.a)(A,e);var t=Object(l.a)(A);function A(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(o.a)(this,A),(n=t.call(this,e,r)).width=null,n.height=null,n.attachments={},n.readBuffer=36064,n.drawBuffers=[36064],n.ownResources=[],n.initialize(r),Object.seal(Object(a.a)(n)),n}return Object(c.a)(A,[{key:"MAX_COLOR_ATTACHMENTS",get:function(){var e=Object(I.a)(this.gl);return e.getParameter(e.MAX_COLOR_ATTACHMENTS)}},{key:"MAX_DRAW_BUFFERS",get:function(){var e=Object(I.a)(this.gl);return e.getParameter(e.MAX_DRAW_BUFFERS)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.colorBufferFloat,n=t.colorBufferHalfFloat,r=!0;return A&&(r=Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("WEBGL_color_buffer_float")||e.getExtension("OES_texture_float"))),n&&(r=r&&Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("EXT_color_buffer_half_float"))),r}},{key:"getDefaultFramebuffer",value:function(e){return e.luma=e.luma||{},e.luma.defaultFramebuffer=e.luma.defaultFramebuffer||new A(e,{id:"default-framebuffer",handle:null,attachments:{}}),e.luma.defaultFramebuffer}}]),Object(c.a)(A,[{key:"initialize",value:function(e){var t=e.width,A=void 0===t?1:t,n=e.height,r=void 0===n?1:n,i=e.attachments,o=void 0===i?null:i,a=e.color,s=void 0===a||a,g=e.depth,c=void 0===g||g,u=e.stencil,l=void 0!==u&&u,I=e.check,C=void 0===I||I,h=e.readBuffer,f=void 0===h?void 0:h,d=e.drawBuffers,B=void 0===d?void 0:d;if(Object(Q.a)(A>=0&&r>=0,"Width and height need to be integers"),this.width=A,this.height=r,o)for(var p in o){var E=o[p];(Array.isArray(E)?E[0]:E).resize({width:A,height:r})}else o=this._createDefaultAttachments(s,c,l,A,r);this.update({clearAttachments:!0,attachments:o,readBuffer:f,drawBuffers:B}),o&&C&&this.checkStatus()}},{key:"delete",value:function(){var e,t=Object(i.a)(this.ownResources);try{for(t.s();!(e=t.n()).done;){e.value.delete()}}catch(n){t.e(n)}finally{t.f()}return Object(g.a)(Object(s.a)(A.prototype),"delete",this).call(this),this}},{key:"update",value:function(e){var t=e.attachments,A=void 0===t?{}:t,n=e.readBuffer,r=e.drawBuffers,i=e.clearAttachments,o=void 0!==i&&i,a=e.resizeAttachments,s=void 0===a||a;this.attach(A,{clearAttachments:o,resizeAttachments:s});var g=this.gl,c=g.bindFramebuffer(36160,this.handle);return n&&this._setReadBuffer(n),r&&this._setDrawBuffers(r),g.bindFramebuffer(36160,c||null),this}},{key:"resize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.width,A=e.height;if(null===this.handle)return Object(Q.a)(void 0===t&&void 0===A),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;for(var n in void 0===t&&(t=this.gl.drawingBufferWidth),void 0===A&&(A=this.gl.drawingBufferHeight),t!==this.width&&A!==this.height&&I.k.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(t,"x").concat(A))(),this.attachments)this.attachments[n].resize({width:t,height:A});return this.width=t,this.height=A,this}},{key:"attach",value:function(e){var t=this,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=A.clearAttachments,i=void 0!==n&&n,o=A.resizeAttachments,a=void 0===o||o,s={};i&&Object.keys(this.attachments).forEach((function(e){s[e]=null})),Object.assign(s,e);var g=this.gl.bindFramebuffer(36160,this.handle);for(var c in s){Object(Q.a)(void 0!==c,"Misspelled framebuffer binding point?");var u=Number(c),l=s[u],I=l;if(I)if(I instanceof f.a)this._attachRenderbuffer({attachment:u,renderbuffer:I});else if(Array.isArray(l)){var C=Object(r.a)(l,3),h=C[0],d=C[1],B=void 0===d?0:d,p=C[2],E=void 0===p?0:p;I=h,this._attachTexture({attachment:u,texture:h,layer:B,level:E})}else this._attachTexture({attachment:u,texture:I,layer:0,level:0});else this._unattach(u);a&&I&&I.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,g||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter((function(e){return!t.attachments[e]})).forEach((function(e){delete t.attachments[e]}))}},{key:"checkStatus",value:function(){this.gl;var e=this.getStatus();if(36053!==e)throw new Error(v(e));return this}},{key:"getStatus",value:function(){var e=this.gl,t=e.bindFramebuffer(36160,this.handle),A=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),A}},{key:"clear",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=t.color,n=t.depth,r=t.stencil,i=t.drawBuffers,o=void 0===i?[]:i,a=this.gl.bindFramebuffer(36160,this.handle);return(A||n||r)&&Object(d.a)(this.gl,{color:A,depth:n,stencil:r}),o.forEach((function(t,A){Object(d.b)(e.gl,{drawBuffer:A,value:t})})),this.gl.bindFramebuffer(36160,a||null),this}},{key:"readPixels",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return I.k.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}},{key:"readPixelsToBuffer",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return I.k.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}},{key:"copyToDataUrl",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return I.k.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}},{key:"copyToImage",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return I.k.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}},{key:"copyToTexture",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return I.k.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"blit",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return I.k.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}},{key:"invalidate",value:function(e){var t=e.attachments,A=void 0===t?[]:t,n=e.x,r=void 0===n?0:n,i=e.y,o=void 0===i?0:i,a=e.width,s=e.height,g=Object(I.a)(this.gl),c=g.bindFramebuffer(36008,this.handle);return 0===r&&0===o&&void 0===a&&void 0===s?g.invalidateFramebuffer(36008,A):g.invalidateFramebuffer(36008,A,r,o,a,s),g.bindFramebuffer(36008,c),this}},{key:"getAttachmentParameter",value:function(e,t,A){var n=this._getAttachmentParameterFallback(t);return null===n&&(this.gl.bindFramebuffer(36160,this.handle),n=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),A&&n>1e3&&(n=Object(E.a)(this.gl,n)),n}},{key:"getAttachmentParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:36064,A=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.constructor.ATTACHMENT_PARAMETERS||[],r={},o=Object(i.a)(n);try{for(o.s();!(e=o.n()).done;){var a=e.value,s=A?Object(E.a)(this.gl,a):a;r[s]=this.getAttachmentParameter(t,a,A)}}catch(g){o.e(g)}finally{o.f()}return r}},{key:"getParameters",value:function(){for(var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=Object.keys(this.attachments),A={},n=0,r=t;n<r.length;n++){var i=r[n],o=Number(i),a=e?Object(E.a)(this.gl,o):o;A[a]=this.getAttachmentParameters(o,e)}return A}},{key:"show",value:function(){return"undefined"!==typeof window&&window.open(Object(B.a)(this),"luma-debug-texture"),this}},{key:"log",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(e>I.k.level||"undefined"===typeof window)return this;t=t||"Framebuffer ".concat(this.id);var A=Object(B.a)(this,{targetMaxHeight:100});return I.k.image({logLevel:e,message:t,image:A},t)(),this}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,A=void 0===t?36160:t;return this.gl.bindFramebuffer(A,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,A=void 0===t?36160:t;return this.gl.bindFramebuffer(A,null),this}},{key:"_createDefaultAttachments",value:function(e,t,A,r,i){var o,a=null;e&&((a=a||{})[36064]=new h.a(this.gl,{id:"".concat(this.id,"-color0"),pixels:null,format:6408,type:5121,width:r,height:i,mipmaps:!1,parameters:(o={},Object(n.a)(o,10241,9729),Object(n.a)(o,10240,9729),Object(n.a)(o,10242,33071),Object(n.a)(o,10243,33071),o)}),this.ownResources.push(a[36064]));return t&&A?((a=a||{})[33306]=new f.a(this.gl,{id:"".concat(this.id,"-depth-stencil"),format:35056,width:r,height:111}),this.ownResources.push(a[33306])):t?((a=a||{})[36096]=new f.a(this.gl,{id:"".concat(this.id,"-depth"),format:33189,width:r,height:i}),this.ownResources.push(a[36096])):A&&Object(Q.a)(!1),a}},{key:"_unattach",value:function(e){var t=this.attachments[e];t&&(t instanceof f.a?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}},{key:"_attachRenderbuffer",value:function(e){var t=e.attachment,A=void 0===t?36064:t,n=e.renderbuffer;this.gl.framebufferRenderbuffer(36160,A,36161,n.handle),this.attachments[A]=n}},{key:"_attachTexture",value:function(e){var t=e.attachment,A=void 0===t?36064:t,n=e.texture,r=e.layer,i=e.level,o=this.gl;switch(o.bindTexture(n.target,n.handle),n.target){case 35866:case 32879:Object(I.a)(o).framebufferTextureLayer(36160,A,n.target,i,r);break;case 34067:var a=function(e){return e<34069?e+34069:e}(r);o.framebufferTexture2D(36160,A,a,n.handle,i);break;case 3553:o.framebufferTexture2D(36160,A,3553,n.handle,i);break;default:Object(Q.a)(!1,"Illegal texture type")}o.bindTexture(n.target,null),this.attachments[A]=n}},{key:"_setReadBuffer",value:function(e){var t=Object(I.g)(this.gl);t?t.readBuffer(e):Object(Q.a)(36064===e||1029===e,"Multiple render targets not supported"),this.readBuffer=e}},{key:"_setDrawBuffers",value:function(e){var t=this.gl,A=Object(I.a)(t);if(A)A.drawBuffers(e);else{var n=t.getExtension("WEBGL_draw_buffers");n?n.drawBuffersWEBGL(e):Object(Q.a)(1===e.length&&(36064===e[0]||1029===e[0]),"Multiple render targets not supported")}this.drawBuffers=e}},{key:"_getAttachmentParameterFallback",value:function(e){var t=Object(p.a)(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}},{key:"_createHandle",value:function(){return this.gl.createFramebuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteFramebuffer(this.handle)}},{key:"_bindHandle",value:function(e){return this.gl.bindFramebuffer(36160,e)}},{key:"color",get:function(){return this.attachments[36064]||null}},{key:"texture",get:function(){return this.attachments[36064]||null}},{key:"depth",get:function(){return this.attachments[36096]||this.attachments[33306]||null}},{key:"stencil",get:function(){return this.attachments[36128]||this.attachments[33306]||null}}]),A}(C.a);function v(e){return(y.STATUS||{})[e]||"Framebuffer error ".concat(e)}y.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303]},function(e,t,A){"use strict";A.d(t,"a",(function(){return s}));var n=A(7),r=A(1),i=A(4);function o(){}var a={onStart:o,onUpdate:o,onInterrupt:o,onEnd:o},s=function(){function e(t){Object(r.a)(this,e),this._inProgress=!1,this._handle=null,this.timeline=t,this.settings={}}return Object(i.a)(e,[{key:"start",value:function(e){this.cancel(),this.settings=Object(n.a)({},a,{},e),this._inProgress=!0,this.settings.onStart(this)}},{key:"end",value:function(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}},{key:"cancel",value:function(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}},{key:"update",value:function(){if(!this._inProgress)return!1;if(null===this._handle){var e=this.timeline,t=this.settings;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}},{key:"_onUpdate",value:function(){}},{key:"inProgress",get:function(){return this._inProgress}}]),e}()},function(e,t,A){"use strict";function n(e,t){if(e===t)return!0;if(!e||!t)return!1;for(var A in e){var r=e[A],i=t[A];if(!(r===i||Array.isArray(r)&&Array.isArray(i)&&n(r,i)))return!1}return!0}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return s}));var n=A(3),r=A.n(n),i=A(12),o=A(1),a=A(4),s=function(){function e(){Object(o.a)(this,e)}return Object(a.a)(e,[{key:"fetch",value:function(){var e=Object(i.a)(r.a.mark((function e(t){var A,n=this,i=arguments;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=i.length>1&&void 0!==i[1]?i[1]:void 0,e.next=3,Promise.all(t.map((function(e){return n.fetchSlice(e,A)})));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},{key:"fetchSlice",value:function(){var e=Object(i.a)(r.a.mark((function e(t){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("fetching of slice ".concat(t," not possible, not implemented"));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},{key:"close",value:function(){var e=Object(i.a)(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()},{key:"fileSize",get:function(){return null}}]),e}()},function(e,t,A){"use strict";function n(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];return t.reduce((function(e,t){return null==t?e:function(){for(var A=arguments.length,n=new Array(A),r=0;r<A;r++)n[r]=arguments[r];e.apply(this,n),t.apply(this,n)}}),(function(){}))}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";function n(e){var t=e.props,A=e.states,n=e.muiFormControl;return A.reduce((function(e,A){return e[A]=t[A],n&&"undefined"===typeof t[A]&&(e[A]=n[A]),e}),{})}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n=A(0),r=A(230);function i(){return n.useContext(r.a)}},function(e,t,A){"use strict";A.d(t,"b",(function(){return n})),A.d(t,"a",(function(){return r})),A.d(t,"c",(function(){return i}));var n=6e4,r=864e5,i=6048e5},function(e,t,A){"use strict";A.d(t,"b",(function(){return n})),A.d(t,"a",(function(){return r}));var n="vs",r="fs"},function(e,t,A){"use strict";(function(e,n){A.d(t,"a",(function(){return i})),A.d(t,"b",(function(){return o})),A.d(t,"d",(function(){return a})),A.d(t,"c",(function(){return s}));var r={self:"undefined"!==typeof self&&self,window:"undefined"!==typeof window&&window,global:"undefined"!==typeof e&&e,document:"undefined"!==typeof document&&document},i=r.global||r.self||r.window||{},o="object"!==typeof n||"[object process]"!==String(n)||n.browser,a="function"===typeof importScripts,s="undefined"!==typeof window&&"undefined"!==typeof window.orientation,g="undefined"!==typeof n&&n.version&&/v([0-9]*)/.exec(n.version);g&&parseFloat(g[1])}).call(this,A(86),A(90))},,function(e,t,A){"use strict";var n=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r="["+n+"][:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",i=new RegExp("^"+r+"$");t.isExist=function(e){return"undefined"!==typeof e},t.isEmptyObject=function(e){return 0===Object.keys(e).length},t.merge=function(e,t,A){if(t)for(var n=Object.keys(t),r=n.length,i=0;i<r;i++)e[n[i]]="strict"===A?[t[n[i]]]:t[n[i]]},t.getValue=function(e){return t.isExist(e)?e:""},t.buildOptions=function(e,t,A){var n={};if(!e)return t;for(var r=0;r<A.length;r++)void 0!==e[A[r]]?n[A[r]]=e[A[r]]:n[A[r]]=t[A[r]];return n},t.isTagNameInArrayMode=function(e,t,A){return!1!==t&&(t instanceof RegExp?t.test(e):"function"===typeof t?!!t(e,A):"strict"===t)},t.isName=function(e){var t=i.exec(e);return!(null===t||"undefined"===typeof t)},t.getAllMatches=function(e,t){for(var A=[],n=t.exec(e);n;){var r=[];r.startIndex=t.lastIndex-n[0].length;for(var i=n.length,o=0;o<i;o++)r.push(n[o]);A.push(r),n=t.exec(e)}return A},t.nameRegexp=r},function(e,t,A){"use strict";function n(e,t){if(e===t)return!0;if(Array.isArray(e)){var A=e.length;if(!t||t.length!==A)return!1;for(var n=0;n<A;n++)if(e[n]!==t[n])return!1;return!0}return!1}function r(e){var t,A={};return function(r){for(var i in r)if(!n(r[i],A[i])){t=e(r),A=r;break}return t}}A.d(t,"a",(function(){return r}))},function(e,t,A){"use strict";var n=A(1157);t.a=function(e,t){return t?Object(n.a)(e,t,{clone:!1}):e}},function(e,t,A){"use strict";A.d(t,"c",(function(){return s})),A.d(t,"a",(function(){return g})),A.d(t,"b",(function(){return c}));var n,r=A(8),i=A(2),o=A(26),a=(n={},Object(i.a)(n,5126,[5126,1,"float"]),Object(i.a)(n,35664,[5126,2,"vec2"]),Object(i.a)(n,35665,[5126,3,"vec3"]),Object(i.a)(n,35666,[5126,4,"vec4"]),Object(i.a)(n,5124,[5124,1,"int"]),Object(i.a)(n,35667,[5124,2,"ivec2"]),Object(i.a)(n,35668,[5124,3,"ivec3"]),Object(i.a)(n,35669,[5124,4,"ivec4"]),Object(i.a)(n,5125,[5125,1,"uint"]),Object(i.a)(n,36294,[5125,2,"uvec2"]),Object(i.a)(n,36295,[5125,3,"uvec3"]),Object(i.a)(n,36296,[5125,4,"uvec4"]),Object(i.a)(n,35670,[5126,1,"bool"]),Object(i.a)(n,35671,[5126,2,"bvec2"]),Object(i.a)(n,35672,[5126,3,"bvec3"]),Object(i.a)(n,35673,[5126,4,"bvec4"]),Object(i.a)(n,35674,[5126,8,"mat2"]),Object(i.a)(n,35685,[5126,8,"mat2x3"]),Object(i.a)(n,35686,[5126,8,"mat2x4"]),Object(i.a)(n,35675,[5126,12,"mat3"]),Object(i.a)(n,35687,[5126,12,"mat3x2"]),Object(i.a)(n,35688,[5126,12,"mat3x4"]),Object(i.a)(n,35676,[5126,16,"mat4"]),Object(i.a)(n,35689,[5126,16,"mat4x2"]),Object(i.a)(n,35690,[5126,16,"mat4x3"]),n);function s(e){switch(e){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return Object(o.a)(!1),0}}function g(e){var t=a[e];if(!t)return null;var A=Object(r.a)(t,2);return{type:A[0],components:A[1]}}function c(e,t){switch(e){case 5120:case 5121:case 5122:case 5123:e=5126}for(var A in a){var n=Object(r.a)(a[A],3),i=n[0],o=n[1],s=n[2];if(i===e&&o===t)return{glType:A,name:s}}return null}},function(e,t,A){"use strict";A.d(t,"a",(function(){return i})),A.d(t,"b",(function(){return o}));var n=A(7),r=A(227);function i(e){var t;return!!e&&(Array.isArray(e)&&(e=e[0]),Array.isArray(null===(t=e)||void 0===t?void 0:t.extensions))}function o(e){var t,A,o;return Object(r.a)(e,"null loader"),Object(r.a)(i(e),"invalid loader"),Array.isArray(e)&&(o=e[1],e=e[0],e=Object(n.a)({},e,{options:Object(n.a)({},e.options,{},o)})),(null!==(t=e)&&void 0!==t&&t.parseTextSync||null!==(A=e)&&void 0!==A&&A.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}},function(e,t,A){"use strict";(function(e){A.d(t,"a",(function(){return U})),A.d(t,"b",(function(){return _})),A.d(t,"c",(function(){return F})),A.d(t,"d",(function(){return R})),A.d(t,"e",(function(){return L})),A.d(t,"f",(function(){return O})),A.d(t,"g",(function(){return M})),A.d(t,"h",(function(){return b}));var n=A(11),r=A(3),i=A.n(r),o=A(12),a=A(5),s=A(1162),g=A(527),c=A(131),u=/^(data:|([A-Za-z]+:)?\/\/)/,l=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,I=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g;function C(e,t){return h.apply(this,arguments)}function h(){return(h=Object(o.a)(i.a.mark((function e(t,A){var n,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sanitize(t,A);case 2:return n=e.sent,r=n.href,e.abrupt("return",n.localFile?this.file(r):this.http(r,A));case 5:case"end":return e.stop()}}),e,this)})))).apply(this,arguments)}function f(e,t){return d.apply(this,arguments)}function d(){return(d=Object(o.a)(i.a.mark((function e(t,A){var n,r,o,s,g,c,C;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=Object(a.p)({},this.options,A),n=this.fileAccess,r={href:null},c=l.test(t.replace(I,"")),null!=t&&"string"===typeof t&&c||Object(a.o)("Sanitize failure, invalid URI: "+Object(a.bb)(t)),C=u.test(t),(g=A.baseURL)&&!C&&(t.startsWith("/")||g.endsWith("/")||(t="/"+t),t=g+t),s=(o=t.startsWith("file://"))||"file"===A.mode||"http"!==A.mode&&!C&&n,o?t=t.slice("file://".length):t.startsWith("//")&&("file"===A.defaultProtocol?(t=t.slice(2),s=!0):t=(A.defaultProtocol||"http")+":"+t),Object.defineProperty(r,"localFile",{value:!!s}),r.href=t,A.target&&(r.target=A.target+""),A.rel&&(r.rel=A.rel+""),"image"===A.context&&A.crossOrigin&&(r.crossOrigin=A.crossOrigin+""),e.abrupt("return",r);case 14:case"end":return e.stop()}}),e,this)})))).apply(this,arguments)}function B(e){return e?function(t){return new Promise((function(A,n){e.readFile(t,(function(e,t){e?n(e):A(t)}))}))}:p}function p(){return E.apply(this,arguments)}function E(){return(E=Object(o.a)(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Object(a.o)("No file system access.");case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Q(e){return e?function(){var t=Object(o.a)(i.a.mark((function t(A,n){var r,o,s;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=Object(a.p)({},this.options.http,n),o=n&&n.response,t.next=4,e(A,r);case 4:return s=t.sent,t.abrupt("return",s.ok?Object(a.E)(s[o])?s[o]():s.text():Object(a.o)(s.status+""+s.statusText));case 6:case"end":return t.stop()}}),t,this)})));return function(e,A){return t.apply(this,arguments)}}():y}function y(){return v.apply(this,arguments)}function v(){return(v=Object(o.a)(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Object(a.o)("No HTTP fetch method available.");case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var m=function(e){return!Number.isNaN(+e)&&!(e instanceof Date)},b={boolean:a.cb,integer:a.eb,number:a.eb,date:a.db,string:a.gb,unknown:a.y},w=[function(e){return"true"===e||"false"===e||!0===e||!1===e},function(e){return m(e)&&Number.isInteger(+e)},m,function(e){return!Number.isNaN(Date.parse(e))}],S=["boolean","integer","number","date"];function F(e,t){if(!e||!e.length)return"unknown";for(var A,n,r,i=e.length,o=w.length,a=w.map((function(e,t){return t+1})),s=0,g=0;s<i;++s)for(n=t?e[s][t]:e[s],A=0;A<o;++A)if(a[A]&&(null!=(r=n)&&r===r)&&!w[A](n)&&(a[A]=0,++g===w.length))return"string";return S[a.reduce((function(e,t){return 0===e?t:e}),0)-1]}function R(e,t){return t.reduce((function(t,A){return t[A]=F(e,A),t}),{})}function D(e){var t=function(t,A){var n={delimiter:e};return G(t,A?Object(a.p)(A,n):n)};return t.responseType="text",t}function G(e,t){return t.header&&(e=t.header.map(a.bb).join(t.delimiter)+"\n"+e),Object(s.a)(t.delimiter).parse(e+"")}function k(t,A){var r,i=A&&A.property?Object(a.u)(A.property):a.y;return!Object(a.H)(t)||(r=t,"function"===typeof e&&Object(a.E)(e.isBuffer)&&e.isBuffer(r))?i(JSON.parse(t)):function(e,t){!Object(a.B)(e)&&Object(a.F)(e)&&(e=Object(n.a)(e));return t&&t.copy?JSON.parse(JSON.stringify(e)):e}(i(t),A)}G.responseType="text",k.responseType="json";var x={interior:function(e,t){return e!==t},exterior:function(e,t){return e===t}};function N(e,t){var A,n,r,i;return e=k(e,t),t&&t.feature?(A=g.a,r=t.feature):t&&t.mesh?(A=g.b,r=t.mesh,i=x[t.filter]):Object(a.o)("Missing TopoJSON feature or mesh parameter."),(n=(n=e.objects[r])?A(e,n,i):Object(a.o)("Invalid TopoJSON object: "+r))&&n.features||[n]}N.responseType="json";var U={dsv:G,csv:D(","),tsv:D("\t"),json:k,topojson:N};function _(e,t){return arguments.length>1?(U[e]=t,this):Object(a.w)(U,e)?U[e]:null}function M(e){var t=_(e);return t&&t.responseType||"text"}function O(e,t,A,n){var r=_((t=t||{}).type||"json");return r||Object(a.o)("Unknown data format type: "+t.type),e=r(e,t),t.parse&&function(e,t,A,n){if(!e.length)return;var r=Object(c.e)();A=A||r.timeParse,n=n||r.utcParse;var i,o,a,s,g,u,l=e.columns||Object.keys(e[0]);"auto"===t&&(t=R(e,l));var I=(l=Object.keys(t)).map((function(e){var r,i,o=t[e];if(o&&(o.startsWith("date:")||o.startsWith("utc:")))return("'"===(i=(r=o.split(/:(.+)?/,2))[1])[0]&&"'"===i[i.length-1]||'"'===i[0]&&'"'===i[i.length-1])&&(i=i.slice(1,-1)),("utc"===r[0]?n:A)(i);if(!b[o])throw Error("Illegal format pattern: "+e+":"+o);return b[o]}));for(a=0,g=e.length,u=l.length;a<g;++a)for(i=e[a],s=0;s<u;++s)o=l[s],i[o]=I[s](i[o])}(e,t.parse,A,n),Object(a.w)(e,"columns")&&delete e.columns,e}var L=function(e,t){return function(A){return{options:A||{},sanitize:f,load:C,fileAccess:!!t,file:B(t),http:Q(e)}}}("undefined"!==typeof fetch&&fetch,null)}).call(this,A(188).Buffer)},function(e,t,A){"use strict";var n=A(6),r=A(7),i=A(189),o=A(55),a=A(3),s=A.n(a),g=A(12),c=A(252),u=A(234);function l(e,t){return I.apply(this,arguments)}function I(){return(I=Object(g.a)(s.a.mark((function e(t,A){var n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!==typeof t){e.next=7;break}return t=Object(c.a)(t),n=A,null!==A&&void 0!==A&&A.fetch&&"function"!==typeof(null===A||void 0===A?void 0:A.fetch)&&(n=A.fetch),e.next=6,fetch(t,n);case 6:return e.abrupt("return",e.sent);case 7:return e.next=9,Object(u.b)(t);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var C=A(1),h=A(4),f=A(25),d=new(A(1163).a)({id:"loaders.gl"}),B=function(){function e(){Object(C.a)(this,e)}return Object(h.a)(e,[{key:"log",value:function(){return function(){}}},{key:"info",value:function(){return function(){}}},{key:"warn",value:function(){return function(){}}},{key:"error",value:function(){return function(){}}}]),e}(),p={fetch:null,mimeType:void 0,nothrow:!1,log:new(function(){function e(){Object(C.a)(this,e),Object(f.a)(this,"console",void 0),this.console=console}return Object(h.a)(e,[{key:"log",value:function(){for(var e,t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return(e=this.console.log).bind.apply(e,[this.console].concat(A))}},{key:"info",value:function(){for(var e,t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return(e=this.console.info).bind.apply(e,[this.console].concat(A))}},{key:"warn",value:function(){for(var e,t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return(e=this.console.warn).bind.apply(e,[this.console].concat(A))}},{key:"error",value:function(){for(var e,t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return(e=this.console.error).bind.apply(e,[this.console].concat(A))}}]),e}()),CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},E={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function Q(){i.a.loaders=i.a.loaders||{};var e=i.a.loaders;return e._state=e._state||{},e._state}A.d(t,"b",(function(){return Q})),A.d(t,"c",(function(){return v})),A.d(t,"a",(function(){return m}));var y=function(){var e=Q();return e.globalOptions=e.globalOptions||Object(r.a)({},p),e.globalOptions};function v(e,t,A,r){return A=A||[],function(e,t){b(e,null,p,E,t);var A,r=Object(n.a)(t);try{for(r.s();!(A=r.n()).done;){var i=A.value,o=e&&e[i.id]||{},a=i.options&&i.options[i.id]||{},s=i.deprecatedOptions&&i.deprecatedOptions[i.id]||{};b(o,i.id,a,s,t)}}catch(g){r.e(g)}finally{r.f()}}(e,A=Array.isArray(A)?A:[A]),S(t,e,r)}function m(e,t){var A=y(),n=e||A;return"function"===typeof n.fetch?n.fetch:Object(o.f)(n.fetch)?function(e){return l(e,n)}:null!==t&&void 0!==t&&t.fetch?null===t||void 0===t?void 0:t.fetch:l}function b(e,t,A,n,r){var i=t||"Top level",a=t?"".concat(t,"."):"";for(var s in e){var g=!t&&Object(o.f)(e[s]);if(!(s in A)&&!("baseUri"===s&&!t)&&!("workerUrl"===s&&t))if(s in n)d.warn("".concat(i," loader option '").concat(a).concat(s,"' no longer supported, use '").concat(n[s],"'"))();else if(!g){var c=w(s,r);d.warn("".concat(i," loader option '").concat(a).concat(s,"' not recognized. ").concat(c))()}}}function w(e,t){var A,r=e.toLowerCase(),i="",o=Object(n.a)(t);try{for(o.s();!(A=o.n()).done;){var a=A.value;for(var s in a.options){if(e===s)return"Did you mean '".concat(a.id,".").concat(s,"'?");var g=s.toLowerCase();(r.startsWith(g)||g.startsWith(r))&&(i=i||"Did you mean '".concat(a.id,".").concat(s,"'?"))}}}catch(c){o.e(c)}finally{o.f()}return i}function S(e,t,A){var n=e.options||{},i=Object(r.a)({},n);return function(e,t){t&&!("baseUri"in e)&&(e.baseUri=t)}(i,A),null===i.log&&(i.log=new B),F(i,y()),F(i,t),i}function F(e,t){for(var A in t)if(A in t){var n=t[A];Object(o.g)(n)&&Object(o.g)(e[A])?e[A]=Object(r.a)({},e[A],{},t[A]):e[A]=t[A]}}},function(e,t,A){"use strict";var n={centimeters:637100880,centimetres:637100880,degrees:6371008.8/111325,feet:20902260.511392,inches:6371008.8*39.37,kilometers:6371.0088,kilometres:6371.0088,meters:6371008.8,metres:6371008.8,miles:3958.761333810546,millimeters:6371008800,millimetres:6371008800,nauticalmiles:6371008.8/1852,radians:1,yards:6371008.8*1.0936};function r(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function i(e,t,A){if(void 0===A&&(A={}),!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!g(e[0])||!g(e[1]))throw new Error("coordinates must contain numbers");return r({type:"Point",coordinates:e},t,A)}function o(e,t){void 0===t&&(t="kilometers");var A=n[t];if(!A)throw new Error(t+" units is invalid");return e/A}function a(e){return e%360*Math.PI/180}function s(e,t,A){if(void 0===t&&(t="kilometers"),void 0===A&&(A="kilometers"),!(e>=0))throw new Error("length must be a positive number");return function(e,t){void 0===t&&(t="kilometers");var A=n[t];if(!A)throw new Error(t+" units is invalid");return e*A}(o(e,t),A)}function g(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)}t.a=function(e,t,A,n){void 0===n&&(n={});var r=t<0,o=s(Math.abs(t),n.units,"meters");r&&(o=-Math.abs(o));var g=function(e){if(!e)throw new Error("coord is required");if(!Array.isArray(e)){if("Feature"===e.type&&null!==e.geometry&&"Point"===e.geometry.type)return e.geometry.coordinates;if("Point"===e.type)return e.coordinates}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return e;throw new Error("coord must be GeoJSON Point or an Array of numbers")}(e),c=function(e,t,A,n){n=void 0===n?6371008.8:Number(n);var r=t/n,i=e[0]*Math.PI/180,o=a(e[1]),s=a(A),g=r*Math.cos(s),c=o+g;Math.abs(c)>Math.PI/2&&(c=c>0?Math.PI-c:-Math.PI-c);var u=Math.log(Math.tan(c/2+Math.PI/4)/Math.tan(o/2+Math.PI/4)),l=Math.abs(u)>1e-11?g/u:Math.cos(o),I=r*Math.sin(s)/l;return[(180*(i+I)/Math.PI+540)%360-180,180*c/Math.PI]}(g,o,A);return c[0]+=c[0]-g[0]>180?-360:g[0]-c[0]>180?360:0,i(c,n.properties)}},function(e,t,A){"use strict";A.d(t,"a",(function(){return r})),A.d(t,"b",(function(){return i})),A.d(t,"c",(function(){return o})),A.d(t,"d",(function(){return a}));var n=A(30);function r(e,t,A){var n=t[0],r=t[1];return e[0]=A[0]*n+A[2]*r,e[1]=A[1]*n+A[3]*r,e}function i(e,t,A){var n=t[0],r=t[1];return e[0]=A[0]*n+A[2]*r+A[4],e[1]=A[1]*n+A[3]*r+A[5],e}function o(e,t,A){var n=t[0],r=t[1];return e[0]=A[0]*n+A[3]*r+A[6],e[1]=A[1]*n+A[4]*r+A[7],e}function a(e,t,A){var n=t[0],r=t[1];return e[0]=A[0]*n+A[4]*r+A[12],e[1]=A[1]*n+A[5]*r+A[13],e}!function(){var e=function(){var e=new n.a(2);return n.a!=Float32Array&&(e[0]=0,e[1]=0),e}()}()},function(e,t,A){"use strict";A.d(t,"b",(function(){return s})),A.d(t,"a",(function(){return g}));var n=A(3),r=A.n(n),i=A(12),o=A(1),a=A(4),s=function(){function e(){Object(o.a)(this,e)}return Object(a.a)(e,[{key:"getHeader",value:function(e){throw new Error("not implemented")}},{key:"getData",value:function(){var e=Object(i.a)(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("not implemented");case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()},{key:"ok",get:function(){return this.status>=200&&this.status<=299}},{key:"status",get:function(){throw new Error("not implemented")}}]),e}(),g=function(){function e(t){Object(o.a)(this,e),this.url=t}return Object(a.a)(e,[{key:"request",value:function(){var e=Object(i.a)(r.a.mark((function e(){var t,A=arguments;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw t=A.length>0&&void 0!==A[0]?A[0]:{},t.headers,t.credentials,t.signal,new Error("request is not implemented");case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()}]),e}()},,function(e,t,A){(function(t){for(var n=A(964),r="undefined"===typeof window?t:window,i=["moz","webkit"],o="AnimationFrame",a=r["request"+o],s=r["cancel"+o]||r["cancelRequest"+o],g=0;!a&&g<i.length;g++)a=r[i[g]+"Request"+o],s=r[i[g]+"Cancel"+o]||r[i[g]+"CancelRequest"+o];if(!a||!s){var c=0,u=0,l=[];a=function(e){if(0===l.length){var t=n(),A=Math.max(0,1e3/60-(t-c));c=A+t,setTimeout((function(){var e=l.slice(0);l.length=0;for(var t=0;t<e.length;t++)if(!e[t].cancelled)try{e[t].callback(c)}catch(A){setTimeout((function(){throw A}),0)}}),Math.round(A))}return l.push({handle:++u,callback:e,cancelled:!1}),u},s=function(e){for(var t=0;t<l.length;t++)l[t].handle===e&&(l[t].cancelled=!0)}}e.exports=function(e){return a.call(r,e)},e.exports.cancel=function(){s.apply(r,arguments)},e.exports.polyfill=function(e){e||(e=r),e.requestAnimationFrame=a,e.cancelAnimationFrame=s}}).call(this,A(86))},function(e,t,A){"use strict";A.d(t,"b",(function(){return s})),A.d(t,"a",(function(){return g})),A.d(t,"c",(function(){return c})),A.d(t,"d",(function(){return u})),A.d(t,"e",(function(){return l}));var n,r,i,o=A(2),a=A(18),s=(n={},Object(o.a)(n,6407,{dataFormat:6407,types:[5121,33635]}),Object(o.a)(n,6408,{dataFormat:6408,types:[5121,32819,32820]}),Object(o.a)(n,6406,{dataFormat:6406,types:[5121]}),Object(o.a)(n,6409,{dataFormat:6409,types:[5121]}),Object(o.a)(n,6410,{dataFormat:6410,types:[5121]}),Object(o.a)(n,33326,{dataFormat:6403,types:[5126],gl2:!0}),Object(o.a)(n,33328,{dataFormat:33319,types:[5126],gl2:!0}),Object(o.a)(n,34837,{dataFormat:6407,types:[5126],gl2:!0}),Object(o.a)(n,34836,{dataFormat:6408,types:[5126],gl2:!0}),n),g=(r={},Object(o.a)(r,6403,1),Object(o.a)(r,36244,1),Object(o.a)(r,33319,2),Object(o.a)(r,33320,2),Object(o.a)(r,6407,3),Object(o.a)(r,36248,3),Object(o.a)(r,6408,4),Object(o.a)(r,36249,4),Object(o.a)(r,6402,1),Object(o.a)(r,34041,1),Object(o.a)(r,6406,1),Object(o.a)(r,6409,1),Object(o.a)(r,6410,2),r),c=(i={},Object(o.a)(i,5126,4),Object(o.a)(i,5125,4),Object(o.a)(i,5124,4),Object(o.a)(i,5123,2),Object(o.a)(i,5122,2),Object(o.a)(i,5131,2),Object(o.a)(i,5120,1),Object(o.a)(i,5121,1),i);function u(e,t){var A=s[t];if(!A)return!1;if(void 0===A.gl1&&void 0===A.gl2)return!0;var n=Object(a.j)(e)&&A.gl2||A.gl1;return"string"===typeof n?e.getExtension(n):n}function l(e,t){var A=s[t];switch(A&&A.types[0]){case 5126:return e.getExtension("OES_texture_float_linear");case 5131:return e.getExtension("OES_texture_half_float_linear");default:return!0}}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ArrowStyles",{enumerable:!0,get:function(){return n.ArrowStyles}}),Object.defineProperty(t,"DEFAULT_ARROWS",{enumerable:!0,get:function(){return n.DEFAULT_ARROWS}}),Object.defineProperty(t,"MAX_ARROWS",{enumerable:!0,get:function(){return n.MAX_ARROWS}}),Object.defineProperty(t,"SELECTION_TYPE",{enumerable:!0,get:function(){return r.SELECTION_TYPE}}),Object.defineProperty(t,"Feature",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"LayerMouseEvent",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"NebulaLayer",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"JunctionsLayer",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"TextsLayer",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(t,"SegmentsLayer",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"NebulaCore",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"toDeckColor",{enumerable:!0,get:function(){return l.toDeckColor}}),Object.defineProperty(t,"EditableGeoJsonLayer",{enumerable:!0,get:function(){return I.EditableGeoJsonLayer}}),Object.defineProperty(t,"SelectionLayer",{enumerable:!0,get:function(){return I.SelectionLayer}}),Object.defineProperty(t,"ElevatedEditHandleLayer",{enumerable:!0,get:function(){return I.ElevatedEditHandleLayer}}),Object.defineProperty(t,"PathOutlineLayer",{enumerable:!0,get:function(){return I.PathOutlineLayer}}),Object.defineProperty(t,"PathMarkerLayer",{enumerable:!0,get:function(){return I.PathMarkerLayer}}),Object.defineProperty(t,"GeoJsonEditMode",{enumerable:!0,get:function(){return C.GeoJsonEditMode}}),Object.defineProperty(t,"ModifyMode",{enumerable:!0,get:function(){return C.ModifyMode}}),Object.defineProperty(t,"ResizeCircleMode",{enumerable:!0,get:function(){return C.ResizeCircleMode}}),Object.defineProperty(t,"TranslateMode",{enumerable:!0,get:function(){return C.TranslateMode}}),Object.defineProperty(t,"ScaleMode",{enumerable:!0,get:function(){return C.ScaleMode}}),Object.defineProperty(t,"RotateMode",{enumerable:!0,get:function(){return C.RotateMode}}),Object.defineProperty(t,"DuplicateMode",{enumerable:!0,get:function(){return C.DuplicateMode}}),Object.defineProperty(t,"ExtendLineStringMode",{enumerable:!0,get:function(){return C.ExtendLineStringMode}}),Object.defineProperty(t,"SplitPolygonMode",{enumerable:!0,get:function(){return C.SplitPolygonMode}}),Object.defineProperty(t,"ExtrudeMode",{enumerable:!0,get:function(){return C.ExtrudeMode}}),Object.defineProperty(t,"ElevationMode",{enumerable:!0,get:function(){return C.ElevationMode}}),Object.defineProperty(t,"TransformMode",{enumerable:!0,get:function(){return C.TransformMode}}),Object.defineProperty(t,"DrawPointMode",{enumerable:!0,get:function(){return C.DrawPointMode}}),Object.defineProperty(t,"DrawLineStringMode",{enumerable:!0,get:function(){return C.DrawLineStringMode}}),Object.defineProperty(t,"DrawPolygonMode",{enumerable:!0,get:function(){return C.DrawPolygonMode}}),Object.defineProperty(t,"DrawRectangleMode",{enumerable:!0,get:function(){return C.DrawRectangleMode}}),Object.defineProperty(t,"DrawSquareFromCenterMode",{enumerable:!0,get:function(){return C.DrawSquareFromCenterMode}}),Object.defineProperty(t,"DrawCircleByDiameterMode",{enumerable:!0,get:function(){return C.DrawCircleByDiameterMode}}),Object.defineProperty(t,"DrawCircleFromCenterMode",{enumerable:!0,get:function(){return C.DrawCircleFromCenterMode}}),Object.defineProperty(t,"DrawEllipseByBoundingBoxMode",{enumerable:!0,get:function(){return C.DrawEllipseByBoundingBoxMode}}),Object.defineProperty(t,"DrawEllipseUsingThreePointsMode",{enumerable:!0,get:function(){return C.DrawEllipseUsingThreePointsMode}}),Object.defineProperty(t,"DrawRectangleUsingThreePointsMode",{enumerable:!0,get:function(){return C.DrawRectangleUsingThreePointsMode}}),Object.defineProperty(t,"Draw90DegreePolygonMode",{enumerable:!0,get:function(){return C.Draw90DegreePolygonMode}}),Object.defineProperty(t,"DrawPolygonByDraggingMode",{enumerable:!0,get:function(){return C.DrawPolygonByDraggingMode}}),Object.defineProperty(t,"ImmutableFeatureCollection",{enumerable:!0,get:function(){return C.ImmutableFeatureCollection}}),Object.defineProperty(t,"ViewMode",{enumerable:!0,get:function(){return C.ViewMode}}),Object.defineProperty(t,"MeasureDistanceMode",{enumerable:!0,get:function(){return C.MeasureDistanceMode}}),Object.defineProperty(t,"MeasureAreaMode",{enumerable:!0,get:function(){return C.MeasureAreaMode}}),Object.defineProperty(t,"MeasureAngleMode",{enumerable:!0,get:function(){return C.MeasureAngleMode}}),Object.defineProperty(t,"CompositeMode",{enumerable:!0,get:function(){return C.CompositeMode}}),Object.defineProperty(t,"SnappableMode",{enumerable:!0,get:function(){return C.SnappableMode}});var n=A(626),r=A(627),i=h(A(1066)),o=h(A(628)),a=h(A(305)),s=h(A(1067)),g=h(A(1103)),c=h(A(1104)),u=h(A(1105)),l=A(369),I=A(309),C=A(202);function h(e){return e&&e.__esModule?e:{default:e}}},,,function(e,t,A){"use strict";(function(e){var n=A(851),r=A(567),i=A(852);function o(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(o()<t)throw new RangeError("Invalid typed array length");return s.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=s.prototype:(null===e&&(e=new s(t)),e.length=t),e}function s(e,t,A){if(!s.TYPED_ARRAY_SUPPORT&&!(this instanceof s))return new s(e,t,A);if("number"===typeof e){if("string"===typeof t)throw new Error("If encoding is specified then the first argument must be a string");return u(this,e)}return g(this,e,t,A)}function g(e,t,A,n){if("number"===typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!==typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,A,n){if(t.byteLength,A<0||t.byteLength<A)throw new RangeError("'offset' is out of bounds");if(t.byteLength<A+(n||0))throw new RangeError("'length' is out of bounds");t=void 0===A&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,A):new Uint8Array(t,A,n);s.TYPED_ARRAY_SUPPORT?(e=t).__proto__=s.prototype:e=l(e,t);return e}(e,t,A,n):"string"===typeof t?function(e,t,A){"string"===typeof A&&""!==A||(A="utf8");if(!s.isEncoding(A))throw new TypeError('"encoding" must be a valid string encoding');var n=0|C(t,A),r=(e=a(e,n)).write(t,A);r!==n&&(e=e.slice(0,r));return e}(e,t,A):function(e,t){if(s.isBuffer(t)){var A=0|I(t.length);return 0===(e=a(e,A)).length||t.copy(e,0,0,A),e}if(t){if("undefined"!==typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!==typeof t.length||(n=t.length)!==n?a(e,0):l(e,t);if("Buffer"===t.type&&i(t.data))return l(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function c(e){if("number"!==typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function u(e,t){if(c(t),e=a(e,t<0?0:0|I(t)),!s.TYPED_ARRAY_SUPPORT)for(var A=0;A<t;++A)e[A]=0;return e}function l(e,t){var A=t.length<0?0:0|I(t.length);e=a(e,A);for(var n=0;n<A;n+=1)e[n]=255&t[n];return e}function I(e){if(e>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function C(e,t){if(s.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var A=e.length;if(0===A)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return A;case"utf8":case"utf-8":case void 0:return T(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*A;case"hex":return A>>>1;case"base64":return Z(e).length;default:if(n)return T(e).length;t=(""+t).toLowerCase(),n=!0}}function h(e,t,A){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===A||A>this.length)&&(A=this.length),A<=0)return"";if((A>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return R(this,t,A);case"utf8":case"utf-8":return w(this,t,A);case"ascii":return S(this,t,A);case"latin1":case"binary":return F(this,t,A);case"base64":return b(this,t,A);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,t,A);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function f(e,t,A){var n=e[t];e[t]=e[A],e[A]=n}function d(e,t,A,n,r){if(0===e.length)return-1;if("string"===typeof A?(n=A,A=0):A>2147483647?A=2147483647:A<-2147483648&&(A=-2147483648),A=+A,isNaN(A)&&(A=r?0:e.length-1),A<0&&(A=e.length+A),A>=e.length){if(r)return-1;A=e.length-1}else if(A<0){if(!r)return-1;A=0}if("string"===typeof t&&(t=s.from(t,n)),s.isBuffer(t))return 0===t.length?-1:B(e,t,A,n,r);if("number"===typeof t)return t&=255,s.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,A):Uint8Array.prototype.lastIndexOf.call(e,t,A):B(e,[t],A,n,r);throw new TypeError("val must be string, number or Buffer")}function B(e,t,A,n,r){var i,o=1,a=e.length,s=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,a/=2,s/=2,A/=2}function g(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){var c=-1;for(i=A;i<a;i++)if(g(e,i)===g(t,-1===c?0:i-c)){if(-1===c&&(c=i),i-c+1===s)return c*o}else-1!==c&&(i-=i-c),c=-1}else for(A+s>a&&(A=a-s),i=A;i>=0;i--){for(var u=!0,l=0;l<s;l++)if(g(e,i+l)!==g(t,l)){u=!1;break}if(u)return i}return-1}function p(e,t,A,n){A=Number(A)||0;var r=e.length-A;n?(n=Number(n))>r&&(n=r):n=r;var i=t.length;if(i%2!==0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/2);for(var o=0;o<n;++o){var a=parseInt(t.substr(2*o,2),16);if(isNaN(a))return o;e[A+o]=a}return o}function E(e,t,A,n){return H(T(t,e.length-A),e,A,n)}function Q(e,t,A,n){return H(function(e){for(var t=[],A=0;A<e.length;++A)t.push(255&e.charCodeAt(A));return t}(t),e,A,n)}function y(e,t,A,n){return Q(e,t,A,n)}function v(e,t,A,n){return H(Z(t),e,A,n)}function m(e,t,A,n){return H(function(e,t){for(var A,n,r,i=[],o=0;o<e.length&&!((t-=2)<0);++o)A=e.charCodeAt(o),n=A>>8,r=A%256,i.push(r),i.push(n);return i}(t,e.length-A),e,A,n)}function b(e,t,A){return 0===t&&A===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,A))}function w(e,t,A){A=Math.min(e.length,A);for(var n=[],r=t;r<A;){var i,o,a,s,g=e[r],c=null,u=g>239?4:g>223?3:g>191?2:1;if(r+u<=A)switch(u){case 1:g<128&&(c=g);break;case 2:128===(192&(i=e[r+1]))&&(s=(31&g)<<6|63&i)>127&&(c=s);break;case 3:i=e[r+1],o=e[r+2],128===(192&i)&&128===(192&o)&&(s=(15&g)<<12|(63&i)<<6|63&o)>2047&&(s<55296||s>57343)&&(c=s);break;case 4:i=e[r+1],o=e[r+2],a=e[r+3],128===(192&i)&&128===(192&o)&&128===(192&a)&&(s=(15&g)<<18|(63&i)<<12|(63&o)<<6|63&a)>65535&&s<1114112&&(c=s)}null===c?(c=65533,u=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),r+=u}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var A="",n=0;for(;n<t;)A+=String.fromCharCode.apply(String,e.slice(n,n+=4096));return A}(n)}t.Buffer=s,t.SlowBuffer=function(e){+e!=e&&(e=0);return s.alloc(+e)},t.INSPECT_MAX_BYTES=50,s.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}(),t.kMaxLength=o(),s.poolSize=8192,s._augment=function(e){return e.__proto__=s.prototype,e},s.from=function(e,t,A){return g(null,e,t,A)},s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0})),s.alloc=function(e,t,A){return function(e,t,A,n){return c(t),t<=0?a(e,t):void 0!==A?"string"===typeof n?a(e,t).fill(A,n):a(e,t).fill(A):a(e,t)}(null,e,t,A)},s.allocUnsafe=function(e){return u(null,e)},s.allocUnsafeSlow=function(e){return u(null,e)},s.isBuffer=function(e){return!(null==e||!e._isBuffer)},s.compare=function(e,t){if(!s.isBuffer(e)||!s.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var A=e.length,n=t.length,r=0,i=Math.min(A,n);r<i;++r)if(e[r]!==t[r]){A=e[r],n=t[r];break}return A<n?-1:n<A?1:0},s.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(e,t){if(!i(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return s.alloc(0);var A;if(void 0===t)for(t=0,A=0;A<e.length;++A)t+=e[A].length;var n=s.allocUnsafe(t),r=0;for(A=0;A<e.length;++A){var o=e[A];if(!s.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,r),r+=o.length}return n},s.byteLength=C,s.prototype._isBuffer=!0,s.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)f(this,t,t+1);return this},s.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)f(this,t,t+3),f(this,t+1,t+2);return this},s.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)f(this,t,t+7),f(this,t+1,t+6),f(this,t+2,t+5),f(this,t+3,t+4);return this},s.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?w(this,0,e):h.apply(this,arguments)},s.prototype.equals=function(e){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===s.compare(this,e)},s.prototype.inspect=function(){var e="",A=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,A).match(/.{2}/g).join(" "),this.length>A&&(e+=" ... ")),"<Buffer "+e+">"},s.prototype.compare=function(e,t,A,n,r){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===A&&(A=e?e.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),t<0||A>e.length||n<0||r>this.length)throw new RangeError("out of range index");if(n>=r&&t>=A)return 0;if(n>=r)return-1;if(t>=A)return 1;if(this===e)return 0;for(var i=(r>>>=0)-(n>>>=0),o=(A>>>=0)-(t>>>=0),a=Math.min(i,o),g=this.slice(n,r),c=e.slice(t,A),u=0;u<a;++u)if(g[u]!==c[u]){i=g[u],o=c[u];break}return i<o?-1:o<i?1:0},s.prototype.includes=function(e,t,A){return-1!==this.indexOf(e,t,A)},s.prototype.indexOf=function(e,t,A){return d(this,e,t,A,!0)},s.prototype.lastIndexOf=function(e,t,A){return d(this,e,t,A,!1)},s.prototype.write=function(e,t,A,n){if(void 0===t)n="utf8",A=this.length,t=0;else if(void 0===A&&"string"===typeof t)n=t,A=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(A)?(A|=0,void 0===n&&(n="utf8")):(n=A,A=void 0)}var r=this.length-t;if((void 0===A||A>r)&&(A=r),e.length>0&&(A<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return p(this,e,t,A);case"utf8":case"utf-8":return E(this,e,t,A);case"ascii":return Q(this,e,t,A);case"latin1":case"binary":return y(this,e,t,A);case"base64":return v(this,e,t,A);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m(this,e,t,A);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function S(e,t,A){var n="";A=Math.min(e.length,A);for(var r=t;r<A;++r)n+=String.fromCharCode(127&e[r]);return n}function F(e,t,A){var n="";A=Math.min(e.length,A);for(var r=t;r<A;++r)n+=String.fromCharCode(e[r]);return n}function R(e,t,A){var n=e.length;(!t||t<0)&&(t=0),(!A||A<0||A>n)&&(A=n);for(var r="",i=t;i<A;++i)r+=L(e[i]);return r}function D(e,t,A){for(var n=e.slice(t,A),r="",i=0;i<n.length;i+=2)r+=String.fromCharCode(n[i]+256*n[i+1]);return r}function G(e,t,A){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>A)throw new RangeError("Trying to access beyond buffer length")}function k(e,t,A,n,r,i){if(!s.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||t<i)throw new RangeError('"value" argument is out of bounds');if(A+n>e.length)throw new RangeError("Index out of range")}function x(e,t,A,n){t<0&&(t=65535+t+1);for(var r=0,i=Math.min(e.length-A,2);r<i;++r)e[A+r]=(t&255<<8*(n?r:1-r))>>>8*(n?r:1-r)}function N(e,t,A,n){t<0&&(t=4294967295+t+1);for(var r=0,i=Math.min(e.length-A,4);r<i;++r)e[A+r]=t>>>8*(n?r:3-r)&255}function U(e,t,A,n,r,i){if(A+n>e.length)throw new RangeError("Index out of range");if(A<0)throw new RangeError("Index out of range")}function _(e,t,A,n,i){return i||U(e,0,A,4),r.write(e,t,A,n,23,4),A+4}function M(e,t,A,n,i){return i||U(e,0,A,8),r.write(e,t,A,n,52,8),A+8}s.prototype.slice=function(e,t){var A,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),s.TYPED_ARRAY_SUPPORT)(A=this.subarray(e,t)).__proto__=s.prototype;else{var r=t-e;A=new s(r,void 0);for(var i=0;i<r;++i)A[i]=this[i+e]}return A},s.prototype.readUIntLE=function(e,t,A){e|=0,t|=0,A||G(e,t,this.length);for(var n=this[e],r=1,i=0;++i<t&&(r*=256);)n+=this[e+i]*r;return n},s.prototype.readUIntBE=function(e,t,A){e|=0,t|=0,A||G(e,t,this.length);for(var n=this[e+--t],r=1;t>0&&(r*=256);)n+=this[e+--t]*r;return n},s.prototype.readUInt8=function(e,t){return t||G(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,t){return t||G(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,t){return t||G(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,t){return t||G(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},s.prototype.readUInt32BE=function(e,t){return t||G(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readIntLE=function(e,t,A){e|=0,t|=0,A||G(e,t,this.length);for(var n=this[e],r=1,i=0;++i<t&&(r*=256);)n+=this[e+i]*r;return n>=(r*=128)&&(n-=Math.pow(2,8*t)),n},s.prototype.readIntBE=function(e,t,A){e|=0,t|=0,A||G(e,t,this.length);for(var n=t,r=1,i=this[e+--n];n>0&&(r*=256);)i+=this[e+--n]*r;return i>=(r*=128)&&(i-=Math.pow(2,8*t)),i},s.prototype.readInt8=function(e,t){return t||G(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},s.prototype.readInt16LE=function(e,t){t||G(e,2,this.length);var A=this[e]|this[e+1]<<8;return 32768&A?4294901760|A:A},s.prototype.readInt16BE=function(e,t){t||G(e,2,this.length);var A=this[e+1]|this[e]<<8;return 32768&A?4294901760|A:A},s.prototype.readInt32LE=function(e,t){return t||G(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return t||G(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readFloatLE=function(e,t){return t||G(e,4,this.length),r.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return t||G(e,4,this.length),r.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return t||G(e,8,this.length),r.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return t||G(e,8,this.length),r.read(this,e,!1,52,8)},s.prototype.writeUIntLE=function(e,t,A,n){(e=+e,t|=0,A|=0,n)||k(this,e,t,A,Math.pow(2,8*A)-1,0);var r=1,i=0;for(this[t]=255&e;++i<A&&(r*=256);)this[t+i]=e/r&255;return t+A},s.prototype.writeUIntBE=function(e,t,A,n){(e=+e,t|=0,A|=0,n)||k(this,e,t,A,Math.pow(2,8*A)-1,0);var r=A-1,i=1;for(this[t+r]=255&e;--r>=0&&(i*=256);)this[t+r]=e/i&255;return t+A},s.prototype.writeUInt8=function(e,t,A){return e=+e,t|=0,A||k(this,e,t,1,255,0),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},s.prototype.writeUInt16LE=function(e,t,A){return e=+e,t|=0,A||k(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):x(this,e,t,!0),t+2},s.prototype.writeUInt16BE=function(e,t,A){return e=+e,t|=0,A||k(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):x(this,e,t,!1),t+2},s.prototype.writeUInt32LE=function(e,t,A){return e=+e,t|=0,A||k(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):N(this,e,t,!0),t+4},s.prototype.writeUInt32BE=function(e,t,A){return e=+e,t|=0,A||k(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},s.prototype.writeIntLE=function(e,t,A,n){if(e=+e,t|=0,!n){var r=Math.pow(2,8*A-1);k(this,e,t,A,r-1,-r)}var i=0,o=1,a=0;for(this[t]=255&e;++i<A&&(o*=256);)e<0&&0===a&&0!==this[t+i-1]&&(a=1),this[t+i]=(e/o>>0)-a&255;return t+A},s.prototype.writeIntBE=function(e,t,A,n){if(e=+e,t|=0,!n){var r=Math.pow(2,8*A-1);k(this,e,t,A,r-1,-r)}var i=A-1,o=1,a=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/o>>0)-a&255;return t+A},s.prototype.writeInt8=function(e,t,A){return e=+e,t|=0,A||k(this,e,t,1,127,-128),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},s.prototype.writeInt16LE=function(e,t,A){return e=+e,t|=0,A||k(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):x(this,e,t,!0),t+2},s.prototype.writeInt16BE=function(e,t,A){return e=+e,t|=0,A||k(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):x(this,e,t,!1),t+2},s.prototype.writeInt32LE=function(e,t,A){return e=+e,t|=0,A||k(this,e,t,4,2147483647,-2147483648),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):N(this,e,t,!0),t+4},s.prototype.writeInt32BE=function(e,t,A){return e=+e,t|=0,A||k(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},s.prototype.writeFloatLE=function(e,t,A){return _(this,e,t,!0,A)},s.prototype.writeFloatBE=function(e,t,A){return _(this,e,t,!1,A)},s.prototype.writeDoubleLE=function(e,t,A){return M(this,e,t,!0,A)},s.prototype.writeDoubleBE=function(e,t,A){return M(this,e,t,!1,A)},s.prototype.copy=function(e,t,A,n){if(A||(A=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<A&&(n=A),n===A)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(A<0||A>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-A&&(n=e.length-t+A);var r,i=n-A;if(this===e&&A<t&&t<n)for(r=i-1;r>=0;--r)e[r+t]=this[r+A];else if(i<1e3||!s.TYPED_ARRAY_SUPPORT)for(r=0;r<i;++r)e[r+t]=this[r+A];else Uint8Array.prototype.set.call(e,this.subarray(A,A+i),t);return i},s.prototype.fill=function(e,t,A,n){if("string"===typeof e){if("string"===typeof t?(n=t,t=0,A=this.length):"string"===typeof A&&(n=A,A=this.length),1===e.length){var r=e.charCodeAt(0);r<256&&(e=r)}if(void 0!==n&&"string"!==typeof n)throw new TypeError("encoding must be a string");if("string"===typeof n&&!s.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"===typeof e&&(e&=255);if(t<0||this.length<t||this.length<A)throw new RangeError("Out of range index");if(A<=t)return this;var i;if(t>>>=0,A=void 0===A?this.length:A>>>0,e||(e=0),"number"===typeof e)for(i=t;i<A;++i)this[i]=e;else{var o=s.isBuffer(e)?e:T(new s(e,n).toString()),a=o.length;for(i=0;i<A-t;++i)this[i+t]=o[i%a]}return this};var O=/[^+\/0-9A-Za-z-_]/g;function L(e){return e<16?"0"+e.toString(16):e.toString(16)}function T(e,t){var A;t=t||1/0;for(var n=e.length,r=null,i=[],o=0;o<n;++o){if((A=e.charCodeAt(o))>55295&&A<57344){if(!r){if(A>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}r=A;continue}if(A<56320){(t-=3)>-1&&i.push(239,191,189),r=A;continue}A=65536+(r-55296<<10|A-56320)}else r&&(t-=3)>-1&&i.push(239,191,189);if(r=null,A<128){if((t-=1)<0)break;i.push(A)}else if(A<2048){if((t-=2)<0)break;i.push(A>>6|192,63&A|128)}else if(A<65536){if((t-=3)<0)break;i.push(A>>12|224,A>>6&63|128,63&A|128)}else{if(!(A<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(A>>18|240,A>>12&63|128,A>>6&63|128,63&A|128)}}return i}function Z(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(O,"")).length<2)return"";for(;e.length%4!==0;)e+="=";return e}(e))}function H(e,t,A,n){for(var r=0;r<n&&!(r+A>=t.length||r>=e.length);++r)t[r+A]=e[r];return r}}).call(this,A(86))},function(e,t,A){"use strict";(function(e,n){A.d(t,"a",(function(){return i})),A.d(t,"b",(function(){return o}));var r={self:"undefined"!==typeof self&&self,window:"undefined"!==typeof window&&window,global:"undefined"!==typeof e&&e,document:"undefined"!==typeof document&&document},i=r.global||r.self||r.window||{},o="object"!==typeof n||"[object process]"!==String(n)||n.browser,a="undefined"!==typeof n&&n.version&&/v([0-9]*)/.exec(n.version);a&&parseFloat(a[1])}).call(this,A(86),A(90))},function(e,t){var A=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=A)},function(e,t){var A=e.exports={version:"2.6.11"};"number"==typeof __e&&(__e=A)},function(e,t,A){e.exports=!A(303)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,A){var n=A(472),r=A(969),i=A(986),o=A(111);e.exports=function(e,t){return(o(e)?n:i)(e,r(t,3))}},function(e,t,A){"use strict";A.d(t,"d",(function(){return i})),A.d(t,"a",(function(){return o})),A.d(t,"b",(function(){return a})),A.d(t,"c",(function(){return s}));var n=A(6),r=A(219);function i(e){if(r.b(e)&&(e=r.a(e)),e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return 0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if("string"===typeof e){var t=e;return(new TextEncoder).encode(t).buffer}if(e&&"object"===typeof e&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function o(e,t,A){if(A=A||e.byteLength,e.byteLength<A||t.byteLength<A)return!1;for(var n=new Uint8Array(e),r=new Uint8Array(t),i=0;i<n.length;++i)if(n[i]!==r[i])return!1;return!0}function a(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];var r,i=t.map((function(e){return e instanceof ArrayBuffer?new Uint8Array(e):e})),o=i.reduce((function(e,t){return e+t.byteLength}),0),a=new Uint8Array(o),s=0,g=Object(n.a)(i);try{for(g.s();!(r=g.n()).done;){var c=r.value;a.set(c,s),s+=c.byteLength}}catch(u){g.e(u)}finally{g.f()}return a.buffer}function s(e,t,A){var n=void 0!==A?new Uint8Array(e).subarray(t,t+A):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}},function(e,t,A){"use strict";e.exports=A(901)},function(e,t,A){"use strict";A.d(t,"c",(function(){return g})),A.d(t,"a",(function(){return c})),A.d(t,"b",(function(){return u})),A.d(t,"d",(function(){return l}));var n=A(6),r=A(152),i=A(159),o=A(85),a=A(72),s=A(322);function g(e,t){if(Object(o.a)(Object(a.d)(e),"setParameters requires a WebGL context"),!Object(s.b)(t)){var A={};for(var n in t){var i=Number(n),g=r.e[n];g&&("string"===typeof g?A[g]=!0:g(e,t[n],i))}var c=e.state&&e.state.cache;if(c)for(var u in A){(0,r.a[u])(e,t,c)}}}function c(e,t){if("number"===typeof(t=t||r.c)){var A=t,i=r.d[A];return i?i(e,A):e.getParameter(A)}var o,a=Array.isArray(t)?t:Object.keys(t),s={},g=Object(n.a)(a);try{for(g.s();!(o=g.n()).done;){var c=o.value,u=r.d[c];s[c]=u?u(e,Number(c)):e.getParameter(Number(c))}}catch(l){g.e(l)}finally{g.f()}return s}function u(e){g(e,r.c)}function l(e,t,A){if(Object(s.b)(t))return A(e);var n,r=t.nocatch,o=void 0===r||r;if(Object(i.b)(e),g(e,t),o)n=A(e),Object(i.a)(e);else try{n=A(e)}finally{Object(i.a)(e)}return n}},function(e,t,A){"use strict";A.d(t,"a",(function(){return I}));var n=A(8),r=A(1),i=A(4),o=A(9),a=A(10),s=A(206),g=A(32),c=A(33),u=A(319),l="Unknown Euler angle order";var I=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(){var e,n,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:A.DefaultOrder;(Object(r.a)(this,A),e=t.call(this,-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0]))?(n=e).fromVector3.apply(n,arguments):e.set(i,o,a,s);return e}return Object(i.a)(A,[{key:"ELEMENTS",get:function(){return 4}}],[{key:"rotationOrder",value:function(e){return A.RotationOrders[e]}},{key:"ZYX",get:function(){return 0}},{key:"YXZ",get:function(){return 1}},{key:"XZY",get:function(){return 2}},{key:"ZXY",get:function(){return 3}},{key:"YZX",get:function(){return 4}},{key:"XYZ",get:function(){return 5}},{key:"RollPitchYaw",get:function(){return 0}},{key:"DefaultOrder",get:function(){return A.ZYX}},{key:"RotationOrders",get:function(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}}]),Object(i.a)(A,[{key:"fromQuaternion",value:function(e){var t=Object(n.a)(e,4),r=t[0],i=t[1],o=t[2],a=t[3],s=i*i,g=-2*(s+o*o)+1,c=2*(r*i+a*o),u=-2*(r*o-a*i),l=2*(i*o+a*r),I=-2*(r*r+s)+1;return u=(u=u>1?1:u)<-1?-1:u,new A(Math.atan2(l,I),Math.asin(u),Math.atan2(c,g),A.RollPitchYaw)}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}},{key:"set",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0;return this[0]=e,this[1]=t,this[2]=A,this[3]=Number.isFinite(n)?n:this[3],this.check()}},{key:"validate",value:function(){return(e=this[3])>=0&&e<6&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2]);var e}},{key:"toArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}},{key:"toArray4",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}},{key:"toVector3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}},{key:"fromVector3",value:function(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}},{key:"fromArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}},{key:"fromRollPitchYaw",value:function(e,t,n){return this.set(e,t,n,A.ZYX)}},{key:"fromRotationMatrix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:A.DefaultOrder;return this._fromRotationMatrix(e,t),this.check()}},{key:"getRotationMatrix",value:function(e){return this._getRotationMatrix(e)}},{key:"getQuaternion",value:function(){var e=new u.a;switch(this[3]){case A.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case A.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case A.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case A.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case A.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case A.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(l)}}},{key:"_fromRotationMatrix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:A.DefaultOrder,n=e.elements,r=n[0],i=n[4],o=n[8],a=n[1],s=n[5],c=n[9],u=n[2],I=n[6],C=n[10];switch(t=t||this[3]){case A.XYZ:this[1]=Math.asin(Object(g.d)(o,-1,1)),Math.abs(o)<.99999?(this[0]=Math.atan2(-c,C),this[2]=Math.atan2(-i,r)):(this[0]=Math.atan2(I,s),this[2]=0);break;case A.YXZ:this[0]=Math.asin(-Object(g.d)(c,-1,1)),Math.abs(c)<.99999?(this[1]=Math.atan2(o,C),this[2]=Math.atan2(a,s)):(this[1]=Math.atan2(-u,r),this[2]=0);break;case A.ZXY:this[0]=Math.asin(Object(g.d)(I,-1,1)),Math.abs(I)<.99999?(this[1]=Math.atan2(-u,C),this[2]=Math.atan2(-i,s)):(this[1]=0,this[2]=Math.atan2(a,r));break;case A.ZYX:this[1]=Math.asin(-Object(g.d)(u,-1,1)),Math.abs(u)<.99999?(this[0]=Math.atan2(I,C),this[2]=Math.atan2(a,r)):(this[0]=0,this[2]=Math.atan2(-i,s));break;case A.YZX:this[2]=Math.asin(Object(g.d)(a,-1,1)),Math.abs(a)<.99999?(this[0]=Math.atan2(-c,s),this[1]=Math.atan2(-u,r)):(this[0]=0,this[1]=Math.atan2(o,C));break;case A.XZY:this[2]=Math.asin(-Object(g.d)(i,-1,1)),Math.abs(i)<.99999?(this[0]=Math.atan2(I,s),this[1]=Math.atan2(o,r)):(this[0]=Math.atan2(-c,C),this[1]=0);break;default:throw new Error(l)}return this[3]=t,this}},{key:"_getRotationMatrix",value:function(e){var t=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],n=this.x,r=this.y,i=this.z,o=Math.cos(n),a=Math.cos(r),s=Math.cos(i),g=Math.sin(n),c=Math.sin(r),u=Math.sin(i);switch(this[3]){case A.XYZ:var I=o*s,C=o*u,h=g*s,f=g*u;t[0]=a*s,t[4]=-a*u,t[8]=c,t[1]=C+h*c,t[5]=I-f*c,t[9]=-g*a,t[2]=f-I*c,t[6]=h+C*c,t[10]=o*a;break;case A.YXZ:var d=a*s,B=a*u,p=c*s,E=c*u;t[0]=d+E*g,t[4]=p*g-B,t[8]=o*c,t[1]=o*u,t[5]=o*s,t[9]=-g,t[2]=B*g-p,t[6]=E+d*g,t[10]=o*a;break;case A.ZXY:var Q=a*s,y=a*u,v=c*s,m=c*u;t[0]=Q-m*g,t[4]=-o*u,t[8]=v+y*g,t[1]=y+v*g,t[5]=o*s,t[9]=m-Q*g,t[2]=-o*c,t[6]=g,t[10]=o*a;break;case A.ZYX:var b=o*s,w=o*u,S=g*s,F=g*u;t[0]=a*s,t[4]=S*c-w,t[8]=b*c+F,t[1]=a*u,t[5]=F*c+b,t[9]=w*c-S,t[2]=-c,t[6]=g*a,t[10]=o*a;break;case A.YZX:var R=o*a,D=o*c,G=g*a,k=g*c;t[0]=a*s,t[4]=k-R*u,t[8]=G*u+D,t[1]=u,t[5]=o*s,t[9]=-g*s,t[2]=-c*s,t[6]=D*u+G,t[10]=R-k*u;break;case A.XZY:var x=o*a,N=o*c,U=g*a,_=g*c;t[0]=a*s,t[4]=-u,t[8]=c*s,t[1]=x*u+_,t[5]=o*s,t[9]=N*u-U,t[2]=U*u-N,t[6]=g*s,t[10]=_*u+x;break;default:throw new Error(l)}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{key:"toQuaternion",value:function(){var e=Math.cos(.5*this.yaw),t=Math.sin(.5*this.yaw),A=Math.cos(.5*this.roll),n=Math.sin(.5*this.roll),r=Math.cos(.5*this.pitch),i=Math.sin(.5*this.pitch),o=e*A*r+t*n*i,a=e*n*r-t*A*i,s=e*A*i+t*n*r,g=t*A*r-e*n*i;return new u.a(a,s,g,o)}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=Object(c.a)(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=Object(c.a)(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=Object(c.a)(e)}},{key:"alpha",get:function(){return this[0]},set:function(e){this[0]=Object(c.a)(e)}},{key:"beta",get:function(){return this[1]},set:function(e){this[1]=Object(c.a)(e)}},{key:"gamma",get:function(){return this[2]},set:function(e){this[2]=Object(c.a)(e)}},{key:"phi",get:function(){return this[0]},set:function(e){this[0]=Object(c.a)(e)}},{key:"theta",get:function(){return this[1]},set:function(e){this[1]=Object(c.a)(e)}},{key:"psi",get:function(){return this[2]},set:function(e){this[2]=Object(c.a)(e)}},{key:"roll",get:function(){return this[0]},set:function(e){this[0]=Object(c.a)(e)}},{key:"pitch",get:function(){return this[1]},set:function(e){this[1]=Object(c.a)(e)}},{key:"yaw",get:function(){return this[2]},set:function(e){this[2]=Object(c.a)(e)}},{key:"order",get:function(){return this[3]},set:function(e){this[3]=function(e){if(e<0&&e>=6)throw new Error(l);return e}(e)}}]),A}(s.a)},function(e,t,A){"use strict";A.d(t,"a",(function(){return o}));var n=A(7),r=A(1),i=A(4),o=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(r.a)(this,e);var A=t.id,i=void 0===A?"effect":A;this.id=i,this.props=Object(n.a)({},t)}return Object(i.a)(e,[{key:"preRender",value:function(){}},{key:"getModuleParameters",value:function(){}},{key:"cleanup",value:function(){}}]),e}()},function(e,t,A){"use strict";A.d(t,"a",(function(){return u}));var n=A(6),r=A(1),i=A(4),o=A(9),a=A(10),s=A(410),g=A(18),c=A(428),u=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"render",value:function(e){var t=this.gl;return Object(g.n)(t,{framebuffer:e.target}),this._drawLayers(e)}},{key:"_drawLayers",value:function(e){var t=e.viewports,A=e.views,r=e.onViewportActive,i=e.clearCanvas,o=void 0===i||i;e.pass=e.pass||"unknown";var a=this.gl;o&&function(e){var t=e.drawingBufferWidth,A=e.drawingBufferHeight;Object(g.n)(e,{viewport:[0,0,t,A]}),e.clear(16640)}(a);var s,c=[],u=Object(n.a)(t);try{for(u.s();!(s=u.n()).done;){var l=s.value,I=l.viewport||l,C=A&&A[I.id];r(I);var h=this._getDrawLayerParams(I,e);e.view=C;var f,d=I.subViewports||[I],B=Object(n.a)(d);try{for(B.s();!(f=B.n()).done;){var p=f.value;e.viewport=p;var E=this._drawLayersInViewport(a,e,h);c.push(E)}}catch(Q){B.e(Q)}finally{B.f()}}}catch(Q){u.e(Q)}finally{u.f()}return c}},{key:"_getDrawLayerParams",value:function(e,t){for(var A=t.layers,n=t.pass,r=t.layerFilter,i=t.effects,o=t.moduleParameters,a=[],s=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},r=function r(i,o){var a,s=i.props._offset,g=i.id,c=i.parent&&i.parent.id;if(c&&!(c in A)&&r(i.parent,!1),c in n){var u=n[c]=n[c]||e(A[c],A);a=u(i,o),n[g]=u}else Number.isFinite(s)?(a=s+(A[c]||0),n[g]=null):a=t;return o&&a>=t&&(t=a+1),A[g]=a,a};return r}(),g={viewport:e,isPicking:n.startsWith("picking"),renderPass:n},c={},u=0;u<A.length;u++){var l=A[u],I=this._shouldDrawLayer(l,g,r,c),C={shouldDrawLayer:I,layerRenderIndex:s(l,I)};I&&(C.moduleParameters=this._getModuleParameters(l,i,n,o),C.layerParameters=this.getLayerParameters(l,u,e)),a[u]=C}return a}},{key:"_drawLayersInViewport",value:function(e,t,A){var n=t.layers,r=t.pass,i=t.viewport,o=t.view,a=function(e,t){var A=t.viewport,n=e.canvas?e.canvas.clientHeight||e.canvas.height:100,r=A,i=Object(g.e)(e);return[r.x*i,(n-r.y-r.height)*i,r.width*i,r.height*i]}(e,{viewport:i});if(o&&o.props.clear){var s=!0===o.props.clear?{color:!0,depth:!0}:o.props.clear;Object(g.o)(e,{scissorTest:!0,scissor:a},(function(){return Object(c.a)(e,s)}))}var u={totalCount:n.length,visibleCount:0,compositeCount:0,pickableCount:0};Object(g.n)(e,{viewport:a});for(var l=0;l<n.length;l++){var I=n[l],C=A[l],h=C.shouldDrawLayer,f=C.layerRenderIndex,d=C.moduleParameters,B=C.layerParameters;if(h&&I.props.pickable&&u.pickableCount++,I.isComposite)u.compositeCount++;else if(h){u.visibleCount++,d.viewport=i;try{I.drawLayer({moduleParameters:d,uniforms:{layerIndex:f},parameters:B})}catch(p){I.raiseError(p,"drawing ".concat(I," to ").concat(r))}}}return u}},{key:"shouldDrawLayer",value:function(e){return!0}},{key:"getModuleParameters",value:function(e,t){return null}},{key:"getLayerParameters",value:function(e,t){return e.props.parameters}},{key:"_shouldDrawLayer",value:function(e,t,A,n){if(!(this.shouldDrawLayer(e)&&e.props.visible))return!1;t.layer=e;for(var r=e.parent;r;){if(!r.props.visible||!r.filterSubLayer(t))return!1;t.layer=r,r=r.parent}if(A){var i=t.layer.id;if(i in n||(n[i]=A(t)),!n[i])return!1}return e.activateViewport(t.viewport),!0}},{key:"_getModuleParameters",value:function(e,t,A,r){var i=Object.assign(Object.create(e.props),{autoWrapLongitude:e.wrapLongitude,viewport:e.context.viewport,mousePosition:e.context.mousePosition,pickingActive:0,devicePixelRatio:Object(g.e)(this.gl)});if(t){var o,a=Object(n.a)(t);try{for(a.s();!(o=a.n()).done;){var s=o.value;Object.assign(i,s.getModuleParameters(e))}}catch(c){a.e(c)}finally{a.f()}}return Object.assign(i,this.getModuleParameters(e,t),r)}}]),A}(s.a)},function(e,t,A){"use strict";A.d(t,"a",(function(){return C}));var n=A(0),r=A(39),i=!0,o=!1,a=null,s={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function g(e){e.metaKey||e.altKey||e.ctrlKey||(i=!0)}function c(){i=!1}function u(){"hidden"===this.visibilityState&&o&&(i=!0)}function l(e){var t=e.target;try{return t.matches(":focus-visible")}catch(A){}return i||function(e){var t=e.type,A=e.tagName;return!("INPUT"!==A||!s[t]||e.readOnly)||("TEXTAREA"===A&&!e.readOnly||!!e.isContentEditable)}(t)}function I(){o=!0,window.clearTimeout(a),a=window.setTimeout((function(){o=!1}),100)}function C(){return{isFocusVisible:l,onBlurVisible:I,ref:n.useCallback((function(e){var t,A=r.findDOMNode(e);null!=A&&((t=A.ownerDocument).addEventListener("keydown",g,!0),t.addEventListener("mousedown",c,!0),t.addEventListener("pointerdown",c,!0),t.addEventListener("touchstart",c,!0),t.addEventListener("visibilitychange",u,!0))}),[])}}},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(69);function r(e){return Object(n.a)(e).defaultView||window}},function(e,t,A){"use strict";function n(e){return(n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"GeoJsonEditMode",{enumerable:!0,get:function(){return i.GeoJsonEditMode}}),Object.defineProperty(t,"ModifyMode",{enumerable:!0,get:function(){return o.ModifyMode}}),Object.defineProperty(t,"ResizeCircleMode",{enumerable:!0,get:function(){return a.ResizeCircleMode}}),Object.defineProperty(t,"TranslateMode",{enumerable:!0,get:function(){return s.TranslateMode}}),Object.defineProperty(t,"ScaleMode",{enumerable:!0,get:function(){return g.ScaleMode}}),Object.defineProperty(t,"RotateMode",{enumerable:!0,get:function(){return c.RotateMode}}),Object.defineProperty(t,"DuplicateMode",{enumerable:!0,get:function(){return u.DuplicateMode}}),Object.defineProperty(t,"ExtendLineStringMode",{enumerable:!0,get:function(){return l.ExtendLineStringMode}}),Object.defineProperty(t,"SplitPolygonMode",{enumerable:!0,get:function(){return I.SplitPolygonMode}}),Object.defineProperty(t,"ExtrudeMode",{enumerable:!0,get:function(){return C.ExtrudeMode}}),Object.defineProperty(t,"ElevationMode",{enumerable:!0,get:function(){return h.ElevationMode}}),Object.defineProperty(t,"TransformMode",{enumerable:!0,get:function(){return f.TransformMode}}),Object.defineProperty(t,"DrawPointMode",{enumerable:!0,get:function(){return d.DrawPointMode}}),Object.defineProperty(t,"DrawLineStringMode",{enumerable:!0,get:function(){return B.DrawLineStringMode}}),Object.defineProperty(t,"DrawPolygonMode",{enumerable:!0,get:function(){return p.DrawPolygonMode}}),Object.defineProperty(t,"DrawRectangleMode",{enumerable:!0,get:function(){return E.DrawRectangleMode}}),Object.defineProperty(t,"DrawSquareFromCenterMode",{enumerable:!0,get:function(){return Q.DrawSquareFromCenterMode}}),Object.defineProperty(t,"DrawCircleByDiameterMode",{enumerable:!0,get:function(){return y.DrawCircleByDiameterMode}}),Object.defineProperty(t,"DrawCircleFromCenterMode",{enumerable:!0,get:function(){return v.DrawCircleFromCenterMode}}),Object.defineProperty(t,"DrawEllipseByBoundingBoxMode",{enumerable:!0,get:function(){return m.DrawEllipseByBoundingBoxMode}}),Object.defineProperty(t,"DrawEllipseUsingThreePointsMode",{enumerable:!0,get:function(){return b.DrawEllipseUsingThreePointsMode}}),Object.defineProperty(t,"DrawRectangleUsingThreePointsMode",{enumerable:!0,get:function(){return w.DrawRectangleUsingThreePointsMode}}),Object.defineProperty(t,"Draw90DegreePolygonMode",{enumerable:!0,get:function(){return S.Draw90DegreePolygonMode}}),Object.defineProperty(t,"DrawPolygonByDraggingMode",{enumerable:!0,get:function(){return F.DrawPolygonByDraggingMode}}),Object.defineProperty(t,"ImmutableFeatureCollection",{enumerable:!0,get:function(){return R.ImmutableFeatureCollection}}),Object.defineProperty(t,"ViewMode",{enumerable:!0,get:function(){return D.ViewMode}}),Object.defineProperty(t,"MeasureDistanceMode",{enumerable:!0,get:function(){return G.MeasureDistanceMode}}),Object.defineProperty(t,"MeasureAreaMode",{enumerable:!0,get:function(){return k.MeasureAreaMode}}),Object.defineProperty(t,"MeasureAngleMode",{enumerable:!0,get:function(){return x.MeasureAngleMode}}),Object.defineProperty(t,"CompositeMode",{enumerable:!0,get:function(){return N.CompositeMode}}),Object.defineProperty(t,"SnappableMode",{enumerable:!0,get:function(){return U.SnappableMode}}),Object.defineProperty(t,"_memoize",{enumerable:!0,get:function(){return _.default}}),t.utils=void 0;var r,i=A(79),o=A(494),a=A(1069),s=A(495),g=A(631),c=A(632),u=A(1070),l=A(1071),I=A(1072),C=A(1073),h=A(1074),f=A(1075),d=A(1076),B=A(1077),p=A(496),E=A(1078),Q=A(1079),y=A(1080),v=A(1081),m=A(1082),b=A(1083),w=A(1084),S=A(1085),F=A(1086),R=A(158),D=A(1088),G=A(1089),k=A(1090),x=A(1091),N=A(633),U=A(1092),_=(r=A(635))&&r.__esModule?r:{default:r},M=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=O();if(t&&t.has(e))return t.get(e);var A={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(A,i,o):A[i]=e[i]}A.default=e,t&&t.set(e,A);return A}(A(99));function O(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return O=function(){return e},e}t.utils=M},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(320);function r(e,t){if(e){if("string"===typeof e)return Object(n.a)(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(A):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?Object(n.a)(e,t):void 0}}},function(e,t,A){"use strict";function n(e,t){if(null==e)return{};var A,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";var n=A(716),r=Object(n.a)();t.a=r},function(e,t,A){"use strict";A.d(t,"a",(function(){return g}));var n=A(1),r=A(4),i=A(9),o=A(10),a=A(32),s=A(97);var g=function(e){Object(i.a)(A,e);var t=Object(o.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(r.a)(A,[{key:"clone",value:function(){return(new this.constructor).copy(this)}},{key:"from",value:function(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}},{key:"fromArray",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=0;A<this.ELEMENTS;++A)this[A]=e[A+t];return this.check()}},{key:"to",value:function(e){return e===this?this:Object(a.m)(e)?this.toArray(e):this.toObject(e)}},{key:"toTarget",value:function(e){return e?this.to(e):this}},{key:"toArray",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=0;A<this.ELEMENTS;++A)e[t+A]=this[A];return e}},{key:"toFloat32Array",value:function(){return new Float32Array(this)}},{key:"toString",value:function(){return this.formatString(a.f)}},{key:"formatString",value:function(e){for(var t="",A=0;A<this.ELEMENTS;++A)t+=(A>0?", ":"")+Object(a.l)(this[A],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t<this.ELEMENTS;++t)if(!Object(a.j)(this[t],e[t]))return!1;return!0}},{key:"exactEquals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t<this.ELEMENTS;++t)if(this[t]!==e[t])return!1;return!0}},{key:"negate",value:function(){for(var e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}},{key:"lerp",value:function(e,t,A){void 0===A&&(A=t,t=e,e=this);for(var n=0;n<this.ELEMENTS;++n){var r=e[n];this[n]=r+A*(t[n]-r)}return this.check()}},{key:"min",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=Math.min(e[t],this[t]);return this.check()}},{key:"max",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=Math.max(e[t],this[t]);return this.check()}},{key:"clamp",value:function(e,t){for(var A=0;A<this.ELEMENTS;++A)this[A]=Math.min(Math.max(this[A],e[A]),t[A]);return this.check()}},{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]+=i[o];return this.check()}},{key:"subtract",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]-=i[o];return this.check()}},{key:"scale",value:function(e){if(Array.isArray(e))return this.multiply(e);for(var t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}},{key:"sub",value:function(e){return this.subtract(e)}},{key:"setScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=e;return this.check()}},{key:"addScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]+=e;return this.check()}},{key:"subScalar",value:function(e){return this.addScalar(-e)}},{key:"multiplyScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}},{key:"divideScalar",value:function(e){return this.scale(1/e)}},{key:"clampScalar",value:function(e,t){for(var A=0;A<this.ELEMENTS;++A)this[A]=Math.min(Math.max(this[A],e),t);return this.check()}},{key:"multiplyByScalar",value:function(e){return this.scale(e)}},{key:"check",value:function(){if(a.f.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}},{key:"validate",value:function(){for(var e=this.length===this.ELEMENTS,t=0;t<this.ELEMENTS;++t)e=e&&Number.isFinite(this[t]);return e}},{key:"ELEMENTS",get:function(){return Object(s.a)(!1),0}},{key:"elements",get:function(){return this}}]),A}(function(e){function t(){var t=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(t,Object.getPrototypeOf(this)),t}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}(Array))},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(0);function r(e,t){return n.isValidElement(e)&&-1!==t.indexOf(e.type.muiName)}},function(e,t,A){"use strict";function n(e){var t={type:"Feature"};return Object.keys(e).forEach((function(A){switch(A){case"type":case"properties":case"geometry":return;default:t[A]=e[A]}})),t.properties=function e(t){var A={};if(!t)return A;return Object.keys(t).forEach((function(n){var r=t[n];"object"===typeof r?null===r?A[n]=null:Array.isArray(r)?A[n]=r.map((function(e){return e})):A[n]=e(r):A[n]=r})),A}(e.properties),t.geometry=r(e.geometry),t}function r(e){var t={type:e.type};return e.bbox&&(t.bbox=e.bbox),"GeometryCollection"===e.type?(t.geometries=e.geometries.map((function(e){return r(e)})),t):(t.coordinates=function e(t){var A=t;if("object"!==typeof A[0])return A.slice();return A.map((function(t){return e(t)}))}(e.coordinates),t)}t.a=function(e){if(!e)throw new Error("geojson is required");switch(e.type){case"Feature":return n(e);case"FeatureCollection":return function(e){var t={type:"FeatureCollection"};return Object.keys(e).forEach((function(A){switch(A){case"type":case"features":return;default:t[A]=e[A]}})),t.features=e.features.map((function(e){return n(e)})),t}(e);case"Point":case"LineString":case"Polygon":case"MultiPoint":case"MultiLineString":case"MultiPolygon":case"GeometryCollection":return r(e);default:throw new Error("unknown GeoJSON type")}}},function(e,t,A){"use strict";var n=A(55),r=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,i=/^([-\w.]+\/[-\w.+]+)/;function o(e){var t=i.exec(e);return t?t[1]:e}function a(e){var t=r.exec(e);return t?t[1]:""}A.d(t,"b",(function(){return g})),A.d(t,"a",(function(){return c}));var s=/\?.*/;function g(e){if(Object(n.i)(e)){var t=u(e.url||"");return{url:t,type:o(e.headers.get("content-type")||"")||a(t)}}return Object(n.b)(e)?{url:u(e.name||""),type:e.type||""}:"string"===typeof e?{url:u(e),type:a(e)}:{url:"",type:""}}function c(e){return Object(n.i)(e)?e.headers["content-length"]||-1:Object(n.b)(e)?e.size:"string"===typeof e?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}function u(e){return e.replace(s,"")}},,,,,,function(e,t,A){var n=A(764),r=A(769);e.exports=function(e,t){var A=r(e,t);return n(A)?A:void 0}},function(e,t,A){var n=A(247),r=A(765),i=A(766),o=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?r(e):i(e)}},function(e,t,A){var n=A(302),r=A(595),i=A(473),o=Object.defineProperty;t.f=A(192)?Object.defineProperty:function(e,t,A){if(n(e),t=i(t,!0),n(A),r)try{return o(e,t,A)}catch(a){}if("get"in A||"set"in A)throw TypeError("Accessors not supported!");return"value"in A&&(e[t]=A.value),e}},function(e,t){var A={}.hasOwnProperty;e.exports=function(e,t){return A.call(e,t)}},function(e,t,A){"use strict";A.d(t,"b",(function(){return r})),A.d(t,"a",(function(){return i}));var n=A(331);function r(e){return e&&"object"===typeof e&&e.isBuffer}function i(e){return n.toArrayBuffer?n.toArrayBuffer(e):e}},function(e,t,A){"use strict";function n(e){return(n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return C}));var n=A(1),r=A(4),i=A(9),o=A(10),a=A(273),s=A(32),g=A(33),c=A(67),u=A(125),l=[0,0,0],I={},C=function(e){Object(i.a)(A,e);var t=Object(o.a)(A);function A(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Object(n.a)(this,A),e=t.call(this,-0,-0,-0),1===arguments.length&&Object(s.m)(r)?e.copy(r):(s.f.debug&&(Object(g.a)(r),Object(g.a)(i),Object(g.a)(o)),e[0]=r,e[1]=i,e[2]=o),e}return Object(r.a)(A,null,[{key:"ZERO",get:function(){return I.ZERO=I.ZERO||Object.freeze(new A(0,0,0,0))}}]),Object(r.a)(A,[{key:"set",value:function(e,t,A){return this[0]=e,this[1]=t,this[2]=A,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return s.f.debug&&(Object(g.a)(e.x),Object(g.a)(e.y),Object(g.a)(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"angle",value:function(e){return c.a(this,e)}},{key:"cross",value:function(e){return c.c(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?l:A;return c.i(this,this,n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?l:A;return c.j(this,this,n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?l:A;return c.k(this,this,n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return c.m(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return Object(u.c)(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return c.l(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return Object(u.b)(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return c.n(this,this,e),this.check()}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=Object(g.a)(e)}}]),A}(a.a)},function(e,t,A){"use strict";A.d(t,"a",(function(){return g}));var n=A(1),r=A(4),i=A(23),o=[255,255,255],a=[0,0,-1],s=0,g=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(n.a)(this,e);var A=t.color,r=void 0===A?o:A,g=t.intensity,c=void 0===g?1:g,u=t.direction,l=void 0===u?a:u,I=t._shadow,C=void 0!==I&&I;this.id=t.id||"directional-".concat(s++),this.color=r,this.intensity=c,this.type="directional",this.direction=new i.Vector3(l).normalize().toArray(),this.shadow=C}return Object(r.a)(e,[{key:"getProjectedLight",value:function(){return this}}]),e}()},function(e,t,A){"use strict";var n=A(1245),r={name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry = VertexGeometry(\n vec4(0.0),\n vec3(0.0),\n vec3(0.0),\n vec3(0.0),\n vec2(0.0),\n vec3(0.0)\n);\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},i=A(36),o=Object.keys(i.a).map((function(e){return"const int COORDINATE_SYSTEM_".concat(e," = ").concat(i.a[e],";")})).join(""),a=Object.keys(i.c).map((function(e){return"const int PROJECTION_MODE_".concat(e," = ").concat(i.c[e],";")})).join(""),s=Object.keys(i.d).map((function(e){return"const int UNIT_".concat(e.toUpperCase()," = ").concat(i.d[e],";")})).join(""),g="".concat(o,"\n").concat(a,"\n").concat(s,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\nuniform bool project_uPseudoMeters;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size() {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR &&\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT &&\n project_uPseudoMeters == false) {\n \n if (geometry.position.w == 0.0) {\n float y = clamp(geometry.worldPosition.y, -89.9, 89.9);\n return 1.0 / cos(radians(y));\n }\n \n float y = geometry.position.y / TILE_SIZE * 2.0 - 1.0;\n float y2 = y * y;\n float y4 = y2 * y2;\n float y6 = y4 * y2;\n return 1.0 + 4.9348 * y2 + 4.0587 * y4 + 1.5642 * y6;\n }\n return 1.0;\n}\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z * project_size();\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy * project_size();\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter * project_size();\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_size_to_pixel(float size, int unit) {\n if (unit == UNIT_METERS) return project_size_to_pixel(size);\n if (unit == UNIT_COMMON) return size * project_uScale;\n return size;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),c=A(274),u={};t.a={name:"project",dependencies:[n.a,r],vs:g,getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u;return e.viewport?Object(c.b)(e):{}}}},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(9),a=A(10),s=A(147),g=A(511),c=A(646),u=A(8),l=A(6),I=A(3),C=A.n(I),h=A(12),f=A(41),d=function(){function e(t){var A=t.x,n=t.y,i=t.z;Object(r.a)(this,e),this.x=A,this.y=n,this.z=i,this.isVisible=!1,this.isSelected=!1,this.parent=null,this.children=[],this.content=null,this._loaderId=0,this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1}return Object(i.a)(e,[{key:"_loadData",value:function(){var e=Object(h.a)(C.a.mark((function e(t){var A,n,r,i,o,a,s,g,c,u,l,I,h;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=t.getData,n=t.requestScheduler,r=t.onLoad,i=t.onError,o=this.x,a=this.y,s=this.z,g=this.bbox,c=this._loaderId,this._abortController=new AbortController,u=this._abortController.signal,e.next=7,n.scheduleRequest(this,(function(e){return e.isSelected?1:-1}));case 7:if(l=e.sent){e.next=11;break}return this._isCancelled=!0,e.abrupt("return");case 11:if(!this._isCancelled){e.next=14;break}return l.done(),e.abrupt("return");case 14:return I=null,e.prev=15,e.next=18,A({x:o,y:a,z:s,bbox:g,signal:u});case 18:I=e.sent,e.next=24;break;case 21:e.prev=21,e.t0=e.catch(15),h=e.t0||!0;case 24:return e.prev=24,l.done(),e.finish(24);case 27:if(c===this._loaderId){e.next=29;break}return e.abrupt("return");case 29:if(this._loader=void 0,this.content=I,!this._isCancelled||I){e.next=34;break}return this._isLoaded=!1,e.abrupt("return");case 34:this._isLoaded=!0,this._isCancelled=!1,h?i(h,this):r(this);case 37:case"end":return e.stop()}}),e,this,[[15,21,24,27]])})));return function(t){return e.apply(this,arguments)}}()},{key:"loadData",value:function(e){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(e),this._loader}},{key:"setNeedsReload",value:function(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0}},{key:"abort",value:function(){this.isLoaded||(this._isCancelled=!0,this._abortController.abort())}},{key:"data",get:function(){var e=this;return this.isLoading?this._loader.then((function(){return e.data})):this.content}},{key:"isLoaded",get:function(){return this._isLoaded&&!this._needsReload}},{key:"isLoading",get:function(){return Boolean(this._loader)&&!this._isCancelled}},{key:"needsReload",get:function(){return this._needsReload||this._isCancelled}},{key:"byteLength",get:function(){var e=this.content?this.content.byteLength:0;return Number.isFinite(e)||f.a.error("byteLength not defined in tile data")(),e}}]),e}(),B=A(120),p=A(578),E=A(23),Q=function(){function e(t){var A=this;Object(r.a)(this,e),this.opts=t,this.onTileLoad=function(e){A.opts.onTileLoad(e),A.opts.maxCacheByteSize&&(A._cacheByteSize+=e.byteLength,A._resizeCache())},this._requestScheduler=new p.a({maxRequests:t.maxRequests,throttleRequests:t.maxRequests>0}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this.setOptions(t)}return Object(i.a)(e,[{key:"setOptions",value:function(e){Object.assign(this.opts,e),Number.isFinite(e.maxZoom)&&(this._maxZoom=Math.floor(e.maxZoom)),Number.isFinite(e.minZoom)&&(this._minZoom=Math.ceil(e.minZoom))}},{key:"finalize",value:function(){var e,t=Object(l.a)(this._cache.values());try{for(t.s();!(e=t.n()).done;){var A=e.value;A.isLoading&&A.abort()}}catch(n){t.e(n)}finally{t.f()}this._cache.clear(),this._tiles=[],this._selectedTiles=null}},{key:"reloadAll",value:function(){var e,t=Object(l.a)(this._cache.keys());try{for(t.s();!(e=t.n()).done;){var A=e.value,n=this._cache.get(A);this._selectedTiles.includes(n)?n.setNeedsReload():this._cache.delete(A)}}catch(r){t.e(r)}finally{t.f()}}},{key:"update",value:function(e){var t=this,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=A.zRange,r=A.modelMatrix,i=new E.Matrix4(r),o=!i.equals(this._modelMatrix);if(!e.equals(this._viewport)||o){o&&(this._modelMatrixInverse=r&&i.clone().invert(),this._modelMatrix=r&&i),this._viewport=e;var a=this.getTileIndices({viewport:e,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:n,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=a.map((function(e){return t._getTile(e,!0)})),this._dirty&&this._rebuildTree()}var s=this.updateTileStates();return this._dirty&&this._resizeCache(),s&&this._frameNumber++,this._frameNumber}},{key:"getTileIndices",value:function(e){var t=e.viewport,A=e.maxZoom,n=e.minZoom,r=e.zRange,i=e.modelMatrix,o=e.modelMatrixInverse,a=this.opts,s=a.tileSize,g=a.extent,c=a.zoomOffset;return Object(B.a)({viewport:t,maxZoom:A,minZoom:n,zRange:r,tileSize:s,extent:g,modelMatrix:i,modelMatrixInverse:o,zoomOffset:c})}},{key:"getTileMetadata",value:function(e){var t=e.x,A=e.y,n=e.z,r=this.opts.tileSize;return{bbox:Object(B.e)(this._viewport,t,A,n,r)}}},{key:"getParentIndex",value:function(e){return e.x=Math.floor(e.x/2),e.y=Math.floor(e.y/2),e.z-=1,e}},{key:"updateTileStates",value:function(){this._updateTileStates(this.selectedTiles);var e,t=this.opts.maxRequests,A=[],n=0,r=!1,i=Object(l.a)(this._cache.values());try{for(i.s();!(e=i.n()).done;){var o=e.value,a=Boolean(1&o.state);o.isVisible!==a&&(r=!0,o.isVisible=a),o.isSelected=5===o.state,o.isLoading&&(n++,o.isSelected||A.push(o))}}catch(s){i.e(s)}finally{i.f()}if(t>0)for(;n>t&&A.length>0;){A.shift().abort(),n--}return r}},{key:"_rebuildTree",value:function(){var e,t=this._cache,A=Object(l.a)(t.values());try{for(A.s();!(e=A.n()).done;){var n=e.value;n.parent=null,n.children.length=0}}catch(s){A.e(s)}finally{A.f()}var r,i=Object(l.a)(t.values());try{for(i.s();!(r=i.n()).done;){var o=r.value,a=this._getNearestAncestor(o.x,o.y,o.z);o.parent=a,a&&a.children.push(o)}}catch(s){i.e(s)}finally{i.f()}}},{key:"_updateTileStates",value:function(e){var t,A=this._cache,n=this.opts.refinementStrategy||"best-available",r=Object(l.a)(A.values());try{for(r.s();!(t=r.n()).done;){t.value.state=0}}catch(I){r.e(I)}finally{r.f()}var i,o=Object(l.a)(e);try{for(o.s();!(i=o.n()).done;){i.value.state=5}}catch(I){o.e(I)}finally{o.f()}if("never"!==n){var a,s=Object(l.a)(e);try{for(s.s();!(a=s.n()).done;){v(a.value,n)}}catch(I){s.e(I)}finally{s.f()}var g,c=Object(l.a)(e);try{for(c.s();!(g=c.n()).done;){var u=g.value;y(u)&&m(u)}}catch(I){c.e(I)}finally{c.f()}}}},{key:"_resizeCache",value:function(){var e=this._cache,t=this.opts,A=t.maxCacheSize||(t.maxCacheByteSize?1/0:5*this.selectedTiles.length),n=t.maxCacheByteSize||1/0;if(e.size>A||this._cacheByteSize>n){var r,i=Object(l.a)(e);try{for(i.s();!(r=i.n()).done;){var o=Object(u.a)(r.value,2),a=o[0],s=o[1];if(s.isVisible||(this._cacheByteSize-=t.maxCacheByteSize?s.byteLength:0,e.delete(a),this.opts.onTileUnload(s)),e.size<=A&&this._cacheByteSize<=n)break}}catch(g){i.e(g)}finally{i.f()}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort((function(e,t){return e.z-t.z})),this._dirty=!1)}},{key:"_getTile",value:function(e,t){var A=e.x,n=e.y,r=e.z,i="".concat(A,",").concat(n,",").concat(r),o=this._cache.get(i),a=!1;return!o&&t?(o=new d({x:A,y:n,z:r}),Object.assign(o,this.getTileMetadata(o)),a=!0,this._cache.set(i,o),this._dirty=!0):o&&o.needsReload&&(a=!0),a&&o.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),o}},{key:"_getNearestAncestor",value:function(e,t,A){for(var n=this._minZoom,r=void 0===n?0:n,i={x:e,y:t,z:A};i.z>r;){i=this.getParentIndex(i);var o=this._getTile(i);if(o)return o}return null}},{key:"tiles",get:function(){return this._tiles}},{key:"selectedTiles",get:function(){return this._selectedTiles}},{key:"isLoaded",get:function(){return this._selectedTiles.every((function(e){return e.isLoaded}))}}]),e}();function y(e){for(var t=e;t;){if(!1&t.state)return!0;if(t.isLoaded)return!1;t=t.parent}return!0}function v(e,t){for(var A,n=3;A=e.parent;){if(e.isLoaded&&(n=4,"best-available"===t))return;A.state=Math.max(A.state,n),e=A}}function m(e){var t,A=Object(l.a)(e.children);try{for(A.s();!(t=A.n()).done;){var n=t.value;n.state=Math.max(n.state,3),n.isLoaded||m(n)}}catch(r){A.e(r)}finally{A.f()}}A.d(t,"a",(function(){return w}));var b={data:[],dataComparator:B.f.equals,renderSubLayers:{type:"function",value:function(e){return new c.a(e)},compare:!1},getTileData:{type:"function",optional:!0,value:null,compare:!1},onViewportLoad:{type:"function",optional:!0,value:null,compare:!1},onTileLoad:{type:"function",value:function(e){},compare:!1},onTileUnload:{type:"function",value:function(e){},compare:!1},onTileError:{type:"function",value:function(e){return console.error(e)},compare:!1},extent:{type:"array",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:"best-available",zRange:null,maxRequests:6,zoomOffset:0},w=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"initializeState",value:function(){this.state={tileset:null,isLoaded:!1}}},{key:"finalizeState",value:function(){var e;null===(e=this.state.tileset)||void 0===e||e.finalize()}},{key:"shouldUpdateState",value:function(e){return e.changeFlags.somethingChanged}},{key:"updateState",value:function(e){var t=e.props,A=e.changeFlags,n=this.state.tileset,r=A.propsOrDataChanged||A.updateTriggersChanged,i=A.dataChanged||A.updateTriggersChanged&&(A.updateTriggersChanged.all||A.updateTriggersChanged.getTileData);n?r&&(n.setOptions(this._getTilesetOptions(t)),i?n.reloadAll():this.state.tileset.tiles.forEach((function(e){e.layers=null}))):(n=new Q(this._getTilesetOptions(t)),this.setState({tileset:n})),this._updateTileset()}},{key:"_getTilesetOptions",value:function(e){var t=e.tileSize,A=e.maxCacheSize,n=e.maxCacheByteSize,r=e.refinementStrategy,i=e.extent;return{maxCacheSize:A,maxCacheByteSize:n,maxZoom:e.maxZoom,minZoom:e.minZoom,tileSize:t,refinementStrategy:r,extent:i,maxRequests:e.maxRequests,zoomOffset:e.zoomOffset,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}}},{key:"_updateTileset",value:function(){var e=this.state.tileset,t=this.props,A=t.zRange,n=t.modelMatrix,r=e.update(this.context.viewport,{zRange:A,modelMatrix:n}),i=e.isLoaded,o=this.state.isLoaded!==i,a=this.state.frameNumber!==r;i&&(o||a)&&this._onViewportLoad(),a&&this.setState({frameNumber:r}),this.state.isLoaded=i}},{key:"_onViewportLoad",value:function(){var e=this.state.tileset,t=this.props.onViewportLoad;t&&t(e.selectedTiles)}},{key:"_onTileLoad",value:function(e){this.props.onTileLoad(e),e.layers=null,e.isVisible&&this.setNeedsUpdate()}},{key:"_onTileError",value:function(e,t){this.props.onTileError(e),t.layers=null,t.isVisible&&this.setNeedsUpdate()}},{key:"_onTileUnload",value:function(e){this.props.onTileUnload(e)}},{key:"getTileData",value:function(e){var t=this.props,A=t.data,n=t.getTileData,r=t.fetch,i=e.signal;return e.url=Object(B.b)(A,e),n?n(e):e.url?r(e.url,{propName:"data",layer:this,signal:i}):null}},{key:"renderSubLayers",value:function(e){return this.props.renderSubLayers(e)}},{key:"getHighlightedObjectIndex",value:function(){return-1}},{key:"getPickingInfo",value:function(e){var t=e.info,A=e.sourceLayer;return t.tile=A.props.tile,t}},{key:"_updateAutoHighlight",value:function(e){e.sourceLayer&&e.sourceLayer.updateAutoHighlight(e)}},{key:"renderLayers",value:function(){var e=this;return this.state.tileset.tiles.map((function(t){var A=e.getHighlightedObjectIndex(t);if(t.isLoaded||t.content)if(t.layers)t.layers[0]&&t.layers[0].props.highlightedObjectIndex!==A&&(t.layers=t.layers.map((function(e){return e.clone({highlightedObjectIndex:A})})));else{var r=e.renderSubLayers(Object(n.a)({},e.props,{id:"".concat(e.id,"-").concat(t.x,"-").concat(t.y,"-").concat(t.z),data:t.content,_offset:0,tile:t}));t.layers=Object(s.b)(r,Boolean).map((function(e){return e.clone({tile:t,highlightedObjectIndex:A})}))}else;return t.layers}))}},{key:"filterSubLayer",value:function(e){return e.layer.props.tile.isVisible}},{key:"isLoaded",get:function(){return this.state.tileset.selectedTiles.every((function(e){return e.isLoaded&&e.layers&&e.layers.every((function(e){return e.isLoaded}))}))}}]),A}(g.a);w.layerName="TileLayer",w.defaultProps=b},function(e,t,A){"use strict";function n(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"b",(function(){return i}));var n=A(21),r={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},i={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function o(e){return"".concat(Math.round(e),"ms")}t.a={easing:r,duration:i,create:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["all"],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.duration,a=void 0===A?i.standard:A,s=t.easing,g=void 0===s?r.easeInOut:s,c=t.delay,u=void 0===c?0:c;Object(n.a)(t,["duration","easing","delay"]);return(Array.isArray(e)?e:[e]).map((function(e){return"".concat(e," ").concat("string"===typeof a?a:o(a)," ").concat(g," ").concat("string"===typeof u?u:o(u))})).join(",")},getAutoHeightDuration:function(e){if(!e)return 0;var t=e/36;return Math.round(10*(4+15*Math.pow(t,.25)+t/5))}}},function(e,t,A){"use strict";function n(e,t){if(!e)throw new Error(t||"loader assertion failed.")}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";function n(e){var t;if("undefined"!==typeof Symbol){if(Symbol.asyncIterator&&null!=(t=e[Symbol.asyncIterator]))return t.call(e);if(Symbol.iterator&&null!=(t=e[Symbol.iterator]))return t.call(e)}throw new TypeError("Object is not async iterable")}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return o}));var n=A(0),r=A.n(n),i=A(195);function o(e){var t=[];return r.a.Children.forEach(e,(function(e){void 0!==e&&null!==e&&(Array.isArray(e)?t=t.concat(o(e)):Object(i.isFragment)(e)&&e.props?t=t.concat(o(e.props.children)):t.push(e))})),t}},function(e,t,A){"use strict";A.d(t,"b",(function(){return i}));var n=A(0),r=n.createContext();function i(){return n.useContext(r)}t.a=r},function(e,t,A){"use strict";function n(e){return null!=e&&!(Array.isArray(e)&&0===e.length)}function r(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e&&(n(e.value)&&""!==e.value||t&&n(e.defaultValue)&&""!==e.defaultValue)}function i(e){return e.startAdornment}A.d(t,"b",(function(){return r})),A.d(t,"a",(function(){return i}))},function(e,t,A){"use strict";var n=A(1),r=A(24),i=A(4),o=A(9),a=A(10),s=A(18),g=A(124),c=A(26),u="";function l(e,t){return Object(c.a)("string"===typeof e),e=u+e,new Promise((function(A,n){try{var r=new Image;r.onload=function(){return A(r)},r.onerror=function(){return n(new Error("Could not load image ".concat(e,".")))},r.crossOrigin=t&&t.crossOrigin||"anonymous",r.src=e}catch(i){n(i)}}))}A.d(t,"a",(function(){return I}));var I=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(e){var i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(n.a)(this,A),Object(s.b)(e),(o instanceof Promise||"string"===typeof o)&&(o={data:o}),"string"===typeof o.data&&(o=Object.assign({},o,{data:l(o.data)})),(i=t.call(this,e,Object.assign({},o,{target:3553}))).initialize(o),Object.seal(Object(r.a)(i)),i}return Object(i.a)(A,null,[{key:"isSupported",value:function(e,t){return g.a.isSupported(e,t)}}]),A}(g.a)},function(e,t,A){"use strict";var n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r="object"===("undefined"===typeof window?"undefined":n(window))&&"object"===("undefined"===typeof document?"undefined":n(document))&&9===document.nodeType;t.a=r},function(e,t,A){"use strict";A.d(t,"b",(function(){return s})),A.d(t,"a",(function(){return c}));var n=A(3),r=A.n(n),i=A(12),o=A(55),a=A(209);function s(e){return g.apply(this,arguments)}function g(){return(g=Object(i.a)(r.a.mark((function e(t){var A,n,i,s,g,c,u;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Object(o.i)(t)){e.next=2;break}return e.abrupt("return",t);case 2:return A={},(n=Object(a.a)(t))>=0&&(A["content-length"]=String(n)),i=Object(a.b)(t),s=i.url,(g=i.type)&&(A["content-type"]=g),e.next=9,C(t);case 9:return(c=e.sent)&&(A["x-first-bytes"]=c),"string"===typeof t&&(t=(new TextEncoder).encode(t)),u=new Response(t,{headers:A}),Object.defineProperty(u,"url",{value:s}),e.abrupt("return",u);case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function c(e){return u.apply(this,arguments)}function u(){return(u=Object(i.a)(r.a.mark((function e(t){var A;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.ok){e.next=5;break}return e.next=3,l(t);case 3:throw A=e.sent,new Error(A);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function l(e){return I.apply(this,arguments)}function I(){return(I=Object(i.a)(r.a.mark((function e(t){var A,n,i;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A="Failed to fetch resource ".concat(t.url," (").concat(t.status,"): "),e.prev=1,n=t.headers.get("Content-Type"),i=t.statusText,!n.includes("application/json")){e.next=11;break}return e.t0=i,e.t1=" ",e.next=9,t.text();case 9:e.t2=e.sent,i=e.t0+=e.t1.concat.call(e.t1,e.t2);case 11:A=(A+=i).length>60?"".concat(A.slice(60),"..."):A,e.next=17;break;case 15:e.prev=15,e.t3=e.catch(1);case 17:return e.abrupt("return",A);case 18:case"end":return e.stop()}}),e,null,[[1,15]])})))).apply(this,arguments)}function C(e){return h.apply(this,arguments)}function h(){return(h=Object(i.a)(r.a.mark((function e(t){var A,n,i,o;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=5,"string"!==typeof t){e.next=3;break}return e.abrupt("return","data:,".concat(t.slice(0,A)));case 3:if(!(t instanceof Blob)){e.next=8;break}return n=t.slice(0,5),e.next=7,new Promise((function(e){var t=new FileReader;t.onload=function(t){var A;return e(null===t||void 0===t||null===(A=t.target)||void 0===A?void 0:A.result)},t.readAsDataURL(n)}));case 7:return e.abrupt("return",e.sent);case 8:if(!(t instanceof ArrayBuffer)){e.next=12;break}return i=t.slice(0,A),o=f(i),e.abrupt("return","data:base64,".concat(o));case 12:return e.abrupt("return",null);case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function f(e){for(var t="",A=new Uint8Array(e),n=0;n<A.byteLength;n++)t+=String.fromCharCode(A[n]);return btoa(t)}},function(e,t,A){var n=A(883);e.exports=function(e){return n(e,5)}},function(e,t,A){var n=A(903);e.exports=function(e,t){if(null==e)return{};var A,r,i=n(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)A=o[r],t.indexOf(A)>=0||Object.prototype.propertyIsEnumerable.call(e,A)&&(i[A]=e[A])}return i}},function(e,t,A){"use strict";var n=function(){};e.exports=n},function(e,t,A){"use strict";var n,r=A(1),i=A(24),o=A(4),a=A(9),s=A(10),g=A(92),c=A(2),u="EXT_color_buffer_float",l=(n={},Object(c.a)(n,33189,{bpp:2}),Object(c.a)(n,33190,{gl2:!0,bpp:3}),Object(c.a)(n,36012,{gl2:!0,bpp:4}),Object(c.a)(n,36168,{bpp:1}),Object(c.a)(n,34041,{bpp:4}),Object(c.a)(n,35056,{gl2:!0,bpp:4}),Object(c.a)(n,36013,{gl2:!0,bpp:5}),Object(c.a)(n,32854,{bpp:2}),Object(c.a)(n,36194,{bpp:2}),Object(c.a)(n,32855,{bpp:2}),Object(c.a)(n,33321,{gl2:!0,bpp:1}),Object(c.a)(n,33330,{gl2:!0,bpp:1}),Object(c.a)(n,33329,{gl2:!0,bpp:1}),Object(c.a)(n,33332,{gl2:!0,bpp:2}),Object(c.a)(n,33331,{gl2:!0,bpp:2}),Object(c.a)(n,33334,{gl2:!0,bpp:4}),Object(c.a)(n,33333,{gl2:!0,bpp:4}),Object(c.a)(n,33323,{gl2:!0,bpp:2}),Object(c.a)(n,33336,{gl2:!0,bpp:2}),Object(c.a)(n,33335,{gl2:!0,bpp:2}),Object(c.a)(n,33338,{gl2:!0,bpp:4}),Object(c.a)(n,33337,{gl2:!0,bpp:4}),Object(c.a)(n,33340,{gl2:!0,bpp:8}),Object(c.a)(n,33339,{gl2:!0,bpp:8}),Object(c.a)(n,32849,{gl2:!0,bpp:3}),Object(c.a)(n,32856,{gl2:!0,bpp:4}),Object(c.a)(n,32857,{gl2:!0,bpp:4}),Object(c.a)(n,36220,{gl2:!0,bpp:4}),Object(c.a)(n,36238,{gl2:!0,bpp:4}),Object(c.a)(n,36975,{gl2:!0,bpp:4}),Object(c.a)(n,36214,{gl2:!0,bpp:8}),Object(c.a)(n,36232,{gl2:!0,bpp:8}),Object(c.a)(n,36226,{gl2:!0,bpp:16}),Object(c.a)(n,36208,{gl2:!0,bpp:16}),Object(c.a)(n,33325,{gl2:u,bpp:2}),Object(c.a)(n,33327,{gl2:u,bpp:4}),Object(c.a)(n,34842,{gl2:u,bpp:8}),Object(c.a)(n,33326,{gl2:u,bpp:4}),Object(c.a)(n,33328,{gl2:u,bpp:8}),Object(c.a)(n,34836,{gl2:u,bpp:16}),Object(c.a)(n,35898,{gl2:u,bpp:4}),n),I=A(18),C=A(26);function h(e,t,A){var n=A[t];if(!n)return!1;var r=Object(I.j)(e)&&n.gl2||n.gl1;return"string"===typeof r?e.getExtension(r):r}A.d(t,"a",(function(){return f}));var f=function(e){Object(a.a)(A,e);var t=Object(s.a)(A);function A(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(r.a)(this,A),(n=t.call(this,e,o)).initialize(o),Object.seal(Object(i.a)(n)),n}return Object(o.a)(A,null,[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{format:null},A=t.format;return!A||h(e,A,l)}},{key:"getSamplesForFormat",value:function(e,t){var A=t.format;return e.getInternalformatParameter(36161,A,32937)}}]),Object(o.a)(A,[{key:"initialize",value:function(e){var t=e.format,A=e.width,n=void 0===A?1:A,r=e.height,i=void 0===r?1:r,o=e.samples,a=void 0===o?0:o;return Object(C.a)(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==a&&Object(I.j)(this.gl)?this.gl.renderbufferStorageMultisample(36161,a,t,n,i):this.gl.renderbufferStorage(36161,t,n,i),this.format=t,this.width=n,this.height=i,this.samples=a,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*l[this.format].bpp),this}},{key:"resize",value:function(e){var t=e.width,A=e.height;return t!==this.width||A!==this.height?this.initialize({width:t,height:A,format:this.format,samples:this.samples}):this}},{key:"_createHandle",value:function(){return this.gl.createRenderbuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_bindHandle",value:function(e){this.gl.bindRenderbuffer(36161,e)}},{key:"_syncHandle",value:function(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}},{key:"_getParameter",value:function(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}]),A}(g.a)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(0);function r(e){var t,A=new Set,n=function(e,n){var r="function"===typeof e?e(t):e;if(r!==t){var i=t;t=n?r:Object.assign({},t,r),A.forEach((function(e){return e(t,i)}))}},r=function(){return t},i={setState:n,getState:r,subscribe:function(e,n,i){return n||i?function(e,n,i){void 0===n&&(n=r),void 0===i&&(i=Object.is);var o=n(t);function a(){var A=n(t);if(!i(o,A)){var r=o;e(o=A,r)}}return A.add(a),function(){return A.delete(a)}}(e,n,i):(A.add(e),function(){return A.delete(e)})},destroy:function(){return A.clear()}};return t=e(n,r,i),i}var i="undefined"===typeof window||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent)?n.useEffect:n.useLayoutEffect;t.default=function(e){var t="function"===typeof e?r(e):e,A=function(e,A){void 0===e&&(e=t.getState),void 0===A&&(A=Object.is);var r,o=n.useReducer((function(e){return e+1}),0)[1],a=t.getState(),s=n.useRef(a),g=n.useRef(e),c=n.useRef(A),u=n.useRef(!1),l=n.useRef();void 0===l.current&&(l.current=e(a));var I=!1;(s.current!==a||g.current!==e||c.current!==A||u.current)&&(r=e(a),I=!A(l.current,r)),i((function(){I&&(l.current=r),s.current=a,g.current=e,c.current=A,u.current=!1}));var C=n.useRef(a);return i((function(){var e=function(){try{var e=t.getState(),A=g.current(e);c.current(l.current,A)||(s.current=e,l.current=A,o())}catch(n){u.current=!0,o()}},A=t.subscribe(e);return t.getState()!==C.current&&e(),A}),[]),I?r:l.current};return Object.assign(A,t),A[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");var e=[A,t];return{next:function(){var t=e.length<=0;return{value:e.shift(),done:t}}}},A}},function(e,t,A){"use strict";(function(e){A.d(t,"b",(function(){return n})),A.d(t,"c",(function(){return r})),A.d(t,"a",(function(){return i}));var n="undefined"!==typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",r="undefined"!==typeof window?window:e,i=("undefined"!==typeof e||window,"undefined"!==typeof document&&document,!1);try{var o={get passive(){return i=!0,!0}};r.addEventListener("test",o,o),r.removeEventListener("test",o,o)}catch(a){}}).call(this,A(86))},function(e,t,A){var n;!function(A){"use strict";var r={s:1,n:0,d:1};function i(e){function t(){var t=Error.apply(this,arguments);t.name=this.name=e,this.stack=t.stack,this.message=t.message}function A(){}return A.prototype=Error.prototype,t.prototype=new A,t}var o=l.DivisionByZero=i("DivisionByZero"),a=l.InvalidParameter=i("InvalidParameter");function s(e,t){return isNaN(e=parseInt(e,10))&&g(),e*t}function g(){throw new a}var c=function(e,t){var A,n=0,i=1,a=1,c=0,u=0,l=0,I=1,C=1,h=0,f=1,d=1,B=1,p=1e7;if(void 0===e||null===e);else if(void 0!==t)a=(n=e)*(i=t);else switch(typeof e){case"object":"d"in e&&"n"in e?(n=e.n,i=e.d,"s"in e&&(n*=e.s)):0 in e?(n=e[0],1 in e&&(i=e[1])):g(),a=n*i;break;case"number":if(e<0&&(a=e,e=-e),e%1===0)n=e;else if(e>0){for(e>=1&&(e/=C=Math.pow(10,Math.floor(1+Math.log(e)/Math.LN10)));f<=p&&B<=p;){if(e===(A=(h+d)/(f+B))){f+B<=p?(n=h+d,i=f+B):B>f?(n=d,i=B):(n=h,i=f);break}e>A?(h+=d,f+=B):(d+=h,B+=f),f>p?(n=d,i=B):(n=h,i=f)}n*=C}else(isNaN(e)||isNaN(t))&&(i=n=NaN);break;case"string":if(null===(f=e.match(/\d+|./g))&&g(),"-"===f[h]?(a=-1,h++):"+"===f[h]&&h++,f.length===h+1?u=s(f[h++],a):"."===f[h+1]||"."===f[h]?("."!==f[h]&&(c=s(f[h++],a)),(++h+1===f.length||"("===f[h+1]&&")"===f[h+3]||"'"===f[h+1]&&"'"===f[h+3])&&(u=s(f[h],a),I=Math.pow(10,f[h].length),h++),("("===f[h]&&")"===f[h+2]||"'"===f[h]&&"'"===f[h+2])&&(l=s(f[h+1],a),C=Math.pow(10,f[h+1].length)-1,h+=3)):"/"===f[h+1]||":"===f[h+1]?(u=s(f[h],a),I=s(f[h+2],1),h+=3):"/"===f[h+3]&&" "===f[h+1]&&(c=s(f[h],a),u=s(f[h+2],a),I=s(f[h+4],1),h+=5),f.length<=h){a=n=l+(i=I*C)*c+C*u;break}default:g()}if(0===i)throw new o;r.s=a<0?-1:1,r.n=Math.abs(n),r.d=Math.abs(i)};function u(e,t){if(!e)return t;if(!t)return e;for(;;){if(!(e%=t))return t;if(!(t%=e))return e}}function l(e,t){if(!(this instanceof l))return new l(e,t);c(e,t),e=l.REDUCE?u(r.d,r.n):1,this.s=r.s,this.n=r.n/e,this.d=r.d/e}l.REDUCE=1,l.prototype={s:1,n:0,d:1,abs:function(){return new l(this.n,this.d)},neg:function(){return new l(-this.s*this.n,this.d)},add:function(e,t){return c(e,t),new l(this.s*this.n*r.d+r.s*this.d*r.n,this.d*r.d)},sub:function(e,t){return c(e,t),new l(this.s*this.n*r.d-r.s*this.d*r.n,this.d*r.d)},mul:function(e,t){return c(e,t),new l(this.s*r.s*this.n*r.n,this.d*r.d)},div:function(e,t){return c(e,t),new l(this.s*r.s*this.n*r.d,this.d*r.n)},clone:function(){return new l(this)},mod:function(e,t){return isNaN(this.n)||isNaN(this.d)?new l(NaN):void 0===e?new l(this.s*this.n%this.d,1):(c(e,t),0===r.n&&0===this.d&&l(0,0),new l(this.s*(r.d*this.n)%(r.n*this.d),r.d*this.d))},gcd:function(e,t){return c(e,t),new l(u(r.n,this.n)*u(r.d,this.d),r.d*this.d)},lcm:function(e,t){return c(e,t),0===r.n&&0===this.n?new l:new l(r.n*this.n,u(r.n,this.n)*u(r.d,this.d))},ceil:function(e){return e=Math.pow(10,e||0),isNaN(this.n)||isNaN(this.d)?new l(NaN):new l(Math.ceil(e*this.s*this.n/this.d),e)},floor:function(e){return e=Math.pow(10,e||0),isNaN(this.n)||isNaN(this.d)?new l(NaN):new l(Math.floor(e*this.s*this.n/this.d),e)},round:function(e){return e=Math.pow(10,e||0),isNaN(this.n)||isNaN(this.d)?new l(NaN):new l(Math.round(e*this.s*this.n/this.d),e)},inverse:function(){return new l(this.s*this.d,this.n)},pow:function(e){return e<0?new l(Math.pow(this.s*this.d,-e),Math.pow(this.n,-e)):new l(Math.pow(this.s*this.n,e),Math.pow(this.d,e))},equals:function(e,t){return c(e,t),this.s*this.n*r.d===r.s*r.n*this.d},compare:function(e,t){c(e,t);var A=this.s*this.n*r.d-r.s*r.n*this.d;return(0<A)-(A<0)},simplify:function(e){if(isNaN(this.n)||isNaN(this.d))return this;var t=this.abs().toContinued();function A(e){return 1===e.length?new l(e[0]):A(e.slice(1)).inverse().add(e[0])}e=e||.001;for(var n=0;n<t.length;n++){var r=A(t.slice(0,n+1));if(r.sub(this.abs()).abs().valueOf()<e)return r.mul(this.s)}return this},divisible:function(e,t){return c(e,t),!(!(r.n*this.d)||this.n*r.d%(r.n*this.d))},valueOf:function(){return this.s*this.n/this.d},toFraction:function(e){var t,A="",n=this.n,r=this.d;return this.s<0&&(A+="-"),1===r?A+=n:(e&&(t=Math.floor(n/r))>0&&(A+=t,A+=" ",n%=r),A+=n,A+="/",A+=r),A},toLatex:function(e){var t,A="",n=this.n,r=this.d;return this.s<0&&(A+="-"),1===r?A+=n:(e&&(t=Math.floor(n/r))>0&&(A+=t,n%=r),A+="\\frac{",A+=n,A+="}{",A+=r,A+="}"),A},toContinued:function(){var e,t=this.n,A=this.d,n=[];if(isNaN(t)||isNaN(A))return n;do{n.push(Math.floor(t/A)),e=t%A,t=A,A=e}while(1!==t);return n},toString:function(e){var t,A=this.n,n=this.d;if(isNaN(A)||isNaN(n))return"NaN";l.REDUCE||(A/=t=u(A,n),n/=t),e=e||15;var r=function(e,t){for(;t%2===0;t/=2);for(;t%5===0;t/=5);if(1===t)return 0;for(var A=10%t,n=1;1!==A;n++)if(A=10*A%t,n>2e3)return 0;return n}(0,n),i=function(e,t,A){for(var n=1,r=function(e,t,A){for(var n=1;t>0;e=e*e%A,t>>=1)1&t&&(n=n*e%A);return n}(10,A,t),i=0;i<300;i++){if(n===r)return i;n=10*n%t,r=10*r%t}return 0}(0,n,r),o=-1===this.s?"-":"";if(o+=A/n|0,A%=n,(A*=10)&&(o+="."),r){for(var a=i;a--;)o+=A/n|0,A%=n,A*=10;o+="(";for(a=r;a--;)o+=A/n|0,A%=n,A*=10;o+=")"}else for(a=e;A&&a--;)o+=A/n|0,A%=n,A*=10;return o}},void 0===(n=function(){return l}.apply(t,[]))||(e.exports=n)}()},function(e,t){e.exports=function e(t,A){"use strict";var n,r,i=/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,o=/(^[ ]*|[ ]*$)/g,a=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,s=/^0x[0-9a-f]+$/i,g=/^0/,c=function(t){return e.insensitive&&(""+t).toLowerCase()||""+t},u=c(t).replace(o,"")||"",l=c(A).replace(o,"")||"",I=u.replace(i,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),C=l.replace(i,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),h=parseInt(u.match(s),16)||1!==I.length&&u.match(a)&&Date.parse(u),f=parseInt(l.match(s),16)||h&&l.match(a)&&Date.parse(l)||null;if(f){if(h<f)return-1;if(h>f)return 1}for(var d=0,B=Math.max(I.length,C.length);d<B;d++){if(n=!(I[d]||"").match(g)&&parseFloat(I[d])||I[d]||0,r=!(C[d]||"").match(g)&&parseFloat(C[d])||C[d]||0,isNaN(n)!==isNaN(r))return isNaN(n)?1:-1;if(typeof n!==typeof r&&(n+="",r+=""),n<r)return-1;if(n>r)return 1}return 0}},,,,,function(e,t,A){var n=A(140).Symbol;e.exports=n},function(e,t,A){var n=A(446),r=A(455);e.exports=function(e){return null!=e&&r(e.length)&&!n(e)}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bottom=g,t.cloneLayout=function(e){for(var t=Array(e.length),A=0,n=e.length;A<n;A++)t[A]=c(e[A]);return t},t.cloneLayoutItem=c,t.childrenEqual=function(e,t){return(0,n.default)(r.default.Children.map(e,(function(e){return e.key})),r.default.Children.map(t,(function(e){return e.key})))},t.fastPositionEqual=function(e,t){return e.left===t.left&&e.top===t.top&&e.width===t.width&&e.height===t.height},t.collides=l,t.compact=I,t.compactItem=f,t.correctBounds=d,t.getLayoutItem=B,t.getFirstCollision=p,t.getAllCollisions=E,t.getStatics=Q,t.moveElement=y,t.moveElementAwayFromCollision=v,t.perc=function(e){return 100*e+"%"},t.setTransform=function(e){var t=e.top,A=e.left,n=e.width,r=e.height,i="translate(".concat(A,"px,").concat(t,"px)");return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:"".concat(n,"px"),height:"".concat(r,"px"),position:"absolute"}},t.setTopLeft=function(e){var t=e.top,A=e.left,n=e.width,r=e.height;return{top:"".concat(t,"px"),left:"".concat(A,"px"),width:"".concat(n,"px"),height:"".concat(r,"px"),position:"absolute"}},t.sortLayoutItems=m,t.sortLayoutItemsByRowCol=b,t.sortLayoutItemsByColRow=w,t.synchronizeLayoutWithChildren=function(e,t,A,n){e=e||[];var i=[];return r.default.Children.forEach(t,(function(t,A){var n=B(e,String(t.key));if(n)i[A]=c(n);else{0;var r=t.props["data-grid"]||t.props._grid;i[A]=c(r?a(a({},r),{},{i:t.key}):{w:1,h:1,x:0,y:g(i),i:String(t.key)})}})),I(d(i,{cols:A}),n,A)},t.validateLayout=S,t.compactType=function(e){var t=e||{},A=t.verticalCompact,n=t.compactType;return!1===A?null:n},t.autoBindHandlers=function(e,t){t.forEach((function(t){return e[t]=e[t].bind(e)}))},t.noop=t.fastRGLPropsEqual=void 0;var n=i(A(458)),r=i(A(0));function i(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function a(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?o(Object(A),!0).forEach((function(t){s(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):o(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function s(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function g(e){for(var t,A=0,n=0,r=e.length;n<r;n++)(t=e[n].y+e[n].h)>A&&(A=t);return A}function c(e){return{w:e.w,h:e.h,x:e.x,y:e.y,i:e.i,minW:e.minW,maxW:e.maxW,minH:e.minH,maxH:e.maxH,moved:Boolean(e.moved),static:Boolean(e.static),isDraggable:e.isDraggable,isResizable:e.isResizable,resizeHandles:e.resizeHandles,isBounded:e.isBounded}}var u=A(800);function l(e,t){return e.i!==t.i&&(!(e.x+e.w<=t.x)&&(!(e.x>=t.x+t.w)&&(!(e.y+e.h<=t.y)&&!(e.y>=t.y+t.h))))}function I(e,t,A){for(var n=Q(e),r=m(e,t),i=Array(e.length),o=0,a=r.length;o<a;o++){var s=c(r[o]);s.static||(s=f(n,s,t,A,r),n.push(s)),i[e.indexOf(r[o])]=s,s.moved=!1}return i}t.fastRGLPropsEqual=u;var C={x:"w",y:"h"};function h(e,t,A,n){var r=C[n];t[n]+=1;for(var i=e.map((function(e){return e.i})).indexOf(t.i)+1;i<e.length;i++){var o=e[i];if(!o.static){if(o.y>t.y+t.h)break;l(t,o)&&h(e,o,A+t[r],n)}}t[n]=A}function f(e,t,A,n,r){var i,o="horizontal"===A;if("vertical"===A)for(t.y=Math.min(g(e),t.y);t.y>0&&!p(e,t);)t.y--;else if(o)for(t.y=Math.min(g(e),t.y);t.x>0&&!p(e,t);)t.x--;for(;i=p(e,t);)o?h(r,t,i.x+i.w,"x"):h(r,t,i.y+i.h,"y"),o&&t.x+t.w>n&&(t.x=n-t.w,t.y++);return t}function d(e,t){for(var A=Q(e),n=0,r=e.length;n<r;n++){var i=e[n];if(i.x+i.w>t.cols&&(i.x=t.cols-i.w),i.x<0&&(i.x=0,i.w=t.cols),i.static)for(;p(A,i);)i.y++;else A.push(i)}return e}function B(e,t){for(var A=0,n=e.length;A<n;A++)if(e[A].i===t)return e[A]}function p(e,t){for(var A=0,n=e.length;A<n;A++)if(l(e[A],t))return e[A]}function E(e,t){return e.filter((function(e){return l(e,t)}))}function Q(e){return e.filter((function(e){return e.static}))}function y(e,t,A,n,r,i,o,a){if(t.static&&!0!==t.isDraggable)return e;if(t.y===n&&t.x===A)return e;F("Moving element ".concat(t.i," to [").concat(String(A),",").concat(String(n),"] from [").concat(t.x,",").concat(t.y,"]"));var s=t.x,g=t.y;"number"===typeof A&&(t.x=A),"number"===typeof n&&(t.y=n),t.moved=!0;var c=m(e,o);("vertical"===o&&"number"===typeof n?g>=n:"horizontal"===o&&"number"===typeof A&&s>=A)&&(c=c.reverse());var u=E(c,t);if(i&&u.length)return F("Collision prevented on ".concat(t.i,", reverting.")),t.x=s,t.y=g,t.moved=!1,e;for(var l=0,I=u.length;l<I;l++){var C=u[l];F("Resolving collision between ".concat(t.i," at [").concat(t.x,",").concat(t.y,"] and ").concat(C.i," at [").concat(C.x,",").concat(C.y,"]")),C.moved||(e=C.static?v(e,C,t,r,o,a):v(e,t,C,r,o,a))}return e}function v(e,t,A,n,r,i){var o="horizontal"===r,a="horizontal"!==r,s=t.static;if(n){n=!1;var g={x:o?Math.max(t.x-A.w,0):A.x,y:a?Math.max(t.y-A.h,0):A.y,w:A.w,h:A.h,i:"-1"};if(!p(e,g))return F("Doing reverse collision on ".concat(A.i," up to [").concat(g.x,",").concat(g.y,"].")),y(e,A,o?g.x:void 0,a?g.y:void 0,n,s,r,i)}return y(e,A,o?A.x+1:void 0,a?A.y+1:void 0,n,s,r,i)}function m(e,t){return"horizontal"===t?w(e):b(e)}function b(e){return e.slice(0).sort((function(e,t){return e.y>t.y||e.y===t.y&&e.x>t.x?1:e.y===t.y&&e.x===t.x?0:-1}))}function w(e){return e.slice(0).sort((function(e,t){return e.x>t.x||e.x===t.x&&e.y>t.y?1:-1}))}function S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Layout",A=["x","y","w","h"];if(!Array.isArray(e))throw new Error(t+" must be an array!");for(var n=0,r=e.length;n<r;n++){for(var i=e[n],o=0;o<A.length;o++)if("number"!==typeof i[A[o]])throw new Error("ReactGridLayout: "+t+"["+n+"]."+A[o]+" must be a number!");if(i.i&&"string"!==typeof i.i)throw new Error("ReactGridLayout: "+t+"["+n+"].i must be a string!");if(void 0!==i.static&&"boolean"!==typeof i.static)throw new Error("ReactGridLayout: "+t+"["+n+"].static must be a boolean!")}}function F(){}t.noop=function(){}},function(e,t,A){"use strict";function n(e,t,A){var n=A?" !== ":" === ",r=A?" || ":" && ",i=A?"!":"",o=A?"":"!";switch(e){case"null":return t+n+"null";case"array":return i+"Array.isArray("+t+")";case"object":return"("+i+t+r+"typeof "+t+n+'"object"'+r+o+"Array.isArray("+t+"))";case"integer":return"(typeof "+t+n+'"number"'+r+o+"("+t+" % 1)"+r+t+n+t+")";default:return"typeof "+t+n+'"'+e+'"'}}e.exports={copy:function(e,t){for(var A in t=t||{},e)t[A]=e[A];return t},checkDataType:n,checkDataTypes:function(e,t){switch(e.length){case 1:return n(e[0],t,!0);default:var A="",r=i(e);for(var o in r.array&&r.object&&(A=r.null?"(":"(!"+t+" || ",A+="typeof "+t+' !== "object")',delete r.null,delete r.array,delete r.object),r.number&&delete r.integer,r)A+=(A?" && ":"")+n(o,t,!0);return A}},coerceToTypes:function(e,t){if(Array.isArray(t)){for(var A=[],n=0;n<t.length;n++){var i=t[n];(r[i]||"array"===e&&"array"===i)&&(A[A.length]=i)}if(A.length)return A}else{if(r[t])return[t];if("array"===e&&"array"===t)return["array"]}},toHash:i,getProperty:s,escapeQuotes:g,equal:A(146),ucs2length:A(818),varOccurences:function(e,t){t+="[^0-9]";var A=e.match(new RegExp(t,"g"));return A?A.length:0},varReplace:function(e,t,A){return t+="([^0-9])",A=A.replace(/\$/g,"$$$$"),e.replace(new RegExp(t,"g"),A+"$1")},cleanUpCode:function(e){return e.replace(c,"").replace(u,"").replace(l,"if (!($1))")},finalCleanUpCode:function(e,t){var A=e.match(I);A&&2==A.length&&(e=t?e.replace(h,"").replace(f,"return data;"):e.replace(C,"").replace("return errors === 0;","validate.errors = null; return true;"));return(A=e.match(d))&&3===A.length?e.replace(B,""):e},schemaHasRules:function(e,t){if("boolean"==typeof e)return!e;for(var A in e)if(t[A])return!0},schemaHasRulesExcept:function(e,t,A){if("boolean"==typeof e)return!e&&"not"!=A;for(var n in e)if(n!=A&&t[n])return!0},schemaUnknownRules:function(e,t){if("boolean"==typeof e)return;for(var A in e)if(!t[A])return A},toQuotedString:p,getPathExpr:function(e,t,A,n){return y(e,A?"'/' + "+t+(n?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):n?"'[' + "+t+" + ']'":"'[\\'' + "+t+" + '\\']'")},getPath:function(e,t,A){var n=p(A?"/"+v(t):s(t));return y(e,n)},getData:function(e,t,A){var n,r,i,o;if(""===e)return"rootData";if("/"==e[0]){if(!E.test(e))throw new Error("Invalid JSON-pointer: "+e);r=e,i="rootData"}else{if(!(o=e.match(Q)))throw new Error("Invalid JSON-pointer: "+e);if(n=+o[1],"#"==(r=o[2])){if(n>=t)throw new Error("Cannot access property/index "+n+" levels up, current level is "+t);return A[t-n]}if(n>t)throw new Error("Cannot access data "+n+" levels up, current level is "+t);if(i="data"+(t-n||""),!r)return i}for(var a=i,g=r.split("/"),c=0;c<g.length;c++){var u=g[c];u&&(i+=s(m(u)),a+=" && "+i)}return a},unescapeFragment:function(e){return m(decodeURIComponent(e))},unescapeJsonPointer:m,escapeFragment:function(e){return encodeURIComponent(v(e))},escapeJsonPointer:v};var r=i(["string","number","integer","boolean","null"]);function i(e){for(var t={},A=0;A<e.length;A++)t[e[A]]=!0;return t}var o=/^[a-z$_][a-z$_0-9]*$/i,a=/'|\\/g;function s(e){return"number"==typeof e?"["+e+"]":o.test(e)?"."+e:"['"+g(e)+"']"}function g(e){return e.replace(a,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}var c=/else\s*{\s*}/g,u=/if\s*\([^)]+\)\s*\{\s*\}(?!\s*else)/g,l=/if\s*\(([^)]+)\)\s*\{\s*\}\s*else(?!\s*if)/g;var I=/[^v.]errors/g,C=/var errors = 0;|var vErrors = null;|validate.errors = vErrors;/g,h=/var errors = 0;|var vErrors = null;/g,f=/if \(errors === 0\) return data;\s*else throw new ValidationError\(vErrors\);/,d=/[^A-Za-z_$]rootData[^A-Za-z0-9_$]/g,B=/if \(rootData === undefined\) rootData = data;/;function p(e){return"'"+g(e)+"'"}var E=/^\/(?:[^~]|~0|~1)*$/,Q=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function y(e,t){return'""'==e?t:(e+" + "+t).replace(/' \+ '/g,"")}function v(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function m(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}},function(e,t){function A(t){return"function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?e.exports=A=function(e){return typeof e}:e.exports=A=function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},A(t)}e.exports=A},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n="",r={};function i(e){for(var t in r)if(e.startsWith(t)){var A=r[t];e=e.replace(t,A)}return e.startsWith("http://")||e.startsWith("https://")||(e="".concat(n).concat(e)),e}},function(e,t){(function(t){e.exports=t}).call(this,{})},function(e,t,A){var n=A(190),r=A(191),i=A(594),o=A(255),a=A(218),s=function e(t,A,s){var g,c,u,l=t&e.F,I=t&e.G,C=t&e.S,h=t&e.P,f=t&e.B,d=t&e.W,B=I?r:r[A]||(r[A]={}),p=B.prototype,E=I?n:C?n[A]:(n[A]||{}).prototype;for(g in I&&(s=A),s)(c=!l&&E&&void 0!==E[g])&&a(B,g)||(u=c?E[g]:s[g],B[g]=I&&"function"!=typeof E[g]?s[g]:f&&c?i(u,n):d&&E[g]==u?function(e){var t=function(t,A,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,A)}return new e(t,A,n)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(u):h&&"function"==typeof u?i(Function.call,u):u,h&&((B.virtual||(B.virtual={}))[g]=u,t&e.R&&p&&!p[g]&&o(p,g,u)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t,A){var n=A(217),r=A(359);e.exports=A(192)?function(e,t,A){return n.f(e,t,r(1,A))}:function(e,t,A){return e[t]=A,e}},function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},function(e,t,A){var n=A(598),r=A(474);e.exports=function(e){return n(r(e))}},function(e,t,A){var n=A(477)("wks"),r=A(362),i=A(190).Symbol,o="function"==typeof i;(e.exports=function(e){return n[e]||(n[e]=o&&i[e]||(o?i:r)("Symbol."+e))}).store=n},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(141);t.default=function(e){var t=[1/0,1/0,-1/0,-1/0];return n.coordEach(e,(function(e){t[0]>e[0]&&(t[0]=e[0]),t[1]>e[1]&&(t[1]=e[1]),t[2]<e[0]&&(t[2]=e[0]),t[3]<e[1]&&(t[3]=e[1])})),t}},function(e,t,A){var n=A(370).MAX_SAFE_COMPONENT_LENGTH,r=A(371),i=(t=e.exports={}).re=[],o=t.src=[],a=t.t={},s=0,g=function(e,t,A){var n=s++;r(n,t),a[e]=n,o[n]=t,i[n]=new RegExp(t,A?"g":void 0)};g("NUMERICIDENTIFIER","0|[1-9]\\d*"),g("NUMERICIDENTIFIERLOOSE","[0-9]+"),g("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),g("MAINVERSION","(".concat(o[a.NUMERICIDENTIFIER],")\\.")+"(".concat(o[a.NUMERICIDENTIFIER],")\\.")+"(".concat(o[a.NUMERICIDENTIFIER],")")),g("MAINVERSIONLOOSE","(".concat(o[a.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(o[a.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(o[a.NUMERICIDENTIFIERLOOSE],")")),g("PRERELEASEIDENTIFIER","(?:".concat(o[a.NUMERICIDENTIFIER],"|").concat(o[a.NONNUMERICIDENTIFIER],")")),g("PRERELEASEIDENTIFIERLOOSE","(?:".concat(o[a.NUMERICIDENTIFIERLOOSE],"|").concat(o[a.NONNUMERICIDENTIFIER],")")),g("PRERELEASE","(?:-(".concat(o[a.PRERELEASEIDENTIFIER],"(?:\\.").concat(o[a.PRERELEASEIDENTIFIER],")*))")),g("PRERELEASELOOSE","(?:-?(".concat(o[a.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(o[a.PRERELEASEIDENTIFIERLOOSE],")*))")),g("BUILDIDENTIFIER","[0-9A-Za-z-]+"),g("BUILD","(?:\\+(".concat(o[a.BUILDIDENTIFIER],"(?:\\.").concat(o[a.BUILDIDENTIFIER],")*))")),g("FULLPLAIN","v?".concat(o[a.MAINVERSION]).concat(o[a.PRERELEASE],"?").concat(o[a.BUILD],"?")),g("FULL","^".concat(o[a.FULLPLAIN],"$")),g("LOOSEPLAIN","[v=\\s]*".concat(o[a.MAINVERSIONLOOSE]).concat(o[a.PRERELEASELOOSE],"?").concat(o[a.BUILD],"?")),g("LOOSE","^".concat(o[a.LOOSEPLAIN],"$")),g("GTLT","((?:<|>)?=?)"),g("XRANGEIDENTIFIERLOOSE","".concat(o[a.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),g("XRANGEIDENTIFIER","".concat(o[a.NUMERICIDENTIFIER],"|x|X|\\*")),g("XRANGEPLAIN","[v=\\s]*(".concat(o[a.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(o[a.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(o[a.XRANGEIDENTIFIER],")")+"(?:".concat(o[a.PRERELEASE],")?").concat(o[a.BUILD],"?")+")?)?"),g("XRANGEPLAINLOOSE","[v=\\s]*(".concat(o[a.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(o[a.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(o[a.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(o[a.PRERELEASELOOSE],")?").concat(o[a.BUILD],"?")+")?)?"),g("XRANGE","^".concat(o[a.GTLT],"\\s*").concat(o[a.XRANGEPLAIN],"$")),g("XRANGELOOSE","^".concat(o[a.GTLT],"\\s*").concat(o[a.XRANGEPLAINLOOSE],"$")),g("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(n,"})")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:$|[^\\d])"),g("COERCERTL",o[a.COERCE],!0),g("LONETILDE","(?:~>?)"),g("TILDETRIM","(\\s*)".concat(o[a.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",g("TILDE","^".concat(o[a.LONETILDE]).concat(o[a.XRANGEPLAIN],"$")),g("TILDELOOSE","^".concat(o[a.LONETILDE]).concat(o[a.XRANGEPLAINLOOSE],"$")),g("LONECARET","(?:\\^)"),g("CARETTRIM","(\\s*)".concat(o[a.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",g("CARET","^".concat(o[a.LONECARET]).concat(o[a.XRANGEPLAIN],"$")),g("CARETLOOSE","^".concat(o[a.LONECARET]).concat(o[a.XRANGEPLAINLOOSE],"$")),g("COMPARATORLOOSE","^".concat(o[a.GTLT],"\\s*(").concat(o[a.LOOSEPLAIN],")$|^$")),g("COMPARATOR","^".concat(o[a.GTLT],"\\s*(").concat(o[a.FULLPLAIN],")$|^$")),g("COMPARATORTRIM","(\\s*)".concat(o[a.GTLT],"\\s*(").concat(o[a.LOOSEPLAIN],"|").concat(o[a.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",g("HYPHENRANGE","^\\s*(".concat(o[a.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(o[a.XRANGEPLAIN],")")+"\\s*$"),g("HYPHENRANGELOOSE","^\\s*(".concat(o[a.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(o[a.XRANGEPLAINLOOSE],")")+"\\s*$"),g("STAR","(<|>)?=?\\s*\\*"),g("GTE0","^\\s*>=\\s*0.0.0\\s*$"),g("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")},function(e,t,A){var n=A(370).MAX_LENGTH,r=A(260),i=r.re,o=r.t,a=A(106),s=A(372);e.exports=function(e,t){if(t=s(t),e instanceof a)return e;if("string"!==typeof e)return null;if(e.length>n)return null;if(!(t.loose?i[o.LOOSE]:i[o.FULL]).test(e))return null;try{return new a(e,t)}catch(A){return null}}},function(e,t,A){"use strict";A.r(t);function n(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function r(e,t,A){void 0===A&&(A={});for(var r=0,i=e;r<i.length;r++){var o=i[r];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var a=0;a<o[o.length-1].length;a++)if(o[o.length-1][a]!==o[0][a])throw new Error("First and last Position are not equivalent.")}return n({type:"Polygon",coordinates:e},t,A)}function i(e,t){void 0===t&&(t={});var A=Number(e[0]),n=Number(e[1]),i=Number(e[2]),o=Number(e[3]);if(6===e.length)throw new Error("@turf/bbox-polygon does not support BBox with 6 positions");var a=[A,n];return r([[a,[i,n],[i,o],[A,o],a]],t.properties,{bbox:e,id:t.id})}A.d(t,"default",(function(){return i}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return B}));var n=A(8),r=A(7),i=A(1),o=A(4),a=A(24),s=A(16),g=A(17),c=A(9),u=A(10),l=A(96),I=A(42),C=A(70),h=A(23),f=Math.PI/180;function d(e){return 512/4003e4/Math.cos(e*f)}var B=function(e){Object(c.a)(A,e);var t=Object(u.a)(A);function A(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(i.a)(this,A);var o,s=n.latitude,g=void 0===s?0:s,c=n.longitude,u=void 0===c?0:c,l=n.zoom,C=void 0===l?11:l,f=n.pitch,d=void 0===f?0:f,B=n.bearing,p=void 0===B?0:B,E=n.nearZMultiplier,Q=void 0===E?.1:E,y=n.farZMultiplier,v=void 0===y?1.01:y,m=n.orthographic,b=void 0!==m&&m,w=n.projectionMatrix,S=n.repeat,F=void 0!==S&&S,R=n.worldOffset,D=void 0===R?0:R,G=n.legacyMeterSizes,k=void 0!==G&&G,x=n.width,N=n.height,U=n.altitude,_=void 0===U?1.5:U,M=Math.pow(2,C);x=x||1,N=N||1;var O=null;w?(_=w[5]/2,o=Object(I.c)(_)):(n.fovy?(o=n.fovy,_=Object(I.f)(o)):o=Object(I.c)(_),O=Object(I.l)({width:x,height:N,pitch:d,fovy:o,nearZMultiplier:Q,farZMultiplier:v}));var L=Object(I.m)({height:N,pitch:d,bearing:p,scale:M,altitude:_});if(D){var T=(new h.Matrix4).translate([512*D,0,0]);L=T.multiplyLeft(L)}return(e=t.call(this,Object(r.a)({},n,{width:x,height:N,viewMatrix:L,longitude:u,latitude:g,zoom:C},O,{fovy:o,focalDistance:_}))).latitude=g,e.longitude=u,e.zoom=C,e.pitch=d,e.bearing=p,e.altitude=_,e.fovy=o,e.orthographic=b,e._subViewports=F?[]:null,e._pseudoMeters=k,Object.freeze(Object(a.a)(e)),e}return Object(o.a)(A,[{key:"projectPosition",value:function(e){if(this._pseudoMeters)return Object(g.a)(Object(s.a)(A.prototype),"projectPosition",this).call(this,e);var t=this.projectFlat(e),r=Object(n.a)(t,2);return[r[0],r[1],(e[2]||0)*d(e[1])]}},{key:"unprojectPosition",value:function(e){if(this._pseudoMeters)return Object(g.a)(Object(s.a)(A.prototype),"unprojectPosition",this).call(this,e);var t=this.unprojectFlat(e),r=Object(n.a)(t,2),i=r[0],o=r[1];return[i,o,(e[2]||0)/d(o)]}},{key:"addMetersToLngLat",value:function(e,t){return Object(I.b)(e,t)}},{key:"panByPosition",value:function(e,t){var A=Object(I.p)(t,this.pixelUnprojectionMatrix),r=this.projectFlat(e),i=C.a([],r,C.b([],A)),o=C.a([],this.center,i),a=this.unprojectFlat(o),s=Object(n.a)(a,2);return{longitude:s[0],latitude:s[1]}}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object(I.g)(this,e.z||0);return[Math.min(t[0][0],t[1][0],t[2][0],t[3][0]),Math.min(t[0][1],t[1][1],t[2][1],t[3][1]),Math.max(t[0][0],t[1][0],t[2][0],t[3][0]),Math.max(t[0][1],t[1][1],t[2][1],t[3][1])]}},{key:"fitBounds",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.width,i=this.height,o=Object(I.d)(Object(r.a)({width:n,height:i,bounds:e},t)),a=o.longitude,s=o.latitude,g=o.zoom;return new A({width:n,height:i,longitude:a,latitude:s,zoom:g})}},{key:"subViewports",get:function(){if(this._subViewports&&!this._subViewports.length)for(var e=this.getBounds(),t=Math.floor((e[0]+180)/360),n=Math.ceil((e[2]-180)/360),i=t;i<=n;i++){var o=i?new A(Object(r.a)({},this,{worldOffset:i})):this;this._subViewports.push(o)}return this._subViewports}}]),A}(l.a);B.displayName="WebMercatorViewport"},function(e,t,A){"use strict";A.d(t,"a",(function(){return I})),A.d(t,"b",(function(){return C}));var n=A(7),r=A(1),i=A(4),o=A(9),a=A(10),s=A(23),g=A(133),c=A(275),u=A(84),l={rotationX:0,rotationOrbit:0,zoom:0,target:[0,0,0],minRotationX:-90,maxRotationX:90,minZoom:-1/0,maxZoom:1/0},I=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(e){var n,i=e.makeViewport,o=e.width,a=e.height,s=e.rotationX,g=void 0===s?l.rotationX:s,c=e.rotationOrbit,u=void 0===c?l.rotationOrbit:c,I=e.target,C=void 0===I?l.target:I,h=e.zoom,f=void 0===h?l.zoom:h,d=e.minRotationX,B=void 0===d?l.minRotationX:d,p=e.maxRotationX,E=void 0===p?l.maxRotationX:p,Q=e.minZoom,y=void 0===Q?l.minZoom:Q,v=e.maxZoom,m=void 0===v?l.maxZoom:v,b=e.startPanPosition,w=e.startRotatePos,S=e.startRotationX,F=e.startRotationOrbit,R=e.startZoomPosition,D=e.startZoom;return Object(r.a)(this,A),(n=t.call(this,{width:o,height:a,rotationX:g,rotationOrbit:u,target:C,zoom:f,minRotationX:B,maxRotationX:E,minZoom:y,maxZoom:m}))._state={startPanPosition:b,startRotatePos:w,startRotationX:S,startRotationOrbit:F,startZoomPosition:R,startZoom:D},n.makeViewport=i,n}return Object(i.a)(A,[{key:"panStart",value:function(e){var t=e.pos;return this._getUpdatedState({startPanPosition:this._unproject(t)})}},{key:"pan",value:function(e){var t=e.pos,A=e.startPosition,n=this._state.startPanPosition||A;if(!n)return this;var r=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(r)}},{key:"panEnd",value:function(){return this._getUpdatedState({startPanPosition:null})}},{key:"rotateStart",value:function(e){var t=e.pos;return this._getUpdatedState({startRotatePos:t,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}},{key:"rotate",value:function(e){var t,A=e.pos,n=e.deltaAngleX,r=void 0===n?0:n,i=e.deltaAngleY,o=void 0===i?0:i,a=this._state,s=a.startRotatePos,g=a.startRotationX,c=a.startRotationOrbit,u=this._viewportProps,l=u.width,I=u.height;if(!s||!Number.isFinite(g)||!Number.isFinite(c))return this;if(A){var C=(A[0]-s[0])/l;(g<-90||g>90)&&(C*=-1),t={rotationX:g+180*((A[1]-s[1])/I),rotationOrbit:c+180*C}}else t={rotationX:g+o,rotationOrbit:c+r};return this._getUpdatedState(t)}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),A=Object(n.a)({},this._viewportProps),r=A.rotationOrbit;return Math.abs(r-t.rotationOrbit)>180&&(A.rotationOrbit=r<0?r+360:r-360),A}},{key:"zoomStart",value:function(e){var t=e.pos;return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.pos,A=e.startPos,r=e.scale,i=this._viewportProps.zoom,o=this._state,a=o.startZoom,s=o.startZoomPosition;Number.isFinite(a)||(a=i,s=this._unproject(A)||this._unproject(t));var g=this._calculateNewZoom({scale:r,startZoom:a}),c=this.makeViewport(Object(n.a)({},this._viewportProps,{zoom:g}));return this._getUpdatedState(Object(n.a)({zoom:g},c.panByPosition(s,t)))}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([-e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,-e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,A=e.startZoom,n=this._viewportProps,r=n.maxZoom,i=n.minZoom;Number.isFinite(A)||(A=this._viewportProps.zoom);var o=A+Math.log2(t);return Object(s.clamp)(o,i,r)}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,A=t.width,n=t.height,r=t.target;return this.pan({startPosition:r,pos:[A/2+e[0],n/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new this.constructor(Object(n.a)({},this._viewportProps,{},this._state,{},e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,A=e.minZoom,n=e.zoom,r=e.maxRotationX,i=e.minRotationX,o=e.rotationOrbit;return e.zoom=Object(s.clamp)(n,A,t),e.rotationX=Object(s.clamp)(e.rotationX,i,r),(o<-180||o>180)&&(e.rotationOrbit=Object(u.e)(o+180,360)-180),e}}]),A}(c.a),C=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(e){return Object(r.a)(this,A),t.call(this,I,e)}return Object(i.a)(A,[{key:"linearTransitionProps",get:function(){return["target","zoom","rotationX","rotationOrbit"]}}]),A}(g.a)},function(e,t,A){"use strict";A.d(t,"a",(function(){return s}));var n=A(6),r=A(1),i=A(4),o=A(23),a=A(87),s=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(r.a)(this,e),Array.isArray(t)&&(t={compare:t,extract:t,required:t});var A=t,n=A.compare,i=A.extract,o=A.required;this._propsToCompare=n,this._propsToExtract=i,this._requiredProps=o}return Object(i.a)(e,[{key:"arePropsEqual",value:function(e,t){var A,r=Object(n.a)(this._propsToCompare||Object.keys(t));try{for(r.s();!(A=r.n()).done;){var i=A.value;if(!(i in e)||!(i in t)||!Object(o.equals)(e[i],t[i]))return!1}}catch(a){r.e(a)}finally{r.f()}return!0}},{key:"initializeProps",value:function(e,t){var A;if(this._propsToExtract){var r,i={},o={},a=Object(n.a)(this._propsToExtract);try{for(a.s();!(r=a.n()).done;){var s=r.value;i[s]=e[s],o[s]=t[s]}}catch(g){a.e(g)}finally{a.f()}A={start:i,end:o}}else A={start:e,end:t};return this._checkRequiredProps(A.start),this._checkRequiredProps(A.end),A}},{key:"interpolateProps",value:function(e,t,A){return t}},{key:"getDuration",value:function(e,t){return t.transitionDuration}},{key:"_checkRequiredProps",value:function(e){this._requiredProps&&this._requiredProps.forEach((function(t){var A=e[t];Object(a.a)(Number.isFinite(A)||Array.isArray(A),"".concat(t," is required for transition"))}))}}]),e}()},function(e,t,A){"use strict";A.d(t,"a",(function(){return y})),A.d(t,"b",(function(){return v}));var n=A(16),r=A(17),i=A(7),o=A(1),a=A(4),s=A(9),g=A(10),c=A(23),u=A(133),l=A(275),I=A(42),C=A(87),h=0,f=0,d=1.5,B=0,p=20,E=0,Q=60,y=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=n.makeViewport,i=n.width,a=n.height,s=n.latitude,g=n.longitude,c=n.zoom,u=n.bearing,l=void 0===u?f:u,I=n.pitch,y=void 0===I?h:I,v=n.altitude,m=void 0===v?d:v,b=n.maxZoom,w=void 0===b?p:b,S=n.minZoom,F=void 0===S?B:S,R=n.maxPitch,D=void 0===R?Q:R,G=n.minPitch,k=void 0===G?E:G,x=n.startPanLngLat,N=n.startZoomLngLat,U=n.startRotatePos,_=n.startBearing,M=n.startPitch,O=n.startZoom,L=n.normalize;return Object(o.a)(this,A),Object(C.a)(Number.isFinite(g)),Object(C.a)(Number.isFinite(s)),Object(C.a)(Number.isFinite(c)),(e=t.call(this,{width:i,height:a,latitude:s,longitude:g,zoom:c,bearing:l,pitch:y,altitude:m,maxZoom:w,minZoom:F,maxPitch:D,minPitch:k,normalize:L}))._state={startPanLngLat:x,startZoomLngLat:N,startRotatePos:U,startBearing:_,startPitch:M,startZoom:O},e.makeViewport=r,e}return Object(a.a)(A,[{key:"panStart",value:function(e){var t=e.pos;return this._getUpdatedState({startPanLngLat:this._unproject(t)})}},{key:"pan",value:function(e){var t=e.pos,A=e.startPos,n=this._state.startPanLngLat||this._unproject(A);if(!n)return this;var r=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(r)}},{key:"panEnd",value:function(){return this._getUpdatedState({startPanLngLat:null})}},{key:"rotateStart",value:function(e){var t=e.pos;return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}},{key:"rotate",value:function(e){var t,A=e.pos,n=e.deltaAngleX,r=void 0===n?0:n,o=e.deltaAngleY,a=void 0===o?0:o,s=this._state,g=s.startRotatePos,c=s.startBearing,u=s.startPitch;return g&&Number.isFinite(c)&&Number.isFinite(u)?(t=A?this._calculateNewPitchAndBearing(Object(i.a)({},this._getRotationParams(A,g),{startBearing:c,startPitch:u})):{bearing:c+r,pitch:u+a},this._getUpdatedState(t)):this}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startBearing:null,startPitch:null})}},{key:"zoomStart",value:function(e){var t=e.pos;return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.pos,A=e.startPos,n=e.scale,r=this._state,o=r.startZoom,a=r.startZoomLngLat;Number.isFinite(o)||(o=this._viewportProps.zoom,a=this._unproject(A)||this._unproject(t));var s=this._calculateNewZoom({scale:n,startZoom:o}),g=this.makeViewport(Object(i.a)({},this._viewportProps,{zoom:s}));return this._getUpdatedState(Object(i.a)({zoom:s},g.panByPosition(a,t)))}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(e)}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(1/e)}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([-e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,-e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),A=Object(i.a)({},this._viewportProps),n=A.bearing,r=A.longitude;return Math.abs(n-t.bearing)>180&&(A.bearing=n<0?n+360:n-360),Math.abs(r-t.longitude)>180&&(A.longitude=r<0?r+360:r-360),A}},{key:"_zoomFromCenter",value:function(e){var t=this._viewportProps,A=t.width,n=t.height;return this.zoom({pos:[A/2,n/2],scale:e})}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,A=t.width,n=t.height;return this.pan({startPos:[A/2,n/2],pos:[A/2+e[0],n/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new this.constructor(Object(i.a)({makeViewport:this.makeViewport},this._viewportProps,{},this._state,{},e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,A=e.minZoom,n=e.zoom;e.zoom=Object(c.clamp)(n,A,t);var r=e.maxPitch,i=e.minPitch,o=e.pitch;e.pitch=Object(c.clamp)(o,i,r);var a=e.normalize;return(void 0===a||a)&&Object.assign(e,Object(I.o)(e)),e}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,A=e.startZoom,n=this._viewportProps,r=n.maxZoom,i=n.minZoom,o=A+Math.log2(t);return Object(c.clamp)(o,i,r)}},{key:"_calculateNewPitchAndBearing",value:function(e){var t=e.deltaScaleX,A=e.deltaScaleY,n=e.startBearing,r=e.startPitch;A=Object(c.clamp)(A,-1,1);var i=this._viewportProps,o=i.minPitch,a=i.maxPitch,s=r;return A>0?s=r+A*(a-r):A<0&&(s=r-A*(o-r)),{pitch:s,bearing:n+180*t}}},{key:"_getRotationParams",value:function(e,t){var A=e[0]-t[0],n=e[1]-t[1],r=e[1],i=t[1],o=this._viewportProps,a=o.width,s=o.height,g=A/a,c=0;return n>0?Math.abs(s-i)>5&&(c=n/(i-s)*1.2):n<0&&i>5&&(c=1-r/i),{deltaScaleX:g,deltaScaleY:c=Math.min(1,Math.max(-1,c))}}}]),A}(l.a),v=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(e){return Object(o.a)(this,A),e.dragMode=e.dragMode||"pan",t.call(this,y,e)}return Object(a.a)(A,[{key:"setProps",value:function(e){var t=this.controllerStateProps;Object(r.a)(Object(n.a)(A.prototype),"setProps",this).call(this,e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(Object(i.a)({makeViewport:this.makeViewport},this.controllerStateProps,{},this._state)))}},{key:"linearTransitionProps",get:function(){return["longitude","latitude","zoom","bearing","pitch"]}}]),A}(u.a)},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(16),a=A(17),s=A(9),g=A(10),c=A(575),u=A(655),l=A(576),I=A(36),C=A(384),h=A(718),f=A(427),d=A(422),B=A(135),p=A(6),E=A(326),Q=A(577),y=A(89),v=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(e){Object(r.a)(this,A);var i=e.fp64,o=e.IndexType,a=void 0===o?Uint32Array:o;return t.call(this,Object(n.a)({},e,{attributes:{positions:{size:3,type:i?Float64Array:Float32Array},vertexValid:{type:Uint8ClampedArray,size:1},indices:{type:a,size:1}}}))}return Object(i.a)(A,[{key:"get",value:function(e){var t=this.attributes;return"indices"===e?t.indices&&t.indices.subarray(0,this.vertexCount):t[e]}},{key:"updateGeometry",value:function(e){Object(a.a)(Object(o.a)(A.prototype),"updateGeometry",this).call(this,e);var t=this.buffers.indices;t&&(this.vertexCount=(t.value||t).length)}},{key:"normalizeGeometry",value:function(e){if(this.normalize){if(e=E.b(e,this.positionSize),this.opts.resolution)return Object(y.b)(e.positions||e,e.holeIndices,{size:this.positionSize,gridResolution:this.opts.resolution,edgeTypes:!0});if(this.opts.wrapLongitude)return Object(y.c)(e.positions||e,e.holeIndices,{size:this.positionSize,maxLatitude:86,edgeTypes:!0})}return e}},{key:"getGeometrySize",value:function(e){if(Array.isArray(e)&&!Number.isFinite(e[0])){var t,A=0,n=Object(p.a)(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;A+=this.getGeometrySize(r)}}catch(i){n.e(i)}finally{n.f()}return A}return(e.positions||e).length/this.positionSize}},{key:"getGeometryFromBuffer",value:function(e){return this.normalize||!this.buffers.indices?Object(a.a)(Object(o.a)(A.prototype),"getGeometryFromBuffer",this).call(this,e):function(){return null}}},{key:"updateGeometryAttributes",value:function(e,t){if(Array.isArray(e)&&!Number.isFinite(e[0])){var A,n=Object(p.a)(e);try{for(n.s();!(A=n.n()).done;){var r=A.value,i=this.getGeometrySize(r);t.geometrySize=i,this.updateGeometryAttributes(r,t),t.vertexStart+=i,t.indexStart=this.indexStarts[t.geometryIndex+1]}}catch(o){n.e(o)}finally{n.f()}}else this._updateIndices(e,t),this._updatePositions(e,t),this._updateVertexValid(e,t)}},{key:"_updateIndices",value:function(e,t){var A=t.geometryIndex,n=t.vertexStart,r=t.indexStart,i=this.attributes,o=this.indexStarts,a=this.typedArrayManager,s=i.indices;if(s){var g=r,c=E.a(e,this.positionSize,this.opts.preproject);s=a.allocate(s,r+c.length,{copy:!0});for(var u=0;u<c.length;u++)s[g++]=c[u]+n;o[A+1]=r+c.length,i.indices=s}}},{key:"_updatePositions",value:function(e,t){var A=t.vertexStart,n=t.geometrySize,r=this.attributes.positions,i=this.positionSize;if(r)for(var o=e.positions||e,a=A,s=0;s<n;a++,s++){var g=o[s*i],c=o[s*i+1],u=i>2?o[s*i+2]:0;r[3*a]=g,r[3*a+1]=c,r[3*a+2]=u}}},{key:"_updateVertexValid",value:function(e,t){var A=t.vertexStart,n=t.geometrySize,r=this.attributes.vertexValid,i=this.positionSize,o=e&&e.holeIndices;if(e&&e.edgeTypes?r.set(e.edgeTypes,A):r.fill(1,A,A+n),o)for(var a=0;a<o.length;a++)r[A+o[a]/i-1]=0;r[A+n-1]=0}}]),A}(Q.a),m="\nattribute vec2 vertexPositions;\nattribute float vertexValid;\n\nuniform bool extruded;\nuniform bool isWireframe;\nuniform float elevationScale;\nuniform float opacity;\n\nvarying vec4 vColor;\n\nstruct PolygonProps {\n vec4 fillColors;\n vec4 lineColors;\n vec3 positions;\n vec3 nextPositions;\n vec3 pickingColors;\n vec3 positions64Low;\n vec3 nextPositions64Low;\n float elevations;\n};\n\nvec3 project_offset_normal(vec3 vector) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSETS) {\n return normalize(vector * project_uCommonUnitsPerWorldUnit);\n }\n return project_normal(vector);\n}\n\nvoid calculatePosition(PolygonProps props) {\n#ifdef IS_SIDE_VERTEX\n if(vertexValid < 0.5){\n gl_Position = vec4(0.);\n return;\n }\n#endif\n\n vec3 pos;\n vec3 pos64Low;\n vec3 normal;\n vec4 colors = isWireframe ? props.lineColors : props.fillColors;\n\n geometry.worldPosition = props.positions;\n geometry.worldPositionAlt = props.nextPositions;\n geometry.pickingColor = props.pickingColors;\n\n#ifdef IS_SIDE_VERTEX\n pos = mix(props.positions, props.nextPositions, vertexPositions.x);\n pos64Low = mix(props.positions64Low, props.nextPositions64Low, vertexPositions.x);\n#else\n pos = props.positions;\n pos64Low = props.positions64Low;\n#endif\n\n if (extruded) {\n pos.z += props.elevations * vertexPositions.y * elevationScale;\n\n#ifdef IS_SIDE_VERTEX\n normal = vec3(\n props.positions.y - props.nextPositions.y + (props.positions64Low.y - props.nextPositions64Low.y),\n props.nextPositions.x - props.positions.x + (props.nextPositions64Low.x - props.positions64Low.x),\n 0.0);\n normal = project_offset_normal(normal);\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n geometry.normal = normal;\n }\n\n gl_Position = project_position_to_clipspace(pos, pos64Low, vec3(0.), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n if (extruded) {\n vec3 lightColor = lighting_getLightColor(colors.rgb, project_uCameraPosition, geometry.position.xyz, normal);\n vColor = vec4(lightColor, colors.a * opacity);\n } else {\n vColor = vec4(colors.rgb, colors.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",b="#define SHADER_NAME solid-polygon-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 positions64Low;\nattribute float elevations;\nattribute vec4 fillColors;\nattribute vec4 lineColors;\nattribute vec3 pickingColors;\n\n".concat(m,"\n\nvoid main(void) {\n PolygonProps props;\n\n props.positions = positions;\n props.positions64Low = positions64Low;\n props.elevations = elevations;\n props.fillColors = fillColors;\n props.lineColors = lineColors;\n props.pickingColors = pickingColors;\n\n calculatePosition(props);\n}\n"),w="#define SHADER_NAME solid-polygon-layer-vertex-shader-side\n#define IS_SIDE_VERTEX\n\n\nattribute vec3 instancePositions;\nattribute vec3 nextPositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 nextPositions64Low;\nattribute float instanceElevations;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\n".concat(m,"\n\nvoid main(void) {\n PolygonProps props;\n\n #if RING_WINDING_ORDER_CW == 1\n props.positions = instancePositions;\n props.positions64Low = instancePositions64Low;\n props.nextPositions = nextPositions;\n props.nextPositions64Low = nextPositions64Low;\n #else\n props.positions = nextPositions;\n props.positions64Low = nextPositions64Low;\n props.nextPositions = instancePositions;\n props.nextPositions64Low = instancePositions64Low;\n #endif\n props.elevations = instanceElevations;\n props.fillColors = instanceFillColors;\n props.lineColors = instanceLineColors;\n props.pickingColors = instancePickingColors;\n\n calculatePosition(props);\n}\n");A.d(t,"a",(function(){return D}));var S=[0,0,0,255],F={filled:!0,extruded:!1,wireframe:!1,_normalize:!0,_windingOrder:"CW",elevationScale:{type:"number",min:0,value:1},getPolygon:{type:"accessor",value:function(e){return e.polygon}},getElevation:{type:"accessor",value:1e3},getFillColor:{type:"accessor",value:S},getLineColor:{type:"accessor",value:S},material:!0},R={enter:function(e,t){return t.length?t.subarray(t.length-e.length):e}},D=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"getShaders",value:function(e){return Object(a.a)(Object(o.a)(A.prototype),"getShaders",this).call(this,{vs:"top"===e?b:w,fs:"#define SHADER_NAME solid-polygon-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main(void) {\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",defines:{RING_WINDING_ORDER_CW:this.props._normalize||"CCW"!==this.props._windingOrder?1:0},modules:[c.a,u.a,l.a]})}},{key:"initializeState",value:function(){var e=this,t=this.context,A=t.gl,n=t.viewport,r=this.props.coordinateSystem;n.isGeospatial&&r===I.a.DEFAULT&&(r=I.a.LNGLAT),this.setState({numInstances:0,polygonTesselator:new v({preproject:r===I.a.LNGLAT&&n.projectFlat,fp64:this.use64bitPositions(),IndexType:!A||Object(h.c)(A,f.a.ELEMENT_INDEX_UINT32)?Uint32Array:Uint16Array})});var i=this.getAttributeManager();i.remove(["instancePickingColors"]),i.add({indices:{size:1,isIndexed:!0,update:this.calculateIndices,noAlloc:!0},positions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:R,accessor:"getPolygon",update:this.calculatePositions,noAlloc:!0,shaderAttributes:{positions:{vertexOffset:0,divisor:0},instancePositions:{vertexOffset:0,divisor:1},nextPositions:{vertexOffset:1,divisor:1}}},vertexValid:{size:1,divisor:1,type:5121,update:this.calculateVertexValid,noAlloc:!0},elevations:{size:1,transition:R,accessor:"getElevation",shaderAttributes:{elevations:{divisor:0},instanceElevations:{divisor:1}}},fillColors:{alias:"colors",size:this.props.colorFormat.length,type:5121,normalized:!0,transition:R,accessor:"getFillColor",defaultValue:S,shaderAttributes:{fillColors:{divisor:0},instanceFillColors:{divisor:1}}},lineColors:{alias:"colors",size:this.props.colorFormat.length,type:5121,normalized:!0,transition:R,accessor:"getLineColor",defaultValue:S,shaderAttributes:{lineColors:{divisor:0},instanceLineColors:{divisor:1}}},pickingColors:{size:3,type:5121,accessor:function(t,A){var n=A.index,r=A.target;return e.encodePickingColor(t&&t.__source?t.__source.index:n,r)},shaderAttributes:{pickingColors:{divisor:0},instancePickingColors:{divisor:1}}}})}},{key:"getPickingInfo",value:function(e){var t=Object(a.a)(Object(o.a)(A.prototype),"getPickingInfo",this).call(this,e),n=t.index,r=this.props.data;return r[0]&&r[0].__source&&(t.object=r.find((function(e){return e.__source.index===n}))),t}},{key:"disablePickingIndex",value:function(e){var t=this.props.data;if(t[0]&&t[0].__source)for(var A=0;A<t.length;A++)t[A].__source.index===e&&this._disablePickingIndex(A);else this._disablePickingIndex(e)}},{key:"draw",value:function(e){var t=e.uniforms,A=this.props,r=A.extruded,i=A.filled,o=A.wireframe,a=A.elevationScale,s=this.state,g=s.topModel,c=s.sideModel,u=s.polygonTesselator,l=Object(n.a)({},t,{extruded:Boolean(r),elevationScale:a});c&&(c.setInstanceCount(u.instanceCount-1),c.setUniforms(l),o&&(c.setDrawMode(3),c.setUniforms({isWireframe:!0}).draw()),i&&(c.setDrawMode(6),c.setUniforms({isWireframe:!1}).draw())),g&&(g.setVertexCount(u.vertexCount),g.setUniforms(l).draw())}},{key:"updateState",value:function(e){Object(a.a)(Object(o.a)(A.prototype),"updateState",this).call(this,e),this.updateGeometry(e);var t,n=e.props,r=e.oldProps,i=e.changeFlags,s=this.getAttributeManager();(i.extensionsChanged||n.filled!==r.filled||n.extruded!==r.extruded)&&(null===(t=this.state.models)||void 0===t||t.forEach((function(e){return e.delete()})),this.setState(this._getModels(this.context.gl)),s.invalidateAll())}},{key:"updateGeometry",value:function(e){var t=e.props,A=(e.oldProps,e.changeFlags);if(A.dataChanged||A.updateTriggersChanged&&(A.updateTriggersChanged.all||A.updateTriggersChanged.getPolygon)){var n=this.state.polygonTesselator,r=t.data.attributes||{};n.updateGeometry({data:t.data,normalize:t._normalize,geometryBuffer:r.getPolygon,buffers:r,getGeometry:t.getPolygon,positionFormat:t.positionFormat,wrapLongitude:t.wrapLongitude,resolution:this.context.viewport.resolution,fp64:this.use64bitPositions(),dataChanged:A.dataChanged}),this.setState({numInstances:n.instanceCount,startIndices:n.vertexStarts}),A.dataChanged||this.getAttributeManager().invalidateAll()}}},{key:"_getModels",value:function(e){var t,A,r=this.props,i=r.id,o=r.filled,a=r.extruded;if(o){var s=this.getShaders("top");s.defines.NON_INSTANCED_MODEL=1,t=new d.a(e,Object(n.a)({},s,{id:"".concat(i,"-top"),drawMode:4,attributes:{vertexPositions:new Float32Array([0,1])},uniforms:{isWireframe:!1,isSideVertex:!1},vertexCount:0,isIndexed:!0}))}return a&&((A=new d.a(e,Object(n.a)({},this.getShaders("side"),{id:"".concat(i,"-side"),geometry:new B.a({drawMode:1,vertexCount:4,attributes:{vertexPositions:{size:2,value:new Float32Array([1,0,0,0,0,1,1,1])}}}),instanceCount:0,isInstanced:1}))).userData.excludeAttributes={indices:!0}),{models:[A,t].filter(Boolean),topModel:t,sideModel:A}}},{key:"calculateIndices",value:function(e){var t=this.state.polygonTesselator;e.startIndices=t.indexStarts,e.value=t.get("indices")}},{key:"calculatePositions",value:function(e){var t=this.state.polygonTesselator;e.startIndices=t.vertexStarts,e.value=t.get("positions")}},{key:"calculateVertexValid",value:function(e){e.value=this.state.polygonTesselator.get("vertexValid")}},{key:"wrapLongitude",get:function(){return!1}}]),A}(C.a);D.layerName="SolidPolygonLayer",D.defaultProps=F},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(16),a=A(17),s=A(9),g=A(10),c=A(575),u=A(576),l=A(41),I=A(36),C=A(384),h=A(422),f=A(135),d=A(6),B=A(577),p=A(89);var E=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(e){return Object(r.a)(this,A),t.call(this,Object(n.a)({},e,{attributes:{positions:{size:3,padding:18,initialize:!0,type:e.fp64?Float64Array:Float32Array},segmentTypes:{size:1,type:Uint8ClampedArray}}}))}return Object(i.a)(A,[{key:"getGeometryFromBuffer",value:function(e){return this.normalize?Object(a.a)(Object(o.a)(A.prototype),"getGeometryFromBuffer",this).call(this,e):function(){return null}}},{key:"normalizeGeometry",value:function(e){return this.normalize?function(e,t,A,n){var r=e;if(Array.isArray(e[0])){var i=e.length*t;r=new Array(i);for(var o=0;o<e.length;o++)for(var a=0;a<t;a++)r[o*t+a]=e[o][a]||0}return A?Object(p.d)(r,{size:t,gridResolution:A}):n?Object(p.e)(r,{size:t}):r}(e,this.positionSize,this.opts.resolution,this.opts.wrapLongitude):e}},{key:"get",value:function(e){return this.attributes[e]}},{key:"getGeometrySize",value:function(e){if(Array.isArray(e[0])){var t,A=0,n=Object(d.a)(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;A+=this.getGeometrySize(r)}}catch(o){n.e(o)}finally{n.f()}return A}var i=this.getPathLength(e);return i<2?0:this.isClosed(e)?i<3?0:i+2:i}},{key:"updateGeometryAttributes",value:function(e,t){if(0!==t.geometrySize)if(e&&Array.isArray(e[0])){var A,n=Object(d.a)(e);try{for(n.s();!(A=n.n()).done;){var r=A.value,i=this.getGeometrySize(r);t.geometrySize=i,this.updateGeometryAttributes(r,t),t.vertexStart+=i}}catch(o){n.e(o)}finally{n.f()}}else this._updateSegmentTypes(e,t),this._updatePositions(e,t)}},{key:"_updateSegmentTypes",value:function(e,t){var A=this.attributes.segmentTypes,n=this.isClosed(e),r=t.vertexStart,i=t.geometrySize;A.fill(0,r,r+i),n?(A[r]=4,A[r+i-2]=4):(A[r]+=1,A[r+i-2]+=2),A[r+i-1]=4}},{key:"_updatePositions",value:function(e,t){var A=this.attributes.positions;if(A)for(var n=t.vertexStart,r=t.geometrySize,i=new Array(3),o=n,a=0;a<r;o++,a++)this.getPointOnPath(e,a,i),A[3*o]=i[0],A[3*o+1]=i[1],A[3*o+2]=i[2]}},{key:"getPathLength",value:function(e){return e.length/this.positionSize}},{key:"getPointOnPath",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=this.positionSize;t*n>=e.length&&(t+=1-e.length/n);var r=t*n;return A[0]=e[r],A[1]=e[r+1],A[2]=3===n&&e[r+2]||0,A}},{key:"isClosed",value:function(e){if(!this.normalize)return this.opts.loop;var t=this.positionSize,A=e.length-t;return e[0]===e[A]&&e[1]===e[A+1]&&(2===t||e[2]===e[A+2])}}]),A}(B.a);A.d(t,"a",(function(){return m}));var Q=[0,0,0,255],y={widthUnits:"meters",widthScale:{type:"number",min:0,value:1},widthMinPixels:{type:"number",min:0,value:0},widthMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},jointRounded:!1,capRounded:!1,miterLimit:{type:"number",min:0,value:4},billboard:!1,_pathType:null,getPath:{type:"accessor",value:function(e){return e.path}},getColor:{type:"accessor",value:Q},getWidth:{type:"accessor",value:1},rounded:{deprecatedFor:["jointRounded","capRounded"]}},v={enter:function(e,t){return t.length?t.subarray(t.length-e.length):e}},m=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"getShaders",value:function(){return Object(a.a)(Object(o.a)(A.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME path-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute float instanceTypes;\nattribute vec3 instanceStartPositions;\nattribute vec3 instanceEndPositions;\nattribute vec3 instanceLeftPositions;\nattribute vec3 instanceRightPositions;\nattribute vec3 instanceLeftPositions64Low;\nattribute vec3 instanceStartPositions64Low;\nattribute vec3 instanceEndPositions64Low;\nattribute vec3 instanceRightPositions64Low;\nattribute float instanceStrokeWidths;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\n\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float jointType;\nuniform float capType;\nuniform float miterLimit;\nuniform bool billboard;\nuniform int widthUnits;\n\nuniform float opacity;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nconst float EPSILON = 0.001;\nconst vec3 ZERO_OFFSET = vec3(0.0);\n\nfloat flipIfTrue(bool flag) {\n return -(float(flag) * 2. - 1.);\n}\nvec3 lineJoin(\n vec3 prevPoint, vec3 currPoint, vec3 nextPoint,\n vec2 width\n) {\n bool isEnd = positions.x > 0.0;\n float sideOfPath = positions.y;\n float isJoint = float(sideOfPath == 0.0);\n\n vec3 deltaA3 = (currPoint - prevPoint);\n vec3 deltaB3 = (nextPoint - currPoint);\n\n mat3 rotationMatrix;\n bool needsRotation = !billboard && project_needs_rotation(currPoint, rotationMatrix);\n if (needsRotation) {\n deltaA3 = deltaA3 * rotationMatrix;\n deltaB3 = deltaB3 * rotationMatrix;\n }\n vec2 deltaA = deltaA3.xy / width;\n vec2 deltaB = deltaB3.xy / width;\n\n float lenA = length(deltaA);\n float lenB = length(deltaB);\n\n vec2 dirA = lenA > 0. ? normalize(deltaA) : vec2(0.0, 0.0);\n vec2 dirB = lenB > 0. ? normalize(deltaB) : vec2(0.0, 0.0);\n\n vec2 perpA = vec2(-dirA.y, dirA.x);\n vec2 perpB = vec2(-dirB.y, dirB.x);\n vec2 tangent = dirA + dirB;\n tangent = length(tangent) > 0. ? normalize(tangent) : perpA;\n vec2 miterVec = vec2(-tangent.y, tangent.x);\n vec2 dir = isEnd ? dirA : dirB;\n vec2 perp = isEnd ? perpA : perpB;\n float L = isEnd ? lenA : lenB;\n float sinHalfA = abs(dot(miterVec, perp));\n float cosHalfA = abs(dot(dirA, miterVec));\n float turnDirection = flipIfTrue(dirA.x * dirB.y >= dirA.y * dirB.x);\n float cornerPosition = sideOfPath * turnDirection;\n\n float miterSize = 1.0 / max(sinHalfA, EPSILON);\n miterSize = mix(\n min(miterSize, max(lenA, lenB) / max(cosHalfA, EPSILON)),\n miterSize,\n step(0.0, cornerPosition)\n );\n\n vec2 offsetVec = mix(miterVec * miterSize, perp, step(0.5, cornerPosition))\n * (sideOfPath + isJoint * turnDirection);\n bool isStartCap = lenA == 0.0 || (!isEnd && (instanceTypes == 1.0 || instanceTypes == 3.0));\n bool isEndCap = lenB == 0.0 || (isEnd && (instanceTypes == 2.0 || instanceTypes == 3.0));\n bool isCap = isStartCap || isEndCap;\n if (isCap) {\n offsetVec = mix(perp * sideOfPath, dir * capType * 4.0 * flipIfTrue(isStartCap), isJoint);\n vJointType = capType;\n } else {\n vJointType = jointType;\n }\n vPathLength = L;\n vCornerOffset = offsetVec;\n vMiterLength = dot(vCornerOffset, miterVec * turnDirection);\n vMiterLength = isCap ? isJoint : vMiterLength;\n\n vec2 offsetFromStartOfPath = vCornerOffset + deltaA * float(isEnd);\n vPathPosition = vec2(\n dot(offsetFromStartOfPath, perp),\n dot(offsetFromStartOfPath, dir)\n );\n geometry.uv = vPathPosition;\n\n float isValid = step(instanceTypes, 3.5);\n vec3 offset = vec3(offsetVec * width * isValid, 0.0);\n\n if (needsRotation) {\n offset = rotationMatrix * offset;\n }\n return currPoint + offset;\n}\nvoid clipLine(inout vec4 position, vec4 refPosition) {\n if (position.w < EPSILON) {\n float r = (EPSILON - refPosition.w) / (position.w - refPosition.w);\n position = refPosition + (position - refPosition) * r;\n }\n}\n\nvoid main() {\n geometry.pickingColor = instancePickingColors;\n\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n\n float isEnd = positions.x;\n\n vec3 prevPosition = mix(instanceLeftPositions, instanceStartPositions, isEnd);\n vec3 prevPosition64Low = mix(instanceLeftPositions64Low, instanceStartPositions64Low, isEnd);\n\n vec3 currPosition = mix(instanceStartPositions, instanceEndPositions, isEnd);\n vec3 currPosition64Low = mix(instanceStartPositions64Low, instanceEndPositions64Low, isEnd);\n\n vec3 nextPosition = mix(instanceEndPositions, instanceRightPositions, isEnd);\n vec3 nextPosition64Low = mix(instanceEndPositions64Low, instanceRightPositions64Low, isEnd);\n\n geometry.worldPosition = currPosition;\n vec2 widthPixels = vec2(clamp(\n project_size_to_pixel(instanceStrokeWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels) / 2.0);\n vec3 width;\n\n if (billboard) {\n vec4 prevPositionScreen = project_position_to_clipspace(prevPosition, prevPosition64Low, ZERO_OFFSET);\n vec4 currPositionScreen = project_position_to_clipspace(currPosition, currPosition64Low, ZERO_OFFSET, geometry.position);\n vec4 nextPositionScreen = project_position_to_clipspace(nextPosition, nextPosition64Low, ZERO_OFFSET);\n\n clipLine(prevPositionScreen, currPositionScreen);\n clipLine(nextPositionScreen, currPositionScreen);\n clipLine(currPositionScreen, mix(nextPositionScreen, prevPositionScreen, isEnd));\n\n width = vec3(widthPixels, 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 pos = lineJoin(\n prevPositionScreen.xyz / prevPositionScreen.w,\n currPositionScreen.xyz / currPositionScreen.w,\n nextPositionScreen.xyz / nextPositionScreen.w,\n project_pixel_size_to_clipspace(width.xy)\n );\n\n gl_Position = vec4(pos * currPositionScreen.w, currPositionScreen.w);\n } else {\n prevPosition = project_position(prevPosition, prevPosition64Low);\n currPosition = project_position(currPosition, currPosition64Low);\n nextPosition = project_position(nextPosition, nextPosition64Low);\n\n width = vec3(project_pixel_size(widthPixels), 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec4 pos = vec4(\n lineJoin(prevPosition, currPosition, nextPosition, width.xy),\n 1.0);\n geometry.position = pos;\n gl_Position = project_common_position_to_clipspace(pos);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#define SHADER_NAME path-layer-fragment-shader\n\nprecision highp float;\n\nuniform float miterLimit;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nvoid main(void) {\n geometry.uv = vPathPosition;\n\n if (vPathPosition.y < 0.0 || vPathPosition.y > vPathLength) {\n if (vJointType > 0.5 && length(vCornerOffset) > 1.0) {\n discard;\n }\n if (vJointType < 0.5 && vMiterLength > miterLimit + 1.0) {\n discard;\n }\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[c.a,u.a]})}},{key:"initializeState",value:function(){var e=this;this.getAttributeManager().addInstanced({positions:{size:3,vertexOffset:1,type:5130,fp64:this.use64bitPositions(),transition:v,accessor:"getPath",update:this.calculatePositions,noAlloc:!0,shaderAttributes:{instanceLeftPositions:{vertexOffset:0},instanceStartPositions:{vertexOffset:1},instanceEndPositions:{vertexOffset:2},instanceRightPositions:{vertexOffset:3}}},instanceTypes:{size:1,type:5121,update:this.calculateSegmentTypes,noAlloc:!0},instanceStrokeWidths:{size:1,accessor:"getWidth",transition:v,defaultValue:1},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,accessor:"getColor",transition:v,defaultValue:Q},instancePickingColors:{size:3,type:5121,accessor:function(t,A){var n=A.index,r=A.target;return e.encodePickingColor(t&&t.__source?t.__source.index:n,r)}}}),this.setState({pathTesselator:new E({fp64:this.use64bitPositions()})}),this.props.getDashArray&&!this.props.extensions.length&&l.a.removed("getDashArray","PathStyleExtension")()}},{key:"updateState",value:function(e){var t=e.oldProps,n=e.props,r=e.changeFlags;Object(a.a)(Object(o.a)(A.prototype),"updateState",this).call(this,{props:n,oldProps:t,changeFlags:r});var i=this.getAttributeManager();if(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getPath)){var s=this.state.pathTesselator,g=n.data.attributes||{};s.updateGeometry({data:n.data,geometryBuffer:g.getPath,buffers:g,normalize:!n._pathType,loop:"loop"===n._pathType,getGeometry:n.getPath,positionFormat:n.positionFormat,wrapLongitude:n.wrapLongitude,resolution:this.context.viewport.resolution,dataChanged:r.dataChanged}),this.setState({numInstances:s.instanceCount,startIndices:s.vertexStarts}),r.dataChanged||i.invalidateAll()}if(r.extensionsChanged){var c,u=this.context.gl;null===(c=this.state.model)||void 0===c||c.delete(),this.state.model=this._getModel(u),i.invalidateAll()}}},{key:"getPickingInfo",value:function(e){var t=Object(a.a)(Object(o.a)(A.prototype),"getPickingInfo",this).call(this,e),n=t.index,r=this.props.data;return r[0]&&r[0].__source&&(t.object=r.find((function(e){return e.__source.index===n}))),t}},{key:"disablePickingIndex",value:function(e){var t=this.props.data;if(t[0]&&t[0].__source)for(var A=0;A<t.length;A++)t[A].__source.index===e&&this._disablePickingIndex(A);else this._disablePickingIndex(e)}},{key:"draw",value:function(e){var t=e.uniforms,A=this.props,n=A.jointRounded,r=A.capRounded,i=A.billboard,o=A.miterLimit,a=A.widthUnits,s=A.widthScale,g=A.widthMinPixels,c=A.widthMaxPixels;this.state.model.setUniforms(t).setUniforms({jointType:Number(n),capType:Number(r),billboard:i,widthUnits:I.d[a],widthScale:s,miterLimit:o,widthMinPixels:g,widthMaxPixels:c}).draw()}},{key:"_getModel",value:function(e){return new h.a(e,Object(n.a)({},this.getShaders(),{id:this.props.id,geometry:new f.a({drawMode:4,attributes:{indices:new Uint16Array([0,1,2,1,4,2,1,3,4,3,5,4]),positions:{value:new Float32Array([0,0,0,-1,0,1,1,-1,1,1,1,0]),size:2}}}),isInstanced:!0}))}},{key:"calculatePositions",value:function(e){var t=this.state.pathTesselator;e.startIndices=t.vertexStarts,e.value=t.get("positions")}},{key:"calculateSegmentTypes",value:function(e){var t=this.state.pathTesselator;e.startIndices=t.vertexStarts,e.value=t.get("segmentTypes")}},{key:"wrapLongitude",get:function(){return!1}}]),A}(C.a);m.layerName="PathLayer",m.defaultProps=y},function(e,t,A){"use strict";var n,r=A(7),i=A(1),o=A(4),a=A(16),s=A(17),g=A(9),c=A(10),u=A(575),l=A(576),I=A(36),C=A(41),h=A(384),f=A(422),d=A(135),B=A(6),p=A(2),E=A(663),Q=A(530),y=A(232),v=A(1286),m=A(1283),b=A(116),w=function(){},S=(n={},Object(p.a)(n,10241,9987),Object(p.a)(n,10240,9729),Object(p.a)(n,10242,33071),Object(p.a)(n,10243,33071),n);function F(e){return e&&(e.id||e.url)}function R(e,t,A){for(var n=0;n<t.length;n++){var i=t[n],o=i.icon,a=i.xOffset;e[F(o)]=Object(r.a)({},o,{x:a,y:A})}}var D=function(){function e(t,A){var n=A.onUpdate,r=void 0===n?w:n,o=A.onError,a=void 0===o?w:o;Object(i.a)(this,e),this.gl=t,this.onUpdate=r,this.onError=a,this._loadOptions=null,this._getIcon=null,this._texture=null,this._externalTexture=null,this._mapping={},this._pendingCount=0,this._autoPacking=!1,this._xOffset=0,this._yOffset=0,this._rowHeight=0,this._buffer=4,this._canvasWidth=1024,this._canvasHeight=0,this._canvas=null}return Object(o.a)(e,[{key:"finalize",value:function(){var e;null===(e=this._texture)||void 0===e||e.delete()}},{key:"getTexture",value:function(){return this._texture||this._externalTexture}},{key:"getIconMapping",value:function(e){var t=this._autoPacking?F(e):e;return this._mapping[t]||{}}},{key:"setProps",value:function(e){var t=e.loadOptions,A=e.autoPacking,n=e.iconAtlas,r=e.iconMapping,i=e.data,o=e.getIcon;t&&(this._loadOptions=t),void 0!==A&&(this._autoPacking=A),o&&(this._getIcon=o),r&&(this._mapping=r),n&&this._updateIconAtlas(n),this._autoPacking&&(i||o)&&"undefined"!==typeof document&&(this._canvas=this._canvas||document.createElement("canvas"),this._updateAutoPacking(i))}},{key:"_updateIconAtlas",value:function(e){var t;null===(t=this._texture)||void 0===t||t.delete(),this._texture=null,this._externalTexture=e,this.onUpdate()}},{key:"_updateAutoPacking",value:function(e){var t=Object.values(function(e,t,A){if(!e||!t)return null;A=A||{};var n,i={},o=Object(b.a)(e),a=o.iterable,s=o.objectInfo,g=Object(B.a)(a);try{for(g.s();!(n=g.n()).done;){var c=n.value;s.index++;var u=t(c,s),l=F(u);if(!u)throw new Error("Icon is missing.");if(!u.url)throw new Error("Icon url is missing.");i[l]||A[l]&&u.url===A[l].url||(i[l]=Object(r.a)({},u,{source:c,sourceIndex:s.index}))}}catch(I){g.e(I)}finally{g.f()}return i}(e,this._getIcon,this._mapping)||{});if(t.length>0){var A=function(e){for(var t,A=e.icons,n=e.buffer,r=e.mapping,i=void 0===r?{}:r,o=e.xOffset,a=void 0===o?0:o,s=e.yOffset,g=void 0===s?0:s,c=e.rowHeight,u=void 0===c?0:c,l=e.canvasWidth,I=[],C=0;C<A.length;C++){var h=A[C];if(!i[F(h)]){var f=h.height,d=h.width;a+d+n>l&&(R(i,I,g),a=0,g=u+g+n,u=0,I=[]),I.push({icon:h,xOffset:a}),a=a+d+n,u=Math.max(u,f)}}return I.length>0&&R(i,I,g),{mapping:i,rowHeight:u,xOffset:a,yOffset:g,canvasWidth:l,canvasHeight:(t=u+g+n,Math.pow(2,Math.ceil(Math.log2(t))))}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset}),n=A.mapping,i=A.xOffset,o=A.yOffset,a=A.rowHeight,s=A.canvasHeight;this._rowHeight=a,this._mapping=n,this._xOffset=i,this._yOffset=o,this._canvasHeight=s,this._texture||(this._texture=new y.a(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:S})),this._texture.height!==this._canvasHeight&&(this._texture=function(e,t,A,n){var r=t.width,i=t.height,o=Object(E.a)(t,{width:A,height:n});return Object(Q.b)(t,o,{targetY:0,width:r,height:i}),t.delete(),o}(this.gl,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}},{key:"_loadIcons",value:function(e){var t,A=this,n=this._canvas.getContext("2d"),r=Object(B.a)(e);try{var i=function(){var e=t.value;A._pendingCount++,Object(m.a)(e.url,v.a,A._loadOptions).then((function(t){var r=F(e),i=A._mapping[r],o=i.x,a=i.y,s=i.width,g=i.height,c=function(e,t,A,n){return A===t.width&&n===t.height?t:(e.canvas.height=n,e.canvas.width=A,e.clearRect(0,0,e.canvas.width,e.canvas.height),e.drawImage(t,0,0,t.width,t.height,0,0,A,n),e.canvas)}(n,t,s,g);A._texture.setSubImageData({data:c,x:o,y:a,width:s,height:g}),A._texture.generateMipmap(),A.onUpdate()})).catch((function(t){A.onError({url:e.url,source:e.source,sourceIndex:e.sourceIndex,loadOptions:A._loadOptions,error:t})})).finally((function(){A._pendingCount--}))};for(r.s();!(t=r.n()).done;)i()}catch(o){r.e(o)}finally{r.f()}}},{key:"isLoaded",get:function(){return 0===this._pendingCount}}]),e}();A.d(t,"a",(function(){return x}));var G=[0,0,0,255],k={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:function(e){return e.position}},getIcon:{type:"accessor",value:function(e){return e.icon}},getColor:{type:"accessor",value:G},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}},x=function(e){Object(g.a)(A,e);var t=Object(c.a)(A);function A(){return Object(i.a)(this,A),t.apply(this,arguments)}return Object(o.a)(A,[{key:"getShaders",value:function(){return Object(s.a)(Object(a.a)(A.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\nuniform int sizeUnits;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[u.a,l.a]})}},{key:"initializeState",value:function(){this.state={iconManager:new D(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:G},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}},{key:"updateState",value:function(e){var t=e.oldProps,n=e.props,r=e.changeFlags;Object(s.a)(Object(a.a)(A.prototype),"updateState",this).call(this,{props:n,oldProps:t,changeFlags:r});var i=this.getAttributeManager(),o=n.iconAtlas,g=n.iconMapping,c=n.data,u=n.getIcon,l=this.state.iconManager;l.setProps({loadOptions:n.loadOptions});var I=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==n.iconAtlas&&l.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==n.iconMapping&&(l.setProps({iconMapping:g}),I=!0)):l.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&l.setProps({data:c,getIcon:u}),I&&(i.invalidate("instanceOffsets"),i.invalidate("instanceIconFrames"),i.invalidate("instanceColorModes")),r.extensionsChanged){var C,h=this.context.gl;null===(C=this.state.model)||void 0===C||C.delete(),this.state.model=this._getModel(h),i.invalidateAll()}}},{key:"finalizeState",value:function(){Object(s.a)(Object(a.a)(A.prototype),"finalizeState",this).call(this),this.state.iconManager.finalize()}},{key:"draw",value:function(e){var t=e.uniforms,A=this.props,n=A.sizeScale,r=A.sizeMinPixels,i=A.sizeMaxPixels,o=A.sizeUnits,a=A.billboard,s=A.alphaCutoff,g=this.state.iconManager.getTexture();g&&this.state.model.setUniforms(t).setUniforms({iconsTexture:g,iconsTextureDim:[g.width,g.height],sizeUnits:I.d[o],sizeScale:n,sizeMinPixels:r,sizeMaxPixels:i,billboard:a,alphaCutoff:s}).draw()}},{key:"_getModel",value:function(e){return new f.a(e,Object(r.a)({},this.getShaders(),{id:this.props.id,geometry:new d.a({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}},{key:"_onUpdate",value:function(){this.setNeedsRedraw()}},{key:"_onError",value:function(e){var t=this.getCurrentLayer().props.onIconError;t?t(e):C.a.error(e.error)()}},{key:"getInstanceOffset",value:function(e){var t=this.state.iconManager.getIconMapping(e);return[t.width/2-t.anchorX||0,t.height/2-t.anchorY||0]}},{key:"getInstanceColorMode",value:function(e){return this.state.iconManager.getIconMapping(e).mask?1:0}},{key:"getInstanceIconFrame",value:function(e){var t=this.state.iconManager.getIconMapping(e);return[t.x||0,t.y||0,t.width||0,t.height||0]}},{key:"isLoaded",get:function(){return Object(s.a)(Object(a.a)(A.prototype),"isLoaded",this)&&this.state.iconManager.isLoaded}}]),A}(h.a);x.layerName="IconLayer",x.defaultProps=k},function(e,t,A){"use strict";A.r(t);function n(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function r(e,t,A){if(void 0===A&&(A={}),!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!i(e[0])||!i(e[1]))throw new Error("coordinates must contain numbers");return n({type:"Point",coordinates:e},t,A)}function i(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)}function o(e,t,A){if(null!==e)for(var n,r,i,a,s,g,c,u,l=0,I=0,C=e.type,h="FeatureCollection"===C,f="Feature"===C,d=h?e.features.length:1,B=0;B<d;B++){s=(u=!!(c=h?e.features[B].geometry:f?e.geometry:e)&&"GeometryCollection"===c.type)?c.geometries.length:1;for(var p=0;p<s;p++){var E=0,Q=0;if(null!==(a=u?c.geometries[p]:c)){g=a.coordinates;var y=a.type;switch(l=!A||"Polygon"!==y&&"MultiPolygon"!==y?0:1,y){case null:break;case"Point":if(!1===t(g,I,B,E,Q))return!1;I++,E++;break;case"LineString":case"MultiPoint":for(n=0;n<g.length;n++){if(!1===t(g[n],I,B,E,Q))return!1;I++,"MultiPoint"===y&&E++}"LineString"===y&&E++;break;case"Polygon":case"MultiLineString":for(n=0;n<g.length;n++){for(r=0;r<g[n].length-l;r++){if(!1===t(g[n][r],I,B,E,Q))return!1;I++}"MultiLineString"===y&&E++,"Polygon"===y&&Q++}"Polygon"===y&&E++;break;case"MultiPolygon":for(n=0;n<g.length;n++){for(Q=0,r=0;r<g[n].length;r++){for(i=0;i<g[n][r].length-l;i++){if(!1===t(g[n][r][i],I,B,E,Q))return!1;I++}Q++}E++}break;case"GeometryCollection":for(n=0;n<a.geometries.length;n++)if(!1===o(a.geometries[n],t,A))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function a(e){var t=[1/0,1/0,-1/0,-1/0];return o(e,(function(e){t[0]>e[0]&&(t[0]=e[0]),t[1]>e[1]&&(t[1]=e[1]),t[2]<e[0]&&(t[2]=e[0]),t[3]<e[1]&&(t[3]=e[1])})),t}a.default=a;var s=a;t.default=function(e,t){void 0===t&&(t={});var A=s(e);return r([(A[0]+A[2])/2,(A[1]+A[3])/2],t.properties,t)}},function(e,t,A){"use strict";function n(e,t){return(n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";e.exports=function(e,t){t||(t={}),"function"===typeof t&&(t={cmp:t});var A,n="boolean"===typeof t.cycles&&t.cycles,r=t.cmp&&(A=t.cmp,function(e){return function(t,n){var r={key:t,value:e[t]},i={key:n,value:e[n]};return A(r,i)}}),i=[];return function e(t){if(t&&t.toJSON&&"function"===typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!==typeof t)return JSON.stringify(t);var A,o;if(Array.isArray(t)){for(o="[",A=0;A<t.length;A++)A&&(o+=","),o+=e(t[A])||"null";return o+"]"}if(null===t)return"null";if(-1!==i.indexOf(t)){if(n)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var a=i.push(t)-1,s=Object.keys(t).sort(r&&r(t));for(o="",A=0;A<s.length;A++){var g=s[A],c=e(t[g]);c&&(o&&(o+=","),o+=JSON.stringify(g)+":"+c)}return i.splice(a,1),"{"+o+"}"}}(e)}},function(e,t,A){"use strict";A.d(t,"a",(function(){return c}));var n=A(1),r=A(4),i=A(9),o=A(10),a=A(206),s=A(33),g=A(97),c=function(e){Object(i.a)(A,e);var t=Object(o.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(r.a)(A,[{key:"copy",value:function(e){return Object(g.a)(!1),this}},{key:"len",value:function(){return Math.sqrt(this.lengthSquared())}},{key:"magnitude",value:function(){return this.len()}},{key:"lengthSquared",value:function(){for(var e=0,t=0;t<this.ELEMENTS;++t)e+=this[t]*this[t];return e}},{key:"magnitudeSquared",value:function(){return this.lengthSquared()}},{key:"distance",value:function(e){return Math.sqrt(this.distanceSquared(e))}},{key:"distanceSquared",value:function(e){for(var t=0,A=0;A<this.ELEMENTS;++A){var n=this[A]-e[A];t+=n*n}return Object(s.a)(t)}},{key:"dot",value:function(e){for(var t=0,A=0;A<this.ELEMENTS;++A)t+=this[A]*e[A];return Object(s.a)(t)}},{key:"normalize",value:function(){var e=this.magnitude();if(0!==e)for(var t=0;t<this.ELEMENTS;++t)this[t]/=e;return this.check()}},{key:"multiply",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]*=i[o];return this.check()}},{key:"divide",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]/=i[o];return this.check()}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"distanceTo",value:function(e){return this.distance(e)}},{key:"distanceToSquared",value:function(e){return this.distanceSquared(e)}},{key:"getComponent",value:function(e){return Object(g.a)(e>=0&&e<this.ELEMENTS,"index is out of range"),Object(s.a)(this[e])}},{key:"setComponent",value:function(e,t){return Object(g.a)(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=t,this.check()}},{key:"addVectors",value:function(e,t){return this.copy(e).add(t)}},{key:"subVectors",value:function(e,t){return this.copy(e).subtract(t)}},{key:"multiplyVectors",value:function(e,t){return this.copy(e).multiply(t)}},{key:"addScaledVector",value:function(e,t){return this.add(new this.constructor(e).multiplyScalar(t))}},{key:"ELEMENTS",get:function(){return Object(g.a)(!1),0}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=Object(s.a)(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=Object(s.a)(e)}}]),A}(a.a)},function(e,t,A){"use strict";A.d(t,"a",(function(){return I})),A.d(t,"b",(function(){return C}));var n=A(27),r=A(56),i=A(36),o=A(173),a=[0,0,0,0],s=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],g=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],c=[0,0,0],u=[0,0,0],l=Object(o.a)((function(e){var t=e.viewport,A=e.devicePixelRatio,o=e.coordinateSystem,g=e.coordinateOrigin,u=function(e,t,A){var i=e.viewMatrixUncentered,o=e.projectionMatrix,g=e.viewMatrix,c=e.viewProjectionMatrix,u=a,l=a,C=e.cameraPosition,h=I(e,t,A),f=h.geospatialOrigin,d=h.shaderCoordinateOrigin;h.offsetMode&&(l=e.projectPosition(f||d),C=[C[0]-l[0],C[1]-l[1],C[2]-l[2]],l[3]=1,u=r.n([],l,c),g=i||g,c=n.g([],o,g),c=n.g([],c,s));return{viewMatrix:g,viewProjectionMatrix:c,projectionCenter:u,originCommon:l,cameraPosCommon:C,shaderCoordinateOrigin:d,geospatialOrigin:f}}(t,o,g),l=u.projectionCenter,C=u.viewProjectionMatrix,h=u.originCommon,f=u.cameraPosCommon,d=u.shaderCoordinateOrigin,B=u.geospatialOrigin,p=t.getDistanceScales(),E=[t.width*A,t.height*A],Q=t.projectionMatrix.transform([0,0,-t.focalDistance,1])[3]||1,y={project_uCoordinateSystem:o,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:d,project_uCommonOrigin:h.slice(0,3),project_uCenter:l,project_uPseudoMeters:Boolean(t._pseudoMeters),project_uViewportSize:E,project_uDevicePixelRatio:A,project_uFocalDistance:Q,project_uCommonUnitsPerMeter:p.unitsPerMeter,project_uCommonUnitsPerWorldUnit:p.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:c,project_uScale:t.scale,project_uViewProjectionMatrix:C,project_uCameraPosition:f};if(B){var v=t.getDistanceScales(B);switch(o){case i.a.METER_OFFSETS:y.project_uCommonUnitsPerWorldUnit=v.unitsPerMeter,y.project_uCommonUnitsPerWorldUnit2=v.unitsPerMeter2;break;case i.a.LNGLAT:case i.a.LNGLAT_OFFSETS:t._pseudoMeters||(y.project_uCommonUnitsPerMeter=v.unitsPerMeter),y.project_uCommonUnitsPerWorldUnit=v.unitsPerDegree,y.project_uCommonUnitsPerWorldUnit2=v.unitsPerDegree2;break;case i.a.CARTESIAN:y.project_uCommonUnitsPerWorldUnit=[1,1,v.unitsPerMeter[2]],y.project_uCommonUnitsPerWorldUnit2=[0,0,v.unitsPerMeter2[2]]}}return y}));function I(e,t){var A,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u,r=n,o=!0;switch(A=t===i.a.LNGLAT_OFFSETS||t===i.a.METER_OFFSETS?n:e.isGeospatial?[Math.fround(e.longitude),Math.fround(e.latitude),0]:null,e.projectionMode){case i.c.WEB_MERCATOR:t!==i.a.LNGLAT&&t!==i.a.CARTESIAN||(A=[0,0,0],o=!1);break;case i.c.WEB_MERCATOR_AUTO_OFFSET:t===i.a.LNGLAT?r=A:t===i.a.CARTESIAN&&(r=[Math.fround(e.center[0]),Math.fround(e.center[1]),0],A=e.unprojectPosition(r),r[0]-=n[0],r[1]-=n[1],r[2]-=n[2]);break;case i.c.IDENTITY:r=e.position.map(Math.fround);break;case i.c.GLOBE:o=!1,A=null;break;default:o=!1}return r[2]=r[2]||0,{geospatialOrigin:A,shaderCoordinateOrigin:r,offsetMode:o}}function C(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.viewport,A=e.devicePixelRatio,n=void 0===A?1:A,r=e.modelMatrix,o=void 0===r?null:r,a=e.coordinateSystem,s=void 0===a?i.a.DEFAULT:a,c=e.coordinateOrigin,u=e.autoWrapLongitude,I=void 0!==u&&u;s===i.a.DEFAULT&&(s=t.isGeospatial?i.a.LNGLAT:i.a.CARTESIAN);var C=l({viewport:t,devicePixelRatio:n,coordinateSystem:s,coordinateOrigin:c});return C.project_uWrapLongitude=I,C.project_uModelMatrix=o||g,C}},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n=A(1),r=A(4),i=function(){function e(t){Object(n.a)(this,e),this._viewportProps=this._applyConstraints(t)}return Object(r.a)(e,[{key:"getViewportProps",value:function(){return this._viewportProps}},{key:"getState",value:function(){return this._state}},{key:"shortestPathFrom",value:function(e){return this._viewportProps}},{key:"_applyConstraints",value:function(e){return e}}]),e}()},function(e,t,A){"use strict";var n=A(11),r=A(6),i=A(8),o=A(36),a=A(223),s=A(23),g=A(173),c=A(42),u=Object(g.a)((function(e){var t=e.viewport,A=e.center;return new s.Matrix4(t.viewProjectionMatrix).invert().transform(A)})),l=Object(g.a)((function(e){var t,A=e.viewport,o=e.shadowMatrices,a=[],g=A.pixelUnprojectionMatrix,u=A.isGeospatial?void 0:1,l=[[0,0,u],[A.width,0,u],[0,A.height,u],[A.width,A.height,u],[0,0,-1],[A.width,0,-1],[0,A.height,-1],[A.width,A.height,-1]].map((function(e){return function(e,t){var A=Object(i.a)(e,3),n=A[0],r=A[1],o=A[2],a=Object(c.p)([n,r,o],t);if(Number.isFinite(o))return a;return[a[0],a[1],0]}(e,g)})),I=Object(r.a)(o);try{var C=function(){var e=t.value,r=e.clone().translate(new s.Vector3(A.center).negate()),i=l.map((function(e){return r.transform(e)})),o=(new s.Matrix4).ortho({left:Math.min.apply(Math,Object(n.a)(i.map((function(e){return e[0]})))),right:Math.max.apply(Math,Object(n.a)(i.map((function(e){return e[0]})))),bottom:Math.min.apply(Math,Object(n.a)(i.map((function(e){return e[1]})))),top:Math.max.apply(Math,Object(n.a)(i.map((function(e){return e[1]})))),near:Math.min.apply(Math,Object(n.a)(i.map((function(e){return-e[2]})))),far:Math.max.apply(Math,Object(n.a)(i.map((function(e){return-e[2]}))))});a.push(o.multiplyRight(e))};for(I.s();!(t=I.n()).done;)C()}catch(h){I.e(h)}finally{I.f()}return a})),I=[0,0,0,1],C=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];function h(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A={shadow_uDrawShadowMap:Boolean(e.drawToShadowMap),shadow_uUseShadowMap:!!e.shadowMaps&&e.shadowMaps.length>0,shadow_uColor:e.shadowColor||I,shadow_uLightId:e.shadowLightId||0,shadow_uLightCount:e.shadowMatrices.length},n=u({viewport:e.viewport,center:t.project_uCenter}),r=[],i=l({shadowMatrices:e.shadowMatrices,viewport:e.viewport}).slice(),a=0;a<e.shadowMatrices.length;a++){var g=i[a],c=g.clone().translate(new s.Vector3(e.viewport.center).negate());t.project_uCoordinateSystem===o.a.LNGLAT&&t.project_uProjectionMode===o.c.WEB_MERCATOR?(i[a]=c,r[a]=n):(i[a]=g.clone().multiplyRight(C),r[a]=c.transform(n))}for(var h=0;h<i.length;h++)A["shadow_uViewProjectionMatrices[".concat(h,"]")]=i[h],A["shadow_uProjectCenters[".concat(h,"]")]=r[h],e.shadowMaps&&e.shadowMaps.length>0?A["shadow_uShadowMap".concat(h)]=e.shadowMaps[h]:A["shadow_uShadowMap".concat(h)]=e.dummyShadowMap;return A}t.a={name:"shadow",dependencies:[a.a],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.drawToShadowMap||e.shadowMaps&&e.shadowMaps.length>0){var A=e.shadowEnabled,n=void 0===A||A;return n&&e.shadowMatrices&&e.shadowMatrices.length>0?h(e,t):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}}},function(e,t,A){var n;!function(r){"use strict";var i,o,a,s=9e15,g="0123456789abcdef",c="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",u="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",l={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-s,maxE:s,crypto:!1},I=!0,C="[DecimalError] Invalid argument: ",h=Math.floor,f=Math.pow,d=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,B=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,p=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,E=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Q=1e7,y=c.length-1,v=u.length-1,m={name:"[object Decimal]"};function b(e){var t,A,n,r=e.length-1,i="",o=e[0];if(r>0){for(i+=o,t=1;t<r;t++)(A=7-(n=e[t]+"").length)&&(i+=_(A)),i+=n;(A=7-(n=(o=e[t])+"").length)&&(i+=_(A))}else if(0===o)return"0";for(;o%10===0;)o/=10;return i+o}function w(e,t,A){if(e!==~~e||e<t||e>A)throw Error(C+e)}function S(e,t,A,n){var r,i,o,a;for(i=e[0];i>=10;i/=10)--t;return--t<0?(t+=7,r=0):(r=Math.ceil((t+1)/7),t%=7),i=f(10,7-t),a=e[r]%i|0,null==n?t<3?(0==t?a=a/100|0:1==t&&(a=a/10|0),o=A<4&&99999==a||A>3&&49999==a||5e4==a||0==a):o=(A<4&&a+1==i||A>3&&a+1==i/2)&&(e[r+1]/i/100|0)==f(10,t-2)-1||(a==i/2||0==a)&&0==(e[r+1]/i/100|0):t<4?(0==t?a=a/1e3|0:1==t?a=a/100|0:2==t&&(a=a/10|0),o=(n||A<4)&&9999==a||!n&&A>3&&4999==a):o=((n||A<4)&&a+1==i||!n&&A>3&&a+1==i/2)&&(e[r+1]/i/1e3|0)==f(10,t-3)-1,o}function F(e,t,A){for(var n,r,i=[0],o=0,a=e.length;o<a;){for(r=i.length;r--;)i[r]*=t;for(i[0]+=g.indexOf(e.charAt(o++)),n=0;n<i.length;n++)i[n]>A-1&&(void 0===i[n+1]&&(i[n+1]=0),i[n+1]+=i[n]/A|0,i[n]%=A)}return i.reverse()}m.absoluteValue=m.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),D(e)},m.ceil=function(){return D(new this.constructor(this),this.e+1,2)},m.comparedTo=m.cmp=function(e){var t,A,n,r,i=this,o=i.d,a=(e=new i.constructor(e)).d,s=i.s,g=e.s;if(!o||!a)return s&&g?s!==g?s:o===a?0:!o^s<0?1:-1:NaN;if(!o[0]||!a[0])return o[0]?s:a[0]?-g:0;if(s!==g)return s;if(i.e!==e.e)return i.e>e.e^s<0?1:-1;for(t=0,A=(n=o.length)<(r=a.length)?n:r;t<A;++t)if(o[t]!==a[t])return o[t]>a[t]^s<0?1:-1;return n===r?0:n>r^s<0?1:-1},m.cosine=m.cos=function(){var e,t,A=this,n=A.constructor;return A.d?A.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(A.e,A.sd())+7,n.rounding=1,A=function(e,t){var A,n,r=t.d.length;r<32?(A=Math.ceil(r/3),n=(1/P(4,A)).toString()):(A=16,n="2.3283064365386962890625e-10");e.precision+=A,t=j(e,1,t.times(n),new e(1));for(var i=A;i--;){var o=t.times(t);t=o.times(o).minus(o).times(8).plus(1)}return e.precision-=A,t}(n,V(n,A)),n.precision=e,n.rounding=t,D(2==a||3==a?A.neg():A,e,t,!0)):new n(1):new n(NaN)},m.cubeRoot=m.cbrt=function(){var e,t,A,n,r,i,o,a,s,g,c=this,u=c.constructor;if(!c.isFinite()||c.isZero())return new u(c);for(I=!1,(i=c.s*f(c.s*c,1/3))&&Math.abs(i)!=1/0?n=new u(i.toString()):(A=b(c.d),(i=((e=c.e)-A.length+1)%3)&&(A+=1==i||-2==i?"0":"00"),i=f(A,1/3),e=h((e+1)/3)-(e%3==(e<0?-1:2)),(n=new u(A=i==1/0?"5e"+e:(A=i.toExponential()).slice(0,A.indexOf("e")+1)+e)).s=c.s),o=(e=u.precision)+3;;)if(g=(s=(a=n).times(a).times(a)).plus(c),n=R(g.plus(c).times(a),g.plus(s),o+2,1),b(a.d).slice(0,o)===(A=b(n.d)).slice(0,o)){if("9999"!=(A=A.slice(o-3,o+1))&&(r||"4999"!=A)){+A&&(+A.slice(1)||"5"!=A.charAt(0))||(D(n,e+1,1),t=!n.times(n).times(n).eq(c));break}if(!r&&(D(a,e+1,0),a.times(a).times(a).eq(c))){n=a;break}o+=4,r=1}return I=!0,D(n,e,u.rounding,t)},m.decimalPlaces=m.dp=function(){var e,t=this.d,A=NaN;if(t){if(A=7*((e=t.length-1)-h(this.e/7)),e=t[e])for(;e%10==0;e/=10)A--;A<0&&(A=0)}return A},m.dividedBy=m.div=function(e){return R(this,new this.constructor(e))},m.dividedToIntegerBy=m.divToInt=function(e){var t=this.constructor;return D(R(this,new t(e),0,1,1),t.precision,t.rounding)},m.equals=m.eq=function(e){return 0===this.cmp(e)},m.floor=function(){return D(new this.constructor(this),this.e+1,3)},m.greaterThan=m.gt=function(e){return this.cmp(e)>0},m.greaterThanOrEqualTo=m.gte=function(e){var t=this.cmp(e);return 1==t||0===t},m.hyperbolicCosine=m.cosh=function(){var e,t,A,n,r,i=this,o=i.constructor,a=new o(1);if(!i.isFinite())return new o(i.s?1/0:NaN);if(i.isZero())return a;A=o.precision,n=o.rounding,o.precision=A+Math.max(i.e,i.sd())+4,o.rounding=1,(r=i.d.length)<32?t=(1/P(4,e=Math.ceil(r/3))).toString():(e=16,t="2.3283064365386962890625e-10"),i=j(o,1,i.times(t),new o(1),!0);for(var s,g=e,c=new o(8);g--;)s=i.times(i),i=a.minus(s.times(c.minus(s.times(c))));return D(i,o.precision=A,o.rounding=n,!0)},m.hyperbolicSine=m.sinh=function(){var e,t,A,n,r=this,i=r.constructor;if(!r.isFinite()||r.isZero())return new i(r);if(t=i.precision,A=i.rounding,i.precision=t+Math.max(r.e,r.sd())+4,i.rounding=1,(n=r.d.length)<3)r=j(i,2,r,r,!0);else{e=(e=1.4*Math.sqrt(n))>16?16:0|e,r=j(i,2,r=r.times(1/P(5,e)),r,!0);for(var o,a=new i(5),s=new i(16),g=new i(20);e--;)o=r.times(r),r=r.times(a.plus(o.times(s.times(o).plus(g))))}return i.precision=t,i.rounding=A,D(r,t,A,!0)},m.hyperbolicTangent=m.tanh=function(){var e,t,A=this,n=A.constructor;return A.isFinite()?A.isZero()?new n(A):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,R(A.sinh(),A.cosh(),n.precision=e,n.rounding=t)):new n(A.s)},m.inverseCosine=m.acos=function(){var e,t=this,A=t.constructor,n=t.abs().cmp(1),r=A.precision,i=A.rounding;return-1!==n?0===n?t.isNeg()?N(A,r,i):new A(0):new A(NaN):t.isZero()?N(A,r+4,i).times(.5):(A.precision=r+6,A.rounding=1,t=t.asin(),e=N(A,r+4,i).times(.5),A.precision=r,A.rounding=i,e.minus(t))},m.inverseHyperbolicCosine=m.acosh=function(){var e,t,A=this,n=A.constructor;return A.lte(1)?new n(A.eq(1)?0:NaN):A.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(A.e),A.sd())+4,n.rounding=1,I=!1,A=A.times(A).minus(1).sqrt().plus(A),I=!0,n.precision=e,n.rounding=t,A.ln()):new n(A)},m.inverseHyperbolicSine=m.asinh=function(){var e,t,A=this,n=A.constructor;return!A.isFinite()||A.isZero()?new n(A):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(A.e),A.sd())+6,n.rounding=1,I=!1,A=A.times(A).plus(1).sqrt().plus(A),I=!0,n.precision=e,n.rounding=t,A.ln())},m.inverseHyperbolicTangent=m.atanh=function(){var e,t,A,n,r=this,i=r.constructor;return r.isFinite()?r.e>=0?new i(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(e=i.precision,t=i.rounding,n=r.sd(),Math.max(n,e)<2*-r.e-1?D(new i(r),e,t,!0):(i.precision=A=n-r.e,r=R(r.plus(1),new i(1).minus(r),A+e,1),i.precision=e+4,i.rounding=1,r=r.ln(),i.precision=e,i.rounding=t,r.times(.5))):new i(NaN)},m.inverseSine=m.asin=function(){var e,t,A,n,r=this,i=r.constructor;return r.isZero()?new i(r):(t=r.abs().cmp(1),A=i.precision,n=i.rounding,-1!==t?0===t?((e=N(i,A+4,n).times(.5)).s=r.s,e):new i(NaN):(i.precision=A+6,i.rounding=1,r=r.div(new i(1).minus(r.times(r)).sqrt().plus(1)).atan(),i.precision=A,i.rounding=n,r.times(2)))},m.inverseTangent=m.atan=function(){var e,t,A,n,r,i,o,a,s,g=this,c=g.constructor,u=c.precision,l=c.rounding;if(g.isFinite()){if(g.isZero())return new c(g);if(g.abs().eq(1)&&u+4<=v)return(o=N(c,u+4,l).times(.25)).s=g.s,o}else{if(!g.s)return new c(NaN);if(u+4<=v)return(o=N(c,u+4,l).times(.5)).s=g.s,o}for(c.precision=a=u+10,c.rounding=1,e=A=Math.min(28,a/7+2|0);e;--e)g=g.div(g.times(g).plus(1).sqrt().plus(1));for(I=!1,t=Math.ceil(a/7),n=1,s=g.times(g),o=new c(g),r=g;-1!==e;)if(r=r.times(s),i=o.minus(r.div(n+=2)),r=r.times(s),void 0!==(o=i.plus(r.div(n+=2))).d[t])for(e=t;o.d[e]===i.d[e]&&e--;);return A&&(o=o.times(2<<A-1)),I=!0,D(o,c.precision=u,c.rounding=l,!0)},m.isFinite=function(){return!!this.d},m.isInteger=m.isInt=function(){return!!this.d&&h(this.e/7)>this.d.length-2},m.isNaN=function(){return!this.s},m.isNegative=m.isNeg=function(){return this.s<0},m.isPositive=m.isPos=function(){return this.s>0},m.isZero=function(){return!!this.d&&0===this.d[0]},m.lessThan=m.lt=function(e){return this.cmp(e)<0},m.lessThanOrEqualTo=m.lte=function(e){return this.cmp(e)<1},m.logarithm=m.log=function(e){var t,A,n,r,i,o,a,s,g=this.constructor,c=g.precision,u=g.rounding;if(null==e)e=new g(10),t=!0;else{if(A=(e=new g(e)).d,e.s<0||!A||!A[0]||e.eq(1))return new g(NaN);t=e.eq(10)}if(A=this.d,this.s<0||!A||!A[0]||this.eq(1))return new g(A&&!A[0]?-1/0:1!=this.s?NaN:A?0:1/0);if(t)if(A.length>1)i=!0;else{for(r=A[0];r%10===0;)r/=10;i=1!==r}if(I=!1,o=Z(this,a=c+5),n=t?x(g,a+10):Z(e,a),S((s=R(o,n,a,1)).d,r=c,u))do{if(o=Z(this,a+=10),n=t?x(g,a+10):Z(e,a),s=R(o,n,a,1),!i){+b(s.d).slice(r+1,r+15)+1==1e14&&(s=D(s,c+1,0));break}}while(S(s.d,r+=10,u));return I=!0,D(s,c,u)},m.minus=m.sub=function(e){var t,A,n,r,i,o,a,s,g,c,u,l,C=this,f=C.constructor;if(e=new f(e),!C.d||!e.d)return C.s&&e.s?C.d?e.s=-e.s:e=new f(e.d||C.s!==e.s?C:NaN):e=new f(NaN),e;if(C.s!=e.s)return e.s=-e.s,C.plus(e);if(g=C.d,l=e.d,a=f.precision,s=f.rounding,!g[0]||!l[0]){if(l[0])e.s=-e.s;else{if(!g[0])return new f(3===s?-0:0);e=new f(C)}return I?D(e,a,s):e}if(A=h(e.e/7),c=h(C.e/7),g=g.slice(),i=c-A){for((u=i<0)?(t=g,i=-i,o=l.length):(t=l,A=c,o=g.length),i>(n=Math.max(Math.ceil(a/7),o)+2)&&(i=n,t.length=1),t.reverse(),n=i;n--;)t.push(0);t.reverse()}else{for((u=(n=g.length)<(o=l.length))&&(o=n),n=0;n<o;n++)if(g[n]!=l[n]){u=g[n]<l[n];break}i=0}for(u&&(t=g,g=l,l=t,e.s=-e.s),o=g.length,n=l.length-o;n>0;--n)g[o++]=0;for(n=l.length;n>i;){if(g[--n]<l[n]){for(r=n;r&&0===g[--r];)g[r]=Q-1;--g[r],g[n]+=Q}g[n]-=l[n]}for(;0===g[--o];)g.pop();for(;0===g[0];g.shift())--A;return g[0]?(e.d=g,e.e=k(g,A),I?D(e,a,s):e):new f(3===s?-0:0)},m.modulo=m.mod=function(e){var t,A=this,n=A.constructor;return e=new n(e),!A.d||!e.s||e.d&&!e.d[0]?new n(NaN):!e.d||A.d&&!A.d[0]?D(new n(A),n.precision,n.rounding):(I=!1,9==n.modulo?(t=R(A,e.abs(),0,3,1)).s*=e.s:t=R(A,e,0,n.modulo,1),t=t.times(e),I=!0,A.minus(t))},m.naturalExponential=m.exp=function(){return T(this)},m.naturalLogarithm=m.ln=function(){return Z(this)},m.negated=m.neg=function(){var e=new this.constructor(this);return e.s=-e.s,D(e)},m.plus=m.add=function(e){var t,A,n,r,i,o,a,s,g,c,u=this,l=u.constructor;if(e=new l(e),!u.d||!e.d)return u.s&&e.s?u.d||(e=new l(e.d||u.s===e.s?u:NaN)):e=new l(NaN),e;if(u.s!=e.s)return e.s=-e.s,u.minus(e);if(g=u.d,c=e.d,a=l.precision,s=l.rounding,!g[0]||!c[0])return c[0]||(e=new l(u)),I?D(e,a,s):e;if(i=h(u.e/7),n=h(e.e/7),g=g.slice(),r=i-n){for(r<0?(A=g,r=-r,o=c.length):(A=c,n=i,o=g.length),r>(o=(i=Math.ceil(a/7))>o?i+1:o+1)&&(r=o,A.length=1),A.reverse();r--;)A.push(0);A.reverse()}for((o=g.length)-(r=c.length)<0&&(r=o,A=c,c=g,g=A),t=0;r;)t=(g[--r]=g[r]+c[r]+t)/Q|0,g[r]%=Q;for(t&&(g.unshift(t),++n),o=g.length;0==g[--o];)g.pop();return e.d=g,e.e=k(g,n),I?D(e,a,s):e},m.precision=m.sd=function(e){var t,A=this;if(void 0!==e&&e!==!!e&&1!==e&&0!==e)throw Error(C+e);return A.d?(t=U(A.d),e&&A.e+1>t&&(t=A.e+1)):t=NaN,t},m.round=function(){var e=this,t=e.constructor;return D(new t(e),e.e+1,t.rounding)},m.sine=m.sin=function(){var e,t,A=this,n=A.constructor;return A.isFinite()?A.isZero()?new n(A):(e=n.precision,t=n.rounding,n.precision=e+Math.max(A.e,A.sd())+7,n.rounding=1,A=function(e,t){var A,n=t.d.length;if(n<3)return j(e,2,t,t);A=(A=1.4*Math.sqrt(n))>16?16:0|A,t=t.times(1/P(5,A)),t=j(e,2,t,t);for(var r,i=new e(5),o=new e(16),a=new e(20);A--;)r=t.times(t),t=t.times(i.plus(r.times(o.times(r).minus(a))));return t}(n,V(n,A)),n.precision=e,n.rounding=t,D(a>2?A.neg():A,e,t,!0)):new n(NaN)},m.squareRoot=m.sqrt=function(){var e,t,A,n,r,i,o=this,a=o.d,s=o.e,g=o.s,c=o.constructor;if(1!==g||!a||!a[0])return new c(!g||g<0&&(!a||a[0])?NaN:a?o:1/0);for(I=!1,0==(g=Math.sqrt(+o))||g==1/0?(((t=b(a)).length+s)%2==0&&(t+="0"),g=Math.sqrt(t),s=h((s+1)/2)-(s<0||s%2),n=new c(t=g==1/0?"5e"+s:(t=g.toExponential()).slice(0,t.indexOf("e")+1)+s)):n=new c(g.toString()),A=(s=c.precision)+3;;)if(n=(i=n).plus(R(o,i,A+2,1)).times(.5),b(i.d).slice(0,A)===(t=b(n.d)).slice(0,A)){if("9999"!=(t=t.slice(A-3,A+1))&&(r||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(D(n,s+1,1),e=!n.times(n).eq(o));break}if(!r&&(D(i,s+1,0),i.times(i).eq(o))){n=i;break}A+=4,r=1}return I=!0,D(n,s,c.rounding,e)},m.tangent=m.tan=function(){var e,t,A=this,n=A.constructor;return A.isFinite()?A.isZero()?new n(A):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,(A=A.sin()).s=1,A=R(A,new n(1).minus(A.times(A)).sqrt(),e+10,0),n.precision=e,n.rounding=t,D(2==a||4==a?A.neg():A,e,t,!0)):new n(NaN)},m.times=m.mul=function(e){var t,A,n,r,i,o,a,s,g,c=this,u=c.constructor,l=c.d,C=(e=new u(e)).d;if(e.s*=c.s,!l||!l[0]||!C||!C[0])return new u(!e.s||l&&!l[0]&&!C||C&&!C[0]&&!l?NaN:l&&C?0*e.s:e.s/0);for(A=h(c.e/7)+h(e.e/7),(s=l.length)<(g=C.length)&&(i=l,l=C,C=i,o=s,s=g,g=o),i=[],n=o=s+g;n--;)i.push(0);for(n=g;--n>=0;){for(t=0,r=s+n;r>n;)a=i[r]+C[n]*l[r-n-1]+t,i[r--]=a%Q|0,t=a/Q|0;i[r]=(i[r]+t)%Q|0}for(;!i[--o];)i.pop();return t?++A:i.shift(),e.d=i,e.e=k(i,A),I?D(e,u.precision,u.rounding):e},m.toBinary=function(e,t){return K(this,2,e,t)},m.toDecimalPlaces=m.toDP=function(e,t){var A=this,n=A.constructor;return A=new n(A),void 0===e?A:(w(e,0,1e9),void 0===t?t=n.rounding:w(t,0,8),D(A,e+A.e+1,t))},m.toExponential=function(e,t){var A,n=this,r=n.constructor;return void 0===e?A=G(n,!0):(w(e,0,1e9),void 0===t?t=r.rounding:w(t,0,8),A=G(n=D(new r(n),e+1,t),!0,e+1)),n.isNeg()&&!n.isZero()?"-"+A:A},m.toFixed=function(e,t){var A,n,r=this,i=r.constructor;return void 0===e?A=G(r):(w(e,0,1e9),void 0===t?t=i.rounding:w(t,0,8),A=G(n=D(new i(r),e+r.e+1,t),!1,e+n.e+1)),r.isNeg()&&!r.isZero()?"-"+A:A},m.toFraction=function(e){var t,A,n,r,i,o,a,s,g,c,u,l,h=this,d=h.d,B=h.constructor;if(!d)return new B(h);if(g=A=new B(1),n=s=new B(0),o=(i=(t=new B(n)).e=U(d)-h.e-1)%7,t.d[0]=f(10,o<0?7+o:o),null==e)e=i>0?t:g;else{if(!(a=new B(e)).isInt()||a.lt(g))throw Error(C+a);e=a.gt(t)?i>0?t:g:a}for(I=!1,a=new B(b(d)),c=B.precision,B.precision=i=7*d.length*2;u=R(a,t,0,1,1),1!=(r=A.plus(u.times(n))).cmp(e);)A=n,n=r,r=g,g=s.plus(u.times(r)),s=r,r=t,t=a.minus(u.times(r)),a=r;return r=R(e.minus(A),n,0,1,1),s=s.plus(r.times(g)),A=A.plus(r.times(n)),s.s=g.s=h.s,l=R(g,n,i,1).minus(h).abs().cmp(R(s,A,i,1).minus(h).abs())<1?[g,n]:[s,A],B.precision=c,I=!0,l},m.toHexadecimal=m.toHex=function(e,t){return K(this,16,e,t)},m.toNearest=function(e,t){var A=this,n=A.constructor;if(A=new n(A),null==e){if(!A.d)return A;e=new n(1),t=n.rounding}else{if(e=new n(e),void 0===t?t=n.rounding:w(t,0,8),!A.d)return e.s?A:e;if(!e.d)return e.s&&(e.s=A.s),e}return e.d[0]?(I=!1,A=R(A,e,0,t,1).times(e),I=!0,D(A)):(e.s=A.s,A=e),A},m.toNumber=function(){return+this},m.toOctal=function(e,t){return K(this,8,e,t)},m.toPower=m.pow=function(e){var t,A,n,r,i,o,a=this,s=a.constructor,g=+(e=new s(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new s(f(+a,g));if((a=new s(a)).eq(1))return a;if(n=s.precision,i=s.rounding,e.eq(1))return D(a,n,i);if((t=h(e.e/7))>=e.d.length-1&&(A=g<0?-g:g)<=9007199254740991)return r=M(s,a,A,n),e.s<0?new s(1).div(r):D(r,n,i);if((o=a.s)<0){if(t<e.d.length-1)return new s(NaN);if(0==(1&e.d[t])&&(o=1),0==a.e&&1==a.d[0]&&1==a.d.length)return a.s=o,a}return(t=0!=(A=f(+a,g))&&isFinite(A)?new s(A+"").e:h(g*(Math.log("0."+b(a.d))/Math.LN10+a.e+1)))>s.maxE+1||t<s.minE-1?new s(t>0?o/0:0):(I=!1,s.rounding=a.s=1,A=Math.min(12,(t+"").length),(r=T(e.times(Z(a,n+A)),n)).d&&S((r=D(r,n+5,1)).d,n,i)&&(t=n+10,+b((r=D(T(e.times(Z(a,t+A)),t),t+5,1)).d).slice(n+1,n+15)+1==1e14&&(r=D(r,n+1,0))),r.s=o,I=!0,s.rounding=i,D(r,n,i))},m.toPrecision=function(e,t){var A,n=this,r=n.constructor;return void 0===e?A=G(n,n.e<=r.toExpNeg||n.e>=r.toExpPos):(w(e,1,1e9),void 0===t?t=r.rounding:w(t,0,8),A=G(n=D(new r(n),e,t),e<=n.e||n.e<=r.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+A:A},m.toSignificantDigits=m.toSD=function(e,t){var A=this.constructor;return void 0===e?(e=A.precision,t=A.rounding):(w(e,1,1e9),void 0===t?t=A.rounding:w(t,0,8)),D(new A(this),e,t)},m.toString=function(){var e=this,t=e.constructor,A=G(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+A:A},m.truncated=m.trunc=function(){return D(new this.constructor(this),this.e+1,1)},m.valueOf=m.toJSON=function(){var e=this,t=e.constructor,A=G(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+A:A};var R=function(){function e(e,t,A){var n,r=0,i=e.length;for(e=e.slice();i--;)n=e[i]*t+r,e[i]=n%A|0,r=n/A|0;return r&&e.unshift(r),e}function t(e,t,A,n){var r,i;if(A!=n)i=A>n?1:-1;else for(r=i=0;r<A;r++)if(e[r]!=t[r]){i=e[r]>t[r]?1:-1;break}return i}function A(e,t,A,n){for(var r=0;A--;)e[A]-=r,r=e[A]<t[A]?1:0,e[A]=r*n+e[A]-t[A];for(;!e[0]&&e.length>1;)e.shift()}return function(n,r,i,a,s,g){var c,u,l,I,C,f,d,B,p,E,y,v,m,b,w,S,F,R,G,k,x=n.constructor,N=n.s==r.s?1:-1,U=n.d,_=r.d;if(!U||!U[0]||!_||!_[0])return new x(n.s&&r.s&&(U?!_||U[0]!=_[0]:_)?U&&0==U[0]||!_?0*N:N/0:NaN);for(g?(C=1,u=n.e-r.e):(g=Q,C=7,u=h(n.e/C)-h(r.e/C)),G=_.length,F=U.length,E=(p=new x(N)).d=[],l=0;_[l]==(U[l]||0);l++);if(_[l]>(U[l]||0)&&u--,null==i?(b=i=x.precision,a=x.rounding):b=s?i+(n.e-r.e)+1:i,b<0)E.push(1),f=!0;else{if(b=b/C+2|0,l=0,1==G){for(I=0,_=_[0],b++;(l<F||I)&&b--;l++)w=I*g+(U[l]||0),E[l]=w/_|0,I=w%_|0;f=I||l<F}else{for((I=g/(_[0]+1)|0)>1&&(_=e(_,I,g),U=e(U,I,g),G=_.length,F=U.length),S=G,v=(y=U.slice(0,G)).length;v<G;)y[v++]=0;(k=_.slice()).unshift(0),R=_[0],_[1]>=g/2&&++R;do{I=0,(c=t(_,y,G,v))<0?(m=y[0],G!=v&&(m=m*g+(y[1]||0)),(I=m/R|0)>1?(I>=g&&(I=g-1),1==(c=t(d=e(_,I,g),y,B=d.length,v=y.length))&&(I--,A(d,G<B?k:_,B,g))):(0==I&&(c=I=1),d=_.slice()),(B=d.length)<v&&d.unshift(0),A(y,d,v,g),-1==c&&(c=t(_,y,G,v=y.length))<1&&(I++,A(y,G<v?k:_,v,g)),v=y.length):0===c&&(I++,y=[0]),E[l++]=I,c&&y[0]?y[v++]=U[S]||0:(y=[U[S]],v=1)}while((S++<F||void 0!==y[0])&&b--);f=void 0!==y[0]}E[0]||E.shift()}if(1==C)p.e=u,o=f;else{for(l=1,I=E[0];I>=10;I/=10)l++;p.e=l+u*C-1,D(p,s?i+p.e+1:i,a,f)}return p}}();function D(e,t,A,n){var r,i,o,a,s,g,c,u,l,C=e.constructor;e:if(null!=t){if(!(u=e.d))return e;for(r=1,a=u[0];a>=10;a/=10)r++;if((i=t-r)<0)i+=7,o=t,s=(c=u[l=0])/f(10,r-o-1)%10|0;else if((l=Math.ceil((i+1)/7))>=(a=u.length)){if(!n)break e;for(;a++<=l;)u.push(0);c=s=0,r=1,o=(i%=7)-7+1}else{for(c=a=u[l],r=1;a>=10;a/=10)r++;s=(o=(i%=7)-7+r)<0?0:c/f(10,r-o-1)%10|0}if(n=n||t<0||void 0!==u[l+1]||(o<0?c:c%f(10,r-o-1)),g=A<4?(s||n)&&(0==A||A==(e.s<0?3:2)):s>5||5==s&&(4==A||n||6==A&&(i>0?o>0?c/f(10,r-o):0:u[l-1])%10&1||A==(e.s<0?8:7)),t<1||!u[0])return u.length=0,g?(t-=e.e+1,u[0]=f(10,(7-t%7)%7),e.e=-t||0):u[0]=e.e=0,e;if(0==i?(u.length=l,a=1,l--):(u.length=l+1,a=f(10,7-i),u[l]=o>0?(c/f(10,r-o)%f(10,o)|0)*a:0),g)for(;;){if(0==l){for(i=1,o=u[0];o>=10;o/=10)i++;for(o=u[0]+=a,a=1;o>=10;o/=10)a++;i!=a&&(e.e++,u[0]==Q&&(u[0]=1));break}if(u[l]+=a,u[l]!=Q)break;u[l--]=0,a=1}for(i=u.length;0===u[--i];)u.pop()}return I&&(e.e>C.maxE?(e.d=null,e.e=NaN):e.e<C.minE&&(e.e=0,e.d=[0])),e}function G(e,t,A){if(!e.isFinite())return H(e);var n,r=e.e,i=b(e.d),o=i.length;return t?(A&&(n=A-o)>0?i=i.charAt(0)+"."+i.slice(1)+_(n):o>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(e.e<0?"e":"e+")+e.e):r<0?(i="0."+_(-r-1)+i,A&&(n=A-o)>0&&(i+=_(n))):r>=o?(i+=_(r+1-o),A&&(n=A-r-1)>0&&(i=i+"."+_(n))):((n=r+1)<o&&(i=i.slice(0,n)+"."+i.slice(n)),A&&(n=A-o)>0&&(r+1===o&&(i+="."),i+=_(n))),i}function k(e,t){var A=e[0];for(t*=7;A>=10;A/=10)t++;return t}function x(e,t,A){if(t>y)throw I=!0,A&&(e.precision=A),Error("[DecimalError] Precision limit exceeded");return D(new e(c),t,1,!0)}function N(e,t,A){if(t>v)throw Error("[DecimalError] Precision limit exceeded");return D(new e(u),t,A,!0)}function U(e){var t=e.length-1,A=7*t+1;if(t=e[t]){for(;t%10==0;t/=10)A--;for(t=e[0];t>=10;t/=10)A++}return A}function _(e){for(var t="";e--;)t+="0";return t}function M(e,t,A,n){var r,i=new e(1),o=Math.ceil(n/7+4);for(I=!1;;){if(A%2&&W((i=i.times(t)).d,o)&&(r=!0),0===(A=h(A/2))){A=i.d.length-1,r&&0===i.d[A]&&++i.d[A];break}W((t=t.times(t)).d,o)}return I=!0,i}function O(e){return 1&e.d[e.d.length-1]}function L(e,t,A){for(var n,r=new e(t[0]),i=0;++i<t.length;){if(!(n=new e(t[i])).s){r=n;break}r[A](n)&&(r=n)}return r}function T(e,t){var A,n,r,i,o,a,s,g=0,c=0,u=0,l=e.constructor,C=l.rounding,h=l.precision;if(!e.d||!e.d[0]||e.e>17)return new l(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(null==t?(I=!1,s=h):s=t,a=new l(.03125);e.e>-2;)e=e.times(a),u+=5;for(s+=n=Math.log(f(2,u))/Math.LN10*2+5|0,A=i=o=new l(1),l.precision=s;;){if(i=D(i.times(e),s,1),A=A.times(++c),b((a=o.plus(R(i,A,s,1))).d).slice(0,s)===b(o.d).slice(0,s)){for(r=u;r--;)o=D(o.times(o),s,1);if(null!=t)return l.precision=h,o;if(!(g<3&&S(o.d,s-n,C,g)))return D(o,l.precision=h,C,I=!0);l.precision=s+=10,A=i=a=new l(1),c=0,g++}o=a}}function Z(e,t){var A,n,r,i,o,a,s,g,c,u,l,C=1,h=e,f=h.d,d=h.constructor,B=d.rounding,p=d.precision;if(h.s<0||!f||!f[0]||!h.e&&1==f[0]&&1==f.length)return new d(f&&!f[0]?-1/0:1!=h.s?NaN:f?0:h);if(null==t?(I=!1,c=p):c=t,d.precision=c+=10,n=(A=b(f)).charAt(0),!(Math.abs(i=h.e)<15e14))return g=x(d,c+2,p).times(i+""),h=Z(new d(n+"."+A.slice(1)),c-10).plus(g),d.precision=p,null==t?D(h,p,B,I=!0):h;for(;n<7&&1!=n||1==n&&A.charAt(1)>3;)n=(A=b((h=h.times(e)).d)).charAt(0),C++;for(i=h.e,n>1?(h=new d("0."+A),i++):h=new d(n+"."+A.slice(1)),u=h,s=o=h=R(h.minus(1),h.plus(1),c,1),l=D(h.times(h),c,1),r=3;;){if(o=D(o.times(l),c,1),b((g=s.plus(R(o,new d(r),c,1))).d).slice(0,c)===b(s.d).slice(0,c)){if(s=s.times(2),0!==i&&(s=s.plus(x(d,c+2,p).times(i+""))),s=R(s,new d(C),c,1),null!=t)return d.precision=p,s;if(!S(s.d,c-10,B,a))return D(s,d.precision=p,B,I=!0);d.precision=c+=10,g=o=h=R(u.minus(1),u.plus(1),c,1),l=D(h.times(h),c,1),r=a=1}s=g,r+=2}}function H(e){return String(e.s*e.s/0)}function Y(e,t){var A,n,r;for((A=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(A<0&&(A=n),A+=+t.slice(n+1),t=t.substring(0,n)):A<0&&(A=t.length),n=0;48===t.charCodeAt(n);n++);for(r=t.length;48===t.charCodeAt(r-1);--r);if(t=t.slice(n,r)){if(r-=n,e.e=A=A-n-1,e.d=[],n=(A+1)%7,A<0&&(n+=7),n<r){for(n&&e.d.push(+t.slice(0,n)),r-=7;n<r;)e.d.push(+t.slice(n,n+=7));n=7-(t=t.slice(n)).length}else n-=r;for(;n--;)t+="0";e.d.push(+t),I&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function J(e,t){var A,n,r,o,a,s,g,c,u;if("Infinity"===t||"NaN"===t)return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(B.test(t))A=16,t=t.toLowerCase();else if(d.test(t))A=2;else{if(!p.test(t))throw Error(C+t);A=8}for((o=t.search(/p/i))>0?(g=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),a=(o=t.indexOf("."))>=0,n=e.constructor,a&&(o=(s=(t=t.replace(".","")).length)-o,r=M(n,new n(A),o,2*o)),o=u=(c=F(t,A,Q)).length-1;0===c[o];--o)c.pop();return o<0?new n(0*e.s):(e.e=k(c,u),e.d=c,I=!1,a&&(e=R(e,r,4*s)),g&&(e=e.times(Math.abs(g)<54?f(2,g):i.pow(2,g))),I=!0,e)}function j(e,t,A,n,r){var i,o,a,s,g=e.precision,c=Math.ceil(g/7);for(I=!1,s=A.times(A),a=new e(n);;){if(o=R(a.times(s),new e(t++*t++),g,1),a=r?n.plus(o):n.minus(o),n=R(o.times(s),new e(t++*t++),g,1),void 0!==(o=a.plus(n)).d[c]){for(i=c;o.d[i]===a.d[i]&&i--;);if(-1==i)break}i=a,a=n,n=o,o=i}return I=!0,o.d.length=c+1,o}function P(e,t){for(var A=e;--t;)A*=e;return A}function V(e,t){var A,n=t.s<0,r=N(e,e.precision,1),i=r.times(.5);if((t=t.abs()).lte(i))return a=n?4:1,t;if((A=t.divToInt(r)).isZero())a=n?3:2;else{if((t=t.minus(A.times(r))).lte(i))return a=O(A)?n?2:3:n?4:1,t;a=O(A)?n?1:4:n?3:2}return t.minus(r).abs()}function K(e,t,A,n){var r,i,a,s,c,u,l,I,C,h=e.constructor,f=void 0!==A;if(f?(w(A,1,1e9),void 0===n?n=h.rounding:w(n,0,8)):(A=h.precision,n=h.rounding),e.isFinite()){for(f?(r=2,16==t?A=4*A-3:8==t&&(A=3*A-2)):r=t,(a=(l=G(e)).indexOf("."))>=0&&(l=l.replace(".",""),(C=new h(1)).e=l.length-a,C.d=F(G(C),10,r),C.e=C.d.length),i=c=(I=F(l,10,r)).length;0==I[--c];)I.pop();if(I[0]){if(a<0?i--:((e=new h(e)).d=I,e.e=i,I=(e=R(e,C,A,n,0,r)).d,i=e.e,u=o),a=I[A],s=r/2,u=u||void 0!==I[A+1],u=n<4?(void 0!==a||u)&&(0===n||n===(e.s<0?3:2)):a>s||a===s&&(4===n||u||6===n&&1&I[A-1]||n===(e.s<0?8:7)),I.length=A,u)for(;++I[--A]>r-1;)I[A]=0,A||(++i,I.unshift(1));for(c=I.length;!I[c-1];--c);for(a=0,l="";a<c;a++)l+=g.charAt(I[a]);if(f){if(c>1)if(16==t||8==t){for(a=16==t?4:3,--c;c%a;c++)l+="0";for(c=(I=F(l,r,t)).length;!I[c-1];--c);for(a=1,l="1.";a<c;a++)l+=g.charAt(I[a])}else l=l.charAt(0)+"."+l.slice(1);l=l+(i<0?"p":"p+")+i}else if(i<0){for(;++i;)l="0"+l;l="0."+l}else if(++i>c)for(i-=c;i--;)l+="0";else i<c&&(l=l.slice(0,i)+"."+l.slice(i))}else l=f?"0p+0":"0";l=(16==t?"0x":2==t?"0b":8==t?"0o":"")+l}else l=H(e);return e.s<0?"-"+l:l}function W(e,t){if(e.length>t)return e.length=t,!0}function X(e){return new this(e).abs()}function q(e){return new this(e).acos()}function z(e){return new this(e).acosh()}function $(e,t){return new this(e).plus(t)}function ee(e){return new this(e).asin()}function te(e){return new this(e).asinh()}function Ae(e){return new this(e).atan()}function ne(e){return new this(e).atanh()}function re(e,t){e=new this(e),t=new this(t);var A,n=this.precision,r=this.rounding,i=n+4;return e.s&&t.s?e.d||t.d?!t.d||e.isZero()?(A=t.s<0?N(this,n,r):new this(0)).s=e.s:!e.d||t.isZero()?(A=N(this,i,1).times(.5)).s=e.s:t.s<0?(this.precision=i,this.rounding=1,A=this.atan(R(e,t,i,1)),t=N(this,i,1),this.precision=n,this.rounding=r,A=e.s<0?A.minus(t):A.plus(t)):A=this.atan(R(e,t,i,1)):(A=N(this,i,1).times(t.s>0?.25:.75)).s=e.s:A=new this(NaN),A}function ie(e){return new this(e).cbrt()}function oe(e){return D(e=new this(e),e.e+1,2)}function ae(e){if(!e||"object"!==typeof e)throw Error("[DecimalError] Object expected");var t,A,n,r=!0===e.defaults,i=["precision",1,1e9,"rounding",0,8,"toExpNeg",-s,0,"toExpPos",0,s,"maxE",0,s,"minE",-s,0,"modulo",0,9];for(t=0;t<i.length;t+=3)if(A=i[t],r&&(this[A]=l[A]),void 0!==(n=e[A])){if(!(h(n)===n&&n>=i[t+1]&&n<=i[t+2]))throw Error(C+A+": "+n);this[A]=n}if(A="crypto",r&&(this[A]=l[A]),void 0!==(n=e[A])){if(!0!==n&&!1!==n&&0!==n&&1!==n)throw Error(C+A+": "+n);if(n){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error("[DecimalError] crypto unavailable");this[A]=!0}else this[A]=!1}return this}function se(e){return new this(e).cos()}function ge(e){return new this(e).cosh()}function ce(e,t){return new this(e).div(t)}function ue(e){return new this(e).exp()}function le(e){return D(e=new this(e),e.e+1,3)}function Ie(){var e,t,A=new this(0);for(I=!1,e=0;e<arguments.length;)if((t=new this(arguments[e++])).d)A.d&&(A=A.plus(t.times(t)));else{if(t.s)return I=!0,new this(1/0);A=t}return I=!0,A.sqrt()}function Ce(e){return e instanceof i||e&&"[object Decimal]"===e.name||!1}function he(e){return new this(e).ln()}function fe(e,t){return new this(e).log(t)}function de(e){return new this(e).log(2)}function Be(e){return new this(e).log(10)}function pe(){return L(this,arguments,"lt")}function Ee(){return L(this,arguments,"gt")}function Qe(e,t){return new this(e).mod(t)}function ye(e,t){return new this(e).mul(t)}function ve(e,t){return new this(e).pow(t)}function me(e){var t,A,n,r,i=0,o=new this(1),a=[];if(void 0===e?e=this.precision:w(e,1,1e9),n=Math.ceil(e/7),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(n));i<n;)(r=t[i])>=429e7?t[i]=crypto.getRandomValues(new Uint32Array(1))[0]:a[i++]=r%1e7;else{if(!crypto.randomBytes)throw Error("[DecimalError] crypto unavailable");for(t=crypto.randomBytes(n*=4);i<n;)(r=t[i]+(t[i+1]<<8)+(t[i+2]<<16)+((127&t[i+3])<<24))>=214e7?crypto.randomBytes(4).copy(t,i):(a.push(r%1e7),i+=4);i=n/4}else for(;i<n;)a[i++]=1e7*Math.random()|0;for(e%=7,(n=a[--i])&&e&&(r=f(10,7-e),a[i]=(n/r|0)*r);0===a[i];i--)a.pop();if(i<0)A=0,a=[0];else{for(A=-1;0===a[0];A-=7)a.shift();for(n=1,r=a[0];r>=10;r/=10)n++;n<7&&(A-=7-n)}return o.e=A,o.d=a,o}function be(e){return D(e=new this(e),e.e+1,this.rounding)}function we(e){return(e=new this(e)).d?e.d[0]?e.s:0*e.s:e.s||NaN}function Se(e){return new this(e).sin()}function Fe(e){return new this(e).sinh()}function Re(e){return new this(e).sqrt()}function De(e,t){return new this(e).sub(t)}function Ge(e){return new this(e).tan()}function ke(e){return new this(e).tanh()}function xe(e){return D(e=new this(e),e.e+1,1)}(i=function e(t){var A,n,r;function i(e){var t,A,n,r=this;if(!(r instanceof i))return new i(e);if(r.constructor=i,e instanceof i)return r.s=e.s,void(I?!e.d||e.e>i.maxE?(r.e=NaN,r.d=null):e.e<i.minE?(r.e=0,r.d=[0]):(r.e=e.e,r.d=e.d.slice()):(r.e=e.e,r.d=e.d?e.d.slice():e.d));if("number"===(n=typeof e)){if(0===e)return r.s=1/e<0?-1:1,r.e=0,void(r.d=[0]);if(e<0?(e=-e,r.s=-1):r.s=1,e===~~e&&e<1e7){for(t=0,A=e;A>=10;A/=10)t++;return void(I?t>i.maxE?(r.e=NaN,r.d=null):t<i.minE?(r.e=0,r.d=[0]):(r.e=t,r.d=[e]):(r.e=t,r.d=[e]))}return 0*e!==0?(e||(r.s=NaN),r.e=NaN,void(r.d=null)):Y(r,e.toString())}if("string"!==n)throw Error(C+e);return 45===(A=e.charCodeAt(0))?(e=e.slice(1),r.s=-1):(43===A&&(e=e.slice(1)),r.s=1),E.test(e)?Y(r,e):J(r,e)}if(i.prototype=m,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=ae,i.clone=e,i.isDecimal=Ce,i.abs=X,i.acos=q,i.acosh=z,i.add=$,i.asin=ee,i.asinh=te,i.atan=Ae,i.atanh=ne,i.atan2=re,i.cbrt=ie,i.ceil=oe,i.cos=se,i.cosh=ge,i.div=ce,i.exp=ue,i.floor=le,i.hypot=Ie,i.ln=he,i.log=fe,i.log10=Be,i.log2=de,i.max=pe,i.min=Ee,i.mod=Qe,i.mul=ye,i.pow=ve,i.random=me,i.round=be,i.sign=we,i.sin=Se,i.sinh=Fe,i.sqrt=Re,i.sub=De,i.tan=Ge,i.tanh=ke,i.trunc=xe,void 0===t&&(t={}),t&&!0!==t.defaults)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],A=0;A<r.length;)t.hasOwnProperty(n=r[A++])||(t[n]=this[n]);return i.config(t),i}(l)).default=i.Decimal=i,c=new i(c),u=new i(u),void 0===(n=function(){return i}.call(t,A,t,e))||(e.exports=n)}()},function(e,t,A){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,A){"use strict";t.__esModule=!0;var n,r=A(600),i=(n=r)&&n.__esModule?n:{default:n};t.default=function(){function e(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),(0,i.default)(e,n.key,n)}}return function(t,A,n){return A&&e(t.prototype,A),n&&e(t,n),t}}()},function(e,t,A){"use strict";t.__esModule=!0;var n,r=A(601),i=(n=r)&&n.__esModule?n:{default:n};t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==("undefined"===typeof t?"undefined":(0,i.default)(t))&&"function"!==typeof t?e:t}},function(e,t,A){"use strict";t.__esModule=!0;var n=o(A(957)),r=o(A(961)),i=o(A(601));function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+("undefined"===typeof t?"undefined":(0,i.default)(t)));e.prototype=(0,r.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(n.default?(0,n.default)(e,t):e.__proto__=t)}},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n=A(39),r=A.n(n);function i(e){return e instanceof HTMLElement?e:r.a.findDOMNode(e)}},function(e,t,A){(function(t){e.exports=function(){"use strict";function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function A(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function n(e,t,n){return t&&A(e.prototype,t),n&&A(e,n),e}var r=function(e,t){this.next=null,this.key=e,this.data=t,this.left=null,this.right=null};function i(e,t){return e>t?1:e<t?-1:0}function o(e,t,A){for(var n=new r(null,null),i=n,o=n;;){var a=A(e,t.key);if(a<0){if(null===t.left)break;if(A(e,t.left.key)<0){var s=t.left;if(t.left=s.right,s.right=t,null===(t=s).left)break}o.left=t,o=t,t=t.left}else{if(!(a>0))break;if(null===t.right)break;if(A(e,t.right.key)>0&&(s=t.right,t.right=s.left,s.left=t,null===(t=s).right))break;i.right=t,i=t,t=t.right}}return i.right=t.left,o.left=t.right,t.left=n.right,t.right=n.left,t}function a(e,t,A,n){var i=new r(e,t);if(null===A)return i.left=i.right=null,i;var a=n(e,(A=o(e,A,n)).key);return a<0?(i.left=A.left,i.right=A,A.left=null):a>=0&&(i.right=A.right,i.left=A,A.right=null),i}function s(e,t,A){var n=null,r=null;if(t){var i=A((t=o(e,t,A)).key,e);0===i?(n=t.left,r=t.right):i<0?(r=t.right,t.right=null,n=t):(n=t.left,t.left=null,r=t)}return{left:n,right:r}}var g=function(){function e(e){void 0===e&&(e=i),this._root=null,this._size=0,this._comparator=e}return e.prototype.insert=function(e,t){return this._size++,this._root=a(e,t,this._root,this._comparator)},e.prototype.add=function(e,t){var A=new r(e,t);null===this._root&&(A.left=A.right=null,this._size++,this._root=A);var n=this._comparator,i=o(e,this._root,n),a=n(e,i.key);return 0===a?this._root=i:(a<0?(A.left=i.left,A.right=i,i.left=null):a>0&&(A.right=i.right,A.left=i,i.right=null),this._size++,this._root=A),this._root},e.prototype.remove=function(e){this._root=this._remove(e,this._root,this._comparator)},e.prototype._remove=function(e,t,A){var n;return null===t?null:0===A(e,(t=o(e,t,A)).key)?(null===t.left?n=t.right:(n=o(e,t.left,A)).right=t.right,this._size--,n):t},e.prototype.pop=function(){var e=this._root;if(e){for(;e.left;)e=e.left;return this._root=o(e.key,this._root,this._comparator),this._root=this._remove(e.key,this._root,this._comparator),{key:e.key,data:e.data}}return null},e.prototype.findStatic=function(e){for(var t=this._root,A=this._comparator;t;){var n=A(e,t.key);if(0===n)return t;t=n<0?t.left:t.right}return null},e.prototype.find=function(e){return this._root&&(this._root=o(e,this._root,this._comparator),0!==this._comparator(e,this._root.key))?null:this._root},e.prototype.contains=function(e){for(var t=this._root,A=this._comparator;t;){var n=A(e,t.key);if(0===n)return!0;t=n<0?t.left:t.right}return!1},e.prototype.forEach=function(e,t){for(var A=this._root,n=[],r=!1;!r;)null!==A?(n.push(A),A=A.left):0!==n.length?(A=n.pop(),e.call(t,A),A=A.right):r=!0;return this},e.prototype.range=function(e,t,A,n){for(var r=[],i=this._comparator,o=this._root;0!==r.length||o;)if(o)r.push(o),o=o.left;else{if(i((o=r.pop()).key,t)>0)break;if(i(o.key,e)>=0&&A.call(n,o))return this;o=o.right}return this},e.prototype.keys=function(){var e=[];return this.forEach((function(t){var A=t.key;return e.push(A)})),e},e.prototype.values=function(){var e=[];return this.forEach((function(t){var A=t.data;return e.push(A)})),e},e.prototype.min=function(){return this._root?this.minNode(this._root).key:null},e.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},e.prototype.minNode=function(e){if(void 0===e&&(e=this._root),e)for(;e.left;)e=e.left;return e},e.prototype.maxNode=function(e){if(void 0===e&&(e=this._root),e)for(;e.right;)e=e.right;return e},e.prototype.at=function(e){for(var t=this._root,A=!1,n=0,r=[];!A;)if(t)r.push(t),t=t.left;else if(r.length>0){if(t=r.pop(),n===e)return t;n++,t=t.right}else A=!0;return null},e.prototype.next=function(e){var t=this._root,A=null;if(e.right){for(A=e.right;A.left;)A=A.left;return A}for(var n=this._comparator;t;){var r=n(e.key,t.key);if(0===r)break;r<0?(A=t,t=t.left):t=t.right}return A},e.prototype.prev=function(e){var t=this._root,A=null;if(null!==e.left){for(A=e.left;A.right;)A=A.right;return A}for(var n=this._comparator;t;){var r=n(e.key,t.key);if(0===r)break;r<0?t=t.left:(A=t,t=t.right)}return A},e.prototype.clear=function(){return this._root=null,this._size=0,this},e.prototype.toList=function(){return function(e){for(var t=e,A=[],n=!1,i=new r(null,null),o=i;!n;)t?(A.push(t),t=t.left):A.length>0?t=(t=o=o.next=A.pop()).right:n=!0;return o.next=null,i.next}(this._root)},e.prototype.load=function(e,t,A){void 0===t&&(t=[]),void 0===A&&(A=!1);var n=e.length,i=this._comparator;if(A&&function e(t,A,n,r,i){if(!(n>=r)){for(var o=t[n+r>>1],a=n-1,s=r+1;;){do{a++}while(i(t[a],o)<0);do{s--}while(i(t[s],o)>0);if(a>=s)break;var g=t[a];t[a]=t[s],t[s]=g,g=A[a],A[a]=A[s],A[s]=g}e(t,A,n,s,i),e(t,A,s+1,r,i)}}(e,t,0,n-1,i),null===this._root)this._root=function e(t,A,n,i){var o=i-n;if(o>0){var a=n+Math.floor(o/2),s=t[a],g=A[a],c=new r(s,g);return c.left=e(t,A,n,a),c.right=e(t,A,a+1,i),c}return null}(e,t,0,n),this._size=n;else{var o=function(e,t,A){for(var n=new r(null,null),i=n,o=e,a=t;null!==o&&null!==a;)A(o.key,a.key)<0?(i.next=o,o=o.next):(i.next=a,a=a.next),i=i.next;return null!==o?i.next=o:null!==a&&(i.next=a),n.next}(this.toList(),function(e,t){for(var A=new r(null,null),n=A,i=0;i<e.length;i++)n=n.next=new r(e[i],t[i]);return n.next=null,A.next}(e,t),i);n=this._size+n,this._root=function e(t,A,n){var r=n-A;if(r>0){var i=A+Math.floor(r/2),o=e(t,A,i),a=t.head;return a.left=o,t.head=t.head.next,a.right=e(t,i+1,n),a}return null}({head:o},0,n)}return this},e.prototype.isEmpty=function(){return null===this._root},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),e.prototype.toString=function(e){void 0===e&&(e=function(e){return String(e.key)});var t=[];return function e(t,A,n,r,i){if(t){r(A+(n?"\u2514\u2500\u2500 ":"\u251c\u2500\u2500 ")+i(t)+"\n");var o=A+(n?" ":"\u2502 ");t.left&&e(t.left,o,!1,r,i),t.right&&e(t.right,o,!0,r,i)}}(this._root,"",!0,(function(e){return t.push(e)}),e),t.join("")},e.prototype.update=function(e,t,A){var n=this._comparator,r=s(e,this._root,n),i=r.left,g=r.right;n(e,t)<0?g=a(t,A,g,n):i=a(t,A,i,n),this._root=function(e,t,A){return null===t?e:(null===e||((t=o(e.key,t,A)).left=e),t)}(i,g,n)},e.prototype.split=function(e){return s(e,this._root,this._comparator)},e}(),c=function(e,t){return e.ll.x<=t.x&&t.x<=e.ur.x&&e.ll.y<=t.y&&t.y<=e.ur.y},u=function(e,t){if(t.ur.x<e.ll.x||e.ur.x<t.ll.x||t.ur.y<e.ll.y||e.ur.y<t.ll.y)return null;var A=e.ll.x<t.ll.x?t.ll.x:e.ll.x,n=e.ur.x<t.ur.x?e.ur.x:t.ur.x;return{ll:{x:A,y:e.ll.y<t.ll.y?t.ll.y:e.ll.y},ur:{x:n,y:e.ur.y<t.ur.y?e.ur.y:t.ur.y}}},l=Number.EPSILON;void 0===l&&(l=Math.pow(2,-52));var I=l*l,C=function(e,t){if(-l<e&&e<l&&-l<t&&t<l)return 0;var A=e-t;return A*A<I*e*t?0:e<t?-1:1},h=function(){function t(){e(this,t),this.reset()}return n(t,[{key:"reset",value:function(){this.xRounder=new f,this.yRounder=new f}},{key:"round",value:function(e,t){return{x:this.xRounder.round(e),y:this.yRounder.round(t)}}}]),t}(),f=function(){function t(){e(this,t),this.tree=new g,this.round(0)}return n(t,[{key:"round",value:function(e){var t=this.tree.add(e),A=this.tree.prev(t);if(null!==A&&0===C(t.key,A.key))return this.tree.remove(e),A.key;var n=this.tree.next(t);return null!==n&&0===C(t.key,n.key)?(this.tree.remove(e),n.key):e}}]),t}(),d=new h,B=function(e,t){return e.x*t.y-e.y*t.x},p=function(e,t){return e.x*t.x+e.y*t.y},E=function(e,t,A){var n={x:t.x-e.x,y:t.y-e.y},r={x:A.x-e.x,y:A.y-e.y},i=B(n,r);return C(i,0)},Q=function(e){return Math.sqrt(p(e,e))},y=function(e,t,A){var n={x:t.x-e.x,y:t.y-e.y},r={x:A.x-e.x,y:A.y-e.y};return B(r,n)/Q(r)/Q(n)},v=function(e,t,A){var n={x:t.x-e.x,y:t.y-e.y},r={x:A.x-e.x,y:A.y-e.y};return p(r,n)/Q(r)/Q(n)},m=function(e,t,A){return 0===t.y?null:{x:e.x+t.x/t.y*(A-e.y),y:A}},b=function(e,t,A){return 0===t.x?null:{x:A,y:e.y+t.y/t.x*(A-e.x)}},w=function(){function t(A,n){e(this,t),void 0===A.events?A.events=[this]:A.events.push(this),this.point=A,this.isLeft=n}return n(t,null,[{key:"compare",value:function(e,A){var n=t.comparePoints(e.point,A.point);return 0!==n?n:(e.point!==A.point&&e.link(A),e.isLeft!==A.isLeft?e.isLeft?1:-1:F.compare(e.segment,A.segment))}},{key:"comparePoints",value:function(e,t){return e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0}}]),n(t,[{key:"link",value:function(e){if(e.point===this.point)throw new Error("Tried to link already linked events");for(var t=e.point.events,A=0,n=t.length;A<n;A++){var r=t[A];this.point.events.push(r),r.point=this.point}this.checkForConsuming()}},{key:"checkForConsuming",value:function(){for(var e=this.point.events.length,t=0;t<e;t++){var A=this.point.events[t];if(void 0===A.segment.consumedBy)for(var n=t+1;n<e;n++){var r=this.point.events[n];void 0===r.consumedBy&&A.otherSE.point.events===r.otherSE.point.events&&A.segment.consume(r.segment)}}}},{key:"getAvailableLinkedEvents",value:function(){for(var e=[],t=0,A=this.point.events.length;t<A;t++){var n=this.point.events[t];n!==this&&!n.segment.ringOut&&n.segment.isInResult()&&e.push(n)}return e}},{key:"getLeftmostComparator",value:function(e){var t=this,A=new Map,n=function(n){var r=n.otherSE;A.set(n,{sine:y(t.point,e.point,r.point),cosine:v(t.point,e.point,r.point)})};return function(e,t){A.has(e)||n(e),A.has(t)||n(t);var r=A.get(e),i=r.sine,o=r.cosine,a=A.get(t),s=a.sine,g=a.cosine;return i>=0&&s>=0?o<g?1:o>g?-1:0:i<0&&s<0?o<g?-1:o>g?1:0:s<i?-1:s>i?1:0}}}]),t}(),S=0,F=function(){function t(A,n,r,i){e(this,t),this.id=++S,this.leftSE=A,A.segment=this,A.otherSE=n,this.rightSE=n,n.segment=this,n.otherSE=A,this.rings=r,this.windings=i}return n(t,null,[{key:"compare",value:function(e,t){var A=e.leftSE.point.x,n=t.leftSE.point.x,r=e.rightSE.point.x,i=t.rightSE.point.x;if(i<A)return 1;if(r<n)return-1;var o=e.leftSE.point.y,a=t.leftSE.point.y,s=e.rightSE.point.y,g=t.rightSE.point.y;if(A<n){if(a<o&&a<s)return 1;if(a>o&&a>s)return-1;var c=e.comparePoint(t.leftSE.point);if(c<0)return 1;if(c>0)return-1;var u=t.comparePoint(e.rightSE.point);return 0!==u?u:-1}if(A>n){if(o<a&&o<g)return-1;if(o>a&&o>g)return 1;var l=t.comparePoint(e.leftSE.point);if(0!==l)return l;var I=e.comparePoint(t.rightSE.point);return I<0?1:I>0?-1:1}if(o<a)return-1;if(o>a)return 1;if(r<i){var C=t.comparePoint(e.rightSE.point);if(0!==C)return C}if(r>i){var h=e.comparePoint(t.rightSE.point);if(h<0)return 1;if(h>0)return-1}if(r!==i){var f=s-o,d=r-A,B=g-a,p=i-n;if(f>d&&B<p)return 1;if(f<d&&B>p)return-1}return r>i?1:r<i||s<g?-1:s>g?1:e.id<t.id?-1:e.id>t.id?1:0}}]),n(t,[{key:"replaceRightSE",value:function(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}},{key:"bbox",value:function(){var e=this.leftSE.point.y,t=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:e<t?e:t},ur:{x:this.rightSE.point.x,y:e>t?e:t}}}},{key:"vector",value:function(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}},{key:"isAnEndpoint",value:function(e){return e.x===this.leftSE.point.x&&e.y===this.leftSE.point.y||e.x===this.rightSE.point.x&&e.y===this.rightSE.point.y}},{key:"comparePoint",value:function(e){if(this.isAnEndpoint(e))return 0;var t=this.leftSE.point,A=this.rightSE.point,n=this.vector();if(t.x===A.x)return e.x===t.x?0:e.x<t.x?1:-1;var r=(e.y-t.y)/n.y,i=t.x+r*n.x;if(e.x===i)return 0;var o=(e.x-t.x)/n.x,a=t.y+o*n.y;return e.y===a?0:e.y<a?-1:1}},{key:"getIntersection",value:function(e){var t=this.bbox(),A=e.bbox(),n=u(t,A);if(null===n)return null;var r=this.leftSE.point,i=this.rightSE.point,o=e.leftSE.point,a=e.rightSE.point,s=c(t,o)&&0===this.comparePoint(o),g=c(A,r)&&0===e.comparePoint(r),l=c(t,a)&&0===this.comparePoint(a),I=c(A,i)&&0===e.comparePoint(i);if(g&&s)return I&&!l?i:!I&&l?a:null;if(g)return l&&r.x===a.x&&r.y===a.y?null:r;if(s)return I&&i.x===o.x&&i.y===o.y?null:o;if(I&&l)return null;if(I)return i;if(l)return a;var C=function(e,t,A,n){if(0===t.x)return b(A,n,e.x);if(0===n.x)return b(e,t,A.x);if(0===t.y)return m(A,n,e.y);if(0===n.y)return m(e,t,A.y);var r=B(t,n);if(0==r)return null;var i={x:A.x-e.x,y:A.y-e.y},o=B(i,t)/r,a=B(i,n)/r;return{x:(e.x+a*t.x+(A.x+o*n.x))/2,y:(e.y+a*t.y+(A.y+o*n.y))/2}}(r,this.vector(),o,e.vector());return null===C?null:c(n,C)?d.round(C.x,C.y):null}},{key:"split",value:function(e){var A=[],n=void 0!==e.events,r=new w(e,!0),i=new w(e,!1),o=this.rightSE;this.replaceRightSE(i),A.push(i),A.push(r);var a=new t(r,o,this.rings.slice(),this.windings.slice());return w.comparePoints(a.leftSE.point,a.rightSE.point)>0&&a.swapEvents(),w.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),n&&(r.checkForConsuming(),i.checkForConsuming()),A}},{key:"swapEvents",value:function(){var e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(var t=0,A=this.windings.length;t<A;t++)this.windings[t]*=-1}},{key:"consume",value:function(e){for(var A=this,n=e;A.consumedBy;)A=A.consumedBy;for(;n.consumedBy;)n=n.consumedBy;var r=t.compare(A,n);if(0!==r){if(r>0){var i=A;A=n,n=i}if(A.prev===n){var o=A;A=n,n=o}for(var a=0,s=n.rings.length;a<s;a++){var g=n.rings[a],c=n.windings[a],u=A.rings.indexOf(g);-1===u?(A.rings.push(g),A.windings.push(c)):A.windings[u]+=c}n.rings=null,n.windings=null,n.consumedBy=A,n.leftSE.consumedBy=A.leftSE,n.rightSE.consumedBy=A.rightSE}}},{key:"prevInResult",value:function(){return void 0!==this._prevInResult||(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null),this._prevInResult}},{key:"beforeState",value:function(){if(void 0!==this._beforeState)return this._beforeState;if(this.prev){var e=this.prev.consumedBy||this.prev;this._beforeState=e.afterState()}else this._beforeState={rings:[],windings:[],multiPolys:[]};return this._beforeState}},{key:"afterState",value:function(){if(void 0!==this._afterState)return this._afterState;var e=this.beforeState();this._afterState={rings:e.rings.slice(0),windings:e.windings.slice(0),multiPolys:[]};for(var t=this._afterState.rings,A=this._afterState.windings,n=this._afterState.multiPolys,r=0,i=this.rings.length;r<i;r++){var o=this.rings[r],a=this.windings[r],s=t.indexOf(o);-1===s?(t.push(o),A.push(a)):A[s]+=a}for(var g=[],c=[],u=0,l=t.length;u<l;u++)if(0!==A[u]){var I=t[u],C=I.poly;if(-1===c.indexOf(C))if(I.isExterior)g.push(C);else{-1===c.indexOf(C)&&c.push(C);var h=g.indexOf(I.poly);-1!==h&&g.splice(h,1)}}for(var f=0,d=g.length;f<d;f++){var B=g[f].multiPoly;-1===n.indexOf(B)&&n.push(B)}return this._afterState}},{key:"isInResult",value:function(){if(this.consumedBy)return!1;if(void 0!==this._isInResult)return this._isInResult;var e=this.beforeState().multiPolys,t=this.afterState().multiPolys;switch(O.type){case"union":var A=0===e.length,n=0===t.length;this._isInResult=A!==n;break;case"intersection":var r,i;e.length<t.length?(r=e.length,i=t.length):(r=t.length,i=e.length),this._isInResult=i===O.numMultiPolys&&r<i;break;case"xor":var o=Math.abs(e.length-t.length);this._isInResult=o%2===1;break;case"difference":var a=function(e){return 1===e.length&&e[0].isSubject};this._isInResult=a(e)!==a(t);break;default:throw new Error("Unrecognized operation type found ".concat(O.type))}return this._isInResult}}],[{key:"fromRing",value:function(e,A,n){var r,i,o,a=w.comparePoints(e,A);if(a<0)r=e,i=A,o=1;else{if(!(a>0))throw new Error("Tried to create degenerate segment at [".concat(e.x,", ").concat(e.y,"]"));r=A,i=e,o=-1}return new t(new w(r,!0),new w(i,!1),[n],[o])}}]),t}(),R=function(){function t(A,n,r){if(e(this,t),!Array.isArray(A)||0===A.length)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=n,this.isExterior=r,this.segments=[],"number"!==typeof A[0][0]||"number"!==typeof A[0][1])throw new Error("Input geometry is not a valid Polygon or MultiPolygon");var i=d.round(A[0][0],A[0][1]);this.bbox={ll:{x:i.x,y:i.y},ur:{x:i.x,y:i.y}};for(var o=i,a=1,s=A.length;a<s;a++){if("number"!==typeof A[a][0]||"number"!==typeof A[a][1])throw new Error("Input geometry is not a valid Polygon or MultiPolygon");var g=d.round(A[a][0],A[a][1]);g.x===o.x&&g.y===o.y||(this.segments.push(F.fromRing(o,g,this)),g.x<this.bbox.ll.x&&(this.bbox.ll.x=g.x),g.y<this.bbox.ll.y&&(this.bbox.ll.y=g.y),g.x>this.bbox.ur.x&&(this.bbox.ur.x=g.x),g.y>this.bbox.ur.y&&(this.bbox.ur.y=g.y),o=g)}i.x===o.x&&i.y===o.y||this.segments.push(F.fromRing(o,i,this))}return n(t,[{key:"getSweepEvents",value:function(){for(var e=[],t=0,A=this.segments.length;t<A;t++){var n=this.segments[t];e.push(n.leftSE),e.push(n.rightSE)}return e}}]),t}(),D=function(){function t(A,n){if(e(this,t),!Array.isArray(A))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new R(A[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(var r=1,i=A.length;r<i;r++){var o=new R(A[r],this,!1);o.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=o.bbox.ll.x),o.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=o.bbox.ll.y),o.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=o.bbox.ur.x),o.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=o.bbox.ur.y),this.interiorRings.push(o)}this.multiPoly=n}return n(t,[{key:"getSweepEvents",value:function(){for(var e=this.exteriorRing.getSweepEvents(),t=0,A=this.interiorRings.length;t<A;t++)for(var n=this.interiorRings[t].getSweepEvents(),r=0,i=n.length;r<i;r++)e.push(n[r]);return e}}]),t}(),G=function(){function t(A,n){if(e(this,t),!Array.isArray(A))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{"number"===typeof A[0][0][0]&&(A=[A])}catch(a){}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(var r=0,i=A.length;r<i;r++){var o=new D(A[r],this);o.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=o.bbox.ll.x),o.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=o.bbox.ll.y),o.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=o.bbox.ur.x),o.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=o.bbox.ur.y),this.polys.push(o)}this.isSubject=n}return n(t,[{key:"getSweepEvents",value:function(){for(var e=[],t=0,A=this.polys.length;t<A;t++)for(var n=this.polys[t].getSweepEvents(),r=0,i=n.length;r<i;r++)e.push(n[r]);return e}}]),t}(),k=function(){function t(A){e(this,t),this.events=A;for(var n=0,r=A.length;n<r;n++)A[n].segment.ringOut=this;this.poly=null}return n(t,null,[{key:"factory",value:function(e){for(var A=[],n=0,r=e.length;n<r;n++){var i=e[n];if(i.isInResult()&&!i.ringOut){for(var o=null,a=i.leftSE,s=i.rightSE,g=[a],c=a.point,u=[];o=a,a=s,g.push(a),a.point!==c;)for(;;){var l=a.getAvailableLinkedEvents();if(0===l.length){var I=g[0].point,C=g[g.length-1].point;throw new Error("Unable to complete output ring starting at [".concat(I.x,",")+" ".concat(I.y,"]. Last matching segment found ends at")+" [".concat(C.x,", ").concat(C.y,"]."))}if(1===l.length){s=l[0].otherSE;break}for(var h=null,f=0,d=u.length;f<d;f++)if(u[f].point===a.point){h=f;break}if(null===h){u.push({index:g.length,point:a.point});var B=a.getLeftmostComparator(o);s=l.sort(B)[0].otherSE;break}var p=u.splice(h)[0],E=g.splice(p.index);E.unshift(E[0].otherSE),A.push(new t(E.reverse()))}A.push(new t(g))}}return A}}]),n(t,[{key:"getGeom",value:function(){for(var e=this.events[0].point,t=[e],A=1,n=this.events.length-1;A<n;A++){var r=this.events[A].point,i=this.events[A+1].point;0!==E(r,e,i)&&(t.push(r),e=r)}if(1===t.length)return null;var o=t[0],a=t[1];0===E(o,e,a)&&t.shift(),t.push(t[0]);for(var s=this.isExteriorRing()?1:-1,g=this.isExteriorRing()?0:t.length-1,c=this.isExteriorRing()?t.length:-1,u=[],l=g;l!=c;l+=s)u.push([t[l].x,t[l].y]);return u}},{key:"isExteriorRing",value:function(){if(void 0===this._isExteriorRing){var e=this.enclosingRing();this._isExteriorRing=!e||!e.isExteriorRing()}return this._isExteriorRing}},{key:"enclosingRing",value:function(){return void 0===this._enclosingRing&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}},{key:"_calcEnclosingRing",value:function(){for(var e=this.events[0],t=1,A=this.events.length;t<A;t++){var n=this.events[t];w.compare(e,n)>0&&(e=n)}for(var r=e.segment.prevInResult(),i=r?r.prevInResult():null;;){if(!r)return null;if(!i)return r.ringOut;if(i.ringOut!==r.ringOut)return i.ringOut.enclosingRing()!==r.ringOut?r.ringOut:r.ringOut.enclosingRing();r=i.prevInResult(),i=r?r.prevInResult():null}}}]),t}(),x=function(){function t(A){e(this,t),this.exteriorRing=A,A.poly=this,this.interiorRings=[]}return n(t,[{key:"addInterior",value:function(e){this.interiorRings.push(e),e.poly=this}},{key:"getGeom",value:function(){var e=[this.exteriorRing.getGeom()];if(null===e[0])return null;for(var t=0,A=this.interiorRings.length;t<A;t++){var n=this.interiorRings[t].getGeom();null!==n&&e.push(n)}return e}}]),t}(),N=function(){function t(A){e(this,t),this.rings=A,this.polys=this._composePolys(A)}return n(t,[{key:"getGeom",value:function(){for(var e=[],t=0,A=this.polys.length;t<A;t++){var n=this.polys[t].getGeom();null!==n&&e.push(n)}return e}},{key:"_composePolys",value:function(e){for(var t=[],A=0,n=e.length;A<n;A++){var r=e[A];if(!r.poly)if(r.isExteriorRing())t.push(new x(r));else{var i=r.enclosingRing();i.poly||t.push(new x(i)),i.poly.addInterior(r)}}return t}}]),t}(),U=function(){function t(A){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:F.compare;e(this,t),this.queue=A,this.tree=new g(n),this.segments=[]}return n(t,[{key:"process",value:function(e){var t=e.segment,A=[];if(e.consumedBy)return e.isLeft?this.queue.remove(e.otherSE):this.tree.remove(t),A;var n=e.isLeft?this.tree.insert(t):this.tree.find(t);if(!n)throw new Error("Unable to find segment #".concat(t.id," ")+"[".concat(t.leftSE.point.x,", ").concat(t.leftSE.point.y,"] -> ")+"[".concat(t.rightSE.point.x,", ").concat(t.rightSE.point.y,"] ")+"in SweepLine tree. Please submit a bug report.");for(var r=n,i=n,o=void 0,a=void 0;void 0===o;)null===(r=this.tree.prev(r))?o=null:void 0===r.key.consumedBy&&(o=r.key);for(;void 0===a;)null===(i=this.tree.next(i))?a=null:void 0===i.key.consumedBy&&(a=i.key);if(e.isLeft){var s=null;if(o){var g=o.getIntersection(t);if(null!==g&&(t.isAnEndpoint(g)||(s=g),!o.isAnEndpoint(g)))for(var c=this._splitSafely(o,g),u=0,l=c.length;u<l;u++)A.push(c[u])}var I=null;if(a){var C=a.getIntersection(t);if(null!==C&&(t.isAnEndpoint(C)||(I=C),!a.isAnEndpoint(C)))for(var h=this._splitSafely(a,C),f=0,d=h.length;f<d;f++)A.push(h[f])}if(null!==s||null!==I){var B=null;B=null===s?I:null===I||w.comparePoints(s,I)<=0?s:I,this.queue.remove(t.rightSE),A.push(t.rightSE);for(var p=t.split(B),E=0,Q=p.length;E<Q;E++)A.push(p[E])}A.length>0?(this.tree.remove(t),A.push(e)):(this.segments.push(t),t.prev=o)}else{if(o&&a){var y=o.getIntersection(a);if(null!==y){if(!o.isAnEndpoint(y))for(var v=this._splitSafely(o,y),m=0,b=v.length;m<b;m++)A.push(v[m]);if(!a.isAnEndpoint(y))for(var S=this._splitSafely(a,y),F=0,R=S.length;F<R;F++)A.push(S[F])}}this.tree.remove(t)}return A}},{key:"_splitSafely",value:function(e,t){this.tree.remove(e);var A=e.rightSE;this.queue.remove(A);var n=e.split(t);return n.push(A),void 0===e.consumedBy&&this.tree.insert(e),n}}]),t}(),_="undefined"!==typeof t&&Object({NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0}).POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,M="undefined"!==typeof t&&Object({NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0}).POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6,O=new(function(){function t(){e(this,t)}return n(t,[{key:"run",value:function(e,t,A){O.type=e,d.reset();for(var n=[new G(t,!0)],r=0,i=A.length;r<i;r++)n.push(new G(A[r],!1));if(O.numMultiPolys=n.length,"difference"===O.type)for(var o=n[0],a=1;a<n.length;)null!==u(n[a].bbox,o.bbox)?a++:n.splice(a,1);if("intersection"===O.type)for(var s=0,c=n.length;s<c;s++)for(var l=n[s],I=s+1,C=n.length;I<C;I++)if(null===u(l.bbox,n[I].bbox))return[];for(var h=new g(w.compare),f=0,B=n.length;f<B;f++)for(var p=n[f].getSweepEvents(),E=0,Q=p.length;E<Q;E++)if(h.insert(p[E]),h.size>_)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big). Please file a bug report.");for(var y=new U(h),v=h.size,m=h.pop();m;){var b=m.key;if(h.size===v){var S=b.segment;throw new Error("Unable to pop() ".concat(b.isLeft?"left":"right"," SweepEvent ")+"[".concat(b.point.x,", ").concat(b.point.y,"] from segment #").concat(S.id," ")+"[".concat(S.leftSE.point.x,", ").concat(S.leftSE.point.y,"] -> ")+"[".concat(S.rightSE.point.x,", ").concat(S.rightSE.point.y,"] from queue. ")+"Please file a bug report.")}if(h.size>_)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big). Please file a bug report.");if(y.segments.length>M)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments). Please file a bug report.");for(var F=y.process(b),R=0,D=F.length;R<D;R++){var x=F[R];void 0===x.consumedBy&&h.insert(x)}v=h.size,m=h.pop()}d.reset();var L=k.factory(y.segments);return new N(L).getGeom()}}]),t}());return{union:function(e){for(var t=arguments.length,A=new Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];return O.run("union",e,A)},intersection:function(e){for(var t=arguments.length,A=new Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];return O.run("intersection",e,A)},xor:function(e){for(var t=arguments.length,A=new Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];return O.run("xor",e,A)},difference:function(e){for(var t=arguments.length,A=new Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];return O.run("difference",e,A)}}}()}).call(this,A(90))},function(e,t,A){"use strict";var n=A(0),r=n.createContext();t.a=r},function(e,t,A){"use strict";var n={centimeters:637100880,centimetres:637100880,degrees:6371008.8/111325,feet:20902260.511392,inches:6371008.8*39.37,kilometers:6371.0088,kilometres:6371.0088,meters:6371008.8,metres:6371008.8,miles:3958.761333810546,millimeters:6371008800,millimetres:6371008800,nauticalmiles:6371008.8/1852,radians:1,yards:6371008.8*1.0936};function r(e,t){void 0===t&&(t="kilometers");var A=n[t];if(!A)throw new Error(t+" units is invalid");return e/A}function i(e,t,A){if(void 0===t&&(t="kilometers"),void 0===A&&(A="kilometers"),!(e>=0))throw new Error("length must be a positive number");return function(e,t){void 0===t&&(t="kilometers");var A=n[t];if(!A)throw new Error(t+" units is invalid");return e*A}(r(e,t),A)}function o(e){if(!e)throw new Error("coord is required");if(!Array.isArray(e)){if("Feature"===e.type&&null!==e.geometry&&"Point"===e.geometry.type)return e.geometry.coordinates;if("Point"===e.type)return e.coordinates}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return e;throw new Error("coord must be GeoJSON Point or an Array of numbers")}t.a=function(e,t,A){void 0===A&&(A={});var n=o(e),r=o(t);return r[0]+=r[0]-n[0]>180?-360:n[0]-r[0]>180?360:0,i(function(e,t,A){var n=A=void 0===A?6371008.8:Number(A),r=e[1]*Math.PI/180,i=t[1]*Math.PI/180,o=i-r,a=Math.abs(t[0]-e[0])*Math.PI/180;a>Math.PI&&(a-=2*Math.PI);var s=Math.log(Math.tan(i/2+Math.PI/4)/Math.tan(r/2+Math.PI/4)),g=Math.abs(s)>1e-11?o/s:Math.cos(r);return Math.sqrt(o*o+g*g*a*a)*n}(n,r),"meters",A.units)}},function(e,t,A){"use strict";var n=A(8),r=A(1),i=A(4),o=A(9),a=A(10),s=A(33),g=A(404),c=A(125),u=A(30);function l(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],g=t[6],c=t[7],u=t[8],l=t[9],I=t[10],C=t[11],h=t[12],f=t[13],d=t[14],B=t[15],p=A[0],E=A[1],Q=A[2],y=A[3];return e[0]=p*n+E*a+Q*u+y*h,e[1]=p*r+E*s+Q*l+y*f,e[2]=p*i+E*g+Q*I+y*d,e[3]=p*o+E*c+Q*C+y*B,p=A[4],E=A[5],Q=A[6],y=A[7],e[4]=p*n+E*a+Q*u+y*h,e[5]=p*r+E*s+Q*l+y*f,e[6]=p*i+E*g+Q*I+y*d,e[7]=p*o+E*c+Q*C+y*B,p=A[8],E=A[9],Q=A[10],y=A[11],e[8]=p*n+E*a+Q*u+y*h,e[9]=p*r+E*s+Q*l+y*f,e[10]=p*i+E*g+Q*I+y*d,e[11]=p*o+E*c+Q*C+y*B,p=A[12],E=A[13],Q=A[14],y=A[15],e[12]=p*n+E*a+Q*u+y*h,e[13]=p*r+E*s+Q*l+y*f,e[14]=p*i+E*g+Q*I+y*d,e[15]=p*o+E*c+Q*C+y*B,e}function I(e,t,A){var n=A[0],r=A[1],i=A[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function C(e,t,A,n,r){var i,o=1/Math.tan(t/2);return e[0]=o/A,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=r&&r!==1/0?(i=1/(n-r),e[10]=(r+n)*i,e[14]=2*r*n*i):(e[10]=-1,e[14]=-2*n),e}function h(e,t,A,n){var r,i,o,a,s,g,c,l,I,C,h=t[0],f=t[1],d=t[2],B=n[0],p=n[1],E=n[2],Q=A[0],y=A[1],v=A[2];return Math.abs(h-Q)<u.b&&Math.abs(f-y)<u.b&&Math.abs(d-v)<u.b?function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}(e):(c=h-Q,l=f-y,I=d-v,r=p*(I*=C=1/Math.hypot(c,l,I))-E*(l*=C),i=E*(c*=C)-B*I,o=B*l-p*c,(C=Math.hypot(r,i,o))?(r*=C=1/C,i*=C,o*=C):(r=0,i=0,o=0),a=l*o-I*i,s=I*r-c*o,g=c*i-l*r,(C=Math.hypot(a,s,g))?(a*=C=1/C,s*=C,g*=C):(a=0,s=0,g=0),e[0]=r,e[1]=a,e[2]=c,e[3]=0,e[4]=i,e[5]=s,e[6]=l,e[7]=0,e[8]=o,e[9]=g,e[10]=I,e[11]=0,e[12]=-(r*h+i*f+o*d),e[13]=-(a*h+s*f+g*d),e[14]=-(c*h+l*f+I*d),e[15]=1,e)}var f=A(180),d=A(67),B=A(94);A.d(t,"a",(function(){return v}));var p=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),E=Object.freeze([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Q=Object.freeze({COL0ROW0:0,COL0ROW1:1,COL0ROW2:2,COL0ROW3:3,COL1ROW0:4,COL1ROW1:5,COL1ROW2:6,COL1ROW3:7,COL2ROW0:8,COL2ROW1:9,COL2ROW2:10,COL2ROW3:11,COL3ROW0:12,COL3ROW1:13,COL3ROW2:14,COL3ROW3:15}),y={},v=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(e){var n;return Object(r.a)(this,A),n=t.call(this,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),1===arguments.length&&Array.isArray(e)?n.copy(e):n.identity(),n}return Object(i.a)(A,[{key:"INDICES",get:function(){return Q}},{key:"ELEMENTS",get:function(){return 16}},{key:"RANK",get:function(){return 4}}],[{key:"IDENTITY",get:function(){return y.IDENTITY=y.IDENTITY||Object.freeze(new A(p)),y.IDENTITY}},{key:"ZERO",get:function(){return y.ZERO=y.ZERO||Object.freeze(new A(E)),y.ZERO}}]),Object(i.a)(A,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}},{key:"set",value:function(e,t,A,n,r,i,o,a,s,g,c,u,l,I,C,h){return this[0]=e,this[1]=t,this[2]=A,this[3]=n,this[4]=r,this[5]=i,this[6]=o,this[7]=a,this[8]=s,this[9]=g,this[10]=c,this[11]=u,this[12]=l,this[13]=I,this[14]=C,this[15]=h,this.check()}},{key:"setRowMajor",value:function(e,t,A,n,r,i,o,a,s,g,c,u,l,I,C,h){return this[0]=e,this[1]=r,this[2]=s,this[3]=l,this[4]=t,this[5]=i,this[6]=g,this[7]=I,this[8]=A,this[9]=o,this[10]=c,this[11]=C,this[12]=n,this[13]=a,this[14]=u,this[15]=h,this.check()}},{key:"toRowMajor",value:function(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}},{key:"identity",value:function(){return this.copy(p)}},{key:"fromQuaternion",value:function(e){return function(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=A+A,a=n+n,s=r+r,g=A*o,c=n*o,u=n*a,l=r*o,I=r*a,C=r*s,h=i*o,f=i*a,d=i*s;e[0]=1-u-C,e[1]=c+d,e[2]=l-f,e[3]=0,e[4]=c-d,e[5]=1-g-C,e[6]=I+h,e[7]=0,e[8]=l+f,e[9]=I-h,e[10]=1-g-u,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1}(this,e),this.check()}},{key:"frustum",value:function(e){var t=e.left,n=e.right,r=e.bottom,i=e.top,o=e.near,a=e.far;return a===1/0?A._computeInfinitePerspectiveOffCenter(this,t,n,r,i,o):function(e,t,A,n,r,i,o){var a=1/(A-t),s=1/(r-n),g=1/(i-o);e[0]=2*i*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*i*s,e[6]=0,e[7]=0,e[8]=(A+t)*a,e[9]=(r+n)*s,e[10]=(o+i)*g,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*i*2*g,e[15]=0}(this,t,n,r,i,o,a),this.check()}},{key:"lookAt",value:function(e,t,A){if(1===arguments.length){var n=e;e=n.eye,t=n.center,A=n.up}return h(this,e,t=t||[0,0,0],A=A||[0,1,0]),this.check()}},{key:"ortho",value:function(e){var t=e.left,A=e.right,n=e.bottom,r=e.top,i=e.near,o=void 0===i?.1:i,a=e.far;return function(e,t,A,n,r,i,o){var a=1/(t-A),s=1/(n-r),g=1/(i-o);e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*g,e[11]=0,e[12]=(t+A)*a,e[13]=(r+n)*s,e[14]=(o+i)*g,e[15]=1}(this,t,A,n,r,o,void 0===a?500:a),this.check()}},{key:"orthographic",value:function(e){var t=e.fovy,n=void 0===t?45*Math.PI/180:t,r=e.aspect,i=void 0===r?1:r,o=e.focalDistance,a=void 0===o?1:o,s=e.near,g=void 0===s?.1:s,c=e.far,u=void 0===c?500:c;if(n>2*Math.PI)throw Error("radians");var l=n/2,I=a*Math.tan(l),C=I*i;return(new A).ortho({left:-C,right:C,bottom:-I,top:I,near:g,far:u})}},{key:"perspective",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fovy,A=void 0===t?void 0:t,n=e.fov,r=void 0===n?45*Math.PI/180:n,i=e.aspect,o=void 0===i?1:i,a=e.near,s=void 0===a?.1:a,g=e.far,c=void 0===g?500:g;if((A=A||r)>2*Math.PI)throw Error("radians");return C(this,A,o,s,c),this.check()}},{key:"determinant",value:function(){return function(e){var t=e[0],A=e[1],n=e[2],r=e[3],i=e[4],o=e[5],a=e[6],s=e[7],g=e[8],c=e[9],u=e[10],l=e[11],I=e[12],C=e[13],h=e[14],f=e[15];return(t*o-A*i)*(u*f-l*h)-(t*a-n*i)*(c*f-l*C)+(t*s-r*i)*(c*h-u*C)+(A*a-n*o)*(g*f-l*I)-(A*s-r*o)*(g*h-u*I)+(n*s-r*a)*(g*C-c*I)}(this)}},{key:"getScale",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}},{key:"getTranslation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}},{key:"getRotation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,A=this.getScale(t||[-0,-0,-0]),n=1/A[0],r=1/A[1],i=1/A[2];return e[0]=this[0]*n,e[1]=this[1]*r,e[2]=this[2]*i,e[3]=0,e[4]=this[4]*n,e[5]=this[5]*r,e[6]=this[6]*i,e[7]=0,e[8]=this[8]*n,e[9]=this[9]*r,e[10]=this[10]*i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},{key:"getRotationMatrix3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,A=this.getScale(t||[-0,-0,-0]),n=1/A[0],r=1/A[1],i=1/A[2];return e[0]=this[0]*n,e[1]=this[1]*r,e[2]=this[2]*i,e[3]=this[4]*n,e[4]=this[5]*r,e[5]=this[6]*i,e[6]=this[8]*n,e[7]=this[9]*r,e[8]=this[10]*i,e}},{key:"transpose",value:function(){return function(e,t){if(e===t){var A=t[1],n=t[2],r=t[3],i=t[6],o=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=A,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=i,e[11]=t[14],e[12]=r,e[13]=o,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15]}(this,this),this.check()}},{key:"invert",value:function(){return function(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=t[4],a=t[5],s=t[6],g=t[7],c=t[8],u=t[9],l=t[10],I=t[11],C=t[12],h=t[13],f=t[14],d=t[15],B=A*a-n*o,p=A*s-r*o,E=A*g-i*o,Q=n*s-r*a,y=n*g-i*a,v=r*g-i*s,m=c*h-u*C,b=c*f-l*C,w=c*d-I*C,S=u*f-l*h,F=u*d-I*h,R=l*d-I*f,D=B*R-p*F+E*S+Q*w-y*b+v*m;D&&(D=1/D,e[0]=(a*R-s*F+g*S)*D,e[1]=(r*F-n*R-i*S)*D,e[2]=(h*v-f*y+d*Q)*D,e[3]=(l*y-u*v-I*Q)*D,e[4]=(s*w-o*R-g*b)*D,e[5]=(A*R-r*w+i*b)*D,e[6]=(f*E-C*v-d*p)*D,e[7]=(c*v-l*E+I*p)*D,e[8]=(o*F-a*w+g*m)*D,e[9]=(n*w-A*F-i*m)*D,e[10]=(C*y-h*E+d*B)*D,e[11]=(u*E-c*y-I*B)*D,e[12]=(a*b-o*S-s*m)*D,e[13]=(A*S-n*b+r*m)*D,e[14]=(h*p-C*Q-f*B)*D,e[15]=(c*Q-u*p+l*B)*D)}(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return l(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return l(this,this,e),this.check()}},{key:"rotateX",value:function(e){return function(e,t,A){var n=Math.sin(A),r=Math.cos(A),i=t[4],o=t[5],a=t[6],s=t[7],g=t[8],c=t[9],u=t[10],l=t[11];t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*r+g*n,e[5]=o*r+c*n,e[6]=a*r+u*n,e[7]=s*r+l*n,e[8]=g*r-i*n,e[9]=c*r-o*n,e[10]=u*r-a*n,e[11]=l*r-s*n}(this,this,e),this.check()}},{key:"rotateY",value:function(e){return function(e,t,A){var n=Math.sin(A),r=Math.cos(A),i=t[0],o=t[1],a=t[2],s=t[3],g=t[8],c=t[9],u=t[10],l=t[11];t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*r-g*n,e[1]=o*r-c*n,e[2]=a*r-u*n,e[3]=s*r-l*n,e[8]=i*n+g*r,e[9]=o*n+c*r,e[10]=a*n+u*r,e[11]=s*n+l*r}(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return function(e,t,A){var n=Math.sin(A),r=Math.cos(A),i=t[0],o=t[1],a=t[2],s=t[3],g=t[4],c=t[5],u=t[6],l=t[7];t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*r+g*n,e[1]=o*r+c*n,e[2]=a*r+u*n,e[3]=s*r+l*n,e[4]=g*r-i*n,e[5]=c*r-o*n,e[6]=u*r-a*n,e[7]=l*r-s*n}(this,this,e),this.check()}},{key:"rotateXYZ",value:function(e){var t=Object(n.a)(e,3),A=t[0],r=t[1],i=t[2];return this.rotateX(A).rotateY(r).rotateZ(i)}},{key:"rotateAxis",value:function(e,t){return function(e,t,A,n){var r,i,o,a,s,g,c,l,I,C,h,f,d,B,p,E,Q,y,v,m,b,w,S,F,R=n[0],D=n[1],G=n[2],k=Math.hypot(R,D,G);k<u.b||(R*=k=1/k,D*=k,G*=k,r=Math.sin(A),o=1-(i=Math.cos(A)),a=t[0],s=t[1],g=t[2],c=t[3],l=t[4],I=t[5],C=t[6],h=t[7],f=t[8],d=t[9],B=t[10],p=t[11],E=R*R*o+i,Q=D*R*o+G*r,y=G*R*o-D*r,v=R*D*o-G*r,m=D*D*o+i,b=G*D*o+R*r,w=R*G*o+D*r,S=D*G*o-R*r,F=G*G*o+i,e[0]=a*E+l*Q+f*y,e[1]=s*E+I*Q+d*y,e[2]=g*E+C*Q+B*y,e[3]=c*E+h*Q+p*y,e[4]=a*v+l*m+f*b,e[5]=s*v+I*m+d*b,e[6]=g*v+C*m+B*b,e[7]=c*v+h*m+p*b,e[8]=a*w+l*S+f*F,e[9]=s*w+I*S+d*F,e[10]=g*w+C*S+B*F,e[11]=c*w+h*S+p*F,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]))}(this,this,e,t),this.check()}},{key:"scale",value:function(e){return Array.isArray(e)?I(this,this,e):I(this,this,[e,e,e]),this.check()}},{key:"translate",value:function(e){return function(e,t,A){var n,r,i,o,a,s,g,c,u,l,I,C,h=A[0],f=A[1],d=A[2];t===e?(e[12]=t[0]*h+t[4]*f+t[8]*d+t[12],e[13]=t[1]*h+t[5]*f+t[9]*d+t[13],e[14]=t[2]*h+t[6]*f+t[10]*d+t[14],e[15]=t[3]*h+t[7]*f+t[11]*d+t[15]):(n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],g=t[6],c=t[7],u=t[8],l=t[9],I=t[10],C=t[11],e[0]=n,e[1]=r,e[2]=i,e[3]=o,e[4]=a,e[5]=s,e[6]=g,e[7]=c,e[8]=u,e[9]=l,e[10]=I,e[11]=C,e[12]=n*h+a*f+u*d+t[12],e[13]=r*h+s*f+l*d+t[13],e[14]=i*h+g*f+I*d+t[14],e[15]=o*h+c*f+C*d+t[15])}(this,this,e),this.check()}},{key:"transform",value:function(e,t){return 4===e.length?(t=B.n(t||[-0,-0,-0,-0],e,this),Object(s.b)(t,4),t):this.transformAsPoint(e,t)}},{key:"transformAsPoint",value:function(e,t){switch(e.length){case 2:t=f.d(t||[-0,-0],e,this);break;case 3:t=d.m(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Object(s.b)(t,e.length),t}},{key:"transformAsVector",value:function(e,t){switch(e.length){case 2:t=Object(c.a)(t||[-0,-0],e,this);break;case 3:t=Object(c.c)(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Object(s.b)(t,e.length),t}},{key:"makeRotationX",value:function(e){return this.identity().rotateX(e)}},{key:"makeTranslation",value:function(e,t,A){return this.identity().translate([e,t,A])}},{key:"transformPoint",value:function(e,t){return Object(s.c)("Matrix4.transformPoint","3.0"),this.transformAsPoint(e,t)}},{key:"transformVector",value:function(e,t){return Object(s.c)("Matrix4.transformVector","3.0"),this.transformAsPoint(e,t)}},{key:"transformDirection",value:function(e,t){return Object(s.c)("Matrix4.transformDirection","3.0"),this.transformAsVector(e,t)}}],[{key:"_computeInfinitePerspectiveOffCenter",value:function(e,t,A,n,r,i){var o=2*i/(A-t),a=2*i/(r-n),s=(A+t)/(A-t),g=(r+n)/(r-n),c=-2*i;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=s,e[9]=g,e[10]=-1,e[11]=-1,e[12]=0,e[13]=0,e[14]=c,e[15]=0,e}}]),A}(g.a)},function(e,t,A){"use strict";function n(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function r(e,t,A){return t&&n(e.prototype,t),A&&n(e,A),e}A.d(t,"a",(function(){return r}))},function(e,t,A){"use strict";var n=A(0),r=A.n(n);t.a=r.a.createContext(null)},function(e,t,A){"use strict";var n=A(0),r=n.createContext({});t.a=r},function(e,t,A){var n,r,i;r=[],void 0===(i="function"===typeof(n=function(){"use strict";function e(e,t,A){this.low=0|e,this.high=0|t,this.unsigned=!!A}function t(e){return!0===(e&&e.__isLong__)}e.prototype.__isLong__,Object.defineProperty(e.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1}),e.isLong=t;var A={},n={};function r(e,t){var r,i,a;return t?(a=0<=(e>>>=0)&&e<256)&&(i=n[e])?i:(r=o(e,(0|e)<0?-1:0,!0),a&&(n[e]=r),r):(a=-128<=(e|=0)&&e<128)&&(i=A[e])?i:(r=o(e,e<0?-1:0,!1),a&&(A[e]=r),r)}function i(e,t){if(isNaN(e)||!isFinite(e))return t?h:C;if(t){if(e<0)return h;if(e>=u)return E}else{if(e<=-l)return Q;if(e+1>=l)return p}return e<0?i(-e,t).neg():o(e%c|0,e/c|0,t)}function o(t,A,n){return new e(t,A,n)}e.fromInt=r,e.fromNumber=i,e.fromBits=o;var a=Math.pow;function s(e,t,A){if(0===e.length)throw Error("empty string");if("NaN"===e||"Infinity"===e||"+Infinity"===e||"-Infinity"===e)return C;if("number"===typeof t?(A=t,t=!1):t=!!t,(A=A||10)<2||36<A)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(0===n)return s(e.substring(1),t,A).neg();for(var r=i(a(A,8)),o=C,g=0;g<e.length;g+=8){var c=Math.min(8,e.length-g),u=parseInt(e.substring(g,g+c),A);if(c<8){var l=i(a(A,c));o=o.mul(l).add(i(u))}else o=(o=o.mul(r)).add(i(u))}return o.unsigned=t,o}function g(t){return t instanceof e?t:"number"===typeof t?i(t):"string"===typeof t?s(t):o(t.low,t.high,t.unsigned)}e.fromString=s,e.fromValue=g;var c=4294967296,u=c*c,l=u/2,I=r(1<<24),C=r(0);e.ZERO=C;var h=r(0,!0);e.UZERO=h;var f=r(1);e.ONE=f;var d=r(1,!0);e.UONE=d;var B=r(-1);e.NEG_ONE=B;var p=o(-1,2147483647,!1);e.MAX_VALUE=p;var E=o(-1,-1,!0);e.MAX_UNSIGNED_VALUE=E;var Q=o(0,-2147483648,!1);e.MIN_VALUE=Q;var y=e.prototype;return y.toInt=function(){return this.unsigned?this.low>>>0:this.low},y.toNumber=function(){return this.unsigned?(this.high>>>0)*c+(this.low>>>0):this.high*c+(this.low>>>0)},y.toString=function(e){if((e=e||10)<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(Q)){var t=i(e),A=this.div(t),n=A.mul(t).sub(this);return A.toString(e)+n.toInt().toString(e)}return"-"+this.neg().toString(e)}for(var r=i(a(e,6),this.unsigned),o=this,s="";;){var g=o.div(r),c=(o.sub(g.mul(r)).toInt()>>>0).toString(e);if((o=g).isZero())return c+s;for(;c.length<6;)c="0"+c;s=""+c+s}},y.getHighBits=function(){return this.high},y.getHighBitsUnsigned=function(){return this.high>>>0},y.getLowBits=function(){return this.low},y.getLowBitsUnsigned=function(){return this.low>>>0},y.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Q)?64:this.neg().getNumBitsAbs();for(var e=0!=this.high?this.high:this.low,t=31;t>0&&0==(e&1<<t);t--);return 0!=this.high?t+33:t+1},y.isZero=function(){return 0===this.high&&0===this.low},y.isNegative=function(){return!this.unsigned&&this.high<0},y.isPositive=function(){return this.unsigned||this.high>=0},y.isOdd=function(){return 1===(1&this.low)},y.isEven=function(){return 0===(1&this.low)},y.equals=function(e){return t(e)||(e=g(e)),(this.unsigned===e.unsigned||this.high>>>31!==1||e.high>>>31!==1)&&this.high===e.high&&this.low===e.low},y.eq=y.equals,y.notEquals=function(e){return!this.eq(e)},y.neq=y.notEquals,y.lessThan=function(e){return this.comp(e)<0},y.lt=y.lessThan,y.lessThanOrEqual=function(e){return this.comp(e)<=0},y.lte=y.lessThanOrEqual,y.greaterThan=function(e){return this.comp(e)>0},y.gt=y.greaterThan,y.greaterThanOrEqual=function(e){return this.comp(e)>=0},y.gte=y.greaterThanOrEqual,y.compare=function(e){if(t(e)||(e=g(e)),this.eq(e))return 0;var A=this.isNegative(),n=e.isNegative();return A&&!n?-1:!A&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},y.comp=y.compare,y.negate=function(){return!this.unsigned&&this.eq(Q)?Q:this.not().add(f)},y.neg=y.negate,y.add=function(e){t(e)||(e=g(e));var A=this.high>>>16,n=65535&this.high,r=this.low>>>16,i=65535&this.low,a=e.high>>>16,s=65535&e.high,c=e.low>>>16,u=0,l=0,I=0,C=0;return I+=(C+=i+(65535&e.low))>>>16,l+=(I+=r+c)>>>16,u+=(l+=n+s)>>>16,u+=A+a,o((I&=65535)<<16|(C&=65535),(u&=65535)<<16|(l&=65535),this.unsigned)},y.subtract=function(e){return t(e)||(e=g(e)),this.add(e.neg())},y.sub=y.subtract,y.multiply=function(e){if(this.isZero())return C;if(t(e)||(e=g(e)),e.isZero())return C;if(this.eq(Q))return e.isOdd()?Q:C;if(e.eq(Q))return this.isOdd()?Q:C;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(I)&&e.lt(I))return i(this.toNumber()*e.toNumber(),this.unsigned);var A=this.high>>>16,n=65535&this.high,r=this.low>>>16,a=65535&this.low,s=e.high>>>16,c=65535&e.high,u=e.low>>>16,l=65535&e.low,h=0,f=0,d=0,B=0;return d+=(B+=a*l)>>>16,f+=(d+=r*l)>>>16,d&=65535,f+=(d+=a*u)>>>16,h+=(f+=n*l)>>>16,f&=65535,h+=(f+=r*u)>>>16,f&=65535,h+=(f+=a*c)>>>16,h+=A*l+n*u+r*c+a*s,o((d&=65535)<<16|(B&=65535),(h&=65535)<<16|(f&=65535),this.unsigned)},y.mul=y.multiply,y.divide=function(e){if(t(e)||(e=g(e)),e.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?h:C;var A,n,r;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return h;if(e.gt(this.shru(1)))return d;r=h}else{if(this.eq(Q))return e.eq(f)||e.eq(B)?Q:e.eq(Q)?f:(A=this.shr(1).div(e).shl(1)).eq(C)?e.isNegative()?f:B:(n=this.sub(e.mul(A)),r=A.add(n.div(e)));if(e.eq(Q))return this.unsigned?h:C;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();r=C}for(n=this;n.gte(e);){A=Math.max(1,Math.floor(n.toNumber()/e.toNumber()));for(var o=Math.ceil(Math.log(A)/Math.LN2),s=o<=48?1:a(2,o-48),c=i(A),u=c.mul(e);u.isNegative()||u.gt(n);)u=(c=i(A-=s,this.unsigned)).mul(e);c.isZero()&&(c=f),r=r.add(c),n=n.sub(u)}return r},y.div=y.divide,y.modulo=function(e){return t(e)||(e=g(e)),this.sub(this.div(e).mul(e))},y.mod=y.modulo,y.not=function(){return o(~this.low,~this.high,this.unsigned)},y.and=function(e){return t(e)||(e=g(e)),o(this.low&e.low,this.high&e.high,this.unsigned)},y.or=function(e){return t(e)||(e=g(e)),o(this.low|e.low,this.high|e.high,this.unsigned)},y.xor=function(e){return t(e)||(e=g(e)),o(this.low^e.low,this.high^e.high,this.unsigned)},y.shiftLeft=function(e){return t(e)&&(e=e.toInt()),0===(e&=63)?this:e<32?o(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):o(0,this.low<<e-32,this.unsigned)},y.shl=y.shiftLeft,y.shiftRight=function(e){return t(e)&&(e=e.toInt()),0===(e&=63)?this:e<32?o(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):o(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},y.shr=y.shiftRight,y.shiftRightUnsigned=function(e){if(t(e)&&(e=e.toInt()),0===(e&=63))return this;var A=this.high;return e<32?o(this.low>>>e|A<<32-e,A>>>e,this.unsigned):o(32===e?A:A>>>e-32,0,this.unsigned)},y.shru=y.shiftRightUnsigned,y.toSigned=function(){return this.unsigned?o(this.low,this.high,!1):this},y.toUnsigned=function(){return this.unsigned?this:o(this.low,this.high,!0)},y.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},y.toBytesLE=function(){var e=this.high,t=this.low;return[255&t,t>>>8&255,t>>>16&255,t>>>24&255,255&e,e>>>8&255,e>>>16&255,e>>>24&255]},y.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t]},e})?n.apply(t,r):n)||(e.exports=i)},function(e,t,A){"use strict";A.d(t,"a",(function(){return u})),A.d(t,"b",(function(){return l}));var n=A(6),r=A(116),i=A(36),o=Math.PI/180,a=new Float32Array(16),s=new Float32Array(12);function g(e,t,A){var n=t[0]*o,r=t[1]*o,i=t[2]*o,a=Math.sin(i),s=Math.sin(n),g=Math.sin(r),c=Math.cos(i),u=Math.cos(n),l=Math.cos(r),I=A[0],C=A[1],h=A[2];e[0]=I*l*u,e[1]=I*g*u,e[2]=I*-s,e[3]=C*(-g*c+l*s*a),e[4]=C*(l*c+g*s*a),e[5]=C*u*a,e[6]=h*(g*a+l*s*c),e[7]=h*(-l*a+g*s*c),e[8]=h*u*c}function c(e){return e[0]=e[0],e[1]=e[1],e[2]=e[2],e[3]=e[4],e[4]=e[5],e[5]=e[6],e[6]=e[8],e[7]=e[9],e[8]=e[10],e[9]=e[12],e[10]=e[13],e[11]=e[14],e.subarray(0,12)}var u={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update:function(e,t){var A=t.startRow,i=t.endRow,o=this.props,u=o.data,l=o.getOrientation,I=o.getScale,C=o.getTranslation,h=o.getTransformMatrix,f=Array.isArray(h),d=f&&16===h.length,B=Array.isArray(I),p=Array.isArray(l),E=Array.isArray(C),Q=d||!f&&Boolean(h(u[0]));e.constant=Q?d:p&&B&&E;var y=e.value;if(e.constant){var v;if(Q)a.set(h),v=c(a);else g(v=s,l,I),v.set(C,9);e.value=new Float32Array(v)}else{var m,b=A*e.size,w=Object(r.a)(u,A,i),S=w.iterable,F=w.objectInfo,R=Object(n.a)(S);try{for(R.s();!(m=R.n()).done;){var D=m.value;F.index++;var G=void 0;if(Q)a.set(d?h:h(D,F)),G=c(a);else g(G=s,p?l:l(D,F),B?I:I(D,F)),G.set(E?C:C(D,F),9);y[b++]=G[0],y[b++]=G[1],y[b++]=G[2],y[b++]=G[3],y[b++]=G[4],y[b++]=G[5],y[b++]=G[6],y[b++]=G[7],y[b++]=G[8],y[b++]=G[9],y[b++]=G[10],y[b++]=G[11]}}catch(k){R.e(k)}finally{R.f()}}}};function l(e,t){return t===i.a.CARTESIAN||t===i.a.METER_OFFSETS||t===i.a.DEFAULT&&!e.isGeospatial}},function(e,t,A){"use strict";e.exports=A(854)},function(e,t,A){"use strict";var n,r,i=A(2),o=A(85),a=A(72),s=function(e){return Object(a.e)(e)?void 0:0},g=(n={},Object(i.a)(n,3074,(function(e){return Object(a.e)(e)?void 0:36064})),Object(i.a)(n,35723,(function(e){return Object(a.e)(e)?void 0:4352})),Object(i.a)(n,35977,s),Object(i.a)(n,32937,s),Object(i.a)(n,36795,(function(e,t){var A=Object(a.e)(e)?e.getExtension("EXT_disjoint_timer_query_webgl2"):e.getExtension("EXT_disjoint_timer_query");return A&&A.GPU_DISJOINT_EXT?t(A.GPU_DISJOINT_EXT):0})),Object(i.a)(n,37445,(function(e,t){var A=e.getExtension("WEBGL_debug_renderer_info");return t(A&&A.UNMASKED_VENDOR_WEBGL||7936)})),Object(i.a)(n,37446,(function(e,t){var A=e.getExtension("WEBGL_debug_renderer_info");return t(A&&A.UNMASKED_RENDERER_WEBGL||7937)})),Object(i.a)(n,34047,(function(e,t){var A=e.luma.extensions.EXT_texture_filter_anisotropic;return A?t(A.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1})),Object(i.a)(n,32883,s),Object(i.a)(n,35071,s),Object(i.a)(n,37447,s),Object(i.a)(n,36063,(function(e,t){if(!Object(a.e)(e)){var A=e.getExtension("WEBGL_draw_buffers");return A?t(A.MAX_COLOR_ATTACHMENTS_WEBGL):0}})),Object(i.a)(n,35379,s),Object(i.a)(n,35374,s),Object(i.a)(n,35377,s),Object(i.a)(n,34852,(function(e){if(!Object(a.e)(e)){var t=e.getExtension("WEBGL_draw_buffers");return t?t.MAX_DRAW_BUFFERS_WEBGL:0}})),Object(i.a)(n,36203,(function(e){return e.getExtension("OES_element_index")?2147483647:65535})),Object(i.a)(n,33001,(function(e){return e.getExtension("OES_element_index")?16777216:65535})),Object(i.a)(n,33e3,(function(e){return 16777216})),Object(i.a)(n,37157,s),Object(i.a)(n,35373,s),Object(i.a)(n,35657,s),Object(i.a)(n,36183,s),Object(i.a)(n,37137,s),Object(i.a)(n,34045,s),Object(i.a)(n,35978,s),Object(i.a)(n,35979,s),Object(i.a)(n,35968,s),Object(i.a)(n,35376,s),Object(i.a)(n,35375,s),Object(i.a)(n,35659,s),Object(i.a)(n,37154,s),Object(i.a)(n,35371,s),Object(i.a)(n,35658,s),Object(i.a)(n,35076,s),Object(i.a)(n,35077,s),Object(i.a)(n,35380,s),n);A.d(t,"b",(function(){return c})),A.d(t,"a",(function(){return u}));var c=(r={},Object(i.a)(r,"OES_vertex_array_object",{meta:{suffix:"OES"},createVertexArray:function(){Object(o.a)(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),Object(i.a)(r,"ANGLE_instanced_arrays",{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(e,t){Object(o.a)(0===t,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),Object(i.a)(r,"WEBGL_draw_buffers",{meta:{suffix:"WEBGL"},drawBuffers:function(){Object(o.a)(!1)}}),Object(i.a)(r,"EXT_disjoint_timer_query",{meta:{suffix:"EXT"},createQuery:function(){Object(o.a)(!1)},deleteQuery:function(){Object(o.a)(!1)},beginQuery:function(){Object(o.a)(!1)},endQuery:function(){},getQuery:function(e,t){return this.getQueryObject(e,t)},getQueryParameter:function(e,t){return this.getQueryObject(e,t)},getQueryObject:function(){}}),r),u={readBuffer:function(e,t,A){Object(a.e)(e)&&t(A)},getVertexAttrib:function(e,t,A,n){var r,i=function(e,t){return{webgl2:Object(a.e)(e),ext:e.getExtension(t)}}(e,"ANGLE_instanced_arrays"),o=i.webgl2,s=i.ext;switch(n){case 35069:r=!!o&&void 0;break;case 35070:r=o||s?void 0:0}return void 0!==r?r:t(A,n)},getProgramParameter:function(e,t,A,n){if(!Object(a.e)(e))switch(n){case 35967:return 35981;case 35971:case 35382:return 0}return t(A,n)},getInternalformatParameter:function(e,t,A,n,r){if(!Object(a.e)(e))switch(r){case 32937:return new Int32Array([0])}return e.getInternalformatParameter(A,n,r)},getTexParameter:function(e,t,A,n){switch(n){case 34046:var r=e.luma.extensions.EXT_texture_filter_anisotropic;n=r&&r.TEXTURE_MAX_ANISOTROPY_EXT||34046}return t(A,n)},getParameter:function(e,t,A){var n=g[A],r="function"===typeof n?n(e,t,A):n;return void 0!==r?r:t(A)},hint:function(e,t,A,n){return t(A,n)}}},,,,function(e,t){e.exports=function(e,t){return e===t||e!==e&&t!==t}},function(e,t,A){var n=A(550),r=A(793),i=A(248);e.exports=function(e){return i(e)?n(e):r(e)}},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function A(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&A(e.prototype,t),n&&A(e,n),e}},function(e,t,A){var n=A(584),r=A(465);e.exports=function(e,t,A,i){var o=!A;A||(A={});for(var a=-1,s=t.length;++a<s;){var g=t[a],c=i?i(A[g],e[g],g,A,e):void 0;void 0===c&&(c=e[g]),o?r(A,g,c):n(A,g,c)}return A}},function(e,t,A){var n=A(256);e.exports=function(e){if(!n(e))throw TypeError(e+" is not an object!");return e}},function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(59),r=A(105);t.default=function(e,t,A,i){void 0===i&&(i={});var o=r.getCoord(e),a=n.degreesToRadians(o[0]),s=n.degreesToRadians(o[1]),g=n.degreesToRadians(A),c=n.lengthToRadians(t,i.units),u=Math.asin(Math.sin(s)*Math.cos(c)+Math.cos(s)*Math.sin(c)*Math.cos(g)),l=a+Math.atan2(Math.sin(g)*Math.sin(c)*Math.cos(s),Math.cos(c)-Math.sin(s)*Math.sin(u)),I=n.radiansToDegrees(l),C=n.radiansToDegrees(u);return n.point([I,C],i.properties)}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(A(629)),r=i(A(1149));function i(e){return e&&e.__esModule?e:{default:e}}function o(e){return(o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t){return!t||"object"!==o(t)&&"function"!==typeof t?g(e):t}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function I(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var C=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(C,e);var t,A,n,i,o=(t=C,function(){var e,A=u(t);if(c()){var n=u(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return s(this,e)});function C(e){var t,A=e.getData,n=e.on,i=e.toNebulaFeature;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,C),I(g(t=o.call(this)),"getData",void 0),I(g(t),"toNebulaFeature",void 0),I(g(t),"id",void 0),I(g(t),"helperLayers",void 0),I(g(t),"usesMapEvents",!1),I(g(t),"enablePicking",!1),I(g(t),"enableSelection",!1),t.id=r.default.v4(),t.getData=A,t.toNebulaFeature=i,t.helperLayers=[],n&&Object.keys(n).forEach((function(e){return t.on(e,n[e])})),t}return A=C,(n=[{key:"render",value:function(e){return null}}])&&a(A.prototype,n),i&&a(A,i),C}(n.default.EventEmitter);t.default=C},function(e,t,A){"use strict";function n(e){return(n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function o(e,t,A){return(o="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=g(e)););return e}(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(A):r.value}})(e,t,A||e)}function a(e,t){return!t||"object"!==n(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function g(e){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.TwoClickPolygonMode=void 0;var u=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(I,e);var t,A,n,u,l=(t=I,function(){var e,A=g(t);if(s()){var n=g(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return a(this,e)});function I(){return r(this,I),l.apply(this,arguments)}return A=I,(n=[{key:"handleClick",value:function(e,t){t.modeConfig&&t.modeConfig.dragToDraw||(this.addClickSequence(e),this.checkAndFinishPolygon(t))}},{key:"handleStartDragging",value:function(e,t){t.modeConfig&&t.modeConfig.dragToDraw&&(this.addClickSequence(e),e.cancelPan())}},{key:"handleStopDragging",value:function(e,t){t.modeConfig&&t.modeConfig.dragToDraw&&(this.addClickSequence(e),this.checkAndFinishPolygon(t))}},{key:"checkAndFinishPolygon",value:function(e){var t=this.getClickSequence(),A=this.getTentativeGuide(e);if(t.length>1&&A&&"Polygon"===A.geometry.type){var n={type:"Feature",properties:{shape:A.properties.shape},geometry:{type:"Polygon",coordinates:A.geometry.coordinates}},r=this.getAddFeatureOrBooleanPolygonAction(n,e);this.resetClickSequence(),r&&e.onEdit(r)}}},{key:"getGuides",value:function(e){var t=e.lastPointerMoveEvent,A=e.modeConfig,n=this.getClickSequence(),r={type:"FeatureCollection",features:[]};if(0===n.length)return r;var i=n[0],o=t.mapCoords,a=this.getTwoClickPolygon(i,o,A);return a&&r.features.push({type:"Feature",properties:{shape:a.properties&&a.properties.shape,guideType:"tentative"},geometry:a.geometry}),r}},{key:"getTwoClickPolygon",value:function(e,t,A){return null}},{key:"handlePointerMove",value:function(e,t){t.onUpdateCursor("cell"),o(g(I.prototype),"handlePointerMove",this).call(this,e,t)}},{key:"createTentativeFeature",value:function(e){var t,A=e.lastPointerMoveEvent,n=this.getClickSequence(),r=A?[A.mapCoords]:[];return 1===n.length&&(t=this.getTwoClickPolygon(n[0],r[0],e.modeConfig)),t}}])&&i(A.prototype,n),u&&i(A,u),I}(A(79).GeoJsonEditMode);t.TwoClickPolygonMode=u},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(141),r=A(59);t.default=function(e,t){void 0===t&&(t={});var A=0,i=0,o=0;return n.coordEach(e,(function(e){A+=e[0],i+=e[1],o++})),r.point([A/o,i/o],t.properties)}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(105);function r(e,t,A){var n=!1;t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1]&&(t=t.slice(0,t.length-1));for(var r=0,i=t.length-1;r<t.length;i=r++){var o=t[r][0],a=t[r][1],s=t[i][0],g=t[i][1];if(e[1]*(o-s)+a*(s-e[0])+g*(e[0]-o)===0&&(o-e[0])*(s-e[0])<=0&&(a-e[1])*(g-e[1])<=0)return!A;a>e[1]!==g>e[1]&&e[0]<(s-o)*(e[1]-a)/(g-a)+o&&(n=!n)}return n}t.default=function(e,t,A){if(void 0===A&&(A={}),!e)throw new Error("point is required");if(!t)throw new Error("polygon is required");var i=n.getCoord(e),o=n.getGeom(t),a=o.type,s=t.bbox,g=o.coordinates;if(s&&!1===function(e,t){return t[0]<=e[0]&&t[1]<=e[1]&&t[2]>=e[0]&&t[3]>=e[1]}(i,s))return!1;"Polygon"===a&&(g=[g]);for(var c=!1,u=0;u<g.length&&!c;u++)if(r(i,g[u][0],A.ignoreBoundary)){for(var l=!1,I=1;I<g[u].length&&!l;)r(i,g[u][I],!A.ignoreBoundary)&&(l=!0),I++;l||(c=!0)}return c}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ArrowStyles",{enumerable:!0,get:function(){return n.ArrowStyles}}),Object.defineProperty(t,"DEFAULT_ARROWS",{enumerable:!0,get:function(){return n.DEFAULT_ARROWS}}),Object.defineProperty(t,"MAX_ARROWS",{enumerable:!0,get:function(){return n.MAX_ARROWS}}),Object.defineProperty(t,"EditableGeoJsonLayer",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"EditableH3ClusterLayer",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"SelectionLayer",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"ElevatedEditHandleLayer",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"PathOutlineLayer",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"PathMarkerLayer",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(t,"JunctionScatterplotLayer",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"toDeckColor",{enumerable:!0,get:function(){return u.toDeckColor}});var n=A(1068),r=l(A(493)),i=l(A(1093)),o=l(A(1094)),a=l(A(1095)),s=l(A(639)),g=l(A(1097)),c=l(A(1101)),u=A(1102);function l(e){return e&&e.__esModule?e:{default:e}}},function(e,t,A){"use strict";function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;if("string"===typeof e)return e.slice(0,t);if(ArrayBuffer.isView(e))return r(e.buffer,e.byteOffset,t);if(e instanceof ArrayBuffer){var A=0;return r(e,A,t)}return""}function r(e,t,A){if(e.byteLength<=t+A)return"";for(var n=new DataView(e),r="",i=0;i<A;i++)r+=String.fromCharCode(n.getUint8(t+i));return r}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";t.a=function(e,t){}},function(e,t,A){"use strict";(function(e){function n(){var t;if("undefined"!==typeof window&&window.performance)t=window.performance.now();else if("undefined"!==typeof e&&e.hrtime){var A=e.hrtime();t=1e3*A[0]+A[1]/1e6}else t=Date.now();return t}A.d(t,"a",(function(){return n}))}).call(this,A(90))},function(e,t,A){"use strict";A.d(t,"c",(function(){return r})),A.d(t,"b",(function(){return i})),A.d(t,"a",(function(){return a}));var n=A(78).b.COMPONENT;function r(e){var t=u(e);for(var A in t){var n=t[A],r=n.validate;if(r&&!r(e[A],n))throw new Error("Invalid prop ".concat(A,": ").concat(e[A]))}}function i(e,t){var A=a({newProps:e,oldProps:t,propTypes:u(e),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),n=function(e,t){if(null===t)return"oldProps is null, initial diff";var A=null,n=e.dataComparator,r=e._dataDiff;n?n(e.data,t.data)||(A="Data comparator detected a change"):e.data!==t.data&&(A="A new data container was supplied");A&&r&&(A=r(e.data,t.data)||A);return A}(e,t),r=!1;return n||(r=function(e,t){if(null===t)return"oldProps is null, initial diff";if("all"in e.updateTriggers){if(c(e,t,"all"))return{all:!0}}var A={},n=!1;for(var r in e.updateTriggers){if("all"!==r)c(e,t,r)&&(A[r]=!0,n=A)}return n}(e,t)),{dataChanged:n,propsChanged:A,updateTriggersChanged:r,extensionsChanged:g(e,t),transitionsChanged:o(e,t)}}function o(e,t){if(!e.transitions)return null;var A={},n=u(e);for(var r in e.transitions){var i=n[r],o=i&&i.type;("number"===o||"color"===o||"array"===o)&&s(e[r],t[r],i)&&(A[r]=!0)}return A}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.newProps,A=e.oldProps,n=e.ignoreProps,r=void 0===n?{}:n,i=e.propTypes,o=void 0===i?{}:i,a=e.triggerName,g=void 0===a?"props":a;if(A===t)return null;if("object"!==typeof t||null===t)return"".concat(g," changed shallowly");if("object"!==typeof A||null===A)return"".concat(g," changed shallowly");for(var c=0,u=Object.keys(t);c<u.length;c++){var l=u[c];if(!(l in r)){if(!(l in A))return"".concat(g,".").concat(l," added");var I=s(t[l],A[l],o[l]);if(I)return"".concat(g,".").concat(l," ").concat(I)}}for(var C=0,h=Object.keys(A);C<h.length;C++){var f=h[C];if(!(f in r)){if(!(f in t))return"".concat(g,".").concat(f," dropped");if(!Object.hasOwnProperty.call(t,f)){var d=s(t[f],A[f],o[f]);if(d)return"".concat(g,".").concat(f," ").concat(d)}}}return null}function s(e,t,A){var n=A&&A.equal;return n&&!n(e,t,A)?"changed deeply":n||!(n=e&&t&&e.equals)||n.call(e,t)?n||t===e?null:"changed shallowly":"changed deeply"}function g(e,t){if(null===t)return"oldProps is null, initial diff";var A=t.extensions,n=e.extensions;if(n===A)return!1;if(n.length!==A.length)return!0;for(var r=0;r<n.length;r++)if(!n[r].equals(A[r]))return!0;return!1}function c(e,t,A){var n=e.updateTriggers[A];n=void 0===n||null===n?{}:n;var r=t.updateTriggers[A];return a({oldProps:r=void 0===r||null===r?{}:r,newProps:n,triggerName:A})}function u(e){var t=e[n],A=t&&t.constructor;return A?A._propTypes:{}}},function(e,t,A){"use strict";(function(e){function n(){var t;if("undefined"!==typeof window&&window.performance)t=window.performance.now();else if("undefined"!==typeof e&&e.hrtime){var A=e.hrtime();t=1e3*A[0]+A[1]/1e6}else t=Date.now();return t}A.d(t,"a",(function(){return n}))}).call(this,A(90))},function(e,t,A){"use strict";A.d(t,"a",(function(){return s})),A.d(t,"b",(function(){return c}));var n=A(7),r=A(1),i=A(4),o=A(162),a=function(){},s={BREAK:1,SNAP_TO_END:2,IGNORE:3},g={transitionEasing:function(e){return e},transitionInterruption:s.BREAK,onTransitionStart:a,onTransitionInterrupt:a,onTransitionEnd:a},c=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(r.a)(this,e),this.ControllerState=t,this.props=Object(n.a)({},g,{},A),this.propsInTransition=null,this.transition=new o.a(A.timeline),this.onViewStateChange=A.onViewStateChange||a,this.onStateChange=A.onStateChange||a,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}return Object(i.a)(e,[{key:"finalize",value:function(){this.transition.cancel()}},{key:"getViewportInTransition",value:function(){return this.propsInTransition}},{key:"processViewStateChange",value:function(e){var t=!1,A=this.props;if(e=Object(n.a)({},g,{},e),this.props=e,this._shouldIgnoreViewportChange(A,e))return t;if(this._isTransitionEnabled(e)){var r=this.transition.settings,i=r.interruption,o=r.endProps,a=Object(n.a)({},A,{},i===s.SNAP_TO_END?o:this.propsInTransition||A);this._triggerTransition(a,e),t=!0}else this.transition.cancel();return t}},{key:"updateTransition",value:function(){this.transition.update()}},{key:"_isTransitionEnabled",value:function(e){var t=e.transitionDuration,A=e.transitionInterpolator;return(t>0||"auto"===t)&&Boolean(A)}},{key:"_isUpdateDueToCurrentTransition",value:function(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}},{key:"_shouldIgnoreViewportChange",value:function(e,t){return this.transition.inProgress?this.transition.settings.interruption===s.IGNORE||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}},{key:"_triggerTransition",value:function(e,t){var A=new this.ControllerState(e),n=new this.ControllerState(t).shortestPathFrom(A),r=t.transitionInterpolator,i=r.getDuration?r.getDuration(e,t):t.transitionDuration;if(0!==i){var o=t.transitionInterpolator.initializeProps(e,n);this.propsInTransition={},this.duration=i,this.transition.start({duration:i,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:o.start,endProps:o.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}}},{key:"_onTransitionEnd",value:function(e){var t=this;return function(A){t.propsInTransition=null,t.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(A)}}},{key:"_onTransitionUpdate",value:function(e){var t=e.time,A=e.settings,r=A.interpolator,i=A.startProps,o=A.endProps,a=A.duration,s=(0,A.easing)(t/a),g=r.interpolateProps(i,o,s);this.propsInTransition=new this.ControllerState(Object(n.a)({},this.props,{},g)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}]),e}()},function(e,t,A){"use strict";A.d(t,"a",(function(){return h}));var n=A(7),r=A(6),i=A(1),o=A(4),a=A(16),s=A(17),g=A(9),c=A(10),u=A(265),l=A(23),I=["longitude","latitude","zoom","bearing","pitch"],C=["longitude","latitude","zoom"],h=function(e){Object(g.a)(A,e);var t=Object(c.a)(A);function A(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(i.a)(this,A);var r=Array.isArray(n)?n:n.transitionProps;return(e=t.call(this,r||{compare:I,extract:I,required:C})).opts=n,e}return Object(o.a)(A,[{key:"initializeProps",value:function(e,t){var n=Object(s.a)(Object(a.a)(A.prototype),"initializeProps",this).call(this,e,t),r=this.opts,i=r.makeViewport,o=r.around;if(i&&o){var g=i(e),c=i(t),u=g.unproject(o);n.start.around=o,Object.assign(n.end,{around:c.project(u),aroundPosition:u,width:t.width,height:t.height})}return n}},{key:"interpolateProps",value:function(e,t,A){var i,o={},a=Object(r.a)(this._propsToExtract);try{for(a.s();!(i=a.n()).done;){var s=i.value;o[s]=Object(l.lerp)(e[s]||0,t[s]||0,A)}}catch(c){a.e(c)}finally{a.f()}if(t.aroundPosition){var g=this.opts.makeViewport(Object(n.a)({},t,{},o));Object.assign(o,g.panByPosition(t.aroundPosition,Object(l.lerp)(e.around,t.around,A)))}return o}}]),A}(u.a)},function(e,t,A){"use strict";var n=A(98),r=A.n(n),i=A(416),o=A.n(i),a=A(93),s=A.n(a),g=A(278),c=A.n(g),u=A(279),l=A.n(u),I=A(280),C=A.n(I),h=A(281),f=A.n(h),d=A(0),B=A.n(d),p=A(13),E=A.n(p),Q=A(61),y=A.n(Q),v=A(100),m=A(282),b=A(183),w=A.n(b),S=!("undefined"===typeof window||!window.document||!window.document.createElement);function F(e,t){var A={};return A[e.toLowerCase()]=t.toLowerCase(),A["Webkit"+e]="webkit"+t,A["Moz"+e]="moz"+t,A["ms"+e]="MS"+t,A["O"+e]="o"+t.toLowerCase(),A}var R=function(e,t){var A={animationend:F("Animation","AnimationEnd"),transitionend:F("Transition","TransitionEnd")};return e&&("AnimationEvent"in t||delete A.animationend.animation,"TransitionEvent"in t||delete A.transitionend.transition),A}(S,"undefined"!==typeof window?window:{}),D={};S&&(D=document.createElement("div").style);var G={};function k(e){if(G[e])return G[e];var t=R[e];if(t)for(var A=Object.keys(t),n=A.length,r=0;r<n;r+=1){var i=A[r];if(Object.prototype.hasOwnProperty.call(t,i)&&i in D)return G[e]=t[i],G[e]}return""}var x=k("animationend"),N=k("transitionend"),U=!(!x||!N);function _(e,t){return e?"object"===typeof e?e[t.replace(/-\w/g,(function(e){return e[1].toUpperCase()}))]:e+"-"+t:null}var M={eventProps:E.a.object,visible:E.a.bool,children:E.a.func,motionName:E.a.oneOfType([E.a.string,E.a.object]),motionAppear:E.a.bool,motionEnter:E.a.bool,motionLeave:E.a.bool,motionLeaveImmediately:E.a.bool,removeOnLeave:E.a.bool,leavedClassName:E.a.string,onAppearStart:E.a.func,onAppearActive:E.a.func,onAppearEnd:E.a.func,onEnterStart:E.a.func,onEnterActive:E.a.func,onEnterEnd:E.a.func,onLeaveStart:E.a.func,onLeaveActive:E.a.func,onLeaveEnd:E.a.func};var O=function(e){var t=e,A=!!B.a.forwardRef;function n(e){return!(!e.motionName||!t)}"object"===typeof e&&(t=e.transitionSupport,A="forwardRef"in e?e.forwardRef:A);var i=function(e){function t(){c()(this,t);var e=C()(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onDomUpdate=function(){var t=e.state,A=t.status,r=t.newStatus,i=e.props,o=i.onAppearStart,a=i.onEnterStart,s=i.onLeaveStart,g=i.onAppearActive,c=i.onEnterActive,u=i.onLeaveActive,l=i.motionAppear,I=i.motionEnter,C=i.motionLeave;if(n(e.props)){var h=e.getElement();e.$cacheEle!==h&&(e.removeEventListener(e.$cacheEle),e.addEventListener(h),e.$cacheEle=h),r&&"appear"===A&&l?e.updateStatus(o,null,null,(function(){e.updateActiveStatus(g,"appear")})):r&&"enter"===A&&I?e.updateStatus(a,null,null,(function(){e.updateActiveStatus(c,"enter")})):r&&"leave"===A&&C&&e.updateStatus(s,null,null,(function(){e.updateActiveStatus(u,"leave")}))}},e.onMotionEnd=function(t){var A=e.state,n=A.status,r=A.statusActive,i=e.props,o=i.onAppearEnd,a=i.onEnterEnd,s=i.onLeaveEnd;"appear"===n&&r?e.updateStatus(o,{status:"none"},t):"enter"===n&&r?e.updateStatus(a,{status:"none"},t):"leave"===n&&r&&e.updateStatus(s,{status:"none"},t)},e.setNodeRef=function(t){var A=e.props.internalRef;e.node=t,"function"===typeof A?A(t):A&&"current"in A&&(A.current=t)},e.getElement=function(){return Object(m.a)(e.node||e)},e.addEventListener=function(t){t&&(t.addEventListener(N,e.onMotionEnd),t.addEventListener(x,e.onMotionEnd))},e.removeEventListener=function(t){t&&(t.removeEventListener(N,e.onMotionEnd),t.removeEventListener(x,e.onMotionEnd))},e.updateStatus=function(t,A,n,r){var i=t?t(e.getElement(),n):null;if(!1!==i&&!e._destroyed){var o=void 0;r&&(o=function(){e.nextFrame(r)}),e.setState(s()({statusStyle:"object"===typeof i?i:null,newStatus:!1},A),o)}},e.updateActiveStatus=function(t,A){e.nextFrame((function(){e.state.status===A&&e.updateStatus(t,{statusActive:!0})}))},e.nextFrame=function(t){e.cancelNextFrame(),e.raf=w()(t)},e.cancelNextFrame=function(){e.raf&&(w.a.cancel(e.raf),e.raf=null)},e.state={status:"none",statusActive:!1,newStatus:!1,statusStyle:null},e.$cacheEle=null,e.node=null,e.raf=null,e}return f()(t,e),l()(t,[{key:"componentDidMount",value:function(){this.onDomUpdate()}},{key:"componentDidUpdate",value:function(){this.onDomUpdate()}},{key:"componentWillUnmount",value:function(){this._destroyed=!0,this.removeEventListener(this.$cacheEle),this.cancelNextFrame()}},{key:"render",value:function(){var e,t=this.state,A=t.status,i=t.statusActive,o=t.statusStyle,a=this.props,g=a.children,c=a.motionName,u=a.visible,l=a.removeOnLeave,I=a.leavedClassName,C=a.eventProps;return g?"none"!==A&&n(this.props)?g(s()({},C,{className:y()((e={},r()(e,_(c,A),"none"!==A),r()(e,_(c,A+"-active"),"none"!==A&&i),r()(e,c,"string"===typeof c),e)),style:o}),this.setNodeRef):u?g(s()({},C),this.setNodeRef):l?null:g(s()({},C,{className:I}),this.setNodeRef):null}}],[{key:"getDerivedStateFromProps",value:function(e,t){var A=t.prevProps,r=t.status;if(!n(e))return{};var i=e.visible,o=e.motionAppear,a=e.motionEnter,s=e.motionLeave,g=e.motionLeaveImmediately,c={prevProps:e};return("appear"===r&&!o||"enter"===r&&!a||"leave"===r&&!s)&&(c.status="none",c.statusActive=!1,c.newStatus=!1),!A&&i&&o&&(c.status="appear",c.statusActive=!1,c.newStatus=!0),A&&!A.visible&&i&&a&&(c.status="enter",c.statusActive=!1,c.newStatus=!0),(A&&A.visible&&!i&&s||!A&&g&&!i&&s)&&(c.status="leave",c.statusActive=!1,c.newStatus=!0),c}}]),t}(B.a.Component);return i.propTypes=s()({},M,{internalRef:E.a.oneOfType([E.a.object,E.a.func])}),i.defaultProps={visible:!0,motionEnter:!0,motionAppear:!0,motionLeave:!0,removeOnLeave:!0},Object(v.a)(i),A?B.a.forwardRef((function(e,t){return B.a.createElement(i,s()({internalRef:t},e))})):i}(U),L=A(229),T=A(328),Z=A(52),H=function(e){function t(e){c()(this,t);var A=C()(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return Y.call(A),A.state={dragNodeHighlight:!1},A}return f()(t,e),l()(t,[{key:"getChildContext",value:function(){return s()({},this.context,{rcTreeNode:{}})}},{key:"componentDidMount",value:function(){var e=this.props.eventKey,t=this.context.rcTree.registerTreeNode;this.syncLoadData(this.props),t(e,this)}},{key:"componentDidUpdate",value:function(){this.syncLoadData(this.props)}},{key:"componentWillUnmount",value:function(){var e=this.props.eventKey;(0,this.context.rcTree.registerTreeNode)(e,null)}},{key:"isSelectable",value:function(){var e=this.props.selectable,t=this.context.rcTree.selectable;return"boolean"===typeof e?e:t}},{key:"render",value:function(){var e,t=this.props.loading,A=this.props,n=A.className,i=A.style,a=A.dragOver,g=A.dragOverGapTop,c=A.dragOverGapBottom,u=A.isLeaf,l=A.expanded,I=A.selected,C=A.checked,h=A.halfChecked,f=o()(A,["className","style","dragOver","dragOverGapTop","dragOverGapBottom","isLeaf","expanded","selected","checked","halfChecked"]),d=this.context.rcTree,p=d.prefixCls,E=d.filterTreeNode,Q=d.draggable,v=this.isDisabled(),m=Object(Z.i)(f);return B.a.createElement("li",s()({className:y()(n,(e={},r()(e,p+"-treenode-disabled",v),r()(e,p+"-treenode-switcher-"+(l?"open":"close"),!u),r()(e,p+"-treenode-checkbox-checked",C),r()(e,p+"-treenode-checkbox-indeterminate",h),r()(e,p+"-treenode-selected",I),r()(e,p+"-treenode-loading",t),r()(e,"drag-over",!v&&a),r()(e,"drag-over-gap-top",!v&&g),r()(e,"drag-over-gap-bottom",!v&&c),r()(e,"filter-node",E&&E(this)),e)),style:i,role:"treeitem",onDragEnter:Q?this.onDragEnter:void 0,onDragOver:Q?this.onDragOver:void 0,onDragLeave:Q?this.onDragLeave:void 0,onDrop:Q?this.onDrop:void 0,onDragEnd:Q?this.onDragEnd:void 0},m),this.renderSwitcher(),this.renderCheckbox(),this.renderSelector(),this.renderChildren())}}]),t}(B.a.Component);H.propTypes={eventKey:E.a.string,prefixCls:E.a.string,className:E.a.string,style:E.a.object,root:E.a.object,onSelect:E.a.func,expanded:E.a.bool,selected:E.a.bool,checked:E.a.bool,loaded:E.a.bool,loading:E.a.bool,halfChecked:E.a.bool,children:E.a.node,title:E.a.node,pos:E.a.string,dragOver:E.a.bool,dragOverGapTop:E.a.bool,dragOverGapBottom:E.a.bool,isLeaf:E.a.bool,checkable:E.a.bool,selectable:E.a.bool,disabled:E.a.bool,disableCheckbox:E.a.bool,icon:E.a.oneOfType([E.a.node,E.a.func]),switcherIcon:E.a.oneOfType([E.a.node,E.a.func])},H.contextTypes=T.a,H.childContextTypes=T.a,H.defaultProps={title:"---"};var Y=function(){var e=this;this.onSelectorClick=function(t){(0,e.context.rcTree.onNodeClick)(t,e),e.isSelectable()?e.onSelect(t):e.onCheck(t)},this.onSelectorDoubleClick=function(t){(0,e.context.rcTree.onNodeDoubleClick)(t,e)},this.onSelect=function(t){if(!e.isDisabled()){var A=e.context.rcTree.onNodeSelect;t.preventDefault(),A(t,e)}},this.onCheck=function(t){if(!e.isDisabled()){var A=e.props,n=A.disableCheckbox,r=A.checked,i=e.context.rcTree.onNodeCheck;if(e.isCheckable()&&!n)t.preventDefault(),i(t,e,!r)}},this.onMouseEnter=function(t){(0,e.context.rcTree.onNodeMouseEnter)(t,e)},this.onMouseLeave=function(t){(0,e.context.rcTree.onNodeMouseLeave)(t,e)},this.onContextMenu=function(t){(0,e.context.rcTree.onNodeContextMenu)(t,e)},this.onDragStart=function(t){var A=e.context.rcTree.onNodeDragStart;t.stopPropagation(),e.setState({dragNodeHighlight:!0}),A(t,e);try{t.dataTransfer.setData("text/plain","")}catch(n){}},this.onDragEnter=function(t){var A=e.context.rcTree.onNodeDragEnter;t.preventDefault(),t.stopPropagation(),A(t,e)},this.onDragOver=function(t){var A=e.context.rcTree.onNodeDragOver;t.preventDefault(),t.stopPropagation(),A(t,e)},this.onDragLeave=function(t){var A=e.context.rcTree.onNodeDragLeave;t.stopPropagation(),A(t,e)},this.onDragEnd=function(t){var A=e.context.rcTree.onNodeDragEnd;t.stopPropagation(),e.setState({dragNodeHighlight:!1}),A(t,e)},this.onDrop=function(t){var A=e.context.rcTree.onNodeDrop;t.preventDefault(),t.stopPropagation(),e.setState({dragNodeHighlight:!1}),A(t,e)},this.onExpand=function(t){(0,e.context.rcTree.onNodeExpand)(t,e)},this.setSelectHandle=function(t){e.selectHandle=t},this.getNodeChildren=function(){var t=e.props.children,A=Object(L.a)(t).filter((function(e){return e})),n=Object(Z.k)(A);return A.length!==n.length&&Object(Z.p)(),n},this.getNodeState=function(){var t=e.props.expanded;return e.isLeaf()?null:t?"open":"close"},this.isLeaf=function(){var t=e.props,A=t.isLeaf,n=t.loaded,r=e.context.rcTree.loadData,i=0!==e.getNodeChildren().length;return!1!==A&&(A||!r&&!i||r&&n&&!i)},this.isDisabled=function(){var t=e.props.disabled,A=e.context.rcTree.disabled;return!1!==t&&!(!A&&!t)},this.isCheckable=function(){var t=e.props.checkable,A=e.context.rcTree.checkable;return!(!A||!1===t)&&A},this.syncLoadData=function(t){var A=t.expanded,n=t.loading,r=t.loaded,i=e.context.rcTree,o=i.loadData,a=i.onNodeLoad;n||o&&A&&!e.isLeaf()&&(0!==e.getNodeChildren().length||r||a(e))},this.renderSwitcher=function(){var t=e.props,A=t.expanded,n=t.switcherIcon,r=e.context.rcTree,i=r.prefixCls,o=r.switcherIcon,a=n||o;if(e.isLeaf())return B.a.createElement("span",{className:y()(i+"-switcher",i+"-switcher-noop")},"function"===typeof a?a(s()({},e.props,{isLeaf:!0})):a);var g=y()(i+"-switcher",i+"-switcher_"+(A?"open":"close"));return B.a.createElement("span",{onClick:e.onExpand,className:g},"function"===typeof a?a(s()({},e.props,{isLeaf:!1})):a)},this.renderCheckbox=function(){var t=e.props,A=t.checked,n=t.halfChecked,r=t.disableCheckbox,i=e.context.rcTree.prefixCls,o=e.isDisabled(),a=e.isCheckable();if(!a)return null;var s="boolean"!==typeof a?a:null;return B.a.createElement("span",{className:y()(i+"-checkbox",A&&i+"-checkbox-checked",!A&&n&&i+"-checkbox-indeterminate",(o||r)&&i+"-checkbox-disabled"),onClick:e.onCheck},s)},this.renderIcon=function(){var t=e.props.loading,A=e.context.rcTree.prefixCls;return B.a.createElement("span",{className:y()(A+"-iconEle",A+"-icon__"+(e.getNodeState()||"docu"),t&&A+"-icon_loading")})},this.renderSelector=function(){var t=e.state.dragNodeHighlight,A=e.props,n=A.title,r=A.selected,i=A.icon,o=A.loading,a=e.context.rcTree,g=a.prefixCls,c=a.showIcon,u=a.icon,l=a.draggable,I=a.loadData,C=e.isDisabled(),h=g+"-node-content-wrapper",f=void 0;if(c){var d=i||u;f=d?B.a.createElement("span",{className:y()(g+"-iconEle",g+"-icon__customize")},"function"===typeof d?B.a.createElement(d,s()({},e.props)):d):e.renderIcon()}else I&&o&&(f=e.renderIcon());var p=B.a.createElement("span",{className:g+"-title"},n);return B.a.createElement("span",{ref:e.setSelectHandle,title:"string"===typeof n?n:"",className:y()(""+h,h+"-"+(e.getNodeState()||"normal"),!C&&(r||t)&&g+"-node-selected",!C&&l&&"draggable"),draggable:!C&&l||void 0,"aria-grabbed":!C&&l||void 0,onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,onContextMenu:e.onContextMenu,onClick:e.onSelectorClick,onDoubleClick:e.onSelectorDoubleClick,onDragStart:l?e.onDragStart:void 0},f,p)},this.renderChildren=function(){var t=e.props,A=t.expanded,n=t.pos,r=e.context.rcTree,i=r.prefixCls,o=r.motion,a=r.renderTreeNode,g=e.getNodeChildren();return 0===g.length?null:B.a.createElement(O,s()({visible:A},o),(function(e){var t=e.style,r=e.className;return B.a.createElement("ul",{className:y()(r,i+"-child-tree",A&&i+"-child-tree-open"),style:t,"data-expanded":A,role:"group"},Object(Z.m)(g,(function(e,t){return a(e,t,n)})))}))}};H.isTreeNode=1,Object(v.a)(H);t.a=H},function(e,t,A){"use strict";var n=A(6),r=A(1),i=A(4),o=A(9),a=A(10),s=A(528),g=A(232),c=A(383),u=A(222),l=A(198),I=A(23),C=A(7),h=A(2),f=A(16),d=A(17),B=A(199),p=A(238),E=A(161),Q=A(18),y=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(e,n){var i,o,a;return Object(r.a)(this,A),(a=t.call(this,e,n)).shadowMap=new g.a(e,{width:1,height:1,parameters:(i={},Object(h.a)(i,10241,9729),Object(h.a)(i,10240,9729),Object(h.a)(i,10242,33071),Object(h.a)(i,10243,33071),i)}),a.depthBuffer=new p.a(e,{format:33189,width:1,height:1}),a.fbo=new E.a(e,{id:"shadowmap",width:1,height:1,attachments:(o={},Object(h.a)(o,36064,a.shadowMap),Object(h.a)(o,36096,a.depthBuffer),o)}),a}return Object(i.a)(A,[{key:"render",value:function(e){var t=this,n=this.fbo;Object(Q.o)(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},(function(){var r=e.viewports[0],i=Object(Q.e)(t.gl),o=r.width*i,a=r.height*i;o===n.width&&a===n.height||n.resize({width:o,height:a}),Object(d.a)(Object(f.a)(A.prototype),"render",t).call(t,Object(C.a)({},e,{target:n,pass:"shadow"}))}))}},{key:"shouldDrawLayer",value:function(e){return!1!==e.props.shadowEnabled}},{key:"getModuleParameters",value:function(){return{drawToShadowMap:!0}}},{key:"delete",value:function(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}]),A}(B.a),v=A(276);A.d(t,"a",(function(){return S}));var m={color:[255,255,255],intensity:1},b=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],w=[0,0,0,200/255],S=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(e){var n;for(var i in Object(r.a)(this,A),(n=t.call(this,e)).ambientLight=null,n.directionalLights=[],n.pointLights=[],n.shadowColor=w,n.shadowPasses=[],n.shadowMaps=[],n.dummyShadowMap=null,n.shadow=!1,n.programManager=null,e){var o=e[i];switch(o.type){case"ambient":n.ambientLight=o;break;case"directional":n.directionalLights.push(o);break;case"point":n.pointLights.push(o)}}return n._applyDefaultLights(),n.shadow=n.directionalLights.some((function(e){return e.shadow})),n}return Object(i.a)(A,[{key:"preRender",value:function(e,t){var A=t.layers,n=t.layerFilter,r=t.viewports,i=t.onViewportActive,o=t.views;if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=s.a.getDefaultProgramManager(e),v.a&&this.programManager.addDefaultModule(v.a)),this.dummyShadowMap||(this.dummyShadowMap=new g.a(e,{width:1,height:1}));for(var a=0;a<this.shadowPasses.length;a++){this.shadowPasses[a].render({layers:A,layerFilter:n,viewports:r,onViewportActive:i,views:o,moduleParameters:{shadowLightId:a,dummyShadowMap:this.dummyShadowMap,shadowMatrices:this.shadowMatrices}})}}}},{key:"getModuleParameters",value:function(e){var t=this.shadow?{shadowMaps:this.shadowMaps,dummyShadowMap:this.dummyShadowMap,shadowColor:this.shadowColor,shadowMatrices:this.shadowMatrices}:{};return t.lightSources={ambientLight:this.ambientLight,directionalLights:this.directionalLights.map((function(t){return t.getProjectedLight({layer:e})})),pointLights:this.pointLights.map((function(t){return t.getProjectedLight({layer:e})}))},t}},{key:"cleanup",value:function(){var e,t=Object(n.a)(this.shadowPasses);try{for(t.s();!(e=t.n()).done;){e.value.delete()}}catch(A){t.e(A)}finally{t.f()}this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(v.a),this.programManager=null)}},{key:"_createLightMatrix",value:function(){var e,t=[],A=Object(n.a)(this.directionalLights);try{for(A.s();!(e=A.n()).done;){var r=e.value,i=(new I.Matrix4).lookAt({eye:new I.Vector3(r.direction).negate()});t.push(i)}}catch(o){A.e(o)}finally{A.f()}return t}},{key:"_createShadowPasses",value:function(e){for(var t=0;t<this.directionalLights.length;t++){var A=new y(e);this.shadowPasses[t]=A,this.shadowMaps[t]=A.shadowMap}}},{key:"_applyDefaultLights",value:function(){var e=this.ambientLight,t=this.pointLights,A=this.directionalLights;e||0!==t.length||0!==A.length||(this.ambientLight=new c.a(m),this.directionalLights.push(new u.a(b[0]),new u.a(b[1])))}}]),A}(l.a)},function(e,t,A){"use strict";var n=A(1),r=A(4),i=A(9),o=A(10),a=A(206),s=A(33),g=A(97),c=A(30),u=A(126),l=A(67),I=A(94);function C(){var e=new c.a(4);return c.a!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function h(e,t,A){A*=.5;var n=Math.sin(A);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(A),e}function f(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3],a=A[0],s=A[1],g=A[2],c=A[3];return e[0]=n*c+o*a+r*g-i*s,e[1]=r*c+o*s+i*a-n*g,e[2]=i*c+o*g+n*s-r*a,e[3]=o*c-n*a-r*s-i*g,e}function d(e,t,A,n){var r,i,o,a,s,g=t[0],u=t[1],l=t[2],I=t[3],C=A[0],h=A[1],f=A[2],d=A[3];return(i=g*C+u*h+l*f+I*d)<0&&(i=-i,C=-C,h=-h,f=-f,d=-d),1-i>c.b?(r=Math.acos(i),o=Math.sin(r),a=Math.sin((1-n)*r)/o,s=Math.sin(n*r)/o):(a=1-n,s=n),e[0]=a*g+s*C,e[1]=a*u+s*h,e[2]=a*l+s*f,e[3]=a*I+s*d,e}function B(e,t){var A,n=t[0]+t[4]+t[8];if(n>0)A=Math.sqrt(n+1),e[3]=.5*A,A=.5/A,e[0]=(t[5]-t[7])*A,e[1]=(t[6]-t[2])*A,e[2]=(t[1]-t[3])*A;else{var r=0;t[4]>t[0]&&(r=1),t[8]>t[3*r+r]&&(r=2);var i=(r+1)%3,o=(r+2)%3;A=Math.sqrt(t[3*r+r]-t[3*i+i]-t[3*o+o]+1),e[r]=.5*A,A=.5/A,e[3]=(t[3*i+o]-t[3*o+i])*A,e[i]=(t[3*i+r]+t[3*r+i])*A,e[o]=(t[3*o+r]+t[3*r+o])*A}return e}I.b,I.g,I.c,I.l;var p=I.a,E=I.k,Q=I.d,y=I.i,v=I.h,m=I.m,b=I.j,w=(I.f,I.e,function(){var e=l.b(),t=l.e(1,0,0),A=l.e(0,1,0);return function(n,r,i){var o=l.d(r,i);return o<-.999999?(l.c(e,t,r),l.f(e)<1e-6&&l.c(e,A,r),l.h(e,e),h(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(l.c(e,r,i),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,b(n,n))}}());(function(){var e=C(),t=C()})(),function(){var e=u.a()}();A.d(t,"a",(function(){return F}));var S=[0,0,0,1],F=function(e){Object(i.a)(A,e);var t=Object(o.a)(A);function A(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return Object(n.a)(this,A),e=t.call(this,-0,-0,-0,-0),Array.isArray(r)&&1===arguments.length?e.copy(r):e.set(r,i,o,a),e}return Object(r.a)(A,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,A,n){return this[0]=e,this[1]=t,this[2]=A,this[3]=n,this.check()}},{key:"fromMatrix3",value:function(e){return B(this,e),this.check()}},{key:"identity",value:function(){var e;return(e=this)[0]=0,e[1]=0,e[2]=0,e[3]=1,this.check()}},{key:"fromAxisRotation",value:function(e,t){return h(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"len",value:function(){return v(this)}},{key:"lengthSquared",value:function(){return m(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return Q(this,e)}},{key:"rotationTo",value:function(e,t){return w(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return p(this,this,e),this.check()}},{key:"calculateW",value:function(){return function(e,t){var A=t[0],n=t[1],r=t[2];e[0]=A,e[1]=n,e[2]=r,e[3]=Math.sqrt(Math.abs(1-A*A-n*n-r*r))}(this,this),this.check()}},{key:"conjugate",value:function(){var e,t;return t=this,(e=this)[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],this.check()}},{key:"invert",value:function(){return function(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=A*A+n*n+r*r+i*i,a=o?1/o:0;e[0]=-A*a,e[1]=-n*a,e[2]=-r*a,e[3]=i*a}(this,this),this.check()}},{key:"lerp",value:function(e,t,A){return y(this,e,t,A),this.check()}},{key:"multiplyRight",value:function(e,t){return Object(g.a)(!t),f(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return Object(g.a)(!t),f(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return function(e,t,A){A*=.5;var n=t[0],r=t[1],i=t[2],o=t[3],a=Math.sin(A),s=Math.cos(A);e[0]=n*s+o*a,e[1]=r*s+i*a,e[2]=i*s-r*a,e[3]=o*s-n*a}(this,this,e),this.check()}},{key:"rotateY",value:function(e){return function(e,t,A){A*=.5;var n=t[0],r=t[1],i=t[2],o=t[3],a=Math.sin(A),s=Math.cos(A);e[0]=n*s-i*a,e[1]=r*s+o*a,e[2]=i*s+n*a,e[3]=o*s-r*a}(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return function(e,t,A){A*=.5;var n=t[0],r=t[1],i=t[2],o=t[3],a=Math.sin(A),s=Math.cos(A);e[0]=n*s+r*a,e[1]=r*s-n*a,e[2]=i*s+o*a,e[3]=o*s-i*a}(this,this,e),this.check()}},{key:"scale",value:function(e){return E(this,this,e),this.check()}},{key:"slerp",value:function(e,t,A){switch(arguments.length){case 1:var n=arguments[0],r=n.start;e=void 0===r?S:r,t=n.target,A=n.ratio;break;case 2:var i=Array.prototype.slice.call(arguments);t=i[0],A=i[1],e=this}return d(this,e,t,A),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return I.o(t,e,this),Object(s.b)(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=Object(s.a)(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=Object(s.a)(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=Object(s.a)(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=Object(s.a)(e)}}]),A}(a.a)},function(e,t,A){"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";function n(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";function n(e){for(var t in e)return!1;return!0}function r(e,t){if(e===t)return!0;var A=Array.isArray(e)||ArrayBuffer.isView(e),n=Array.isArray(t)||ArrayBuffer.isView(t);if(A&&n&&e.length===t.length){for(var r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}return!1}A.d(t,"b",(function(){return n})),A.d(t,"a",(function(){return r}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(18);function r(e,t,A){var r=A.removedProps,i=void 0===r?{}:r,o=A.deprecatedProps,a=void 0===o?{}:o,s=A.replacedProps,g=void 0===s?{}:s;for(var c in i)if(c in t){var u=i[c]?"".concat(e,".").concat(i[c]):"N/A";n.k.removed("".concat(e,".").concat(c),u)()}for(var l in a)if(l in t){var I=a[l];n.k.deprecated("".concat(e,".").concat(l),"".concat(e,".").concat(I))()}var C=null;for(var h in g)if(h in t){var f=g[h];n.k.deprecated("".concat(e,".").concat(h),"".concat(e,".").concat(f))(),(C=C||Object.assign({},t))[f]=t[h],delete C[h]}return C||t}},function(e,t,A){"use strict";A.d(t,"a",(function(){return l})),A.d(t,"b",(function(){return I}));var n=A(7),r=A(8),i=A(36),o=A(274),a=A(263),s=A(56),g=A(29),c=A(42);function u(e,t){var A=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=t.projectPosition(e);if(A&&t instanceof a.a){var i=Object(r.a)(e,3),o=i[0],s=i[1],g=i[2],c=void 0===g?0:g,u=t.getDistanceScales([o,s]);n[2]=c*u.unitsPerMeter[2]}return n}function l(e,t){var A=t.viewport,n=t.modelMatrix,o=t.coordinateSystem,a=t.coordinateOrigin,g=t.offsetMode,l=Object(r.a)(e,3),I=l[0],C=l[1],h=l[2],f=void 0===h?0:h;if(n){var d=s.n([],[I,C,f,1],n),B=Object(r.a)(d,3);I=B[0],C=B[1],f=B[2]}switch(o){case i.a.LNGLAT:return u([I,C,f],A,g);case i.a.LNGLAT_OFFSETS:return u([I+a[0],C+a[1],f+(a[2]||0)],A,g);case i.a.METER_OFFSETS:return u(Object(c.b)(a,[I,C,f]),A,g);case i.a.CARTESIAN:default:return A.isGeospatial?[I+a[0],C+a[1],f+a[2]]:A.projectPosition([I,C,f])}}function I(e,t){var A=function(e){var t=Object(n.a)({},e),A=e.coordinateSystem,r=e.viewport,o=e.coordinateOrigin,a=e.fromCoordinateSystem,s=e.fromCoordinateOrigin;return A===i.a.DEFAULT&&(A=r.isGeospatial?i.a.LNGLAT:i.a.CARTESIAN),void 0===a&&(t.fromCoordinateSystem=A),void 0===s&&(t.fromCoordinateOrigin=o),t.coordinateSystem=A,t}(t),r=A.viewport,a=A.coordinateSystem,s=A.coordinateOrigin,c=A.modelMatrix,u=A.fromCoordinateSystem,I=A.fromCoordinateOrigin,C=Object(o.a)(r,a,s),h=C.geospatialOrigin,f=C.shaderCoordinateOrigin,d=C.offsetMode,B=l(e,{viewport:r,modelMatrix:c,coordinateSystem:u,coordinateOrigin:I,offsetMode:d});if(d){var p=r.projectPosition(h||f);g.n(B,B,p)}return B}},function(e,t,A){"use strict";(function(e,n){A.d(t,"a",(function(){return i})),A.d(t,"b",(function(){return o}));var r={self:"undefined"!==typeof self&&self,window:"undefined"!==typeof window&&window,global:"undefined"!==typeof e&&e,document:"undefined"!==typeof document&&document},i=r.global||r.self||r.window,o="object"!==typeof n||"[object process]"!==String(n)||n.browser,a="undefined"!==typeof n&&n.version&&/v([0-9]*)/.exec(n.version);a&&parseFloat(a[1])}).call(this,A(86),A(90))},function(e,t,A){"use strict";A.d(t,"b",(function(){return C})),A.d(t,"a",(function(){return h}));var n=A(8),r=A(6),i=A(668),o=A.n(i),a=A(89),s=a.a.CLOCKWISE,g=a.a.COUNTER_CLOCKWISE,c={isClosed:!0};function u(e,t,A,n){for(var r=0;r<t;r++)if(e[A+r]!==e[n-t+r])return!1;return!0}function l(e,t,A,n,r){for(var i=t,o=A.length,s=0;s<o;s++)for(var g=0;g<n;g++)e[i++]=A[s][g]||0;if(!function(e){var t=e[0],A=e[e.length-1];return t[0]===A[0]&&t[1]===A[1]&&t[2]===A[2]}(A))for(var u=0;u<n;u++)e[i++]=A[0][u]||0;return c.start=t,c.end=i,c.size=n,Object(a.h)(e,r,c),i}function I(e,t,A,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,i=arguments.length>5?arguments[5]:void 0,o=arguments.length>6?arguments[6]:void 0,s=(i=i||A.length)-r;if(s<=0)return t;for(var g=t,l=0;l<s;l++)e[g++]=A[r+l];if(!u(A,n,r,i))for(var I=0;I<n;I++)e[g++]=A[r+I];return c.start=t,c.end=g,c.size=n,Object(a.h)(e,o,c),g}function C(e,t){!function(e){if(e=e&&e.positions||e,!Array.isArray(e)&&!ArrayBuffer.isView(e))throw new Error("invalid polygon")}(e);var A=[],i=[];if(e.positions){var o=e,a=o.positions,c=o.holeIndices;if(c){for(var u=0,C=0;C<=c.length;C++)u=I(A,u,a,t,c[C-1],c[C],0===C?s:g),i.push(u);return i.pop(),{positions:A,holeIndices:i}}e=a}if(Number.isFinite(e[0]))return I(A,0,e,t,0,A.length,s),A;if(!function(e){return e.length>=1&&e[0].length>=2&&Number.isFinite(e[0][0])}(e)){var h,f=0,d=Object(r.a)(e.entries());try{for(d.s();!(h=d.n()).done;){var B=Object(n.a)(h.value,2),p=B[0];f=l(A,f,B[1],t,0===p?s:g),i.push(f)}}catch(E){d.e(E)}finally{d.f()}return i.pop(),{positions:A,holeIndices:i}}return l(A,0,e,t,s),A}function h(e,t,A){var n=null;e.holeIndices&&(n=e.holeIndices.map((function(e){return e/t})));var r=e.positions||e;if(A){var i=r.length;r=r.slice();for(var a=[],s=0;s<i;s+=t){a[0]=r[s],a[1]=r[s+1];var g=A(a);r[s]=g[0],r[s+1]=g[1]}}return o()(r,n,t)}},function(e,t){e.exports=function(e){return null==e}},function(e,t,A){"use strict";A.d(t,"b",(function(){return a})),A.d(t,"a",(function(){return s}));var n=A(93),r=A.n(n),i=A(13),o=A.n(i),a={rcTree:o.a.shape({root:o.a.object,prefixCls:o.a.string,selectable:o.a.bool,showIcon:o.a.bool,icon:o.a.oneOfType([o.a.node,o.a.func]),draggable:o.a.bool,checkable:o.a.oneOfType([o.a.bool,o.a.node]),checkStrictly:o.a.bool,disabled:o.a.bool,openTransitionName:o.a.string,openAnimation:o.a.oneOfType([o.a.string,o.a.object]),loadData:o.a.func,filterTreeNode:o.a.func,renderTreeNode:o.a.func,isKeyChecked:o.a.func,onNodeClick:o.a.func,onNodeDoubleClick:o.a.func,onNodeExpand:o.a.func,onNodeSelect:o.a.func,onNodeCheck:o.a.func,onNodeMouseEnter:o.a.func,onNodeMouseLeave:o.a.func,onNodeContextMenu:o.a.func,onNodeDragStart:o.a.func,onNodeDragEnter:o.a.func,onNodeDragOver:o.a.func,onNodeDragLeave:o.a.func,onNodeDragEnd:o.a.func,onNodeDrop:o.a.func})},s=r()({},a,{rcTreeNode:o.a.shape({onUpCheckConduct:o.a.func})})},function(e,t,A){"use strict";var n=A(6),r="#if (defined(SHADER_TYPE_FRAGMENT) && defined(LIGHTING_FRAGMENT)) || (defined(SHADER_TYPE_VERTEX) && defined(LIGHTING_VERTEX))\n\nstruct AmbientLight {\n vec3 color;\n};\n\nstruct PointLight {\n vec3 color;\n vec3 position;\n vec3 attenuation;\n};\n\nstruct DirectionalLight {\n vec3 color;\n vec3 direction;\n};\n\nuniform AmbientLight lighting_uAmbientLight;\nuniform PointLight lighting_uPointLight[MAX_LIGHTS];\nuniform DirectionalLight lighting_uDirectionalLight[MAX_LIGHTS];\nuniform int lighting_uPointLightCount;\nuniform int lighting_uDirectionalLightCount;\n\nuniform bool lighting_uEnabled;\n\nfloat getPointLightAttenuation(PointLight pointLight, float distance) {\n return pointLight.attenuation.x\n + pointLight.attenuation.y * distance\n + pointLight.attenuation.z * distance * distance;\n}\n\n#endif\n";A.d(t,"a",(function(){return s}));var i={lightSources:{}};function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.color,A=void 0===t?[0,0,0]:t,n=e.intensity,r=void 0===n?1:n;return A.map((function(e){return e*r/255}))}function a(e){var t=e.ambientLight,A=e.pointLights,n=void 0===A?[]:A,r=e.directionalLights,i=void 0===r?[]:r,a={};return a["lighting_uAmbientLight.color"]=t?o(t):[0,0,0],n.forEach((function(e,t){a["lighting_uPointLight[".concat(t,"].color")]=o(e),a["lighting_uPointLight[".concat(t,"].position")]=e.position,a["lighting_uPointLight[".concat(t,"].attenuation")]=e.attenuation||[1,0,0]})),a.lighting_uPointLightCount=n.length,i.forEach((function(e,t){a["lighting_uDirectionalLight[".concat(t,"].color")]=o(e),a["lighting_uDirectionalLight[".concat(t,"].direction")]=e.direction})),a.lighting_uDirectionalLightCount=i.length,a}var s={name:"lights",vs:r,fs:r,getUniforms:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;if("lightSources"in t){var A=t.lightSources||{},r=A.ambientLight,o=A.pointLights,s=A.directionalLights,g=r||o&&o.length>0||s&&s.length>0;return g?Object.assign({},a({ambientLight:r,pointLights:o,directionalLights:s}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in t){var c,u={pointLights:[],directionalLights:[]},l=Object(n.a)(t.lights||[]);try{for(l.s();!(c=l.n()).done;){var I=c.value;switch(I.type){case"ambient":u.ambientLight=I;break;case"directional":u.directionalLights.push(I);break;case"point":u.pointLights.push(I)}}}catch(C){l.e(C)}finally{l.f()}return e({lightSources:u})}return{}},defines:{MAX_LIGHTS:3}}},function(e,t,A){"use strict";A.d(t,"a",(function(){return s}));var n=A(1),r=A(4),i=A(18),o=A(1165),a=A(62),s=new(function(){function e(){Object(n.a)(this,e),this.stats=new Map}return Object(r.a)(e,[{key:"get",value:function(e){return this.stats.has(e)||this.stats.set(e,new o.a({id:e})),this.stats.get(e)}}]),e}());if(a.global.luma&&"8.5.10"!==a.global.luma.VERSION)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(a.global.luma.VERSION," vs ").concat("8.5.10"));a.global.luma||(Object(a.isBrowser)()&&i.k.log(1,"luma.gl ".concat("8.5.10"," - ").concat("set luma.log.level=1 (or higher) to trace rendering"))(),a.global.luma=a.global.luma||{VERSION:"8.5.10",version:"8.5.10",log:i.k,stats:s,globals:{modules:{},nodeIO:{}}});a.global.luma},,function(e,t,A){var n;!function(r,i,o,a){"use strict";var s,g=["","webkit","Moz","MS","ms","o"],c=i.createElement("div"),u=Math.round,l=Math.abs,I=Date.now;function C(e,t,A){return setTimeout(Q(e,A),t)}function h(e,t,A){return!!Array.isArray(e)&&(f(e,A[t],A),!0)}function f(e,t,A){var n;if(e)if(e.forEach)e.forEach(t,A);else if(void 0!==e.length)for(n=0;n<e.length;)t.call(A,e[n],n,e),n++;else for(n in e)e.hasOwnProperty(n)&&t.call(A,e[n],n,e)}function d(e,t,A){var n="DEPRECATED METHOD: "+t+"\n"+A+" AT \n";return function(){var t=new Error("get-stack-trace"),A=t&&t.stack?t.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",i=r.console&&(r.console.warn||r.console.log);return i&&i.call(r.console,n,A),e.apply(this,arguments)}}s="function"!==typeof Object.assign?function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),A=1;A<arguments.length;A++){var n=arguments[A];if(void 0!==n&&null!==n)for(var r in n)n.hasOwnProperty(r)&&(t[r]=n[r])}return t}:Object.assign;var B=d((function(e,t,A){for(var n=Object.keys(t),r=0;r<n.length;)(!A||A&&void 0===e[n[r]])&&(e[n[r]]=t[n[r]]),r++;return e}),"extend","Use `assign`."),p=d((function(e,t){return B(e,t,!0)}),"merge","Use `assign`.");function E(e,t,A){var n,r=t.prototype;(n=e.prototype=Object.create(r)).constructor=e,n._super=r,A&&s(n,A)}function Q(e,t){return function(){return e.apply(t,arguments)}}function y(e,t){return"function"==typeof e?e.apply(t&&t[0]||void 0,t):e}function v(e,t){return void 0===e?t:e}function m(e,t,A){f(F(t),(function(t){e.addEventListener(t,A,!1)}))}function b(e,t,A){f(F(t),(function(t){e.removeEventListener(t,A,!1)}))}function w(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function S(e,t){return e.indexOf(t)>-1}function F(e){return e.trim().split(/\s+/g)}function R(e,t,A){if(e.indexOf&&!A)return e.indexOf(t);for(var n=0;n<e.length;){if(A&&e[n][A]==t||!A&&e[n]===t)return n;n++}return-1}function D(e){return Array.prototype.slice.call(e,0)}function G(e,t,A){for(var n=[],r=[],i=0;i<e.length;){var o=t?e[i][t]:e[i];R(r,o)<0&&n.push(e[i]),r[i]=o,i++}return A&&(n=t?n.sort((function(e,A){return e[t]>A[t]})):n.sort()),n}function k(e,t){for(var A,n,r=t[0].toUpperCase()+t.slice(1),i=0;i<g.length;){if((n=(A=g[i])?A+r:t)in e)return n;i++}}var x=1;function N(e){var t=e.ownerDocument||e;return t.defaultView||t.parentWindow||r}var U="ontouchstart"in r,_=void 0!==k(r,"PointerEvent"),M=U&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),O=["x","y"],L=["clientX","clientY"];function T(e,t){var A=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){y(e.options.enable,[e])&&A.handler(t)},this.init()}function Z(e,t,A){var n=A.pointers.length,r=A.changedPointers.length,i=1&t&&n-r===0,o=12&t&&n-r===0;A.isFirst=!!i,A.isFinal=!!o,i&&(e.session={}),A.eventType=t,function(e,t){var A=e.session,n=t.pointers,r=n.length;A.firstInput||(A.firstInput=H(t));r>1&&!A.firstMultiple?A.firstMultiple=H(t):1===r&&(A.firstMultiple=!1);var i=A.firstInput,o=A.firstMultiple,a=o?o.center:i.center,s=t.center=Y(n);t.timeStamp=I(),t.deltaTime=t.timeStamp-i.timeStamp,t.angle=V(a,s),t.distance=P(a,s),function(e,t){var A=t.center,n=e.offsetDelta||{},r=e.prevDelta||{},i=e.prevInput||{};1!==t.eventType&&4!==i.eventType||(r=e.prevDelta={x:i.deltaX||0,y:i.deltaY||0},n=e.offsetDelta={x:A.x,y:A.y});t.deltaX=r.x+(A.x-n.x),t.deltaY=r.y+(A.y-n.y)}(A,t),t.offsetDirection=j(t.deltaX,t.deltaY);var g=J(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=g.x,t.overallVelocityY=g.y,t.overallVelocity=l(g.x)>l(g.y)?g.x:g.y,t.scale=o?(c=o.pointers,u=n,P(u[0],u[1],L)/P(c[0],c[1],L)):1,t.rotation=o?function(e,t){return V(t[1],t[0],L)+V(e[1],e[0],L)}(o.pointers,n):0,t.maxPointers=A.prevInput?t.pointers.length>A.prevInput.maxPointers?t.pointers.length:A.prevInput.maxPointers:t.pointers.length,function(e,t){var A,n,r,i,o=e.lastInterval||t,a=t.timeStamp-o.timeStamp;if(8!=t.eventType&&(a>25||void 0===o.velocity)){var s=t.deltaX-o.deltaX,g=t.deltaY-o.deltaY,c=J(a,s,g);n=c.x,r=c.y,A=l(c.x)>l(c.y)?c.x:c.y,i=j(s,g),e.lastInterval=t}else A=o.velocity,n=o.velocityX,r=o.velocityY,i=o.direction;t.velocity=A,t.velocityX=n,t.velocityY=r,t.direction=i}(A,t);var c,u;var C=e.element;w(t.srcEvent.target,C)&&(C=t.srcEvent.target);t.target=C}(e,A),e.emit("hammer.input",A),e.recognize(A),e.session.prevInput=A}function H(e){for(var t=[],A=0;A<e.pointers.length;)t[A]={clientX:u(e.pointers[A].clientX),clientY:u(e.pointers[A].clientY)},A++;return{timeStamp:I(),pointers:t,center:Y(t),deltaX:e.deltaX,deltaY:e.deltaY}}function Y(e){var t=e.length;if(1===t)return{x:u(e[0].clientX),y:u(e[0].clientY)};for(var A=0,n=0,r=0;r<t;)A+=e[r].clientX,n+=e[r].clientY,r++;return{x:u(A/t),y:u(n/t)}}function J(e,t,A){return{x:t/e||0,y:A/e||0}}function j(e,t){return e===t?1:l(e)>=l(t)?e<0?2:4:t<0?8:16}function P(e,t,A){A||(A=O);var n=t[A[0]]-e[A[0]],r=t[A[1]]-e[A[1]];return Math.sqrt(n*n+r*r)}function V(e,t,A){A||(A=O);var n=t[A[0]]-e[A[0]],r=t[A[1]]-e[A[1]];return 180*Math.atan2(r,n)/Math.PI}T.prototype={handler:function(){},init:function(){this.evEl&&m(this.element,this.evEl,this.domHandler),this.evTarget&&m(this.target,this.evTarget,this.domHandler),this.evWin&&m(N(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&b(this.element,this.evEl,this.domHandler),this.evTarget&&b(this.target,this.evTarget,this.domHandler),this.evWin&&b(N(this.element),this.evWin,this.domHandler)}};var K={mousedown:1,mousemove:2,mouseup:4};function W(){this.evEl="mousedown",this.evWin="mousemove mouseup",this.pressed=!1,T.apply(this,arguments)}E(W,T,{handler:function(e){var t=K[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:"mouse",srcEvent:e}))}});var X={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},q={2:"touch",3:"pen",4:"mouse",5:"kinect"},z="pointerdown",$="pointermove pointerup pointercancel";function ee(){this.evEl=z,this.evWin=$,T.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(z="MSPointerDown",$="MSPointerMove MSPointerUp MSPointerCancel"),E(ee,T,{handler:function(e){var t=this.store,A=!1,n=e.type.toLowerCase().replace("ms",""),r=X[n],i=q[e.pointerType]||e.pointerType,o="touch"==i,a=R(t,e.pointerId,"pointerId");1&r&&(0===e.button||o)?a<0&&(t.push(e),a=t.length-1):12&r&&(A=!0),a<0||(t[a]=e,this.callback(this.manager,r,{pointers:t,changedPointers:[e],pointerType:i,srcEvent:e}),A&&t.splice(a,1))}});var te={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function Ae(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,T.apply(this,arguments)}function ne(e,t){var A=D(e.touches),n=D(e.changedTouches);return 12&t&&(A=G(A.concat(n),"identifier",!0)),[A,n]}E(Ae,T,{handler:function(e){var t=te[e.type];if(1===t&&(this.started=!0),this.started){var A=ne.call(this,e,t);12&t&&A[0].length-A[1].length===0&&(this.started=!1),this.callback(this.manager,t,{pointers:A[0],changedPointers:A[1],pointerType:"touch",srcEvent:e})}}});var re={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function ie(){this.evTarget="touchstart touchmove touchend touchcancel",this.targetIds={},T.apply(this,arguments)}function oe(e,t){var A=D(e.touches),n=this.targetIds;if(3&t&&1===A.length)return n[A[0].identifier]=!0,[A,A];var r,i,o=D(e.changedTouches),a=[],s=this.target;if(i=A.filter((function(e){return w(e.target,s)})),1===t)for(r=0;r<i.length;)n[i[r].identifier]=!0,r++;for(r=0;r<o.length;)n[o[r].identifier]&&a.push(o[r]),12&t&&delete n[o[r].identifier],r++;return a.length?[G(i.concat(a),"identifier",!0),a]:void 0}E(ie,T,{handler:function(e){var t=re[e.type],A=oe.call(this,e,t);A&&this.callback(this.manager,t,{pointers:A[0],changedPointers:A[1],pointerType:"touch",srcEvent:e})}});function ae(){T.apply(this,arguments);var e=Q(this.handler,this);this.touch=new ie(this.manager,e),this.mouse=new W(this.manager,e),this.primaryTouch=null,this.lastTouches=[]}function se(e,t){1&e?(this.primaryTouch=t.changedPointers[0].identifier,ge.call(this,t)):12&e&&ge.call(this,t)}function ge(e){var t=e.changedPointers[0];if(t.identifier===this.primaryTouch){var A={x:t.clientX,y:t.clientY};this.lastTouches.push(A);var n=this.lastTouches;setTimeout((function(){var e=n.indexOf(A);e>-1&&n.splice(e,1)}),2500)}}function ce(e){for(var t=e.srcEvent.clientX,A=e.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var r=this.lastTouches[n],i=Math.abs(t-r.x),o=Math.abs(A-r.y);if(i<=25&&o<=25)return!0}return!1}E(ae,T,{handler:function(e,t,A){var n="touch"==A.pointerType,r="mouse"==A.pointerType;if(!(r&&A.sourceCapabilities&&A.sourceCapabilities.firesTouchEvents)){if(n)se.call(this,t,A);else if(r&&ce.call(this,A))return;this.callback(e,t,A)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var ue=k(c.style,"touchAction"),le=void 0!==ue,Ie=function(){if(!le)return!1;var e={},t=r.CSS&&r.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(A){e[A]=!t||r.CSS.supports("touch-action",A)})),e}();function Ce(e,t){this.manager=e,this.set(t)}Ce.prototype={set:function(e){"compute"==e&&(e=this.compute()),le&&this.manager.element.style&&Ie[e]&&(this.manager.element.style[ue]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return f(this.manager.recognizers,(function(t){y(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))})),function(e){if(S(e,"none"))return"none";var t=S(e,"pan-x"),A=S(e,"pan-y");if(t&&A)return"none";if(t||A)return t?"pan-x":"pan-y";if(S(e,"manipulation"))return"manipulation";return"auto"}(e.join(" "))},preventDefaults:function(e){var t=e.srcEvent,A=e.offsetDirection;if(this.manager.session.prevented)t.preventDefault();else{var n=this.actions,r=S(n,"none")&&!Ie.none,i=S(n,"pan-y")&&!Ie["pan-y"],o=S(n,"pan-x")&&!Ie["pan-x"];if(r){var a=1===e.pointers.length,s=e.distance<2,g=e.deltaTime<250;if(a&&s&&g)return}if(!o||!i)return r||i&&6&A||o&&24&A?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};function he(e){this.options=s({},this.defaults,e||{}),this.id=x++,this.manager=null,this.options.enable=v(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function fe(e){return 16&e?"cancel":8&e?"end":4&e?"move":2&e?"start":""}function de(e){return 16==e?"down":8==e?"up":2==e?"left":4==e?"right":""}function Be(e,t){var A=t.manager;return A?A.get(e):e}function pe(){he.apply(this,arguments)}function Ee(){pe.apply(this,arguments),this.pX=null,this.pY=null}function Qe(){pe.apply(this,arguments)}function ye(){he.apply(this,arguments),this._timer=null,this._input=null}function ve(){pe.apply(this,arguments)}function me(){pe.apply(this,arguments)}function be(){he.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function we(e,t){return(t=t||{}).recognizers=v(t.recognizers,we.defaults.preset),new Se(e,t)}he.prototype={defaults:{},set:function(e){return s(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(h(e,"recognizeWith",this))return this;var t=this.simultaneous;return t[(e=Be(e,this)).id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return h(e,"dropRecognizeWith",this)||(e=Be(e,this),delete this.simultaneous[e.id]),this},requireFailure:function(e){if(h(e,"requireFailure",this))return this;var t=this.requireFail;return-1===R(t,e=Be(e,this))&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(h(e,"dropRequireFailure",this))return this;e=Be(e,this);var t=R(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,A=this.state;function n(A){t.manager.emit(A,e)}A<8&&n(t.options.event+fe(A)),n(t.options.event),e.additionalEvent&&n(e.additionalEvent),A>=8&&n(t.options.event+fe(A))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=32},canEmit:function(){for(var e=0;e<this.requireFail.length;){if(!(33&this.requireFail[e].state))return!1;e++}return!0},recognize:function(e){var t=s({},e);if(!y(this.options.enable,[this,t]))return this.reset(),void(this.state=32);56&this.state&&(this.state=1),this.state=this.process(t),30&this.state&&this.tryEmit(t)},process:function(e){},getTouchAction:function(){},reset:function(){}},E(pe,he,{defaults:{pointers:1},attrTest:function(e){var t=this.options.pointers;return 0===t||e.pointers.length===t},process:function(e){var t=this.state,A=e.eventType,n=6&t,r=this.attrTest(e);return n&&(8&A||!r)?16|t:n||r?4&A?8|t:2&t?4|t:2:32}}),E(Ee,pe,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var e=this.options.direction,t=[];return 6&e&&t.push("pan-y"),24&e&&t.push("pan-x"),t},directionTest:function(e){var t=this.options,A=!0,n=e.distance,r=e.direction,i=e.deltaX,o=e.deltaY;return r&t.direction||(6&t.direction?(r=0===i?1:i<0?2:4,A=i!=this.pX,n=Math.abs(e.deltaX)):(r=0===o?1:o<0?8:16,A=o!=this.pY,n=Math.abs(e.deltaY))),e.direction=r,A&&n>t.threshold&&r&t.direction},attrTest:function(e){return pe.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=de(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),E(Qe,pe,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){if(1!==e.scale){var t=e.scale<1?"in":"out";e.additionalEvent=this.options.event+t}this._super.emit.call(this,e)}}),E(ye,he,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(e){var t=this.options,A=e.pointers.length===t.pointers,n=e.distance<t.threshold,r=e.deltaTime>t.time;if(this._input=e,!n||!A||12&e.eventType&&!r)this.reset();else if(1&e.eventType)this.reset(),this._timer=C((function(){this.state=8,this.tryEmit()}),t.time,this);else if(4&e.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=I(),this.manager.emit(this.options.event,this._input)))}}),E(ve,pe,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),E(me,pe,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ee.prototype.getTouchAction.call(this)},attrTest:function(e){var t,A=this.options.direction;return 30&A?t=e.overallVelocity:6&A?t=e.overallVelocityX:24&A&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&A&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&l(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=de(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),E(be,he,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return["manipulation"]},process:function(e){var t=this.options,A=e.pointers.length===t.pointers,n=e.distance<t.threshold,r=e.deltaTime<t.time;if(this.reset(),1&e.eventType&&0===this.count)return this.failTimeout();if(n&&r&&A){if(4!=e.eventType)return this.failTimeout();var i=!this.pTime||e.timeStamp-this.pTime<t.interval,o=!this.pCenter||P(this.pCenter,e.center)<t.posThreshold;if(this.pTime=e.timeStamp,this.pCenter=e.center,o&&i?this.count+=1:this.count=1,this._input=e,0===this.count%t.taps)return this.hasRequireFailures()?(this._timer=C((function(){this.state=8,this.tryEmit()}),t.interval,this),2):8}return 32},failTimeout:function(){return this._timer=C((function(){this.state=32}),this.options.interval,this),32},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),we.VERSION="2.0.7",we.defaults={domEvents:!1,touchAction:"compute",enable:!0,inputTarget:null,inputClass:null,preset:[[ve,{enable:!1}],[Qe,{enable:!1},["rotate"]],[me,{direction:6}],[Ee,{direction:6},["swipe"]],[be],[be,{event:"doubletap",taps:2},["tap"]],[ye]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Se(e,t){this.options=s({},we.defaults,t||{}),this.options.inputTarget=this.options.inputTarget||e,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=e,this.input=function(e){var t=e.options.inputClass;return new(t||(_?ee:M?ie:U?ae:W))(e,Z)}(this),this.touchAction=new Ce(this,this.options.touchAction),Fe(this,!0),f(this.options.recognizers,(function(e){var t=this.add(new e[0](e[1]));e[2]&&t.recognizeWith(e[2]),e[3]&&t.requireFailure(e[3])}),this)}function Fe(e,t){var A,n=e.element;n.style&&(f(e.options.cssProps,(function(r,i){A=k(n.style,i),t?(e.oldCssProps[A]=n.style[A],n.style[A]=r):n.style[A]=e.oldCssProps[A]||""})),t||(e.oldCssProps={}))}Se.prototype={set:function(e){return s(this.options,e),e.touchAction&&this.touchAction.update(),e.inputTarget&&(this.input.destroy(),this.input.target=e.inputTarget,this.input.init()),this},stop:function(e){this.session.stopped=e?2:1},recognize:function(e){var t=this.session;if(!t.stopped){var A;this.touchAction.preventDefaults(e);var n=this.recognizers,r=t.curRecognizer;(!r||r&&8&r.state)&&(r=t.curRecognizer=null);for(var i=0;i<n.length;)A=n[i],2===t.stopped||r&&A!=r&&!A.canRecognizeWith(r)?A.reset():A.recognize(e),!r&&14&A.state&&(r=t.curRecognizer=A),i++}},get:function(e){if(e instanceof he)return e;for(var t=this.recognizers,A=0;A<t.length;A++)if(t[A].options.event==e)return t[A];return null},add:function(e){if(h(e,"add",this))return this;var t=this.get(e.options.event);return t&&this.remove(t),this.recognizers.push(e),e.manager=this,this.touchAction.update(),e},remove:function(e){if(h(e,"remove",this))return this;if(e=this.get(e)){var t=this.recognizers,A=R(t,e);-1!==A&&(t.splice(A,1),this.touchAction.update())}return this},on:function(e,t){if(void 0!==e&&void 0!==t){var A=this.handlers;return f(F(e),(function(e){A[e]=A[e]||[],A[e].push(t)})),this}},off:function(e,t){if(void 0!==e){var A=this.handlers;return f(F(e),(function(e){t?A[e]&&A[e].splice(R(A[e],t),1):delete A[e]})),this}},emit:function(e,t){this.options.domEvents&&function(e,t){var A=i.createEvent("Event");A.initEvent(e,!0,!0),A.gesture=t,t.target.dispatchEvent(A)}(e,t);var A=this.handlers[e]&&this.handlers[e].slice();if(A&&A.length){t.type=e,t.preventDefault=function(){t.srcEvent.preventDefault()};for(var n=0;n<A.length;)A[n](t),n++}},destroy:function(){this.element&&Fe(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},s(we,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:32,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:24,DIRECTION_ALL:30,Manager:Se,Input:T,TouchAction:Ce,TouchInput:ie,MouseInput:W,PointerEventInput:ee,TouchMouseInput:ae,SingleTouchInput:Ae,Recognizer:he,AttrRecognizer:pe,Tap:be,Pan:Ee,Swipe:me,Pinch:Qe,Rotate:ve,Press:ye,on:m,off:b,each:f,merge:p,extend:B,assign:s,inherit:E,bindFn:Q,prefixed:k}),("undefined"!==typeof r?r:"undefined"!==typeof self?self:{}).Hammer=we,void 0===(n=function(){return we}.call(t,A,t,e))||(e.exports=n)}(window,document)},,,function(e,t,A){"use strict";(function(e,n){var r=A(11),i=A(3),o=A.n(i),a=A(12),s=A(1),g=A(4),c=A(48);A.d(t,"a",(function(){return c.a})),A.d(t,"b",(function(){return c.c})),A.d(t,"c",(function(){return c.d}));function u(e){for(var t=e.length;--t>=0;)e[t]=0}var l=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),I=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),C=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),f=new Array(576);u(f);var d=new Array(60);u(d);var B=new Array(512);u(B);var p=new Array(256);u(p);var E=new Array(29);u(E);var Q,y,v,m=new Array(30);function b(e,t,A,n,r){this.static_tree=e,this.extra_bits=t,this.extra_base=A,this.elems=n,this.max_length=r,this.has_stree=e&&e.length}function w(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}u(m);var S=function(e){return e<256?B[e]:B[256+(e>>>7)]},F=function(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},R=function(e,t,A){e.bi_valid>16-A?(e.bi_buf|=t<<e.bi_valid&65535,F(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=A-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=A)},D=function(e,t,A){R(e,A[2*t],A[2*t+1])},G=function(e,t){var A=0;do{A|=1&e,e>>>=1,A<<=1}while(--t>0);return A>>>1},k=function(e,t,A){var n,r,i=new Array(16),o=0;for(n=1;n<=15;n++)i[n]=o=o+A[n-1]<<1;for(r=0;r<=t;r++){var a=e[2*r+1];0!==a&&(e[2*r]=G(i[a]++,a))}},x=function(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0},N=function(e){e.bi_valid>8?F(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},U=function(e,t,A,n){var r=2*t,i=2*A;return e[r]<e[i]||e[r]===e[i]&&n[t]<=n[A]},_=function(e,t,A){for(var n=e.heap[A],r=A<<1;r<=e.heap_len&&(r<e.heap_len&&U(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!U(t,n,e.heap[r],e.depth));)e.heap[A]=e.heap[r],A=r,r<<=1;e.heap[A]=n},M=function(e,t,A){var n,r,i,o,a=0;if(0!==e.last_lit)do{n=e.pending_buf[e.d_buf+2*a]<<8|e.pending_buf[e.d_buf+2*a+1],r=e.pending_buf[e.l_buf+a],a++,0===n?D(e,r,t):(i=p[r],D(e,i+256+1,t),0!==(o=l[i])&&(r-=E[i],R(e,r,o)),n--,i=S(n),D(e,i,A),0!==(o=I[i])&&(n-=m[i],R(e,n,o)))}while(a<e.last_lit);D(e,256,t)},O=function(e,t){var A,n,r,i=t.dyn_tree,o=t.stat_desc.static_tree,a=t.stat_desc.has_stree,s=t.stat_desc.elems,g=-1;for(e.heap_len=0,e.heap_max=573,A=0;A<s;A++)0!==i[2*A]?(e.heap[++e.heap_len]=g=A,e.depth[A]=0):i[2*A+1]=0;for(;e.heap_len<2;)i[2*(r=e.heap[++e.heap_len]=g<2?++g:0)]=1,e.depth[r]=0,e.opt_len--,a&&(e.static_len-=o[2*r+1]);for(t.max_code=g,A=e.heap_len>>1;A>=1;A--)_(e,i,A);r=s;do{A=e.heap[1],e.heap[1]=e.heap[e.heap_len--],_(e,i,1),n=e.heap[1],e.heap[--e.heap_max]=A,e.heap[--e.heap_max]=n,i[2*r]=i[2*A]+i[2*n],e.depth[r]=(e.depth[A]>=e.depth[n]?e.depth[A]:e.depth[n])+1,i[2*A+1]=i[2*n+1]=r,e.heap[1]=r++,_(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var A,n,r,i,o,a,s=t.dyn_tree,g=t.max_code,c=t.stat_desc.static_tree,u=t.stat_desc.has_stree,l=t.stat_desc.extra_bits,I=t.stat_desc.extra_base,C=t.stat_desc.max_length,h=0;for(i=0;i<=15;i++)e.bl_count[i]=0;for(s[2*e.heap[e.heap_max]+1]=0,A=e.heap_max+1;A<573;A++)(i=s[2*s[2*(n=e.heap[A])+1]+1]+1)>C&&(i=C,h++),s[2*n+1]=i,n>g||(e.bl_count[i]++,o=0,n>=I&&(o=l[n-I]),a=s[2*n],e.opt_len+=a*(i+o),u&&(e.static_len+=a*(c[2*n+1]+o)));if(0!==h){do{for(i=C-1;0===e.bl_count[i];)i--;e.bl_count[i]--,e.bl_count[i+1]+=2,e.bl_count[C]--,h-=2}while(h>0);for(i=C;0!==i;i--)for(n=e.bl_count[i];0!==n;)(r=e.heap[--A])>g||(s[2*r+1]!==i&&(e.opt_len+=(i-s[2*r+1])*s[2*r],s[2*r+1]=i),n--)}}(e,t),k(i,g,e.bl_count)},L=function(e,t,A){var n,r,i=-1,o=t[1],a=0,s=7,g=4;for(0===o&&(s=138,g=3),t[2*(A+1)+1]=65535,n=0;n<=A;n++)r=o,o=t[2*(n+1)+1],++a<s&&r===o||(a<g?e.bl_tree[2*r]+=a:0!==r?(r!==i&&e.bl_tree[2*r]++,e.bl_tree[32]++):a<=10?e.bl_tree[34]++:e.bl_tree[36]++,a=0,i=r,0===o?(s=138,g=3):r===o?(s=6,g=3):(s=7,g=4))},T=function(e,t,A){var n,r,i=-1,o=t[1],a=0,s=7,g=4;for(0===o&&(s=138,g=3),n=0;n<=A;n++)if(r=o,o=t[2*(n+1)+1],!(++a<s&&r===o)){if(a<g)do{D(e,r,e.bl_tree)}while(0!==--a);else 0!==r?(r!==i&&(D(e,r,e.bl_tree),a--),D(e,16,e.bl_tree),R(e,a-3,2)):a<=10?(D(e,17,e.bl_tree),R(e,a-3,3)):(D(e,18,e.bl_tree),R(e,a-11,7));a=0,i=r,0===o?(s=138,g=3):r===o?(s=6,g=3):(s=7,g=4)}},Z=!1,H=function(e,t,A,n){R(e,0+(n?1:0),3),function(e,t,A,n){N(e),n&&(F(e,A),F(e,~A)),e.pending_buf.set(e.window.subarray(t,t+A),e.pending),e.pending+=A}(e,t,A,!0)},Y={_tr_init:function(e){Z||(!function(){var e,t,A,n,r,i=new Array(16);for(A=0,n=0;n<28;n++)for(E[n]=A,e=0;e<1<<l[n];e++)p[A++]=n;for(p[A-1]=n,r=0,n=0;n<16;n++)for(m[n]=r,e=0;e<1<<I[n];e++)B[r++]=n;for(r>>=7;n<30;n++)for(m[n]=r<<7,e=0;e<1<<I[n]-7;e++)B[256+r++]=n;for(t=0;t<=15;t++)i[t]=0;for(e=0;e<=143;)f[2*e+1]=8,e++,i[8]++;for(;e<=255;)f[2*e+1]=9,e++,i[9]++;for(;e<=279;)f[2*e+1]=7,e++,i[7]++;for(;e<=287;)f[2*e+1]=8,e++,i[8]++;for(k(f,287,i),e=0;e<30;e++)d[2*e+1]=5,d[2*e]=G(e,5);Q=new b(f,l,257,286,15),y=new b(d,I,0,30,15),v=new b(new Array(0),C,0,19,7)}(),Z=!0),e.l_desc=new w(e.dyn_ltree,Q),e.d_desc=new w(e.dyn_dtree,y),e.bl_desc=new w(e.bl_tree,v),e.bi_buf=0,e.bi_valid=0,x(e)},_tr_stored_block:H,_tr_flush_block:function(e,t,A,n){var r,i,o=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,A=4093624447;for(t=0;t<=31;t++,A>>>=1)if(1&A&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),O(e,e.l_desc),O(e,e.d_desc),o=function(e){var t;for(L(e,e.dyn_ltree,e.l_desc.max_code),L(e,e.dyn_dtree,e.d_desc.max_code),O(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*h[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),r=e.opt_len+3+7>>>3,(i=e.static_len+3+7>>>3)<=r&&(r=i)):r=i=A+5,A+4<=r&&-1!==t?H(e,t,A,n):4===e.strategy||i===r?(R(e,2+(n?1:0),3),M(e,f,d)):(R(e,4+(n?1:0),3),function(e,t,A,n){var r;for(R(e,t-257,5),R(e,A-1,5),R(e,n-4,4),r=0;r<n;r++)R(e,e.bl_tree[2*h[r]+1],3);T(e,e.dyn_ltree,t-1),T(e,e.dyn_dtree,A-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),M(e,e.dyn_ltree,e.dyn_dtree)),x(e),n&&N(e)},_tr_tally:function(e,t,A){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&A,e.last_lit++,0===t?e.dyn_ltree[2*A]++:(e.matches++,t--,e.dyn_ltree[2*(p[A]+256+1)]++,e.dyn_dtree[2*S(t)]++),e.last_lit===e.lit_bufsize-1},_tr_align:function(e){R(e,2,3),D(e,256,f),function(e){16===e.bi_valid?(F(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},J=function(e,t,A,n){for(var r=65535&e|0,i=e>>>16&65535|0,o=0;0!==A;){A-=o=A>2e3?2e3:A;do{i=i+(r=r+t[n++]|0)|0}while(--o);r%=65521,i%=65521}return r|i<<16|0},j=new Uint32Array(function(){for(var e,t=[],A=0;A<256;A++){e=A;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[A]=e}return t}()),P=function(e,t,A,n){var r=j,i=n+A;e^=-1;for(var o=n;o<i;o++)e=e>>>8^r[255&(e^t[o])];return-1^e},V={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},K={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},W=Y._tr_init,X=Y._tr_stored_block,q=Y._tr_flush_block,z=Y._tr_tally,$=Y._tr_align,ee=K.Z_NO_FLUSH,te=K.Z_PARTIAL_FLUSH,Ae=K.Z_FULL_FLUSH,ne=K.Z_FINISH,re=K.Z_BLOCK,ie=K.Z_OK,oe=K.Z_STREAM_END,ae=K.Z_STREAM_ERROR,se=K.Z_DATA_ERROR,ge=K.Z_BUF_ERROR,ce=K.Z_DEFAULT_COMPRESSION,ue=K.Z_FILTERED,le=K.Z_HUFFMAN_ONLY,Ie=K.Z_RLE,Ce=K.Z_FIXED,he=K.Z_DEFAULT_STRATEGY,fe=K.Z_UNKNOWN,de=K.Z_DEFLATED,Be=function(e,t){return e.msg=V[t],t},pe=function(e){return(e<<1)-(e>4?9:0)},Ee=function(e){for(var t=e.length;--t>=0;)e[t]=0},Qe=function(e,t,A){return(t<<e.hash_shift^A)&e.hash_mask},ye=function(e){var t=e.state,A=t.pending;A>e.avail_out&&(A=e.avail_out),0!==A&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+A),e.next_out),e.next_out+=A,t.pending_out+=A,e.total_out+=A,e.avail_out-=A,t.pending-=A,0===t.pending&&(t.pending_out=0))},ve=function(e,t){q(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ye(e.strm)},me=function(e,t){e.pending_buf[e.pending++]=t},be=function(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},we=function(e,t,A,n){var r=e.avail_in;return r>n&&(r=n),0===r?0:(e.avail_in-=r,t.set(e.input.subarray(e.next_in,e.next_in+r),A),1===e.state.wrap?e.adler=J(e.adler,t,r,A):2===e.state.wrap&&(e.adler=P(e.adler,t,r,A)),e.next_in+=r,e.total_in+=r,r)},Se=function(e,t){var A,n,r=e.max_chain_length,i=e.strstart,o=e.prev_length,a=e.nice_match,s=e.strstart>e.w_size-262?e.strstart-(e.w_size-262):0,g=e.window,c=e.w_mask,u=e.prev,l=e.strstart+258,I=g[i+o-1],C=g[i+o];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do{if(g[(A=t)+o]===C&&g[A+o-1]===I&&g[A]===g[i]&&g[++A]===g[i+1]){i+=2,A++;do{}while(g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&g[++i]===g[++A]&&i<l);if(n=258-(l-i),i=l-258,n>o){if(e.match_start=t,o=n,n>=a)break;I=g[i+o-1],C=g[i+o]}}}while((t=u[t&c])>s&&0!==--r);return o<=e.lookahead?o:e.lookahead},Fe=function(e){var t,A,n,r,i,o=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=o+(o-262)){e.window.set(e.window.subarray(o,o+o),0),e.match_start-=o,e.strstart-=o,e.block_start-=o,t=A=e.hash_size;do{n=e.head[--t],e.head[t]=n>=o?n-o:0}while(--A);t=A=o;do{n=e.prev[--t],e.prev[t]=n>=o?n-o:0}while(--A);r+=o}if(0===e.strm.avail_in)break;if(A=we(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=A,e.lookahead+e.insert>=3)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=Qe(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=Qe(e,e.ins_h,e.window[i+3-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<262&&0!==e.strm.avail_in)},Re=function(e,t){for(var A,n;;){if(e.lookahead<262){if(Fe(e),e.lookahead<262&&t===ee)return 1;if(0===e.lookahead)break}if(A=0,e.lookahead>=3&&(e.ins_h=Qe(e,e.ins_h,e.window[e.strstart+3-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==A&&e.strstart-A<=e.w_size-262&&(e.match_length=Se(e,A)),e.match_length>=3)if(n=z(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=Qe(e,e.ins_h,e.window[e.strstart+3-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!==--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=Qe(e,e.ins_h,e.window[e.strstart+1]);else n=z(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(ve(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===ne?(ve(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ve(e,!1),0===e.strm.avail_out)?1:2},De=function(e,t){for(var A,n,r;;){if(e.lookahead<262){if(Fe(e),e.lookahead<262&&t===ee)return 1;if(0===e.lookahead)break}if(A=0,e.lookahead>=3&&(e.ins_h=Qe(e,e.ins_h,e.window[e.strstart+3-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==A&&e.prev_length<e.max_lazy_match&&e.strstart-A<=e.w_size-262&&(e.match_length=Se(e,A),e.match_length<=5&&(e.strategy===ue||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-3,n=z(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=r&&(e.ins_h=Qe(e,e.ins_h,e.window[e.strstart+3-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!==--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,n&&(ve(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((n=z(e,0,e.window[e.strstart-1]))&&ve(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=z(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===ne?(ve(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ve(e,!1),0===e.strm.avail_out)?1:2};function Ge(e,t,A,n,r){this.good_length=e,this.max_lazy=t,this.nice_length=A,this.max_chain=n,this.func=r}var ke=[new Ge(0,0,0,0,(function(e,t){var A=65535;for(A>e.pending_buf_size-5&&(A=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Fe(e),0===e.lookahead&&t===ee)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+A;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,ve(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-262&&(ve(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===ne?(ve(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(ve(e,!1),e.strm.avail_out),1)})),new Ge(4,4,8,4,Re),new Ge(4,5,16,8,Re),new Ge(4,6,32,32,Re),new Ge(4,4,16,16,De),new Ge(8,16,32,32,De),new Ge(8,16,128,128,De),new Ge(8,32,128,256,De),new Ge(32,128,258,1024,De),new Ge(32,258,258,4096,De)];function xe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=de,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),Ee(this.dyn_ltree),Ee(this.dyn_dtree),Ee(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),Ee(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),Ee(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var Ne=function(e){if(!e||!e.state)return Be(e,ae);e.total_in=e.total_out=0,e.data_type=fe;var t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:113,e.adler=2===t.wrap?0:1,t.last_flush=ee,W(t),ie},Ue=function(e){var t,A=Ne(e);return A===ie&&((t=e.state).window_size=2*t.w_size,Ee(t.head),t.max_lazy_match=ke[t.level].max_lazy,t.good_match=ke[t.level].good_length,t.nice_match=ke[t.level].nice_length,t.max_chain_length=ke[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),A},_e=function(e,t,A,n,r,i){if(!e)return ae;var o=1;if(t===ce&&(t=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),r<1||r>9||A!==de||n<8||n>15||t<0||t>9||i<0||i>Ce)return Be(e,ae);8===n&&(n=9);var a=new xe;return e.state=a,a.strm=e,a.wrap=o,a.gzhead=null,a.w_bits=n,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=r+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<r+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=3*a.lit_bufsize,a.level=t,a.strategy=i,a.method=A,Ue(e)},Me={deflateInit:function(e,t){return _e(e,t,de,15,8,he)},deflateInit2:_e,deflateReset:Ue,deflateResetKeep:Ne,deflateSetHeader:function(e,t){return e&&e.state?2!==e.state.wrap?ae:(e.state.gzhead=t,ie):ae},deflate:function(e,t){var A,n;if(!e||!e.state||t>re||t<0)return e?Be(e,ae):ae;var r=e.state;if(!e.output||!e.input&&0!==e.avail_in||666===r.status&&t!==ne)return Be(e,0===e.avail_out?ge:ae);r.strm=e;var i=r.last_flush;if(r.last_flush=t,42===r.status)if(2===r.wrap)e.adler=0,me(r,31),me(r,139),me(r,8),r.gzhead?(me(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),me(r,255&r.gzhead.time),me(r,r.gzhead.time>>8&255),me(r,r.gzhead.time>>16&255),me(r,r.gzhead.time>>24&255),me(r,9===r.level?2:r.strategy>=le||r.level<2?4:0),me(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(me(r,255&r.gzhead.extra.length),me(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=P(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(me(r,0),me(r,0),me(r,0),me(r,0),me(r,0),me(r,9===r.level?2:r.strategy>=le||r.level<2?4:0),me(r,3),r.status=113);else{var o=de+(r.w_bits-8<<4)<<8;o|=(r.strategy>=le||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(o|=32),o+=31-o%31,r.status=113,be(r,o),0!==r.strstart&&(be(r,e.adler>>>16),be(r,65535&e.adler)),e.adler=1}if(69===r.status)if(r.gzhead.extra){for(A=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>A&&(e.adler=P(e.adler,r.pending_buf,r.pending-A,A)),ye(e),A=r.pending,r.pending!==r.pending_buf_size));)me(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>A&&(e.adler=P(e.adler,r.pending_buf,r.pending-A,A)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){A=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>A&&(e.adler=P(e.adler,r.pending_buf,r.pending-A,A)),ye(e),A=r.pending,r.pending===r.pending_buf_size)){n=1;break}n=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,me(r,n)}while(0!==n);r.gzhead.hcrc&&r.pending>A&&(e.adler=P(e.adler,r.pending_buf,r.pending-A,A)),0===n&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){A=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>A&&(e.adler=P(e.adler,r.pending_buf,r.pending-A,A)),ye(e),A=r.pending,r.pending===r.pending_buf_size)){n=1;break}n=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,me(r,n)}while(0!==n);r.gzhead.hcrc&&r.pending>A&&(e.adler=P(e.adler,r.pending_buf,r.pending-A,A)),0===n&&(r.status=103)}else r.status=103;if(103===r.status&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&ye(e),r.pending+2<=r.pending_buf_size&&(me(r,255&e.adler),me(r,e.adler>>8&255),e.adler=0,r.status=113)):r.status=113),0!==r.pending){if(ye(e),0===e.avail_out)return r.last_flush=-1,ie}else if(0===e.avail_in&&pe(t)<=pe(i)&&t!==ne)return Be(e,ge);if(666===r.status&&0!==e.avail_in)return Be(e,ge);if(0!==e.avail_in||0!==r.lookahead||t!==ee&&666!==r.status){var a=r.strategy===le?function(e,t){for(var A;;){if(0===e.lookahead&&(Fe(e),0===e.lookahead)){if(t===ee)return 1;break}if(e.match_length=0,A=z(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,A&&(ve(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===ne?(ve(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ve(e,!1),0===e.strm.avail_out)?1:2}(r,t):r.strategy===Ie?function(e,t){for(var A,n,r,i,o=e.window;;){if(e.lookahead<=258){if(Fe(e),e.lookahead<=258&&t===ee)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(n=o[r=e.strstart-1])===o[++r]&&n===o[++r]&&n===o[++r]){i=e.strstart+258;do{}while(n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&r<i);e.match_length=258-(i-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(A=z(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(A=z(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),A&&(ve(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===ne?(ve(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ve(e,!1),0===e.strm.avail_out)?1:2}(r,t):ke[r.level].func(r,t);if(3!==a&&4!==a||(r.status=666),1===a||3===a)return 0===e.avail_out&&(r.last_flush=-1),ie;if(2===a&&(t===te?$(r):t!==re&&(X(r,0,0,!1),t===Ae&&(Ee(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),ye(e),0===e.avail_out))return r.last_flush=-1,ie}return t!==ne?ie:r.wrap<=0?oe:(2===r.wrap?(me(r,255&e.adler),me(r,e.adler>>8&255),me(r,e.adler>>16&255),me(r,e.adler>>24&255),me(r,255&e.total_in),me(r,e.total_in>>8&255),me(r,e.total_in>>16&255),me(r,e.total_in>>24&255)):(be(r,e.adler>>>16),be(r,65535&e.adler)),ye(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?ie:oe)},deflateEnd:function(e){if(!e||!e.state)return ae;var t=e.state.status;return 42!==t&&69!==t&&73!==t&&91!==t&&103!==t&&113!==t&&666!==t?Be(e,ae):(e.state=null,113===t?Be(e,se):ie)},deflateSetDictionary:function(e,t){var A=t.length;if(!e||!e.state)return ae;var n=e.state,r=n.wrap;if(2===r||1===r&&42!==n.status||n.lookahead)return ae;if(1===r&&(e.adler=J(e.adler,t,A,0)),n.wrap=0,A>=n.w_size){0===r&&(Ee(n.head),n.strstart=0,n.block_start=0,n.insert=0);var i=new Uint8Array(n.w_size);i.set(t.subarray(A-n.w_size,A),0),t=i,A=n.w_size}var o=e.avail_in,a=e.next_in,s=e.input;for(e.avail_in=A,e.next_in=0,e.input=t,Fe(n);n.lookahead>=3;){var g=n.strstart,c=n.lookahead-2;do{n.ins_h=Qe(n,n.ins_h,n.window[g+3-1]),n.prev[g&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=g,g++}while(--c);n.strstart=g,n.lookahead=2,Fe(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,e.next_in=a,e.input=s,e.avail_in=o,n.wrap=r,ie},deflateInfo:"pako deflate (from Nodeca project)"},Oe=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},Le=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var A=t.shift();if(A){if("object"!==typeof A)throw new TypeError(A+"must be non-object");for(var n in A)Oe(A,n)&&(e[n]=A[n])}}return e},Te=function(e){for(var t=0,A=0,n=e.length;A<n;A++)t+=e[A].length;for(var r=new Uint8Array(t),i=0,o=0,a=e.length;i<a;i++){var s=e[i];r.set(s,o),o+=s.length}return r},Ze=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(oA){Ze=!1}for(var He=new Uint8Array(256),Ye=0;Ye<256;Ye++)He[Ye]=Ye>=252?6:Ye>=248?5:Ye>=240?4:Ye>=224?3:Ye>=192?2:1;He[254]=He[254]=1;var Je=function(e){var t,A,n,r,i,o=e.length,a=0;for(r=0;r<o;r++)55296===(64512&(A=e.charCodeAt(r)))&&r+1<o&&56320===(64512&(n=e.charCodeAt(r+1)))&&(A=65536+(A-55296<<10)+(n-56320),r++),a+=A<128?1:A<2048?2:A<65536?3:4;for(t=new Uint8Array(a),i=0,r=0;i<a;r++)55296===(64512&(A=e.charCodeAt(r)))&&r+1<o&&56320===(64512&(n=e.charCodeAt(r+1)))&&(A=65536+(A-55296<<10)+(n-56320),r++),A<128?t[i++]=A:A<2048?(t[i++]=192|A>>>6,t[i++]=128|63&A):A<65536?(t[i++]=224|A>>>12,t[i++]=128|A>>>6&63,t[i++]=128|63&A):(t[i++]=240|A>>>18,t[i++]=128|A>>>12&63,t[i++]=128|A>>>6&63,t[i++]=128|63&A);return t},je=function(e,t){var A,n,r=t||e.length,i=new Array(2*r);for(n=0,A=0;A<r;){var o=e[A++];if(o<128)i[n++]=o;else{var a=He[o];if(a>4)i[n++]=65533,A+=a-1;else{for(o&=2===a?31:3===a?15:7;a>1&&A<r;)o=o<<6|63&e[A++],a--;a>1?i[n++]=65533:o<65536?i[n++]=o:(o-=65536,i[n++]=55296|o>>10&1023,i[n++]=56320|1023&o)}}}return function(e,t){if(t<65534&&e.subarray&&Ze)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));for(var A="",n=0;n<t;n++)A+=String.fromCharCode(e[n]);return A}(i,n)},Pe=function(e,t){(t=t||e.length)>e.length&&(t=e.length);for(var A=t-1;A>=0&&128===(192&e[A]);)A--;return A<0||0===A?t:A+He[e[A]]>t?A:t};var Ve=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},Ke=Object.prototype.toString,We=K.Z_NO_FLUSH,Xe=K.Z_SYNC_FLUSH,qe=K.Z_FULL_FLUSH,ze=K.Z_FINISH,$e=K.Z_OK,et=K.Z_STREAM_END,tt=K.Z_DEFAULT_COMPRESSION,At=K.Z_DEFAULT_STRATEGY,nt=K.Z_DEFLATED;function rt(e){this.options=Le({level:tt,method:nt,chunkSize:16384,windowBits:15,memLevel:8,strategy:At},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ve,this.strm.avail_out=0;var A=Me.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(A!==$e)throw new Error(V[A]);if(t.header&&Me.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"===typeof t.dictionary?Je(t.dictionary):"[object ArrayBuffer]"===Ke.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(A=Me.deflateSetDictionary(this.strm,n))!==$e)throw new Error(V[A]);this._dict_set=!0}}function it(e,t){var A=new rt(t);if(A.push(e,!0),A.err)throw A.msg||V[A.err];return A.result}rt.prototype.push=function(e,t){var A,n,r=this.strm,i=this.options.chunkSize;if(this.ended)return!1;for(n=t===~~t?t:!0===t?ze:We,"string"===typeof e?r.input=Je(e):"[object ArrayBuffer]"===Ke.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),(n===Xe||n===qe)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if((A=Me.deflate(r,n))===et)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),A=Me.deflateEnd(this.strm),this.onEnd(A),this.ended=!0,A===$e;if(0!==r.avail_out){if(n>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},rt.prototype.onData=function(e){this.chunks.push(e)},rt.prototype.onEnd=function(e){e===$e&&(this.result=Te(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var ot={Deflate:rt,deflate:it,deflateRaw:function(e,t){return(t=t||{}).raw=!0,it(e,t)},gzip:function(e,t){return(t=t||{}).gzip=!0,it(e,t)},constants:K},at=function(e,t){var A,n,r,i,o,a,s,g,c,u,l,I,C,h,f,d,B,p,E,Q,y,v,m,b,w=e.state;A=e.next_in,m=e.input,n=A+(e.avail_in-5),r=e.next_out,b=e.output,i=r-(t-e.avail_out),o=r+(e.avail_out-257),a=w.dmax,s=w.wsize,g=w.whave,c=w.wnext,u=w.window,l=w.hold,I=w.bits,C=w.lencode,h=w.distcode,f=(1<<w.lenbits)-1,d=(1<<w.distbits)-1;e:do{I<15&&(l+=m[A++]<<I,I+=8,l+=m[A++]<<I,I+=8),B=C[l&f];t:for(;;){if(l>>>=p=B>>>24,I-=p,0===(p=B>>>16&255))b[r++]=65535&B;else{if(!(16&p)){if(0===(64&p)){B=C[(65535&B)+(l&(1<<p)-1)];continue t}if(32&p){w.mode=12;break e}e.msg="invalid literal/length code",w.mode=30;break e}E=65535&B,(p&=15)&&(I<p&&(l+=m[A++]<<I,I+=8),E+=l&(1<<p)-1,l>>>=p,I-=p),I<15&&(l+=m[A++]<<I,I+=8,l+=m[A++]<<I,I+=8),B=h[l&d];A:for(;;){if(l>>>=p=B>>>24,I-=p,!(16&(p=B>>>16&255))){if(0===(64&p)){B=h[(65535&B)+(l&(1<<p)-1)];continue A}e.msg="invalid distance code",w.mode=30;break e}if(Q=65535&B,I<(p&=15)&&(l+=m[A++]<<I,(I+=8)<p&&(l+=m[A++]<<I,I+=8)),(Q+=l&(1<<p)-1)>a){e.msg="invalid distance too far back",w.mode=30;break e}if(l>>>=p,I-=p,Q>(p=r-i)){if((p=Q-p)>g&&w.sane){e.msg="invalid distance too far back",w.mode=30;break e}if(y=0,v=u,0===c){if(y+=s-p,p<E){E-=p;do{b[r++]=u[y++]}while(--p);y=r-Q,v=b}}else if(c<p){if(y+=s+c-p,(p-=c)<E){E-=p;do{b[r++]=u[y++]}while(--p);if(y=0,c<E){E-=p=c;do{b[r++]=u[y++]}while(--p);y=r-Q,v=b}}}else if(y+=c-p,p<E){E-=p;do{b[r++]=u[y++]}while(--p);y=r-Q,v=b}for(;E>2;)b[r++]=v[y++],b[r++]=v[y++],b[r++]=v[y++],E-=3;E&&(b[r++]=v[y++],E>1&&(b[r++]=v[y++]))}else{y=r-Q;do{b[r++]=b[y++],b[r++]=b[y++],b[r++]=b[y++],E-=3}while(E>2);E&&(b[r++]=b[y++],E>1&&(b[r++]=b[y++]))}break}}break}}while(A<n&&r<o);A-=E=I>>3,l&=(1<<(I-=E<<3))-1,e.next_in=A,e.next_out=r,e.avail_in=A<n?n-A+5:5-(A-n),e.avail_out=r<o?o-r+257:257-(r-o),w.hold=l,w.bits=I},st=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),gt=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),ct=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),ut=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),lt=function(e,t,A,n,r,i,o,a){var s,g,c,u,l,I,C,h,f,d=a.bits,B=0,p=0,E=0,Q=0,y=0,v=0,m=0,b=0,w=0,S=0,F=null,R=0,D=new Uint16Array(16),G=new Uint16Array(16),k=null,x=0;for(B=0;B<=15;B++)D[B]=0;for(p=0;p<n;p++)D[t[A+p]]++;for(y=d,Q=15;Q>=1&&0===D[Q];Q--);if(y>Q&&(y=Q),0===Q)return r[i++]=20971520,r[i++]=20971520,a.bits=1,0;for(E=1;E<Q&&0===D[E];E++);for(y<E&&(y=E),b=1,B=1;B<=15;B++)if(b<<=1,(b-=D[B])<0)return-1;if(b>0&&(0===e||1!==Q))return-1;for(G[1]=0,B=1;B<15;B++)G[B+1]=G[B]+D[B];for(p=0;p<n;p++)0!==t[A+p]&&(o[G[t[A+p]]++]=p);if(0===e?(F=k=o,I=19):1===e?(F=st,R-=257,k=gt,x-=257,I=256):(F=ct,k=ut,I=-1),S=0,p=0,B=E,l=i,v=y,m=0,c=-1,u=(w=1<<y)-1,1===e&&w>852||2===e&&w>592)return 1;for(;;){C=B-m,o[p]<I?(h=0,f=o[p]):o[p]>I?(h=k[x+o[p]],f=F[R+o[p]]):(h=96,f=0),s=1<<B-m,E=g=1<<v;do{r[l+(S>>m)+(g-=s)]=C<<24|h<<16|f|0}while(0!==g);for(s=1<<B-1;S&s;)s>>=1;if(0!==s?(S&=s-1,S+=s):S=0,p++,0===--D[B]){if(B===Q)break;B=t[A+o[p]]}if(B>y&&(S&u)!==c){for(0===m&&(m=y),l+=E,b=1<<(v=B-m);v+m<Q&&!((b-=D[v+m])<=0);)v++,b<<=1;if(w+=1<<v,1===e&&w>852||2===e&&w>592)return 1;r[c=S&u]=y<<24|v<<16|l-i|0}}return 0!==S&&(r[l+S]=B-m<<24|64<<16|0),a.bits=y,0},It=K.Z_FINISH,Ct=K.Z_BLOCK,ht=K.Z_TREES,ft=K.Z_OK,dt=K.Z_STREAM_END,Bt=K.Z_NEED_DICT,pt=K.Z_STREAM_ERROR,Et=K.Z_DATA_ERROR,Qt=K.Z_MEM_ERROR,yt=K.Z_BUF_ERROR,vt=K.Z_DEFLATED,mt=function(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)};function bt(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var wt,St,Ft=function(e){if(!e||!e.state)return pt;var t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,ft},Rt=function(e){if(!e||!e.state)return pt;var t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Ft(e)},Dt=function(e,t){var A;if(!e||!e.state)return pt;var n=e.state;return t<0?(A=0,t=-t):(A=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?pt:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=A,n.wbits=t,Rt(e))},Gt=function(e,t){if(!e)return pt;var A=new bt;e.state=A,A.window=null;var n=Dt(e,t);return n!==ft&&(e.state=null),n},kt=!0,xt=function(e){if(kt){wt=new Int32Array(512),St=new Int32Array(32);for(var t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(lt(1,e.lens,0,288,wt,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;lt(2,e.lens,0,32,St,0,e.work,{bits:5}),kt=!1}e.lencode=wt,e.lenbits=9,e.distcode=St,e.distbits=5},Nt=function(e,t,A,n){var r,i=e.state;return null===i.window&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new Uint8Array(i.wsize)),n>=i.wsize?(i.window.set(t.subarray(A-i.wsize,A),0),i.wnext=0,i.whave=i.wsize):((r=i.wsize-i.wnext)>n&&(r=n),i.window.set(t.subarray(A-n,A-n+r),i.wnext),(n-=r)?(i.window.set(t.subarray(A-n,A),0),i.wnext=n,i.whave=i.wsize):(i.wnext+=r,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=r))),0},Ut={inflateReset:Rt,inflateReset2:Dt,inflateResetKeep:Ft,inflateInit:function(e){return Gt(e,15)},inflateInit2:Gt,inflate:function(e,t){var A,n,r,i,o,a,s,g,c,u,l,I,C,h,f,d,B,p,E,Q,y,v,m,b,w=0,S=new Uint8Array(4),F=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return pt;12===(A=e.state).mode&&(A.mode=13),o=e.next_out,r=e.output,s=e.avail_out,i=e.next_in,n=e.input,a=e.avail_in,g=A.hold,c=A.bits,u=a,l=s,v=ft;e:for(;;)switch(A.mode){case 1:if(0===A.wrap){A.mode=13;break}for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(2&A.wrap&&35615===g){A.check=0,S[0]=255&g,S[1]=g>>>8&255,A.check=P(A.check,S,2,0),g=0,c=0,A.mode=2;break}if(A.flags=0,A.head&&(A.head.done=!1),!(1&A.wrap)||(((255&g)<<8)+(g>>8))%31){e.msg="incorrect header check",A.mode=30;break}if((15&g)!==vt){e.msg="unknown compression method",A.mode=30;break}if(c-=4,y=8+(15&(g>>>=4)),0===A.wbits)A.wbits=y;else if(y>A.wbits){e.msg="invalid window size",A.mode=30;break}A.dmax=1<<A.wbits,e.adler=A.check=1,A.mode=512&g?10:12,g=0,c=0;break;case 2:for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(A.flags=g,(255&A.flags)!==vt){e.msg="unknown compression method",A.mode=30;break}if(57344&A.flags){e.msg="unknown header flags set",A.mode=30;break}A.head&&(A.head.text=g>>8&1),512&A.flags&&(S[0]=255&g,S[1]=g>>>8&255,A.check=P(A.check,S,2,0)),g=0,c=0,A.mode=3;case 3:for(;c<32;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.head&&(A.head.time=g),512&A.flags&&(S[0]=255&g,S[1]=g>>>8&255,S[2]=g>>>16&255,S[3]=g>>>24&255,A.check=P(A.check,S,4,0)),g=0,c=0,A.mode=4;case 4:for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.head&&(A.head.xflags=255&g,A.head.os=g>>8),512&A.flags&&(S[0]=255&g,S[1]=g>>>8&255,A.check=P(A.check,S,2,0)),g=0,c=0,A.mode=5;case 5:if(1024&A.flags){for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.length=g,A.head&&(A.head.extra_len=g),512&A.flags&&(S[0]=255&g,S[1]=g>>>8&255,A.check=P(A.check,S,2,0)),g=0,c=0}else A.head&&(A.head.extra=null);A.mode=6;case 6:if(1024&A.flags&&((I=A.length)>a&&(I=a),I&&(A.head&&(y=A.head.extra_len-A.length,A.head.extra||(A.head.extra=new Uint8Array(A.head.extra_len)),A.head.extra.set(n.subarray(i,i+I),y)),512&A.flags&&(A.check=P(A.check,n,I,i)),a-=I,i+=I,A.length-=I),A.length))break e;A.length=0,A.mode=7;case 7:if(2048&A.flags){if(0===a)break e;I=0;do{y=n[i+I++],A.head&&y&&A.length<65536&&(A.head.name+=String.fromCharCode(y))}while(y&&I<a);if(512&A.flags&&(A.check=P(A.check,n,I,i)),a-=I,i+=I,y)break e}else A.head&&(A.head.name=null);A.length=0,A.mode=8;case 8:if(4096&A.flags){if(0===a)break e;I=0;do{y=n[i+I++],A.head&&y&&A.length<65536&&(A.head.comment+=String.fromCharCode(y))}while(y&&I<a);if(512&A.flags&&(A.check=P(A.check,n,I,i)),a-=I,i+=I,y)break e}else A.head&&(A.head.comment=null);A.mode=9;case 9:if(512&A.flags){for(;c<16;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(g!==(65535&A.check)){e.msg="header crc mismatch",A.mode=30;break}g=0,c=0}A.head&&(A.head.hcrc=A.flags>>9&1,A.head.done=!0),e.adler=A.check=0,A.mode=12;break;case 10:for(;c<32;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}e.adler=A.check=mt(g),g=0,c=0,A.mode=11;case 11:if(0===A.havedict)return e.next_out=o,e.avail_out=s,e.next_in=i,e.avail_in=a,A.hold=g,A.bits=c,Bt;e.adler=A.check=1,A.mode=12;case 12:if(t===Ct||t===ht)break e;case 13:if(A.last){g>>>=7&c,c-=7&c,A.mode=27;break}for(;c<3;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}switch(A.last=1&g,c-=1,3&(g>>>=1)){case 0:A.mode=14;break;case 1:if(xt(A),A.mode=20,t===ht){g>>>=2,c-=2;break e}break;case 2:A.mode=17;break;case 3:e.msg="invalid block type",A.mode=30}g>>>=2,c-=2;break;case 14:for(g>>>=7&c,c-=7&c;c<32;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if((65535&g)!==(g>>>16^65535)){e.msg="invalid stored block lengths",A.mode=30;break}if(A.length=65535&g,g=0,c=0,A.mode=15,t===ht)break e;case 15:A.mode=16;case 16:if(I=A.length){if(I>a&&(I=a),I>s&&(I=s),0===I)break e;r.set(n.subarray(i,i+I),o),a-=I,i+=I,s-=I,o+=I,A.length-=I;break}A.mode=12;break;case 17:for(;c<14;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(A.nlen=257+(31&g),g>>>=5,c-=5,A.ndist=1+(31&g),g>>>=5,c-=5,A.ncode=4+(15&g),g>>>=4,c-=4,A.nlen>286||A.ndist>30){e.msg="too many length or distance symbols",A.mode=30;break}A.have=0,A.mode=18;case 18:for(;A.have<A.ncode;){for(;c<3;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.lens[F[A.have++]]=7&g,g>>>=3,c-=3}for(;A.have<19;)A.lens[F[A.have++]]=0;if(A.lencode=A.lendyn,A.lenbits=7,m={bits:A.lenbits},v=lt(0,A.lens,0,19,A.lencode,0,A.work,m),A.lenbits=m.bits,v){e.msg="invalid code lengths set",A.mode=30;break}A.have=0,A.mode=19;case 19:for(;A.have<A.nlen+A.ndist;){for(;d=(w=A.lencode[g&(1<<A.lenbits)-1])>>>16&255,B=65535&w,!((f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(B<16)g>>>=f,c-=f,A.lens[A.have++]=B;else{if(16===B){for(b=f+2;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(g>>>=f,c-=f,0===A.have){e.msg="invalid bit length repeat",A.mode=30;break}y=A.lens[A.have-1],I=3+(3&g),g>>>=2,c-=2}else if(17===B){for(b=f+3;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}c-=f,y=0,I=3+(7&(g>>>=f)),g>>>=3,c-=3}else{for(b=f+7;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}c-=f,y=0,I=11+(127&(g>>>=f)),g>>>=7,c-=7}if(A.have+I>A.nlen+A.ndist){e.msg="invalid bit length repeat",A.mode=30;break}for(;I--;)A.lens[A.have++]=y}}if(30===A.mode)break;if(0===A.lens[256]){e.msg="invalid code -- missing end-of-block",A.mode=30;break}if(A.lenbits=9,m={bits:A.lenbits},v=lt(1,A.lens,0,A.nlen,A.lencode,0,A.work,m),A.lenbits=m.bits,v){e.msg="invalid literal/lengths set",A.mode=30;break}if(A.distbits=6,A.distcode=A.distdyn,m={bits:A.distbits},v=lt(2,A.lens,A.nlen,A.ndist,A.distcode,0,A.work,m),A.distbits=m.bits,v){e.msg="invalid distances set",A.mode=30;break}if(A.mode=20,t===ht)break e;case 20:A.mode=21;case 21:if(a>=6&&s>=258){e.next_out=o,e.avail_out=s,e.next_in=i,e.avail_in=a,A.hold=g,A.bits=c,at(e,l),o=e.next_out,r=e.output,s=e.avail_out,i=e.next_in,n=e.input,a=e.avail_in,g=A.hold,c=A.bits,12===A.mode&&(A.back=-1);break}for(A.back=0;d=(w=A.lencode[g&(1<<A.lenbits)-1])>>>16&255,B=65535&w,!((f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(d&&0===(240&d)){for(p=f,E=d,Q=B;d=(w=A.lencode[Q+((g&(1<<p+E)-1)>>p)])>>>16&255,B=65535&w,!(p+(f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}g>>>=p,c-=p,A.back+=p}if(g>>>=f,c-=f,A.back+=f,A.length=B,0===d){A.mode=26;break}if(32&d){A.back=-1,A.mode=12;break}if(64&d){e.msg="invalid literal/length code",A.mode=30;break}A.extra=15&d,A.mode=22;case 22:if(A.extra){for(b=A.extra;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.length+=g&(1<<A.extra)-1,g>>>=A.extra,c-=A.extra,A.back+=A.extra}A.was=A.length,A.mode=23;case 23:for(;d=(w=A.distcode[g&(1<<A.distbits)-1])>>>16&255,B=65535&w,!((f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(0===(240&d)){for(p=f,E=d,Q=B;d=(w=A.distcode[Q+((g&(1<<p+E)-1)>>p)])>>>16&255,B=65535&w,!(p+(f=w>>>24)<=c);){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}g>>>=p,c-=p,A.back+=p}if(g>>>=f,c-=f,A.back+=f,64&d){e.msg="invalid distance code",A.mode=30;break}A.offset=B,A.extra=15&d,A.mode=24;case 24:if(A.extra){for(b=A.extra;c<b;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}A.offset+=g&(1<<A.extra)-1,g>>>=A.extra,c-=A.extra,A.back+=A.extra}if(A.offset>A.dmax){e.msg="invalid distance too far back",A.mode=30;break}A.mode=25;case 25:if(0===s)break e;if(I=l-s,A.offset>I){if((I=A.offset-I)>A.whave&&A.sane){e.msg="invalid distance too far back",A.mode=30;break}I>A.wnext?(I-=A.wnext,C=A.wsize-I):C=A.wnext-I,I>A.length&&(I=A.length),h=A.window}else h=r,C=o-A.offset,I=A.length;I>s&&(I=s),s-=I,A.length-=I;do{r[o++]=h[C++]}while(--I);0===A.length&&(A.mode=21);break;case 26:if(0===s)break e;r[o++]=A.length,s--,A.mode=21;break;case 27:if(A.wrap){for(;c<32;){if(0===a)break e;a--,g|=n[i++]<<c,c+=8}if(l-=s,e.total_out+=l,A.total+=l,l&&(e.adler=A.check=A.flags?P(A.check,r,l,o-l):J(A.check,r,l,o-l)),l=s,(A.flags?g:mt(g))!==A.check){e.msg="incorrect data check",A.mode=30;break}g=0,c=0}A.mode=28;case 28:if(A.wrap&&A.flags){for(;c<32;){if(0===a)break e;a--,g+=n[i++]<<c,c+=8}if(g!==(4294967295&A.total)){e.msg="incorrect length check",A.mode=30;break}g=0,c=0}A.mode=29;case 29:v=dt;break e;case 30:v=Et;break e;case 31:return Qt;case 32:default:return pt}return e.next_out=o,e.avail_out=s,e.next_in=i,e.avail_in=a,A.hold=g,A.bits=c,(A.wsize||l!==e.avail_out&&A.mode<30&&(A.mode<27||t!==It))&&Nt(e,e.output,e.next_out,l-e.avail_out),u-=e.avail_in,l-=e.avail_out,e.total_in+=u,e.total_out+=l,A.total+=l,A.wrap&&l&&(e.adler=A.check=A.flags?P(A.check,r,l,e.next_out-l):J(A.check,r,l,e.next_out-l)),e.data_type=A.bits+(A.last?64:0)+(12===A.mode?128:0)+(20===A.mode||15===A.mode?256:0),(0===u&&0===l||t===It)&&v===ft&&(v=yt),v},inflateEnd:function(e){if(!e||!e.state)return pt;var t=e.state;return t.window&&(t.window=null),e.state=null,ft},inflateGetHeader:function(e,t){if(!e||!e.state)return pt;var A=e.state;return 0===(2&A.wrap)?pt:(A.head=t,t.done=!1,ft)},inflateSetDictionary:function(e,t){var A,n=t.length;return e&&e.state?0!==(A=e.state).wrap&&11!==A.mode?pt:11===A.mode&&J(1,t,n,0)!==A.check?Et:Nt(e,t,n,n)?(A.mode=31,Qt):(A.havedict=1,ft):pt},inflateInfo:"pako inflate (from Nodeca project)"};var _t=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},Mt=Object.prototype.toString,Ot=K.Z_NO_FLUSH,Lt=K.Z_FINISH,Tt=K.Z_OK,Zt=K.Z_STREAM_END,Ht=K.Z_NEED_DICT,Yt=K.Z_STREAM_ERROR,Jt=K.Z_DATA_ERROR,jt=K.Z_MEM_ERROR;function Pt(e){this.options=Le({chunkSize:65536,windowBits:15,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0===(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ve,this.strm.avail_out=0;var A=Ut.inflateInit2(this.strm,t.windowBits);if(A!==Tt)throw new Error(V[A]);if(this.header=new _t,Ut.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"===typeof t.dictionary?t.dictionary=Je(t.dictionary):"[object ArrayBuffer]"===Mt.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(A=Ut.inflateSetDictionary(this.strm,t.dictionary))!==Tt))throw new Error(V[A])}function Vt(e,t){var A=new Pt(t);if(A.push(e),A.err)throw A.msg||V[A.err];return A.result}Pt.prototype.push=function(e,t){var A,n,r,i=this.strm,o=this.options.chunkSize,a=this.options.dictionary;if(this.ended)return!1;for(n=t===~~t?t:!0===t?Lt:Ot,"[object ArrayBuffer]"===Mt.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(o),i.next_out=0,i.avail_out=o),(A=Ut.inflate(i,n))===Ht&&a&&((A=Ut.inflateSetDictionary(i,a))===Tt?A=Ut.inflate(i,n):A===Jt&&(A=Ht));i.avail_in>0&&A===Zt&&i.state.wrap>0&&0!==e[i.next_in];)Ut.inflateReset(i),A=Ut.inflate(i,n);switch(A){case Yt:case Jt:case Ht:case jt:return this.onEnd(A),this.ended=!0,!1}if(r=i.avail_out,i.next_out&&(0===i.avail_out||A===Zt))if("string"===this.options.to){var s=Pe(i.output,i.next_out),g=i.next_out-s,c=je(i.output,s);i.next_out=g,i.avail_out=o-g,g&&i.output.set(i.output.subarray(s,s+g),0),this.onData(c)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(A!==Tt||0!==r){if(A===Zt)return A=Ut.inflateEnd(this.strm),this.onEnd(A),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},Pt.prototype.onData=function(e){this.chunks.push(e)},Pt.prototype.onEnd=function(e){e===Tt&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Te(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var Kt={Inflate:Pt,inflate:Vt,inflateRaw:function(e,t){return(t=t||{}).raw=!0,Vt(e,t)},ungzip:Vt,constants:K},Wt={Deflate:ot.Deflate,deflate:ot.deflate,deflateRaw:ot.deflateRaw,gzip:ot.gzip,Inflate:Kt.Inflate,inflate:Kt.inflate,inflateRaw:Kt.inflateRaw,ungzip:Kt.ungzip,constants:K},Xt=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(Object(s.a)(this,e),t<0||t>9)throw new Error("Invalid gzip compression level, it should be between 0 and 9");this.level=t}return Object(g.a)(e,[{key:"encode",value:function(e){return Wt.gzip(e,{level:this.level})}},{key:"decode",value:function(e,t){var A=Wt.ungzip(e);return void 0!==t?(t.set(A),t):A}}],[{key:"fromConfig",value:function(t){return new e(t.level)}}]),e}();Xt.codecId="gzip";var qt=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(Object(s.a)(this,e),t<-1||t>9)throw new Error("Invalid zlib compression level, it should be between -1 and 9");this.level=t}return Object(g.a)(e,[{key:"encode",value:function(e){return Wt.deflate(e,{level:this.level})}},{key:"decode",value:function(e,t){var A=Wt.inflate(e);return void 0!==t?(t.set(A),t):A}}],[{key:"fromConfig",value:function(t){return new e(t.level)}}]),e}();qt.codecId="zlib";var zt="undefined"!==typeof e&&null!=e.versions&&null!=e.versions.node?function(e){return new Uint8Array(n.from(e,"base64"))}:function(){for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:4*t-205]=t;return function(t){for(var A=t.length,n=new Uint8Array(3*(A-("="==t[A-1])-("="==t[A-2]))/4|0),r=0,i=0;r<A;){var o=e[t.charCodeAt(r++)],a=e[t.charCodeAt(r++)],s=e[t.charCodeAt(r++)],g=e[t.charCodeAt(r++)];n[i++]=o<<2|a>>4,n[i++]=a<<4|s>>2,n[i++]=s<<6|g}return n}}();function $t(e,t){return e({noInitialRun:!0,wasmBinary:zt(t)})}var eA,tA=function(){"undefined"!==typeof document&&document.currentScript&&document.currentScript.src;return function(e){var t,A,n;e=e||{},t||(t="undefined"!==typeof e?e:{}),t.ready=new Promise((function(e,t){A=e,n=t}));var r,i={};for(r in t)t.hasOwnProperty(r)&&(i[r]=t[r]);var o,a="./this.program",s=t.print||console.log.bind(console),g=t.printErr||console.warn.bind(console);for(r in i)i.hasOwnProperty(r)&&(t[r]=i[r]);i=null,t.thisProgram&&(a=t.thisProgram),t.wasmBinary&&(o=t.wasmBinary),t.noExitRuntime&&t.noExitRuntime,"object"!==typeof WebAssembly&&T("no native wasm support detected");var c,u=!1,l="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;function I(e,t,A){var n=t+A;for(A=t;e[A]&&!(A>=n);)++A;if(16<A-t&&e.subarray&&l)return l.decode(e.subarray(t,A));for(n="";t<A;){var r=e[t++];if(128&r){var i=63&e[t++];if(192==(224&r))n+=String.fromCharCode((31&r)<<6|i);else{var o=63&e[t++];65536>(r=224==(240&r)?(15&r)<<12|i<<6|o:(7&r)<<18|i<<12|o<<6|63&e[t++])?n+=String.fromCharCode(r):(r-=65536,n+=String.fromCharCode(55296|r>>10,56320|1023&r))}}else n+=String.fromCharCode(r)}return n}var C,h,f,d,B,p,E,Q,y,v="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function m(e,t){for(var A=e>>1,n=A+t/2;!(A>=n)&&B[A];)++A;if(32<(A<<=1)-e&&v)return v.decode(f.subarray(e,A));for(A=0,n="";;){var r=d[e+2*A>>1];if(0==r||A==t/2)return n;++A,n+=String.fromCharCode(r)}}function b(e,t,A){if(void 0===A&&(A=2147483647),2>A)return 0;var n=t;A=(A-=2)<2*e.length?A/2:e.length;for(var r=0;r<A;++r)d[t>>1]=e.charCodeAt(r),t+=2;return d[t>>1]=0,t-n}function w(e){return 2*e.length}function S(e,t){for(var A=0,n="";!(A>=t/4);){var r=p[e+4*A>>2];if(0==r)break;++A,65536<=r?(r-=65536,n+=String.fromCharCode(55296|r>>10,56320|1023&r)):n+=String.fromCharCode(r)}return n}function F(e,t,A){if(void 0===A&&(A=2147483647),4>A)return 0;var n=t;A=n+A-4;for(var r=0;r<e.length;++r){var i=e.charCodeAt(r);if(55296<=i&&57343>=i)i=65536+((1023&i)<<10)|1023&e.charCodeAt(++r);if(p[t>>2]=i,(t+=4)+4>A)break}return p[t>>2]=0,t-n}function R(e){for(var t=0,A=0;A<e.length;++A){var n=e.charCodeAt(A);55296<=n&&57343>=n&&++A,t+=4}return t}function D(e){C=e,t.HEAP8=h=new Int8Array(e),t.HEAP16=d=new Int16Array(e),t.HEAP32=p=new Int32Array(e),t.HEAPU8=f=new Uint8Array(e),t.HEAPU16=B=new Uint16Array(e),t.HEAPU32=E=new Uint32Array(e),t.HEAPF32=Q=new Float32Array(e),t.HEAPF64=y=new Float64Array(e)}var G=t.INITIAL_MEMORY||16777216;(c=t.wasmMemory?t.wasmMemory:new WebAssembly.Memory({initial:G/65536,maximum:32768}))&&(C=c.buffer),G=C.byteLength,D(C);var k,x=[],N=[],U=[],_=[];function M(){var e=t.preRun.shift();x.unshift(e)}var O=0,L=null;function T(e){throw t.onAbort&&t.onAbort(e),g(e),u=!0,e=new WebAssembly.RuntimeError("abort("+e+"). Build with -s ASSERTIONS=1 for more info."),n(e),e}function Z(e){var t=Y;return String.prototype.startsWith?t.startsWith(e):0===t.indexOf(e)}function H(){return Z("data:application/octet-stream;base64,")}t.preloadedImages={},t.preloadedAudios={};var Y="blosc_codec.wasm";if(!H()){var J=Y;Y=t.locateFile?t.locateFile(J,""):""+J}function j(){try{if(o)return new Uint8Array(o);throw"both async and sync fetching of the wasm failed"}catch(e){T(e)}}function P(e){for(;0<e.length;){var A=e.shift();if("function"==typeof A)A(t);else{var n=A.T;"number"===typeof n?void 0===A.O?k.get(n)():k.get(n)(A.O):n(void 0===A.O?null:A.O)}}}function V(e){this.N=e-16,this.$=function(e){p[this.N+8>>2]=e},this.X=function(e){p[this.N+0>>2]=e},this.Y=function(){p[this.N+4>>2]=0},this.W=function(){h[this.N+12>>0]=0},this.Z=function(){h[this.N+13>>0]=0},this.V=function(e,t){this.$(e),this.X(t),this.Y(),this.W(),this.Z()}}function K(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var W=void 0;function X(e){for(var t="";f[e];)t+=W[f[e++]];return t}var q={},z={},$={};function ee(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=t&&57>=t?"_"+e:e}function te(e,t){return e=ee(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function Ae(e){var t=Error,A=te(e,(function(t){this.name=e,this.message=t,void 0!==(t=Error(t).stack)&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}));return A.prototype=Object.create(t.prototype),A.prototype.constructor=A,A.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},A}var ne=void 0;function re(e){throw new ne(e)}var ie=void 0;function oe(e,t,A){if(A=A||{},!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=t.name;if(e||re('type "'+n+'" must have a positive integer typeid pointer'),z.hasOwnProperty(e)){if(A.U)return;re("Cannot register type '"+n+"' twice")}z[e]=t,delete $[e],q.hasOwnProperty(e)&&(t=q[e],delete q[e],t.forEach((function(e){e()})))}var ae=[],se=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function ge(e){4<e&&0===--se[e].P&&(se[e]=void 0,ae.push(e))}function ce(e){switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=ae.length?ae.pop():se.length;return se[t]={P:1,value:e},t}}function ue(e){return this.fromWireType(E[e>>2])}function le(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function Ie(e,t){switch(t){case 2:return function(e){return this.fromWireType(Q[e>>2])};case 3:return function(e){return this.fromWireType(y[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Ce(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function he(e,A,n){t.hasOwnProperty(e)?((void 0===n||void 0!==t[e].L&&void 0!==t[e].L[n])&&re("Cannot register public name '"+e+"' twice"),function(e,A){var n=t;if(void 0===n[e].L){var r=n[e];n[e]=function(){return n[e].L.hasOwnProperty(arguments.length)||re("Function '"+A+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+n[e].L+")!"),n[e].L[arguments.length].apply(this,arguments)},n[e].L=[],n[e].L[r.S]=r}}(e,e),t.hasOwnProperty(n)&&re("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),t[e].L[n]=A):(t[e]=A,void 0!==n&&(t[e].ba=n))}function fe(e,A){var n=-1!=(e=X(e)).indexOf("j")?function(e,A){0<=e.indexOf("j")||T("Assertion failed: getDynCaller should only be called with i64 sigs");var n=[];return function(){n.length=arguments.length;for(var r=0;r<arguments.length;r++)n[r]=arguments[r];return-1!=e.indexOf("j")?n&&n.length?t["dynCall_"+e].apply(null,[A].concat(n)):t["dynCall_"+e].call(null,A):k.get(A).apply(null,n)}}(e,A):k.get(A);return"function"!==typeof n&&re("unknown function pointer with signature "+e+": "+A),n}var de=void 0;function Be(e){var t=X(e=Ge(e));return De(e),t}function pe(e,t,A){switch(t){case 0:return A?function(e){return h[e]}:function(e){return f[e]};case 1:return A?function(e){return d[e>>1]}:function(e){return B[e>>1]};case 2:return A?function(e){return p[e>>2]}:function(e){return E[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var Ee={};function Qe(){if(!ye){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:a||"./this.program"};for(e in Ee)t[e]=Ee[e];var A=[];for(e in t)A.push(e+"="+t[e]);ye=A}return ye}for(var ye,ve=[null,[],[]],me=Array(256),be=0;256>be;++be)me[be]=String.fromCharCode(be);W=me,ne=t.BindingError=Ae("BindingError"),ie=t.InternalError=Ae("InternalError"),t.count_emval_handles=function(){for(var e=0,t=5;t<se.length;++t)void 0!==se[t]&&++e;return e},t.get_first_emval=function(){for(var e=5;e<se.length;++e)if(void 0!==se[e])return se[e];return null},de=t.UnboundTypeError=Ae("UnboundTypeError"),N.push({T:function(){Fe()}});var we={p:function(e){return Re(e+16)+16},o:function(e,t,A){throw new V(e).V(t,A),e},z:function(e,t,A,n,r){var i=K(A);oe(e,{name:t=X(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:r},argPackAdvance:8,readValueFromPointer:function(e){if(1===A)var n=h;else if(2===A)n=d;else{if(4!==A)throw new TypeError("Unknown boolean type size: "+t);n=p}return this.fromWireType(n[e>>i])},M:null})},y:function(e,t){oe(e,{name:t=X(t),fromWireType:function(e){var t=se[e].value;return ge(e),t},toWireType:function(e,t){return ce(t)},argPackAdvance:8,readValueFromPointer:ue,M:null})},h:function(e,t,A){A=K(A),oe(e,{name:t=X(t),fromWireType:function(e){return e},toWireType:function(e,t){if("number"!==typeof t&&"boolean"!==typeof t)throw new TypeError('Cannot convert "'+le(t)+'" to '+this.name);return t},argPackAdvance:8,readValueFromPointer:Ie(t,A),M:null})},e:function(e,A,n,r,i,o){var a=function(e,t){for(var A=[],n=0;n<e;n++)A.push(p[(t>>2)+n]);return A}(A,n);e=X(e),i=fe(r,i),he(e,(function(){!function(e,t){var A=[],n={};throw t.forEach((function e(t){n[t]||z[t]||($[t]?$[t].forEach(e):(A.push(t),n[t]=!0))})),new de(e+": "+A.map(Be).join([", "]))}("Cannot call "+e+" due to unbound types",a)}),A-1),function(e,t){function A(e){if((e=t(e)).length!==n.length)throw new ie("Mismatched type converter count");for(var A=0;A<n.length;++A)oe(n[A],e[A])}var n=[];n.forEach((function(t){$[t]=e}));var r=Array(e.length),i=[],o=0;e.forEach((function(e,t){z.hasOwnProperty(e)?r[t]=z[e]:(i.push(e),q.hasOwnProperty(e)||(q[e]=[]),q[e].push((function(){r[t]=z[e],++o===i.length&&A(r)})))})),0===i.length&&A(r)}(a,(function(n){var r=e,a=e;n=[n[0],null].concat(n.slice(1));var s=i,g=n.length;2>g&&re("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var c=null!==n[1]&&!1,u=!1,l=1;l<n.length;++l)if(null!==n[l]&&void 0===n[l].M){u=!0;break}var I="void"!==n[0].name,C="",h="";for(l=0;l<g-2;++l)C+=(0!==l?", ":"")+"arg"+l,h+=(0!==l?", ":"")+"arg"+l+"Wired";a="return function "+ee(a)+"("+C+") {\nif (arguments.length !== "+(g-2)+") {\nthrowBindingError('function "+a+" called with ' + arguments.length + ' arguments, expected "+(g-2)+" args!');\n}\n",u&&(a+="var destructors = [];\n");var f=u?"destructors":"null";for(C="throwBindingError invoker fn runDestructors retType classParam".split(" "),s=[re,s,o,Ce,n[0],n[1]],c&&(a+="var thisWired = classParam.toWireType("+f+", this);\n"),l=0;l<g-2;++l)a+="var arg"+l+"Wired = argType"+l+".toWireType("+f+", arg"+l+"); // "+n[l+2].name+"\n",C.push("argType"+l),s.push(n[l+2]);if(c&&(h="thisWired"+(0<h.length?", ":"")+h),a+=(I?"var rv = ":"")+"invoker(fn"+(0<h.length?", ":"")+h+");\n",u)a+="runDestructors(destructors);\n";else for(l=c?1:2;l<n.length;++l)g=1===l?"thisWired":"arg"+(l-2)+"Wired",null!==n[l].M&&(a+=g+"_dtor("+g+"); // "+n[l].name+"\n",C.push(g+"_dtor"),s.push(n[l].M));if(I&&(a+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),C.push(a+"}\n"),n=function(e){var t=Function;if(!(t instanceof Function))throw new TypeError("new_ called with constructor type "+typeof t+" which is not a function");var A=te(t.name||"unknownFunctionName",(function(){}));return A.prototype=t.prototype,A=new A,(e=t.apply(A,e))instanceof Object?e:A}(C).apply(null,s),l=A-1,!t.hasOwnProperty(r))throw new ie("Replacing nonexistant public symbol");return void 0!==t[r].L&&void 0!==l?t[r].L[l]=n:(t[r]=n,t[r].S=l),[]}))},c:function(e,t,A,n,r){function i(e){return e}t=X(t),-1===r&&(r=4294967295);var o=K(A);if(0===n){var a=32-8*A;i=function(e){return e<<a>>>a}}var s=-1!=t.indexOf("unsigned");oe(e,{name:t,fromWireType:i,toWireType:function(e,A){if("number"!==typeof A&&"boolean"!==typeof A)throw new TypeError('Cannot convert "'+le(A)+'" to '+this.name);if(A<n||A>r)throw new TypeError('Passing a number "'+le(A)+'" from JS side to C/C++ side to an argument of type "'+t+'", which is outside the valid range ['+n+", "+r+"]!");return s?A>>>0:0|A},argPackAdvance:8,readValueFromPointer:pe(t,o,0!==n),M:null})},b:function(e,t,A){function n(e){var t=E;return new r(C,t[(e>>=2)+1],t[e])}var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];oe(e,{name:A=X(A),fromWireType:n,argPackAdvance:8,readValueFromPointer:n},{U:!0})},i:function(e,t){var A="std::string"===(t=X(t));oe(e,{name:t,fromWireType:function(e){var t=E[e>>2];if(A)for(var n=e+4,r=0;r<=t;++r){var i=e+4+r;if(r==t||0==f[i]){if(n=n?I(f,n,i-n):"",void 0===o)var o=n;else o+=String.fromCharCode(0),o+=n;n=i+1}}else{for(o=Array(t),r=0;r<t;++r)o[r]=String.fromCharCode(f[e+4+r]);o=o.join("")}return De(e),o},toWireType:function(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"===typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||re("Cannot pass non-string to std::string");var r=(A&&n?function(){for(var e=0,A=0;A<t.length;++A){var n=t.charCodeAt(A);55296<=n&&57343>=n&&(n=65536+((1023&n)<<10)|1023&t.charCodeAt(++A)),127>=n?++e:e=2047>=n?e+2:65535>=n?e+3:e+4}return e}:function(){return t.length})(),i=Re(4+r+1);if(E[i>>2]=r,A&&n)!function(e,t,A){var n=f;if(0<A){A=t+A-1;for(var r=0;r<e.length;++r){var i=e.charCodeAt(r);if(55296<=i&&57343>=i)i=65536+((1023&i)<<10)|1023&e.charCodeAt(++r);if(127>=i){if(t>=A)break;n[t++]=i}else{if(2047>=i){if(t+1>=A)break;n[t++]=192|i>>6}else{if(65535>=i){if(t+2>=A)break;n[t++]=224|i>>12}else{if(t+3>=A)break;n[t++]=240|i>>18,n[t++]=128|i>>12&63}n[t++]=128|i>>6&63}n[t++]=128|63&i}}n[t]=0}}(t,i+4,r+1);else if(n)for(n=0;n<r;++n){var o=t.charCodeAt(n);255<o&&(De(i),re("String has UTF-16 code units that do not fit in 8 bits")),f[i+4+n]=o}else for(n=0;n<r;++n)f[i+4+n]=t[n];return null!==e&&e.push(De,i),i},argPackAdvance:8,readValueFromPointer:ue,M:function(e){De(e)}})},d:function(e,t,A){if(A=X(A),2===t)var n=m,r=b,i=w,o=function(){return B},a=1;else 4===t&&(n=S,r=F,i=R,o=function(){return E},a=2);oe(e,{name:A,fromWireType:function(e){for(var A,r=E[e>>2],i=o(),s=e+4,g=0;g<=r;++g){var c=e+4+g*t;g!=r&&0!=i[c>>a]||(s=n(s,c-s),void 0===A?A=s:(A+=String.fromCharCode(0),A+=s),s=c+t)}return De(e),A},toWireType:function(e,n){"string"!==typeof n&&re("Cannot pass non-string to C++ string type "+A);var o=i(n),s=Re(4+o+t);return E[s>>2]=o>>a,r(n,s+4,o+t),null!==e&&e.push(De,s),s},argPackAdvance:8,readValueFromPointer:ue,M:function(e){De(e)}})},A:function(e,t){oe(e,{aa:!0,name:t=X(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},n:ge,x:function(e){4<e&&(se[e].P+=1)},C:function(e,t){var A=z[e];return void 0===A&&re("_emval_take_value has unknown type "+Be(e)),ce(e=A.readValueFromPointer(t))},t:function(){T()},r:function(e,t,A){f.copyWithin(e,t,t+A)},s:function(e){e>>>=0;var t=f.length;if(2147483648<e)return!1;for(var A=1;4>=A;A*=2){var n=t*(1+.2/A);n=Math.min(n,e+100663296),0<(n=Math.max(16777216,e,n))%65536&&(n+=65536-n%65536);e:{try{c.grow(Math.min(2147483648,n)-C.byteLength+65535>>>16),D(c.buffer);var r=1;break e}catch(i){}r=void 0}if(r)return!0}return!1},u:function(e,t){var A=0;return Qe().forEach((function(n,r){var i=t+A;for(r=p[e+4*r>>2]=i,i=0;i<n.length;++i)h[r++>>0]=n.charCodeAt(i);h[r>>0]=0,A+=n.length+1})),0},v:function(e,t){var A=Qe();p[e>>2]=A.length;var n=0;return A.forEach((function(e){n+=e.length+1})),p[t>>2]=n,0},w:function(){return 0},q:function(){},g:function(e,t,A,n){for(var r=0,i=0;i<A;i++){for(var o=p[t+8*i>>2],a=p[t+(8*i+4)>>2],c=0;c<a;c++){var u=f[o+c],l=ve[e];0===u||10===u?((1===e?s:g)(I(l,0)),l.length=0):l.push(u)}r+=a}return p[n>>2]=r,0},a:c,l:function(){return 0},k:function(){return 0},j:function(){},B:function(){return 6},m:function(){},f:function(){}};!function(){function e(e){t.asm=e.exports,k=t.asm.D,O--,t.monitorRunDependencies&&t.monitorRunDependencies(O),0==O&&L&&(e=L,L=null,e())}function A(t){e(t.instance)}function r(e){return Promise.resolve().then(j).then((function(e){return WebAssembly.instantiate(e,i)})).then(e,(function(e){g("failed to asynchronously prepare wasm: "+e),T(e)}))}var i={a:we};if(O++,t.monitorRunDependencies&&t.monitorRunDependencies(O),t.instantiateWasm)try{return t.instantiateWasm(i,e)}catch(a){return g("Module.instantiateWasm callback failed with error: "+a),!1}(o||"function"!==typeof WebAssembly.instantiateStreaming||H()||Z("file://")||"function"!==typeof fetch?r(A):fetch(Y,{credentials:"same-origin"}).then((function(e){return WebAssembly.instantiateStreaming(e,i).then(A,(function(e){return g("wasm streaming compile failed: "+e),g("falling back to ArrayBuffer instantiation"),r(A)}))}))).catch(n)}();var Se,Fe=t.___wasm_call_ctors=function(){return(Fe=t.___wasm_call_ctors=t.asm.E).apply(null,arguments)},Re=t._malloc=function(){return(Re=t._malloc=t.asm.F).apply(null,arguments)},De=t._free=function(){return(De=t._free=t.asm.G).apply(null,arguments)},Ge=t.___getTypeName=function(){return(Ge=t.___getTypeName=t.asm.H).apply(null,arguments)};function ke(){function e(){if(!Se&&(Se=!0,t.calledRun=!0,!u)){if(P(N),P(U),A(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;){var e=t.postRun.shift();_.unshift(e)}P(_)}}if(!(0<O)){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)M();P(x),0<O||(t.setStatus?(t.setStatus("Running..."),setTimeout((function(){setTimeout((function(){t.setStatus("")}),1),e()}),1)):e())}}if(t.___embind_register_native_and_builtin_types=function(){return(t.___embind_register_native_and_builtin_types=t.asm.I).apply(null,arguments)},t.dynCall_jiiiii=function(){return(t.dynCall_jiiiii=t.asm.J).apply(null,arguments)},t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.K).apply(null,arguments)},L=function e(){Se||ke(),Se||(L=e)},t.run=ke,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);0<t.preInit.length;)t.preInit.pop()();return!0,ke(),e.ready}}(),AA="AGFzbQEAAAABwAImYAF/AX9gA39/fwF/YAV/f39/fwF/YAJ/fwF/YAJ/fwBgAX8AYAN/f38AYAR/f39/AX9gBH9/f38AYAAAYAZ/f39/f38Bf2AFf39/f38AYAZ/f39/f38AYAd/f39/f39/AX9gBH9/f38BfmAFf39/f38BfmAIf39/f39/f38Bf2AJf39/f39/f39/AX9gAn5/AX9gC39/f39/f39/f39/AX9gA39+fwF+YAN/f34AYAN/f34Bf2ADfn9/AX9gAn5+AX5gCH9/f39/f39/AGAJf39/f39/f39/AGAFf35/f38AYAABf2ANf39/f39/f39/f39/fwF/YA9/f39/f39/f39/f39/f38Bf2AFf39/fn8Bf2AGf3x/f39/AX9gAX8BfmACf38BfmAHf35/f39/fwF+YAF+AX5gBH5/f34BfgK0AR0BYQFiAAYBYQFjAAsBYQFkAAYBYQFlAAwBYQFmAAUBYQFnAAcBYQFoAAYBYQFpAAQBYQFqAAMBYQFrAAABYQFsAAABYQFtAAMBYQFuAAUBYQFvAAYBYQFwAAABYQFxAAIBYQFyAAEBYQFzAAABYQF0AAkBYQF1AAMBYQF2AAMBYQF3AAABYQF4AAUBYQF5AAQBYQF6AAsBYQFBAAQBYQFCAAcBYQFDAAMBYQFhAgGAAoCAAgOtBKsEBAEBAwIACAAAAAQHAQEBAAIBAAQDAQMBBAEFAwUFAAYAAwAIAgIDAQgBAwYBCwEBAAQYBAEEBwoGAwMLBwgBBggDCwUDAwMGCAEGBAYABwIGAAABAAIEBAYEBQMDAAsABgwDAAANBgIYAwkAAQwGBggAAgAAAAUQHQAEAQMbBwcHBwMDBh4TBAgBAgECCgcGCgYEAAQAARARAwAIAAYDBgAFBQUFBQUJCwUGAQAFBQICAgcHAwQEAAcSARIXJQQGAwMDAAUEAQABBQUDAAMGCgAFBQMBHwUDAwUFAREDBwoEAAUBAwcKCiEGBQEABgYGBQUIAxMNAAADAAkBBwcHBwcHBwcAAQgGBwMRAgICAgYCCAoCAgcCCAAFBAUFAAMAAAIKBBQACQwMCwMLCAgICwwAAQEFAAUABQkDAAMSEhcGAQAUAAAJCQkJBgAJCQkJCQkJCQkJCQkJDQ0ABgcBAQcHAgEBAgEEAwoABAcFBRwKCgoFAgoCAgMaGQUE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BCAGanQgAWohASACIARHIQwgBEEBaiEEIAwNAAsLIA1BAWoiDSACayIBIAcgAWtBAWoiCEkEQCAKQQJJIQYDQEEBIQQgBkUEQANAIARBAnQiCiADIAFBNGxqaiADIApqKAIAIAF2NgIAIAIgBEchCiAEQQFqIQQgCg0ACwsgAUEBaiIBIAhJDQALCyAAQQRqIAcgCyAJIANBpAVqIAMgAiANEJYDIAVBAToABSAFIAc6AAYgACAFKAIENgIACyAQIQQLIAVBEGokACAEC+ACAQl/IwBBEGsiBCQAIARBADYCDCAEQQA2AggCQCADQUBrIgkgAyAEQQhqIARBDGogASACEPsBIggQIQ0AIARBBGogACgCABA0QQEhASAEKAIMIgUgBC0ABEEBak0EQEEAIQIgBEEAOgAFIAQgBToABiAAIAQoAgQ2AgAgBUEBakEBSwRAA0AgAyABQQJ0aiIGKAIAIQcgBiACNgIAIAcgAUF/anQgAmohAiABIAVGIQYgAUEBaiEBIAZFDQALCyAEKAIIIgdFDQEgAEEEaiEKIAVBAWohC0EAIQADQCADIAAgCWotAAAiBUECdGoiBigCACIBIAFBASAFdEEBdSIMaiICSQRAIAsgBWshBQNAIAogAUEBdGoiAiAFOgABIAIgADoAACABQQFqIgEgBigCACAMaiICSQ0ACwsgBiACNgIAIABBAWoiACAHRw0ACwwBC0FUIQgLIARBEGokACAICxQAIAAoAABBgPqerQNsQSAgAWt2CygAAkACQAJAIAAoAowBQX9qDgIAAQILIAAgARDCAw8LIAAgARDHAwsLOgEBfyABIAAoAgRrIgEgACgCGCICQYAIaksEQCAAIAEgASACa0GAeGoiAEGABCAAQYAESRtrNgIYCwsVACAAEJEBBEAgACgCBA8LIAAtAAsLRQEBfwJAIAIgA00gACABTXINAANAIABBf2oiAC0AACACQX9qIgItAABHDQEgBEEBaiEEIAIgA00NASAAIAFLDQALCyAECwwAIABBICABa62IpwsQACAAIAEgAigCCHRBA3RqCxIAIABBwAAgAWutiKdBACABGwsvAEEgIAFrIgEgAkkEQCAAp0F/IAJ0QX9zcQ8LIAAgASACa62Ip0F/IAJ0QX9zcQsgACACrSAAIAGtQgp8IAN+fULjyJW9y5vvjU9+fEIK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nn9+QuPcypX8zvL1hX98IQYgBCIDIgFBCGoiBCACTQ0ACwsCQCADQQRqIgEgAksEQCADIQEMAQsgAygAAK1Ch5Wvr5i23puef34gBoVCF4lCz9bTvtLHq9lCfkL5893xmfaZqxZ8IQYLIAEgAkkEQCAAIAVqQShqIQADQCABMQAAQsXP2bLx5brqJ34gBoVCC4lCh5Wvr5i23puef34hBiABQQFqIgEgAEcNAAsLIAZCIYggBoVCz9bTvtLHq9lCfiIGQh2IIAaFQvnz3fGZ9pmrFn4iBkIgiCAGhQv4AgICfwR+IAAgACkDACACrXw3AwACQAJAIAAoAkgiAyACakEfTQRAIAAgA2pBKGogASACEKsBIAAoAkggAmohAQwBCyABIAJqIQQCQAJ/IAMEQCAAQShqIgIgA2ogAUEgIANrEKsBIAAgACkDCCACKQAAEE43AwggACAAKQMQIAApADAQTjcDECAAIAApAxggACkAOBBONwMYIAAgACkDICAAQUBrKQAAEE43AyAgACgCSCECIABBADYCSCABIAJrQSBqIQELIAFBIGogBEsLBEAgASECDAELIARBYGohAyAAKQMgIQUgACkDGCEGIAApAxAhByAAKQMIIQgDQCAIIAEpAAAQTiEIIAcgASkACBBOIQcgBiABKQAQEE4hBiAFIAEpABgQTiEFIAFBIGoiAiEBIAIgA00NAAsgACAFNwMgIAAgBjcDGCAAIAc3AxAgACAINwMICyACIARPDQEgAEEoaiACIAQgAmsiARCrAQsgACABNgJICwtlACAAQgA3AyggAEL56tDQ58mh5OEANwMgIABCADcDGCAAQs/W077Sx6vZQjcDECAAQtbrgu7q/Yn14AA3AwggAEIANwMAIABCADcDMCAAQgA3AzggAEFAa0IANwMAIABCADcDSAsVACABBEAgAiAAIAERAwAPCyAAEEwLYQEDf0F+IQECQCAARQ0AIAAoAhwiAkUNACAAKAIkIgNFDQAgAigCNCIBBEAgACgCKCABIAMRBAAgACgCJCEDIAAoAhwhAgsgACgCKCACIAMRBABBACEBIABBADYCHAsgAQudCwEMfyACQQBOBEBBBEEDIAEvAQIiCxshB0EHQYoBIAsbIQQgAEG5LWohCEF/IQYDQCALIQkCQCAJIAEgDCINQQFqIgxBAnRqLwECIgtH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AhQgCiAAKAIIaiADOgAAIAAgACgCFCIDQQFqNgIUIAMgACgCCGogAEG5LWotAAA6AAAgACABQRAgACgCvC0iAWt2OwG4LSAAIAEgAmpBcGo2ArwtDwsgACACIARqNgK8LQuXAQECfwJAAn8gACgCvC0iAUEJTgRAIAAgACgCFCIBQQFqNgIUIAEgACgCCGogAC0AuC06AAAgACAAKAIUIgFBAWo2AhQgAEG5LWotAAAhAiABIAAoAghqDAELIAFBAUgNASAAIAAoAhQiAUEBajYCFCAALQC4LSECIAEgACgCCGoLIAI6AAALIABBADYCvC0gAEEAOwG4LQvaBAEBfwNAIAAgAUECdGpBADsBlAEgAUEBaiIBQZ4CRw0ACyAAQQA7AfwUIABBADsBiBMgAEHEFWpBADsBACAAQcAVakEAOwEAIABBvBVqQQA7AQAgAEG4FWpBADsBACAAQbQVakEAOwEAIABBsBVqQQA7AQAgAEGsFWpBADsBACAAQagVakEAOwEAIABBpBVqQQA7AQAgAEGgFWpBADsBACAAQZwVakEAOwEAIABBmBVqQQA7AQAgAEGUFWpBADsBACAAQZAVakEAOwEAIABBjBVqQQA7AQAgAEGIFWpBADsBACAAQYQVakEAOwEAIABBgBVqQQA7AQAgAEH8E2pBADsBACAAQfgTakEAOwEAIABB9BNqQQA7AQAgAEHwE2pBADsBACAAQewTakEAOwEAIABB6BNqQQA7AQAgAEHkE2pBADsBACAAQeATakEAOwEAIABB3BNqQQA7AQAgAEHYE2pBADsBACAAQdQTakEAOwEAIABB0BNqQQA7AQAgAEHME2pBADsBACAAQcgTakEAOwEAIABBxBNqQQA7AQAgAEHAE2pBADsBACAAQbwTakEAOwEAIABBuBNqQQA7AQAgAEG0E2pBADsBACAAQbATakEAOwEAIABBrBNqQQA7AQAgAEGoE2pBADsBACAAQaQTakEAOwEAIABBoBNqQQA7AQAgAEGcE2pBADsBACAAQZgTakEAOwEAIABBlBNqQQA7AQAgAEGQE2pBADsBACAAQYwTakEAOwEAIABCADcCrC0gAEGUCWpBATsBACAAQQA2AqgtIABBADYCoC0LngEBAn8gACAALwG4LSADQf//A3EiBCAAKAK8LSIDdHIiBTsBuC0gAAJ/IANB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A0AgCSAFIARBAXRqIgotAAEiC0ECdGoiDCgCACEDIAlBPGogCi0AAEEIdCAIakH//wNxEC8gCUECOgA/IAkgByALayIKIAJqOgA+IANBASABIAprdGohCiAJKAI8IQsDQCAAIANBAnRqIAs2AQAgA0EBaiIDIApJDQALIAwgCjYCACAEQQFqIgQgBkcNAAsLIAlBQGskAAvdAgEJfyMAQdAAayIJJAAgCUFAayAFKAIwNgIAIAkgBSkCKDcDOCAJIAUpAiA3AzAgCSAFKQIYNwMoIAkgBSkCEDcDICAJIAUpAgA3AxAgCSAFKQIINwMYIAMEQCAHIAZrIQ8gByABayEQA0BBASABIAcgAiALQQF0aiIGLQABIgxrIghrIgp0IQ0gBi0AACEOIAlBEGogDEECdGoiDCgCACEGAkAgCiAPTwRAIAAgBkECdGogCiAIIAUgCEE0bGogCCAQaiIIQQEgCEEBShsiCCACIAQgCEECdGooAgAiCEEBdGogAyAIayAHIA4QlQMgBiANaiEIDAELIAlBDGogDhAvIAlBAToADyAJIAg6AA4gBiAGIA1qIghPDQAgCSgCDCEKA0AgACAGQQJ0aiAKNgEAIAZBAWoiBiAIRw0ACwsgDCAINgIAIAtBAWoiCyADRw0ACwsgCUHQAGokAAs+AQN/IAAEQCAAKAIAIABBvNABaigCACIBIABBwNABaigCACICIABBxNABaigCACIDEGQgACABIAIgAxBkCwvMAQEBfyAAIAEoArTQATYCmOIBIAAgASgCBCICNgLA4AEgACACNgK84AEgACACIAEoAghqIgI2ArjgASAAIAI2AsTgASABKAK40AEEQCAAQoGAgIAQNwOI4QEgACABQaTQAGo2AgwgACABQZQgajYCCCAAIAFBnDBqNgIEIAAgAUEMajYCACAAQazQAWogAUGo0AFqKAIANgIAIABBsNABaiABQazQAWooAgA2AgAgAEG00AFqIAFBsNABaigCADYCAA8LIABCADcDiOEBC6JIAS5/IwBB4ABrIhIkACAAKAKEASEGIAAoAgQhByAAKAKIASEFIAAoAgwhCCASIAAoAhg2AlwgACgCPCEbIABBQGsoAgAhHCAAQSxqIiYgAyAEQQIQWSADIAcgCGogA0ZqIg0gAyAEaiIMQXhqIi5JBEAgBUH/HyAFQf8fSRsh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AnRBsKcBaigCABBHIAtBOGoQOSALQThqIAAvAQYgAi0AAEECdEGQpAFqKAIAEEcgC0E4ahA5AkAgCgRAIAEtAAAiASABQRggAUEYSRsiAmsiAQRAIAtBOGogACgCACABEEcgC0E4ahA5CyALQThqIAAoAgAgAXYgAhBHDAELIAtBOGogACgCACABLQAAEEcLIAtBOGoQOSAJQQJPBEAgCUF+aiEMA0AgByAMai0AACECIAMgDGotAAAhBCALQThqIAtBGGogBSAMai0AACIAEGwgC0E4aiALQShqIAQQbCALQThqEDkgC0E4aiALQQhqIAIQbCALQThqEDkgC0E4aiAIIAxBA3RqIgEvAQQgAkECdEGwpwFqKAIAIgIQRyACIARBAnRBkKQBaigCACICakEZTwRAIAtBOGoQOQsgC0E4aiABLwEGIAIQRyALQThqEDkCQCAKBEAgACAAQRggAEEYSRsiAmsiAARAIAtBOGogASgCACAAEEcgC0E4ahA5CyALQThqIAEoAgAgAHYgAhBHDAELIAtBOGogASgCACAAEEcLIAtBOGoQOSAMQX9qIgwgCUkNAAsLIAtBOGogCygCKCALKAI0EHQgC0E4aiALKAIYIAsoAiQQdCALQThqIAsoAgggCygCFBB0IAtBOGoQ/QEiAEG6fyAAGyEMCyALQdAAaiQAIAwLLwAgACACQQN0aigCBCIAQRB2QQFqIgJBCHRBfyABdCAAayACQRB0akEIdCABdmsLTwEEfwNAIANBASAAIARBAnRqKAIAIgNBCHQiBSACbiIGIAUgAkkbIAYgAxtBAnRBkJwBaigCACADbGohAyAEQQFqIgQgAU0NAAsgA0EIdgtKAQF/IwBB8ARrIgQkACAEIAMgAiABEKcBIgMgACACIAEQpgEiAhAhRQRAIARB8ABqQYAEIAQgASADEKgBIQILIARB8ARqJAAgAguKAQEIfyMAQRBrIgMkACADIAAQc0F/IQUCQCAALwACIAJJDQAgAygCDCIHQQh0QYACaiEIIAMoAgghCUEAIQADQCAJIAcgABDJAyEGIAEgAEECdGooAgAiCgRAIAYgCE8NAiAGIApsIARqIQQLIABBAWoiACACTQ0ACyAEQQh2IQULIANBEGokACAFC18BAn9BCCABayEFQQAhAQNAIARBASAAIAFBAXRqLwEAIgQg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ASACEEUiARAhDQEgBEEQaiAEQRhqIAMQggEgBEEIaiAEQRhqIAMQggFBACEBAkAgBEEYahAjBEBBACEDDAELA0AgACABaiICIARBEGogBEEYahBiOgAAIAIgBEEIaiAEQRhqEGI6AAEgBEEYahAjBEAgAUECciEDDAILIAIgBEEQaiAEQRhqEGI6AAIgAiAEQQhqIARBGGoQYjoAAyABQQRqIQMgBEEYahAjIQIgAUH3AUsNASADIQEgAkUNAAsLAn8DQEG6fyEBIANB/QFLDQMgACADaiICIARBEGogBEEYahBiOgAAIAIiBkEBaiEFIARBGGoQI0EDRgRAQQIhAyAEQQhqDAILIANB/AFLDQMgBiAEQQhqIARBGGoQYjoAASADQQJqIQMgBEEYahAjQQNHDQALIAAgA2ohBUEDIQMgBEEQagshASAFIAEgBEEYahBiOgAAIAIgA2ogAGshAQwBCyAEQRhqIAEgAhBFIgEQIQ0AIARBEGogBEEYaiADEIIBIARBCGogBEEYaiADEIIBQQAhAQJAIARBGGoQIwRAQQAhAwwBCwNAIAAgAWoiAiAEQRBqIARBGGoQYToAACACIARBCGogBEEYahBhOgABIARBGGoQIwRAIAFBAnIhAwwCCyACIARBEGogBEEYahBhOgACIAIgBEEIaiAEQRhqEGE6AAMgAUEEaiEDIARBGGoQIyECIAFB9wFLDQEgAyEBIAJFDQALCwJ/A0BBun8hASADQf0BSw0CIAAgA2oiAiAEQRBqIARBGGoQYToAACACIgZBAWohBSAEQRhqECNBA0YEQEECIQMgBEEIagwCCyADQfwBSw0CIAYgBEEIaiAEQRhqEGE6AAEgA0ECaiEDIARBGGoQI0EDRw0ACyAAIANqIQVBAyEDIARBEGoLIQEgBSABIARBGGoQYToAACACIANqIABrIQELIARBMGokACABC68DAQp/IwBBgARrIgkkAEFSIQUCQCACQf8BSw0AIABBBGohCkGAgAQgA0F/anRBEHUhC0EBIAN0IghBf2oiDCEHQQEhBQNAAkAgASAEQQF0Ig1qLwEAIgZB//8DRgRAIAogB0ECdGogBDoAAiAHQX9qIQdBASEGDAELIAVBACALIAZBEHRBEHVKGyEFCyAJIA1qIAY7AQAgAiAERyEGIARBAWohBCAGDQALIAAgBTsB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IAIgASgCCGpBADoAACABIAEoAhQiAkEBajYCFCACIAEoAghqQQA6AABBAiECIAEoAoQBIgNBCUcEQEEEIAEoAogBQQFKQQJ0IANBAkgbIQILIAEgASgCFCIDQQFqNgIUIAMgASgCCGogAjoAACABIAEoAhQiAkEBajYCFCACIAEoAghqQQM6AAAgAUHxADYCBAwNCyACKAIkIQMgAigCHCEEIAIoAhAhBSACKAIsIQYgAigCACEHIAEgASgCFCIIQQFqNgIUQQIhAiAIIAEoAghqIAZBAEdBAXQgB0EAR3IgBUEAR0ECdHIgBEEAR0EDdHIgA0EAR0EEdHI6AAAgASgCHCgCBCEDIAEgASgCFCIEQQFqNgIUIAQgASgCCGogAzoAACABKAIcKAIEIQMgASABKAIUIgRBAWo2AhQgBCABKAIIaiADQQh2OgAAIAEoAhwvAQYhAyABIAEoAhQiBEEBajYCFCAEIAEoAghqIAM6AAAgASgCHC0AByEDIAEgASgCFCIEQQFqNgIUIAQgASgCCGogAzoAACABKAKEASIDQQlHBEBBBCABKAKIAUEBSkECdCADQQJIGyECCyABIAEoAhQiA0EBajYCFCADIAEoAghqIAI6AAAgASgCHCgCDCECIAEgASgCFCIDQQFqNgIUIAMgASgCCGogAjoAAAJ/IAEoAhwiBCgCEARAIAQoAhQhAiABIAEoAhQiA0EBajYCFCADIAEoAghqIAI6AAAgASgCHCgCFCECIAEgASgCFCIDQQFqNgIUIAMgASgCCGogAkEIdjoAACABKAIcIQQLIAQoAiwLBEAgACAAKAIwIAEoAgggASgCFBA1NgIwCyABQcUANgIEIAFBADYCIAwCCyABKAIwQQx0QYCQfmohBEEAIQICQCABKAKIAUEBSg0AIAEoAoQBIgNBAkgNAEHAACECIANBBkgNAEGAAUHAASADQQZGGyECCyABQfEANgIEIAEgAiAEciICQSByIAIgASgCbBsiAkEfcCACckEfcxB1IAEoAmwEQCABIAAvATIQdSABIAAvATAQdQsgAEEAQQBBABBlNgIwIAEoAgQhAgsgAkHFAEcNASABKAIcIQQLAkAgBCgCEARAIAEoAhQhAiABKAIgIgUgBC8BFE8NASACIQMDQCABKAIMIAJGBEACQCACIANNDQAgBCgCLEUNACAAIAAoAjAgASgCCCADaiACIANrEDU2AjALIAAQNiABKAIcIQQgASgCFCICIAEoAgxGDQMgASgCICEFIAIhAwsgBCgCECAFai0AACEEIAEgAkEBajYCFCABKAIIIAJqIAQ6AAAgASABKAIgQQFqIgU2AiAgBSABKAIcIgQvARRPBEAgAyECDAMFIAEoAhQhAgwBCwALAAsgAUHJADYCBAwCCwJAIAQoAixFDQAgASgCFCIDIAJNDQAgACAAKAIwIAEoAgggAmogAyACaxA1NgIwCyABKAIgIAQoAhRGBEAgAUHJADYCBCABQQA2AiAMAgsgASgCBCECCyACQckARw0BIAEoAhwhBAsgBCgCHEUNAiABKAIUIgIhAwJAA0ACQCABKAIMIAJGBEACQCACIANNDQAgASgCHCgCLEUNACAAIAAoAjAgASgCCCADaiACIANrEDU2AjALIAAQNiABKAIUIgIgASgCDEYNASACIQMLQQEhBSABKAIcKAIcIQQgASABKAIgIgZBAWo2AiAgBCAGai0AACEEIAEgAkEBajYCFCABKAIIIAJqIAQ6AAAgBARAIAEoAhQhAgwCBSADIQIMAwsACwtBACEFCwJAIAEoAhwiBCgCLEUNACABKAIUIgMgAk0NACAAIAAoAjAgASgCCCACaiADIAJrEDU2AjALIAUNASABKAIEIQILIAJB2wBHDQMgASgCHCEEDAILIAFBADYCIAsgAUHbADYCBAsgBCgCJEUNASABKAIUIgIhAwJAA0ACQCABKAIMIAJGBEACQCACIANNDQAgASgCHCgCLEUNACAAIAAoAjAgASgCCCADaiACIANrEDU2AjALIAAQNiABKAIUIgIgASgCDEYNASACIQMLQQEhBSABKAIcKAIkIQQgASABKAIgIgZBAWo2AiAgBCAGai0AACEEIAEgAkEBajYCFCABKAIIIAJqIAQ6AAAgBARAIAEoAhQhAgwCBSADIQIMAwsACwtBACEFCwJAIAEoAhwiBCgCLEUNACABKAIUIgMgAk0NACAAIAAoAjAgASgCCCACaiADIAJrEDU2AjALIAUNASABKAIEIQILIAJB5wBHDQIgASgCHCEEDAELIAFB5wA2AgQLIAQoAiwEQCABKAIUIgVBAmoiAiABKAIMIgRLBH8gABA2IAEoAgwhBCABKAIUIgVBAmoFIAILIARLDQEgACgCMCECIAEgBUEBajYCFCABKAIIIAVqIAI6AAAgACgCMCECIAEgASgCFCIDQQFqNgIUIAMgASgCCGogAkEIdjoAACAAQQBBAEEAEDU2AjAgAUHxADYCBAwBCyABQfEANgIECwJAIAEoAhQEQCAAEDYgACgCEARAIAAoAgQhAgwCCwwECyAAKAIEIgINAEEAIQILAkACQAJAIAEoAgQiA0GaBUYEQCACRQ0BDAULIAINAQsgA0GaBUcNACABKAJ0RQ0BCwJ/AkACQAJAIAEoAogBQX5qDgIAAQILIAEQnQQMAgsgARCcBAwBCyABQQQgASgChAFBDGxBuNcAaigCABEDAAsiAkF+cUECRgRAIAFBmgU2AgQLIAJBfXFFBEBBACECIAAoAhANAgwECyACQQFHDQAgAUEAQQBBABCOAiAAEDYgACgCEA0ADAMLQQEhAiABKAIYIgNBAUgNACAAKAIwIQICQCADQQJGBEAgASABKAIUIgNBAWo2AhQgAyABKAIIaiACOgAAIAAoAjAhAiABIAEoAhQiA0EBajYCFCADIAEoAghqIAJBCHY6AAAgAC8BMiECIAEgASgCFCIDQQFqNgIUIAMgASgCCGogAjoAACAALQAzIQIgASABKAIUIgNBAWo2AhQgAyABKAIIaiACOgAAIAAoAgghAiABIAEoAhQiA0EBajYCFCADIAEoAghqIAI6AAAgACgCCCECIAEgASgCFCIDQQFqNgIUIAMgASgCCGogAkEIdjoAACAALwEKIQIgASABKAIUIgNBAWo2AhQgAyABKAIIaiACOgAAIAAtAAshAiABIAEoAhQiA0EBajYCFCADIAEoAghqIAI6AAAMAQsgASACQRB2EHUgASAALwEwEHULIAAQNiABKAIYIgBBAU4EQCABQQAgAGs2AhgLIAEoAhRFIQILIAIPCyAAQceEATYCGEF7DwsgAUF/NgIoQQAL3QEBBn8CQCAAKAKAgBAiBSAAKAKEgBAiAyAAKAKMgBAiBGpBBGpJDQAgACgClIAQIgIgBSADa0F9aiIGTw0AA0AgACACQf//A3FBAXRqQYCACGogAiAAIAIgA2oQOkECdGoiBCgCAGsiB0H//wMgB0H//wNJGzsBACAEIAI2AgAgAkEBaiICIAZJDQALIAAoAoyAECEECyAAIAQ2ApCAECAAIAM2AoiAECAAQQA2ApyAECAAIAE2AoCAECAAIAUgA2siAjYCjIAQIAAgAjYClIAQIAAgASACazYChIAQC9kDAQR/IwBBEGsiAyQAIAFBADYCACAAKAIAIgIgA0EMaiACKAIAKAIMEQMAIQICQCADKAIMRQ0AIAIsAAAhAiAAKAIAIgRBASAEKAIAKAIQEQQAIAEgASgCACACQf8AcXI2AgACQCACQX9KDQAgACgCACICIANBDGogAigCACgCDBEDACECIAMoAgxFDQEgAiwAACECIAAoAgAiBEEBIAQoAgAoAhARBAAgASABKAIAIAJB/wBxQQd0cjYCACACQX9KDQAgACgCACICIANBDGogAigCACgCDBEDACECIAMoAgxFDQEgAiwAACECIAAoAgAiBEEBIAQoAgAoAhARBAAgASABKAIAIAJB/wBxQQ50cjYCACACQX9KDQAgACgCACICIANBDGogAigCACgCDBEDACECIAMoAgxFDQEgAiwAACECIAAoAgAiBEEBIAQoAgAoAhARBAAgASABKAIAIAJB/wBxQRV0cjYCACACQX9KDQAgACgCACICIANBDGogAigCACgCDBEDACECIAMoAgxFDQEgAiwAACEFIAAoAgAiAEEBIAAoAgAoAhARBAAgASABKAIAIAVBHHRyNgIAIAVBf0oNAEEAIQUMAQtBASEFCyADQRBqJAAgBQvhSQE3fwJAIAAoAoCAECIJIAAoAoSAECILayAAKAKQgBBrIghBgIAETwRAIABBADYCnIAQDAELAkAgCA0AIAMoAgBBgSBIDQAgACAAKAKcgBBBoIAQECoiACABEKwEIAAgBTsBmIAQDAELAkAgBEEATEEAIAZBAkYbDQAgAygCACIIQYCAgPAHSw0AIAAgCCAJajYCgIAQQQkgBSAFQQFIGyIFQQwgBUEMSBsiG0EMbCIJQZQWaigCACEuAkACfyAbQQlNBEAgA0EANgIAIAIgBGoiOkF7aiA6IAZBAkYiOxshKSABIAhqITMgASEoIAIhCQJAIAhBDUgNACAzQXRqIjIgAUkNAEGANCAbdkEBcSE0IDNBe2oiGEF/aiEvIBhBfWohIkEAIRsDQCAAKAKUgBAhBCAAKAKIgBAhEyAAKAKcgBAhFCAoIQwDQCAAKAKQgBAiBSAMIAtrIh9BgYB8aiAFQYCABGogH0sbIRUgACgC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BEADQCADKAAAIAQoAABzIgkEQCAJECUgBGogAGsMBAsgA0EEaiEDIARBBGoiBCAUSQ0ACwsCQCAEIBhPDQAgAy8AACAELwAARw0AIANBAmohAyAEQQJqIQQLIAQgF0kEfyAEQQFqIAQgAy0AACAELQAARhsFIAQLIABrDAELIAMQJQsiAEHwAWpB/wFuakEIaiAPSw0EIAdBAmohAyAAIAZqQQRqIQYgBS0AACEEAn8gAEEPTwRAIAUgBEEPajoAACADQX8QNCAAQXFqIgRB/AdPBEADQCADQQRqIgNBfxA0IARBhHhqIgRB+wdLDQALCyADIARB//8DcUH/AW4iAGoiAyAAQYF+bCAEajoAACADQQFqDAELIAUgACAEajoAACADCyEFIAYgEU8NASAGQX5qIgAgACgAACALEDAgCCALIAwQSSAGKAAAIQACQAJAIBZFBEAgAEEBEDAiACAIEIUBIQQgBiAAIAhBASAMEEkgBEH//wNqIAZJDQEgBCgAACAGKAAARw0BDAILIAAgCxAwIgMgCCALEEghACAGIAxrIgQgAyAIIAsQXCAAQf//A2ogBEkNACAAIAxqIgQoAAAgBigAAEYNAQsgBkEBaiIDKAAAIAsQMCEEDAMLIAVBADoAACAFQQFqIQcMAAsACwtBACETIAUgECAGayIBaiABQfABakH/AW5qQQFqIA9LDQECQCABQQ9PBEAgBUHwAToAACAFQQFqIQAgAUFxaiIDQf8BSQRAIAAiBSADOgAADAILIABB/wEgAUHyfWoiAEH/AW5BAWoQKBogAEH/AW4iAyAFakECaiIFIANBgX5sIABqOgAADAELIAUgAUEEdDoAAAsgBUEBaiAGIAEQKiABaiACayETDAELIANBgICA8AdLDQAgASADaiIPQXVqIRAgD0F0aiEUIAgoAoCAASEAIAhBAUECIAFB//8DSxsiCzsBhoABIAggACADajYCgIABIAggCCgCkIABIANqNgKQgAEgASABKAAAIAsQMCAIIAsgASAAayIMEEkgD0F7aiITQX9qIRcgE0F9aiERIAZBBnQiCkEBciENIAFBAWoiAygAACALEDAhBCABQYCABEkhFSACIQUgASEGA0ACQCAVRQRAIAMgFEsNBCADQQFqIQ4gCiEJIA0hBwNAIAQgCBCFASEAIA4oAABBARAwIRIgAyAE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IAJBCE8EQANAIAMEQCADIAVsIQcgBUEHciIIIANsIQkgBUEGciIKIANsIQsgBUEFciIMIANsIQ0gBUEEciIOIANsIQ8gBUEDciIQIANsIREgBUECciISIANsIRMgBUEBciIUIANsIRVBACEEA0AgASAFIAIgBGwiBmpqIAAgBCAHamotAAA6AAAgASAGIBRqaiAAIAQgFWpqLQAAOgAAIAEgBiASamogACAEIBNqai0AADoAACABIAYgEGpqIAAgBCARamotAAA6AAAgASAGIA5qaiAAIAQgD2pqLQAAOgAAIAEgBiAMamogACAEIA1qai0AADoAACABIAYgCmpqIAAgBCALamotAAA6AAAgASAGIAhqaiAAIAQgCWpqLQAAOgAAIARBAWoiBCADRw0ACwsgBUEPaiEEIAVBCGohBSAEIAJJDQALCyACQXhxIgUgAk8NAANAIAMEQCADIAVsIQZBACEEA0AgASACIARsIAVqaiAAIAQgBmpqLQAAOgAAIARBAWoiBCADRw0ACwsgBUEBaiIFIAJHDQALCyACIANsrQuCAQEGfyABIAEgAG4iBiAAbGshByAAIAFNBEAgBkEBIAZBAUsbIQgDQCAABEAgACAEbCEJQQAhBQNAIAMgBSAJamogAiAFIAZsIARqai0AADoAACAFQQFqIgUgAEcNAAsLIARBAWoiBCAIRw0ACwsgAyABIAdrIgBqIAAgAmogBxAqGgsNACAAIAEgAiADEL0EC4IBAQZ/IAEgASAAbiIGIABsayEHIAAEQCAGQQEgBkEBSxshCANAIAAgAU0EQCAEIAZsIQlBACEFA0AgAyAFIAlqaiACIAAgBWwgBGpqLQAAOgAAIAVBAWoiBSAIRw0ACwsgBEEBaiIEIABHDQALCyADIAEgB2siAGogACACaiAHECoaC7gBAQN/AkAgAUEBSA0AIAAsAAAiBEH/AHEhAwJAIARBf0oNACABQQJIDQEgACwAASIEQQd0QYD/AHEgA3IhAyAEQX9KDQAgAUEDSA0BIAAsAAIiBEEOdEGAgP8AcSADciEDIARBf0oNACABQQRIDQEgACwAAyIEQRV0QYCAgP8AcSADciEDIARBf0oNACABQQVIDQEgAC0ABCIAQQ9LDQEgAEEcdCADciEDCyACIAM2AgBBASEFCyAFCw0AIAAgASACIAMQvwQLlAIB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CA0tEC0gLgAJDS4QLiAvAAoNLxAvIDAACw0wEDAgMQAEDjEQMSAyAAUOMhAyIDMABg4zEDMgNAAHDjQQNCA1AAgONRA1IDYACQ42EDYgNwAKDjcQNyA4AAsOOBA4IDkABA85EDkgOgAFDzoQOiA7AAYPOxA7IDwABw88EDwgAQgIDz0QPSABEAkPPhA+IAEYCg8/ED8gASALD0AQQCAAAAAA/wAAAP//AAD///8A/////2RlY29tcHJlc3MAY29tcHJlc3MAZnJlZV9yZXN1bHQAdmkAAHhzAABpaWlpaWlpAEGQDgvUBigHAAAwBwAAMAcAAMxzAADMcwAAzHMAABh0AAC2BwAAQHQAAEgHAAAAAAAAAQAAAIgHAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAABh0AACQBwAATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBOMTBlbXNjcmlwdGVuM3ZhbEUAAAAAGHQAANQHAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUAaWlpAAAoBwAAMAcAABgIAAAgCAAAJAgAACoIAAAxCAAANggAAGJsb3NjbHoAbHo0AGx6NGhjAHNuYXBweQB6bGliAHpzdGQARXJyb3IuICBudGhyZWFkcyBjYW5ub3QgYmUgbGFyZ2VyIHRoYW4gQkxPU0NfTUFYX1RIUkVBRFMgKCVkKQBFcnJvci4gIG50aHJlYWRzIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyAEVSUk9SOyByZXR1cm4gY29kZSBmcm9tIHB0aHJlYWRfY3JlYXRlKCkgaXMgJWQKAAlFcnJvciBkZXRhaWw6ICVzCgBCbG9zYyBoYXMgbm90IGJlZW4gY29tcGlsZWQgd2l0aCAnJXMnIABjb21wcmVzc2lvbiBzdXBwb3J0LiAgUGxlYXNlIHVzZSBvbmUgaGF2aW5nIGl0LgBFcnJvciBhbGxvY2F0aW5nIG1lbW9yeSEARVJST1I7IHJldHVybiBjb2RlIGZyb20gcHRocmVhZF9qb2luKCkgaXMgJWQKAElucHV0IGJ1ZmZlciBzaXplIGNhbm5vdCBleGNlZWQgJWQgYnl0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AAAIAAAACQAAAAkAAAAKAAAACgAAAAsAAAALAAAADAAAAAwAAAANAAAADQBBgNsAC/8IDAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBX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AAAJ/ABgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnCABAHCgAACGEAAAghAAAJogAACAEAAAiBAAAIQQAACeIAEAcGAAAIWQAACBkAAAmSABMHOwAACHkAAAg5AAAJ0gARBxEAAAhpAAAIKQAACbIAAAgJAAAIiQAACEkAAAnyABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcoAEQcNAAAIZQAACCUAAAmqAAAIBQAACIUAAAhFAAAJ6gAQBwgAAAhdAAAIHQAACZoAFAdTAAAIfQAACD0AAAnaABIHFwAACG0AAAgtAAAJugAACA0AAAiNAAAITQAACfoAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxgARBwsAAAhjAAAIIwAACaYAAAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYAEgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4AEAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4AAAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEAEAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEAEwc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakAAAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkAEgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUAEAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUAAAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0AEQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0AFAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0AYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMAAAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMAEQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnLABEHDQAACGUAAAglAAAJqwAACAUAAAiFAAAIRQAACesAEAcIAAAIXQAACB0AAAmbABQHUwAACH0AAAg9AAAJ2wASBxcAAAhtAAAILQAACbsAAAgNAAAIjQAACE0AAAn7ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACccAEQcLAAAIYwAACCMAAAmnAAAIAwAACIMAAAhDAAAJ5wAQBwcAAAhbAAAIGwAACZcAFAdDAAAIewAACDsAAAnXABIHEwAACGsAAAgrAAAJtwAACAsAAAiLAAAISwAACfcAEAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzwARBw8AAAhnAAAIJwAACa8AAAgHAAAIhwAACEcAAAnvABAHCQAACF8AAAgfAAAJnwAUB2MAAAh/AAAIPwAACd8AEgcbAAAIbwAACC8AAAm/AAAIDwAACI8AAAhPAAAJ/wAQBQEAFwUBARMFEQAbBQEQEQUFABkFAQQVBUEAHQUBQBAFAwAYBQECFAUhABwFASASBQkAGgUBCBYFgQBABQAAEAUCABcFgQETBRkAGwUBGBEFBwAZBQEGFQVhAB0FAWAQBQQAGAUBAxQFMQAcBQEwEgUNABoFAQwWBcEAQAUAADEuMi44AHN0cmVhbSBlcnJvcgBpbnN1ZmZpY2llbnQgbWVtb3J5AGJ1ZmZlciBlcnJvcgBB5IQBC6EVazgHAA2yBwCc8gcAcGQIAGCuCgCwcQsAMKoMABMAAAAMAAAADQAAAAEAAAAGAAAAAQAAAAEAAAATAAAADQAAAA4AAAABAAAABwAAAAAAAAABAAAAFAAAAA8AAAAQAAAAAQAAAAYAAAAAAAAAAQAAABUAAAAQAAAAEQAAAAEAAAAFAAAAAAAAAAIAAAAVAAAAEgAAABIAAAABAAAABQAAAAAAAAACAAAAFQAAABIAAAATAAAAAgAAAAUAAAACAAAAAwAAABUAAAATAAAAEwAAAAMAAAAFAAAABAAAAAMAAAAVAAAAEwAAABMAAAADAAAABQAAAAgAAAAEAAAAFQAAABMAAAATAAAAAwAAAAUAAAAQAAAABQAAABUAAAATAAAAFAAAAAQAAAAFAAAAEAAAAAUAAAAWAAAAFAAAABUAAAAEAAAABQAAABAAAAAFAAAAFgAAABUAAAAWAAAABAAAAAUAAAAQAAAABQAAABYAAAAVAAAAFgAAAAUAAAAFAAAAEAAAAAUAAAAWAAAAFQAAABYAAAAFAAAABQAAACAAAAAGAAAAFgAAABYAAAAXAAAABQAAAAUAAAAgAAAABgAAABYAAAAXAAAAFwAAAAYAAAAFAAAAIAAAAAYAAAAWAAAAFgAAABYAAAAFAAAABQAAADAAAAAHAAAAFwAAABcAAAAWAAAABQAAAAQAAABAAAAABwAAABcAAAAXAAAAFgAAAAYAAAADAAAAQAAAAAgAAAAXAAAAGAAAABYAAAAHAAAAAwAAAAABAAAJAAAAGQAAABkAAAAXAAAABwAAAAMAAAAAAQAACQAAABoAAAAaAAAAGAAAAAcAAAADAAAAAAIAAAkAAAAbAAAAGwAAABkAAAAJAAAAAwAAAOcDAAAJAAAAEgAAAAwAAAANAAAAAQAAAAUAAAABAAAAAQAAABIAAAANAAAADgAAAAEAAAAGAAAAAAAAAAEAAAASAAAADgAAAA4AAAABAAAABQAAAAAAAAACAAAAEgAAABAAAAAQAAAAAQAAAAQAAAAAAAAAAgAAABIAAAAQAAAAEQAAAAIAAAAFAAAAAgAAAAMAAAASAAAAEgAAABIAAAADAAAABQAAAAIAAAADAAAAEgAAABIAAAATAAAAAwAAAAUAAAAEAAAABAAAABIAAAASAAAAEwAAAAQAAAAEAAAABAAAAAQAAAASAAAAEgAAABMAAAAEAAAABAAAAAgAAAAFAAAAEgAAABIAAAATAAAABQAAAAQAAAAIAAAABQAAABIAAAASAAAAEwAAAAYAAAAEAAAACAAAAAUAAAASAAAAEgAAABMAAAAFAAAABAAAAAwAAAAGAAAAEgAAABMAAAATAAAABwAAAAQAAAAMAAAABgAAABIAAAASAAAAEwAAAAQAAAAEAAAAEAAAAAcAAAASAAAAEgAAABMAAAAEAAAAAwAAACAAAAAHAAAAEgAAABIAAAATAAAABgAAAAMAAACAAAAABwAAABIAAAATAAAAEwAAAAYAAAADAAAAgAAAAAgAAAASAAAAEwAAABMAAAAIAAAAAwAAAAABAAAIAAAAEgAAABMAAAATAAAABgAAAAMAAACAAAAACQAAABIAAAATAAAAEwAAAAgAAAADAAAAAAEAAAkAAAASAAAAEwAAABMAAAAKAAAAAwAAAAACAAAJAAAAEgAAABMAAAATAAAADAAAAAMAAAAAAgAACQAAABIAAAATAAAAEwAAAA0AAAADAAAA5wMAAAkAAAARAAAADAAAAAwAAAABAAAABQAAAAEAAAABAAAAEQAAAAwAAAANAAAAAQAAAAYAAAAAAAAAAQAAABEAAAANAAAADwAAAAEAAAAFAAAAAAAAAAEAAAARAAAADwAAABAAAAACAAAABQAAAAAAAAACAAAAEQAAABEAAAARAAAAAgAAAAQAAAAAAAAAAgAAABEAAAAQAAAAEQAAAAMAAAAEAAAAAgAAAAMAAAARAAAAEQAAABEAAAADAAAABAAAAAQAAAAEAAAAEQAAABEAAAARAAAAAwAAAAQAAAAIAAAABQAAABEAAAARAAAAEQAAAAQAAAAEAAAACAAAAAUAAAARAAAAEQAAABEAAAAFAAAABAAAAAgAAAAFAAAAEQAAABEAAAARAAAABgAAAAQAAAAIAAAABQAAABEAAAARAAAAEQAAAAUAAAAEAAAACAAAAAYAAAARAAAAEgAAABEAAAAHAAAABAAAAAwAAAAGAAAAEQAAABIAAAARAAAAAwAAAAQAAAAMAAAABwAAABEAAAASAAAAEQAAAAQAAAADAAAAIAAAAAcAAAARAAAAEgAAABEAAAAGAAAAAwAAAAABAAAHAAAAEQAAABIAAAARAAAABgAAAAMAAACAAAAACAAAABEAAAASAAAAEQAAAAgAAAADAAAAAAEAAAgAAAARAAAAEgAAABEAAAAKAAAAAwAAAAACAAAIAAAAEQAAABIAAAARAAAABQAAAAMAAAAAAQAACQAAABEAAAASAAAAEQAAAAcAAAADAAAAAAIAAAkAAAARAAAAEgAAABEAAAAJAAAAAwAAAAACAAAJAAAAEQAAABIAAAARAAAACwAAAAMAAADnAwAACQAAAA4AAAAMAAAADQAAAAEAAAAFAAAAAQAAAAEAAAAOAAAADgAAAA8AAAABAAAABQAAAAAAAAABAAAADgAAAA4AAAAPAAAAAQAAAAQAAAAAAAAAAQAAAA4AAAAOAAAADwAAAAIAAAAEAAAAAAAAAAIAAAAOAAAADgAAAA4AAAAEAAAABAAAAAIAAAADAAAADgAAAA4AAAAOAAAAAwAAAAQAAAAEAAAABAAAAA4AAAAOAAAADgAAAAQAAAAEAAAACAAAAAUAAAAOAAAADgAAAA4AAAAGAAAABAAAAAgAAAAFAAAADgAAAA4AAAAOAAAACAAAAAQAAAAIAAAABQAAAA4AAAAPAAAADgAAAAUAAAAEAAAACAAAAAYAAAAOAAAADwAAAA4AAAAJAAAABAAAAAgAAAAGAAAADgAAAA8AAAAOAAAAAwAAAAQAAAAMAAAABwAAAA4AAAAPAAAADgAAAAQAAAADAAAAGAAAAAcAAAAOAAAADwAAAA4AAAAFAAAAAwAAACAAAAAIAAAADgAAAA8AAAAPAAAABgAAAAMAAABAAAAACAAAAA4AAAAPAAAADwAAAAcAAAADAAAAAAEAAAgAAAAOAAAADwAAAA8AAAAFAAAAAwAAADAAAAAJAAAADgAAAA8AAAAPAAAABgAAAAMAAACAAAAACQAAAA4AAAAPAAAADwAAAAcAAAADAAAAAAEAAAkAAAAOAAAADwAAAA8AAAAIAAAAAwAAAAABAAAJAAAADgAAAA8AAAAPAAAACAAAAAMAAAAAAgAACQAAAA4AAAAPAAAADwAAAAkAAAADAAAAAAIAAAkAAAAOAAAADwAAAA8AAAAKAAAAAwAAAOcDAAAJAAAAIAAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADAAAAAxAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA4AEGQmgEL+gEEAAMAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAQABAAIAAgACAAIAAgACAAIAAgACAAMAAgABAAEAAQABAAEA//////////8AAAAAAAAAAAEAAQABAAEAAQABAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP////////////8AAAAAAAABAAQAAwACAAIAAgACAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP//////////////////AEGVnAEL+AcIAAAABwAAagYAAAAGAACtBQAAagUAADEFAAAABQAA1AQAAK0EAACKBAAAagQAAEwEAAAxBAAAFwQAAAAEAADpAwAA1AMAAMADAACtAwAAmwMAAIoDAAB5AwAAagMAAFsDAABMAwAAPgMAADEDAAAkAwAAFwMAAAsDAAAAAwAA9AIAAOkCAADeAgAA1AIAAMoCAADAAgAAtgIAAK0CAACkAgAAmwIAAJICAACKAgAAggIAAHkCAAByAgAAagIAAGICAABbAgAAUwIAAEwCAABFAgAAPgIAADcCAAAxAgAAKgIAACQCAAAeAgAAFwIAABECAAALAgAABQIAAAACAAD6AQAA9AEAAO8BAADpAQAA5AEAAN4BAADZAQAA1AEAAM8BAADKAQAAxQEAAMABAAC7AQAAtgEAALIBAACtAQAAqAEAAKQBAACfAQAAmwEAAJcBAACSAQAAjgEAAIoBAACGAQAAggEAAH4BAAB5AQAAdQEAAHIBAABuAQAAagEAAGYBAABiAQAAXgEAAFsBAABXAQAAUwEAAFABAABMAQAASQEAAEUBAABCAQAAPgEAADsBAAA3AQAANAEAADEBAAAuAQAAKgEAACcBAAAkAQAAIQEAAB4BAAAaAQAAFwEAABQBAAARAQAADgEAAAsBAAAIAQAABQEAAAIBAAAAAQAA/QAAAPoAAAD3AAAA9AAAAPEAAADvAAAA7AAAAOkAAADmAAAA5AAAAOEAAADeAAAA3AAAANkAAADXAAAA1AAAANEAAADPAAAAzAAAAMoAAADHAAAAxQAAAMIAAADAAAAAvgAAALsAAAC5AAAAtgAAALQAAACyAAAArwAAAK0AAACrAAAAqAAAAKYAAACkAAAAogAAAJ8AAACdAAAAmwAAAJkAAACXAAAAlQAAAJIA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AAAPAAAAEAAAABIAAAAUAAAAFgAAABgAAAAcAAAAIAAAACgAAAAwAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQBBsLIBC9YEAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAAEAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAABAAEBBgAAAAAAAAQAAAAAEAAABAAAAAAgAAAFAQAAAAAAAAUDAAAAAAAABQQAAAAAAAAFBgAAAAAAAAUHAAAAAAAABQkAAAAAAAAFCgAAAAAAAAUMAAAAAAAABg4AAAAAAAEFEAAAAAAAAQUUAAAAAAABBRYAAAAAAAIFHAAAAAAAAwUgAAAAAAAEBTAAAAAgAAYFQAAAAAAABwWAAAAAAAAIBgABAAAAAAoGAAQAAAAADAYAEAAAIAAABAAAAAAAAAAEAQAAAAAAAAUCAAAAIAAABQQAAAAAAAAFBQAAACAAAAUHAAAAAAAABQgAAAAgAAAFCgAAAAAAAAULAAAAAAAABg0AAAAgAAEFEAAAAAAAAQUSAAAAIAABBRYAAAAAAAIFGAAAACAAAwUgAAAAAAADBSgAAAAAAAYEQAAAABAABgRAAAAAIAAHBYAAAAAAAAkGAAIAAAAACwYACAAAMAAABAAAAAAQAAAEAQAAACAAAAUCAAAAIAAABQMAAAAgAAAFBQAAACAAAAUGAAAAIAAABQgAAAAgAAAFCQAAACAAAAULAAAAIAAABQwAAAAAAAAGDwAAACAAAQUSAAAAIAABBRQAAAAgAAIFGAAAACAAAgUcAAAAIAADBSgAAAAgAAQFMAAAAAAAEAYAAAEAAAAPBgCAAAAAAA4GAEAAAAAADQYAIABBlLcBC4MEAQAAAAEAAAAFAAAADQAAAB0AAAA9AAAAfQAAAP0AAAD9AQAA/QMAAP0HAAD9DwAA/R8AAP0/AAD9fwAA/f8AAP3/AQD9/wMA/f8HAP3/DwD9/x8A/f8/AP3/fwD9//8A/f//Af3//wP9//8H/f//D/3//x/9//8//f//fwAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAAT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IGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AAAAGHQAAFBlAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUAABh0AAB4ZQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAAAYdAAAoGUAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAAGHQAAMhlAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUAABh0AADwZQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAAAYdAAAGGYAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQAAGHQAAEBmAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUAABh0AABoZgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAAAYdAAAkGYAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQAAGHQAALhmAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUAAEB0AADwZgAAAAAAAAEAAACIBwAAAAAAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEaU5TXzExY2hhcl90cmFpdHNJRGlFRU5TXzlhbGxvY2F0b3JJRGlFRUVFAAAAQHQAAExnAAAAAAAAAQAAAIgHAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAABAdAAAqGcAAAAAAAABAAAAiAcAAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAAQHQAAABoAAAAAAAAAQAAAIgHAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUAABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABAAkLCwAACQYLAAALAAYRAAAAERERAEGR0QELIQsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwBBy9EBCwEMAEHX0QELFQwAAAAADAAAAAAJDAAAAAAADAAADABBhdIBCwEOAEGR0gELFQ0AAAAEDQAAAAAJDgAAAAAADgAADgBBv9IBCwEQAEHL0gELHg8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgBBgtMBCw4SAAAAEhISAAAAAAAACQBBs9MBCwELAEG/0wELFQoAAAAACgAAAAAJCwAAAAAACwAACwBB7dMBCwEMAEH50wELJwwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQBBsNQBC2cwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGg1QEL9hNJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAYmFzaWNfc3RyaW5nAHN0ZDo6ZXhjZXB0aW9uAAAAAADccQAAPAAAAD0AAAA+AAAAGHQAAORxAABTdDlleGNlcHRpb24AAAAAAAAAAAhyAAAQAAAAPwAAAEAAAACMcgAAFHIAANxxAABTdDExbG9naWNfZXJyb3IAAAAAADhyAAAQAAAAQQAAAEAAAACMcgAARHIAAAhyAABTdDEybGVuZ3RoX2Vycm9yAFN0OXR5cGVfaW5mbwAAABh0AABVcgAAjHIAAAFzAABkcgAAjHIAAKxyAABscgAAAAAAANByAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAAIxyAADccgAAeHIAAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQAAAAAAAABAcwAAQgAAAEoAAABEAAAARQAAAEsAAACMcgAATHMAAGxyAABOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgAAACxzAAB0cwAAYgAAACxzAACAcwAAYwAAACxzAACMcwAAaAAAACxzAACYcwAAYQAAACxzAACkcwAAcwAAACxzAACwcwAAdAAAACxzAAC8cwAAaQAAACxzAADIcwAAagAAACxzAADUcwAAbAAAACxzAADgcwAAbQAAACxzAADscwAAZgAAACxzAAD4cwAAZAAAACxzAAAEdAAAAAAAAHhyAABCAAAATAAAAEQAAABFAAAARgAAAE0AAABOAAAATwAAAAAAAABgdAAAQgAAAFAAAABEAAAARQAAAEYAAABRAAAAUgAAAFMAAACMcgAAbHQAAHhyAABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAAAAcHUAQZjpAQtBgC0AAAAyAAABAQAAHgEAAA8AAACALAAAAC0AAAAAAAAeAAAADwAAAAAAAAAwLAAAAAAAABMAAAAHAAAAAAAAAAUAQeTpAQsBOQBB/OkBCwo6AAAAOwAAAC12AEGU6gELAQIAQaPqAQsF//////8AQejqAQsJoH5QAAAAAAAFAEH86gELAVQAQZTrAQsOOgAAAFUAAACYegAAAAQAQazrAQsBAQBBu+sBCwUK/////w==";!function(e){e[e.NOSHUFFLE=0]="NOSHUFFLE",e[e.SHUFFLE=1]="SHUFFLE",e[e.BITSHUFFLE=2]="BITSHUFFLE",e[e.AUTOSHUFFLE=-1]="AUTOSHUFFLE"}(eA||(eA={}));var nA,rA=new Set(["blosclz","lz4","lz4hc","snappy","zlib","zstd"]),iA=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"lz4",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:eA.SHUFFLE,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(Object(s.a)(this,e),t<0||t>9)throw new Error("Invalid compression level: '".concat(t,"'. It should be between 0 and 9"));if(!rA.has(A))throw new Error("Invalid compressor '".concat(A,"'. Valid compressors include\n 'blosclz', 'lz4', 'lz4hc','snappy', 'zlib', 'zstd'."));if(n<-1||n>2)throw new Error("Invalid shuffle ".concat(n,". Must be one of 0 (NOSHUFFLE),\n 1 (SHUFFLE), 2 (BITSHUFFLE), -1 (AUTOSHUFFLE)."));this.blocksize=r,this.clevel=t,this.cname=A,this.shuffle=n}return Object(g.a)(e,[{key:"encode",value:function(){var e=Object(a.a)(o.a.mark((function e(t){var A,n,r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return nA||(nA=$t(tA,AA)),e.next=3,nA;case 3:return A=e.sent,n=A.compress(t,this.cname,this.clevel,this.shuffle,this.blocksize),r=new Uint8Array(n),A.free_result(),e.abrupt("return",r);case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"decode",value:function(){var e=Object(a.a)(o.a.mark((function e(t,A){var n,r,i;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return nA||(nA=$t(tA,AA)),e.next=3,nA;case 3:if(n=e.sent,r=n.decompress(t),i=new Uint8Array(r),n.free_result(),void 0===A){e.next=10;break}return A.set(i),e.abrupt("return",A);case 10:return e.abrupt("return",i);case 11:case"end":return e.stop()}}),e)})));return function(t,A){return e.apply(this,arguments)}}()}],[{key:"fromConfig",value:function(t){var A=t.blocksize;return new e(t.clevel,t.cname,t.shuffle,A)}}]),e}();iA.codecId="blosc",iA.COMPRESSORS=Object(r.a)(rA),iA.NOSHUFFLE=eA.NOSHUFFLE,iA.SHUFFLE=eA.SHUFFLE,iA.BITSHUFFLE=eA.BITSHUFFLE,iA.AUTOSHUFFLE=eA.AUTOSHUFFLE,Object(c.b)(qt.codecId,(function(){return qt})),Object(c.b)(Xt.codecId,(function(){return Xt})),Object(c.b)(iA.codecId,(function(){return iA}))}).call(this,A(90),A(188).Buffer)},,,,,,,,function(e,t,A){var n=A(344),r=A(759),i=A(760),o=A(761),a=A(762),s=A(763);function g(e){var t=this.__data__=new n(e);this.size=t.size}g.prototype.clear=r,g.prototype.delete=i,g.prototype.get=o,g.prototype.has=a,g.prototype.set=s,e.exports=g},function(e,t,A){var n=A(754),r=A(755),i=A(756),o=A(757),a=A(758);function s(e){var t=-1,A=null==e?0:e.length;for(this.clear();++t<A;){var n=e[t];this.set(n[0],n[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=o,s.prototype.set=a,e.exports=s},function(e,t,A){var n=A(297);e.exports=function(e,t){for(var A=e.length;A--;)if(n(e[A][0],t))return A;return-1}},function(e,t,A){var n=A(215)(Object,"create");e.exports=n},function(e,t,A){var n=A(778);e.exports=function(e,t){var A=e.__data__;return n(t)?A["string"==typeof t?"string":"hash"]:A.map}},function(e,t,A){var n=A(790),r=A(154),i=Object.prototype,o=i.hasOwnProperty,a=i.propertyIsEnumerable,s=n(function(){return arguments}())?n:function(e){return r(e)&&o.call(e,"callee")&&!a.call(e,"callee")};e.exports=s},function(e,t,A){(function(e){var n=A(140),r=A(791),i=t&&!t.nodeType&&t,o=i&&"object"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===i?n.Buffer:void 0,s=(a?a.isBuffer:void 0)||r;e.exports=s}).call(this,A(155)(e))},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,A){var n=A(795),r=A(445),i=A(796),o=A(552),a=A(797),s=A(216),g=A(544),c=g(n),u=g(r),l=g(i),I=g(o),C=g(a),h=s;(n&&"[object DataView]"!=h(new n(new ArrayBuffer(1)))||r&&"[object Map]"!=h(new r)||i&&"[object Promise]"!=h(i.resolve())||o&&"[object Set]"!=h(new o)||a&&"[object WeakMap]"!=h(new a))&&(h=function(e){var t=s(e),A="[object Object]"==t?e.constructor:void 0,n=A?g(A):"";if(n)switch(n){case c:return"[object DataView]";case u:return"[object Map]";case l:return"[object Promise]";case I:return"[object Set]";case C:return"[object WeakMap]"}return t}),e.exports=h},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findInArray=function(e,t){for(var A=0,n=e.length;A<n;A++)if(t.apply(t,[e[A],A,e]))return e[A]},t.isFunction=function(e){return"function"===typeof e||"[object Function]"===Object.prototype.toString.call(e)},t.isNum=function(e){return"number"===typeof e&&!isNaN(e)},t.int=function(e){return parseInt(e,10)},t.dontSetMe=function(e,t,A){if(e[t])return new Error("Invalid prop ".concat(t," passed to ").concat(A," - do not set this, set it on the child."))}},function(e,t,A){var n=A(216),r=A(154);e.exports=function(e){return"symbol"==typeof e||r(e)&&"[object Symbol]"==n(e)}},function(e,t,A){"use strict";A.d(t,"a",(function(){return g}));var n=A(8),r=A(1),i=A(4),o=A(32),a=A(221),s=A(67),g=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=t.phi,n=void 0===A?0:A,i=t.theta,o=void 0===i?0:i,a=t.radius,s=void 0===a?1:a,g=t.bearing,c=void 0===g?void 0:g,u=t.pitch,l=void 0===u?void 0:u,I=t.altitude,C=void 0===I?void 0:I,h=t.radiusScale,f=void 0===h?6371e3:h;Object(r.a)(this,e),this.phi=n,this.theta=o,this.radius=s||C||1,this.radiusScale=f||1,void 0!==c&&(this.bearing=c),void 0!==l&&(this.pitch=l),this.check()}return Object(i.a)(e,[{key:"toString",value:function(){return this.formatString(o.f)}},{key:"formatString",value:function(e){var t=e.printTypes,A=void 0!==t&&t,n=o.l;return"".concat(A?"Spherical":"","[rho:").concat(n(this.radius),",theta:").concat(n(this.theta),",phi:").concat(n(this.phi),"]")}},{key:"equals",value:function(e){return Object(o.j)(this.radius,e.radius)&&Object(o.j)(this.theta,e.theta)&&Object(o.j)(this.phi,e.phi)}},{key:"exactEquals",value:function(e){return this.radius===e.radius&&this.theta===e.theta&&this.phi===e.phi}},{key:"set",value:function(e,t,A){return this.radius=e,this.phi=t,this.theta=A,this.check()}},{key:"clone",value:function(){return(new e).copy(this)}},{key:"copy",value:function(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this.check()}},{key:"fromLngLatZ",value:function(e){var t=Object(n.a)(e,3),A=t[0],r=t[1],i=t[2];this.radius=1+i/this.radiusScale,this.phi=Object(o.o)(r),this.theta=Object(o.o)(A)}},{key:"fromVector3",value:function(e){return this.radius=s.g(e),this.radius>0&&(this.theta=Math.atan2(e[0],e[1]),this.phi=Math.acos(Object(o.d)(e[2]/this.radius,-1,1))),this.check()}},{key:"toVector3",value:function(){return new a.a(0,0,this.radius).rotateX({radians:this.theta}).rotateZ({radians:this.phi})}},{key:"makeSafe",value:function(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this}},{key:"check",value:function(){if(!Number.isFinite(this.phi)||!Number.isFinite(this.theta)||!(this.radius>0))throw new Error("SphericalCoordinates: some fields set to invalid numbers");return this}},{key:"bearing",get:function(){return 180-Object(o.i)(this.phi)},set:function(e){this.phi=Math.PI-Object(o.o)(e)}},{key:"pitch",get:function(){return Object(o.i)(this.theta)},set:function(e){this.theta=Object(o.o)(e)}},{key:"longitude",get:function(){return Object(o.i)(this.phi)}},{key:"latitude",get:function(){return Object(o.i)(this.theta)}},{key:"lng",get:function(){return Object(o.i)(this.phi)}},{key:"lat",get:function(){return Object(o.i)(this.theta)}},{key:"z",get:function(){return(this.radius-1)*this.radiusScale}}]),e}()},function(e,t,A){"use strict";A.d(t,"a",(function(){return s}));var n=A(1),r=A(4),i=A(286),o=A(221),a=A(197),s=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=t.x,r=void 0===A?0:A,i=t.y,s=void 0===i?0:i,g=t.z,c=void 0===g?0:g,u=t.roll,l=void 0===u?0:u,I=t.pitch,C=void 0===I?0:I,h=t.yaw,f=void 0===h?0:h,d=t.position,B=void 0===d?void 0:d,p=t.orientation,E=void 0===p?void 0:p;Object(n.a)(this,e),Array.isArray(B)&&3===B.length?this.position=new o.a(B):this.position=new o.a(r,s,c),Array.isArray(E)&&4===E.length?this.orientation=new a.a(E,E[3]):this.orientation=new a.a(l,C,f,a.a.RollPitchYaw)}return Object(r.a)(e,[{key:"getPosition",value:function(){return this.position}},{key:"getOrientation",value:function(){return this.orientation}},{key:"equals",value:function(e){return!!e&&(this.position.equals(e.position)&&this.orientation.equals(e.orientation))}},{key:"exactEquals",value:function(e){return!!e&&(this.position.exactEquals(e.position)&&this.orientation.exactEquals(e.orientation))}},{key:"getTransformationMatrix",value:function(){var e=Math.sin(this.roll),t=Math.sin(this.pitch),A=Math.sin(this.yaw),n=Math.cos(this.roll),r=Math.cos(this.pitch),o=Math.cos(this.yaw);return(new i.a).setRowMajor(o*r,-A*n+o*t*e,A*e+o*t*n,this.x,A*r,o*n+A*t*e,-o*e+A*t*n,this.y,-t,r*e,r*n,this.z,0,0,0,1)}},{key:"getTransformationMatrixFromPose",value:function(e){return(new i.a).multiplyRight(this.getTransformationMatrix()).multiplyRight(e.getTransformationMatrix().invert())}},{key:"getTransformationMatrixToPose",value:function(e){return(new i.a).multiplyRight(e.getTransformationMatrix()).multiplyRight(this.getTransformationMatrix().invert())}},{key:"x",get:function(){return this.position.x},set:function(e){this.position.x=e}},{key:"y",get:function(){return this.position.y},set:function(e){this.position.y=e}},{key:"z",get:function(){return this.position.z},set:function(e){this.position.z=e}},{key:"roll",get:function(){return this.orientation.roll},set:function(e){this.orientation.roll=e}},{key:"pitch",get:function(){return this.orientation.pitch},set:function(e){this.orientation.pitch=e}},{key:"yaw",get:function(){return this.orientation.yaw},set:function(e){this.orientation.yaw=e}}]),e}()},function(e,t,A){"use strict";var n=A(172),r=A(172).buildOptions,i=A(856),o=A(857);"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,n.nameRegexp);!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var a={attributeNamePrefix:"@_",attrNodeName:!1,textNodeName:"#text",ignoreAttributes:!0,ignoreNameSpace:!1,allowBooleanAttributes:!1,parseNodeValue:!0,parseAttributeValue:!1,arrayMode:!1,trimValues:!0,cdataTagName:!1,cdataPositionChar:"\\c",numParseOptions:{hex:!0,leadingZeros:!0},tagValueProcessor:function(e,t){return e},attrValueProcessor:function(e,t){return e},stopNodes:[],alwaysCreateTextNode:!1};t.defaultOptions=a;var s=["attributeNamePrefix","attrNodeName","textNodeName","ignoreAttributes","ignoreNameSpace","allowBooleanAttributes","parseNodeValue","parseAttributeValue","arrayMode","trimValues","cdataTagName","cdataPositionChar","tagValueProcessor","attrValueProcessor","parseTrueNumberOnly","numParseOptions","stopNodes","alwaysCreateTextNode"];function g(e,t,A){return t&&(A.trimValues&&(t=t.trim()),t=u(t=A.tagValueProcessor(t,e),A.parseNodeValue,A.numParseOptions)),t}function c(e,t){if(t.ignoreNameSpace){var A=e.split(":"),n="/"===e.charAt(0)?"/":"";if("xmlns"===A[0])return"";2===A.length&&(e=n+A[1])}return e}function u(e,t,A){if(t&&"string"===typeof e){var r=e.trim();return"true"===r||"false"!==r&&o(e,A)}return n.isExist(e)?e:""}t.props=s;var l=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])(.*?)\\3)?","g");function I(e,t){if(!t.ignoreAttributes&&"string"===typeof e){e=e.replace(/\r?\n/g," ");for(var A=n.getAllMatches(e,l),r=A.length,i={},o=0;o<r;o++){var a=c(A[o][1],t);a.length&&(void 0!==A[o][4]?(t.trimValues&&(A[o][4]=A[o][4].trim()),A[o][4]=t.attrValueProcessor(A[o][4],a),i[t.attributeNamePrefix+a]=u(A[o][4],t.parseAttributeValue,t.numParseOptions)):t.allowBooleanAttributes&&(i[t.attributeNamePrefix+a]=!0))}if(!Object.keys(i).length)return;if(t.attrNodeName){var s={};return s[t.attrNodeName]=i,s}return i}}function C(e,t){for(var A,n="",r=t;r<e.length;r++){var i=e[r];if(A)i===A&&(A="");else if('"'===i||"'"===i)A=i;else{if(">"===i)return{data:n,index:r};"\t"===i&&(i=" ")}n+=i}}function h(e,t,A,n){var r=e.indexOf(t,A);if(-1===r)throw new Error(n);return r+t.length-1}t.getTraversalObj=function(e,t){e=e.replace(/\r\n?/g,"\n"),t=r(t,a,s);for(var A=new i("!xml"),o=A,c="",u=0;u<e.length;u++){if("<"===e[u])if("/"===e[u+1]){var l=h(e,">",u,"Closing Tag is not closed."),f=e.substring(u+2,l).trim();if(t.ignoreNameSpace){var d=f.indexOf(":");-1!==d&&(f=f.substr(d+1))}o&&(o.val?o.val=n.getValue(o.val)+""+g(f,c,t):o.val=g(f,c,t)),t.stopNodes.length&&t.stopNodes.includes(o.tagname)&&(o.child=[],void 0==o.attrsMap&&(o.attrsMap={}),o.val=e.substr(o.startIndex+1,u-o.startIndex-1)),o=o.parent,c="",u=l}else if("?"===e[u+1])u=h(e,"?>",u,"Pi Tag is not closed.");else if("!--"===e.substr(u+1,3))u=h(e,"--\x3e",u,"Comment is not closed.");else if("!D"===e.substr(u+1,2)){var B=h(e,">",u,"DOCTYPE is not closed.");u=e.substring(u,B).indexOf("[")>=0?e.indexOf("]>",u)+1:B}else if("!["===e.substr(u+1,2)){var p=h(e,"]]>",u,"CDATA is not closed.")-2,E=e.substring(u+9,p);if(c&&(o.val=n.getValue(o.val)+""+g(o.tagname,c,t),c=""),t.cdataTagName){var Q=new i(t.cdataTagName,o,E);o.addChild(Q),o.val=n.getValue(o.val)+t.cdataPositionChar,E&&(Q.val=E)}else o.val=(o.val||"")+(E||"");u=p+2}else{var y=C(e,u+1),v=y.data,m=y.index,b=v.indexOf(" "),w=v,S=!0;if(-1!==b&&(w=v.substr(0,b).replace(/\s\s*$/,""),v=v.substr(b+1)),t.ignoreNameSpace){var F=w.indexOf(":");-1!==F&&(S=(w=w.substr(F+1))!==y.data.substr(F+1))}if(o&&c&&"!xml"!==o.tagname&&(o.val=n.getValue(o.val)+""+g(o.tagname,c,t)),v.length>0&&v.lastIndexOf("/")===v.length-1){v="/"===w[w.length-1]?w=w.substr(0,w.length-1):v.substr(0,v.length-1);var R=new i(w,o,"");w!==v&&(R.attrsMap=I(v,t)),o.addChild(R)}else{var D=new i(w,o);t.stopNodes.length&&t.stopNodes.includes(D.tagname)&&(D.startIndex=m),w!==v&&S&&(D.attrsMap=I(v,t)),o.addChild(D),o=D}c="",u=m}else c+=e[u]}return A}},function(e,t,A){var n=A(550),r=A(886),i=A(248);e.exports=function(e){return i(e)?n(e,!0):r(e)}},function(e,t){e.exports=function(e){return e}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,A){var n=A(597),r=A(478);e.exports=Object.keys||function(e){return n(e,r)}},function(e,t){e.exports=!0},function(e,t){var A=0,n=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++A+n).toString(36))}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,A){var n=A(353);e.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},function(e,t,A){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=A(59),i=A(105),o=n(A(620)),a=A(141),s=n(A(619));function g(e,t){var A=i.getCoords(e),n=i.getCoords(t);if(2!==A.length)throw new Error("<intersects> line1 must only contain 2 coordinates");if(2!==n.length)throw new Error("<intersects> line2 must only contain 2 coordinates");var o=A[0][0],a=A[0][1],s=A[1][0],g=A[1][1],c=n[0][0],u=n[0][1],l=n[1][0],I=n[1][1],C=(I-u)*(s-o)-(l-c)*(g-a),h=(l-c)*(a-u)-(I-u)*(o-c),f=(s-o)*(a-u)-(g-a)*(o-c);if(0===C)return null;var d=h/C,B=f/C;if(d>=0&&d<=1&&B>=0&&B<=1){var p=o+d*(s-o),E=a+d*(g-a);return r.point([p,E])}return null}t.default=function(e,t){var A={},n=[];if("LineString"===e.type&&(e=r.feature(e)),"LineString"===t.type&&(t=r.feature(t)),"Feature"===e.type&&"Feature"===t.type&&null!==e.geometry&&null!==t.geometry&&"LineString"===e.geometry.type&&"LineString"===t.geometry.type&&2===e.geometry.coordinates.length&&2===t.geometry.coordinates.length){var c=g(e,t);return c&&n.push(c),r.featureCollection(n)}var u=s.default();return u.load(o.default(t)),a.featureEach(o.default(e),(function(e){a.featureEach(u.search(e),(function(t){var r=g(e,t);if(r){var o=i.getCoords(r).join(",");A[o]||(A[o]=!0,n.push(r))}}))})),r.featureCollection(n)}},,function(e,t,A){"use strict";A.d(t,"b",(function(){return r})),A.d(t,"a",(function(){return i}));var n=A(227);function r(e,t){return Object(n.a)(e>=0),Object(n.a)(t>0),e+(t-1)&~(t-1)}function i(e,t,A){var n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{var i=e.byteOffset,o=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,i,o)}return t.set(n,A),A+r(n.byteLength,4)}},function(e,t,A){"use strict";A.r(t);var n=A(652);A.d(t,"SimpleMeshLayer",(function(){return n.a}));var r=A(645);A.d(t,"ScenegraphLayer",(function(){return r.a}))},function(e,t,A){"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}Object.defineProperty(t,"__esModule",{value:!0}),t.toDeckColor=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[255,0,0,255];if(!Array.isArray(e))return t;return[255*e[0],255*e[1],255*e[2],255*e[3]]},t.recursivelyTraverseNestedArrays=function e(t,A,r){if(!Array.isArray(t[0]))return!0;for(var i=0;i<t.length;i++)if(e(t[i],[].concat(function(e){if(Array.isArray(e))return n(e)}(o=A)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(o)||function(e,t){if(!e)return;if("string"===typeof e)return n(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return n(e,t)}(o)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[i]),r)){r(t,A);break}var o;return!1}},function(e,t){var A=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:A,MAX_SAFE_COMPONENT_LENGTH:16}},function(e,t,A){(function(t){var A="object"===typeof t&&Object({NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0})&&Object({NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0}).NODE_DEBUG&&/\bsemver\b/i.test(Object({NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0}).NODE_DEBUG)?function(){for(var e,t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return(e=console).error.apply(e,["SEMVER"].concat(A))}:function(){};e.exports=A}).call(this,A(90))},function(e,t){var A=["includePrerelease","loose","rtl"];e.exports=function(e){return e?"object"!==typeof e?{loose:!0}:A.filter((function(t){return e[t]})).reduce((function(e,t){return e[t]=!0,e}),{}):{}}},function(e,t,A){var n=A(144);e.exports=function(e,t,A){return n(e,t,A)>0}},function(e,t,A){var n=A(299),r=A(300),i=Symbol("SemVer ANY"),o=function(){"use strict";function e(t,A){if(n(this,e),A=a(A),t instanceof e){if(t.loose===!!A.loose)return t;t=t.value}l("comparator",t,A),this.options=A,this.loose=!!A.loose,this.parse(t),this.semver===i?this.value="":this.value=this.operator+this.semver.version,l("comp",this)}return r(e,null,[{key:"ANY",get:function(){return i}}]),r(e,[{key:"parse",value:function(e){var t=this.options.loose?g[c.COMPARATORLOOSE]:g[c.COMPARATOR],A=e.match(t);if(!A)throw new TypeError("Invalid comparator: ".concat(e));this.operator=void 0!==A[1]?A[1]:"","="===this.operator&&(this.operator=""),A[2]?this.semver=new I(A[2],this.options.loose):this.semver=i}},{key:"toString",value:function(){return this.value}},{key:"test",value:function(e){if(l("Comparator.test",e,this.options.loose),this.semver===i||e===i)return!0;if("string"===typeof e)try{e=new I(e,this.options)}catch(t){return!1}return u(e,this.operator,this.semver,this.options)}},{key:"intersects",value:function(t,A){if(!(t instanceof e))throw new TypeError("a Comparator is required");if(A&&"object"===typeof A||(A={loose:!!A,includePrerelease:!1}),""===this.operator)return""===this.value||new C(t.value,A).test(this.value);if(""===t.operator)return""===t.value||new C(this.value,A).test(t.semver);var n=(">="===this.operator||">"===this.operator)&&(">="===t.operator||">"===t.operator),r=("<="===this.operator||"<"===this.operator)&&("<="===t.operator||"<"===t.operator),i=this.semver.version===t.semver.version,o=(">="===this.operator||"<="===this.operator)&&(">="===t.operator||"<="===t.operator),a=u(this.semver,"<",t.semver,A)&&(">="===this.operator||">"===this.operator)&&("<="===t.operator||"<"===t.operator),s=u(this.semver,">",t.semver,A)&&("<="===this.operator||"<"===this.operator)&&(">="===t.operator||">"===t.operator);return n||r||i&&o||a||s}}]),e}();e.exports=o;var a=A(372),s=A(260),g=s.re,c=s.t,u=A(641),l=A(371),I=A(106),C=A(145)},function(e,t,A){var n=A(145);e.exports=function(e,t,A){try{t=new n(t,A)}catch(r){return!1}return t.test(e)}},function(e,t,A){"use strict";A.r(t);var n=A(283),r=A.n(n);function i(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function o(e,t,A){void 0===A&&(A={});for(var n=0,r=e;n<r.length;n++){var o=r[n];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var a=0;a<o[o.length-1].length;a++)if(o[o.length-1][a]!==o[0][a])throw new Error("First and last Position are not equivalent.")}return i({type:"Polygon",coordinates:e},t,A)}function a(e,t,A){return void 0===A&&(A={}),i({type:"MultiPolygon",coordinates:e},t,A)}function s(e){return"Feature"===e.type?e.geometry:e}t.default=function(e,t){var A=s(e),n=s(t),i=e.properties||{},g=r.a.difference(A.coordinates,n.coordinates);return 0===g.length?null:1===g.length?o(g[0],i):a(g,i)}},function(e,t,A){"use strict";A.d(t,"a",(function(){return n}));var n="3.0.12"},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(7);function r(e,t){if(!t)return e;var A=Object(n.a)({},e,{},t);if("defines"in t&&(A.defines=Object(n.a)({},e.defines,{},t.defines)),"modules"in t&&(A.modules=(e.modules||[]).concat(t.modules),t.modules.some((function(e){return"project64"===e.name})))){var r=A.modules.findIndex((function(e){return"project32"===e.name}));r>=0&&A.modules.splice(r,1)}if("inject"in t)if(e.inject){var i=Object(n.a)({},e.inject);for(var o in t.inject)i[o]=(i[o]||"")+t.inject[o];A.inject=i}else A.inject=t.inject;return A}},function(e,t,A){"use strict";A.d(t,"a",(function(){return n}));function n(e){if(null===(t=e)||"object"!==typeof t)throw new Error("count(): argument not an object");var t;if("function"===typeof e.count)return e.count();if(Number.isFinite(e.size))return e.size;if(Number.isFinite(e.length))return e.length;if(function(e){return null!==e&&"object"===typeof e&&e.constructor===Object}(e))return Object.keys(e).length;throw new Error("count(): argument not a container")}},function(e,t,A){"use strict";A.d(t,"a",(function(){return u}));var n=A(8),r=A(1),i=A(4),o=A(9),a=A(10),s=A(23),g=A(133),c=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(e){var n;return Object(r.a)(this,A),(n=t.call(this,e)).zoomAxis=e.zoomAxis||"all",n}return Object(i.a)(A,[{key:"_applyConstraints",value:function(e){var t=e.maxZoom,A=e.minZoom,n=e.zoom;return e.zoom=Array.isArray(n)?[Object(s.clamp)(n[0],A,t),Object(s.clamp)(n[1],A,t)]:Object(s.clamp)(n,A,t),e}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,A=e.startZoom,r=this._viewportProps,i=r.maxZoom,o=r.minZoom;A||0===A||(A=this._viewportProps.zoom);var a=Math.log2(t);if(Array.isArray(A)){var g=A,c=Object(n.a)(g,2),u=c[0],l=c[1];switch(this.zoomAxis){case"X":u=Object(s.clamp)(u+a,o,i);break;case"Y":l=Object(s.clamp)(l+a,o,i);break;default:var I=Math.min(u+a,l+a);I<o&&(a+=o-I),(I=Math.max(u+a,l+a))>i&&(a+=i-I),u+=a,l+=a}return[u,l]}return Object(s.clamp)(A+a,o,i)}}]),A}(A(264).a),u=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(e){return Object(r.a)(this,A),e.dragMode=e.dragMode||"pan",t.call(this,c,e)}return Object(i.a)(A,[{key:"_onPanRotate",value:function(e){return!1}},{key:"linearTransitionProps",get:function(){return["target","zoom"]}}]),A}(g.a)},function(e,t,A){"use strict";A.d(t,"a",(function(){return u}));var n=A(7),r=A(1),i=A(4),o=A(9),a=A(10),s=A(134),g=A(263),c=A(266),u=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(e){return Object(r.a)(this,A),t.call(this,Object(n.a)({},e,{type:g.a}))}return Object(i.a)(A,[{key:"controller",get:function(){return this._getControllerProps({type:c.b})}}]),A}(s.a);u.displayName="MapView"},function(e,t,A){"use strict";A.d(t,"a",(function(){return a}));var n=A(6),r=A(528),i=[A(223).a],o=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function a(e){var t,A=r.a.getDefaultProgramManager(e),a=Object(n.a)(i);try{for(a.s();!(t=a.n()).done;){var s=t.value;A.addDefaultModule(s)}}catch(l){a.e(l)}finally{a.f()}var g,c=Object(n.a)(o);try{for(c.s();!(g=c.n()).done;){var u=g.value;A.addShaderHook(u)}}catch(l){c.e(l)}finally{c.f()}return A}},function(e,t,A){"use strict";A.d(t,"a",(function(){return o}));var n=A(1),r=[255,255,255],i=0,o=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(n.a)(this,e);var A=t.color,o=void 0===A?r:A,a=t.intensity,s=void 0===a?1:a;this.id=t.id||"ambient-".concat(i++),this.color=o,this.intensity=s,this.type="ambient"}},function(e,t,A){"use strict";var n=A(6),r=A(8),i=A(1),o=A(4),a=A(9),s=A(10),g=A(7),c=A(36),u=A(385),l=A(104),I=A(23),C=A(162),h=function(e){Object(a.a)(A,e);var t=Object(s.a)(A);function A(){return Object(i.a)(this,A),t.apply(this,arguments)}return Object(o.a)(A,[{key:"_onUpdate",value:function(){var e=this.time,t=this.settings,A=t.fromValue,n=t.toValue,r=t.duration,i=(0,t.easing)(e/r);this._value=Object(I.lerp)(A,n,i)}},{key:"value",get:function(){return this._value}}]),A}(C.a);function f(e,t,A,n,r){var i=t-e;return(A-t)*r+-i*n+i+t}function d(e,t){if(Array.isArray(e)){for(var A=0,n=0;n<e.length;n++){var r=e[n]-t[n];A+=r*r}return Math.sqrt(A)}return Math.abs(e-t)}var B,p=function(e){Object(a.a)(A,e);var t=Object(s.a)(A);function A(){return Object(i.a)(this,A),t.apply(this,arguments)}return Object(o.a)(A,[{key:"_onUpdate",value:function(){var e=this.settings,t=e.fromValue,A=e.toValue,n=e.damping,r=e.stiffness,i=this._prevValue,o=void 0===i?t:i,a=this._currValue,s=void 0===a?t:a,g=function(e,t,A,n,r){if(Array.isArray(A)){for(var i=[],o=0;o<A.length;o++)i[o]=f(e[o],t[o],A[o],n,r);return i}return f(e,t,A,n,r)}(o,s,A,n,r),c=d(g,A),u=d(g,s);c<1e-5&&u<1e-5&&(g=A,this.end()),this._prevValue=s,this._currValue=g}},{key:"value",get:function(){return this._currValue}}]),A}(C.a),E=A(41),Q={interpolation:h,spring:p},y=function(){function e(t){Object(i.a)(this,e),this.transitions=new Map,this.timeline=t}return Object(o.a)(e,[{key:"add",value:function(e,t,A,n){var r=this.transitions;if(r.has(e)){var i=r.get(e),o=i.value;t=void 0===o?i.settings.fromValue:o,this.remove(e)}if(n=Object(l.e)(n)){var a=Q[n.type];if(a){var s=new a(this.timeline);s.start(Object(g.a)({},n,{fromValue:t,toValue:A})),r.set(e,s)}else E.a.error("unsupported transition type '".concat(n.type,"'"))()}}},{key:"remove",value:function(e){var t=this.transitions;t.has(e)&&(t.get(e).cancel(),t.delete(e))}},{key:"update",value:function(){var e,t={},A=Object(n.a)(this.transitions);try{for(A.s();!(e=A.n()).done;){var i=Object(r.a)(e.value,2),o=i[0],a=i[1];a.update(),t[o]=a.value,a.inProgress||this.remove(o)}}catch(s){A.e(s)}finally{A.f()}return t}},{key:"clear",value:function(){var e,t=Object(n.a)(this.transitions.keys());try{for(t.s();!(e=t.n()).done;){var A=e.value;this.remove(A)}}catch(r){t.e(r)}finally{t.f()}}},{key:"active",get:function(){return this.transitions.size>0}}]),e}(),v=A(313),m=A(379),b=A(77),w=A(18),S=A(87),F=A(173),R=A(378),D=A(324),G=A(150),k=A(78),x=A(116),N=A(2),U=A(232),_=(B={},Object(N.a)(B,10241,9987),Object(N.a)(B,10240,9729),Object(N.a)(B,10242,33071),Object(N.a)(B,10243,33071),B),M={};var O={boolean:{validate:function(e,t){return!0},equal:function(e,t,A){return Boolean(e)===Boolean(t)}},number:{validate:function(e,t){return Number.isFinite(e)&&(!("max"in t)||e<=t.max)&&(!("min"in t)||e>=t.min)}},color:{validate:function(e,t){return t.optional&&!e||H(e)&&(3===e.length||4===e.length)},equal:function(e,t,A){return L(e,t)}},accessor:{validate:function(e,t){var A=Y(e);return"function"===A||A===Y(t.value)},equal:function(e,t,A){return"function"===typeof t||L(e,t)}},array:{validate:function(e,t){return t.optional&&!e||H(e)},equal:function(e,t,A){return A.compare?L(e,t):e===t}},function:{validate:function(e,t){return t.optional&&!e||"function"===typeof e},equal:function(e,t,A){return!A.compare||e===t}},data:{transform:function(e,t,A){var n=(A?A.props:{}).dataTransform;return n&&e?n(e):e}},image:{transform:function(e,t,A){return function(e,t){var A=e.context&&e.context.gl;if(!A||!t)return null;if(t instanceof U.a)return t;t.constructor&&"Object"!==t.constructor.name&&(t={data:t});var n=null;t.compressed&&(n=Object(N.a)({},10241,t.data.length>1?9985:9729));var r=new U.a(A,Object(g.a)({},t,{parameters:Object(g.a)({},_,{},n,{},e.props.textureParameters)}));return M[r.id]=!0,r}(A,e)},release:function(e){var t;(t=e)&&t instanceof U.a&&M[t.id]&&(t.delete(),delete M[t.id])}}};function L(e,t){if(e===t)return!0;if(!H(e)||!H(t))return!1;var A=e.length;if(A!==t.length)return!1;for(var n=0;n<A;n++)if(e[n]!==t[n])return!1;return!0}function T(e,t){switch(Y(t)){case"object":return Z(e,t);case"array":return Z(e,{type:"array",value:t,compare:!1});case"boolean":return Z(e,{type:"boolean",value:t});case"number":return Z(e,{type:"number",value:t});case"function":return Z(e,{type:"function",value:t,compare:!0});default:return{name:e,type:"unknown",value:t}}}function Z(e,t){return"type"in t?Object(g.a)({name:e},O[t.type],{},t):"value"in t?Object(g.a)({name:e,type:Y(t.value)},t):{name:e,type:"object",value:t}}function H(e){return Array.isArray(e)||ArrayBuffer.isView(e)}function Y(e){return H(e)?"array":null===e?"null":typeof e}var J=k.b.COMPONENT,j=k.b.ASYNC_ORIGINAL,P=k.b.ASYNC_RESOLVED,V=k.b.ASYNC_DEFAULTS;function K(){var e=this,t=W(e.constructor),A=Object.create(t);A[J]=e,A[j]={},A[P]={};for(var n=0;n<arguments.length;++n){var r=arguments[n];for(var i in r)A[i]=r[i]}return Object.freeze(A),A}function W(e){var t=z(e,"_mergedDefaultProps");return t||(function(e){if(!e.prototype)return;var t=Object.getPrototypeOf(e),A=W(t),i=function(e){for(var t={},A={},n={},i=0,o=Object.entries(e);i<o.length;i++){var a=Object(r.a)(o[i],2),s=a[0],g=a[1];if(g&&g.deprecatedFor)n[s]=Array.isArray(g.deprecatedFor)?g.deprecatedFor:[g.deprecatedFor];else{var c=T(s,g);t[s]=c,A[s]=c.value}}return{propTypes:t,defaultProps:A,deprecatedProps:n}}(z(e,"defaultProps")||{}),o=function(e,t,A){var n=Object.create(null);Object.assign(n,t,e);var r=function(e){var t=z(e,"layerName")||z(e,"componentName");t||E.a.once(0,"".concat(e.name,".componentName not specified"))();return t||e.name}(A);return delete e.id,Object.defineProperties(n,{id:{writable:!0,value:r}}),n}(i.defaultProps,A,e),a=Object(g.a)({},t._propTypes,{},i.propTypes);!function(e,t){var A={},n={};for(var r in t){var i=t[r],o=i.name,a=i.value;i.async&&(A[o]=a,n[o]=X(o))}e[V]=A,e[j]={},Object.defineProperties(e,n)}(o,a);var s=Object(g.a)({},t._deprecatedProps,{},i.deprecatedProps);(function(e,t){var A=function(A){Object.defineProperty(e,A,{enumerable:!1,set:function(e){var r,i="".concat(this.id,": ").concat(A),o=Object(n.a)(t[A]);try{for(o.s();!(r=o.n()).done;){var a=r.value;q(this,a)||(this[a]=e)}}catch(s){o.e(s)}finally{o.f()}E.a.deprecated(i,t[A].join("/"))()}})};for(var r in t)A(r)})(o,s),e._mergedDefaultProps=o,e._propTypes=a,e._deprecatedProps=s}(e),e._mergedDefaultProps)}function X(e){return{enumerable:!0,set:function(t){"string"===typeof t||t instanceof Promise||Object(x.c)(t)?this[j][e]=t:this[P][e]=t},get:function(){if(this[P]){if(e in this[P])return this[P][e]||this[V][e];if(e in this[j]){var t=this[J]&&this[J].internalState;if(t&&t.hasAsyncProp(e))return t.getAsyncProp(e)||this[V][e]}}return this[V][e]}}}function q(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function z(e,t){return q(e,t)&&e[t]}var $=A(3),ee=A.n($),te=A(12),Ae=A(228),ne=k.b.ASYNC_ORIGINAL,re=k.b.ASYNC_RESOLVED,ie=k.b.ASYNC_DEFAULTS,oe=Object.freeze({}),ae=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;Object(i.a)(this,e),this.component=t,this.asyncProps={},this.onAsyncPropUpdated=function(){},this.oldProps=oe,this.oldAsyncProps=null}return Object(o.a)(e,[{key:"finalize",value:function(){for(var e in this.asyncProps){var t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}},{key:"getOldProps",value:function(){return this.oldAsyncProps||this.oldProps}},{key:"resetOldProps",value:function(){this.oldAsyncProps=null,this.oldProps=this.component.props}},{key:"freezeAsyncOldProps",value:function(){if(!this.oldAsyncProps)for(var e in this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps),this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}},{key:"hasAsyncProp",value:function(e){return e in this.asyncProps}},{key:"getAsyncProp",value:function(e){var t=this.asyncProps[e];return t&&t.resolvedValue}},{key:"isAsyncPropLoading",value:function(e){if(e){var t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(var A in this.asyncProps)if(this.isAsyncPropLoading(A))return!0;return!1}},{key:"reloadAsyncProp",value:function(e,t){this._watchPromise(e,Promise.resolve(t))}},{key:"setAsyncProps",value:function(e){var t=e[re]||{},A=e[ne]||e,n=e[ie]||{};for(var r in t){var i=t[r];this._createAsyncPropData(r,n[r]),this._updateAsyncProp(r,i),t[r]=this.getAsyncProp(r)}for(var o in A){var a=A[o];this._createAsyncPropData(o,n[o]),this._updateAsyncProp(o,a)}}},{key:"_updateAsyncProp",value:function(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"===typeof t){var A,n=null===(A=this.layer)||void 0===A?void 0:A.props.fetch;n&&(t=n(t,{propName:e,layer:this.layer}))}t instanceof Promise?this._watchPromise(e,t):Object(x.c)(t)?this._resolveAsyncIterable(e,t):this._setPropValue(e,t)}}},{key:"_didAsyncInputValueChange",value:function(e,t){var A=this.asyncProps[e];return t!==A.resolvedValue&&t!==A.lastValue&&(A.lastValue=t,!0)}},{key:"_setPropValue",value:function(e,t){this.freezeAsyncOldProps();var A=this.asyncProps[e];t=this._postProcessValue(A,t),A.resolvedValue=t,A.pendingLoadCount++,A.resolvedLoadCount=A.pendingLoadCount}},{key:"_setAsyncPropValue",value:function(e,t,A){var n=this.asyncProps[e];n&&A>=n.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),n.resolvedValue=t,n.resolvedLoadCount=A,this.onAsyncPropUpdated(e,t))}},{key:"_watchPromise",value:function(e,t){var A=this,n=this.asyncProps[e];n.pendingLoadCount++;var r=n.pendingLoadCount;t.then((function(t){var i;t=A._postProcessValue(n,t),A._setAsyncPropValue(e,t,r);var o=null===(i=A.layer)||void 0===i?void 0:i.props.onDataLoad;"data"===e&&o&&o(t,{propName:e,layer:A.layer})})).catch((function(t){var n;null===(n=A.layer)||void 0===n||n.raiseError(t,"loading ".concat(e," of ").concat(A.layer))}))}},{key:"_resolveAsyncIterable",value:function(){var e=Object(te.a)(ee.a.mark((function e(t,A){var n,r,i,o,a,s,g,c,u,l,I,C,h,f,d;return ee.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:"data"!==t&&this._setPropValue(t,A),(r=this.asyncProps[t]).pendingLoadCount++,i=r.pendingLoadCount,o=[],a=0,s=!0,g=!1,e.prev=8,u=Object(Ae.a)(A);case 10:return e.next=12,u.next();case 12:return l=e.sent,s=l.done,e.next=16,l.value;case 16:if(I=e.sent,s){e.next=27;break}C=I,h=this.component?this.component.props:{},f=h.dataTransform,o=f?f(C,o):o.concat(C),Object.defineProperty(o,"__diff",{enumerable:!1,value:[{startRow:a,endRow:o.length}]}),a=o.length,this._setAsyncPropValue(t,o,i);case 24:s=!0,e.next=10;break;case 27:e.next=33;break;case 29:e.prev=29,e.t0=e.catch(8),g=!0,c=e.t0;case 33:if(e.prev=33,e.prev=34,s||null==u.return){e.next=38;break}return e.next=38,u.return();case 38:if(e.prev=38,!g){e.next=41;break}throw c;case 41:return e.finish(38);case 42:return e.finish(33);case 43:(d=null===(n=this.layer)||void 0===n?void 0:n.props.onDataLoad)&&d(o,{propName:t,layer:this.layer});case 45:case"end":return e.stop()}}),e,this,[[8,29,33,43],[34,,38,42]])})));return function(t,A){return e.apply(this,arguments)}}()},{key:"_postProcessValue",value:function(e,t){var A=e.type;return A&&(A.release&&A.release(e.resolvedValue,A,this.component),A.transform)?A.transform(t,A,this.component):t}},{key:"_createAsyncPropData",value:function(e,t){if(!this.asyncProps[e]){var A=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:A&&A[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}]),e}(),se=k.b.ASYNC_ORIGINAL,ge=k.b.ASYNC_RESOLVED,ce=k.b.ASYNC_DEFAULTS,ue=0,le=function(){function e(){Object(i.a)(this,e),this.props=K.apply(this,arguments),this.id=this.props.id,this.count=ue++,this.lifecycle=k.a.NO_STATE,this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}return Object(o.a)(e,[{key:"clone",value:function(e){var t=this.props,A={};for(var n in t[ce])n in t[ge]?A[n]=t[ge][n]:n in t[se]&&(A[n]=t[se][n]);return new this.constructor(Object(g.a)({},t,{},A,{},e))}},{key:"_initState",value:function(){this.internalState=new ae({})}},{key:"root",get:function(){for(var e=this;e.parent;)e=e.parent;return e}},{key:"stats",get:function(){return this.internalState.stats}}]),e}();le.componentName="Component",le.defaultProps={};var Ie=function(e){Object(a.a)(A,e);var t=Object(s.a)(A);function A(e){var n,r=e.attributeManager,o=e.layer;return Object(i.a)(this,A),(n=t.call(this,o)).attributeManager=r,n.model=null,n.needsRedraw=!0,n.subLayers=null,n.usesPickingColorCache=!1,n}return Object(o.a)(A,[{key:"layer",get:function(){return this.component},set:function(e){this.component=e}}]),A}(ae),Ce=A(42),he=A(1283);A.d(t,"a",(function(){return Qe}));var fe=Math.pow(2,24)-1,de=Object.freeze([]),Be=Object(F.a)((function(e){var t=e.oldViewport,A=e.viewport;return t.equals(A)})),pe=new Uint8ClampedArray(0),Ee={data:{type:"data",value:de,async:!0},dataComparator:null,_dataDiff:{type:"function",value:function(e){return e&&e.__diff},compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:function(e,t){var A,n=t.propName,r=t.layer,i=t.loaders,o=t.loadOptions,a=t.signal,s=r.context.resourceManager;(o=o||r.getLoadOptions(),i=i||r.props.loaders,a)&&(o=Object(g.a)({},o,{fetch:Object(g.a)({},null===(A=o)||void 0===A?void 0:A.fetch,{signal:a})}));var c=s.contains(e);return c||o||(s.add({resourceId:e,data:Object(he.a)(e,i),persistent:!1}),c=!0),c?s.subscribe({resourceId:e,onChange:function(e){return r.internalState.reloadAsyncProp(n,e)},consumerId:r.id,requestId:n}):Object(he.a)(e,i,o)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:c.a.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:function(e){return[0,100*-e.layerIndex]},compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}},Qe=function(e){Object(a.a)(A,e);var t=Object(s.a)(A);function A(){return Object(i.a)(this,A),t.apply(this,arguments)}return Object(o.a)(A,[{key:"toString",value:function(){var e=this.constructor.layerName||this.constructor.name;return"".concat(e,"({id: '").concat(this.props.id,"'})")}},{key:"raiseError",value:function(e,t){var A,n,r,i;(t&&(e.message="".concat(t,": ").concat(e.message)),null===(A=(n=this.props).onError)||void 0===A?void 0:A.call(n,e))||(null===(r=this.context)||void 0===r||null===(i=r.onError)||void 0===i||i.call(r,e,this))}},{key:"setState",value:function(e){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,e),this.setNeedsRedraw()}},{key:"setNeedsRedraw",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.internalState&&(this.internalState.needsRedraw=e)}},{key:"setNeedsUpdate",value:function(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};return this._getNeedsRedraw(e)}},{key:"needsUpdate",value:function(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}},{key:"hasUniformTransition",value:function(){return this.internalState.uniformTransitions.active}},{key:"isPickable",value:function(){return this.props.pickable&&this.props.visible}},{key:"getModels",value:function(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}},{key:"getAttributeManager",value:function(){return this.internalState&&this.internalState.attributeManager}},{key:"getCurrentLayer",value:function(){return this.internalState&&this.internalState.layer}},{key:"getLoadOptions",value:function(){return this.props.loadOptions}},{key:"project",value:function(e){var t=this.context.viewport,A=Object(D.a)(e,{viewport:t,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),n=Object(Ce.s)(A,t.pixelProjectionMatrix),i=Object(r.a)(n,3),o=i[0],a=i[1],s=i[2];return 2===e.length?[o,a]:[o,a,s]}},{key:"unproject",value:function(e){return this.context.viewport.unproject(e)}},{key:"projectPosition",value:function(e){return Object(D.b)(e,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}},{key:"use64bitPositions",value:function(){var e=this.props.coordinateSystem;return e===c.a.DEFAULT||e===c.a.LNGLAT||e===c.a.CARTESIAN}},{key:"onHover",value:function(e,t){return!!this.props.onHover&&this.props.onHover(e,t)}},{key:"onClick",value:function(e,t){return!!this.props.onClick&&this.props.onClick(e,t)}},{key:"nullPickingColor",value:function(){return[0,0,0]}},{key:"encodePickingColor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t[0]=e+1&255,t[1]=e+1>>8&255,t[2]=e+1>>8>>8&255,t}},{key:"decodePickingColor",value:function(e){Object(S.a)(e instanceof Uint8Array);var t=Object(r.a)(e,3);return t[0]+256*t[1]+65536*t[2]-1}},{key:"initializeState",value:function(){throw new Error("Layer ".concat(this," has not defined initializeState"))}},{key:"getShaders",value:function(e){var t,A=Object(n.a)(this.props.extensions);try{for(A.s();!(t=A.n()).done;){var r=t.value;e=Object(R.a)(e,r.getShaders.call(this,r))}}catch(i){A.e(i)}finally{A.f()}return e}},{key:"shouldUpdateState",value:function(e){e.oldProps,e.props,e.context;return e.changeFlags.propsOrDataChanged}},{key:"updateState",value:function(e){var t=e.oldProps,A=e.props,r=(e.context,e.changeFlags),i=this.getAttributeManager();if(r.dataChanged&&i){var o=r.dataChanged;if(Array.isArray(o)){var a,s=Object(n.a)(o);try{for(s.s();!(a=s.n()).done;){var g=a.value;i.invalidateAll(g)}}catch(f){s.e(f)}finally{s.f()}}else i.invalidateAll()}var c=t.highlightedObjectIndex>=0||t.pickable,u=A.highlightedObjectIndex>=0||A.pickable;if(c!==u&&i){var l=i.attributes,I=l.pickingColors,C=l.instancePickingColors,h=I||C;h&&(u&&h.constant&&(h.constant=!1,i.invalidate(h.id)),h.value||u||(h.constant=!0,h.value=[0,0,0]))}}},{key:"finalizeState",value:function(){var e,t=Object(n.a)(this.getModels());try{for(t.s();!(e=t.n()).done;){e.value.delete()}}catch(r){t.e(r)}finally{t.f()}var A=this.getAttributeManager();A&&A.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}},{key:"draw",value:function(e){var t,A=Object(n.a)(this.getModels());try{for(A.s();!(t=A.n()).done;){t.value.draw(e)}}catch(r){A.e(r)}finally{A.f()}}},{key:"getPickingInfo",value:function(e){var t=e.info,A=(e.mode,t.index);return A>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[A]),t}},{key:"activateViewport",value:function(e){var t=this.internalState.viewport;this.internalState.viewport=e,t&&Be({oldViewport:t,viewport:e})||(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}},{key:"invalidateAttribute",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",t=(arguments.length>1&&void 0!==arguments[1]&&arguments[1],this.getAttributeManager());t&&("all"===e?t.invalidateAll():t.invalidate(e))}},{key:"updateAttributes",value:function(e){var t,A=Object(n.a)(this.getModels());try{for(A.s();!(t=A.n()).done;){var r=t.value;this._setModelAttributes(r,e)}}catch(i){A.e(i)}finally{A.f()}}},{key:"_updateAttributes",value:function(e){var t=this.getAttributeManager();if(t){var A=this.getNumInstances(e),n=this.getStartIndices(e);t.update({data:e.data,numInstances:A,startIndices:n,props:e,transitions:e.transitions,buffers:e.data.attributes,context:this,ignoreUnknownAttributes:!0});var r=t.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(r)}}},{key:"_updateAttributeTransition",value:function(){var e=this.getAttributeManager();e&&e.updateTransition()}},{key:"_updateUniformTransition",value:function(){var e=this.internalState.uniformTransitions;if(e.active){var t=e.update(),A=Object.create(this.props);for(var n in t)Object.defineProperty(A,n,{value:t[n]});return A}return this.props}},{key:"calculateInstancePickingColors",value:function(e,t){var A=t.numInstances;if(!e.constant){var n=Math.floor(pe.length/3);if(this.internalState.usesPickingColorCache=!0,n<A){A>fe&&E.a.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),pe=G.a.allocate(pe,A,{size:3,copy:!0,maxCount:Math.max(A,fe)});for(var r=Math.floor(pe.length/3),i=[],o=n;o<r;o++)this.encodePickingColor(o,i),pe[3*o+0]=i[0],pe[3*o+1]=i[1],pe[3*o+2]=i[2]}e.value=pe.subarray(0,3*A)}}},{key:"_setModelAttributes",value:function(e,t){var A=this.getAttributeManager(),n=e.userData.excludeAttributes||{},r=A.getShaderAttributes(t,n);e.setAttributes(r)}},{key:"disablePickingIndex",value:function(e){this._disablePickingIndex(e)}},{key:"_disablePickingIndex",value:function(e){var t=this.getAttributeManager().attributes,A=t.pickingColors,n=t.instancePickingColors,r=A||n,i=r.getVertexOffset(e),o=r.getVertexOffset(e+1);r.buffer.subData({data:new Uint8Array(o-i),offset:i})}},{key:"restorePickingColors",value:function(){var e=this.getAttributeManager().attributes,t=e.pickingColors,A=e.instancePickingColors,n=t||A;this.internalState.usesPickingColorCache&&n.value.buffer!==pe.buffer&&(n.value=pe.subarray(0,n.value.length)),n.updateSubBuffer({startOffset:0})}},{key:"getNumInstances",value:function(e){return void 0!==(e=e||this.props).numInstances?e.numInstances:this.state&&void 0!==this.state.numInstances?this.state.numInstances:Object(m.a)(e.data)}},{key:"getStartIndices",value:function(e){return void 0!==(e=e||this.props).startIndices?e.startIndices:this.state&&this.state.startIndices?this.state.startIndices:null}},{key:"_initialize",value:function(){Object(b.a)("layer.initialize",this),this._initState(),this.initializeState(this.context);var e,t=Object(n.a)(this.props.extensions);try{for(t.s();!(e=t.n()).done;){var A=e.value;A.initializeState.call(this,this.context,A)}}catch(r){t.e(r)}finally{t.f()}this.setChangeFlags({dataChanged:!0,propsChanged:!0,viewportChanged:!0,extensionsChanged:!0}),this._updateState()}},{key:"_update",value:function(){var e=this.needsUpdate();Object(b.a)("layer.update",this,e),e&&this._updateState()}},{key:"_updateState",value:function(){var e=this.props,t=this.context.viewport,A=this._updateUniformTransition();this.internalState.propsInTransition=A,this.context.viewport=this.internalState.viewport||t,this.props=A;try{var r=this._getUpdateParams(),i=this.getModels();if(this.context.gl)this.updateState(r);else try{this.updateState(r)}catch(c){}var o,a=Object(n.a)(this.props.extensions);try{for(a.s();!(o=a.n()).done;){var s=o.value;s.updateState.call(this,r,s)}}catch(u){a.e(u)}finally{a.f()}var g=this.getModels()[0]!==i[0];this._updateModules(r,g),this.isComposite?this._renderLayers(r):(this.setNeedsRedraw(),this._updateAttributes(this.props),this.state.model&&this.state.model.setInstanceCount(this.getNumInstances()))}finally{this.context.viewport=t,this.props=e,this.clearChangeFlags(),this.internalState.needsUpdate=!1,this.internalState.resetOldProps()}}},{key:"_finalize",value:function(){Object(b.a)("layer.finalize",this),this.finalizeState(this.context);var e,t=Object(n.a)(this.props.extensions);try{for(t.s();!(e=t.n()).done;){var A=e.value;A.finalizeState.call(this,A)}}catch(r){t.e(r)}finally{t.f()}}},{key:"drawLayer",value:function(e){var t=this,A=e.moduleParameters,r=void 0===A?null:A,i=e.uniforms,o=void 0===i?{}:i,a=e.parameters,s=void 0===a?{}:a;this._updateAttributeTransition();var g=this.props;this.props=this.internalState.propsInTransition||g;var c=this.props.opacity;o.opacity=Math.pow(c,1/2.2);try{r&&this.setModuleParameters(r);var u=this.props.getPolygonOffset,l=u&&u(o)||[0,0];Object(w.n)(this.context.gl,{polygonOffset:l}),Object(w.o)(this.context.gl,s,(function(){var e,A={moduleParameters:r,uniforms:o,parameters:s,context:t.context},i=Object(n.a)(t.props.extensions);try{for(i.s();!(e=i.n()).done;){var a=e.value;a.draw.call(t,A,a)}}catch(g){i.e(g)}finally{i.f()}t.draw(A)}))}finally{this.props=g}}},{key:"getChangeFlags",value:function(){return this.internalState.changeFlags}},{key:"setChangeFlags",value:function(e){var t=this.internalState.changeFlags;for(var A in e)if(e[A]){var n=!1;switch(A){case"dataChanged":Array.isArray(t[A])&&(t[A]=Array.isArray(e[A])?t[A].concat(e[A]):e[A],n=!0);default:t[A]||(t[A]=e[A],n=!0)}n&&Object(b.a)("layer.changeFlag",this,A,e)}var r=t.dataChanged||t.updateTriggersChanged||t.propsChanged||t.extensionsChanged;t.propsOrDataChanged=r,t.somethingChanged=r||e.viewportChanged||e.stateChanged}},{key:"clearChangeFlags",value:function(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}},{key:"diffProps",value:function(e,t){var A=Object(v.b)(e,t);if(A.updateTriggersChanged)for(var n in A.updateTriggersChanged)A.updateTriggersChanged[n]&&this.invalidateAttribute(n);if(A.transitionsChanged)for(var r in A.transitionsChanged)this.internalState.uniformTransitions.add(r,t[r],e[r],e.transitions[r]);return this.setChangeFlags(A)}},{key:"validateProps",value:function(){Object(v.c)(this.props)}},{key:"setModuleParameters",value:function(e){var t,A=Object(n.a)(this.getModels());try{for(A.s();!(t=A.n()).done;){t.value.updateModuleSettings(e)}}catch(r){A.e(r)}finally{A.f()}}},{key:"updateAutoHighlight",value:function(e){this.props.autoHighlight&&this._updateAutoHighlight(e)}},{key:"_updateAutoHighlight",value:function(e){var t={pickingSelectedColor:e.picked?e.color:null},A=this.props.highlightColor;e.picked&&"function"===typeof A&&(t.pickingHighlightColor=A(e)),this.setModuleParameters(t),this.setNeedsRedraw()}},{key:"_updateModules",value:function(e,t){var A=e.props,n=e.oldProps,r=A.autoHighlight,i=A.highlightedObjectIndex,o=A.highlightColor;if(t||n.autoHighlight!==r||n.highlightedObjectIndex!==i||n.highlightColor!==o){var a={};r||(a.pickingSelectedColor=null),Array.isArray(o)&&(a.pickingHighlightColor=o),Number.isInteger(i)&&(a.pickingSelectedColor=i>=0?this.encodePickingColor(i):null),this.setModuleParameters(a)}}},{key:"_getUpdateParams",value:function(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}},{key:"_getNeedsRedraw",value:function(e){if(!this.internalState)return!1;var t=!1;t=t||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!e.clearRedrawFlags;var A=this.getAttributeManager(),n=A&&A.getNeedsRedraw(e);return t=t||n}},{key:"_getAttributeManager",value:function(){return new u.a(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}},{key:"_initState",value:function(){Object(S.a)(!this.internalState&&!this.state),Object(S.a)(isFinite(this.props.coordinateSystem));var e=this._getAttributeManager();e&&e.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new Ie({attributeManager:e,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:function(){return E.a.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),e}}),this.internalState.layer=this,this.internalState.uniformTransitions=new y(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}},{key:"_transferState",value:function(e){Object(b.a)("layer.matched",this,this===e);var t=e.state,A=e.internalState;this!==e&&(this.internalState=A,this.internalState.layer=this,this.state=t,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}},{key:"_onAsyncPropUpdated",value:function(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}},{key:"isLoaded",get:function(){return this.internalState&&!this.internalState.isAsyncPropLoading()}},{key:"wrapLongitude",get:function(){return this.props.wrapLongitude}}]),A}(le);Qe.layerName="Layer",Qe.defaultProps=Ee},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(2),a=A(8),s=A(6),g=A(16),c=A(17),u=A(9),l=A(10),I=A(718),C=A(427),h=A(80),f=function(){function e(t,A){Object(r.a)(this,e),this.opts=A,this.source=t}return Object(i.a)(e,[{key:"getValue",value:function(){var e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];var A=this.source.value,n=t.size,r=A;if(A&&A.length!==n){r=new Float32Array(n);for(var i=t.elementOffset||0,o=0;o<n;++o)r[o]=A[i+o]}return r}},{key:"getAccessor",value:function(){return Object(n.a)({},this.source.getAccessor(),{},this.opts)}},{key:"value",get:function(){return this.source.value}}]),e}();var d=A(150),B=A(84),p=A(41);function E(e){return e.stride||e.size*e.bytesPerElement}function Q(e,t){t.offset&&p.a.removed("shaderAttribute.offset","vertexOffset, elementOffset")();var A=E(e),r=("vertexOffset"in t?t.vertexOffset:e.vertexOffset||0)*A+(t.elementOffset||0)*e.bytesPerElement+(e.offset||0);return Object(n.a)({},t,{offset:r,stride:A})}var y=function(){function e(t,A){Object(r.a)(this,e),this.gl=t,this.id=A.id,this.size=A.size;var n=A.logicalType||A.type,i=5130===n,o=A.defaultValue;o=Number.isFinite(o)?[o]:o||new Array(this.size).fill(0),A.defaultValue=o;var a=n;i?a=5126:!a&&A.isIndexed?a=t&&Object(I.b)(t,C.a.ELEMENT_INDEX_UINT32)?5125:5123:a||(a=5126),A.logicalType=n,A.type=a;var s=function(e){switch(e){case 5126:return Float32Array;case 5130:return Float64Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return Uint8ClampedArray;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Unknown GL type")}}(n||a||5126);this.shaderAttributes={},this.doublePrecision=i,i&&!1===A.fp64&&(s=Float32Array),A.bytesPerElement=s.BYTES_PER_ELEMENT,this.defaultType=s,this.value=null,this.settings=A,this.state={externalBuffer:null,bufferAccessor:A,allocatedValue:null,constant:!1},this._buffer=null,this.setData(A)}return Object(i.a)(e,[{key:"delete",value:function(){this._buffer&&(this._buffer.delete(),this._buffer=null),d.a.release(this.state.allocatedValue)}},{key:"getShaderAttributes",value:function(e,t){if(this.doublePrecision){var A={},r=this.value instanceof Float64Array,i=function(e,t){var A=Q(e,t);return{high:A,low:Object(n.a)({},A,{offset:A.offset+4*e.size})}}(this.getAccessor(),t||{});return A[e]=new f(this,i.high),A["".concat(e,"64Low")]=r?new f(this,i.low):new Float32Array(this.size),A}if(t){var a=Q(this.getAccessor(),t);return Object(o.a)({},e,new f(this,a))}return Object(o.a)({},e,this)}},{key:"getBuffer",value:function(){return this.state.constant?null:this.state.externalBuffer||this._buffer}},{key:"getValue",value:function(){return this.state.constant?this.value:[this.getBuffer(),this.getAccessor()]}},{key:"getAccessor",value:function(){return this.state.bufferAccessor}},{key:"setData",value:function(e){var t=this.state;ArrayBuffer.isView(e)?e={value:e}:e instanceof h.a&&(e={buffer:e});var A=Object(n.a)({},this.settings,{},e);if(t.bufferAccessor=A,e.constant){var r=e.value;if(r=this._normalizeValue(r,[],0),this.settings.normalized&&(r=this._normalizeConstant(r)),!(!t.constant||!this._areValuesEqual(r,this.value)))return!1;t.externalBuffer=null,t.constant=!0,this.value=r}else if(e.buffer){var i=e.buffer;t.externalBuffer=i,t.constant=!1,this.value=e.value;var o=e.value instanceof Float64Array;A.type=e.type||i.accessor.type,A.bytesPerElement=i.accessor.BYTES_PER_ELEMENT*(o?2:1),A.stride=E(A)}else if(e.value){this._checkExternalBuffer(e);var a=e.value;t.externalBuffer=null,t.constant=!1,this.value=a,A.bytesPerElement=a.BYTES_PER_ELEMENT,A.stride=E(A);var s=this.buffer,g=this.byteOffset;this.doublePrecision&&a instanceof Float64Array&&(a=Object(B.f)(a,A));var c=a.byteLength+g+2*A.stride;s.byteLength<c&&s.reallocate(c),s.setAccessor(null),s.subData({data:a,offset:g}),A.type=e.type||s.accessor.type}return!0}},{key:"updateSubBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.value,A=e.startOffset,n=void 0===A?0:A,r=e.endOffset;this.buffer.subData({data:this.doublePrecision&&t instanceof Float64Array?Object(B.f)(t,{size:this.size,startIndex:n,endIndex:r}):t.subarray(n,r),offset:n*t.BYTES_PER_ELEMENT+this.byteOffset})}},{key:"allocate",value:function(e){var t=e.numInstances,A=e.copy,n=void 0!==A&&A,r=this.state,i=r.allocatedValue,o=d.a.allocate(i,t+1,{size:this.size,type:this.defaultType,copy:n});this.value=o;var a=this.buffer,s=this.byteOffset;return a.byteLength<o.byteLength+s&&(a.reallocate(o.byteLength+s),n&&i&&a.subData({data:i instanceof Float64Array?Object(B.f)(i,this):i,offset:s})),r.allocatedValue=o,r.constant=!1,r.externalBuffer=null,r.bufferAccessor=this.settings,!0}},{key:"_checkExternalBuffer",value:function(e){var t=e.value;if(!e.constant&&t){var A=this.defaultType,n=!1;if(this.doublePrecision&&(n=t.BYTES_PER_ELEMENT<4),n)throw new Error("Attribute ".concat(this.id," does not support ").concat(t.constructor.name));t instanceof A||!this.settings.normalized||"normalized"in e||p.a.warn("Attribute ".concat(this.id," is normalized"))()}}},{key:"_normalizeConstant",value:function(e){switch(this.settings.type){case 5120:return new Float32Array(e).map((function(e){return(e+128)/255*2-1}));case 5122:return new Float32Array(e).map((function(e){return(e+32768)/65535*2-1}));case 5121:return new Float32Array(e).map((function(e){return e/255}));case 5123:return new Float32Array(e).map((function(e){return e/65535}));default:return e}}},{key:"_normalizeValue",value:function(e,t,A){var n=this.settings,r=n.defaultValue,i=n.size;if(Number.isFinite(e))return t[A]=e,t;if(!e)return t[A]=r[0],t;switch(i){case 4:t[A+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[A+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[A+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[A+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:for(var o=i;--o>=0;)t[A+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}},{key:"_areValuesEqual",value:function(e,t){if(!e||!t)return!1;for(var A=this.size,n=0;n<A;n++)if(e[n]!==t[n])return!1;return!0}},{key:"buffer",get:function(){if(!this._buffer){var e=this.settings,t=e.isIndexed,A=e.type;this._buffer=new h.a(this.gl,{id:this.id,target:t?34963:34962,accessor:{type:A}})}return this._buffer}},{key:"byteOffset",get:function(){var e=this.getAccessor();return e.vertexOffset?e.vertexOffset*E(e):0}}]),e}(),v=A(87),m=A(116),b=A(147),w=[],S=[[0,1/0]];function F(e,t){if(e===S)return e;if(t[0]<0&&(t[0]=0),t[0]>=t[1])return e;for(var A=[],n=e.length,r=0,i=0;i<n;i++){var o=e[i];o[1]<t[0]?(A.push(o),r=i+1):o[0]>t[1]?A.push(o):t=[Math.min(o[0],t[0]),Math.max(o[1],t[1])]}return A.splice(r,0,t),A}var R=A(104),D=function(e){Object(u.a)(A,e);var t=Object(l.a)(A);function A(e){var n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(r.a)(this,A),n=t.call(this,e,i);var o=i.transition,a=void 0!==o&&o,s=i.noAlloc,g=void 0!==s&&s,c=i.update,u=void 0===c?null:c,l=i.accessor,I=void 0===l?null:l,C=i.transform,h=void 0===C?null:C,f=i.startIndices,d=void 0===f?null:f;return Object.assign(n.settings,{transition:a,noAlloc:g,update:u||I&&n._autoUpdater,accessor:I,transform:h}),Object.assign(n.state,{lastExternalBuffer:null,binaryValue:null,binaryAccessor:null,needsUpdate:!0,needsRedraw:!1,updateRanges:S,startIndices:d}),Object.seal(n.settings),Object.seal(n.state),n._validateAttributeUpdaters(),n}return Object(i.a)(A,[{key:"needsUpdate",value:function(){return this.state.needsUpdate}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearChangedFlags,A=void 0!==t&&t,n=this.state.needsRedraw;return this.state.needsRedraw=n&&!A,n}},{key:"getUpdateTriggers",value:function(){var e=this.settings.accessor;return[this.id].concat("function"!==typeof e&&e||[])}},{key:"supportsTransition",value:function(){return Boolean(this.settings.transition)}},{key:"getTransitionSetting",value:function(e){if(!e||!this.supportsTransition())return null;var t=this.settings.accessor,A=this.settings.transition,n=Array.isArray(t)?e[t.find((function(t){return e[t]}))]:e[t];return Object(R.e)(n,A)}},{key:"setNeedsUpdate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id,t=arguments.length>1?arguments[1]:void 0;if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){var A=t.startRow,n=void 0===A?0:A,r=t.endRow,i=void 0===r?1/0:r;this.state.updateRanges=F(this.state.updateRanges,[n,i])}else this.state.updateRanges=S}},{key:"clearNeedsUpdate",value:function(){this.state.needsUpdate=!1,this.state.updateRanges=w}},{key:"setNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id;this.state.needsRedraw=this.state.needsRedraw||e}},{key:"update",value:function(e){this.setData(e)}},{key:"allocate",value:function(e){var t=this.state,n=this.settings;return!n.noAlloc&&(!!n.update&&(Object(c.a)(Object(g.a)(A.prototype),"allocate",this).call(this,{numInstances:e,copy:t.updateRanges!==S}),!0))}},{key:"updateBuffer",value:function(e){var t=e.numInstances,n=e.data,r=e.props,i=e.context;if(!this.needsUpdate())return!1;var o=this.state.updateRanges,u=this.settings,l=u.update,I=u.noAlloc,C=!0;if(l){var h,f=Object(s.a)(o);try{for(f.s();!(h=f.n()).done;){var d=Object(a.a)(h.value,2),B=d[0],p=d[1];l.call(i,this,{data:n,startRow:B,endRow:p,props:r,numInstances:t})}}catch(S){f.e(S)}finally{f.f()}if(this.value)if(this.constant||this.buffer.byteLength<this.value.byteLength+this.byteOffset)this.setData({value:this.value,constant:this.constant}),this.constant=!1;else{var E,Q=Object(s.a)(o);try{for(Q.s();!(E=Q.n()).done;){var y=Object(a.a)(E.value,2),v=y[0],m=y[1],b=Number.isFinite(v)?this.getVertexOffset(v):0,w=Number.isFinite(m)?this.getVertexOffset(m):I||!Number.isFinite(t)?this.value.length:t*this.size;Object(c.a)(Object(g.a)(A.prototype),"updateSubBuffer",this).call(this,{startOffset:b,endOffset:w})}}catch(S){Q.e(S)}finally{Q.f()}}else;this._checkAttributeArray()}else C=!1;return this.clearNeedsUpdate(),this.setNeedsRedraw(),C}},{key:"setConstantValue",value:function(e){return void 0!==e&&"function"!==typeof e&&(this.setData({constant:!0,value:e})&&this.setNeedsRedraw(),this.clearNeedsUpdate(),!0)}},{key:"setExternalBuffer",value:function(e){var t=this.state;return e?(this.clearNeedsUpdate(),t.lastExternalBuffer===e||(t.lastExternalBuffer=e,this.setNeedsRedraw(),this.setData(e)),!0):(t.lastExternalBuffer=null,!1)}},{key:"setBinaryValue",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,A=this.state,n=this.settings;if(!e)return A.binaryValue=null,A.binaryAccessor=null,!1;if(n.noAlloc)return!1;if(A.binaryValue===e)return this.clearNeedsUpdate(),!0;A.binaryValue=e,this.setNeedsRedraw(),ArrayBuffer.isView(e)&&(e={value:e});var r=n.transform||t!==this.startIndices;if(r){Object(v.a)(ArrayBuffer.isView(e.value),"invalid ".concat(n.accessor));var i=e.size&&e.size!==this.size;return A.binaryAccessor=Object(m.b)(e.value,{size:e.size||this.size,stride:e.stride,offset:e.offset,startIndices:t,nested:i}),!1}return this.clearNeedsUpdate(),this.setData(e),!0}},{key:"getVertexOffset",value:function(e){var t=this.startIndices;return(t?t[e]:e)*this.size}},{key:"getShaderAttributes",value:function(){var e=this.settings.shaderAttributes||Object(o.a)({},this.id,null),t={};for(var n in e)Object.assign(t,Object(c.a)(Object(g.a)(A.prototype),"getShaderAttributes",this).call(this,n,e[n]));return t}},{key:"_autoUpdater",value:function(e,t){var A=t.data,n=t.startRow,r=t.endRow,i=t.props,o=t.numInstances;if(!e.constant){var a=e.settings,g=e.state,c=e.value,u=e.size,l=e.startIndices,I=a.accessor,C=a.transform,h=g.binaryAccessor||("function"===typeof I?I:i[I]);Object(v.a)("function"===typeof h,'accessor "'.concat(I,'" is not a function'));var f,d=e.getVertexOffset(n),B=Object(m.a)(A,n,r),p=B.iterable,E=B.objectInfo,Q=Object(s.a)(p);try{for(Q.s();!(f=Q.n()).done;){var y=f.value;E.index++;var w=h(y,E);if(C&&(w=C.call(this,w)),l){var S=(E.index<l.length-1?l[E.index+1]:o)-l[E.index];if(w&&Array.isArray(w[0])){var F,R=d,D=Object(s.a)(w);try{for(D.s();!(F=D.n()).done;){var G=F.value;e._normalizeValue(G,c,R),R+=u}}catch(k){D.e(k)}finally{D.f()}}else w&&w.length>u?c.set(w,d):(e._normalizeValue(w,E.target,0),Object(b.a)({target:c,source:E.target,start:d,count:S}));d+=S*u}else e._normalizeValue(w,c,d),d+=u}}catch(k){Q.e(k)}finally{Q.f()}}}},{key:"_validateAttributeUpdaters",value:function(){var e=this.settings;if(!(e.noAlloc||"function"===typeof e.update))throw new Error("Attribute ".concat(this.id," missing update or accessor"))}},{key:"_checkAttributeArray",value:function(){var e=this.value,t=Math.min(4,this.size);if(e&&e.length>=t){var A=!0;switch(t){case 4:A=A&&Number.isFinite(e[3]);case 3:A=A&&Number.isFinite(e[2]);case 2:A=A&&Number.isFinite(e[1]);case 1:A=A&&Number.isFinite(e[0]);break;default:A=!1}if(!A)throw new Error("Illegal attribute generated for ".concat(this.id))}}},{key:"startIndices",get:function(){return this.state.startIndices},set:function(e){this.state.startIndices=e}}]),A}(y),G=A(77),k=A(1289),x=A(162),N=function(){function e(t){var A=t.gl,n=t.attribute,i=t.timeline;Object(r.a)(this,e),this.gl=A,this.type="interpolation",this.transition=new x.a(i),this.attribute=n,this.attributeInTransition=new D(A,n.settings),this.currentStartIndices=n.startIndices,this.currentLength=0,this.transform=function(e,t){var A=Object(R.c)(t.size);return new k.a(e,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:A},varyings:["vCurrent"]})}(A,n);var o={byteLength:0,usage:35050};this.buffers=[new h.a(A,o),new h.a(A,o)]}return Object(i.a)(e,[{key:"start",value:function(e,t){if(e.duration<=0)this.transition.cancel();else{var A=this.gl,r=this.buffers,i=this.attribute;Object(R.a)(r);var o,a={numInstances:t,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter},g=Object(s.a)(r);try{for(g.s();!(o=g.n()).done;){var c=o.value;Object(R.f)(Object(n.a)({buffer:c},a))}}catch(u){g.e(u)}finally{g.f()}this.currentStartIndices=i.startIndices,this.currentLength=Object(R.b)(i,t),this.attributeInTransition.update({buffer:r[1],value:i.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aFrom:r[0],aTo:Object(R.d)(A,i)},feedbackBuffers:{vCurrent:r[1]}})}}},{key:"update",value:function(){var e=this.transition.update();if(e){var t=this.transition,A=t.time,n=t.settings,r=n.duration,i=(0,n.easing)(A/r);this.transform.run({uniforms:{time:i}})}return e}},{key:"cancel",value:function(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},{key:"inProgress",get:function(){return this.transition.inProgress}}]),e}();var U=A(530),_=A(232),M=A(161);var O={interpolation:N,spring:function(){function e(t){var A=t.gl,i=t.attribute,a=t.timeline;Object(r.a)(this,e),this.gl=A,this.type="spring",this.transition=new x.a(a),this.attribute=i,this.attributeInTransition=new D(A,Object(n.a)({},i.settings,{normalized:!1})),this.currentStartIndices=i.startIndices,this.currentLength=0,this.texture=function(e){return new _.a(e,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(A),this.framebuffer=function(e,t){return new M.a(e,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:Object(o.a)({},36064,t)})}(A,this.texture),this.transform=function(e,t,A){var n=Object(R.c)(t.size);return new k.a(e,{framebuffer:A,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:n},varyings:["vNext"]})}(A,i,this.framebuffer);var s={byteLength:0,usage:35050};this.buffers=[new h.a(A,s),new h.a(A,s),new h.a(A,s)]}return Object(i.a)(e,[{key:"start",value:function(e,t){var A,r=this.gl,i=this.buffers,o=this.attribute,a={numInstances:t,attribute:o,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter},g=Object(s.a)(i);try{for(g.s();!(A=g.n()).done;){var c=A.value;Object(R.f)(Object(n.a)({buffer:c},a))}}catch(u){g.e(u)}finally{g.f()}this.currentStartIndices=o.startIndices,this.currentLength=Object(R.b)(o,t),this.attributeInTransition.update({buffer:i[1],value:o.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/o.size),sourceBuffers:{aTo:Object(R.d)(r,o)}})}},{key:"update",value:function(){var e=this.buffers,t=this.transform,A=this.framebuffer,n=this.transition;return!!n.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:A,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:n.settings.stiffness,damping:n.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),Object(R.a)(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),Object(U.c)(A)[0]>0||n.end(),!0)}},{key:"cancel",value:function(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}},{key:"inProgress",get:function(){return this.transition.inProgress}}]),e}()},L=function(){function e(t,A){var n=A.id,i=A.timeline;Object(r.a)(this,e),this.id=n,this.gl=t,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=k.a.isSupported(t)}return Object(i.a)(e,[{key:"finalize",value:function(){for(var e in this.transitions)this._removeTransition(e)}},{key:"update",value:function(e){var t=e.attributes,A=e.transitions,n=e.numInstances;for(var r in this.numInstances=n||1,t){var i=t[r],o=i.getTransitionSetting(A);o&&this._updateAttribute(r,i,o)}for(var a in this.transitions){var s=t[a];s&&s.getTransitionSetting(A)||this._removeTransition(a)}}},{key:"hasAttribute",value:function(e){var t=this.transitions[e];return t&&t.inProgress}},{key:"getAttributes",value:function(){var e={};for(var t in this.transitions){var A=this.transitions[t];A.inProgress&&(e[t]=A.attributeInTransition)}return e}},{key:"run",value:function(){if(!this.isSupported||0===this.numInstances)return!1;for(var e in this.transitions){this.transitions[e].update()&&(this.needsRedraw=!0)}var t=this.needsRedraw;return this.needsRedraw=!1,t}},{key:"_removeTransition",value:function(e){this.transitions[e].cancel(),delete this.transitions[e]}},{key:"_updateAttribute",value:function(e,t,A){var n=this.transitions[e],r=!n||n.type!==A.type;if(r){if(!this.isSupported)return void p.a.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();n&&this._removeTransition(e);var i=O[A.type];i?this.transitions[e]=new i({attribute:t,timeline:this.timeline,gl:this.gl}):(p.a.error("unsupported transition type '".concat(A.type,"'"))(),r=!1)}(r||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(A,this.numInstances))}}]),e}();A.d(t,"a",(function(){return T}));var T=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=A.id,i=void 0===n?"attribute-manager":n,o=A.stats,a=A.timeline;Object(r.a)(this,e),this.id=i,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=o,this.attributeTransitionManager=new L(t,{id:"".concat(i,"-transitions"),timeline:a}),Object.seal(this)}return Object(i.a)(e,[{key:"finalize",value:function(){for(var e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}},{key:"setNeedsRedraw",value:function(){!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.needsRedraw=!0,this}},{key:"add",value:function(e,t){this._add(e,t)}},{key:"addInstanced",value:function(e,t){this._add(e,t,{instanced:1})}},{key:"remove",value:function(e){for(var t=0;t<e.length;t++){var A=e[t];void 0!==this.attributes[A]&&(this.attributes[A].delete(),delete this.attributes[A])}}},{key:"invalidate",value:function(e,t){var A=this._invalidateTrigger(e,t);Object(G.a)("attributeManager.invalidate",this,e,A)}},{key:"invalidateAll",value:function(e){for(var t in this.attributes)this.attributes[t].setNeedsUpdate(t,e);Object(G.a)("attributeManager.invalidate",this,"all")}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.data,A=e.numInstances,n=e.startIndices,r=void 0===n?null:n,i=e.transitions,o=e.props,a=void 0===o?{}:o,s=e.buffers,g=void 0===s?{}:s,c=e.context,u=void 0===c?{}:c,l=!1;for(var I in Object(G.a)("attributeManager.updateStart",this),this.stats&&this.stats.get("Update Attributes").timeStart(),this.attributes){var C=this.attributes[I],h=C.settings.accessor;C.startIndices=r,a[I]&&p.a.removed("props.".concat(I),"data.attributes.".concat(I))(),C.setExternalBuffer(g[I])||C.setBinaryValue(g[h],t.startIndices)||!g[h]&&C.setConstantValue(a[h])||C.needsUpdate()&&(l=!0,this._updateAttribute({attribute:C,numInstances:A,data:t,props:a,context:u})),this.needsRedraw|=C.needsRedraw()}l&&Object(G.a)("attributeManager.updateEnd",this,A),this.stats&&this.stats.get("Update Attributes").timeEnd(),this.attributeTransitionManager.update({attributes:this.attributes,numInstances:A,transitions:i})}},{key:"updateTransition",value:function(){var e=this.attributeTransitionManager.run();return this.needsRedraw=this.needsRedraw||e,e}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getChangedAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearChangedFlags:!1},t=this.attributes,A=this.attributeTransitionManager,r=Object(n.a)({},A.getAttributes());for(var i in t){var o=t[i];o.needsRedraw(e)&&!A.hasAttribute(i)&&(r[i]=o)}return r}},{key:"getShaderAttributes",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e||(e=this.getAttributes());var A={};for(var n in e)t[n]||Object.assign(A,e[n].getShaderAttributes());return A}},{key:"getAccessors",value:function(){return this.updateTriggers}},{key:"_add",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(var n in t&&p.a.warn("AttributeManager.add({updaters}) - updater map no longer supported")(),e){var r=e[n];this.attributes[n]=this._createAttribute(n,r,A)}this._mapUpdateTriggersToAttributes()}},{key:"_createAttribute",value:function(e,t,A){var r=Object(n.a)({},t,{id:e,isIndexed:t.isIndexed||t.elements||!1,constant:t.constant||!1,size:(t.elements?1:t.size)||1,value:t.value||null,divisor:t.instanced||A.instanced?1:t.divisor||0});return new D(this.gl,r)}},{key:"_mapUpdateTriggersToAttributes",value:function(){var e=this,t={},A=function(A){e.attributes[A].getUpdateTriggers().forEach((function(e){t[e]||(t[e]=[]),t[e].push(A)}))};for(var n in this.attributes)A(n);this.updateTriggers=t}},{key:"_invalidateTrigger",value:function(e,t){var A=this.attributes,n=this.updateTriggers[e];return n&&n.forEach((function(e){var n=A[e];n&&n.setNeedsUpdate(n.id,t)})),n}},{key:"_updateAttribute",value:function(e){var t=e.attribute,A=e.numInstances;(Object(G.a)("attribute.updateStart",t),t.constant)?t.setConstantValue(t.value):(t.allocate(A)&&Object(G.a)("attribute.allocate",t,A),t.updateBuffer(e)&&(this.needsRedraw=!0,Object(G.a)("attribute.updateEnd",t,A)))}}]),e}()},function(e,t,A){"use strict";var n=A(8),r=A(6),i=A(7),o=A(1),a=A(4),s=A(9),g=A(10),c=A(116),u=A(511),l=A(391),I=A(667),C=A.n(I),h=A(41),f=[];function d(e,t,A,n){for(var r=0,i=t;i<A;i++){var o=e[i],a=null,s=n&&n[o];s&&(a=s.width),r+=a}return r}function B(e,t,A,n,r,i){for(var o=t,a=0,s=t;s<A;s++){var g=d(e,s,s+1,r);a+g>n&&(o<s&&i.push(s),o=s,a=0),a+=g}return a}function p(e,t,A,n,r,i){for(var o=t,a=t,s=t,g=0,c=t;c<A;c++)if(" "===e[c]?s=c+1:" "!==e[c+1]&&c+1!==A||(s=c+1),s>a){var u=d(e,a,s,r);g+u>n&&(o<a&&(i.push(a),o=a,g=0),u>n&&(u=B(e,a,s,n,r,i),o=i[i.length-1])),a=s,g+=u}return g}function E(e,t,A,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,i=arguments.length>5?arguments[5]:void 0;void 0===i&&(i=e.length);var o=[];return"break-all"===t?B(e,r,i,A,n,o):p(e,r,i,A,n,o),o}function Q(e,t,A,n,r,i){for(var o=0,a=0,s=t;s<A;s++){var g=e[s],c=n[g];c?(a||(a=c.height),r[s]=o+c.width/2,o+=c.width):(h.a.warn("Missing character: ".concat(g," (").concat(g.codePointAt(0),")"))(),r[s]=o,o+=32)}i[0]=o,i[1]=a}function y(e,t,A,n,r){for(var i=(e=Array.from(e)).length,o=new Array(i),a=new Array(i),s=new Array(i),g=("break-word"===A||"break-all"===A)&&isFinite(n)&&n>0,c=[0,0],u=[],l=0,I=0,C=0,h=0;h<=i;h++){var d=e[h];if("\n"!==d&&h!==i||(C=h),C>I){for(var B=g?E(e,A,n,r,I,C):f,p=0;p<=B.length;p++){var y=0===p?I:B[p-1],v=p<B.length?B[p]:C;Q(e,y,v,r,o,u);for(var m=y;m<v;m++)a[m]=l+u[1]/2,s[m]=u[0];l+=u[1]*t,c[0]=Math.max(c[0],u[0])}I=C}"\n"===d&&(o[I]=0,a[I]=0,s[I]=0,I++)}return c[1]=l,{x:o,y:a,rowWidth:s,size:c}}var v=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5;Object(o.a)(this,e),this.limit=t,this.clear()}return Object(a.a)(e,[{key:"clear",value:function(){this._cache={},this._order=[]}},{key:"get",value:function(e){var t=this._cache[e];return t&&(this._deleteOrder(e),this._appendOrder(e)),t}},{key:"set",value:function(e,t){this._cache[e]?(this.delete(e),this._cache[e]=t,this._appendOrder(e)):(Object.keys(this._cache).length===this.limit&&this.delete(this._order[0]),this._cache[e]=t,this._appendOrder(e))}},{key:"delete",value:function(e){this._cache[e]&&(this._deleteCache(e),this._deleteOrder(e))}},{key:"_deleteCache",value:function(e){delete this._cache[e]}},{key:"_deleteOrder",value:function(e){var t=this._order.findIndex((function(t){return t===e}));t>=0&&this._order.splice(t,1)}},{key:"_appendOrder",value:function(e){this._order.push(e)}}]),e}();var m=function(){for(var e=[],t=32;t<128;t++)e.push(String.fromCharCode(t));return e}(),b=new v(3),w=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function S(e,t){var A=b.get(e);if(!A)return t;var n=[],r=A.mapping,i=Object.keys(r);i=new Set(i);var o=t;return o instanceof Array&&(o=new Set(o)),o.forEach((function(e){i.has(e)||n.push(e)})),n}function F(e,t){for(var A=0;A<e.length;A++)t.data[4*A+3]=e[A]}function R(e,t,A,n){e.font="".concat(n," ").concat(A,"px ").concat(t),e.fillStyle="#000",e.textBaseline="baseline",e.textAlign="left"}var D=function(){function e(){Object(o.a)(this,e),this.props={fontFamily:"Monaco, monospace",fontWeight:"normal",characterSet:m,fontSize:64,buffer:4,sdf:!1,cutoff:.25,radius:12},this._key=null,this._atlas=null}return Object(a.a)(e,[{key:"setProps",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};w.forEach((function(A){A in t&&(e.props[A]=t[A])}));var A=this._key;this._key=this._getKey();var n=S(this._key,this.props.characterSet),r=b.get(this._key);if(r&&0===n.length)this._key!==A&&(this._atlas=r);else{var i=this._generateFontAtlas(this._key,n,r);this._atlas=i,b.set(this._key,i)}}},{key:"_generateFontAtlas",value:function(e,t,A){var n=this.props,o=n.fontFamily,a=n.fontWeight,s=n.fontSize,g=n.buffer,c=n.sdf,u=n.radius,l=n.cutoff,I=A&&A.data;I||((I=document.createElement("canvas")).width=1024);var h=I.getContext("2d");R(h,o,s,a);var f=function(e){var t,A=e.characterSet,n=e.getFontWidth,i=e.fontHeight,o=e.buffer,a=e.maxCanvasWidth,s=e.mapping,g=void 0===s?{}:s,c=e.xOffset,u=void 0===c?0:c,l=e.yOffset,I=void 0===l?0:l,C=0,h=u,f=0,d=Object(r.a)(A);try{for(d.s();!(t=d.n()).done;){var B=t.value;if(!g[B]){var p=n(B,f++);h+p+2*o>a&&(h=0,C++),g[B]={x:h+o,y:I+C*(i+2*o)+o,width:p,height:i},h+=p+2*o}}}catch(y){d.e(y)}finally{d.f()}var E,Q=i+2*o;return{mapping:g,xOffset:h,yOffset:I+C*Q,canvasHeight:(E=I+(C+1)*Q,Math.pow(2,Math.ceil(Math.log2(E))))}}(Object(i.a)({getFontWidth:function(e){return h.measureText(e).width},fontHeight:1.2*s,buffer:g,characterSet:t,maxCanvasWidth:1024},A&&{mapping:A.mapping,xOffset:A.xOffset,yOffset:A.yOffset})),d=f.mapping,B=f.canvasHeight,p=f.xOffset,E=f.yOffset;if(I.height!==B){var Q=h.getImageData(0,0,I.width,I.height);I.height=B,h.putImageData(Q,0,0)}if(R(h,o,s,a),c){var y,v=new C.a(s,g,u,l,o,a),m=h.getImageData(0,0,v.size,v.size),b=Object(r.a)(t);try{for(b.s();!(y=b.n()).done;){var w=y.value;F(v.draw(w),m),h.putImageData(m,d[w].x-g,d[w].y+g)}}catch(k){b.e(k)}finally{b.f()}}else{var S,D=Object(r.a)(t);try{for(D.s();!(S=D.n()).done;){var G=S.value;h.fillText(G,d[G].x,d[G].y+.9*s)}}catch(k){D.e(k)}finally{D.f()}}return{xOffset:p,yOffset:E,mapping:d,data:I,width:I.width,height:I.height}}},{key:"_getKey",value:function(){var e=this.props,t=e.fontFamily,A=e.fontWeight,n=e.fontSize,r=e.buffer,i=e.sdf,o=e.radius,a=e.cutoff;return i?"".concat(t," ").concat(A," ").concat(n," ").concat(r," ").concat(o," ").concat(a):"".concat(t," ").concat(A," ").concat(n," ").concat(r)}},{key:"texture",get:function(){return this._atlas}},{key:"mapping",get:function(){return this._atlas&&this._atlas.mapping}},{key:"scale",get:function(){return 1.2}}]),e}(),G=A(389);A.d(t,"a",(function(){return O}));var k={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},x={start:1,middle:0,end:-1},N={top:1,center:0,bottom:-1},U=[0,0,0,255],_=["fontSize","buffer","sdf","radius","cutoff"],M={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:U},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:m},fontFamily:"Monaco, monospace",fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:U},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:function(e){return e.text}},getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:U},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}},O=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(o.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"initializeState",value:function(){this.state={styleVersion:0,fontAtlasManager:new D}}},{key:"updateState",value:function(e){var t=e.props,A=e.oldProps,n=e.changeFlags,r=n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getText),i=this.state.characterSet;r&&this._updateText();var o=i!==this.state.characterSet||this._fontChanged(A,t);o&&this._updateFontAtlas(A,t),(o||t.lineHeight!==A.lineHeight||t.wordBreak!==A.wordBreak||t.maxWidth!==A.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}},{key:"getPickingInfo",value:function(e){var t=e.info;return t.object=t.index>=0?this.props.data[t.index]:null,t}},{key:"_updateFontAtlas",value:function(e,t){var A=t.fontSettings,n=t.fontFamily,r=t.fontWeight,o=this.state,a=o.fontAtlasManager,s=o.characterSet;a.setProps(Object(i.a)({},k,{},A,{characterSet:s,fontFamily:n,fontWeight:r}))}},{key:"_fontChanged",value:function(e,t){if(e.fontFamily!==t.fontFamily||e.fontWeight!==t.fontWeight)return!0;if(e.fontSettings===t.fontSettings)return!1;var A=e.fontSettings||{},n=t.fontSettings||{};return _.some((function(e){return A[e]!==n[e]}))}},{key:"_updateText",value:function(){var e,t=this.props,A=t.data,n=t.characterSet,o=A.attributes&&A.attributes.getText,a=this.props.getText,s=A.startIndices,g="auto"===n&&new Set;if(o&&s){var u=function(e){var t=e.value,A=e.length,n=e.stride,i=e.offset,o=e.startIndices,a=e.characterSet,s=t.BYTES_PER_ELEMENT,g=n?n/s:1,c=i?i/s:0,u=o[A]||Math.ceil((t.length-c)/g),l=a&&new Set,I=new Array(A),C=t;if(g>1||c>0){C=new t.constructor(u);for(var h=0;h<u;h++)C[h]=t[h*g+c]}for(var f=0;f<A;f++){var d=o[f],B=o[f+1]||u,p=C.subarray(d,B);I[f]=String.fromCodePoint.apply(null,p),l&&p.forEach(l.add,l)}if(l){var E,Q=Object(r.a)(l);try{for(Q.s();!(E=Q.n()).done;){var y=E.value;a.add(String.fromCodePoint(y))}}catch(v){Q.e(v)}finally{Q.f()}}return{texts:I,characterCount:u}}(Object(i.a)({},ArrayBuffer.isView(o)?{value:o}:o,{length:A.length,startIndices:s,characterSet:g})),l=u.texts;e=u.characterCount,a=function(e,t){var A=t.index;return l[A]}}else{var I=Object(c.a)(A),C=I.iterable,h=I.objectInfo;s=[0],e=0;var f,d=Object(r.a)(C);try{for(d.s();!(f=d.n()).done;){var B=f.value;h.index++;var p=Array.from(a(B,h)||"");g&&p.forEach(g.add,g),e+=p.length,s.push(e)}}catch(E){d.e(E)}finally{d.f()}}this.setState({getText:a,startIndices:s,numInstances:e,characterSet:g||n})}},{key:"getBoundingRect",value:function(e,t){var A=this.state.fontAtlasManager.mapping,r=this.state.getText,i=this.props,o=i.wordBreak,a=i.maxWidth,s=i.lineHeight,g=i.getTextAnchor,c=i.getAlignmentBaseline,u=y(r(e,t)||"",s,o,a,A),l=Object(n.a)(u.size,2),I=l[0],C=l[1];return[(x["function"===typeof g?g(e,t):g]-1)*I/2,(N["function"===typeof c?c(e,t):c]-1)*C/2,I,C]}},{key:"getIconOffsets",value:function(e,t){for(var A=this.state.fontAtlasManager.mapping,r=this.state.getText,i=this.props,o=i.wordBreak,a=i.maxWidth,s=i.lineHeight,g=i.getTextAnchor,c=i.getAlignmentBaseline,u=y(r(e,t)||"",s,o,a,A),l=u.x,I=u.y,C=u.rowWidth,h=Object(n.a)(u.size,2),f=h[0],d=h[1],B=x["function"===typeof g?g(e,t):g],p=N["function"===typeof c?c(e,t):c],E=l.length,Q=new Array(2*E),v=0,m=0;m<E;m++){var b=(1-B)*(f-C[m])/2;Q[v++]=(B-1)*f/2+b+l[m],Q[v++]=(p-1)*d/2+I[m]}return Q}},{key:"renderLayers",value:function(){var e=this.state,t=e.startIndices,A=e.numInstances,n=e.getText,r=e.fontAtlasManager,i=r.scale,o=r.texture,a=r.mapping,s=e.styleVersion,g=this.props,c=g.data,u=g._dataDiff,I=g.getPosition,C=g.getColor,h=g.getSize,f=g.getAngle,d=g.getPixelOffset,B=g.getBackgroundColor,p=g.getBorderColor,E=g.getBorderWidth,Q=g.backgroundPadding,y=g.background,v=g.billboard,m=g.fontSettings,b=g.outlineWidth,w=g.outlineColor,S=g.sizeScale,F=g.sizeUnits,R=g.sizeMinPixels,D=g.sizeMaxPixels,x=g.transitions,N=g.updateTriggers,U=this.getSubLayerClass("characters",l.a),_=this.getSubLayerClass("background",G.a);return[y&&new _({getFillColor:B,getLineColor:p,getLineWidth:E,padding:Q,getPosition:I,getSize:h,getAngle:f,getPixelOffset:d,billboard:v,sizeScale:S/this.state.fontAtlasManager.props.fontSize,sizeUnits:F,sizeMinPixels:R,sizeMaxPixels:D,transitions:x&&{getPosition:x.getPosition,getAngle:x.getAngle,getSize:x.getSize,getFillColor:x.getBackgroundColor,getLineColor:x.getBorderColor,getLineWidth:x.getBorderWidth,getPixelOffset:x.getPixelOffset}},this.getSubLayerProps({id:"background",updateTriggers:{getPosition:N.getPosition,getAngle:N.getAngle,getSize:N.getSize,getFillColor:N.getBackgroundColor,getLineColor:N.getBorderColor,getLineWidth:N.getBorderWidth,getPixelOffset:N.getPixelOffset,getBoundingRect:{getText:N.getText,getTextAnchor:N.getTextAnchor,getAlignmentBaseline:N.getAlignmentBaseline,styleVersion:s}}}),{data:c.attributes?{length:c.length,attributes:c.attributes.background||{}}:c,_dataDiff:u,autoHighlight:!1,getBoundingRect:this.getBoundingRect.bind(this)}),new U({sdf:m.sdf,smoothing:Number.isFinite(m.smoothing)?m.smoothing:k.smoothing,outlineWidth:b,outlineColor:w,iconAtlas:o,iconMapping:a,getPosition:I,getColor:C,getSize:h,getAngle:f,getPixelOffset:d,billboard:v,sizeScale:S*i,sizeUnits:F,sizeMinPixels:R*i,sizeMaxPixels:D*i,transitions:x&&{getPosition:x.getPosition,getAngle:x.getAngle,getColor:x.getColor,getSize:x.getSize,getPixelOffset:x.getPixelOffset}},this.getSubLayerProps({id:"characters",updateTriggers:{getIcon:N.getText,getPosition:N.getPosition,getAngle:N.getAngle,getColor:N.getColor,getSize:N.getSize,getPixelOffset:N.getPixelOffset,getIconOffsets:{getText:N.getText,getTextAnchor:N.getTextAnchor,getAlignmentBaseline:N.getAlignmentBaseline,styleVersion:s}}}),{data:c,_dataDiff:u,startIndices:t,numInstances:A,getIconOffsets:this.getIconOffsets.bind(this),getIcon:n})]}}]),A}(u.a);O.layerName="TextLayer",O.defaultProps=M},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(16),a=A(17),s=A(9),g=A(10),c=A(575),u=A(655),l=A(576),I=A(36),C=A(384),h=A(422),f=A(41),d=A(108),B=A(135),p=A(89),E=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(r.a)(this,A);var i=e.id,o=void 0===i?Object(d.c)("column-geometry"):i,a=Q(e),s=a.indices,g=a.attributes;return t.call(this,Object(n.a)({},e,{id:o,indices:s,attributes:g}))}return A}(B.a);function Q(e){var t=e.radius,A=e.height,n=void 0===A?1:A,r=e.nradial,i=void 0===r?10:r,o=e.vertices;o&&(f.a.assert(o.length>=i),o=o.flatMap((function(e){return[e[0],e[1]]})),Object(p.h)(o,p.a.COUNTER_CLOCKWISE));var a=n>0,s=i+1,g=a?3*s+1:i,c=2*Math.PI/i,u=new Uint16Array(a?3*i*2:0),l=new Float32Array(3*g),I=new Float32Array(3*g),C=0;if(a){for(var h=0;h<s;h++)for(var d=h*c,B=h%i,E=Math.sin(d),Q=Math.cos(d),y=0;y<2;y++)l[C+0]=o?o[2*B]:Q*t,l[C+1]=o?o[2*B+1]:E*t,l[C+2]=(.5-y)*n,I[C+0]=o?o[2*B]:Q,I[C+1]=o?o[2*B+1]:E,C+=3;l[C+0]=l[C-3],l[C+1]=l[C-2],l[C+2]=l[C-1],C+=3}for(var v=a?0:1;v<s;v++){var m=Math.floor(v/2)*Math.sign(.5-v%2),b=m*c,w=(m+i)%i,S=Math.sin(b),F=Math.cos(b);l[C+0]=o?o[2*w]:F*t,l[C+1]=o?o[2*w+1]:S*t,l[C+2]=n/2,I[C+2]=1,C+=3}if(a)for(var R=0,D=0;D<i;D++)u[R++]=2*D+0,u[R++]=2*D+2,u[R++]=2*D+0,u[R++]=2*D+1,u[R++]=2*D+1,u[R++]=2*D+3;return{indices:u,attributes:{POSITION:{size:3,value:l},NORMAL:{size:3,value:I}}}}A.d(t,"a",(function(){return m}));var y=[0,0,0,255],v={diskResolution:{type:"number",min:4,value:20},vertices:null,radius:{type:"number",min:0,value:1e3},angle:{type:"number",value:0},offset:{type:"array",value:[0,0]},coverage:{type:"number",min:0,max:1,value:1},elevationScale:{type:"number",min:0,value:1},radiusUnits:"meters",lineWidthUnits:"meters",lineWidthScale:1,lineWidthMinPixels:0,lineWidthMaxPixels:Number.MAX_SAFE_INTEGER,extruded:!0,wireframe:!1,filled:!0,stroked:!1,getPosition:{type:"accessor",value:function(e){return e.position}},getFillColor:{type:"accessor",value:y},getLineColor:{type:"accessor",value:y},getLineWidth:{type:"accessor",value:1},getElevation:{type:"accessor",value:1e3},material:!0,getColor:{deprecatedFor:["getFillColor","getLineColor"]}},m=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"getShaders",value:function(){return Object(a.a)(Object(o.a)(A.prototype),"getShaders",this).call(this,{vs:"\n#define SHADER_NAME column-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 normals;\n\nattribute vec3 instancePositions;\nattribute float instanceElevations;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute float instanceStrokeWidths;\n\nattribute vec3 instancePickingColors;\nuniform float opacity;\nuniform float radius;\nuniform float angle;\nuniform vec2 offset;\nuniform bool extruded;\nuniform bool isStroke;\nuniform float coverage;\nuniform float elevationScale;\nuniform float edgeDistance;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform int radiusUnits;\nuniform int widthUnits;\nvarying vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n\n vec4 color = isStroke ? instanceLineColors : instanceFillColors;\n mat2 rotationMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\n float elevation = 0.0;\n float strokeOffsetRatio = 1.0;\n\n if (extruded) {\n elevation = instanceElevations * (positions.z + 1.0) / 2.0 * elevationScale;\n } else if (isStroke) {\n float widthPixels = clamp(\n project_size_to_pixel(instanceStrokeWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels) / 2.0;\n strokeOffsetRatio -= sign(positions.z) * project_pixel_size(widthPixels) / project_size(edgeDistance * coverage * radius);\n }\n float shouldRender = float(color.a > 0.0 && instanceElevations >= 0.0);\n float dotRadius = radius * coverage * shouldRender;\n\n geometry.normal = project_normal(vec3(rotationMatrix * normals.xy, normals.z));\n geometry.pickingColor = instancePickingColors;\n vec3 centroidPosition = vec3(instancePositions.xy, instancePositions.z + elevation);\n vec3 centroidPosition64Low = instancePositions64Low;\n vec2 offset = (rotationMatrix * positions.xy * strokeOffsetRatio + offset) * dotRadius;\n if (radiusUnits == UNIT_METERS) {\n offset = project_size(offset);\n }\n vec3 pos = vec3(offset, 0.);\n DECKGL_FILTER_SIZE(pos, geometry);\n\n gl_Position = project_position_to_clipspace(centroidPosition, centroidPosition64Low, pos, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n if (extruded && !isStroke) {\n vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, color.a * opacity);\n } else {\n vColor = vec4(color.rgb, color.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#define SHADER_NAME column-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main(void) {\n gl_FragColor = vColor;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[c.a,u.a,l.a]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceElevations:{size:1,transition:!0,accessor:"getElevation"},instanceFillColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getFillColor",defaultValue:y},instanceLineColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getLineColor",defaultValue:y},instanceStrokeWidths:{size:1,accessor:"getLineWidth",transition:!0}})}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,r=e.changeFlags;Object(a.a)(Object(o.a)(A.prototype),"updateState",this).call(this,{props:t,oldProps:n,changeFlags:r});var i=r.extensionsChanged;if(i){var s,g=this.context.gl;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(g),this.getAttributeManager().invalidateAll()}(i||t.diskResolution!==n.diskResolution||t.vertices!==n.vertices||(t.extruded||t.stroked)!==(n.extruded||n.stroked))&&this._updateGeometry(t)}},{key:"getGeometry",value:function(e,t,A){var n=new E({radius:1,height:A?2:0,vertices:t,nradial:e}),r=0;if(t)for(var i=0;i<e;i++){var o=t[i];r+=Math.sqrt(o[0]*o[0]+o[1]*o[1])/e}else r=1;return this.setState({edgeDistance:Math.cos(Math.PI/e)*r}),n}},{key:"_getModel",value:function(e){return new h.a(e,Object(n.a)({},this.getShaders(),{id:this.props.id,isInstanced:!0}))}},{key:"_updateGeometry",value:function(e){var t=e.diskResolution,A=e.vertices,n=e.extruded,r=e.stroked,i=this.getGeometry(t,A,n||r);this.setState({fillVertexCount:i.attributes.POSITION.value.length/3,wireframeVertexCount:i.indices.value.length}),this.state.model.setProps({geometry:i})}},{key:"draw",value:function(e){var t=e.uniforms,A=this.props,n=A.lineWidthUnits,r=A.lineWidthScale,i=A.lineWidthMinPixels,o=A.lineWidthMaxPixels,a=A.radiusUnits,s=A.elevationScale,g=A.extruded,c=A.filled,u=A.stroked,l=A.wireframe,C=A.offset,h=A.coverage,f=A.radius,d=A.angle,B=this.state,p=B.model,E=B.fillVertexCount,Q=B.wireframeVertexCount,y=B.edgeDistance;p.setUniforms(t).setUniforms({radius:f,angle:d/180*Math.PI,offset:C,extruded:g,coverage:h,elevationScale:s,edgeDistance:y,radiusUnits:I.d[a],widthUnits:I.d[n],widthScale:r,widthMinPixels:i,widthMaxPixels:o}),g&&l&&(p.setProps({isIndexed:!0}),p.setVertexCount(Q).setDrawMode(1).setUniforms({isStroke:!0}).draw()),c&&(p.setProps({isIndexed:!1}),p.setVertexCount(E).setDrawMode(5).setUniforms({isStroke:!1}).draw()),!g&&u&&(p.setProps({isIndexed:!1}),p.setVertexCount(2*E/3).setDrawMode(5).setUniforms({isStroke:!0}).draw())}}]),A}(C.a);m.layerName="ColumnLayer",m.defaultProps=v},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(16),a=A(17),s=A(9),g=A(10),c=A(575),u=A(576),l=A(36),I=A(384),C=A(422),h=A(135);A.d(t,"a",(function(){return B}));var f=[0,0,0,255],d={radiusUnits:"meters",radiusScale:{type:"number",min:0,value:1},radiusMinPixels:{type:"number",min:0,value:0},radiusMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},lineWidthUnits:"meters",lineWidthScale:{type:"number",min:0,value:1},lineWidthMinPixels:{type:"number",min:0,value:0},lineWidthMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},stroked:!1,filled:!0,billboard:!1,antialiasing:!0,getPosition:{type:"accessor",value:function(e){return e.position}},getRadius:{type:"accessor",value:1},getFillColor:{type:"accessor",value:f},getLineColor:{type:"accessor",value:f},getLineWidth:{type:"accessor",value:1},strokeWidth:{deprecatedFor:"getLineWidth"},outline:{deprecatedFor:"stroked"},getColor:{deprecatedFor:["getFillColor","getLineColor"]}},B=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"getShaders",value:function(){return Object(a.a)(Object(o.a)(A.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME scatterplot-layer-vertex-shader\n\nattribute vec3 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceRadius;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusScale;\nuniform float radiusMinPixels;\nuniform float radiusMaxPixels;\nuniform float lineWidthScale;\nuniform float lineWidthMinPixels;\nuniform float lineWidthMaxPixels;\nuniform float stroked;\nuniform bool filled;\nuniform bool billboard;\nuniform int radiusUnits;\nuniform int lineWidthUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n outerRadiusPixels = clamp(\n project_size_to_pixel(radiusScale * instanceRadius, radiusUnits),\n radiusMinPixels, radiusMaxPixels\n );\n float lineWidthPixels = clamp(\n project_size_to_pixel(lineWidthScale * instanceLineWidths, lineWidthUnits),\n lineWidthMinPixels, lineWidthMaxPixels\n );\n outerRadiusPixels += stroked * lineWidthPixels / 2.0;\n unitPosition = positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n\n innerUnitRadius = 1.0 - stroked * lineWidthPixels / outerRadiusPixels;\n \n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = positions * outerRadiusPixels;\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset = positions * project_pixel_size(outerRadiusPixels);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset, geometry.position);\n }\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME scatterplot-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool filled;\nuniform float stroked;\nuniform bool antialiasing;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition) * outerRadiusPixels;\n float inCircle = antialiasing ? \n smoothedge(distToCenter, outerRadiusPixels) : \n step(distToCenter, outerRadiusPixels);\n\n if (inCircle == 0.0) {\n discard;\n }\n\n if (stroked > 0.5) {\n float isLine = antialiasing ? \n smoothedge(innerUnitRadius * outerRadiusPixels, distToCenter) :\n step(innerUnitRadius * outerRadiusPixels, distToCenter);\n\n if (filled) {\n gl_FragColor = mix(vFillColor, vLineColor, isLine);\n } else {\n if (isLine == 0.0) {\n discard;\n }\n gl_FragColor = vec4(vLineColor.rgb, vLineColor.a * isLine);\n }\n } else if (filled) {\n gl_FragColor = vFillColor;\n } else {\n discard;\n }\n\n gl_FragColor.a *= inCircle;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[c.a,u.a]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceRadius:{size:1,transition:!0,accessor:"getRadius",defaultValue:1},instanceFillColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,r=e.changeFlags;if(Object(a.a)(Object(o.a)(A.prototype),"updateState",this).call(this,{props:t,oldProps:n,changeFlags:r}),r.extensionsChanged){var i,s=this.context.gl;null===(i=this.state.model)||void 0===i||i.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,A=this.props,n=A.radiusUnits,r=A.radiusScale,i=A.radiusMinPixels,o=A.radiusMaxPixels,a=A.stroked,s=A.filled,g=A.billboard,c=A.antialiasing,u=A.lineWidthUnits,I=A.lineWidthScale,C=A.lineWidthMinPixels,h=A.lineWidthMaxPixels;this.state.model.setUniforms(t).setUniforms({stroked:a?1:0,filled:s,billboard:g,antialiasing:c,radiusUnits:l.d[n],radiusScale:r,radiusMinPixels:i,radiusMaxPixels:o,lineWidthUnits:l.d[u],lineWidthScale:I,lineWidthMinPixels:C,lineWidthMaxPixels:h}).draw()}},{key:"_getModel",value:function(e){return new C.a(e,Object(n.a)({},this.getShaders(),{id:this.props.id,geometry:new h.a({drawMode:6,vertexCount:4,attributes:{positions:{size:3,value:new Float32Array([-1,-1,0,1,-1,0,1,1,0,-1,1,0])}}}),isInstanced:!0}))}}]),A}(I.a);B.layerName="ScatterplotLayer",B.defaultProps=d},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(16),a=A(17),s=A(9),g=A(10),c=A(575),u=A(576),l=A(36),I=A(384),C=A(422),h=A(135);A.d(t,"a",(function(){return d}));var f={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:function(e){return e.position}},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}},d=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"getShaders",value:function(){return Object(a.a)(Object(o.a)(A.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\nuniform int sizeUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[c.a,u.a]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,r=e.changeFlags;if(Object(a.a)(Object(o.a)(A.prototype),"updateState",this).call(this,{props:t,oldProps:n,changeFlags:r}),r.extensionsChanged){var i,s=this.context.gl;null===(i=this.state.model)||void 0===i||i.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,A=this.props,n=A.billboard,r=A.sizeScale,i=A.sizeUnits,o=A.sizeMinPixels,a=A.sizeMaxPixels,s=A.getLineWidth,g=this.props.padding;g.length<4&&(g=[g[0],g[1],g[0],g[1]]),this.state.model.setUniforms(t).setUniforms({billboard:n,stroked:Boolean(s),padding:g,sizeUnits:l.d[i],sizeScale:r,sizeMinPixels:o,sizeMaxPixels:a}).draw()}},{key:"_getModel",value:function(e){return new C.a(e,Object(n.a)({},this.getShaders(),{id:this.props.id,geometry:new h.a({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}]),A}(I.a);d.layerName="TextBackgroundLayer",d.defaultProps=f},function(e,t,A){"use strict";var n=A(6),r=A(7),i=A(1),o=A(4),a=A(1247),s=A(78),g=A(41),c=A(77),u=A(147),l=A(1165),I=A(1283),C=function(){function e(t,A,n){Object(i.a)(this,e),this.id=t,this.context=n,this._loadCount=0,this._subscribers=new Set,this.setData(A)}return Object(o.a)(e,[{key:"subscribe",value:function(e){this._subscribers.add(e)}},{key:"unsubscribe",value:function(e){this._subscribers.delete(e)}},{key:"inUse",value:function(){return this._subscribers.size>0}},{key:"delete",value:function(){}},{key:"getData",value:function(){var e=this;return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then((function(){return e.getData()}))}},{key:"setData",value:function(e,t){var A=this;if(e!==this._data||t){this._data=e;var r=++this._loadCount,i=e;"string"===typeof e&&(i=Object(I.a)(e)),i instanceof Promise?(this.isLoaded=!1,this._loader=i.then((function(e){A._loadCount===r&&(A.isLoaded=!0,A._error=null,A._content=e)})).catch((function(e){A._loadCount===r&&(A.isLoaded=!0,A._error=e||!0)}))):(this.isLoaded=!0,this._error=null,this._content=e);var o,a=Object(n.a)(this._subscribers);try{for(a.s();!(o=a.n()).done;){o.value.onChange(this.getData())}}catch(s){a.e(s)}finally{a.f()}}}}]),e}(),h=function(){function e(t){var A=t.gl,n=t.protocol;Object(i.a)(this,e),this.protocol=n||"resource://",this._context={gl:A,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}return Object(o.a)(e,[{key:"contains",value:function(e){return!!e.startsWith(this.protocol)||e in this._resources}},{key:"add",value:function(e){var t=e.resourceId,A=e.data,n=e.forceUpdate,r=void 0!==n&&n,i=e.persistent,o=void 0===i||i,a=this._resources[t];a?a.setData(A,r):(a=new C(t,A,this._context),this._resources[t]=a),a.persistent=o}},{key:"remove",value:function(e){var t=this._resources[e];t&&(t.delete(),delete this._resources[e])}},{key:"unsubscribe",value:function(e){var t=e.consumerId,A=this._consumers[t];if(A){for(var n in A){var r=A[n];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[t],this.prune()}}},{key:"subscribe",value:function(e){var t=e.resourceId,A=e.onChange,n=e.consumerId,r=e.requestId,i=void 0===r?"default":r,o=this._resources,a=this.protocol;t.startsWith(a)&&(o[t=t.replace(a,"")]||this.add({resourceId:t,data:null,persistent:!1}));var s=o[t];if(this._track(n,i,s,A),s)return s.getData()}},{key:"prune",value:function(){var e=this;this._pruneRequest||(this._pruneRequest=setTimeout((function(){return e._prune()}),0))}},{key:"finalize",value:function(){for(var e in this._resources)this._resources[e].delete()}},{key:"_track",value:function(e,t,A,n){var r=this._consumers,i=r[e]=r[e]||{},o=i[t]||{};o.resource&&(o.resource.unsubscribe(o),o.resource=null,this.prune()),A&&(i[t]=o,o.onChange=n,o.resource=A,A.subscribe(o))}},{key:"_prune",value:function(){this._pruneRequest=null;for(var e=0,t=Object.keys(this._resources);e<t.length;e++){var A=t[e],n=this._resources[A];n.persistent||n.inUse()||(n.delete(),delete this._resources[A])}}}]),e}(),f=A(96),d=A(382);A.d(t,"a",(function(){return p}));var B=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}}),p=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=A.deck,o=A.stats,s=A.viewport,g=A.timeline;Object(i.a)(this,e),this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new h({gl:t,protocol:"deck://"}),this.context=Object(r.a)({},B,{layerManager:this,gl:t,deck:n,programManager:t&&Object(d.a)(t),stats:o||new l.a({id:"deck.gl"}),viewport:s||new f.a({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:g||new a.a,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}return Object(o.a)(e,[{key:"finalize",value:function(){this.resourceManager.finalize();var e,t=Object(n.a)(this.layers);try{for(t.s();!(e=t.n()).done;){var A=e.value;this._finalizeLayer(A)}}catch(r){t.e(r)}finally{t.f()}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var A,r=Object(n.a)(this.layers);try{for(r.s();!(A=r.n()).done;){var i=A.value,o=i.getNeedsRedraw(e);t=t||o}}catch(a){r.e(a)}finally{r.f()}return t}},{key:"needsUpdate",value:function(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}},{key:"setNeedsRedraw",value:function(e){this._needsRedraw=this._needsRedraw||e}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e}},{key:"getLayers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.layerIds,A=void 0===t?null:t;return A?this.layers.filter((function(e){return A.find((function(t){return 0===e.id.indexOf(t)}))})):this.layers}},{key:"setProps",value:function(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}},{key:"setLayers",value:function(e,t){Object(c.a)("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=Object(u.b)(e,Boolean);var A,r=Object(n.a)(e);try{for(r.s();!(A=r.n()).done;){A.value.context=this.context}}catch(i){r.e(i)}finally{r.f()}return this._updateLayers(this.layers,e),this}},{key:"updateLayers",value:function(){var e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}},{key:"activateViewport",value:function(e){return Object(c.a)("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}},{key:"_handleError",value:function(e,t,A){A.raiseError(t,"".concat(e," of ").concat(A))}},{key:"_updateLayers",value:function(e,t){var A,r={},i=Object(n.a)(e);try{for(i.s();!(A=i.n()).done;){var o=A.value;r[o.id]?g.a.warn("Multiple old layers with same id ".concat(o.id))():r[o.id]=o}}catch(l){i.e(l)}finally{i.f()}var a=[];this._updateSublayersRecursively(t,r,a),this._finalizeOldLayers(r);for(var s=!1,c=0,u=a;c<u.length;c++){if(u[c].hasUniformTransition()){s=!0;break}}this._needsUpdate=s,this.layers=a}},{key:"_updateSublayersRecursively",value:function(e,t,A){var r,i=Object(n.a)(e);try{for(i.s();!(r=i.n()).done;){var o=r.value;o.context=this.context;var a=t[o.id];null===a&&g.a.warn("Multiple new layers with same id ".concat(o.id))(),t[o.id]=null;var s=null;try{this._debug&&a!==o&&o.validateProps(),a?(this._transferLayerState(a,o),this._updateLayer(o)):this._initializeLayer(o),A.push(o),s=o.isComposite&&o.getSubLayers()}catch(c){this._handleError("matching",c,o)}s&&this._updateSublayersRecursively(s,t,A)}}catch(c){i.e(c)}finally{i.f()}}},{key:"_finalizeOldLayers",value:function(e){for(var t in e){var A=e[t];A&&this._finalizeLayer(A)}}},{key:"_initializeLayer",value:function(e){try{e._initialize(),e.lifecycle=s.a.INITIALIZED}catch(t){this._handleError("initialization",t,e)}}},{key:"_transferLayerState",value:function(e,t){t._transferState(e),t.lifecycle=s.a.MATCHED,t!==e&&(e.lifecycle=s.a.AWAITING_GC)}},{key:"_updateLayer",value:function(e){try{e._update()}catch(t){this._handleError("update",t,e)}}},{key:"_finalizeLayer",value:function(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle=s.a.AWAITING_FINALIZATION;try{e._finalize(),e.lifecycle=s.a.FINALIZED}catch(t){this._handleError("finalization",t,e)}}}]),e}()},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(16),a=A(17),s=A(9),g=A(10),c=A(41),u=A(269);A.d(t,"a",(function(){return I}));var l=[],I=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"getShaders",value:function(){return Object(n.a)({},Object(a.a)(Object(o.a)(A.prototype),"getShaders",this).call(this),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}},{key:"initializeState",value:function(){var e=this;Object(a.a)(Object(o.a)(A.prototype),"initializeState",this).call(this),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:function(t,A){var n=A.index,r=A.target;return e.encodePickingColor(n,r)}}})}},{key:"updateState",value:function(e){Object(a.a)(Object(o.a)(A.prototype),"updateState",this).call(this,e);var t=e.props,n=e.oldProps,r=t.outlineColor;r!==n.outlineColor&&((r=r.map((function(e){return e/255})))[3]=Number.isFinite(r[3])?r[3]:1,this.setState({outlineColor:r})),!t.sdf&&t.outlineWidth&&c.a.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}},{key:"draw",value:function(e){var t=this.props,r=t.sdf,i=t.smoothing,s=t.outlineWidth,g=this.state.outlineColor;e.uniforms=Object(n.a)({},e.uniforms,{buffer:.75,outlineBuffer:s?Math.max(i,.75*(1-s)):-1,gamma:i,sdf:Boolean(r),outlineColor:g}),Object(a.a)(Object(o.a)(A.prototype),"draw",this).call(this,e)}},{key:"getInstanceOffset",value:function(e){var t=this;return e?Array.from(e).map((function(e){return Object(a.a)(Object(o.a)(A.prototype),"getInstanceOffset",t).call(t,e)})):l}},{key:"getInstanceColorMode",value:function(e){return 1}},{key:"getInstanceIconFrame",value:function(e){var t=this;return e?Array.from(e).map((function(e){return Object(a.a)(Object(o.a)(A.prototype),"getInstanceIconFrame",t).call(t,e)})):l}}]),A}(u.a);I.layerName="MultiIconLayer",I.defaultProps={getIconOffsets:{type:"accessor",value:function(e){return e.offsets}},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}}},function(e,t,A){"use strict";var n=A(6),r=A(7),i=A(1),o=A(4),a=A(77),s=A(9),g=A(10),c=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(i.a)(this,A),t.apply(this,arguments)}return A}(A(199).a),u=A(411),l=A(161);A.d(t,"a",(function(){return I}));var I=function(){function e(t){Object(i.a)(this,e),this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new c(t),this.pickLayersPass=new u.a(t),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}return Object(o.a)(e,[{key:"setProps",value:function(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}},{key:"renderLayers",value:function(e){var t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=e.layerFilter||this.layerFilter,e.effects=e.effects||[],e.target=e.target||l.a.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);var A=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,n=t.render(Object(r.a)({},e,{target:A}));this._postRender(e.effects,e),this.renderCount++,Object(a.a)("deckRenderer.renderLayers",this,n,e)}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"finalize",value:function(){var e,t=this.renderBuffers,A=Object(n.a)(t);try{for(A.s();!(e=A.n()).done;){e.value.delete()}}catch(r){A.e(r)}finally{A.f()}t.length=0}},{key:"_preRender",value:function(e,t){var A,r=null,i=Object(n.a)(e);try{for(i.s();!(A=i.n()).done;){var o=A.value;o.preRender(this.gl,t),o.postRender&&(r=o)}}catch(a){i.e(a)}finally{i.f()}r&&this._resizeRenderBuffers(),this.lastPostProcessEffect=r}},{key:"_resizeRenderBuffers",value:function(){var e=this.renderBuffers;0===e.length&&e.push(new l.a(this.gl),new l.a(this.gl));var t,A=Object(n.a)(e);try{for(A.s();!(t=A.n()).done;){t.value.resize()}}catch(r){A.e(r)}finally{A.f()}}},{key:"_postRender",value:function(e,t){var A,r=this.renderBuffers,i={inputBuffer:r[0],swapBuffer:r[1],target:null},o=Object(n.a)(e);try{for(o.s();!(A=o.n()).done;){var a=A.value;if(a.postRender){if(a===this.lastPostProcessEffect){i.target=t.target,a.postRender(this.gl,i);break}var s=a.postRender(this.gl,i);i.inputBuffer=s,i.swapBuffer=s===r[0]?r[1]:r[0]}}}catch(g){o.e(g)}finally{o.f()}}}]),e}()},function(e,t,A){"use strict";function n(e){if(Array.isArray(e))return e}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";function n(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";function n(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";var n=A(0),r=A.n(n).a.createContext(null);t.a=r},function(e,t,A){"use strict";function n(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";var n="function"===typeof Symbol&&Symbol.for;t.a=n?Symbol.for("mui.nested"):"__THEME_NESTED__"},function(e,t,A){"use strict";function n(e){if(Array.isArray(e))return e}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";function n(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return o}));A(137),A(14);var n=A(220),r=(A(13),A(174),{xs:0,sm:600,md:960,lg:1280,xl:1920}),i={keys:["xs","sm","md","lg","xl"],up:function(e){return"@media (min-width:".concat(r[e],"px)")}};function o(e,t,A){if(Array.isArray(t)){var r=e.theme.breakpoints||i;return t.reduce((function(e,n,i){return e[r.up(r.keys[i])]=A(t[i]),e}),{})}if("object"===Object(n.a)(t)){var o=e.theme.breakpoints||i;return Object.keys(t).reduce((function(e,n){return e[o.up(n)]=A(t[n]),e}),{})}return A(t)}},function(e,t,A){"use strict";t.a={mobileStepper:1e3,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500}},function(e,t,A){"use strict";function n(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return u}));var n=A(1),r=A(4),i=A(9),o=A(10),a=A(206),s=A(33),g=A(32),c=A(97),u=function(e){Object(i.a)(A,e);var t=Object(o.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(r.a)(A,[{key:"toString",value:function(){var e="[";if(g.f.printRowMajor){e+="row-major:";for(var t=0;t<this.RANK;++t)for(var A=0;A<this.RANK;++A)e+=" ".concat(this[A*this.RANK+t])}else{e+="column-major:";for(var n=0;n<this.ELEMENTS;++n)e+=" ".concat(this[n])}return e+="]"}},{key:"getElementIndex",value:function(e,t){return t*this.RANK+e}},{key:"getElement",value:function(e,t){return this[t*this.RANK+e]}},{key:"setElement",value:function(e,t,A){return this[t*this.RANK+e]=Object(s.a)(A),this}},{key:"getColumn",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),A=e*this.RANK,n=0;n<this.RANK;++n)t[n]=this[A+n];return t}},{key:"setColumn",value:function(e,t){for(var A=e*this.RANK,n=0;n<this.RANK;++n)this[A+n]=t[n];return this}},{key:"ELEMENTS",get:function(){return Object(c.a)(!1),0}},{key:"RANK",get:function(){return Object(c.a)(!1),0}}]),A}(a.a)},function(e,t,A){"use strict";(function(e){A.d(t,"a",(function(){return r}));var n=A(406);function r(){return!("object"===typeof e&&"[object process]"===String(e)&&!e.browser)||Object(n.a)()}}).call(this,A(90))},function(e,t,A){"use strict";(function(e){function n(t){if("undefined"!==typeof window&&"object"===typeof window.process&&"renderer"===window.process.type)return!0;if("undefined"!==typeof e&&"object"===typeof e.versions&&Boolean(e.versions.electron))return!0;var A="object"===typeof navigator&&"string"===typeof navigator.userAgent&&navigator.userAgent,n=t||A;return!!(n&&n.indexOf("Electron")>=0)}A.d(t,"a",(function(){return n}))}).call(this,A(90))},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(18);function r(e,t,A,r){var i="See luma.gl ".concat(A," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),o=Object.getPrototypeOf(e);r.forEach((function(e){o.methodName||(o[e]=function(){throw n.k.removed("Calling removed method ".concat(t,".").concat(e,": "),i)(),new Error(e)})}))}},function(e,t,A){"use strict";A.d(t,"a",(function(){return n}));function n(e){var t=r(e);return function(e){var t=r(e);if(!(t.byteLength>=24&&2303741511===t.getUint32(0,!1)))return null;return{mimeType:"image/png",width:t.getUint32(16,!1),height:t.getUint32(20,!1)}}(t)||function(e){var t=r(e);if(!(t.byteLength>=3&&65496===t.getUint16(0,!1)&&255===t.getUint8(2)))return null;var A=function(){for(var e=new Set([65499,65476,65484,65501,65534]),t=65504;t<65520;++t)e.add(t);var A=new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502]);return{tableMarkers:e,sofMarkers:A}}(),n=A.tableMarkers,i=A.sofMarkers,o=2;for(;o+9<t.byteLength;){var a=t.getUint16(o,!1);if(i.has(a))return{mimeType:"image/jpeg",height:t.getUint16(o+5,!1),width:t.getUint16(o+7,!1)};if(!n.has(a))return null;o+=2,o+=t.getUint16(o,!1)}return null}(t)||function(e){var t=r(e);if(!(t.byteLength>=10&&1195984440===t.getUint32(0,!1)))return null;return{mimeType:"image/gif",width:t.getUint16(6,!0),height:t.getUint16(8,!0)}}(t)||function(e){var t=r(e);if(!(t.byteLength>=14&&16973===t.getUint16(0,!1)&&t.getUint32(2,!0)===t.byteLength))return null;return{mimeType:"image/bmp",width:t.getUint32(18,!0),height:t.getUint32(22,!0)}}(t)}function r(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}},function(e,t,A){"use strict";function n(e){for(var t=e.data,A=e.getIndex,n=e.dataRange,r=e.replace,i=n.startRow,o=void 0===i?0:i,a=n.endRow,s=void 0===a?1/0:a,g=t.length,c=g,u=g,l=0;l<g;l++){var I=A(t[l]);if(c>l&&I>=o&&(c=l),I>=s){u=l;break}}for(var C=c,h=u-c!==r.length,f=h&&t.slice(u),d=0;d<r.length;d++)t[C++]=r[d];if(h){for(var B=0;B<f.length;B++)t[C++]=f[B];t.length=C}return{startRow:c,endRow:c+r.length}}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return o}));var n=A(7),r=A(1),i=A(4),o=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(r.a)(this,e);var i=A.id,o=void 0===i?"pass":i;this.id=o,this.gl=t,this.props=Object(n.a)({},A)}return Object(i.a)(e,[{key:"setProps",value:function(e){Object.assign(this.props,e)}},{key:"render",value:function(){}},{key:"cleanup",value:function(){}}]),e}()},function(e,t,A){"use strict";A.d(t,"a",(function(){return C}));var n=A(7),r=A(1),i=A(4),o=A(16),a=A(17),s=A(9),g=A(10),c=A(199),u=A(18),l=A(41),I={blendFunc:[1,0,32771,0],blendEquation:32774},C=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"render",value:function(e){return e.pickingFBO?this._drawPickingBuffer(e):Object(a.a)(Object(o.a)(A.prototype),"render",this).call(this,e)}},{key:"_drawPickingBuffer",value:function(e){var t=this,r=e.layers,i=e.layerFilter,s=e.views,g=e.viewports,c=e.onViewportActive,l=e.pickingFBO,C=e.deviceRect,f=C.x,d=C.y,B=C.width,p=C.height,E=e.pass,Q=void 0===E?"picking":E,y=e.redrawReason,v=e.pickZ,m=this.gl;this.pickZ=v;var b=!v&&{byLayer:new Map,byAlpha:[]};this._colors=b;var w=Object(u.o)(m,Object(n.a)({scissorTest:!0,scissor:[f,d,B,p],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},I,{blend:!v}),(function(){return Object(a.a)(Object(o.a)(A.prototype),"render",t).call(t,{target:l,layers:r,layerFilter:i,views:s,viewports:g,onViewportActive:c,pass:Q,redrawReason:y})}));return this._colors=null,{decodePickingColor:b&&h.bind(null,b),stats:w}}},{key:"shouldDrawLayer",value:function(e){return e.props.pickable}},{key:"getModuleParameters",value:function(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}},{key:"getLayerParameters",value:function(e,t,A){var r=Object(n.a)({},e.props.parameters);return this.pickZ?r.blend=!1:(Object.assign(r,I),r.blend=!0,r.blendColor=function(e,t,A){var n,r=e.byLayer,i=e.byAlpha;if(r.has(t)){var o=r.get(t);o.viewports.push(A),n=o.a}else if((n=r.size+1)<=255){var a={a:n,layer:t,viewports:[A]};r.set(t,a),i[n]=a}else l.a.warn("Too many pickable layers, only picking the first 255")(),n=0;return[0,0,0,n/255]}(this._colors,e,A)),r}}]),A}(c.a);function h(e,t){var A=e.byAlpha[t[3]];return A&&{pickedLayer:A.layer,pickedViewports:A.viewports,pickedObjectIndex:A.layer.decodePickingColor(t)}}},function(e,t,A){var n;!function(r){var i=/^\s+/,o=/\s+$/,a=0,s=r.round,g=r.min,c=r.max,u=r.random;function l(e,t){if(t=t||{},(e=e||"")instanceof l)return e;if(!(this instanceof l))return new l(e,t);var A=function(e){var t={r:0,g:0,b:0},A=1,n=null,a=null,s=null,u=!1,l=!1;"string"==typeof e&&(e=function(e){e=e.replace(i,"").replace(o,"").toLowerCase();var t,A=!1;if(D[e])e=D[e],A=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(t=T.rgb.exec(e))return{r:t[1],g:t[2],b:t[3]};if(t=T.rgba.exec(e))return{r:t[1],g:t[2],b:t[3],a:t[4]};if(t=T.hsl.exec(e))return{h:t[1],s:t[2],l:t[3]};if(t=T.hsla.exec(e))return{h:t[1],s:t[2],l:t[3],a:t[4]};if(t=T.hsv.exec(e))return{h:t[1],s:t[2],v:t[3]};if(t=T.hsva.exec(e))return{h:t[1],s:t[2],v:t[3],a:t[4]};if(t=T.hex8.exec(e))return{r:U(t[1]),g:U(t[2]),b:U(t[3]),a:L(t[4]),format:A?"name":"hex8"};if(t=T.hex6.exec(e))return{r:U(t[1]),g:U(t[2]),b:U(t[3]),format:A?"name":"hex"};if(t=T.hex4.exec(e))return{r:U(t[1]+""+t[1]),g:U(t[2]+""+t[2]),b:U(t[3]+""+t[3]),a:L(t[4]+""+t[4]),format:A?"name":"hex8"};if(t=T.hex3.exec(e))return{r:U(t[1]+""+t[1]),g:U(t[2]+""+t[2]),b:U(t[3]+""+t[3]),format:A?"name":"hex"};return!1}(e));"object"==typeof e&&(Z(e.r)&&Z(e.g)&&Z(e.b)?(I=e.r,C=e.g,h=e.b,t={r:255*x(I,255),g:255*x(C,255),b:255*x(h,255)},u=!0,l="%"===String(e.r).substr(-1)?"prgb":"rgb"):Z(e.h)&&Z(e.s)&&Z(e.v)?(n=M(e.s),a=M(e.v),t=function(e,t,A){e=6*x(e,360),t=x(t,100),A=x(A,100);var n=r.floor(e),i=e-n,o=A*(1-t),a=A*(1-i*t),s=A*(1-(1-i)*t),g=n%6;return{r:255*[A,a,o,o,s,A][g],g:255*[s,A,A,a,o,o][g],b:255*[o,o,s,A,A,a][g]}}(e.h,n,a),u=!0,l="hsv"):Z(e.h)&&Z(e.s)&&Z(e.l)&&(n=M(e.s),s=M(e.l),t=function(e,t,A){var n,r,i;function o(e,t,A){return A<0&&(A+=1),A>1&&(A-=1),A<1/6?e+6*(t-e)*A:A<.5?t:A<2/3?e+(t-e)*(2/3-A)*6:e}if(e=x(e,360),t=x(t,100),A=x(A,100),0===t)n=r=i=A;else{var a=A<.5?A*(1+t):A+t-A*t,s=2*A-a;n=o(s,a,e+1/3),r=o(s,a,e),i=o(s,a,e-1/3)}return{r:255*n,g:255*r,b:255*i}}(e.h,n,s),u=!0,l="hsl"),e.hasOwnProperty("a")&&(A=e.a));var I,C,h;return A=k(A),{ok:u,format:e.format||l,r:g(255,c(t.r,0)),g:g(255,c(t.g,0)),b:g(255,c(t.b,0)),a:A}}(e);this._originalInput=e,this._r=A.r,this._g=A.g,this._b=A.b,this._a=A.a,this._roundA=s(100*this._a)/100,this._format=t.format||A.format,this._gradientType=t.gradientType,this._r<1&&(this._r=s(this._r)),this._g<1&&(this._g=s(this._g)),this._b<1&&(this._b=s(this._b)),this._ok=A.ok,this._tc_id=a++}function I(e,t,A){e=x(e,255),t=x(t,255),A=x(A,255);var n,r,i=c(e,t,A),o=g(e,t,A),a=(i+o)/2;if(i==o)n=r=0;else{var s=i-o;switch(r=a>.5?s/(2-i-o):s/(i+o),i){case e:n=(t-A)/s+(t<A?6:0);break;case t:n=(A-e)/s+2;break;case A:n=(e-t)/s+4}n/=6}return{h:n,s:r,l:a}}function C(e,t,A){e=x(e,255),t=x(t,255),A=x(A,255);var n,r,i=c(e,t,A),o=g(e,t,A),a=i,s=i-o;if(r=0===i?0:s/i,i==o)n=0;else{switch(i){case e:n=(t-A)/s+(t<A?6:0);break;case t:n=(A-e)/s+2;break;case A:n=(e-t)/s+4}n/=6}return{h:n,s:r,v:a}}function h(e,t,A,n){var r=[_(s(e).toString(16)),_(s(t).toString(16)),_(s(A).toString(16))];return n&&r[0].charAt(0)==r[0].charAt(1)&&r[1].charAt(0)==r[1].charAt(1)&&r[2].charAt(0)==r[2].charAt(1)?r[0].charAt(0)+r[1].charAt(0)+r[2].charAt(0):r.join("")}function f(e,t,A,n){return[_(O(n)),_(s(e).toString(16)),_(s(t).toString(16)),_(s(A).toString(16))].join("")}function d(e,t){t=0===t?0:t||10;var A=l(e).toHsl();return A.s-=t/100,A.s=N(A.s),l(A)}function B(e,t){t=0===t?0:t||10;var A=l(e).toHsl();return A.s+=t/100,A.s=N(A.s),l(A)}function p(e){return l(e).desaturate(100)}function E(e,t){t=0===t?0:t||10;var A=l(e).toHsl();return A.l+=t/100,A.l=N(A.l),l(A)}function Q(e,t){t=0===t?0:t||10;var A=l(e).toRgb();return A.r=c(0,g(255,A.r-s(-t/100*255))),A.g=c(0,g(255,A.g-s(-t/100*255))),A.b=c(0,g(255,A.b-s(-t/100*255))),l(A)}function y(e,t){t=0===t?0:t||10;var A=l(e).toHsl();return A.l-=t/100,A.l=N(A.l),l(A)}function v(e,t){var A=l(e).toHsl(),n=(A.h+t)%360;return A.h=n<0?360+n:n,l(A)}function m(e){var t=l(e).toHsl();return t.h=(t.h+180)%360,l(t)}function b(e){var t=l(e).toHsl(),A=t.h;return[l(e),l({h:(A+120)%360,s:t.s,l:t.l}),l({h:(A+240)%360,s:t.s,l:t.l})]}function w(e){var t=l(e).toHsl(),A=t.h;return[l(e),l({h:(A+90)%360,s:t.s,l:t.l}),l({h:(A+180)%360,s:t.s,l:t.l}),l({h:(A+270)%360,s:t.s,l:t.l})]}function S(e){var t=l(e).toHsl(),A=t.h;return[l(e),l({h:(A+72)%360,s:t.s,l:t.l}),l({h:(A+216)%360,s:t.s,l:t.l})]}function F(e,t,A){t=t||6,A=A||30;var n=l(e).toHsl(),r=360/A,i=[l(e)];for(n.h=(n.h-(r*t>>1)+720)%360;--t;)n.h=(n.h+r)%360,i.push(l(n));return i}function R(e,t){t=t||6;for(var A=l(e).toHsv(),n=A.h,r=A.s,i=A.v,o=[],a=1/t;t--;)o.push(l({h:n,s:r,v:i})),i=(i+a)%1;return o}l.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,A,n=this.toRgb();return e=n.r/255,t=n.g/255,A=n.b/255,.2126*(e<=.03928?e/12.92:r.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:r.pow((t+.055)/1.055,2.4))+.0722*(A<=.03928?A/12.92:r.pow((A+.055)/1.055,2.4))},setAlpha:function(e){return this._a=k(e),this._roundA=s(100*this._a)/100,this},toHsv:function(){var e=C(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=C(this._r,this._g,this._b),t=s(360*e.h),A=s(100*e.s),n=s(100*e.v);return 1==this._a?"hsv("+t+", "+A+"%, "+n+"%)":"hsva("+t+", "+A+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var e=I(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=I(this._r,this._g,this._b),t=s(360*e.h),A=s(100*e.s),n=s(100*e.l);return 1==this._a?"hsl("+t+", "+A+"%, "+n+"%)":"hsla("+t+", "+A+"%, "+n+"%, "+this._roundA+")"},toHex:function(e){return h(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return function(e,t,A,n,r){var i=[_(s(e).toString(16)),_(s(t).toString(16)),_(s(A).toString(16)),_(O(n))];if(r&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)&&i[3].charAt(0)==i[3].charAt(1))return i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0);return i.join("")}(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:s(this._r),g:s(this._g),b:s(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+s(this._r)+", "+s(this._g)+", "+s(this._b)+")":"rgba("+s(this._r)+", "+s(this._g)+", "+s(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:s(100*x(this._r,255))+"%",g:s(100*x(this._g,255))+"%",b:s(100*x(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+s(100*x(this._r,255))+"%, "+s(100*x(this._g,255))+"%, "+s(100*x(this._b,255))+"%)":"rgba("+s(100*x(this._r,255))+"%, "+s(100*x(this._g,255))+"%, "+s(100*x(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(G[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+f(this._r,this._g,this._b,this._a),A=t,n=this._gradientType?"GradientType = 1, ":"";if(e){var r=l(e);A="#"+f(r._r,r._g,r._b,r._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+t+",endColorstr="+A+")"},toString:function(e){var t=!!e;e=e||this._format;var A=!1,n=this._a<1&&this._a>=0;return t||!n||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(A=this.toRgbString()),"prgb"===e&&(A=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(A=this.toHexString()),"hex3"===e&&(A=this.toHexString(!0)),"hex4"===e&&(A=this.toHex8String(!0)),"hex8"===e&&(A=this.toHex8String()),"name"===e&&(A=this.toName()),"hsl"===e&&(A=this.toHslString()),"hsv"===e&&(A=this.toHsvString()),A||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return l(this.toString())},_applyModification:function(e,t){var A=e.apply(null,[this].concat([].slice.call(t)));return this._r=A._r,this._g=A._g,this._b=A._b,this.setAlpha(A._a),this},lighten:function(){return this._applyModification(E,arguments)},brighten:function(){return this._applyModification(Q,arguments)},darken:function(){return this._applyModification(y,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(B,arguments)},greyscale:function(){return this._applyModification(p,arguments)},spin:function(){return this._applyModification(v,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(F,arguments)},complement:function(){return this._applyCombination(m,arguments)},monochromatic:function(){return this._applyCombination(R,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(b,arguments)},tetrad:function(){return this._applyCombination(w,arguments)}},l.fromRatio=function(e,t){if("object"==typeof e){var A={};for(var n in e)e.hasOwnProperty(n)&&(A[n]="a"===n?e[n]:M(e[n]));e=A}return l(e,t)},l.equals=function(e,t){return!(!e||!t)&&l(e).toRgbString()==l(t).toRgbString()},l.random=function(){return l.fromRatio({r:u(),g:u(),b:u()})},l.mix=function(e,t,A){A=0===A?0:A||50;var n=l(e).toRgb(),r=l(t).toRgb(),i=A/100;return l({r:(r.r-n.r)*i+n.r,g:(r.g-n.g)*i+n.g,b:(r.b-n.b)*i+n.b,a:(r.a-n.a)*i+n.a})},l.readability=function(e,t){var A=l(e),n=l(t);return(r.max(A.getLuminance(),n.getLuminance())+.05)/(r.min(A.getLuminance(),n.getLuminance())+.05)},l.isReadable=function(e,t,A){var n,r,i=l.readability(e,t);switch(r=!1,(n=function(e){var t,A;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),A=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==A&&"large"!==A&&(A="small");return{level:t,size:A}}(A)).level+n.size){case"AAsmall":case"AAAlarge":r=i>=4.5;break;case"AAlarge":r=i>=3;break;case"AAAsmall":r=i>=7}return r},l.mostReadable=function(e,t,A){var n,r,i,o,a=null,s=0;r=(A=A||{}).includeFallbackColors,i=A.level,o=A.size;for(var g=0;g<t.length;g++)(n=l.readability(e,t[g]))>s&&(s=n,a=l(t[g]));return l.isReadable(e,a,{level:i,size:o})||!r?a:(A.includeFallbackColors=!1,l.mostReadable(e,["#fff","#000"],A))};var D=l.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},G=l.hexNames=function(e){var t={};for(var A in e)e.hasOwnProperty(A)&&(t[e[A]]=A);return t}(D);function k(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function x(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var A=function(e){return"string"===typeof e&&-1!=e.indexOf("%")}(e);return e=g(t,c(0,parseFloat(e))),A&&(e=parseInt(e*t,10)/100),r.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function N(e){return g(1,c(0,e))}function U(e){return parseInt(e,16)}function _(e){return 1==e.length?"0"+e:""+e}function M(e){return e<=1&&(e=100*e+"%"),e}function O(e){return r.round(255*parseFloat(e)).toString(16)}function L(e){return U(e)/255}var T=function(){var e="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",t="[\\s|\\(]+("+e+")[,|\\s]+("+e+")[,|\\s]+("+e+")\\s*\\)?",A="[\\s|\\(]+("+e+")[,|\\s]+("+e+")[,|\\s]+("+e+")[,|\\s]+("+e+")\\s*\\)?";return{CSS_UNIT:new RegExp(e),rgb:new RegExp("rgb"+t),rgba:new RegExp("rgba"+A),hsl:new RegExp("hsl"+t),hsla:new RegExp("hsla"+A),hsv:new RegExp("hsv"+t),hsva:new RegExp("hsva"+A),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Z(e){return!!T.CSS_UNIT.exec(e)}e.exports?e.exports=l:void 0===(n=function(){return l}.call(t,A,t,e))||(e.exports=n)}(Math)},function(e,t,A){"use strict";var n=A(195),r={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},o={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},a={};function s(e){return n.isMemo(e)?o:a[e.$$typeof]||r}a[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},a[n.Memo]=o;var g=Object.defineProperty,c=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols,l=Object.getOwnPropertyDescriptor,I=Object.getPrototypeOf,C=Object.prototype;e.exports=function e(t,A,n){if("string"!==typeof A){if(C){var r=I(A);r&&r!==C&&e(t,r,n)}var o=c(A);u&&(o=o.concat(u(A)));for(var a=s(t),h=s(A),f=0;f<o.length;++f){var d=o[f];if(!i[d]&&(!n||!n[d])&&(!h||!h[d])&&(!a||!a[d])){var B=l(A,d);try{g(t,d,B)}catch(p){}}}}return t}},function(e,t,A){"use strict";function n(){var e=document.createElement("div");e.style.width="99px",e.style.height="99px",e.style.position="absolute",e.style.top="-9999px",e.style.overflow="scroll",document.body.appendChild(e);var t=e.offsetWidth-e.clientWidth;return document.body.removeChild(e),t}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";(function(e){function n(t,A){var n,r="undefined"!==typeof(n="undefined"!==typeof A?A:"undefined"!==typeof window?window:"undefined"!==typeof self?self:e).document&&n.document.attachEvent;if(!r){var i=function(){var e=n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||function(e){return n.setTimeout(e,20)};return function(t){return e(t)}}(),o=function(){var e=n.cancelAnimationFrame||n.mozCancelAnimationFrame||n.webkitCancelAnimationFrame||n.clearTimeout;return function(t){return e(t)}}(),a=function(e){var t=e.__resizeTriggers__,A=t.firstElementChild,n=t.lastElementChild,r=A.firstElementChild;n.scrollLeft=n.scrollWidth,n.scrollTop=n.scrollHeight,r.style.width=A.offsetWidth+1+"px",r.style.height=A.offsetHeight+1+"px",A.scrollLeft=A.scrollWidth,A.scrollTop=A.scrollHeight},s=function(e){if(!(e.target.className&&"function"===typeof e.target.className.indexOf&&e.target.className.indexOf("contract-trigger")<0&&e.target.className.indexOf("expand-trigger")<0)){var t=this;a(this),this.__resizeRAF__&&o(this.__resizeRAF__),this.__resizeRAF__=i((function(){(function(e){return e.offsetWidth!=e.__resizeLast__.width||e.offsetHeight!=e.__resizeLast__.height})(t)&&(t.__resizeLast__.width=t.offsetWidth,t.__resizeLast__.height=t.offsetHeight,t.__resizeListeners__.forEach((function(A){A.call(t,e)})))}))}},g=!1,c="",u="animationstart",l="Webkit Moz O ms".split(" "),I="webkitAnimationStart animationstart oAnimationStart MSAnimationStart".split(" "),C=n.document.createElement("fakeelement");if(void 0!==C.style.animationName&&(g=!0),!1===g)for(var h=0;h<l.length;h++)if(void 0!==C.style[l[h]+"AnimationName"]){c="-"+l[h].toLowerCase()+"-",u=I[h],g=!0;break}var f="resizeanim",d="@"+c+"keyframes "+f+" { from { opacity: 0; } to { opacity: 0; } } ",B=c+"animation: 1ms "+f+"; "}return{addResizeListener:function(e,A){if(r)e.attachEvent("onresize",A);else{if(!e.__resizeTriggers__){var i=e.ownerDocument,o=n.getComputedStyle(e);o&&"static"==o.position&&(e.style.position="relative"),function(e){if(!e.getElementById("detectElementResize")){var A=(d||"")+".resize-triggers { "+(B||"")+'visibility: hidden; opacity: 0; } .resize-triggers, .resize-triggers > div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',n=e.head||e.getElementsByTagName("head")[0],r=e.createElement("style");r.id="detectElementResize",r.type="text/css",null!=t&&r.setAttribute("nonce",t),r.styleSheet?r.styleSheet.cssText=A:r.appendChild(e.createTextNode(A)),n.appendChild(r)}}(i),e.__resizeLast__={},e.__resizeListeners__=[],(e.__resizeTriggers__=i.createElement("div")).className="resize-triggers",e.__resizeTriggers__.innerHTML='<div class="expand-trigger"><div></div></div><div class="contract-trigger"></div>',e.appendChild(e.__resizeTriggers__),a(e),e.addEventListener("scroll",s,!0),u&&(e.__resizeTriggers__.__animationListener__=function(t){t.animationName==f&&a(e)},e.__resizeTriggers__.addEventListener(u,e.__resizeTriggers__.__animationListener__))}e.__resizeListeners__.push(A)}},removeResizeListener:function(e,t){if(r)e.detachEvent("onresize",t);else if(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),!e.__resizeListeners__.length){e.removeEventListener("scroll",s,!0),e.__resizeTriggers__.__animationListener__&&(e.__resizeTriggers__.removeEventListener(u,e.__resizeTriggers__.__animationListener__),e.__resizeTriggers__.__animationListener__=null);try{e.__resizeTriggers__=!e.removeChild(e.__resizeTriggers__)}catch(A){}}}}}A.d(t,"a",(function(){return n}))}).call(this,A(86))},function(e,t,A){"use strict";t.__esModule=!0,t.default=function(e,t){var A={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(A[n]=e[n]);return A}},function(e,t,A){"use strict";var n=A(0),r=n.createContext();t.a=r},function(e,t,A){"use strict";var n=A(0),r=n.createContext({});t.a=r},function(e,t,A){"use strict";var n=A(95),r=A(129);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(A(0)),o=(0,n(A(130)).default)(i.createElement("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");t.default=o},function(e,t,A){"use strict";A.d(t,"a",(function(){return c}));var n=A(1),r=A(4),i=A(6),o=A(5);function a(e,t){return JSON.stringify(e,function(e){var t=[];return function(A,n){if("object"!==typeof n||null===n)return n;var r=t.indexOf(this)+1;return t.length=r,t.length>e?"[Object]":t.indexOf(n)>=0?"[Circular]":(t.push(n),n)}}(t))}var s="vg-tooltip-element",g={offsetX:10,offsetY:10,id:s,styleId:"vega-tooltip-style",theme:"light",disableDefaultStyle:!1,sanitize:function(e){return String(e).replace(/&/g,"&").replace(/</g,"<")},maxDepth:2,formatTooltip:function(e,t,A){if(Object(o.B)(e))return"[".concat(e.map((function(e){return t(Object(o.J)(e)?e:a(e,A))})).join(", "),"]");if(Object(o.H)(e)){var n="",r=e,s=r.title,g=r.image,c=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A}(r,["title","image"]);s&&(n+="<h2>".concat(t(s),"</h2>")),g&&(n+='<img src="'.concat(t(g),'">'));var u=Object.keys(c);if(u.length>0){n+="<table>";var l,I=Object(i.a)(u);try{for(I.s();!(l=I.n()).done;){var C=l.value,h=c[C];void 0!==h&&(Object(o.H)(h)&&(h=a(h,A)),n+='<tr><td class="key">'.concat(t(C),':</td><td class="value">').concat(t(h),"</td></tr>"))}}catch(f){I.e(f)}finally{I.f()}n+="</table>"}return n||"{}"}return t(e)}};var c=function(){function e(t){Object(n.a)(this,e),this.options=Object.assign(Object.assign({},g),t);var A=this.options.id;if(this.el=null,this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){var r=document.createElement("style");r.setAttribute("id",this.options.styleId),r.innerHTML=function(e){if(!/^[A-Za-z]+[-:.\w]*$/.test(e))throw new Error("Invalid HTML ID");return"#vg-tooltip-element {\n visibility: hidden;\n padding: 8px;\n position: fixed;\n z-index: 1000;\n font-family: sans-serif;\n font-size: 11px;\n border-radius: 3px;\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);\n /* The default theme is the light theme. */\n background-color: rgba(255, 255, 255, 0.95);\n border: 1px solid #d9d9d9;\n color: black; }\n #vg-tooltip-element.visible {\n visibility: visible; }\n #vg-tooltip-element h2 {\n margin-top: 0;\n margin-bottom: 10px;\n font-size: 13px; }\n #vg-tooltip-element img {\n max-width: 200px;\n max-height: 200px; }\n #vg-tooltip-element table {\n border-spacing: 0; }\n #vg-tooltip-element table tr {\n border: none; }\n #vg-tooltip-element table tr td {\n overflow: hidden;\n text-overflow: ellipsis;\n padding-top: 2px;\n padding-bottom: 2px; }\n #vg-tooltip-element table tr td.key {\n color: #808080;\n max-width: 150px;\n text-align: right;\n padding-right: 4px; }\n #vg-tooltip-element table tr td.value {\n display: block;\n max-width: 300px;\n max-height: 7em;\n text-align: left; }\n #vg-tooltip-element.dark-theme {\n background-color: rgba(32, 32, 32, 0.9);\n border: 1px solid #f5f5f5;\n color: white; }\n #vg-tooltip-element.dark-theme td.key {\n color: #bfbfbf; }\n".toString().replace(s,e)}(A);var i=document.head;i.childNodes.length>0?i.insertBefore(r,i.childNodes[0]):i.appendChild(r)}}return Object(r.a)(e,[{key:"tooltipHandler",value:function(e,t,A,n){var r;if(this.el=document.getElementById(this.options.id),this.el||(this.el=document.createElement("div"),this.el.setAttribute("id",this.options.id),this.el.classList.add("vg-tooltip"),document.body.appendChild(this.el)),(null!==(r=document.fullscreenElement)&&void 0!==r?r:document.body).appendChild(this.el),null!=n&&""!==n){this.el.innerHTML=this.options.formatTooltip(n,this.options.sanitize,this.options.maxDepth),this.el.classList.add("visible","".concat(this.options.theme,"-theme"));var i=function(e,t,A,n){var r=e.clientX+A;r+t.width>window.innerWidth&&(r=+e.clientX-A-t.width);var i=e.clientY+n;return i+t.height>window.innerHeight&&(i=+e.clientY-n-t.height),{x:r,y:i}}(t,this.el.getBoundingClientRect(),this.options.offsetX,this.options.offsetY),o=i.x,a=i.y;this.el.setAttribute("style","top: ".concat(a,"px; left: ").concat(o,"px"))}else this.el.classList.remove("visible","".concat(this.options.theme,"-theme"))}}]),e}()},function(e,t,A){"use strict";var n=A(3),r=A.n(n),i=A(12),o=A(7),a={name:"Draco",id:"draco",module:"draco",version:"3.0.12",worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:"object"===typeof WebAssembly?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}},s=A(6),g=A(11),c=A(8),u=A(1),l=A(4),I=A(25);function C(e){for(var t=1/0,A=1/0,n=1/0,r=-1/0,i=-1/0,o=-1/0,a=e.POSITION?e.POSITION.value:[],s=a&&a.length,g=0;g<s;g+=3){var c=a[g],u=a[g+1],l=a[g+2];t=c<t?c:t,A=u<A?u:A,n=l<n?l:n,r=c>r?c:r,i=u>i?u:i,o=l>o?l:o}return[[t,A,n],[r,i,o]]}var h=function(){function e(t,A){Object(u.a)(this,e),Object(I.a)(this,"fields",void 0),Object(I.a)(this,"metadata",void 0),function(e,t){if(!e)throw new Error(t||"loader assertion failed.")}(Array.isArray(t)),function(e){var t,A={},n=Object(s.a)(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;A[r.name]&&console.warn("Schema: duplicated field name",r.name,r),A[r.name]=!0}}catch(i){n.e(i)}finally{n.f()}}(t),this.fields=t,this.metadata=A||new Map}return Object(l.a)(e,[{key:"compareTo",value:function(e){if(this.metadata!==e.metadata)return!1;if(this.fields.length!==e.fields.length)return!1;for(var t=0;t<this.fields.length;++t)if(!this.fields[t].compareTo(e.fields[t]))return!1;return!0}},{key:"select",value:function(){for(var t=Object.create(null),A=arguments.length,n=new Array(A),r=0;r<A;r++)n[r]=arguments[r];for(var i=0,o=n;i<o.length;i++){var a=o[i];t[a]=!0}var s=this.fields.filter((function(e){return t[e.name]}));return new e(s,this.metadata)}},{key:"selectAt",value:function(){for(var t=this,A=arguments.length,n=new Array(A),r=0;r<A;r++)n[r]=arguments[r];var i=n.map((function(e){return t.fields[e]})).filter(Boolean);return new e(i,this.metadata)}},{key:"assign",value:function(t){var A,n=this.metadata;if(t instanceof e){var r=t;A=r.fields,n=f(f(new Map,this.metadata),r.metadata)}else A=t;var i,o=Object.create(null),a=Object(s.a)(this.fields);try{for(a.s();!(i=a.n()).done;){var g=i.value;o[g.name]=g}}catch(I){a.e(I)}finally{a.f()}var c,u=Object(s.a)(A);try{for(u.s();!(c=u.n()).done;){var l=c.value;o[l.name]=l}}catch(I){u.e(I)}finally{u.f()}return new e(Object.values(o),n)}}]),e}();function f(e,t){return new Map([].concat(Object(g.a)(e||new Map),Object(g.a)(t||new Map)))}var d,B,p,E,Q=A(24),y=A(9),v=A(10);!function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth"}(d||(d={}));var m=function(){function e(){Object(u.a)(this,e)}return Object(l.a)(e,[{key:"compareTo",value:function(e){return this===e}},{key:"typeId",get:function(){return d.NONE}}],[{key:"isNull",value:function(e){return e&&e.typeId===d.Null}},{key:"isInt",value:function(e){return e&&e.typeId===d.Int}},{key:"isFloat",value:function(e){return e&&e.typeId===d.Float}},{key:"isBinary",value:function(e){return e&&e.typeId===d.Binary}},{key:"isUtf8",value:function(e){return e&&e.typeId===d.Utf8}},{key:"isBool",value:function(e){return e&&e.typeId===d.Bool}},{key:"isDecimal",value:function(e){return e&&e.typeId===d.Decimal}},{key:"isDate",value:function(e){return e&&e.typeId===d.Date}},{key:"isTime",value:function(e){return e&&e.typeId===d.Time}},{key:"isTimestamp",value:function(e){return e&&e.typeId===d.Timestamp}},{key:"isInterval",value:function(e){return e&&e.typeId===d.Interval}},{key:"isList",value:function(e){return e&&e.typeId===d.List}},{key:"isStruct",value:function(e){return e&&e.typeId===d.Struct}},{key:"isUnion",value:function(e){return e&&e.typeId===d.Union}},{key:"isFixedSizeBinary",value:function(e){return e&&e.typeId===d.FixedSizeBinary}},{key:"isFixedSizeList",value:function(e){return e&&e.typeId===d.FixedSizeList}},{key:"isMap",value:function(e){return e&&e.typeId===d.Map}},{key:"isDictionary",value:function(e){return e&&e.typeId===d.Dictionary}}]),e}();B=Symbol.toStringTag;var b=function(e){Object(y.a)(A,e);var t=Object(v.a)(A);function A(e,n){var r;return Object(u.a)(this,A),r=t.call(this),Object(I.a)(Object(Q.a)(r),"isSigned",void 0),Object(I.a)(Object(Q.a)(r),"bitWidth",void 0),r.isSigned=e,r.bitWidth=n,r}return Object(l.a)(A,[{key:"toString",value:function(){return"".concat(this.isSigned?"I":"Ui","nt").concat(this.bitWidth)}},{key:"typeId",get:function(){return d.Int}},{key:B,get:function(){return"Int"}}]),A}(m),w=function(e){Object(y.a)(A,e);var t=Object(v.a)(A);function A(){return Object(u.a)(this,A),t.call(this,!0,8)}return A}(b),S=function(e){Object(y.a)(A,e);var t=Object(v.a)(A);function A(){return Object(u.a)(this,A),t.call(this,!0,16)}return A}(b),F=function(e){Object(y.a)(A,e);var t=Object(v.a)(A);function A(){return Object(u.a)(this,A),t.call(this,!0,32)}return A}(b),R=function(e){Object(y.a)(A,e);var t=Object(v.a)(A);function A(){return Object(u.a)(this,A),t.call(this,!1,8)}return A}(b),D=function(e){Object(y.a)(A,e);var t=Object(v.a)(A);function A(){return Object(u.a)(this,A),t.call(this,!1,16)}return A}(b),G=function(e){Object(y.a)(A,e);var t=Object(v.a)(A);function A(){return Object(u.a)(this,A),t.call(this,!1,32)}return A}(b),k=32,x=64;p=Symbol.toStringTag;var N=function(e){Object(y.a)(A,e);var t=Object(v.a)(A);function A(e){var n;return Object(u.a)(this,A),n=t.call(this),Object(I.a)(Object(Q.a)(n),"precision",void 0),n.precision=e,n}return Object(l.a)(A,[{key:"toString",value:function(){return"Float".concat(this.precision)}},{key:"typeId",get:function(){return d.Float}},{key:p,get:function(){return"Float"}}]),A}(m),U=function(e){Object(y.a)(A,e);var t=Object(v.a)(A);function A(){return Object(u.a)(this,A),t.call(this,k)}return A}(N),_=function(e){Object(y.a)(A,e);var t=Object(v.a)(A);function A(){return Object(u.a)(this,A),t.call(this,x)}return A}(N);Symbol.toStringTag;Symbol.toStringTag;Symbol.toStringTag;Symbol.toStringTag;E=Symbol.toStringTag;var M=function(e){Object(y.a)(A,e);var t=Object(v.a)(A);function A(e,n){var r;return Object(u.a)(this,A),r=t.call(this),Object(I.a)(Object(Q.a)(r),"listSize",void 0),Object(I.a)(Object(Q.a)(r),"children",void 0),r.listSize=e,r.children=[n],r}return Object(l.a)(A,[{key:"toString",value:function(){return"FixedSizeList[".concat(this.listSize,"]<").concat(this.valueType,">")}},{key:"typeId",get:function(){return d.FixedSizeList}},{key:"valueType",get:function(){return this.children[0].type}},{key:"valueField",get:function(){return this.children[0]}},{key:E,get:function(){return"FixedSizeList"}}]),A}(m);var O=function(){function e(t,A){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map;Object(u.a)(this,e),Object(I.a)(this,"name",void 0),Object(I.a)(this,"type",void 0),Object(I.a)(this,"nullable",void 0),Object(I.a)(this,"metadata",void 0),this.name=t,this.type=A,this.nullable=n,this.metadata=r}return Object(l.a)(e,[{key:"clone",value:function(){return new e(this.name,this.type,this.nullable,this.metadata)}},{key:"compareTo",value:function(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}},{key:"toString",value:function(){return"".concat(this.type).concat(this.nullable?", nullable":"").concat(this.metadata?", metadata: ".concat(this.metadata):"")}},{key:"typeId",get:function(){return this.type&&this.type.typeId}}]),e}();function L(e,t,A){var n=Z(t.metadata),r=[],i=function(e){var t={};for(var A in e){var n=e[A];t[n.name||"undefined"]=n}return t}(t.attributes);for(var o in e){var a=T(o,e[o],i[o]);r.push(a)}if(A){var s=T("indices",A);r.push(s)}return new h(r,n)}function T(e,t,A){var n=A?Z(A.metadata):void 0,r=function(e){switch(e.constructor){case Int8Array:return new w;case Uint8Array:return new R;case Int16Array:return new S;case Uint16Array:return new D;case Int32Array:return new F;case Uint32Array:return new G;case Float32Array:return new U;case Float64Array:return new _;default:throw new Error("array type not supported")}}(t.value);return new O(e,new M(t.size,new O("value",r)),!1,n)}function Z(e){var t=new Map;for(var A in e)t.set("".concat(A,".string"),JSON.stringify(e[A]));return t}var H={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},Y={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},J=function(){function e(t){Object(u.a)(this,e),Object(I.a)(this,"draco",void 0),Object(I.a)(this,"decoder",void 0),Object(I.a)(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}return Object(l.a)(e,[{key:"destroy",value:function(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}},{key:"parseSync",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=new this.draco.DecoderBuffer;A.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);var n=this.decoder.GetEncodedGeometryType(A),r=n===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{var i;switch(n){case this.draco.TRIANGULAR_MESH:i=this.decoder.DecodeBufferToMesh(A,r);break;case this.draco.POINT_CLOUD:i=this.decoder.DecodeBufferToPointCloud(A,r);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!i.ok()||!r.ptr){var a="DRACO decompression failed: ".concat(i.error_msg());throw new Error(a)}var s=this._getDracoLoaderData(r,n,t),g=this._getMeshData(r,s,t),c=C(g.attributes),u=L(g.attributes,s,g.indices),l=Object(o.a)({loader:"draco",loaderData:s,header:{vertexCount:r.num_points(),boundingBox:c}},g,{schema:u});return l}finally{this.draco.destroy(A),r&&this.draco.destroy(r)}}},{key:"_getDracoLoaderData",value:function(e,t,A){var n=this._getTopLevelMetadata(e),r=this._getDracoAttributes(e,A);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:n,attributes:r}}},{key:"_getDracoAttributes",value:function(e,t){for(var A={},n=0;n<e.num_attributes();n++){var r=this.decoder.GetAttribute(e,n),i=this._getAttributeMetadata(e,n);A[r.unique_id()]={unique_id:r.unique_id(),attribute_type:r.attribute_type(),data_type:r.data_type(),num_components:r.num_components(),byte_offset:r.byte_offset(),byte_stride:r.byte_stride(),normalized:r.normalized(),attribute_index:n,metadata:i};var o=this._getQuantizationTransform(r,t);o&&(A[r.unique_id()].quantization_transform=o);var a=this._getOctahedronTransform(r,t);a&&(A[r.unique_id()].octahedron_transform=a)}return A}},{key:"_getMeshData",value:function(e,t,A){var n=this._getMeshAttributes(t,e,A);if(!n.POSITION)throw new Error("DRACO: No position attribute found.");if(e instanceof this.draco.Mesh)switch(A.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:n,indices:{value:this._getTriangleStripIndices(e),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:n,indices:{value:this._getTriangleListIndices(e),size:1}}}return{topology:"point-list",mode:0,attributes:n}}},{key:"_getMeshAttributes",value:function(e,t,A){for(var n={},r=0,i=Object.values(e.attributes);r<i.length;r++){var o=i[r],a=this._deduceAttributeName(o,A);o.name=a;var s=this._getAttributeValues(t,o),g=s.value,c=s.size;n[a]={value:g,size:c,byteOffset:o.byte_offset,byteStride:o.byte_stride,normalized:o.normalized}}return n}},{key:"_getTriangleListIndices",value:function(e){var t=3*e.num_faces(),A=4*t,n=this.draco._malloc(A);try{return this.decoder.GetTrianglesUInt32Array(e,A,n),new Uint32Array(this.draco.HEAPF32.buffer,n,t).slice()}finally{this.draco._free(n)}}},{key:"_getTriangleStripIndices",value:function(e){var t=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(e,t),function(e){for(var t=e.size(),A=new Int32Array(t),n=0;n<t;n++)A[n]=e.GetValue(n);return A}(t)}finally{this.draco.destroy(t)}}},{key:"_getAttributeValues",value:function(e,t){var A,n=Y[t.data_type],r=t.num_components,i=e.num_points()*r,o=i*n.BYTES_PER_ELEMENT,a=function(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32;default:return e.DT_INVALID}}(this.draco,n),s=this.draco._malloc(o);try{var g=this.decoder.GetAttribute(e,t.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(e,g,a,o,s),A=new n(this.draco.HEAPF32.buffer,s,i).slice()}finally{this.draco._free(s)}return{value:A,size:r}}},{key:"_deduceAttributeName",value:function(e,t){for(var A=e.unique_id,n=0,r=Object.entries(t.extraAttributes||{});n<r.length;n++){var i=Object(c.a)(r[n],2),o=i[0];if(i[1]===A)return o}var a=e.attribute_type;for(var s in H){if(this.draco[s]===a)return H[s]}var g=t.attributeNameEntry||"name";return e.metadata[g]?e.metadata[g].string:"CUSTOM_ATTRIBUTE_".concat(A)}},{key:"_getTopLevelMetadata",value:function(e){var t=this.decoder.GetMetadata(e);return this._getDracoMetadata(t)}},{key:"_getAttributeMetadata",value:function(e,t){var A=this.decoder.GetAttributeMetadata(e,t);return this._getDracoMetadata(A)}},{key:"_getDracoMetadata",value:function(e){if(!e||!e.ptr)return{};for(var t={},A=this.metadataQuerier.NumEntries(e),n=0;n<A;n++){var r=this.metadataQuerier.GetEntryName(e,n);t[r]=this._getDracoMetadataField(e,r)}return t}},{key:"_getDracoMetadataField",value:function(e,t){var A=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(e,t,A);var n=function(e){for(var t=e.size(),A=new Int32Array(t),n=0;n<t;n++)A[n]=e.GetValue(n);return A}(A);return{int:this.metadataQuerier.GetIntEntry(e,t),string:this.metadataQuerier.GetStringEntry(e,t),double:this.metadataQuerier.GetDoubleEntry(e,t),intArray:n}}finally{this.draco.destroy(A)}}},{key:"_disableAttributeTransforms",value:function(e){var t,A=e.quantizedAttributes,n=void 0===A?[]:A,r=e.octahedronAttributes,i=void 0===r?[]:r,o=[].concat(Object(g.a)(n),Object(g.a)(i)),a=Object(s.a)(o);try{for(a.s();!(t=a.n()).done;){var c=t.value;this.decoder.SkipAttributeTransform(this.draco[c])}}catch(u){a.e(u)}finally{a.f()}}},{key:"_getQuantizationTransform",value:function(e,t){var A=this,n=t.quantizedAttributes,r=void 0===n?[]:n,i=e.attribute_type();if(r.map((function(e){return A.decoder[e]})).includes(i)){var o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map((function(e){return o.min_value(e)}))}}finally{this.draco.destroy(o)}}return null}},{key:"_getOctahedronTransform",value:function(e,t){var A=this,n=t.octahedronAttributes,r=void 0===n?[]:n,i=e.attribute_type();if(r.map((function(e){return A.decoder[e]})).includes(i)){var o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}]),e}();var j=A(170),P=A(334),V=A(115),K={};function W(e){return X.apply(this,arguments)}function X(){return(X=Object(i.a)(r.a.mark((function e(t){var A,n,i=arguments;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=i.length>1&&void 0!==i[1]?i[1]:null,n=i.length>2&&void 0!==i[2]?i[2]:{},A&&(t=q(t,A,n)),K[t]=K[t]||z(t),e.next=6,K[t];case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function q(e,t,A){if(e.startsWith("http"))return e;var n=A.modules||{};return n[e]?n[e]:j.b?A.CDN?(Object(V.a)(A.CDN.startsWith("http")),"".concat(A.CDN,"/").concat(t,"@").concat("3.0.12","/dist/libs/").concat(e)):j.d?"../src/libs/".concat(e):"modules/".concat(t,"/src/libs/").concat(e):"modules/".concat(t,"/dist/libs/").concat(e)}function z(e){return $.apply(this,arguments)}function $(){return($=Object(i.a)(r.a.mark((function e(t){var A,n,i;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.endsWith("wasm")){e.next=7;break}return e.next=3,fetch(t);case 3:return A=e.sent,e.next=6,A.arrayBuffer();case 6:return e.abrupt("return",e.sent);case 7:if(j.b){e.next=14;break}if(e.t0=P.requireFromFile,!e.t0){e.next=13;break}return e.next=12,P.requireFromFile(t);case 12:e.t0=e.sent;case 13:return e.abrupt("return",e.t0);case 14:if(!j.d){e.next=16;break}return e.abrupt("return",importScripts(t));case 16:return e.next=18,fetch(t);case 18:return n=e.sent,e.next=21,n.text();case 21:return i=e.sent,e.abrupt("return",ee(i,t));case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ee(e,t){if(!j.b)return P.requireFromString&&P.requireFromString(e,t);if(j.d)return eval.call(j.a,e),null;var A=document.createElement("script");A.id=t;try{A.appendChild(document.createTextNode(e))}catch(n){A.text=e}return document.body.appendChild(A),null}var te,Ae="https://www.gstatic.com/draco/versioned/decoders/".concat("1.4.1","/draco_decoder.js"),ne="https://www.gstatic.com/draco/versioned/decoders/".concat("1.4.1","/draco_wasm_wrapper.js"),re="https://www.gstatic.com/draco/versioned/decoders/".concat("1.4.1","/draco_decoder.wasm");"https://raw.githubusercontent.com/google/draco/".concat("1.4.1","/javascript/draco_encoder.js");function ie(e){return oe.apply(this,arguments)}function oe(){return(oe=Object(i.a)(r.a.mark((function e(t){var A;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=t.modules||{},te=A.draco3d?te||A.draco3d.createDecoderModule({}).then((function(e){return{draco:e}})):te||ae(t),e.next=4,te;case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ae(e){return se.apply(this,arguments)}function se(){return(se=Object(i.a)(r.a.mark((function e(t){var A,n,i,o;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t.draco&&t.draco.decoderType,e.next="js"===e.t0?3:(e.t0,7);break;case 3:return e.next=5,W(Ae,"draco",t);case 5:return A=e.sent,e.abrupt("break",21);case 7:return e.t1=Promise,e.next=10,W(ne,"draco",t);case 10:return e.t2=e.sent,e.next=13,W(re,"draco",t);case 13:return e.t3=e.sent,e.t4=[e.t2,e.t3],e.next=17,e.t1.all.call(e.t1,e.t4);case 17:i=e.sent,o=Object(c.a)(i,2),A=o[0],n=o[1];case 21:return A=A||globalThis.DracoDecoderModule,e.next=24,ge(A,n);case 24:return e.abrupt("return",e.sent);case 25:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ge(e,t){var A={};return t&&(A.wasmBinary=t),new Promise((function(t){e(Object(o.a)({},A,{onModuleLoaded:function(e){return t({draco:e})}}))}))}A.d(t,"a",(function(){return ce}));var ce=Object(o.a)({},a,{parse:function(e,t){return ue.apply(this,arguments)}});function ue(){return(ue=Object(i.a)(r.a.mark((function e(t,A){var n,i,o;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ie(A);case 2:return n=e.sent,i=n.draco,o=new J(i),e.prev=5,e.abrupt("return",o.parseSync(t,null===A||void 0===A?void 0:A.draco));case 7:return e.prev=7,o.destroy(),e.finish(7);case 10:case"end":return e.stop()}}),e,null,[[5,,7,10]])})))).apply(this,arguments)}},function(e,t,A){"use strict";var n=A(2),r=A(1),i=A(4),o=A(18),a=A(528),s=A(108),g=A(26),c=A(428),u=A(1288),l=A(139),I=A(80),C=A(24),h=A(16),f=A(17),d=A(9),B=A(10),p=A(92),E=null;function Q(e,t){var A;return new e((A=e.BYTES_PER_ELEMENT*t,(!E||E.byteLength<A)&&(E=new ArrayBuffer(A)),E),0,t)}var y=A(132),v=A(405),m=A(406);function b(e){if(!e&&!Object(v.a)())return"Node";if(Object(m.a)(e))return"Electron";var t="undefined"!==typeof navigator?navigator:{},A=e||t.userAgent||"";if(A.indexOf("Edge")>-1)return"Edge";var n=-1!==A.indexOf("MSIE "),r=-1!==A.indexOf("Trident/");return n||r?"IE":y.b.chrome?"Chrome":y.b.safari?"Safari":y.b.mozInnerScreenX?"Firefox":"Unknown"}var w="elements must be GL.ELEMENT_ARRAY_BUFFER",S=function(e){Object(d.a)(A,e);var t=Object(B.a)(A);function A(e){var n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(r.a)(this,A);var o=i.id||i.program&&i.program.id;return(n=t.call(this,e,Object.assign({},i,{id:o}))).buffer=null,n.bufferValue=null,n.isDefaultArray=i.isDefaultArray||!1,n.gl2=e,n.initialize(i),Object.seal(Object(C.a)(n)),n}return Object(i.a)(A,null,[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return!t.constantAttributeZero||(Object(o.j)(e)||"Chrome"===b())}},{key:"getDefaultArray",value:function(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new A(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}},{key:"getMaxAttributes",value:function(e){return A.MAX_ATTRIBUTES=A.MAX_ATTRIBUTES||e.getParameter(34921),A.MAX_ATTRIBUTES}},{key:"setConstant",value:function(e,t,n){switch(n.constructor){case Float32Array:A._setConstantFloatArray(e,t,n);break;case Int32Array:A._setConstantIntArray(e,t,n);break;case Uint32Array:A._setConstantUintArray(e,t,n);break;default:Object(g.a)(!1)}}}]),Object(i.a)(A,[{key:"delete",value:function(){return Object(f.a)(Object(h.a)(A.prototype),"delete",this).call(this),this.buffer&&this.buffer.delete(),this}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setProps(e)}},{key:"setProps",value:function(e){return this}},{key:"setElementBuffer",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Object(g.a)(!t||34963===t.target,w),this.bind((function(){e.gl.bindBuffer(34963,t?t.handle:null)})),this}},{key:"setBuffer",value:function(e,t,A){if(34963===t.target)return this.setElementBuffer(t,A);var n=A.size,r=A.type,i=A.stride,a=A.offset,s=A.normalized,c=A.integer,u=A.divisor,l=this.gl,I=this.gl2;return e=Number(e),this.bind((function(){l.bindBuffer(34962,t.handle),c?(Object(g.a)(Object(o.j)(l)),I.vertexAttribIPointer(e,n,r,i,a)):l.vertexAttribPointer(e,n,r,s,i,a),l.enableVertexAttribArray(e),I.vertexAttribDivisor(e,u||0)})),this}},{key:"enable",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!n&&0===e&&!A.isSupported(this.gl,{constantAttributeZero:!0});return r||(e=Number(e),this.bind((function(){return n?t.gl.enableVertexAttribArray(e):t.gl.disableVertexAttribArray(e)}))),this}},{key:"getConstantBuffer",value:function(e,t){var A=this._normalizeConstantArrayValue(t),n=A.byteLength*e,r=A.length*e,i=!this.buffer;if(this.buffer=this.buffer||new I.a(this.gl,n),i=(i=i||this.buffer.reallocate(n))||!this._compareConstantArrayValues(A,this.bufferValue)){var o=Q(t.constructor,r);!function(e){for(var t=e.target,A=e.source,n=e.start,r=void 0===n?0:n,i=e.count,o=void 0===i?1:i,a=A.length,s=o*a,g=0,c=r;g<a;g++)t[c++]=A[g];for(;g<s;)g<s-g?(t.copyWithin(r+g,r,r+g),g*=2):(t.copyWithin(r+g,r,r+s-g),g=s)}({target:o,source:A,start:0,count:r}),this.buffer.subData(o),this.bufferValue=t}return this.buffer}},{key:"_normalizeConstantArrayValue",value:function(e){return Array.isArray(e)?new Float32Array(e):e}},{key:"_compareConstantArrayValues",value:function(e,t){if(!e||!t||e.length!==t.length||e.constructor!==t.constructor)return!1;for(var A=0;A<e.length;++A)if(e[A]!==t[A])return!1;return!0}},{key:"_createHandle",value:function(){return this.gl.createVertexArray()}},{key:"_deleteHandle",value:function(e){return this.gl2.deleteVertexArray(e),[this.elements]}},{key:"_bindHandle",value:function(e){this.gl2.bindVertexArray(e)}},{key:"_getParameter",value:function(e,t){var A=this,n=t.location;return Object(g.a)(Number.isFinite(n)),this.bind((function(){switch(e){case 34373:return A.gl.getVertexAttribOffset(n,e);default:return A.gl.getVertexAttrib(n,e)}}))}},{key:"MAX_ATTRIBUTES",get:function(){return A.getMaxAttributes(this.gl)}}],[{key:"_setConstantFloatArray",value:function(e,t,A){switch(A.length){case 1:e.vertexAttrib1fv(t,A);break;case 2:e.vertexAttrib2fv(t,A);break;case 3:e.vertexAttrib3fv(t,A);break;case 4:e.vertexAttrib4fv(t,A);break;default:Object(g.a)(!1)}}},{key:"_setConstantIntArray",value:function(e,t,A){switch(Object(g.a)(Object(o.j)(e)),A.length){case 1:e.vertexAttribI1iv(t,A);break;case 2:e.vertexAttribI2iv(t,A);break;case 3:e.vertexAttribI3iv(t,A);break;case 4:e.vertexAttribI4iv(t,A);break;default:Object(g.a)(!1)}}},{key:"_setConstantUintArray",value:function(e,t,A){switch(Object(g.a)(Object(o.j)(e)),A.length){case 1:e.vertexAttribI1uiv(t,A);break;case 2:e.vertexAttribI2uiv(t,A);break;case 3:e.vertexAttribI3uiv(t,A);break;case 4:e.vertexAttribI4uiv(t,A);break;default:Object(g.a)(!1)}}}]),A}(p.a),F=A(407),R=/^(.+)__LOCATION_([0-9]+)$/,D=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"],G=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(r.a)(this,e);var n=A.id||A.program&&A.program.id;this.id=n,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new S(t),Object(F.a)(this,"VertexArray","v6.0",D),this.initialize(A),Object.seal(this)}return Object(i.a)(e,[{key:"delete",value:function(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}},{key:"reset",value:function(){this.elements=null,this.elementsAccessor=null;var e=this.vertexArrayObject.MAX_ATTRIBUTES;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}},{key:"setProps",value:function(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}},{key:"clearDrawParams",value:function(){this.drawParams=null}},{key:"getDrawParams",value:function(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}},{key:"setAttributes",value:function(e){var t=this;return Object.assign(this.attributes,e),this.vertexArrayObject.bind((function(){for(var A in e){var n=e[A];t._setAttribute(A,n)}t.gl.bindBuffer(34962,null)})),this}},{key:"setElementBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}},{key:"setBuffer",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(34963===t.target)return this.setElementBuffer(t,A);var n=this._resolveLocationAndAccessor(e,t,t.accessor,A),r=n.location,i=n.accessor;return r>=0&&(this.values[r]=t,this.accessors[r]=i,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,i)),this}},{key:"setConstant",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},A)),r=n.location,i=n.accessor;return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=i,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}},{key:"unbindBuffers",value:function(){var e=this;return this.vertexArrayObject.bind((function(){e.elements&&e.vertexArrayObject.setElementBuffer(null),e.buffer=e.buffer||new I.a(e.gl,{accessor:{size:4}});for(var t=0;t<e.vertexArrayObject.MAX_ATTRIBUTES;t++)e.values[t]instanceof I.a&&(e.gl.disableVertexAttribArray(t),e.gl.bindBuffer(34962,e.buffer.handle),e.gl.vertexAttribPointer(t,1,5126,!1,0,0))})),this}},{key:"bindBuffers",value:function(){var e=this;return this.vertexArrayObject.bind((function(){e.elements&&e.setElementBuffer(e.elements);for(var t=0;t<e.vertexArrayObject.MAX_ATTRIBUTES;t++){var A=e.values[t];A instanceof I.a&&e.setBuffer(t,A)}})),this}},{key:"bindForDraw",value:function(e,t,A){var n,r=this;return this.vertexArrayObject.bind((function(){r._setConstantAttributes(e,t),n=A()})),n}},{key:"_resolveLocationAndAccessor",value:function(e,t,A,n){var r=this,i={location:-1,accessor:null},a=this._getAttributeIndex(e),s=a.location,c=a.name;if(!Number.isFinite(s)||s<0)return this.unused[e]=t,o.k.once(3,(function(){return"unused value ".concat(e," in ").concat(r.id)}))(),i;var u=this._getAttributeInfo(c||s);if(!u)return i;var I=this.accessors[s]||{},C=l.a.resolve(u.accessor,I,A,n),h=C.size,f=C.type;return Object(g.a)(Number.isFinite(h)&&Number.isFinite(f)),{location:s,accessor:C}}},{key:"_getAttributeInfo",value:function(e){return this.configuration&&this.configuration.getAttributeInfo(e)}},{key:"_getAttributeIndex",value:function(e){var t=Number(e);if(Number.isFinite(t))return{location:t};var A=R.exec(e),n=A?A[1]:e,r=A?Number(A[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(n)+r,name:n}:{location:-1}}},{key:"_setAttribute",value:function(e,t){if(t instanceof I.a)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof I.a){var A=t[0],n=t[1];this.setBuffer(e,A,n)}else if(ArrayBuffer.isView(t)||Array.isArray(t)){var r=t;this.setConstant(e,r)}else{if(!(t.buffer instanceof I.a))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");var i=t;this.setBuffer(e,i.buffer,i)}}},{key:"_setConstantAttributes",value:function(e,t){var A=Math.max(0|e,0|t),n=this.values[0];ArrayBuffer.isView(n)&&this._setConstantAttributeZero(n,A);for(var r=1;r<this.vertexArrayObject.MAX_ATTRIBUTES;r++)n=this.values[r],ArrayBuffer.isView(n)&&this._setConstantAttribute(r,n)}},{key:"_setConstantAttributeZero",value:function(e,t){if(S.isSupported(this.gl,{constantAttributeZero:!0}))this._setConstantAttribute(0,e);else{var A=this.vertexArrayObject.getConstantBuffer(t,e);this.vertexArrayObject.setBuffer(0,A,this.accessors[0])}}},{key:"_setConstantAttribute",value:function(e,t){S.setConstant(this.gl,e,t)}},{key:"_updateDrawParams",value:function(){for(var e={isIndexed:!1,isInstanced:!1,indexCount:1/0,vertexCount:1/0,instanceCount:1/0},t=0;t<this.vertexArrayObject.MAX_ATTRIBUTES;t++)this._updateDrawParamsForLocation(e,t);return this.elements&&(e.elementCount=this.elements.getElementCount(this.elements.accessor),e.isIndexed=!0,e.indexType=this.elementsAccessor.type||this.elements.accessor.type,e.indexOffset=this.elementsAccessor.offset||0),e.indexCount===1/0&&(e.indexCount=0),e.vertexCount===1/0&&(e.vertexCount=0),e.instanceCount===1/0&&(e.instanceCount=0),e}},{key:"_updateDrawParamsForLocation",value:function(e,t){var A=this.values[t],n=this.accessors[t];if(A){var r=n.divisor>0;if(e.isInstanced=e.isInstanced||r,A instanceof I.a){var i=A;if(r){var o=i.getVertexCount(n);e.instanceCount=Math.min(e.instanceCount,o)}else{var a=i.getVertexCount(n);e.vertexCount=Math.min(e.vertexCount,a)}}}}},{key:"setElements",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o.k.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}]),e}(),k=A(1246),x=A(109),N=A(175);function U(e,t){for(var A=t.maxElts,n=void 0===A?16:A,r=t.size,i=void 0===r?1:r,o="[",a=0;a<e.length&&a<n;++a)a>0&&(o+=",".concat(a%i===0?" ":"")),o+=_(e[a],t);var s=e.length>n?"...":"]";return"".concat(o).concat(s)}function _(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=1e-16,n=t.isInteger,r=void 0!==n&&n;if(Array.isArray(e)||ArrayBuffer.isView(e))return U(e,t);if(!Number.isFinite(e))return String(e);if(Math.abs(e)<A)return r?"0":"0.";if(r)return e.toFixed(0);if(Math.abs(e)>100&&Math.abs(e)<1e4)return e.toFixed(0);var i=e.toPrecision(2),o=i.indexOf(".0");return o===i.length-2?i.slice(0,-1):i}function M(e,t,A,r){var i,o,a=e.gl;if(!t)return o={},Object(n.a)(o,r,"null"),Object(n.a)(o,"Format ","N/A"),o;var s,g,c,u="NOT PROVIDED",l=1,C=0,h=0;if(A&&(u=A.type,l=A.size,s=-1!==(u=String(u).replace("Array","")).indexOf("nt")),t instanceof I.a){var f,d,B=t,p=B.getDebugData(),E=p.data;if(g=p.changed?"*":"",c=E,C=(h=B.byteLength)/E.BYTES_PER_ELEMENT/l,A){var Q=A.divisor>0;d="".concat(Q?"I ":"P "," ").concat(C," (x").concat(l,"=").concat(h," bytes ").concat(Object(x.a)(a,u),")")}else s=!0,d="".concat(h," bytes");return f={},Object(n.a)(f,r,"".concat(g).concat(_(c,{size:l,isInteger:s}))),Object(n.a)(f,"Format ",d),f}return c=t,l=t.length,s=-1!==(u=String(t.constructor.name).replace("Array","")).indexOf("nt"),i={},Object(n.a)(i,r,"".concat(_(c,{size:l,isInteger:s})," (constant)")),Object(n.a)(i,"Format ","".concat(l,"x").concat(u," (constant)")),i}function O(e,t){var A=t.type,n=t.size,r=Object(N.b)(A,n);return r?"".concat(e," (").concat(r.name,")"):e}var L=A(6);function T(e){var t=e.header,A=void 0===t?"Uniforms":t,r=e.program,i=e.uniforms,o=e.undefinedOnly,a=void 0!==o&&o;Object(g.a)(r);var s,c=r._uniformSetters,u={},l=Object.keys(c).sort(),I=0,C=Object(L.a)(l);try{for(C.s();!(s=C.n()).done;){var h=s.value;h.match(".*_.*")||h.match(".*Matrix")||Z({table:u,header:A,uniforms:i,uniformName:h,undefinedOnly:a})&&I++}}catch(w){C.e(w)}finally{C.f()}var f,d=Object(L.a)(l);try{for(d.s();!(f=d.n()).done;){var B=f.value;B.match(".*Matrix")&&Z({table:u,header:A,uniforms:i,uniformName:B,undefinedOnly:a})&&I++}}catch(w){d.e(w)}finally{d.f()}var p,E=Object(L.a)(l);try{for(E.s();!(p=E.n()).done;){var Q=p.value;u[Q]||Z({table:u,header:A,uniforms:i,uniformName:Q,undefinedOnly:a})&&I++}}catch(w){E.e(w)}finally{E.f()}var y=0,v={};if(!a)for(var m in i){var b=i[m];u[m]||(y++,v[m]=Object(n.a)({Type:"NOT USED: ".concat(b)},A,_(b)))}return{table:u,count:I,unusedTable:v,unusedCount:y}}function Z(e){var t,A=e.table,r=e.header,i=e.uniforms,o=e.uniformName,a=e.undefinedOnly,s=i[o],g=function(e){return void 0!==e&&null!==e}(s);return(!a||!g)&&(A[o]=(t={},Object(n.a)(t,r,g?_(s):"N/A"),Object(n.a)(t,"Uniform Type",g?s:"NOT PROVIDED"),t),!0)}function H(e){var t=e.accessor,A=t.type,n=t.size,r=Object(N.b)(A,n);return r?"".concat(r.name," ").concat(e.name):e.name}var Y=A(7),J={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function j(e,t){var A=(t||{}).attributeMap,n=void 0===A?J:A;return n&&n[e]||e}function P(e,t){var A;switch(e){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":A="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":A="vectors"}switch(A){case"vectors":t.size=t.size||3;break;case"uvs":t.size=t.size||2}Object(g.a)(Number.isFinite(t.size),"attribute ".concat(e," needs size"))}A.d(t,"a",(function(){return W}));var V=function(){},K={},W=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(r.a)(this,e);var n=A.id,i=void 0===n?Object(s.c)("model"):n;Object(g.a)(Object(o.i)(t)),this.id=i,this.gl=t,this.id=A.id||Object(s.c)("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(A)}return Object(i.a)(e,[{key:"initialize",value:function(e){this.props={},this.programManager=e.programManager||a.a.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;var t=e.program,A=void 0===t?null:t,n=e.vs,r=e.fs,i=e.modules,o=e.defines,s=e.inject,c=e.varyings,u=e.bufferMode,l=e.transpileToGLSL100;this.programProps={program:A,vs:n,fs:r,modules:i,defines:o,inject:s,varyings:c,bufferMode:u,transpileToGLSL100:l},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},Object(g.a)(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}},{key:"setProps",value:function(e){this._setModelProps(e)}},{key:"delete",value:function(){for(var e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}},{key:"getDrawMode",value:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getInstanceCount",value:function(){return this.instanceCount}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getProgram",value:function(){return this.program}},{key:"setProgram",value:function(e){var t=e.program,A=e.vs,n=e.fs,r=e.modules,i=e.defines,o=e.inject,a=e.varyings,s=e.bufferMode,g=e.transpileToGLSL100;this.programProps={program:t,vs:A,fs:n,modules:r,defines:i,inject:o,varyings:a,bufferMode:s,transpileToGLSL100:g},this._programDirty=!0}},{key:"getUniforms",value:function(){return this.uniforms}},{key:"setDrawMode",value:function(e){return this.drawMode=e,this}},{key:"setVertexCount",value:function(e){return Object(g.a)(Number.isFinite(e)),this.vertexCount=e,this}},{key:"setInstanceCount",value:function(e){return Object(g.a)(Number.isFinite(e)),this.instanceCount=e,this}},{key:"setGeometry",value:function(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(e,t,A){var n={},r=t.indices;for(var i in t.attributes){var o=t.attributes[i],a=j(i,A);if("indices"===i)r=o;else if(o.constant)n[a]=o.value;else{var s=o.value,c=Object(Y.a)({},o);delete c.value,n[a]=[new I.a(e,s),c],P(i,c)}}if(r){var u=r.value||r;Object(g.a)(u instanceof Uint16Array||u instanceof Uint32Array,'attribute array for "indices" must be of integer type');var l={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};n.indices=[new I.a(e,{data:u,target:34963}),l]}return n}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}},{key:"setAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Object(s.a)(e))return this;var t={};for(var A in e){var n=e[A];t[A]=n.getValue?n.getValue():n}return this.vertexArray.setAttributes(t),this}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign(this.uniforms,e),this}},{key:"getModuleUniforms",value:function(e){this._checkProgram();var t=this.programManager.getUniforms(this.program);return t?t(e):{}}},{key:"updateModuleSettings",value:function(e){var t=this.getModuleUniforms(e||{});return this.setUniforms(t)}},{key:"clear",value:function(e){return Object(c.a)(this.program.gl,e),this}},{key:"draw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._checkProgram();var t,A=e.moduleSettings,n=void 0===A?null:A,r=e.framebuffer,i=e.uniforms,a=void 0===i?{}:i,s=e.attributes,g=void 0===s?{}:s,c=e.transformFeedback,u=void 0===c?this.transformFeedback:c,l=e.parameters,I=void 0===l?{}:l,C=e.vertexArray,h=void 0===C?this.vertexArray:C;this.setAttributes(g),this.updateModuleSettings(n),this.setUniforms(a),o.k.priority>=2&&(t=this._logDrawCallStart(2));var f=this.vertexArray.getDrawParams(),d=this.props,B=d.isIndexed,p=void 0===B?f.isIndexed:B,E=d.indexType,Q=void 0===E?f.indexType:E,y=d.indexOffset,v=void 0===y?f.indexOffset:y,m=d.vertexArrayInstanced,b=void 0===m?f.isInstanced:m;b&&!this.isInstanced&&o.k.warn("Found instanced attributes on non-instanced model",this.id)();var w=this.isInstanced,S=this.instanceCount,F=this.props,R=F.onBeforeRender,D=void 0===R?V:R,G=F.onAfterRender,k=void 0===G?V:G;D(),this.program.setUniforms(this.uniforms);var x=this.program.draw(Object.assign(K,e,{logPriority:t,uniforms:null,framebuffer:r,parameters:I,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:h,transformFeedback:u,isIndexed:p,indexType:Q,isInstanced:w,instanceCount:S,offset:p?v:0}));return k(),o.k.priority>=2&&this._logDrawCallEnd(t,h,r),x}},{key:"transform",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.discard,A=void 0===t||t,r=e.feedbackBuffers,i=e.unbindModels,o=void 0===i?[]:i,a=e.parameters;r&&this._setFeedbackBuffers(r),A&&(a=Object.assign({},a,Object(n.a)({},35977,A))),o.forEach((function(e){return e.vertexArray.unbindBuffers()}));try{this.draw(Object.assign({},e,{parameters:a}))}finally{o.forEach((function(e){return e.vertexArray.bindBuffers()}))}return this}},{key:"render",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o.k.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}},{key:"_setModelProps",value:function(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}},{key:"_checkProgram",value:function(){if(this._programDirty||this.programManager.stateHash!==this._programManagerState){var e=this.programProps.program;if(e)this._managedProgram=!1;else{var t=this.programProps,A=t.vs,n=t.fs,r=t.modules,i=t.inject,o=t.defines,a=t.varyings,s=t.bufferMode,c=t.transpileToGLSL100;e=this.programManager.get({vs:A,fs:n,modules:r,inject:i,defines:o,varyings:a,bufferMode:s,transpileToGLSL100:c}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}Object(g.a)(e instanceof u.a,"Model needs a program"),this._programDirty=!1,e!==this.program&&(this.program=e,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new G(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}}},{key:"_deleteGeometryBuffers",value:function(){for(var e in this.geometryBuffers){var t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof I.a&&t.delete()}}},{key:"_setAnimationProps",value:function(e){this.animated&&Object(g.a)(e,"Model.draw(): animated uniforms but no animationProps")}},{key:"_setFeedbackBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Object(s.a)(e))return this;var t=this.program.gl;return this.transformFeedback=this.transformFeedback||new k.a(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}},{key:"_logDrawCallStart",value:function(e){var t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime<t))return this.lastLogTime=Date.now(),o.k.group(2,">>> DRAWING MODEL ".concat(this.id),{collapsed:o.k.level<=2})(),e}},{key:"_logDrawCallEnd",value:function(e,t,A,r){if(void 0!==e){var i=function(e){var t=e.vertexArray,A=e.header,n=void 0===A?"Attributes":A;if(!t.configuration)return{};var r={};t.elements&&(r.ELEMENT_ARRAY_BUFFER=M(t,t.elements,null,n));var i=t.values;for(var o in i){var a=t._getAttributeInfo(o);if(a){var s="".concat(o,": ").concat(a.name),g=t.accessors[a.location];g&&(s="".concat(o,": ").concat(O(a.name,g))),r[s]=M(t,i[o],g,n)}}return r}({vertexArray:t,header:"".concat(this.id," attributes"),attributes:this._attributes}),a=T({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,A)}),s=a.table,g=a.unusedTable,c=a.unusedCount,u=T({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,A),undefinedOnly:!0}),l=u.table;u.count>0&&o.k.log("MISSING UNIFORMS",Object.keys(l))(),c>0&&o.k.log("UNUSED UNIFORMS",Object.keys(g))();var I=function(e){var t,A={},r="Accessors for ".concat(e.id),i=Object(L.a)(e.attributeInfos);try{for(i.s();!(t=i.n()).done;){var o=t.value;if(o){var a=H(o);A["in ".concat(a)]=Object(n.a)({},r,JSON.stringify(o.accessor))}}}catch(l){i.e(l)}finally{i.f()}var s,g=Object(L.a)(e.varyingInfos);try{for(g.s();!(s=g.n()).done;){var c=s.value;if(c){var u=H(c);A["out ".concat(u)]=Object(n.a)({},r,JSON.stringify(c.accessor))}}}catch(l){g.e(l)}finally{g.f()}return A}(this.vertexArray.configuration);o.k.table(e,i)(),o.k.table(e,s)(),o.k.table(e+1,I)(),r&&r.log({logLevel:2,message:"Rendered to ".concat(r.id)}),o.k.groupEnd(2,">>> DRAWING MODEL ".concat(this.id))()}}}]),e}()},function(e,t,A){"use strict";var n=A(1),r=A(4),i=A(314),o=function(){function e(t,A){Object(n.a)(this,e),this.name=t,this.type=A,this.sampleSize=1,this.reset()}return Object(r.a)(e,[{key:"setSampleSize",value:function(e){return this.sampleSize=e,this}},{key:"incrementCount",value:function(){return this.addCount(1),this}},{key:"decrementCount",value:function(){return this.subtractCount(1),this}},{key:"addCount",value:function(e){return this._count+=e,this._samples++,this._checkSampling(),this}},{key:"subtractCount",value:function(e){return this._count-=e,this._samples++,this._checkSampling(),this}},{key:"addTime",value:function(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}},{key:"timeStart",value:function(){return this._startTime=Object(i.a)(),this._timerPending=!0,this}},{key:"timeEnd",value:function(){return this._timerPending?(this.addTime(Object(i.a)()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}},{key:"getSampleAverageCount",value:function(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}},{key:"getSampleAverageTime",value:function(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}},{key:"getSampleHz",value:function(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}},{key:"getAverageCount",value:function(){return this.samples>0?this.count/this.samples:0}},{key:"getAverageTime",value:function(){return this.samples>0?this.time/this.samples:0}},{key:"getHz",value:function(){return this.time>0?this.samples/(this.time/1e3):0}},{key:"reset",value:function(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}},{key:"_checkSampling",value:function(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}]),e}(),a=function(){function e(t){var A=t.id,r=t.stats;Object(n.a)(this,e),this.id=A,this.stats={},this._initializeStats(r),Object.seal(this)}return Object(r.a)(e,[{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"count";return this._getOrCreate({name:e,type:t})}},{key:"reset",value:function(){for(var e in this.stats)this.stats[e].reset();return this}},{key:"forEach",value:function(e){for(var t in this.stats)e(this.stats[t])}},{key:"getTable",value:function(){var e={};return this.forEach((function(t){e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}})),e}},{key:"_initializeStats",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach((function(t){return e._getOrCreate(t)}))}},{key:"_getOrCreate",value:function(e){if(!e||!e.name)return null;var t=e.name,A=e.type;return this.stats[t]||(this.stats[t]=e instanceof o?e:new o(t,A)),this.stats[t]}},{key:"size",get:function(){return Object.keys(this.stats).length}}]),e}();A.d(t,"a",(function(){return a}))},function(e,t,A){"use strict";function n(e){return 180*(e%(2*Math.PI))/Math.PI}function r(e){return e%360*Math.PI/180}function i(e){if(!e)throw new Error("coord is required");if(!Array.isArray(e)){if("Feature"===e.type&&null!==e.geometry&&"Point"===e.geometry.type)return e.geometry.coordinates;if("Point"===e.type)return e.coordinates}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return e;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function o(e,t){var A=r(e[1]),i=r(t[1]),o=r(t[0]-e[0]);o>Math.PI&&(o-=2*Math.PI),o<-Math.PI&&(o+=2*Math.PI);var a=Math.log(Math.tan(i/2+Math.PI/4)/Math.tan(A/2+Math.PI/4));return(n(Math.atan2(o,a))+360)%360}t.a=function(e,t,A){var n;return void 0===A&&(A={}),(n=A.final?o(i(t),i(e)):o(i(e),i(t)))>180?-(360-n):n}},function(e,t,A){"use strict";var n=A(93),r=A.n(n),i=A(98),o=A.n(i),a=A(278),s=A.n(a),g=A(279),c=A.n(g),u=A(280),l=A.n(u),I=A(281),C=A.n(I),h=A(0),f=A.n(h),d=A(13),B=A.n(d),p=A(61),E=A.n(p),Q=A(237),y=A.n(Q),v=A(229),m=A(100),b=A(328),w=A(52),S=function(e){function t(e){s()(this,t);var A=l()(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return A.onNodeDragStart=function(e,t){var n=A.state.expandedKeys,r=A.props.onDragStart,i=t.props,o=i.eventKey,a=i.children;A.dragNode=t,A.setState({dragNodesKeys:Object(w.j)(a,t),expandedKeys:Object(w.b)(n,o)}),r&&r({event:e,node:t})},A.onNodeDragEnter=function(e,t){var n=A.state.expandedKeys,r=A.props.onDragEnter,i=t.props,o=i.pos,a=i.eventKey;if(A.dragNode){var s=Object(w.c)(e,t);A.dragNode.props.eventKey!==a||0!==s?setTimeout((function(){A.setState({dragOverNodeKey:a,dropPosition:s}),A.delayedDragEnterLogic||(A.delayedDragEnterLogic={}),Object.keys(A.delayedDragEnterLogic).forEach((function(e){clearTimeout(A.delayedDragEnterLogic[e])})),A.delayedDragEnterLogic[o]=setTimeout((function(){var i=Object(w.a)(n,a);"expandedKeys"in A.props||A.setState({expandedKeys:i}),r&&r({event:e,node:t,expandedKeys:i})}),400)}),0):A.setState({dragOverNodeKey:"",dropPosition:null})}},A.onNodeDragOver=function(e,t){var n=A.props.onDragOver,r=t.props.eventKey;if(A.dragNode&&r===A.state.dragOverNodeKey){var i=Object(w.c)(e,t);if(i===A.state.dropPosition)return;A.setState({dropPosition:i})}n&&n({event:e,node:t})},A.onNodeDragLeave=function(e,t){var n=A.props.onDragLeave;A.setState({dragOverNodeKey:""}),n&&n({event:e,node:t})},A.onNodeDragEnd=function(e,t){var n=A.props.onDragEnd;A.setState({dragOverNodeKey:""}),n&&n({event:e,node:t}),A.dragNode=null},A.onNodeDrop=function(e,t){var n=A.state,r=n.dragNodesKeys,i=void 0===r?[]:r,o=n.dropPosition,a=A.props.onDrop,s=t.props,g=s.eventKey,c=s.pos;if(A.setState({dragOverNodeKey:""}),-1===i.indexOf(g)){var u=Object(w.o)(c),l={event:e,node:t,dragNode:A.dragNode,dragNodesKeys:i.slice(),dropPosition:o+Number(u[u.length-1])};0!==o&&(l.dropToGap=!0),a&&a(l),A.dragNode=null}else y()(!1,"Can not drop to dragNode(include it's children node)")},A.onNodeClick=function(e,t){var n=A.props.onClick;n&&n(e,t)},A.onNodeDoubleClick=function(e,t){var n=A.props.onDoubleClick;n&&n(e,t)},A.onNodeSelect=function(e,t){var n=A.state.selectedKeys,r=A.state.keyEntities,i=A.props,o=i.onSelect,a=i.multiple,s=t.props,g=s.selected,c=s.eventKey,u=!g,l=(n=u?a?Object(w.a)(n,c):[c]:Object(w.b)(n,c)).map((function(e){var t=r[e];return t?t.node:null})).filter((function(e){return e}));(A.setUncontrolledState({selectedKeys:n}),o)&&o(n,{event:"select",selected:u,node:t,selectedNodes:l,nativeEvent:e.nativeEvent})},A.onNodeCheck=function(e,t,n){var r=A.state,i=r.keyEntities,o=r.checkedKeys,a=r.halfCheckedKeys,s=A.props,g=s.checkStrictly,c=s.onCheck,u=t.props.eventKey,l=void 0,I={event:"check",node:t,checked:n,nativeEvent:e.nativeEvent};if(g){var C=n?Object(w.a)(o,u):Object(w.b)(o,u);l={checked:C,halfChecked:Object(w.b)(a,u)},I.checkedNodes=C.map((function(e){return i[e]})).filter((function(e){return e})).map((function(e){return e.node})),A.setUncontrolledState({checkedKeys:C})}else{var h=Object(w.e)([u],n,i,{checkedKeys:o,halfCheckedKeys:a}),f=h.checkedKeys,d=h.halfCheckedKeys;l=f,I.checkedNodes=[],I.checkedNodesPositions=[],I.halfCheckedKeys=d,f.forEach((function(e){var t=i[e];if(t){var A=t.node,n=t.pos;I.checkedNodes.push(A),I.checkedNodesPositions.push({node:A,pos:n})}})),A.setUncontrolledState({checkedKeys:f,halfCheckedKeys:d})}c&&c(l,I)},A.onNodeLoad=function(e){return new Promise((function(t){A.setState((function(n){var r=n.loadedKeys,i=void 0===r?[]:r,o=n.loadingKeys,a=void 0===o?[]:o,s=A.props,g=s.loadData,c=s.onLoad,u=e.props.eventKey;return g&&-1===i.indexOf(u)&&-1===a.indexOf(u)?(g(e).then((function(){var n=Object(w.a)(A.state.loadedKeys,u),r=Object(w.b)(A.state.loadingKeys,u);c&&c(n,{event:"load",node:e});A.setUncontrolledState({loadedKeys:n}),A.setState({loadingKeys:r}),t()})),{loadingKeys:Object(w.a)(a,u)}):{}}))}))},A.onNodeExpand=function(e,t){var n=A.state.expandedKeys,r=A.props,i=r.onExpand,o=r.loadData,a=t.props,s=a.eventKey,g=a.expanded,c=n.indexOf(s),u=!g;if(y()(g&&-1!==c||!g&&-1===c,"Expand state not sync with index check"),n=u?Object(w.a)(n,s):Object(w.b)(n,s),A.setUncontrolledState({expandedKeys:n}),i&&i(n,{node:t,expanded:u,nativeEvent:e.nativeEvent}),u&&o){var l=A.onNodeLoad(t);return l?l.then((function(){A.setUncontrolledState({expandedKeys:n})})):null}return null},A.onNodeMouseEnter=function(e,t){var n=A.props.onMouseEnter;n&&n({event:e,node:t})},A.onNodeMouseLeave=function(e,t){var n=A.props.onMouseLeave;n&&n({event:e,node:t})},A.onNodeContextMenu=function(e,t){var n=A.props.onRightClick;n&&(e.preventDefault(),n({event:e,node:t}))},A.setUncontrolledState=function(e){var t=!1,n={};Object.keys(e).forEach((function(r){r in A.props||(t=!0,n[r]=e[r])})),t&&A.setState(n)},A.registerTreeNode=function(e,t){t?A.domTreeNodes[e]=t:delete A.domTreeNodes[e]},A.isKeyChecked=function(e){var t=A.state.checkedKeys;return-1!==(void 0===t?[]:t).indexOf(e)},A.renderTreeNode=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=A.state,i=r.keyEntities,o=r.expandedKeys,a=void 0===o?[]:o,s=r.selectedKeys,g=void 0===s?[]:s,c=r.halfCheckedKeys,u=void 0===c?[]:c,l=r.loadedKeys,I=void 0===l?[]:l,C=r.loadingKeys,h=void 0===C?[]:C,d=r.dragOverNodeKey,B=r.dropPosition,p=Object(w.l)(n,t),E=e.key||p;return i[E]?f.a.cloneElement(e,{key:E,eventKey:E,expanded:-1!==a.indexOf(E),selected:-1!==g.indexOf(E),loaded:-1!==I.indexOf(E),loading:-1!==h.indexOf(E),checked:A.isKeyChecked(E),halfChecked:-1!==u.indexOf(E),pos:p,dragOver:d===E&&0===B,dragOverGapTop:d===E&&-1===B,dragOverGapBottom:d===E&&1===B}):(Object(w.p)(),null)},A.state={posEntities:{},keyEntities:{},selectedKeys:[],checkedKeys:[],halfCheckedKeys:[],loadedKeys:[],loadingKeys:[],treeNode:[]},A.domTreeNodes={},A}return C()(t,e),c()(t,[{key:"getChildContext",value:function(){var e=this.props,t=e.prefixCls,A=e.selectable,n=e.showIcon,r=e.icon,i=e.draggable,o=e.checkable,a=e.checkStrictly,s=e.disabled,g=e.loadData,c=e.filterTreeNode,u=e.motion;return{rcTree:{prefixCls:t,selectable:A,showIcon:n,icon:r,switcherIcon:e.switcherIcon,draggable:i,checkable:o,checkStrictly:a,disabled:s,motion:u,loadData:g,filterTreeNode:c,renderTreeNode:this.renderTreeNode,isKeyChecked:this.isKeyChecked,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop,registerTreeNode:this.registerTreeNode}}}},{key:"render",value:function(){var e=this,t=this.state.treeNode,A=this.props,n=A.prefixCls,i=A.className,a=A.focusable,s=A.style,g=A.showLine,c=A.tabIndex,u=void 0===c?0:c,l=Object(w.i)(this.props);return a&&(l.tabIndex=u,l.onKeyDown=this.onKeyDown),f.a.createElement("ul",r()({},l,{className:E()(n,i,o()({},n+"-show-line",g)),style:s,role:"tree",unselectable:"on"}),Object(w.m)(t,(function(t,A){return e.renderTreeNode(t,A)})))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var A=t.prevProps,n={prevProps:e};function r(t){return!A&&t in e||A&&A[t]!==e[t]}var i=null;if(r("treeData")?i=Object(w.g)(e.treeData):r("children")&&(i=Object(v.a)(e.children)),i){n.treeNode=i;var o=Object(w.h)(i);n.posEntities=o.posEntities,n.keyEntities=o.keyEntities}var a=n.keyEntities||t.keyEntities;if(r("expandedKeys")||A&&r("autoExpandParent")?n.expandedKeys=e.autoExpandParent||!A&&e.defaultExpandParent?Object(w.f)(e.expandedKeys,a):e.expandedKeys:!A&&e.defaultExpandAll?n.expandedKeys=Object.keys(a):!A&&e.defaultExpandedKeys&&(n.expandedKeys=e.autoExpandParent||e.defaultExpandParent?Object(w.f)(e.defaultExpandedKeys,a):e.defaultExpandedKeys),e.selectable&&(r("selectedKeys")?n.selectedKeys=Object(w.d)(e.selectedKeys,e):!A&&e.defaultSelectedKeys&&(n.selectedKeys=Object(w.d)(e.defaultSelectedKeys,e))),e.checkable){var s=void 0;if(r("checkedKeys")?s=Object(w.n)(e.checkedKeys)||{}:!A&&e.defaultCheckedKeys?s=Object(w.n)(e.defaultCheckedKeys)||{}:i&&(s=Object(w.n)(e.checkedKeys)||{checkedKeys:t.checkedKeys,halfCheckedKeys:t.halfCheckedKeys}),s){var g=s,c=g.checkedKeys,u=void 0===c?[]:c,l=g.halfCheckedKeys,I=void 0===l?[]:l;if(!e.checkStrictly){var C=Object(w.e)(u,!0,a);u=C.checkedKeys,I=C.halfCheckedKeys}n.checkedKeys=u,n.halfCheckedKeys=I}}return r("loadedKeys")&&(n.loadedKeys=e.loadedKeys),n}}]),t}(f.a.Component);S.propTypes={prefixCls:B.a.string,className:B.a.string,style:B.a.object,tabIndex:B.a.oneOfType([B.a.string,B.a.number]),children:B.a.any,treeData:B.a.array,showLine:B.a.bool,showIcon:B.a.bool,icon:B.a.oneOfType([B.a.node,B.a.func]),focusable:B.a.bool,selectable:B.a.bool,disabled:B.a.bool,multiple:B.a.bool,checkable:B.a.oneOfType([B.a.bool,B.a.node]),checkStrictly:B.a.bool,draggable:B.a.bool,defaultExpandParent:B.a.bool,autoExpandParent:B.a.bool,defaultExpandAll:B.a.bool,defaultExpandedKeys:B.a.arrayOf(B.a.string),expandedKeys:B.a.arrayOf(B.a.string),defaultCheckedKeys:B.a.arrayOf(B.a.string),checkedKeys:B.a.oneOfType([B.a.arrayOf(B.a.oneOfType([B.a.string,B.a.number])),B.a.object]),defaultSelectedKeys:B.a.arrayOf(B.a.string),selectedKeys:B.a.arrayOf(B.a.string),onClick:B.a.func,onDoubleClick:B.a.func,onExpand:B.a.func,onCheck:B.a.func,onSelect:B.a.func,onLoad:B.a.func,loadData:B.a.func,loadedKeys:B.a.arrayOf(B.a.string),onMouseEnter:B.a.func,onMouseLeave:B.a.func,onRightClick:B.a.func,onDragStart:B.a.func,onDragEnter:B.a.func,onDragOver:B.a.func,onDragLeave:B.a.func,onDragEnd:B.a.func,onDrop:B.a.func,filterTreeNode:B.a.func,motion:B.a.object,switcherIcon:B.a.oneOfType([B.a.node,B.a.func])},S.childContextTypes=b.b,S.defaultProps={prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[]},Object(m.a)(S);var F=S,R=A(317);A.d(t,"a",(function(){return R.a})),F.TreeNode=R.a;t.b=F},function(e,t,A){"use strict";t.a={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#d5d5d5",A200:"#aaaaaa",A400:"#303030",A700:"#616161"}},function(e,t,A){"use strict";A.d(t,"a",(function(){return a}));var n,r=A(2),i=A(161),o=A(232),a={WEBGL2:"WEBGL2",VERTEX_ARRAY_OBJECT:"VERTEX_ARRAY_OBJECT",TIMER_QUERY:"TIMER_QUERY",INSTANCED_RENDERING:"INSTANCED_RENDERING",MULTIPLE_RENDER_TARGETS:"MULTIPLE_RENDER_TARGETS",ELEMENT_INDEX_UINT32:"ELEMENT_INDEX_UINT32",BLEND_EQUATION_MINMAX:"BLEND_EQUATION_MINMAX",FLOAT_BLEND:"FLOAT_BLEND",COLOR_ENCODING_SRGB:"COLOR_ENCODING_SRGB",TEXTURE_DEPTH:"TEXTURE_DEPTH",TEXTURE_FLOAT:"TEXTURE_FLOAT",TEXTURE_HALF_FLOAT:"TEXTURE_HALF_FLOAT",TEXTURE_FILTER_LINEAR_FLOAT:"TEXTURE_FILTER_LINEAR_FLOAT",TEXTURE_FILTER_LINEAR_HALF_FLOAT:"TEXTURE_FILTER_LINEAR_HALF_FLOAT",TEXTURE_FILTER_ANISOTROPIC:"TEXTURE_FILTER_ANISOTROPIC",COLOR_ATTACHMENT_RGBA32F:"COLOR_ATTACHMENT_RGBA32F",COLOR_ATTACHMENT_FLOAT:"COLOR_ATTACHMENT_FLOAT",COLOR_ATTACHMENT_HALF_FLOAT:"COLOR_ATTACHMENT_HALF_FLOAT",GLSL_FRAG_DATA:"GLSL_FRAG_DATA",GLSL_FRAG_DEPTH:"GLSL_FRAG_DEPTH",GLSL_DERIVATIVES:"GLSL_DERIVATIVES",GLSL_TEXTURE_LOD:"GLSL_TEXTURE_LOD"};t.b=(n={},Object(r.a)(n,a.WEBGL2,[!1,!0]),Object(r.a)(n,a.VERTEX_ARRAY_OBJECT,["OES_vertex_array_object",!0]),Object(r.a)(n,a.TIMER_QUERY,["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"]),Object(r.a)(n,a.INSTANCED_RENDERING,["ANGLE_instanced_arrays",!0]),Object(r.a)(n,a.MULTIPLE_RENDER_TARGETS,["WEBGL_draw_buffers",!0]),Object(r.a)(n,a.ELEMENT_INDEX_UINT32,["OES_element_index_uint",!0]),Object(r.a)(n,a.BLEND_EQUATION_MINMAX,["EXT_blend_minmax",!0]),Object(r.a)(n,a.FLOAT_BLEND,["EXT_float_blend"]),Object(r.a)(n,a.COLOR_ENCODING_SRGB,["EXT_sRGB",!0]),Object(r.a)(n,a.TEXTURE_DEPTH,["WEBGL_depth_texture",!0]),Object(r.a)(n,a.TEXTURE_FLOAT,["OES_texture_float",!0]),Object(r.a)(n,a.TEXTURE_HALF_FLOAT,["OES_texture_half_float",!0]),Object(r.a)(n,a.TEXTURE_FILTER_LINEAR_FLOAT,["OES_texture_float_linear"]),Object(r.a)(n,a.TEXTURE_FILTER_LINEAR_HALF_FLOAT,["OES_texture_half_float_linear"]),Object(r.a)(n,a.TEXTURE_FILTER_ANISOTROPIC,["EXT_texture_filter_anisotropic"]),Object(r.a)(n,a.COLOR_ATTACHMENT_RGBA32F,[function(e){var t=new o.a(e,{format:6408,type:5126,dataFormat:6408}),A=new i.a(e,{id:"test-framebuffer",check:!1,attachments:Object(r.a)({},36064,t)}),n=A.getStatus();return t.delete(),A.delete(),36053===n},"EXT_color_buffer_float"]),Object(r.a)(n,a.COLOR_ATTACHMENT_FLOAT,[!1,"EXT_color_buffer_float"]),Object(r.a)(n,a.COLOR_ATTACHMENT_HALF_FLOAT,["EXT_color_buffer_half_float"]),Object(r.a)(n,a.GLSL_FRAG_DATA,["WEBGL_draw_buffers",!0]),Object(r.a)(n,a.GLSL_FRAG_DEPTH,["EXT_frag_depth",!0]),Object(r.a)(n,a.GLSL_DERIVATIVES,["OES_standard_derivatives",!0]),Object(r.a)(n,a.GLSL_TEXTURE_LOD,["EXT_shader_texture_lod",!0]),n)},function(e,t,A){"use strict";A.d(t,"a",(function(){return o})),A.d(t,"b",(function(){return a}));var n=A(8),r=A(18),i=A(26);function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.framebuffer,n=void 0===A?null:A,o=t.color,a=void 0===o?null:o,s=t.depth,g=void 0===s?null:s,c=t.stencil,u=void 0===c?null:c,l={};n&&(l.framebuffer=n);var I=0;a&&(I|=16384,!0!==a&&(l.clearColor=a)),g&&(I|=256,!0!==g&&(l.clearDepth=g)),u&&(I|=1024,!0!==g&&(l.clearStencil=g)),Object(i.a)(0!==I,"clear: bad arguments"),Object(r.o)(e,l,(function(){e.clear(I)}))}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.framebuffer,o=void 0===A?null:A,a=t.buffer,s=void 0===a?6144:a,g=t.drawBuffer,c=void 0===g?0:g,u=t.value,l=void 0===u?[0,0,0,0]:u;Object(r.a)(e),Object(r.o)(e,{framebuffer:o},(function(){switch(s){case 6144:switch(l.constructor){case Int32Array:e.clearBufferiv(s,c,l);break;case Uint32Array:e.clearBufferuiv(s,c,l);break;case Float32Array:default:e.clearBufferfv(s,c,l)}break;case 6145:e.clearBufferfv(6145,0,[l]);break;case 6146:e.clearBufferiv(6146,0,[l]);break;case 34041:var t=Object(n.a)(l,2),A=t[0],r=t[1];e.clearBufferfi(34041,0,A,r);break;default:Object(i.a)(!1,"clear: bad arguments")}}))}},function(e,t,A){"use strict";function n(e,t){if(!e)throw new Error(t||"shadertools: assertion failed.")}A.d(t,"a",(function(){return n}))},function(e,t,A){!function(e){"use strict";function t(){}function A(e){this.message=e||""}function n(e){this.message=e||""}function r(e){this.message=e||""}function i(){}function o(e){return null===e?Ne:e.color}function a(e){return null===e?null:e.parent}function s(e,t){null!==e&&(e.color=t)}function g(e){return null===e?null:e.left}function c(e){return null===e?null:e.right}function u(){this.root_=null,this.size_=0}function l(){}function I(){this.array_=[],arguments[0]instanceof Ee&&this.addAll(arguments[0])}function C(){}function h(e){this.message=e||""}function f(){this.array_=[]}"fill"in Array.prototype||Object.defineProperty(Array.prototype,"fill",{configurable:!0,value:function(e){if(void 0===this||null===this)throw new TypeError(this+" is not an object");var t=Object(this),A=Math.max(Math.min(t.length,9007199254740991),0)||0,n=1 in arguments&&parseInt(Number(arguments[1]),10)||0;n=n<0?Math.max(A+n,0):Math.min(n,A);var r=2 in arguments&&void 0!==arguments[2]?parseInt(Number(arguments[2]),10)||0:A;for(r=r<0?Math.max(A+arguments[2],0):Math.min(r,A);n<r;)t[n]=e,++n;return t},writable:!0}),Number.isFinite=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},Number.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},Number.parseFloat=Number.parseFloat||parseFloat,Number.isNaN=Number.isNaN||function(e){return e!=e},Math.trunc=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};var d=function(){};d.prototype.interfaces_=function(){return[]},d.prototype.getClass=function(){return d},d.prototype.equalsWithTolerance=function(e,t,A){return Math.abs(e-t)<=A};var B=function(e){function t(t){e.call(this,t),this.name="IllegalArgumentException",this.message=t,this.stack=(new e).stack}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(Error),p=function(){},E={MAX_VALUE:{configurable:!0}};p.isNaN=function(e){return Number.isNaN(e)},p.doubleToLongBits=function(e){return e},p.longBitsToDouble=function(e){return e},p.isInfinite=function(e){return!Number.isFinite(e)},E.MAX_VALUE.get=function(){return Number.MAX_VALUE},Object.defineProperties(p,E);var Q=function(){},y=function(){},v=function(){},m=function e(){if(this.x=null,this.y=null,this.z=null,0===arguments.length)this.x=0,this.y=0,this.z=e.NULL_ORDINATE;else if(1===arguments.length){var t=arguments[0];this.x=t.x,this.y=t.y,this.z=t.z}else 2===arguments.length?(this.x=arguments[0],this.y=arguments[1],this.z=e.NULL_ORDINATE):3===arguments.length&&(this.x=arguments[0],this.y=arguments[1],this.z=arguments[2])},b={DimensionalComparator:{configurable:!0},serialVersionUID:{configurable:!0},NULL_ORDINATE:{configurable:!0},X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0}};m.prototype.setOrdinate=function(e,t){switch(e){case m.X:this.x=t;break;case m.Y:this.y=t;break;case m.Z:this.z=t;break;default:throw new B("Invalid ordinate index: "+e)}},m.prototype.equals2D=function(){if(1===arguments.length){var e=arguments[0];return this.x===e.x&&this.y===e.y}if(2===arguments.length){var t=arguments[0],A=arguments[1];return!!d.equalsWithTolerance(this.x,t.x,A)&&!!d.equalsWithTolerance(this.y,t.y,A)}},m.prototype.getOrdinate=function(e){switch(e){case m.X:return this.x;case m.Y:return this.y;case m.Z:return this.z}throw new B("Invalid ordinate index: "+e)},m.prototype.equals3D=function(e){return this.x===e.x&&this.y===e.y&&(this.z===e.z||p.isNaN(this.z))&&p.isNaN(e.z)},m.prototype.equals=function(e){return e instanceof m&&this.equals2D(e)},m.prototype.equalInZ=function(e,t){return d.equalsWithTolerance(this.z,e.z,t)},m.prototype.compareTo=function(e){var t=e;return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0},m.prototype.clone=function(){},m.prototype.copy=function(){return new m(this)},m.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},m.prototype.distance3D=function(e){var t=this.x-e.x,A=this.y-e.y,n=this.z-e.z;return Math.sqrt(t*t+A*A+n*n)},m.prototype.distance=function(e){var t=this.x-e.x,A=this.y-e.y;return Math.sqrt(t*t+A*A)},m.prototype.hashCode=function(){var e=17;return 37*(e=37*e+m.hashCode(this.x))+m.hashCode(this.y)},m.prototype.setCoordinate=function(e){this.x=e.x,this.y=e.y,this.z=e.z},m.prototype.interfaces_=function(){return[Q,y,t]},m.prototype.getClass=function(){return m},m.hashCode=function(){if(1===arguments.length){var e=arguments[0],t=p.doubleToLongBits(e);return Math.trunc((t^t)>>>32)}},b.DimensionalComparator.get=function(){return w},b.serialVersionUID.get=function(){return 0x5cbf2c235c7e5800},b.NULL_ORDINATE.get=function(){return p.NaN},b.X.get=function(){return 0},b.Y.get=function(){return 1},b.Z.get=function(){return 2},Object.defineProperties(m,b);var w=function(e){if(this._dimensionsToTest=2,0===arguments.length);else if(1===arguments.length){var t=arguments[0];if(2!==t&&3!==t)throw new B("only 2 or 3 dimensions may be specified");this._dimensionsToTest=t}};w.prototype.compare=function(e,t){var A=e,n=t,r=w.compare(A.x,n.x);if(0!==r)return r;var i=w.compare(A.y,n.y);return 0!==i?i:this._dimensionsToTest<=2?0:w.compare(A.z,n.z)},w.prototype.interfaces_=function(){return[v]},w.prototype.getClass=function(){return w},w.compare=function(e,t){return e<t?-1:e>t?1:p.isNaN(e)?p.isNaN(t)?0:-1:p.isNaN(t)?1:0};var S=function(){};S.prototype.create=function(){},S.prototype.interfaces_=function(){return[]},S.prototype.getClass=function(){return S};var F=function(){},R={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};F.prototype.interfaces_=function(){return[]},F.prototype.getClass=function(){return F},F.toLocationSymbol=function(e){switch(e){case F.EXTERIOR:return"e";case F.BOUNDARY:return"b";case F.INTERIOR:return"i";case F.NONE:return"-"}throw new B("Unknown location value: "+e)},R.INTERIOR.get=function(){return 0},R.BOUNDARY.get=function(){return 1},R.EXTERIOR.get=function(){return 2},R.NONE.get=function(){return-1},Object.defineProperties(F,R);var D=function(e,t){return e.interfaces_&&e.interfaces_().indexOf(t)>-1},G=function(){},k={LOG_10:{configurable:!0}};G.prototype.interfaces_=function(){return[]},G.prototype.getClass=function(){return G},G.log10=function(e){var t=Math.log(e);return p.isInfinite(t)||p.isNaN(t)?t:t/G.LOG_10},G.min=function(e,t,A,n){var r=e;return t<r&&(r=t),A<r&&(r=A),n<r&&(r=n),r},G.clamp=function(){if("number"==typeof arguments[2]&&"number"==typeof arguments[0]&&"number"==typeof arguments[1]){var e=arguments[0],t=arguments[1],A=arguments[2];return e<t?t:e>A?A:e}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var n=arguments[0],r=arguments[1],i=arguments[2];return n<r?r:n>i?i:n}},G.wrap=function(e,t){return e<0?t- -e%t:e%t},G.max=function(){if(3===arguments.length){var e=arguments[0],t=arguments[1],A=arguments[2],n=e;return t>n&&(n=t),A>n&&(n=A),n}if(4===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2],a=arguments[3],s=r;return i>s&&(s=i),o>s&&(s=o),a>s&&(s=a),s}},G.average=function(e,t){return(e+t)/2},k.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(G,k);var x=function(e){this.str=e};x.prototype.append=function(e){this.str+=e},x.prototype.setCharAt=function(e,t){this.str=this.str.substr(0,e)+t+this.str.substr(e+1)},x.prototype.toString=function(e){return this.str};var N=function(e){this.value=e};N.prototype.intValue=function(){return this.value},N.prototype.compareTo=function(e){return this.value<e?-1:this.value>e?1:0},N.isNaN=function(e){return Number.isNaN(e)};var U=function(){};U.isWhitespace=function(e){return e<=32&&e>=0||127===e},U.toUpperCase=function(e){return e.toUpperCase()};var _=function e(){if(this._hi=0,this._lo=0,0===arguments.length)this.init(0);else if(1===arguments.length){if("number"==typeof arguments[0]){var t=arguments[0];this.init(t)}else if(arguments[0]instanceof e){var A=arguments[0];this.init(A)}else if("string"==typeof arguments[0]){var n=arguments[0];e.call(this,e.parse(n))}}else if(2===arguments.length){var r=arguments[0],i=arguments[1];this.init(r,i)}},M={PI:{configurable:!0},TWO_PI:{configurable:!0},PI_2:{configurable:!0},E:{configurable:!0},NaN:{configurable:!0},EPS:{configurable:!0},SPLIT:{configurable:!0},MAX_PRINT_DIGITS:{configurable:!0},TEN:{configurable:!0},ONE:{configurable:!0},SCI_NOT_EXPONENT_CHAR:{configurable:!0},SCI_NOT_ZERO:{configurable:!0}};_.prototype.le=function(e){return(this._hi<e._hi||this._hi===e._hi)&&this._lo<=e._lo},_.prototype.extractSignificantDigits=function(e,t){var A=this.abs(),n=_.magnitude(A._hi),r=_.TEN.pow(n);(A=A.divide(r)).gt(_.TEN)?(A=A.divide(_.TEN),n+=1):A.lt(_.ONE)&&(A=A.multiply(_.TEN),n-=1);for(var i=n+1,o=new x,a=_.MAX_PRINT_DIGITS-1,s=0;s<=a;s++){e&&s===i&&o.append(".");var g=Math.trunc(A._hi);if(g<0)break;var c=!1,u=0;g>9?(c=!0,u="9"):u="0"+g,o.append(u),A=A.subtract(_.valueOf(g)).multiply(_.TEN),c&&A.selfAdd(_.TEN);var l=!0,I=_.magnitude(A._hi);if(I<0&&Math.abs(I)>=a-s&&(l=!1),!l)break}return t[0]=n,o.toString()},_.prototype.sqr=function(){return this.multiply(this)},_.prototype.doubleValue=function(){return this._hi+this._lo},_.prototype.subtract=function(){if(arguments[0]instanceof _){var e=arguments[0];return this.add(e.negate())}if("number"==typeof arguments[0]){var t=arguments[0];return this.add(-t)}},_.prototype.equals=function(){if(1===arguments.length){var e=arguments[0];return this._hi===e._hi&&this._lo===e._lo}},_.prototype.isZero=function(){return 0===this._hi&&0===this._lo},_.prototype.selfSubtract=function(){if(arguments[0]instanceof _){var e=arguments[0];return this.isNaN()?this:this.selfAdd(-e._hi,-e._lo)}if("number"==typeof arguments[0]){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t,0)}},_.prototype.getSpecialNumberString=function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},_.prototype.min=function(e){return this.le(e)?this:e},_.prototype.selfDivide=function(){if(1===arguments.length){if(arguments[0]instanceof _){var e=arguments[0];return this.selfDivide(e._hi,e._lo)}if("number"==typeof arguments[0]){var t=arguments[0];return this.selfDivide(t,0)}}else if(2===arguments.length){var A=arguments[0],n=arguments[1],r=null,i=null,o=null,a=null,s=null,g=null,c=null,u=null;return s=this._hi/A,u=(r=(g=_.SPLIT*s)-(r=g-s))*(o=(u=_.SPLIT*A)-(o=u-A))-(c=s*A)+r*(a=A-o)+(i=s-r)*o+i*a,u=s+(g=(this._hi-c-u+this._lo-s*n)/A),this._hi=u,this._lo=s-u+g,this}},_.prototype.dump=function(){return"DD<"+this._hi+", "+this._lo+">"},_.prototype.divide=function(){if(arguments[0]instanceof _){var e=arguments[0],t=null,A=null,n=null,r=null,i=null,o=null,a=null,s=null;return A=(i=this._hi/e._hi)-(t=(o=_.SPLIT*i)-(t=o-i)),s=t*(n=(s=_.SPLIT*e._hi)-(n=s-e._hi))-(a=i*e._hi)+t*(r=e._hi-n)+A*n+A*r,o=(this._hi-a-s+this._lo-i*e._lo)/e._hi,new _(s=i+o,i-s+o)}if("number"==typeof arguments[0]){var g=arguments[0];return p.isNaN(g)?_.createNaN():_.copy(this).selfDivide(g,0)}},_.prototype.ge=function(e){return(this._hi>e._hi||this._hi===e._hi)&&this._lo>=e._lo},_.prototype.pow=function(e){if(0===e)return _.valueOf(1);var t=new _(this),A=_.valueOf(1),n=Math.abs(e);if(n>1)for(;n>0;)n%2==1&&A.selfMultiply(t),(n/=2)>0&&(t=t.sqr());else A=t;return e<0?A.reciprocal():A},_.prototype.ceil=function(){if(this.isNaN())return _.NaN;var e=Math.ceil(this._hi),t=0;return e===this._hi&&(t=Math.ceil(this._lo)),new _(e,t)},_.prototype.compareTo=function(e){var t=e;return this._hi<t._hi?-1:this._hi>t._hi?1:this._lo<t._lo?-1:this._lo>t._lo?1:0},_.prototype.rint=function(){return this.isNaN()?this:this.add(.5).floor()},_.prototype.setValue=function(){if(arguments[0]instanceof _){var e=arguments[0];return this.init(e),this}if("number"==typeof arguments[0]){var t=arguments[0];return this.init(t),this}},_.prototype.max=function(e){return this.ge(e)?this:e},_.prototype.sqrt=function(){if(this.isZero())return _.valueOf(0);if(this.isNegative())return _.NaN;var e=1/Math.sqrt(this._hi),t=this._hi*e,A=_.valueOf(t),n=this.subtract(A.sqr())._hi*(.5*e);return A.add(n)},_.prototype.selfAdd=function(){if(1===arguments.length){if(arguments[0]instanceof _){var e=arguments[0];return this.selfAdd(e._hi,e._lo)}if("number"==typeof arguments[0]){var t=arguments[0],A=null,n=null,r=null,i=null,o=null,a=null;return i=(r=this._hi+t)-(o=r-this._hi),n=(a=(i=t-o+(this._hi-i))+this._lo)+(r-(A=r+a)),this._hi=A+n,this._lo=n+(A-this._hi),this}}else if(2===arguments.length){var s=arguments[0],g=arguments[1],c=null,u=null,l=null,I=null,C=null,h=null,f=null;I=this._hi+s,u=this._lo+g,C=I-(h=I-this._hi),l=u-(f=u-this._lo);var d=(c=I+(h=(C=s-h+(this._hi-C))+u))+(h=(l=g-f+(this._lo-l))+(h+(I-c))),B=h+(c-d);return this._hi=d,this._lo=B,this}},_.prototype.selfMultiply=function(){if(1===arguments.length){if(arguments[0]instanceof _){var e=arguments[0];return this.selfMultiply(e._hi,e._lo)}if("number"==typeof arguments[0]){var t=arguments[0];return this.selfMultiply(t,0)}}else if(2===arguments.length){var A=arguments[0],n=arguments[1],r=null,i=null,o=null,a=null,s=null,g=null;r=(s=_.SPLIT*this._hi)-this._hi,g=_.SPLIT*A,r=s-r,i=this._hi-r,o=g-A;var c=(s=this._hi*A)+(g=r*(o=g-o)-s+r*(a=A-o)+i*o+i*a+(this._hi*n+this._lo*A)),u=g+(r=s-c);return this._hi=c,this._lo=u,this}},_.prototype.selfSqr=function(){return this.selfMultiply(this)},_.prototype.floor=function(){if(this.isNaN())return _.NaN;var e=Math.floor(this._hi),t=0;return e===this._hi&&(t=Math.floor(this._lo)),new _(e,t)},_.prototype.negate=function(){return this.isNaN()?this:new _(-this._hi,-this._lo)},_.prototype.clone=function(){},_.prototype.multiply=function(){if(arguments[0]instanceof _){var e=arguments[0];return e.isNaN()?_.createNaN():_.copy(this).selfMultiply(e)}if("number"==typeof arguments[0]){var t=arguments[0];return p.isNaN(t)?_.createNaN():_.copy(this).selfMultiply(t,0)}},_.prototype.isNaN=function(){return p.isNaN(this._hi)},_.prototype.intValue=function(){return Math.trunc(this._hi)},_.prototype.toString=function(){var e=_.magnitude(this._hi);return e>=-3&&e<=20?this.toStandardNotation():this.toSciNotation()},_.prototype.toStandardNotation=function(){var e=this.getSpecialNumberString();if(null!==e)return e;var t=new Array(1).fill(null),A=this.extractSignificantDigits(!0,t),n=t[0]+1,r=A;if("."===A.charAt(0))r="0"+A;else if(n<0)r="0."+_.stringOfChar("0",-n)+A;else if(-1===A.indexOf(".")){var i=n-A.length;r=A+_.stringOfChar("0",i)+".0"}return this.isNegative()?"-"+r:r},_.prototype.reciprocal=function(){var e,t,A,n,r=null,i=null,o=null,a=null;e=(A=1/this._hi)-(r=(o=_.SPLIT*A)-(r=o-A)),i=(a=_.SPLIT*this._hi)-this._hi;var s=A+(o=(1-(n=A*this._hi)-(a=r*(i=a-i)-n+r*(t=this._hi-i)+e*i+e*t)-A*this._lo)/this._hi);return new _(s,A-s+o)},_.prototype.toSciNotation=function(){if(this.isZero())return _.SCI_NOT_ZERO;var e=this.getSpecialNumberString();if(null!==e)return e;var t=new Array(1).fill(null),A=this.extractSignificantDigits(!1,t),n=_.SCI_NOT_EXPONENT_CHAR+t[0];if("0"===A.charAt(0))throw new Error("Found leading zero: "+A);var r="";A.length>1&&(r=A.substring(1));var i=A.charAt(0)+"."+r;return this.isNegative()?"-"+i+n:i+n},_.prototype.abs=function(){return this.isNaN()?_.NaN:this.isNegative()?this.negate():new _(this)},_.prototype.isPositive=function(){return(this._hi>0||0===this._hi)&&this._lo>0},_.prototype.lt=function(e){return(this._hi<e._hi||this._hi===e._hi)&&this._lo<e._lo},_.prototype.add=function(){if(arguments[0]instanceof _){var e=arguments[0];return _.copy(this).selfAdd(e)}if("number"==typeof arguments[0]){var t=arguments[0];return _.copy(this).selfAdd(t)}},_.prototype.init=function(){if(1===arguments.length){if("number"==typeof arguments[0]){var e=arguments[0];this._hi=e,this._lo=0}else if(arguments[0]instanceof _){var t=arguments[0];this._hi=t._hi,this._lo=t._lo}}else if(2===arguments.length){var A=arguments[0],n=arguments[1];this._hi=A,this._lo=n}},_.prototype.gt=function(e){return(this._hi>e._hi||this._hi===e._hi)&&this._lo>e._lo},_.prototype.isNegative=function(){return(this._hi<0||0===this._hi)&&this._lo<0},_.prototype.trunc=function(){return this.isNaN()?_.NaN:this.isPositive()?this.floor():this.ceil()},_.prototype.signum=function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0},_.prototype.interfaces_=function(){return[t,Q,y]},_.prototype.getClass=function(){return _},_.sqr=function(e){return _.valueOf(e).selfMultiply(e)},_.valueOf=function(){if("string"==typeof arguments[0]){var e=arguments[0];return _.parse(e)}if("number"==typeof arguments[0]){var t=arguments[0];return new _(t)}},_.sqrt=function(e){return _.valueOf(e).sqrt()},_.parse=function(e){for(var t=0,A=e.length;U.isWhitespace(e.charAt(t));)t++;var n=!1;if(t<A){var r=e.charAt(t);"-"!==r&&"+"!==r||(t++,"-"===r&&(n=!0))}for(var i=new _,o=0,a=0,s=0;!(t>=A);){var g=e.charAt(t);if(t++,U.isDigit(g)){var c=g-"0";i.selfMultiply(_.TEN),i.selfAdd(c),o++}else{if("."!==g){if("e"===g||"E"===g){var u=e.substring(t);try{s=N.parseInt(u)}catch(t){throw t instanceof Error?new Error("Invalid exponent "+u+" in string "+e):t}break}throw new Error("Unexpected character '"+g+"' at position "+t+" in string "+e)}a=o}}var l=i,I=o-a-s;if(0===I)l=i;else if(I>0){var C=_.TEN.pow(I);l=i.divide(C)}else if(I<0){var h=_.TEN.pow(-I);l=i.multiply(h)}return n?l.negate():l},_.createNaN=function(){return new _(p.NaN,p.NaN)},_.copy=function(e){return new _(e)},_.magnitude=function(e){var t=Math.abs(e),A=Math.log(t)/Math.log(10),n=Math.trunc(Math.floor(A));return 10*Math.pow(10,n)<=t&&(n+=1),n},_.stringOfChar=function(e,t){for(var A=new x,n=0;n<t;n++)A.append(e);return A.toString()},M.PI.get=function(){return new _(3.141592653589793,12246467991473532e-32)},M.TWO_PI.get=function(){return new _(6.283185307179586,24492935982947064e-32)},M.PI_2.get=function(){return new _(1.5707963267948966,6123233995736766e-32)},M.E.get=function(){return new _(2.718281828459045,14456468917292502e-32)},M.NaN.get=function(){return new _(p.NaN,p.NaN)},M.EPS.get=function(){return 123259516440783e-46},M.SPLIT.get=function(){return 134217729},M.MAX_PRINT_DIGITS.get=function(){return 32},M.TEN.get=function(){return _.valueOf(10)},M.ONE.get=function(){return _.valueOf(1)},M.SCI_NOT_EXPONENT_CHAR.get=function(){return"E"},M.SCI_NOT_ZERO.get=function(){return"0.0E0"},Object.defineProperties(_,M);var O=function(){},L={DP_SAFE_EPSILON:{configurable:!0}};O.prototype.interfaces_=function(){return[]},O.prototype.getClass=function(){return O},O.orientationIndex=function(e,t,A){var n=O.orientationIndexFilter(e,t,A);if(n<=1)return n;var r=_.valueOf(t.x).selfAdd(-e.x),i=_.valueOf(t.y).selfAdd(-e.y),o=_.valueOf(A.x).selfAdd(-t.x),a=_.valueOf(A.y).selfAdd(-t.y);return r.selfMultiply(a).selfSubtract(i.selfMultiply(o)).signum()},O.signOfDet2x2=function(e,t,A,n){return e.multiply(n).selfSubtract(t.multiply(A)).signum()},O.intersection=function(e,t,A,n){var r=_.valueOf(n.y).selfSubtract(A.y).selfMultiply(_.valueOf(t.x).selfSubtract(e.x)),i=_.valueOf(n.x).selfSubtract(A.x).selfMultiply(_.valueOf(t.y).selfSubtract(e.y)),o=r.subtract(i),a=_.valueOf(n.x).selfSubtract(A.x).selfMultiply(_.valueOf(e.y).selfSubtract(A.y)),s=_.valueOf(n.y).selfSubtract(A.y).selfMultiply(_.valueOf(e.x).selfSubtract(A.x)),g=a.subtract(s).selfDivide(o).doubleValue(),c=_.valueOf(e.x).selfAdd(_.valueOf(t.x).selfSubtract(e.x).selfMultiply(g)).doubleValue(),u=_.valueOf(t.x).selfSubtract(e.x).selfMultiply(_.valueOf(e.y).selfSubtract(A.y)),l=_.valueOf(t.y).selfSubtract(e.y).selfMultiply(_.valueOf(e.x).selfSubtract(A.x)),I=u.subtract(l).selfDivide(o).doubleValue(),C=_.valueOf(A.y).selfAdd(_.valueOf(n.y).selfSubtract(A.y).selfMultiply(I)).doubleValue();return new m(c,C)},O.orientationIndexFilter=function(e,t,A){var n=null,r=(e.x-A.x)*(t.y-A.y),i=(e.y-A.y)*(t.x-A.x),o=r-i;if(r>0){if(i<=0)return O.signum(o);n=r+i}else{if(!(r<0))return O.signum(o);if(i>=0)return O.signum(o);n=-r-i}var a=O.DP_SAFE_EPSILON*n;return o>=a||-o>=a?O.signum(o):2},O.signum=function(e){return e>0?1:e<0?-1:0},L.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(O,L);var T=function(){},Z={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};Z.X.get=function(){return 0},Z.Y.get=function(){return 1},Z.Z.get=function(){return 2},Z.M.get=function(){return 3},T.prototype.setOrdinate=function(e,t,A){},T.prototype.size=function(){},T.prototype.getOrdinate=function(e,t){},T.prototype.getCoordinate=function(){},T.prototype.getCoordinateCopy=function(e){},T.prototype.getDimension=function(){},T.prototype.getX=function(e){},T.prototype.clone=function(){},T.prototype.expandEnvelope=function(e){},T.prototype.copy=function(){},T.prototype.getY=function(e){},T.prototype.toCoordinateArray=function(){},T.prototype.interfaces_=function(){return[y]},T.prototype.getClass=function(){return T},Object.defineProperties(T,Z);var H=function(){},Y=function(e){function t(){e.call(this,"Projective point not representable on the Cartesian plane.")}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(H),J=function(){};J.arraycopy=function(e,t,A,n,r){for(var i=0,o=t;o<t+r;o++)A[n+i]=e[o],i++},J.getProperty=function(e){return{"line.separator":"\n"}[e]};var j=function e(){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){var t=arguments[0];this.x=t.x,this.y=t.y,this.w=1}else if(2===arguments.length){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){var A=arguments[0],n=arguments[1];this.x=A,this.y=n,this.w=1}else if(arguments[0]instanceof e&&arguments[1]instanceof e){var r=arguments[0],i=arguments[1];this.x=r.y*i.w-i.y*r.w,this.y=i.x*r.w-r.x*i.w,this.w=r.x*i.y-i.x*r.y}else if(arguments[0]instanceof m&&arguments[1]instanceof m){var o=arguments[0],a=arguments[1];this.x=o.y-a.y,this.y=a.x-o.x,this.w=o.x*a.y-a.x*o.y}}else if(3===arguments.length){var s=arguments[0],g=arguments[1],c=arguments[2];this.x=s,this.y=g,this.w=c}else if(4===arguments.length){var u=arguments[0],l=arguments[1],I=arguments[2],C=arguments[3],h=u.y-l.y,f=l.x-u.x,d=u.x*l.y-l.x*u.y,B=I.y-C.y,p=C.x-I.x,E=I.x*C.y-C.x*I.y;this.x=f*E-p*d,this.y=B*d-h*E,this.w=h*p-B*f}};j.prototype.getY=function(){var e=this.y/this.w;if(p.isNaN(e)||p.isInfinite(e))throw new Y;return e},j.prototype.getX=function(){var e=this.x/this.w;if(p.isNaN(e)||p.isInfinite(e))throw new Y;return e},j.prototype.getCoordinate=function(){var e=new m;return e.x=this.getX(),e.y=this.getY(),e},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j.intersection=function(e,t,A,n){var r=e.y-t.y,i=t.x-e.x,o=e.x*t.y-t.x*e.y,a=A.y-n.y,s=n.x-A.x,g=A.x*n.y-n.x*A.y,c=r*s-a*i,u=(i*g-s*o)/c,l=(a*o-r*g)/c;if(p.isNaN(u)||p.isInfinite(u)||p.isNaN(l)||p.isInfinite(l))throw new Y;return new m(u,l)};var P=function e(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,0===arguments.length)this.init();else if(1===arguments.length){if(arguments[0]instanceof m){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof e){var A=arguments[0];this.init(A)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.init(n.x,r.x,n.y,r.y)}else if(4===arguments.length){var i=arguments[0],o=arguments[1],a=arguments[2],s=arguments[3];this.init(i,o,a,s)}},V={serialVersionUID:{configurable:!0}};P.prototype.getArea=function(){return this.getWidth()*this.getHeight()},P.prototype.equals=function(e){if(!(e instanceof P))return!1;var t=e;return this.isNull()?t.isNull():this._maxx===t.getMaxX()&&this._maxy===t.getMaxY()&&this._minx===t.getMinX()&&this._miny===t.getMinY()},P.prototype.intersection=function(e){if(this.isNull()||e.isNull()||!this.intersects(e))return new P;var t=this._minx>e._minx?this._minx:e._minx,A=this._miny>e._miny?this._miny:e._miny,n=this._maxx<e._maxx?this._maxx:e._maxx,r=this._maxy<e._maxy?this._maxy:e._maxy;return new P(t,n,A,r)},P.prototype.isNull=function(){return this._maxx<this._minx},P.prototype.getMaxX=function(){return this._maxx},P.prototype.covers=function(){if(1===arguments.length){if(arguments[0]instanceof m){var e=arguments[0];return this.covers(e.x,e.y)}if(arguments[0]instanceof P){var t=arguments[0];return!this.isNull()&&!t.isNull()&&t.getMinX()>=this._minx&&t.getMaxX()<=this._maxx&&t.getMinY()>=this._miny&&t.getMaxY()<=this._maxy}}else if(2===arguments.length){var A=arguments[0],n=arguments[1];return!this.isNull()&&A>=this._minx&&A<=this._maxx&&n>=this._miny&&n<=this._maxy}},P.prototype.intersects=function(){if(1===arguments.length){if(arguments[0]instanceof P){var e=arguments[0];return!this.isNull()&&!e.isNull()&&!(e._minx>this._maxx||e._maxx<this._minx||e._miny>this._maxy||e._maxy<this._miny)}if(arguments[0]instanceof m){var t=arguments[0];return this.intersects(t.x,t.y)}}else if(2===arguments.length){var A=arguments[0],n=arguments[1];return!this.isNull()&&!(A>this._maxx||A<this._minx||n>this._maxy||n<this._miny)}},P.prototype.getMinY=function(){return this._miny},P.prototype.getMinX=function(){return this._minx},P.prototype.expandToInclude=function(){if(1===arguments.length){if(arguments[0]instanceof m){var e=arguments[0];this.expandToInclude(e.x,e.y)}else if(arguments[0]instanceof P){var t=arguments[0];if(t.isNull())return null;this.isNull()?(this._minx=t.getMinX(),this._maxx=t.getMaxX(),this._miny=t.getMinY(),this._maxy=t.getMaxY()):(t._minx<this._minx&&(this._minx=t._minx),t._maxx>this._maxx&&(this._maxx=t._maxx),t._miny<this._miny&&(this._miny=t._miny),t._maxy>this._maxy&&(this._maxy=t._maxy))}}else if(2===arguments.length){var A=arguments[0],n=arguments[1];this.isNull()?(this._minx=A,this._maxx=A,this._miny=n,this._maxy=n):(A<this._minx&&(this._minx=A),A>this._maxx&&(this._maxx=A),n<this._miny&&(this._miny=n),n>this._maxy&&(this._maxy=n))}},P.prototype.minExtent=function(){if(this.isNull())return 0;var e=this.getWidth(),t=this.getHeight();return e<t?e:t},P.prototype.getWidth=function(){return this.isNull()?0:this._maxx-this._minx},P.prototype.compareTo=function(e){var t=e;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},P.prototype.translate=function(e,t){if(this.isNull())return null;this.init(this.getMinX()+e,this.getMaxX()+e,this.getMinY()+t,this.getMaxY()+t)},P.prototype.toString=function(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"},P.prototype.setToNull=function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1},P.prototype.getHeight=function(){return this.isNull()?0:this._maxy-this._miny},P.prototype.maxExtent=function(){if(this.isNull())return 0;var e=this.getWidth(),t=this.getHeight();return e>t?e:t},P.prototype.expandBy=function(){if(1===arguments.length){var e=arguments[0];this.expandBy(e,e)}else if(2===arguments.length){var t=arguments[0],A=arguments[1];if(this.isNull())return null;this._minx-=t,this._maxx+=t,this._miny-=A,this._maxy+=A,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}},P.prototype.contains=function(){if(1===arguments.length){if(arguments[0]instanceof P){var e=arguments[0];return this.covers(e)}if(arguments[0]instanceof m){var t=arguments[0];return this.covers(t)}}else if(2===arguments.length){var A=arguments[0],n=arguments[1];return this.covers(A,n)}},P.prototype.centre=function(){return this.isNull()?null:new m((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},P.prototype.init=function(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof m){var e=arguments[0];this.init(e.x,e.x,e.y,e.y)}else if(arguments[0]instanceof P){var t=arguments[0];this._minx=t._minx,this._maxx=t._maxx,this._miny=t._miny,this._maxy=t._maxy}}else if(2===arguments.length){var A=arguments[0],n=arguments[1];this.init(A.x,n.x,A.y,n.y)}else if(4===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2],a=arguments[3];r<i?(this._minx=r,this._maxx=i):(this._minx=i,this._maxx=r),o<a?(this._miny=o,this._maxy=a):(this._miny=a,this._maxy=o)}},P.prototype.getMaxY=function(){return this._maxy},P.prototype.distance=function(e){if(this.intersects(e))return 0;var t=0;this._maxx<e._minx?t=e._minx-this._maxx:this._minx>e._maxx&&(t=this._minx-e._maxx);var A=0;return this._maxy<e._miny?A=e._miny-this._maxy:this._miny>e._maxy&&(A=this._miny-e._maxy),0===t?A:0===A?t:Math.sqrt(t*t+A*A)},P.prototype.hashCode=function(){var e=17;return 37*(e=37*(e=37*(e=37*e+m.hashCode(this._minx))+m.hashCode(this._maxx))+m.hashCode(this._miny))+m.hashCode(this._maxy)},P.prototype.interfaces_=function(){return[Q,t]},P.prototype.getClass=function(){return P},P.intersects=function(){if(3===arguments.length){var e=arguments[0],t=arguments[1],A=arguments[2];return A.x>=(e.x<t.x?e.x:t.x)&&A.x<=(e.x>t.x?e.x:t.x)&&A.y>=(e.y<t.y?e.y:t.y)&&A.y<=(e.y>t.y?e.y:t.y)}if(4===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2],o=arguments[3],a=Math.min(i.x,o.x),s=Math.max(i.x,o.x),g=Math.min(n.x,r.x),c=Math.max(n.x,r.x);return!(g>s)&&!(c<a)&&(a=Math.min(i.y,o.y),s=Math.max(i.y,o.y),g=Math.min(n.y,r.y),c=Math.max(n.y,r.y),!(g>s)&&!(c<a))}},V.serialVersionUID.get=function(){return 0x51845cd552189800},Object.defineProperties(P,V);var K={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*$/},W=function(e){this.geometryFactory=e||new dt};W.prototype.read=function(e){var t,A,n;e=e.replace(/[\n\r]/g," ");var r=K.typeStr.exec(e);if(-1!==e.search("EMPTY")&&((r=K.emptyTypeStr.exec(e))[2]=void 0),r&&(A=r[1].toLowerCase(),n=r[2],q[A]&&(t=q[A].apply(this,[n]))),void 0===t)throw new Error("Could not parse WKT "+e);return t},W.prototype.write=function(e){return this.extractGeometry(e)},W.prototype.extractGeometry=function(e){var t=e.getGeometryType().toLowerCase();if(!X[t])return null;var A=t.toUpperCase();return e.isEmpty()?A+" EMPTY":A+"("+X[t].apply(this,[e])+")"};var X={coordinate:function(e){return e.x+" "+e.y},point:function(e){return X.coordinate.call(this,e._coordinates._coordinates[0])},multipoint:function(e){for(var t=[],A=0,n=e._geometries.length;A<n;++A)t.push("("+X.point.apply(this,[e._geometries[A]])+")");return t.join(",")},linestring:function(e){for(var t=[],A=0,n=e._points._coordinates.length;A<n;++A)t.push(X.coordinate.apply(this,[e._points._coordinates[A]]));return t.join(",")},linearring:function(e){for(var t=[],A=0,n=e._points._coordinates.length;A<n;++A)t.push(X.coordinate.apply(this,[e._points._coordinates[A]]));return t.join(",")},multilinestring:function(e){for(var t=[],A=0,n=e._geometries.length;A<n;++A)t.push("("+X.linestring.apply(this,[e._geometries[A]])+")");return t.join(",")},polygon:function(e){var t=[];t.push("("+X.linestring.apply(this,[e._shell])+")");for(var A=0,n=e._holes.length;A<n;++A)t.push("("+X.linestring.apply(this,[e._holes[A]])+")");return t.join(",")},multipolygon:function(e){for(var t=[],A=0,n=e._geometries.length;A<n;++A)t.push("("+X.polygon.apply(this,[e._geometries[A]])+")");return t.join(",")},geometrycollection:function(e){for(var t=[],A=0,n=e._geometries.length;A<n;++A)t.push(this.extractGeometry(e._geometries[A]));return t.join(",")}},q={point:function(e){if(void 0===e)return this.geometryFactory.createPoint();var t=e.trim().split(K.spaces);return this.geometryFactory.createPoint(new m(Number.parseFloat(t[0]),Number.parseFloat(t[1])))},multipoint:function(e){if(void 0===e)return this.geometryFactory.createMultiPoint();for(var t,A=e.trim().split(","),n=[],r=0,i=A.length;r<i;++r)t=A[r].replace(K.trimParens,"$1"),n.push(q.point.apply(this,[t]));return this.geometryFactory.createMultiPoint(n)},linestring:function(e){if(void 0===e)return this.geometryFactory.createLineString();for(var t,A=e.trim().split(","),n=[],r=0,i=A.length;r<i;++r)t=A[r].trim().split(K.spaces),n.push(new m(Number.parseFloat(t[0]),Number.parseFloat(t[1])));return this.geometryFactory.createLineString(n)},linearring:function(e){if(void 0===e)return this.geometryFactory.createLinearRing();for(var t,A=e.trim().split(","),n=[],r=0,i=A.length;r<i;++r)t=A[r].trim().split(K.spaces),n.push(new m(Number.parseFloat(t[0]),Number.parseFloat(t[1])));return this.geometryFactory.createLinearRing(n)},multilinestring:function(e){if(void 0===e)return this.geometryFactory.createMultiLineString();for(var t,A=e.trim().split(K.parenComma),n=[],r=0,i=A.length;r<i;++r)t=A[r].replace(K.trimParens,"$1"),n.push(q.linestring.apply(this,[t]));return this.geometryFactory.createMultiLineString(n)},polygon:function(e){if(void 0===e)return this.geometryFactory.createPolygon();for(var t,A,n,r,i=e.trim().split(K.parenComma),o=[],a=0,s=i.length;a<s;++a)t=i[a].replace(K.trimParens,"$1"),A=q.linestring.apply(this,[t]),n=this.geometryFactory.createLinearRing(A._points),0===a?r=n:o.push(n);return this.geometryFactory.createPolygon(r,o)},multipolygon:function(e){if(void 0===e)return this.geometryFactory.createMultiPolygon();for(var t,A=e.trim().split(K.doubleParenComma),n=[],r=0,i=A.length;r<i;++r)t=A[r].replace(K.trimParens,"$1"),n.push(q.polygon.apply(this,[t]));return this.geometryFactory.createMultiPolygon(n)},geometrycollection:function(e){if(void 0===e)return this.geometryFactory.createGeometryCollection();for(var t=(e=e.replace(/,\s*([A-Za-z])/g,"|$1")).trim().split("|"),A=[],n=0,r=t.length;n<r;++n)A.push(this.read(t[n]));return this.geometryFactory.createGeometryCollection(A)}},z=function(e){this.parser=new W(e)};z.prototype.write=function(e){return this.parser.write(e)},z.toLineString=function(e,t){if(2!==arguments.length)throw new Error("Not implemented");return"LINESTRING ( "+e.x+" "+e.y+", "+t.x+" "+t.y+" )"};var $=function(e){function t(t){e.call(this,t),this.name="RuntimeException",this.message=t,this.stack=(new e).stack}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(Error),ee=function(e){function t(){if(e.call(this),0===arguments.length)e.call(this);else if(1===arguments.length){var t=arguments[0];e.call(this,t)}}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}($),te=function(){};te.prototype.interfaces_=function(){return[]},te.prototype.getClass=function(){return te},te.shouldNeverReachHere=function(){if(0===arguments.length)te.shouldNeverReachHere(null);else if(1===arguments.length){var e=arguments[0];throw new ee("Should never reach here"+(null!==e?": "+e:""))}},te.isTrue=function(){var e,t;if(1===arguments.length)e=arguments[0],te.isTrue(e,null);else if(2===arguments.length&&(e=arguments[0],t=arguments[1],!e))throw null===t?new ee:new ee(t)},te.equals=function(){var e,t,A;if(2===arguments.length)e=arguments[0],t=arguments[1],te.equals(e,t,null);else if(3===arguments.length&&(e=arguments[0],t=arguments[1],A=arguments[2],!t.equals(e)))throw new ee("Expected "+e+" but encountered "+t+(null!==A?": "+A:""))};var Ae=function(){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 m,this._intPt[1]=new m,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},ne={DONT_INTERSECT:{configurable:!0},DO_INTERSECT:{configurable:!0},COLLINEAR:{configurable:!0},NO_INTERSECTION:{configurable:!0},POINT_INTERSECTION:{configurable:!0},COLLINEAR_INTERSECTION:{configurable:!0}};Ae.prototype.getIndexAlongSegment=function(e,t){return this.computeIntLineIndex(),this._intLineIndex[e][t]},Ae.prototype.getTopologySummary=function(){var e=new x;return this.isEndPoint()&&e.append(" endpoint"),this._isProper&&e.append(" proper"),this.isCollinear()&&e.append(" collinear"),e.toString()},Ae.prototype.computeIntersection=function(e,t,A,n){this._inputLines[0][0]=e,this._inputLines[0][1]=t,this._inputLines[1][0]=A,this._inputLines[1][1]=n,this._result=this.computeIntersect(e,t,A,n)},Ae.prototype.getIntersectionNum=function(){return this._result},Ae.prototype.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 e=arguments[0];this.getEdgeDistance(e,0)>this.getEdgeDistance(e,1)?(this._intLineIndex[e][0]=0,this._intLineIndex[e][1]=1):(this._intLineIndex[e][0]=1,this._intLineIndex[e][1]=0)}},Ae.prototype.isProper=function(){return this.hasIntersection()&&this._isProper},Ae.prototype.setPrecisionModel=function(e){this._precisionModel=e},Ae.prototype.isInteriorIntersection=function(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){for(var e=arguments[0],t=0;t<this._result;t++)if(!this._intPt[t].equals2D(this._inputLines[e][0])&&!this._intPt[t].equals2D(this._inputLines[e][1]))return!0;return!1}},Ae.prototype.getIntersection=function(e){return this._intPt[e]},Ae.prototype.isEndPoint=function(){return this.hasIntersection()&&!this._isProper},Ae.prototype.hasIntersection=function(){return this._result!==Ae.NO_INTERSECTION},Ae.prototype.getEdgeDistance=function(e,t){return Ae.computeEdgeDistance(this._intPt[t],this._inputLines[e][0],this._inputLines[e][1])},Ae.prototype.isCollinear=function(){return this._result===Ae.COLLINEAR_INTERSECTION},Ae.prototype.toString=function(){return z.toLineString(this._inputLines[0][0],this._inputLines[0][1])+" - "+z.toLineString(this._inputLines[1][0],this._inputLines[1][1])+this.getTopologySummary()},Ae.prototype.getEndpoint=function(e,t){return this._inputLines[e][t]},Ae.prototype.isIntersection=function(e){for(var t=0;t<this._result;t++)if(this._intPt[t].equals2D(e))return!0;return!1},Ae.prototype.getIntersectionAlongSegment=function(e,t){return this.computeIntLineIndex(),this._intPt[this._intLineIndex[e][t]]},Ae.prototype.interfaces_=function(){return[]},Ae.prototype.getClass=function(){return Ae},Ae.computeEdgeDistance=function(e,t,A){var n=Math.abs(A.x-t.x),r=Math.abs(A.y-t.y),i=-1;if(e.equals(t))i=0;else if(e.equals(A))i=n>r?n:r;else{var o=Math.abs(e.x-t.x),a=Math.abs(e.y-t.y);0!==(i=n>r?o:a)||e.equals(t)||(i=Math.max(o,a))}return te.isTrue(!(0===i&&!e.equals(t)),"Bad distance calculation"),i},Ae.nonRobustComputeEdgeDistance=function(e,t,A){var n=e.x-t.x,r=e.y-t.y,i=Math.sqrt(n*n+r*r);return te.isTrue(!(0===i&&!e.equals(t)),"Invalid distance calculation"),i},ne.DONT_INTERSECT.get=function(){return 0},ne.DO_INTERSECT.get=function(){return 1},ne.COLLINEAR.get=function(){return 2},ne.NO_INTERSECTION.get=function(){return 0},ne.POINT_INTERSECTION.get=function(){return 1},ne.COLLINEAR_INTERSECTION.get=function(){return 2},Object.defineProperties(Ae,ne);var re=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.isInSegmentEnvelopes=function(e){var t=new P(this._inputLines[0][0],this._inputLines[0][1]),A=new P(this._inputLines[1][0],this._inputLines[1][1]);return t.contains(e)&&A.contains(e)},t.prototype.computeIntersection=function(){if(3!==arguments.length)return e.prototype.computeIntersection.apply(this,arguments);var t=arguments[0],A=arguments[1],n=arguments[2];if(this._isProper=!1,P.intersects(A,n,t)&&0===ae.orientationIndex(A,n,t)&&0===ae.orientationIndex(n,A,t))return this._isProper=!0,(t.equals(A)||t.equals(n))&&(this._isProper=!1),this._result=e.POINT_INTERSECTION,null;this._result=e.NO_INTERSECTION},t.prototype.normalizeToMinimum=function(e,t,A,n,r){r.x=this.smallestInAbsValue(e.x,t.x,A.x,n.x),r.y=this.smallestInAbsValue(e.y,t.y,A.y,n.y),e.x-=r.x,e.y-=r.y,t.x-=r.x,t.y-=r.y,A.x-=r.x,A.y-=r.y,n.x-=r.x,n.y-=r.y},t.prototype.safeHCoordinateIntersection=function(e,A,n,r){var i=null;try{i=j.intersection(e,A,n,r)}catch(o){if(!(o instanceof Y))throw o;i=t.nearestEndpoint(e,A,n,r)}return i},t.prototype.intersection=function(e,A,n,r){var i=this.intersectionWithNormalization(e,A,n,r);return this.isInSegmentEnvelopes(i)||(i=new m(t.nearestEndpoint(e,A,n,r))),null!==this._precisionModel&&this._precisionModel.makePrecise(i),i},t.prototype.smallestInAbsValue=function(e,t,A,n){var r=e,i=Math.abs(r);return Math.abs(t)<i&&(r=t,i=Math.abs(t)),Math.abs(A)<i&&(r=A,i=Math.abs(A)),Math.abs(n)<i&&(r=n),r},t.prototype.checkDD=function(e,t,A,n,r){var i=O.intersection(e,t,A,n),o=this.isInSegmentEnvelopes(i);J.out.println("DD in env = "+o+" --------------------- "+i),r.distance(i)>1e-4&&J.out.println("Distance = "+r.distance(i))},t.prototype.intersectionWithNormalization=function(e,t,A,n){var r=new m(e),i=new m(t),o=new m(A),a=new m(n),s=new m;this.normalizeToEnvCentre(r,i,o,a,s);var g=this.safeHCoordinateIntersection(r,i,o,a);return g.x+=s.x,g.y+=s.y,g},t.prototype.computeCollinearIntersection=function(t,A,n,r){var i=P.intersects(t,A,n),o=P.intersects(t,A,r),a=P.intersects(n,r,t),s=P.intersects(n,r,A);return i&&o?(this._intPt[0]=n,this._intPt[1]=r,e.COLLINEAR_INTERSECTION):a&&s?(this._intPt[0]=t,this._intPt[1]=A,e.COLLINEAR_INTERSECTION):i&&a?(this._intPt[0]=n,this._intPt[1]=t,!n.equals(t)||o||s?e.COLLINEAR_INTERSECTION:e.POINT_INTERSECTION):i&&s?(this._intPt[0]=n,this._intPt[1]=A,!n.equals(A)||o||a?e.COLLINEAR_INTERSECTION:e.POINT_INTERSECTION):o&&a?(this._intPt[0]=r,this._intPt[1]=t,!r.equals(t)||i||s?e.COLLINEAR_INTERSECTION:e.POINT_INTERSECTION):o&&s?(this._intPt[0]=r,this._intPt[1]=A,!r.equals(A)||i||a?e.COLLINEAR_INTERSECTION:e.POINT_INTERSECTION):e.NO_INTERSECTION},t.prototype.normalizeToEnvCentre=function(e,t,A,n,r){var i=e.x<t.x?e.x:t.x,o=e.y<t.y?e.y:t.y,a=e.x>t.x?e.x:t.x,s=e.y>t.y?e.y:t.y,g=A.x<n.x?A.x:n.x,c=A.y<n.y?A.y:n.y,u=A.x>n.x?A.x:n.x,l=A.y>n.y?A.y:n.y,I=((i>g?i:g)+(a<u?a:u))/2,C=((o>c?o:c)+(s<l?s:l))/2;r.x=I,r.y=C,e.x-=r.x,e.y-=r.y,t.x-=r.x,t.y-=r.y,A.x-=r.x,A.y-=r.y,n.x-=r.x,n.y-=r.y},t.prototype.computeIntersect=function(t,A,n,r){if(this._isProper=!1,!P.intersects(t,A,n,r))return e.NO_INTERSECTION;var i=ae.orientationIndex(t,A,n),o=ae.orientationIndex(t,A,r);if(i>0&&o>0||i<0&&o<0)return e.NO_INTERSECTION;var a=ae.orientationIndex(n,r,t),s=ae.orientationIndex(n,r,A);return a>0&&s>0||a<0&&s<0?e.NO_INTERSECTION:0===i&&0===o&&0===a&&0===s?this.computeCollinearIntersection(t,A,n,r):(0===i||0===o||0===a||0===s?(this._isProper=!1,t.equals2D(n)||t.equals2D(r)?this._intPt[0]=t:A.equals2D(n)||A.equals2D(r)?this._intPt[0]=A:0===i?this._intPt[0]=new m(n):0===o?this._intPt[0]=new m(r):0===a?this._intPt[0]=new m(t):0===s&&(this._intPt[0]=new m(A))):(this._isProper=!0,this._intPt[0]=this.intersection(t,A,n,r)),e.POINT_INTERSECTION)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t.nearestEndpoint=function(e,t,A,n){var r=e,i=ae.distancePointLine(e,A,n),o=ae.distancePointLine(t,A,n);return o<i&&(i=o,r=t),(o=ae.distancePointLine(A,e,t))<i&&(i=o,r=A),(o=ae.distancePointLine(n,e,t))<i&&(i=o,r=n),r},t}(Ae),ie=function(){};ie.prototype.interfaces_=function(){return[]},ie.prototype.getClass=function(){return ie},ie.orientationIndex=function(e,t,A){var n=t.x-e.x,r=t.y-e.y,i=A.x-t.x,o=A.y-t.y;return ie.signOfDet2x2(n,r,i,o)},ie.signOfDet2x2=function(e,t,A,n){var r=null,i=null,o=null;if(r=1,0===e||0===n)return 0===t||0===A?0:t>0?A>0?-r:r:A>0?r:-r;if(0===t||0===A)return n>0?e>0?r:-r:e>0?-r:r;if(t>0?n>0?t<=n||(r=-r,i=e,e=A,A=i,i=t,t=n,n=i):t<=-n?(r=-r,A=-A,n=-n):(i=e,e=-A,A=i,i=t,t=-n,n=i):n>0?-t<=n?(r=-r,e=-e,t=-t):(i=-e,e=A,A=i,i=-t,t=n,n=i):t>=n?(e=-e,t=-t,A=-A,n=-n):(r=-r,i=-e,e=-A,A=i,i=-t,t=-n,n=i),e>0){if(!(A>0))return r;if(!(e<=A))return r}else{if(A>0)return-r;if(!(e>=A))return-r;r=-r,e=-e,A=-A}for(;;){if((n-=(o=Math.floor(A/e))*t)<0)return-r;if(n>t)return r;if(e>(A-=o*e)+A){if(t<n+n)return r}else{if(t>n+n)return-r;A=e-A,n=t-n,r=-r}if(0===n)return 0===A?0:-r;if(0===A)return r;if((t-=(o=Math.floor(e/A))*n)<0)return r;if(t>n)return-r;if(A>(e-=o*A)+e){if(n<t+t)return-r}else{if(n>t+t)return r;e=A-e,t=n-t,r=-r}if(0===t)return 0===e?0:r;if(0===e)return-r}};var oe=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var e=arguments[0];this._p=e};oe.prototype.countSegment=function(e,t){if(e.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(e.y===this._p.y&&t.y===this._p.y){var A=e.x,n=t.x;return A>n&&(A=t.x,n=e.x),this._p.x>=A&&this._p.x<=n&&(this._isPointOnSegment=!0),null}if(e.y>this._p.y&&t.y<=this._p.y||t.y>this._p.y&&e.y<=this._p.y){var r=e.x-this._p.x,i=e.y-this._p.y,o=t.x-this._p.x,a=t.y-this._p.y,s=ie.signOfDet2x2(r,i,o,a);if(0===s)return this._isPointOnSegment=!0,null;a<i&&(s=-s),s>0&&this._crossingCount++}},oe.prototype.isPointInPolygon=function(){return this.getLocation()!==F.EXTERIOR},oe.prototype.getLocation=function(){return this._isPointOnSegment?F.BOUNDARY:this._crossingCount%2==1?F.INTERIOR:F.EXTERIOR},oe.prototype.isOnSegment=function(){return this._isPointOnSegment},oe.prototype.interfaces_=function(){return[]},oe.prototype.getClass=function(){return oe},oe.locatePointInRing=function(){if(arguments[0]instanceof m&&D(arguments[1],T)){for(var e=arguments[0],t=arguments[1],A=new oe(e),n=new m,r=new m,i=1;i<t.size();i++)if(t.getCoordinate(i,n),t.getCoordinate(i-1,r),A.countSegment(n,r),A.isOnSegment())return A.getLocation();return A.getLocation()}if(arguments[0]instanceof m&&arguments[1]instanceof Array){for(var o=arguments[0],a=arguments[1],s=new oe(o),g=1;g<a.length;g++){var c=a[g],u=a[g-1];if(s.countSegment(c,u),s.isOnSegment())return s.getLocation()}return s.getLocation()}};var ae=function(){},se={CLOCKWISE:{configurable:!0},RIGHT:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},LEFT:{configurable:!0},COLLINEAR:{configurable:!0},STRAIGHT:{configurable:!0}};ae.prototype.interfaces_=function(){return[]},ae.prototype.getClass=function(){return ae},ae.orientationIndex=function(e,t,A){return O.orientationIndex(e,t,A)},ae.signedArea=function(){if(arguments[0]instanceof Array){var e=arguments[0];if(e.length<3)return 0;for(var t=0,A=e[0].x,n=1;n<e.length-1;n++){var r=e[n].x-A,i=e[n+1].y;t+=r*(e[n-1].y-i)}return t/2}if(D(arguments[0],T)){var o=arguments[0],a=o.size();if(a<3)return 0;var s=new m,g=new m,c=new m;o.getCoordinate(0,g),o.getCoordinate(1,c);var u=g.x;c.x-=u;for(var l=0,I=1;I<a-1;I++)s.y=g.y,g.x=c.x,g.y=c.y,o.getCoordinate(I+1,c),c.x-=u,l+=g.x*(s.y-c.y);return l/2}},ae.distanceLineLine=function(e,t,A,n){if(e.equals(t))return ae.distancePointLine(e,A,n);if(A.equals(n))return ae.distancePointLine(n,e,t);var r=!1;if(P.intersects(e,t,A,n)){var i=(t.x-e.x)*(n.y-A.y)-(t.y-e.y)*(n.x-A.x);if(0===i)r=!0;else{var o=(e.y-A.y)*(n.x-A.x)-(e.x-A.x)*(n.y-A.y),a=((e.y-A.y)*(t.x-e.x)-(e.x-A.x)*(t.y-e.y))/i,s=o/i;(s<0||s>1||a<0||a>1)&&(r=!0)}}else r=!0;return r?G.min(ae.distancePointLine(e,A,n),ae.distancePointLine(t,A,n),ae.distancePointLine(A,e,t),ae.distancePointLine(n,e,t)):0},ae.isPointInRing=function(e,t){return ae.locatePointInRing(e,t)!==F.EXTERIOR},ae.computeLength=function(e){var t=e.size();if(t<=1)return 0;var A=0,n=new m;e.getCoordinate(0,n);for(var r=n.x,i=n.y,o=1;o<t;o++){e.getCoordinate(o,n);var a=n.x,s=n.y,g=a-r,c=s-i;A+=Math.sqrt(g*g+c*c),r=a,i=s}return A},ae.isCCW=function(e){var t=e.length-1;if(t<3)throw new B("Ring has fewer than 4 points, so orientation cannot be determined");for(var A=e[0],n=0,r=1;r<=t;r++){var i=e[r];i.y>A.y&&(A=i,n=r)}var o=n;do{(o-=1)<0&&(o=t)}while(e[o].equals2D(A)&&o!==n);var a=n;do{a=(a+1)%t}while(e[a].equals2D(A)&&a!==n);var s=e[o],g=e[a];if(s.equals2D(A)||g.equals2D(A)||s.equals2D(g))return!1;var c=ae.computeOrientation(s,A,g);return 0===c?s.x>g.x:c>0},ae.locatePointInRing=function(e,t){return oe.locatePointInRing(e,t)},ae.distancePointLinePerpendicular=function(e,t,A){var n=(A.x-t.x)*(A.x-t.x)+(A.y-t.y)*(A.y-t.y),r=((t.y-e.y)*(A.x-t.x)-(t.x-e.x)*(A.y-t.y))/n;return Math.abs(r)*Math.sqrt(n)},ae.computeOrientation=function(e,t,A){return ae.orientationIndex(e,t,A)},ae.distancePointLine=function(){if(2===arguments.length){var e=arguments[0],t=arguments[1];if(0===t.length)throw new B("Line array must contain at least one vertex");for(var A=e.distance(t[0]),n=0;n<t.length-1;n++){var r=ae.distancePointLine(e,t[n],t[n+1]);r<A&&(A=r)}return A}if(3===arguments.length){var i=arguments[0],o=arguments[1],a=arguments[2];if(o.x===a.x&&o.y===a.y)return i.distance(o);var s=(a.x-o.x)*(a.x-o.x)+(a.y-o.y)*(a.y-o.y),g=((i.x-o.x)*(a.x-o.x)+(i.y-o.y)*(a.y-o.y))/s;if(g<=0)return i.distance(o);if(g>=1)return i.distance(a);var c=((o.y-i.y)*(a.x-o.x)-(o.x-i.x)*(a.y-o.y))/s;return Math.abs(c)*Math.sqrt(s)}},ae.isOnLine=function(e,t){for(var A=new re,n=1;n<t.length;n++){var r=t[n-1],i=t[n];if(A.computeIntersection(e,r,i),A.hasIntersection())return!0}return!1},se.CLOCKWISE.get=function(){return-1},se.RIGHT.get=function(){return ae.CLOCKWISE},se.COUNTERCLOCKWISE.get=function(){return 1},se.LEFT.get=function(){return ae.COUNTERCLOCKWISE},se.COLLINEAR.get=function(){return 0},se.STRAIGHT.get=function(){return ae.COLLINEAR},Object.defineProperties(ae,se);var ge=function(){};ge.prototype.filter=function(e){},ge.prototype.interfaces_=function(){return[]},ge.prototype.getClass=function(){return ge};var ce=function(){var e=arguments[0];this._envelope=null,this._factory=null,this._SRID=null,this._userData=null,this._factory=e,this._SRID=e.getSRID()},ue={serialVersionUID:{configurable:!0},SORTINDEX_POINT:{configurable:!0},SORTINDEX_MULTIPOINT:{configurable:!0},SORTINDEX_LINESTRING:{configurable:!0},SORTINDEX_LINEARRING:{configurable:!0},SORTINDEX_MULTILINESTRING:{configurable:!0},SORTINDEX_POLYGON:{configurable:!0},SORTINDEX_MULTIPOLYGON:{configurable:!0},SORTINDEX_GEOMETRYCOLLECTION:{configurable:!0},geometryChangedFilter:{configurable:!0}};ce.prototype.isGeometryCollection=function(){return this.getSortIndex()===ce.SORTINDEX_GEOMETRYCOLLECTION},ce.prototype.getFactory=function(){return this._factory},ce.prototype.getGeometryN=function(e){return this},ce.prototype.getArea=function(){return 0},ce.prototype.isRectangle=function(){return!1},ce.prototype.equals=function(){if(arguments[0]instanceof ce){var e=arguments[0];return null!==e&&this.equalsTopo(e)}if(arguments[0]instanceof Object){var t=arguments[0];if(!(t instanceof ce))return!1;var A=t;return this.equalsExact(A)}},ce.prototype.equalsExact=function(e){return this===e||this.equalsExact(e,0)},ce.prototype.geometryChanged=function(){this.apply(ce.geometryChangedFilter)},ce.prototype.geometryChangedAction=function(){this._envelope=null},ce.prototype.equalsNorm=function(e){return null!==e&&this.norm().equalsExact(e.norm())},ce.prototype.getLength=function(){return 0},ce.prototype.getNumGeometries=function(){return 1},ce.prototype.compareTo=function(){if(1===arguments.length){var e=arguments[0],t=e;return this.getSortIndex()!==t.getSortIndex()?this.getSortIndex()-t.getSortIndex():this.isEmpty()&&t.isEmpty()?0:this.isEmpty()?-1:t.isEmpty()?1:this.compareToSameClass(e)}if(2===arguments.length){var A=arguments[0],n=arguments[1];return this.getSortIndex()!==A.getSortIndex()?this.getSortIndex()-A.getSortIndex():this.isEmpty()&&A.isEmpty()?0:this.isEmpty()?-1:A.isEmpty()?1:this.compareToSameClass(A,n)}},ce.prototype.getUserData=function(){return this._userData},ce.prototype.getSRID=function(){return this._SRID},ce.prototype.getEnvelope=function(){return this.getFactory().toGeometry(this.getEnvelopeInternal())},ce.prototype.checkNotGeometryCollection=function(e){if(e.getSortIndex()===ce.SORTINDEX_GEOMETRYCOLLECTION)throw new B("This method does not support GeometryCollection arguments")},ce.prototype.equal=function(e,t,A){return 0===A?e.equals(t):e.distance(t)<=A},ce.prototype.norm=function(){var e=this.copy();return e.normalize(),e},ce.prototype.getPrecisionModel=function(){return this._factory.getPrecisionModel()},ce.prototype.getEnvelopeInternal=function(){return null===this._envelope&&(this._envelope=this.computeEnvelopeInternal()),new P(this._envelope)},ce.prototype.setSRID=function(e){this._SRID=e},ce.prototype.setUserData=function(e){this._userData=e},ce.prototype.compare=function(e,t){for(var A=e.iterator(),n=t.iterator();A.hasNext()&&n.hasNext();){var r=A.next(),i=n.next(),o=r.compareTo(i);if(0!==o)return o}return A.hasNext()?1:n.hasNext()?-1:0},ce.prototype.hashCode=function(){return this.getEnvelopeInternal().hashCode()},ce.prototype.isGeometryCollectionOrDerived=function(){return this.getSortIndex()===ce.SORTINDEX_GEOMETRYCOLLECTION||this.getSortIndex()===ce.SORTINDEX_MULTIPOINT||this.getSortIndex()===ce.SORTINDEX_MULTILINESTRING||this.getSortIndex()===ce.SORTINDEX_MULTIPOLYGON},ce.prototype.interfaces_=function(){return[y,Q,t]},ce.prototype.getClass=function(){return ce},ce.hasNonEmptyElements=function(e){for(var t=0;t<e.length;t++)if(!e[t].isEmpty())return!0;return!1},ce.hasNullElements=function(e){for(var t=0;t<e.length;t++)if(null===e[t])return!0;return!1},ue.serialVersionUID.get=function(){return 0x799ea46522854c00},ue.SORTINDEX_POINT.get=function(){return 0},ue.SORTINDEX_MULTIPOINT.get=function(){return 1},ue.SORTINDEX_LINESTRING.get=function(){return 2},ue.SORTINDEX_LINEARRING.get=function(){return 3},ue.SORTINDEX_MULTILINESTRING.get=function(){return 4},ue.SORTINDEX_POLYGON.get=function(){return 5},ue.SORTINDEX_MULTIPOLYGON.get=function(){return 6},ue.SORTINDEX_GEOMETRYCOLLECTION.get=function(){return 7},ue.geometryChangedFilter.get=function(){return le},Object.defineProperties(ce,ue);var le=function(){};le.interfaces_=function(){return[ge]},le.filter=function(e){e.geometryChangedAction()};var Ie=function(){};Ie.prototype.filter=function(e){},Ie.prototype.interfaces_=function(){return[]},Ie.prototype.getClass=function(){return Ie};var Ce=function(){},he={Mod2BoundaryNodeRule:{configurable:!0},EndPointBoundaryNodeRule:{configurable:!0},MultiValentEndPointBoundaryNodeRule:{configurable:!0},MonoValentEndPointBoundaryNodeRule:{configurable:!0},MOD2_BOUNDARY_RULE:{configurable:!0},ENDPOINT_BOUNDARY_RULE:{configurable:!0},MULTIVALENT_ENDPOINT_BOUNDARY_RULE:{configurable:!0},MONOVALENT_ENDPOINT_BOUNDARY_RULE:{configurable:!0},OGC_SFS_BOUNDARY_RULE:{configurable:!0}};Ce.prototype.isInBoundary=function(e){},Ce.prototype.interfaces_=function(){return[]},Ce.prototype.getClass=function(){return Ce},he.Mod2BoundaryNodeRule.get=function(){return fe},he.EndPointBoundaryNodeRule.get=function(){return de},he.MultiValentEndPointBoundaryNodeRule.get=function(){return Be},he.MonoValentEndPointBoundaryNodeRule.get=function(){return pe},he.MOD2_BOUNDARY_RULE.get=function(){return new fe},he.ENDPOINT_BOUNDARY_RULE.get=function(){return new de},he.MULTIVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new Be},he.MONOVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new pe},he.OGC_SFS_BOUNDARY_RULE.get=function(){return Ce.MOD2_BOUNDARY_RULE},Object.defineProperties(Ce,he);var fe=function(){};fe.prototype.isInBoundary=function(e){return e%2==1},fe.prototype.interfaces_=function(){return[Ce]},fe.prototype.getClass=function(){return fe};var de=function(){};de.prototype.isInBoundary=function(e){return e>0},de.prototype.interfaces_=function(){return[Ce]},de.prototype.getClass=function(){return de};var Be=function(){};Be.prototype.isInBoundary=function(e){return e>1},Be.prototype.interfaces_=function(){return[Ce]},Be.prototype.getClass=function(){return Be};var pe=function(){};pe.prototype.isInBoundary=function(e){return 1===e},pe.prototype.interfaces_=function(){return[Ce]},pe.prototype.getClass=function(){return pe};var Ee=function(){};Ee.prototype.add=function(){},Ee.prototype.addAll=function(){},Ee.prototype.isEmpty=function(){},Ee.prototype.iterator=function(){},Ee.prototype.size=function(){},Ee.prototype.toArray=function(){},Ee.prototype.remove=function(){},(A.prototype=new Error).name="IndexOutOfBoundsException";var Qe=function(){};Qe.prototype.hasNext=function(){},Qe.prototype.next=function(){},Qe.prototype.remove=function(){};var ye=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(){},t.prototype.set=function(){},t.prototype.isEmpty=function(){},t}(Ee);(n.prototype=new Error).name="NoSuchElementException";var ve=function(e){function t(){e.call(this),this.array_=[],arguments[0]instanceof Ee&&this.addAll(arguments[0])}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.ensureCapacity=function(){},t.prototype.interfaces_=function(){return[e,Ee]},t.prototype.add=function(e){return 1===arguments.length?this.array_.push(e):this.array_.splice(arguments[0],arguments[1]),!0},t.prototype.clear=function(){this.array_=[]},t.prototype.addAll=function(e){for(var t=e.iterator();t.hasNext();)this.add(t.next());return!0},t.prototype.set=function(e,t){var A=this.array_[e];return this.array_[e]=t,A},t.prototype.iterator=function(){return new me(this)},t.prototype.get=function(e){if(e<0||e>=this.size())throw new A;return this.array_[e]},t.prototype.isEmpty=function(){return 0===this.array_.length},t.prototype.size=function(){return this.array_.length},t.prototype.toArray=function(){for(var e=[],t=0,A=this.array_.length;t<A;t++)e.push(this.array_[t]);return e},t.prototype.remove=function(e){for(var t=!1,A=0,n=this.array_.length;A<n;A++)if(this.array_[A]===e){this.array_.splice(A,1),t=!0;break}return t},t}(ye),me=function(e){function t(t){e.call(this),this.arrayList_=t,this.position_=0}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.next=function(){if(this.position_===this.arrayList_.size())throw new n;return this.arrayList_.get(this.position_++)},t.prototype.hasNext=function(){return this.position_<this.arrayList_.size()},t.prototype.set=function(e){return this.arrayList_.set(this.position_-1,e)},t.prototype.remove=function(){this.arrayList_.remove(this.arrayList_.get(this.position_))},t}(Qe),be=function(e){function t(){if(e.call(this),0===arguments.length);else if(1===arguments.length){var t=arguments[0];this.ensureCapacity(t.length),this.add(t,!0)}else if(2===arguments.length){var A=arguments[0],n=arguments[1];this.ensureCapacity(A.length),this.add(A,n)}}e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t;var A={coordArrayType:{configurable:!0}};return A.coordArrayType.get=function(){return new Array(0).fill(null)},t.prototype.getCoordinate=function(e){return this.get(e)},t.prototype.addAll=function(){if(2===arguments.length){for(var t=arguments[0],A=arguments[1],n=!1,r=t.iterator();r.hasNext();)this.add(r.next(),A),n=!0;return n}return e.prototype.addAll.apply(this,arguments)},t.prototype.clone=function(){for(var t=e.prototype.clone.call(this),A=0;A<this.size();A++)t.add(A,this.get(A).copy());return t},t.prototype.toCoordinateArray=function(){return this.toArray(t.coordArrayType)},t.prototype.add=function(){if(1===arguments.length){var t=arguments[0];e.prototype.add.call(this,t)}else if(2===arguments.length){if(arguments[0]instanceof Array&&"boolean"==typeof arguments[1]){var A=arguments[0],n=arguments[1];return this.add(A,n,!0),!0}if(arguments[0]instanceof m&&"boolean"==typeof arguments[1]){var r=arguments[0];if(!arguments[1]&&this.size()>=1&&this.get(this.size()-1).equals2D(r))return null;e.prototype.add.call(this,r)}else if(arguments[0]instanceof Object&&"boolean"==typeof arguments[1]){var i=arguments[0],o=arguments[1];return this.add(i,o),!0}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&arguments[0]instanceof Array&&"boolean"==typeof arguments[1]){var a=arguments[0],s=arguments[1];if(arguments[2])for(var g=0;g<a.length;g++)this.add(a[g],s);else for(var c=a.length-1;c>=0;c--)this.add(a[c],s);return!0}if("boolean"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof m){var u=arguments[0],l=arguments[1];if(!arguments[2]){var I=this.size();if(I>0){if(u>0&&this.get(u-1).equals2D(l))return null;if(u<I&&this.get(u).equals2D(l))return null}}e.prototype.add.call(this,u,l)}}else if(4===arguments.length){var C=arguments[0],h=arguments[1],f=arguments[2],d=arguments[3],B=1;f>d&&(B=-1);for(var p=f;p!==d;p+=B)this.add(C[p],h);return!0}},t.prototype.closeRing=function(){this.size()>0&&this.add(new m(this.get(0)),!1)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},Object.defineProperties(t,A),t}(ve),we=function(){},Se={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};Se.ForwardComparator.get=function(){return Fe},Se.BidirectionalComparator.get=function(){return Re},Se.coordArrayType.get=function(){return new Array(0).fill(null)},we.prototype.interfaces_=function(){return[]},we.prototype.getClass=function(){return we},we.isRing=function(e){return!(e.length<4)&&!!e[0].equals2D(e[e.length-1])},we.ptNotInList=function(e,t){for(var A=0;A<e.length;A++){var n=e[A];if(we.indexOf(n,t)<0)return n}return null},we.scroll=function(e,t){var A=we.indexOf(t,e);if(A<0)return null;var n=new Array(e.length).fill(null);J.arraycopy(e,A,n,0,e.length-A),J.arraycopy(e,0,n,e.length-A,A),J.arraycopy(n,0,e,0,e.length)},we.equals=function(){if(2===arguments.length){var e=arguments[0],t=arguments[1];if(e===t)return!0;if(null===e||null===t)return!1;if(e.length!==t.length)return!1;for(var A=0;A<e.length;A++)if(!e[A].equals(t[A]))return!1;return!0}if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2];if(n===r)return!0;if(null===n||null===r)return!1;if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(0!==i.compare(n[o],r[o]))return!1;return!0}},we.intersection=function(e,t){for(var A=new be,n=0;n<e.length;n++)t.intersects(e[n])&&A.add(e[n],!0);return A.toCoordinateArray()},we.hasRepeatedPoints=function(e){for(var t=1;t<e.length;t++)if(e[t-1].equals(e[t]))return!0;return!1},we.removeRepeatedPoints=function(e){return we.hasRepeatedPoints(e)?new be(e,!1).toCoordinateArray():e},we.reverse=function(e){for(var t=e.length-1,A=Math.trunc(t/2),n=0;n<=A;n++){var r=e[n];e[n]=e[t-n],e[t-n]=r}},we.removeNull=function(e){for(var t=0,A=0;A<e.length;A++)null!==e[A]&&t++;var n=new Array(t).fill(null);if(0===t)return n;for(var r=0,i=0;i<e.length;i++)null!==e[i]&&(n[r++]=e[i]);return n},we.copyDeep=function(){if(1===arguments.length){for(var e=arguments[0],t=new Array(e.length).fill(null),A=0;A<e.length;A++)t[A]=new m(e[A]);return t}if(5===arguments.length)for(var n=arguments[0],r=arguments[1],i=arguments[2],o=arguments[3],a=arguments[4],s=0;s<a;s++)i[o+s]=new m(n[r+s])},we.isEqualReversed=function(e,t){for(var A=0;A<e.length;A++){var n=e[A],r=t[e.length-A-1];if(0!==n.compareTo(r))return!1}return!0},we.envelope=function(e){for(var t=new P,A=0;A<e.length;A++)t.expandToInclude(e[A]);return t},we.toCoordinateArray=function(e){return e.toArray(we.coordArrayType)},we.atLeastNCoordinatesOrNothing=function(e,t){return t.length>=e?t:[]},we.indexOf=function(e,t){for(var A=0;A<t.length;A++)if(e.equals(t[A]))return A;return-1},we.increasingDirection=function(e){for(var t=0;t<Math.trunc(e.length/2);t++){var A=e.length-1-t,n=e[t].compareTo(e[A]);if(0!==n)return n}return 1},we.compare=function(e,t){for(var A=0;A<e.length&&A<t.length;){var n=e[A].compareTo(t[A]);if(0!==n)return n;A++}return A<t.length?-1:A<e.length?1:0},we.minCoordinate=function(e){for(var t=null,A=0;A<e.length;A++)(null===t||t.compareTo(e[A])>0)&&(t=e[A]);return t},we.extract=function(e,t,A){t=G.clamp(t,0,e.length);var n=(A=G.clamp(A,-1,e.length))-t+1;A<0&&(n=0),t>=e.length&&(n=0),A<t&&(n=0);var r=new Array(n).fill(null);if(0===n)return r;for(var i=0,o=t;o<=A;o++)r[i++]=e[o];return r},Object.defineProperties(we,Se);var Fe=function(){};Fe.prototype.compare=function(e,t){return we.compare(e,t)},Fe.prototype.interfaces_=function(){return[v]},Fe.prototype.getClass=function(){return Fe};var Re=function(){};Re.prototype.compare=function(e,t){var A=e,n=t;if(A.length<n.length)return-1;if(A.length>n.length)return 1;if(0===A.length)return 0;var r=we.compare(A,n);return we.isEqualReversed(A,n)?0:r},Re.prototype.OLDcompare=function(e,t){var A=e,n=t;if(A.length<n.length)return-1;if(A.length>n.length)return 1;if(0===A.length)return 0;for(var r=we.increasingDirection(A),i=we.increasingDirection(n),o=r>0?0:A.length-1,a=i>0?0:A.length-1,s=0;s<A.length;s++){var g=A[o].compareTo(n[a]);if(0!==g)return g;o+=r,a+=i}return 0},Re.prototype.interfaces_=function(){return[v]},Re.prototype.getClass=function(){return Re};var De=function(){};De.prototype.get=function(){},De.prototype.put=function(){},De.prototype.size=function(){},De.prototype.values=function(){},De.prototype.entrySet=function(){};var Ge=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(De);(r.prototype=new Error).name="OperationNotSupported",(i.prototype=new Ee).contains=function(){};var ke=function(e){function t(){e.call(this),this.array_=[],arguments[0]instanceof Ee&&this.addAll(arguments[0])}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.contains=function(e){for(var t=0,A=this.array_.length;t<A;t++)if(this.array_[t]===e)return!0;return!1},t.prototype.add=function(e){return!this.contains(e)&&(this.array_.push(e),!0)},t.prototype.addAll=function(e){for(var t=e.iterator();t.hasNext();)this.add(t.next());return!0},t.prototype.remove=function(e){throw new Error},t.prototype.size=function(){return this.array_.length},t.prototype.isEmpty=function(){return 0===this.array_.length},t.prototype.toArray=function(){for(var e=[],t=0,A=this.array_.length;t<A;t++)e.push(this.array_[t]);return e},t.prototype.iterator=function(){return new xe(this)},t}(i),xe=function(e){function t(t){e.call(this),this.hashSet_=t,this.position_=0}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.next=function(){if(this.position_===this.hashSet_.size())throw new n;return this.hashSet_.array_[this.position_++]},t.prototype.hasNext=function(){return this.position_<this.hashSet_.size()},t.prototype.remove=function(){throw new r},t}(Qe),Ne=0;(u.prototype=new Ge).get=function(e){for(var t=this.root_;null!==t;){var A=e.compareTo(t.key);if(A<0)t=t.left;else{if(!(A>0))return t.value;t=t.right}}return null},u.prototype.put=function(e,t){if(null===this.root_)return this.root_={key:e,value:t,left:null,right:null,parent:null,color:Ne,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var A,n,r=this.root_;do{if(A=r,(n=e.compareTo(r.key))<0)r=r.left;else{if(!(n>0)){var i=r.value;return r.value=t,i}r=r.right}}while(null!==r);var o={key:e,left:null,right:null,value:t,parent:A,color:Ne,getValue:function(){return this.value},getKey:function(){return this.key}};return n<0?A.left=o:A.right=o,this.fixAfterInsertion(o),this.size_++,null},u.prototype.fixAfterInsertion=function(e){for(e.color=1;null!=e&&e!==this.root_&&1===e.parent.color;)if(a(e)===g(a(a(e)))){var t=c(a(a(e)));1===o(t)?(s(a(e),Ne),s(t,Ne),s(a(a(e)),1),e=a(a(e))):(e===c(a(e))&&(e=a(e),this.rotateLeft(e)),s(a(e),Ne),s(a(a(e)),1),this.rotateRight(a(a(e))))}else{var A=g(a(a(e)));1===o(A)?(s(a(e),Ne),s(A,Ne),s(a(a(e)),1),e=a(a(e))):(e===g(a(e))&&(e=a(e),this.rotateRight(e)),s(a(e),Ne),s(a(a(e)),1),this.rotateLeft(a(a(e))))}this.root_.color=Ne},u.prototype.values=function(){var e=new ve,t=this.getFirstEntry();if(null!==t)for(e.add(t.value);null!==(t=u.successor(t));)e.add(t.value);return e},u.prototype.entrySet=function(){var e=new ke,t=this.getFirstEntry();if(null!==t)for(e.add(t);null!==(t=u.successor(t));)e.add(t);return e},u.prototype.rotateLeft=function(e){if(null!=e){var t=e.right;e.right=t.left,null!=t.left&&(t.left.parent=e),t.parent=e.parent,null===e.parent?this.root_=t:e.parent.left===e?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t}},u.prototype.rotateRight=function(e){if(null!=e){var t=e.left;e.left=t.right,null!=t.right&&(t.right.parent=e),t.parent=e.parent,null===e.parent?this.root_=t:e.parent.right===e?e.parent.right=t:e.parent.left=t,t.right=e,e.parent=t}},u.prototype.getFirstEntry=function(){var e=this.root_;if(null!=e)for(;null!=e.left;)e=e.left;return e},u.successor=function(e){if(null===e)return null;if(null!==e.right){for(var t=e.right;null!==t.left;)t=t.left;return t}for(var A=e.parent,n=e;null!==A&&n===A.right;)n=A,A=A.parent;return A},u.prototype.size=function(){return this.size_};var Ue=function(){};Ue.prototype.interfaces_=function(){return[]},Ue.prototype.getClass=function(){return Ue},l.prototype=new i,(I.prototype=new l).contains=function(e){for(var t=0,A=this.array_.length;t<A;t++)if(0===this.array_[t].compareTo(e))return!0;return!1},I.prototype.add=function(e){if(this.contains(e))return!1;for(var t=0,A=this.array_.length;t<A;t++)if(1===this.array_[t].compareTo(e))return this.array_.splice(t,0,e),!0;return this.array_.push(e),!0},I.prototype.addAll=function(e){for(var t=e.iterator();t.hasNext();)this.add(t.next());return!0},I.prototype.remove=function(e){throw new r},I.prototype.size=function(){return this.array_.length},I.prototype.isEmpty=function(){return 0===this.array_.length},I.prototype.toArray=function(){for(var e=[],t=0,A=this.array_.length;t<A;t++)e.push(this.array_[t]);return e},I.prototype.iterator=function(){return new _e(this)};var _e=function(e){this.treeSet_=e,this.position_=0};_e.prototype.next=function(){if(this.position_===this.treeSet_.size())throw new n;return this.treeSet_.array_[this.position_++]},_e.prototype.hasNext=function(){return this.position_<this.treeSet_.size()},_e.prototype.remove=function(){throw new r};var Me=function(){};Me.sort=function(){var e,t,A,n,r=arguments[0];if(1===arguments.length)n=function(e,t){return e.compareTo(t)},r.sort(n);else if(2===arguments.length)A=arguments[1],n=function(e,t){return A.compare(e,t)},r.sort(n);else if(3===arguments.length){(t=r.slice(arguments[1],arguments[2])).sort();var i=r.slice(0,arguments[1]).concat(t,r.slice(arguments[2],r.length));for(r.splice(0,r.length),e=0;e<i.length;e++)r.push(i[e])}else if(4===arguments.length)for(t=r.slice(arguments[1],arguments[2]),A=arguments[3],n=function(e,t){return A.compare(e,t)},t.sort(n),i=r.slice(0,arguments[1]).concat(t,r.slice(arguments[2],r.length)),r.splice(0,r.length),e=0;e<i.length;e++)r.push(i[e])},Me.asList=function(e){for(var t=new ve,A=0,n=e.length;A<n;A++)t.add(e[A]);return t};var Oe=function(){},Le={P:{configurable:!0},L:{configurable:!0},A:{configurable:!0},FALSE:{configurable:!0},TRUE:{configurable:!0},DONTCARE:{configurable:!0},SYM_FALSE:{configurable:!0},SYM_TRUE:{configurable:!0},SYM_DONTCARE:{configurable:!0},SYM_P:{configurable:!0},SYM_L:{configurable:!0},SYM_A:{configurable:!0}};Le.P.get=function(){return 0},Le.L.get=function(){return 1},Le.A.get=function(){return 2},Le.FALSE.get=function(){return-1},Le.TRUE.get=function(){return-2},Le.DONTCARE.get=function(){return-3},Le.SYM_FALSE.get=function(){return"F"},Le.SYM_TRUE.get=function(){return"T"},Le.SYM_DONTCARE.get=function(){return"*"},Le.SYM_P.get=function(){return"0"},Le.SYM_L.get=function(){return"1"},Le.SYM_A.get=function(){return"2"},Oe.prototype.interfaces_=function(){return[]},Oe.prototype.getClass=function(){return Oe},Oe.toDimensionSymbol=function(e){switch(e){case Oe.FALSE:return Oe.SYM_FALSE;case Oe.TRUE:return Oe.SYM_TRUE;case Oe.DONTCARE:return Oe.SYM_DONTCARE;case Oe.P:return Oe.SYM_P;case Oe.L:return Oe.SYM_L;case Oe.A:return Oe.SYM_A}throw new B("Unknown dimension value: "+e)},Oe.toDimensionValue=function(e){switch(U.toUpperCase(e)){case Oe.SYM_FALSE:return Oe.FALSE;case Oe.SYM_TRUE:return Oe.TRUE;case Oe.SYM_DONTCARE:return Oe.DONTCARE;case Oe.SYM_P:return Oe.P;case Oe.SYM_L:return Oe.L;case Oe.SYM_A:return Oe.A}throw new B("Unknown dimension symbol: "+e)},Object.defineProperties(Oe,Le);var Te=function(){};Te.prototype.filter=function(e){},Te.prototype.interfaces_=function(){return[]},Te.prototype.getClass=function(){return Te};var Ze=function(){};Ze.prototype.filter=function(e,t){},Ze.prototype.isDone=function(){},Ze.prototype.isGeometryChanged=function(){},Ze.prototype.interfaces_=function(){return[]},Ze.prototype.getClass=function(){return Ze};var He=function(e){function t(t,A){if(e.call(this,A),this._geometries=t||[],e.hasNullElements(this._geometries))throw new B("geometries must not contain null elements")}e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t;var A={serialVersionUID:{configurable:!0}};return t.prototype.computeEnvelopeInternal=function(){for(var e=new P,t=0;t<this._geometries.length;t++)e.expandToInclude(this._geometries[t].getEnvelopeInternal());return e},t.prototype.getGeometryN=function(e){return this._geometries[e]},t.prototype.getSortIndex=function(){return e.SORTINDEX_GEOMETRYCOLLECTION},t.prototype.getCoordinates=function(){for(var e=new Array(this.getNumPoints()).fill(null),t=-1,A=0;A<this._geometries.length;A++)for(var n=this._geometries[A].getCoordinates(),r=0;r<n.length;r++)e[++t]=n[r];return e},t.prototype.getArea=function(){for(var e=0,t=0;t<this._geometries.length;t++)e+=this._geometries[t].getArea();return e},t.prototype.equalsExact=function(){if(2===arguments.length){var t=arguments[0],A=arguments[1];if(!this.isEquivalentClass(t))return!1;var n=t;if(this._geometries.length!==n._geometries.length)return!1;for(var r=0;r<this._geometries.length;r++)if(!this._geometries[r].equalsExact(n._geometries[r],A))return!1;return!0}return e.prototype.equalsExact.apply(this,arguments)},t.prototype.normalize=function(){for(var e=0;e<this._geometries.length;e++)this._geometries[e].normalize();Me.sort(this._geometries)},t.prototype.getCoordinate=function(){return this.isEmpty()?null:this._geometries[0].getCoordinate()},t.prototype.getBoundaryDimension=function(){for(var e=Oe.FALSE,t=0;t<this._geometries.length;t++)e=Math.max(e,this._geometries[t].getBoundaryDimension());return e},t.prototype.getDimension=function(){for(var e=Oe.FALSE,t=0;t<this._geometries.length;t++)e=Math.max(e,this._geometries[t].getDimension());return e},t.prototype.getLength=function(){for(var e=0,t=0;t<this._geometries.length;t++)e+=this._geometries[t].getLength();return e},t.prototype.getNumPoints=function(){for(var e=0,t=0;t<this._geometries.length;t++)e+=this._geometries[t].getNumPoints();return e},t.prototype.getNumGeometries=function(){return this._geometries.length},t.prototype.reverse=function(){for(var e=this._geometries.length,t=new Array(e).fill(null),A=0;A<this._geometries.length;A++)t[A]=this._geometries[A].reverse();return this.getFactory().createGeometryCollection(t)},t.prototype.compareToSameClass=function(){if(1===arguments.length){var e=arguments[0],t=new I(Me.asList(this._geometries)),A=new I(Me.asList(e._geometries));return this.compare(t,A)}if(2===arguments.length){for(var n=arguments[0],r=arguments[1],i=n,o=this.getNumGeometries(),a=i.getNumGeometries(),s=0;s<o&&s<a;){var g=this.getGeometryN(s),c=i.getGeometryN(s),u=g.compareToSameClass(c,r);if(0!==u)return u;s++}return s<o?1:s<a?-1:0}},t.prototype.apply=function(){if(D(arguments[0],Ie))for(var e=arguments[0],t=0;t<this._geometries.length;t++)this._geometries[t].apply(e);else if(D(arguments[0],Ze)){var A=arguments[0];if(0===this._geometries.length)return null;for(var n=0;n<this._geometries.length&&(this._geometries[n].apply(A),!A.isDone());n++);A.isGeometryChanged()&&this.geometryChanged()}else if(D(arguments[0],Te)){var r=arguments[0];r.filter(this);for(var i=0;i<this._geometries.length;i++)this._geometries[i].apply(r)}else if(D(arguments[0],ge)){var o=arguments[0];o.filter(this);for(var a=0;a<this._geometries.length;a++)this._geometries[a].apply(o)}},t.prototype.getBoundary=function(){return this.checkNotGeometryCollection(this),te.shouldNeverReachHere(),null},t.prototype.clone=function(){var t=e.prototype.clone.call(this);t._geometries=new Array(this._geometries.length).fill(null);for(var A=0;A<this._geometries.length;A++)t._geometries[A]=this._geometries[A].clone();return t},t.prototype.getGeometryType=function(){return"GeometryCollection"},t.prototype.copy=function(){for(var e=new Array(this._geometries.length).fill(null),A=0;A<e.length;A++)e[A]=this._geometries[A].copy();return new t(e,this._factory)},t.prototype.isEmpty=function(){for(var e=0;e<this._geometries.length;e++)if(!this._geometries[e].isEmpty())return!1;return!0},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},A.serialVersionUID.get=function(){return-0x4f07bcb1f857d800},Object.defineProperties(t,A),t}(ce),Ye=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t;var A={serialVersionUID:{configurable:!0}};return t.prototype.getSortIndex=function(){return ce.SORTINDEX_MULTILINESTRING},t.prototype.equalsExact=function(){if(2===arguments.length){var t=arguments[0],A=arguments[1];return!!this.isEquivalentClass(t)&&e.prototype.equalsExact.call(this,t,A)}return e.prototype.equalsExact.apply(this,arguments)},t.prototype.getBoundaryDimension=function(){return this.isClosed()?Oe.FALSE:0},t.prototype.isClosed=function(){if(this.isEmpty())return!1;for(var e=0;e<this._geometries.length;e++)if(!this._geometries[e].isClosed())return!1;return!0},t.prototype.getDimension=function(){return 1},t.prototype.reverse=function(){for(var e=this._geometries.length,t=new Array(e).fill(null),A=0;A<this._geometries.length;A++)t[e-1-A]=this._geometries[A].reverse();return this.getFactory().createMultiLineString(t)},t.prototype.getBoundary=function(){return new Je(this).getBoundary()},t.prototype.getGeometryType=function(){return"MultiLineString"},t.prototype.copy=function(){for(var e=new Array(this._geometries.length).fill(null),A=0;A<e.length;A++)e[A]=this._geometries[A].copy();return new t(e,this._factory)},t.prototype.interfaces_=function(){return[Ue]},t.prototype.getClass=function(){return t},A.serialVersionUID.get=function(){return 0x7155d2ab4afa8000},Object.defineProperties(t,A),t}(He),Je=function(){if(this._geom=null,this._geomFact=null,this._bnRule=null,this._endpointMap=null,1===arguments.length){var e=arguments[0],t=Ce.MOD2_BOUNDARY_RULE;this._geom=e,this._geomFact=e.getFactory(),this._bnRule=t}else if(2===arguments.length){var A=arguments[0],n=arguments[1];this._geom=A,this._geomFact=A.getFactory(),this._bnRule=n}};Je.prototype.boundaryMultiLineString=function(e){if(this._geom.isEmpty())return this.getEmptyMultiPoint();var t=this.computeBoundaryCoordinates(e);return 1===t.length?this._geomFact.createPoint(t[0]):this._geomFact.createMultiPointFromCoords(t)},Je.prototype.getBoundary=function(){return this._geom instanceof We?this.boundaryLineString(this._geom):this._geom instanceof Ye?this.boundaryMultiLineString(this._geom):this._geom.getBoundary()},Je.prototype.boundaryLineString=function(e){return this._geom.isEmpty()?this.getEmptyMultiPoint():e.isClosed()?this._bnRule.isInBoundary(2)?e.getStartPoint():this._geomFact.createMultiPoint():this._geomFact.createMultiPoint([e.getStartPoint(),e.getEndPoint()])},Je.prototype.getEmptyMultiPoint=function(){return this._geomFact.createMultiPoint()},Je.prototype.computeBoundaryCoordinates=function(e){var t=new ve;this._endpointMap=new u;for(var A=0;A<e.getNumGeometries();A++){var n=e.getGeometryN(A);0!==n.getNumPoints()&&(this.addEndpoint(n.getCoordinateN(0)),this.addEndpoint(n.getCoordinateN(n.getNumPoints()-1)))}for(var r=this._endpointMap.entrySet().iterator();r.hasNext();){var i=r.next(),o=i.getValue().count;this._bnRule.isInBoundary(o)&&t.add(i.getKey())}return we.toCoordinateArray(t)},Je.prototype.addEndpoint=function(e){var t=this._endpointMap.get(e);null===t&&(t=new je,this._endpointMap.put(e,t)),t.count++},Je.prototype.interfaces_=function(){return[]},Je.prototype.getClass=function(){return Je},Je.getBoundary=function(){if(1===arguments.length){var e=arguments[0];return new Je(e).getBoundary()}if(2===arguments.length){var t=arguments[0],A=arguments[1];return new Je(t,A).getBoundary()}};var je=function(){this.count=null};je.prototype.interfaces_=function(){return[]},je.prototype.getClass=function(){return je};var Pe=function(){},Ve={NEWLINE:{configurable:!0},SIMPLE_ORDINATE_FORMAT:{configurable:!0}};Pe.prototype.interfaces_=function(){return[]},Pe.prototype.getClass=function(){return Pe},Pe.chars=function(e,t){for(var A=new Array(t).fill(null),n=0;n<t;n++)A[n]=e;return String(A)},Pe.getStackTrace=function(){if(1===arguments.length){var e=arguments[0],t=new function(){},A=new function(){}(t);return e.printStackTrace(A),t.toString()}if(2===arguments.length){for(var n=arguments[0],r=arguments[1],i="",o=new function(){}(new function(){}(Pe.getStackTrace(n))),a=0;a<r;a++)try{i+=o.readLine()+Pe.NEWLINE}catch(e){if(!(e instanceof C))throw e;te.shouldNeverReachHere()}return i}},Pe.split=function(e,t){for(var A=t.length,n=new ve,r=""+e,i=r.indexOf(t);i>=0;){var o=r.substring(0,i);n.add(o),i=(r=r.substring(i+A)).indexOf(t)}r.length>0&&n.add(r);for(var a=new Array(n.size()).fill(null),s=0;s<a.length;s++)a[s]=n.get(s);return a},Pe.toString=function(){if(1===arguments.length){var e=arguments[0];return Pe.SIMPLE_ORDINATE_FORMAT.format(e)}},Pe.spaces=function(e){return Pe.chars(" ",e)},Ve.NEWLINE.get=function(){return J.getProperty("line.separator")},Ve.SIMPLE_ORDINATE_FORMAT.get=function(){return new function(){}("0.#")},Object.defineProperties(Pe,Ve);var Ke=function(){};Ke.prototype.interfaces_=function(){return[]},Ke.prototype.getClass=function(){return Ke},Ke.copyCoord=function(e,t,A,n){for(var r=Math.min(e.getDimension(),A.getDimension()),i=0;i<r;i++)A.setOrdinate(n,i,e.getOrdinate(t,i))},Ke.isRing=function(e){var t=e.size();return 0===t||!(t<=3)&&e.getOrdinate(0,T.X)===e.getOrdinate(t-1,T.X)&&e.getOrdinate(0,T.Y)===e.getOrdinate(t-1,T.Y)},Ke.isEqual=function(e,t){var A=e.size();if(A!==t.size())return!1;for(var n=Math.min(e.getDimension(),t.getDimension()),r=0;r<A;r++)for(var i=0;i<n;i++){var o=e.getOrdinate(r,i),a=t.getOrdinate(r,i);if(e.getOrdinate(r,i)!==t.getOrdinate(r,i)&&(!p.isNaN(o)||!p.isNaN(a)))return!1}return!0},Ke.extend=function(e,t,A){var n=e.create(A,t.getDimension()),r=t.size();if(Ke.copy(t,0,n,0,r),r>0)for(var i=r;i<A;i++)Ke.copy(t,r-1,n,i,1);return n},Ke.reverse=function(e){for(var t=e.size()-1,A=Math.trunc(t/2),n=0;n<=A;n++)Ke.swap(e,n,t-n)},Ke.swap=function(e,t,A){if(t===A)return null;for(var n=0;n<e.getDimension();n++){var r=e.getOrdinate(t,n);e.setOrdinate(t,n,e.getOrdinate(A,n)),e.setOrdinate(A,n,r)}},Ke.copy=function(e,t,A,n,r){for(var i=0;i<r;i++)Ke.copyCoord(e,t+i,A,n+i)},Ke.toString=function(){if(1===arguments.length){var e=arguments[0],t=e.size();if(0===t)return"()";var A=e.getDimension(),n=new x;n.append("(");for(var r=0;r<t;r++){r>0&&n.append(" ");for(var i=0;i<A;i++)i>0&&n.append(","),n.append(Pe.toString(e.getOrdinate(r,i)))}return n.append(")"),n.toString()}},Ke.ensureValidRing=function(e,t){var A=t.size();return 0===A?t:A<=3?Ke.createClosedRing(e,t,4):t.getOrdinate(0,T.X)===t.getOrdinate(A-1,T.X)&&t.getOrdinate(0,T.Y)===t.getOrdinate(A-1,T.Y)?t:Ke.createClosedRing(e,t,A+1)},Ke.createClosedRing=function(e,t,A){var n=e.create(A,t.getDimension()),r=t.size();Ke.copy(t,0,n,0,r);for(var i=r;i<A;i++)Ke.copy(t,0,n,i,1);return n};var We=function(e){function t(t,A){e.call(this,A),this._points=null,this.init(t)}e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t;var A={serialVersionUID:{configurable:!0}};return t.prototype.computeEnvelopeInternal=function(){return this.isEmpty()?new P:this._points.expandEnvelope(new P)},t.prototype.isRing=function(){return this.isClosed()&&this.isSimple()},t.prototype.getSortIndex=function(){return e.SORTINDEX_LINESTRING},t.prototype.getCoordinates=function(){return this._points.toCoordinateArray()},t.prototype.equalsExact=function(){if(2===arguments.length){var t=arguments[0],A=arguments[1];if(!this.isEquivalentClass(t))return!1;var n=t;if(this._points.size()!==n._points.size())return!1;for(var r=0;r<this._points.size();r++)if(!this.equal(this._points.getCoordinate(r),n._points.getCoordinate(r),A))return!1;return!0}return e.prototype.equalsExact.apply(this,arguments)},t.prototype.normalize=function(){for(var e=0;e<Math.trunc(this._points.size()/2);e++){var t=this._points.size()-1-e;if(!this._points.getCoordinate(e).equals(this._points.getCoordinate(t)))return this._points.getCoordinate(e).compareTo(this._points.getCoordinate(t))>0&&Ke.reverse(this._points),null}},t.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},t.prototype.getBoundaryDimension=function(){return this.isClosed()?Oe.FALSE:0},t.prototype.isClosed=function(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},t.prototype.getEndPoint=function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},t.prototype.getDimension=function(){return 1},t.prototype.getLength=function(){return ae.computeLength(this._points)},t.prototype.getNumPoints=function(){return this._points.size()},t.prototype.reverse=function(){var e=this._points.copy();return Ke.reverse(e),this.getFactory().createLineString(e)},t.prototype.compareToSameClass=function(){if(1===arguments.length){for(var e=arguments[0],t=0,A=0;t<this._points.size()&&A<e._points.size();){var n=this._points.getCoordinate(t).compareTo(e._points.getCoordinate(A));if(0!==n)return n;t++,A++}return t<this._points.size()?1:A<e._points.size()?-1:0}if(2===arguments.length){var r=arguments[0];return arguments[1].compare(this._points,r._points)}},t.prototype.apply=function(){if(D(arguments[0],Ie))for(var e=arguments[0],t=0;t<this._points.size();t++)e.filter(this._points.getCoordinate(t));else if(D(arguments[0],Ze)){var A=arguments[0];if(0===this._points.size())return null;for(var n=0;n<this._points.size()&&(A.filter(this._points,n),!A.isDone());n++);A.isGeometryChanged()&&this.geometryChanged()}else(D(arguments[0],Te)||D(arguments[0],ge))&&arguments[0].filter(this)},t.prototype.getBoundary=function(){return new Je(this).getBoundary()},t.prototype.isEquivalentClass=function(e){return e instanceof t},t.prototype.clone=function(){var t=e.prototype.clone.call(this);return t._points=this._points.clone(),t},t.prototype.getCoordinateN=function(e){return this._points.getCoordinate(e)},t.prototype.getGeometryType=function(){return"LineString"},t.prototype.copy=function(){return new t(this._points.copy(),this._factory)},t.prototype.getCoordinateSequence=function(){return this._points},t.prototype.isEmpty=function(){return 0===this._points.size()},t.prototype.init=function(e){if(null===e&&(e=this.getFactory().getCoordinateSequenceFactory().create([])),1===e.size())throw new B("Invalid number of points in LineString (found "+e.size()+" - must be 0 or >= 2)");this._points=e},t.prototype.isCoordinate=function(e){for(var t=0;t<this._points.size();t++)if(this._points.getCoordinate(t).equals(e))return!0;return!1},t.prototype.getStartPoint=function(){return this.isEmpty()?null:this.getPointN(0)},t.prototype.getPointN=function(e){return this.getFactory().createPoint(this._points.getCoordinate(e))},t.prototype.interfaces_=function(){return[Ue]},t.prototype.getClass=function(){return t},A.serialVersionUID.get=function(){return 0x2b2b51ba435c8e00},Object.defineProperties(t,A),t}(ce),Xe=function(){};Xe.prototype.interfaces_=function(){return[]},Xe.prototype.getClass=function(){return Xe};var qe=function(e){function t(t,A){e.call(this,A),this._coordinates=t||null,this.init(this._coordinates)}e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t;var A={serialVersionUID:{configurable:!0}};return t.prototype.computeEnvelopeInternal=function(){if(this.isEmpty())return new P;var e=new P;return e.expandToInclude(this._coordinates.getX(0),this._coordinates.getY(0)),e},t.prototype.getSortIndex=function(){return e.SORTINDEX_POINT},t.prototype.getCoordinates=function(){return this.isEmpty()?[]:[this.getCoordinate()]},t.prototype.equalsExact=function(){if(2===arguments.length){var t=arguments[0],A=arguments[1];return!!this.isEquivalentClass(t)&&(!(!this.isEmpty()||!t.isEmpty())||this.isEmpty()===t.isEmpty()&&this.equal(t.getCoordinate(),this.getCoordinate(),A))}return e.prototype.equalsExact.apply(this,arguments)},t.prototype.normalize=function(){},t.prototype.getCoordinate=function(){return 0!==this._coordinates.size()?this._coordinates.getCoordinate(0):null},t.prototype.getBoundaryDimension=function(){return Oe.FALSE},t.prototype.getDimension=function(){return 0},t.prototype.getNumPoints=function(){return this.isEmpty()?0:1},t.prototype.reverse=function(){return this.copy()},t.prototype.getX=function(){if(null===this.getCoordinate())throw new Error("getX called on empty Point");return this.getCoordinate().x},t.prototype.compareToSameClass=function(){if(1===arguments.length){var e=arguments[0];return this.getCoordinate().compareTo(e.getCoordinate())}if(2===arguments.length){var t=arguments[0];return arguments[1].compare(this._coordinates,t._coordinates)}},t.prototype.apply=function(){if(D(arguments[0],Ie)){var e=arguments[0];if(this.isEmpty())return null;e.filter(this.getCoordinate())}else if(D(arguments[0],Ze)){var t=arguments[0];if(this.isEmpty())return null;t.filter(this._coordinates,0),t.isGeometryChanged()&&this.geometryChanged()}else(D(arguments[0],Te)||D(arguments[0],ge))&&arguments[0].filter(this)},t.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},t.prototype.clone=function(){var t=e.prototype.clone.call(this);return t._coordinates=this._coordinates.clone(),t},t.prototype.getGeometryType=function(){return"Point"},t.prototype.copy=function(){return new t(this._coordinates.copy(),this._factory)},t.prototype.getCoordinateSequence=function(){return this._coordinates},t.prototype.getY=function(){if(null===this.getCoordinate())throw new Error("getY called on empty Point");return this.getCoordinate().y},t.prototype.isEmpty=function(){return 0===this._coordinates.size()},t.prototype.init=function(e){null===e&&(e=this.getFactory().getCoordinateSequenceFactory().create([])),te.isTrue(e.size()<=1),this._coordinates=e},t.prototype.isSimple=function(){return!0},t.prototype.interfaces_=function(){return[Xe]},t.prototype.getClass=function(){return t},A.serialVersionUID.get=function(){return 0x44077bad161cbc00},Object.defineProperties(t,A),t}(ce),ze=function(){};ze.prototype.interfaces_=function(){return[]},ze.prototype.getClass=function(){return ze};var $e=function(e){function t(t,A,n){if(e.call(this,n),this._shell=null,this._holes=null,null===t&&(t=this.getFactory().createLinearRing()),null===A&&(A=[]),e.hasNullElements(A))throw new B("holes must not contain null elements");if(t.isEmpty()&&e.hasNonEmptyElements(A))throw new B("shell is empty but holes are not");this._shell=t,this._holes=A}e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t;var A={serialVersionUID:{configurable:!0}};return t.prototype.computeEnvelopeInternal=function(){return this._shell.getEnvelopeInternal()},t.prototype.getSortIndex=function(){return e.SORTINDEX_POLYGON},t.prototype.getCoordinates=function(){if(this.isEmpty())return[];for(var e=new Array(this.getNumPoints()).fill(null),t=-1,A=this._shell.getCoordinates(),n=0;n<A.length;n++)e[++t]=A[n];for(var r=0;r<this._holes.length;r++)for(var i=this._holes[r].getCoordinates(),o=0;o<i.length;o++)e[++t]=i[o];return e},t.prototype.getArea=function(){var e=0;e+=Math.abs(ae.signedArea(this._shell.getCoordinateSequence()));for(var t=0;t<this._holes.length;t++)e-=Math.abs(ae.signedArea(this._holes[t].getCoordinateSequence()));return e},t.prototype.isRectangle=function(){if(0!==this.getNumInteriorRing())return!1;if(null===this._shell)return!1;if(5!==this._shell.getNumPoints())return!1;for(var e=this._shell.getCoordinateSequence(),t=this.getEnvelopeInternal(),A=0;A<5;A++){var n=e.getX(A);if(n!==t.getMinX()&&n!==t.getMaxX())return!1;var r=e.getY(A);if(r!==t.getMinY()&&r!==t.getMaxY())return!1}for(var i=e.getX(0),o=e.getY(0),a=1;a<=4;a++){var s=e.getX(a),g=e.getY(a);if(s!==i===(g!==o))return!1;i=s,o=g}return!0},t.prototype.equalsExact=function(){if(2===arguments.length){var t=arguments[0],A=arguments[1];if(!this.isEquivalentClass(t))return!1;var n=t,r=this._shell,i=n._shell;if(!r.equalsExact(i,A))return!1;if(this._holes.length!==n._holes.length)return!1;for(var o=0;o<this._holes.length;o++)if(!this._holes[o].equalsExact(n._holes[o],A))return!1;return!0}return e.prototype.equalsExact.apply(this,arguments)},t.prototype.normalize=function(){if(0===arguments.length){this.normalize(this._shell,!0);for(var e=0;e<this._holes.length;e++)this.normalize(this._holes[e],!1);Me.sort(this._holes)}else if(2===arguments.length){var t=arguments[0],A=arguments[1];if(t.isEmpty())return null;var n=new Array(t.getCoordinates().length-1).fill(null);J.arraycopy(t.getCoordinates(),0,n,0,n.length);var r=we.minCoordinate(t.getCoordinates());we.scroll(n,r),J.arraycopy(n,0,t.getCoordinates(),0,n.length),t.getCoordinates()[n.length]=n[0],ae.isCCW(t.getCoordinates())===A&&we.reverse(t.getCoordinates())}},t.prototype.getCoordinate=function(){return this._shell.getCoordinate()},t.prototype.getNumInteriorRing=function(){return this._holes.length},t.prototype.getBoundaryDimension=function(){return 1},t.prototype.getDimension=function(){return 2},t.prototype.getLength=function(){var e=0;e+=this._shell.getLength();for(var t=0;t<this._holes.length;t++)e+=this._holes[t].getLength();return e},t.prototype.getNumPoints=function(){for(var e=this._shell.getNumPoints(),t=0;t<this._holes.length;t++)e+=this._holes[t].getNumPoints();return e},t.prototype.reverse=function(){var e=this.copy();e._shell=this._shell.copy().reverse(),e._holes=new Array(this._holes.length).fill(null);for(var t=0;t<this._holes.length;t++)e._holes[t]=this._holes[t].copy().reverse();return e},t.prototype.convexHull=function(){return this.getExteriorRing().convexHull()},t.prototype.compareToSameClass=function(){if(1===arguments.length){var e=arguments[0],t=this._shell,A=e._shell;return t.compareToSameClass(A)}if(2===arguments.length){var n=arguments[0],r=arguments[1],i=n,o=this._shell,a=i._shell,s=o.compareToSameClass(a,r);if(0!==s)return s;for(var g=this.getNumInteriorRing(),c=i.getNumInteriorRing(),u=0;u<g&&u<c;){var l=this.getInteriorRingN(u),I=i.getInteriorRingN(u),C=l.compareToSameClass(I,r);if(0!==C)return C;u++}return u<g?1:u<c?-1:0}},t.prototype.apply=function(e){if(D(e,Ie)){this._shell.apply(e);for(var t=0;t<this._holes.length;t++)this._holes[t].apply(e)}else if(D(e,Ze)){if(this._shell.apply(e),!e.isDone())for(var A=0;A<this._holes.length&&(this._holes[A].apply(e),!e.isDone());A++);e.isGeometryChanged()&&this.geometryChanged()}else if(D(e,Te))e.filter(this);else if(D(e,ge)){e.filter(this),this._shell.apply(e);for(var n=0;n<this._holes.length;n++)this._holes[n].apply(e)}},t.prototype.getBoundary=function(){if(this.isEmpty())return this.getFactory().createMultiLineString();var e=new Array(this._holes.length+1).fill(null);e[0]=this._shell;for(var t=0;t<this._holes.length;t++)e[t+1]=this._holes[t];return e.length<=1?this.getFactory().createLinearRing(e[0].getCoordinateSequence()):this.getFactory().createMultiLineString(e)},t.prototype.clone=function(){var t=e.prototype.clone.call(this);t._shell=this._shell.clone(),t._holes=new Array(this._holes.length).fill(null);for(var A=0;A<this._holes.length;A++)t._holes[A]=this._holes[A].clone();return t},t.prototype.getGeometryType=function(){return"Polygon"},t.prototype.copy=function(){for(var e=this._shell.copy(),A=new Array(this._holes.length).fill(null),n=0;n<A.length;n++)A[n]=this._holes[n].copy();return new t(e,A,this._factory)},t.prototype.getExteriorRing=function(){return this._shell},t.prototype.isEmpty=function(){return this._shell.isEmpty()},t.prototype.getInteriorRingN=function(e){return this._holes[e]},t.prototype.interfaces_=function(){return[ze]},t.prototype.getClass=function(){return t},A.serialVersionUID.get=function(){return-0x307ffefd8dc97200},Object.defineProperties(t,A),t}(ce),et=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t;var A={serialVersionUID:{configurable:!0}};return t.prototype.getSortIndex=function(){return ce.SORTINDEX_MULTIPOINT},t.prototype.isValid=function(){return!0},t.prototype.equalsExact=function(){if(2===arguments.length){var t=arguments[0],A=arguments[1];return!!this.isEquivalentClass(t)&&e.prototype.equalsExact.call(this,t,A)}return e.prototype.equalsExact.apply(this,arguments)},t.prototype.getCoordinate=function(){if(1===arguments.length){var t=arguments[0];return this._geometries[t].getCoordinate()}return e.prototype.getCoordinate.apply(this,arguments)},t.prototype.getBoundaryDimension=function(){return Oe.FALSE},t.prototype.getDimension=function(){return 0},t.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},t.prototype.getGeometryType=function(){return"MultiPoint"},t.prototype.copy=function(){for(var e=new Array(this._geometries.length).fill(null),A=0;A<e.length;A++)e[A]=this._geometries[A].copy();return new t(e,this._factory)},t.prototype.interfaces_=function(){return[Xe]},t.prototype.getClass=function(){return t},A.serialVersionUID.get=function(){return-0x6fb1ed4162e0fc00},Object.defineProperties(t,A),t}(He),tt=function(e){function t(t,A){t instanceof m&&A instanceof dt&&(t=A.getCoordinateSequenceFactory().create(t)),e.call(this,t,A),this.validateConstruction()}e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t;var A={MINIMUM_VALID_SIZE:{configurable:!0},serialVersionUID:{configurable:!0}};return t.prototype.getSortIndex=function(){return ce.SORTINDEX_LINEARRING},t.prototype.getBoundaryDimension=function(){return Oe.FALSE},t.prototype.isClosed=function(){return!!this.isEmpty()||e.prototype.isClosed.call(this)},t.prototype.reverse=function(){var e=this._points.copy();return Ke.reverse(e),this.getFactory().createLinearRing(e)},t.prototype.validateConstruction=function(){if(!this.isEmpty()&&!e.prototype.isClosed.call(this))throw new B("Points of LinearRing do not form a closed linestring");if(this.getCoordinateSequence().size()>=1&&this.getCoordinateSequence().size()<t.MINIMUM_VALID_SIZE)throw new B("Invalid number of points in LinearRing (found "+this.getCoordinateSequence().size()+" - must be 0 or >= 4)")},t.prototype.getGeometryType=function(){return"LinearRing"},t.prototype.copy=function(){return new t(this._points.copy(),this._factory)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},A.MINIMUM_VALID_SIZE.get=function(){return 4},A.serialVersionUID.get=function(){return-0x3b229e262367a600},Object.defineProperties(t,A),t}(We),At=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t;var A={serialVersionUID:{configurable:!0}};return t.prototype.getSortIndex=function(){return ce.SORTINDEX_MULTIPOLYGON},t.prototype.equalsExact=function(){if(2===arguments.length){var t=arguments[0],A=arguments[1];return!!this.isEquivalentClass(t)&&e.prototype.equalsExact.call(this,t,A)}return e.prototype.equalsExact.apply(this,arguments)},t.prototype.getBoundaryDimension=function(){return 1},t.prototype.getDimension=function(){return 2},t.prototype.reverse=function(){for(var e=this._geometries.length,t=new Array(e).fill(null),A=0;A<this._geometries.length;A++)t[A]=this._geometries[A].reverse();return this.getFactory().createMultiPolygon(t)},t.prototype.getBoundary=function(){if(this.isEmpty())return this.getFactory().createMultiLineString();for(var e=new ve,t=0;t<this._geometries.length;t++)for(var A=this._geometries[t].getBoundary(),n=0;n<A.getNumGeometries();n++)e.add(A.getGeometryN(n));var r=new Array(e.size()).fill(null);return this.getFactory().createMultiLineString(e.toArray(r))},t.prototype.getGeometryType=function(){return"MultiPolygon"},t.prototype.copy=function(){for(var e=new Array(this._geometries.length).fill(null),A=0;A<e.length;A++)e[A]=this._geometries[A].copy();return new t(e,this._factory)},t.prototype.interfaces_=function(){return[ze]},t.prototype.getClass=function(){return t},A.serialVersionUID.get=function(){return-0x7a5aa1369171980},Object.defineProperties(t,A),t}(He),nt=function(e){this._factory=e||null,this._isUserDataCopied=!1},rt={NoOpGeometryOperation:{configurable:!0},CoordinateOperation:{configurable:!0},CoordinateSequenceOperation:{configurable:!0}};nt.prototype.setCopyUserData=function(e){this._isUserDataCopied=e},nt.prototype.edit=function(e,t){if(null===e)return null;var A=this.editInternal(e,t);return this._isUserDataCopied&&A.setUserData(e.getUserData()),A},nt.prototype.editInternal=function(e,t){return null===this._factory&&(this._factory=e.getFactory()),e instanceof He?this.editGeometryCollection(e,t):e instanceof $e?this.editPolygon(e,t):e instanceof qe||e instanceof We?t.edit(e,this._factory):(te.shouldNeverReachHere("Unsupported Geometry class: "+e.getClass().getName()),null)},nt.prototype.editGeometryCollection=function(e,t){for(var A=t.edit(e,this._factory),n=new ve,r=0;r<A.getNumGeometries();r++){var i=this.edit(A.getGeometryN(r),t);null===i||i.isEmpty()||n.add(i)}return A.getClass()===et?this._factory.createMultiPoint(n.toArray([])):A.getClass()===Ye?this._factory.createMultiLineString(n.toArray([])):A.getClass()===At?this._factory.createMultiPolygon(n.toArray([])):this._factory.createGeometryCollection(n.toArray([]))},nt.prototype.editPolygon=function(e,t){var A=t.edit(e,this._factory);if(null===A&&(A=this._factory.createPolygon(null)),A.isEmpty())return A;var n=this.edit(A.getExteriorRing(),t);if(null===n||n.isEmpty())return this._factory.createPolygon();for(var r=new ve,i=0;i<A.getNumInteriorRing();i++){var o=this.edit(A.getInteriorRingN(i),t);null===o||o.isEmpty()||r.add(o)}return this._factory.createPolygon(n,r.toArray([]))},nt.prototype.interfaces_=function(){return[]},nt.prototype.getClass=function(){return nt},nt.GeometryEditorOperation=function(){},rt.NoOpGeometryOperation.get=function(){return it},rt.CoordinateOperation.get=function(){return ot},rt.CoordinateSequenceOperation.get=function(){return at},Object.defineProperties(nt,rt);var it=function(){};it.prototype.edit=function(e,t){return e},it.prototype.interfaces_=function(){return[nt.GeometryEditorOperation]},it.prototype.getClass=function(){return it};var ot=function(){};ot.prototype.edit=function(e,t){var A=this.editCoordinates(e.getCoordinates(),e);return null===A?e:e instanceof tt?t.createLinearRing(A):e instanceof We?t.createLineString(A):e instanceof qe?A.length>0?t.createPoint(A[0]):t.createPoint():e},ot.prototype.interfaces_=function(){return[nt.GeometryEditorOperation]},ot.prototype.getClass=function(){return ot};var at=function(){};at.prototype.edit=function(e,t){return e instanceof tt?t.createLinearRing(this.edit(e.getCoordinateSequence(),e)):e instanceof We?t.createLineString(this.edit(e.getCoordinateSequence(),e)):e instanceof qe?t.createPoint(this.edit(e.getCoordinateSequence(),e)):e},at.prototype.interfaces_=function(){return[nt.GeometryEditorOperation]},at.prototype.getClass=function(){return at};var st=function(){if(this._dimension=3,this._coordinates=null,1===arguments.length){if(arguments[0]instanceof Array)this._coordinates=arguments[0],this._dimension=3;else if(Number.isInteger(arguments[0])){var e=arguments[0];this._coordinates=new Array(e).fill(null);for(var t=0;t<e;t++)this._coordinates[t]=new m}else if(D(arguments[0],T)){var A=arguments[0];if(null===A)return this._coordinates=new Array(0).fill(null),null;this._dimension=A.getDimension(),this._coordinates=new Array(A.size()).fill(null);for(var n=0;n<this._coordinates.length;n++)this._coordinates[n]=A.getCoordinateCopy(n)}}else if(2===arguments.length)if(arguments[0]instanceof Array&&Number.isInteger(arguments[1])){var r=arguments[0],i=arguments[1];this._coordinates=r,this._dimension=i,null===r&&(this._coordinates=new Array(0).fill(null))}else if(Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var o=arguments[0],a=arguments[1];this._coordinates=new Array(o).fill(null),this._dimension=a;for(var s=0;s<o;s++)this._coordinates[s]=new m}},gt={serialVersionUID:{configurable:!0}};st.prototype.setOrdinate=function(e,t,A){switch(t){case T.X:this._coordinates[e].x=A;break;case T.Y:this._coordinates[e].y=A;break;case T.Z:this._coordinates[e].z=A;break;default:throw new B("invalid ordinateIndex")}},st.prototype.size=function(){return this._coordinates.length},st.prototype.getOrdinate=function(e,t){switch(t){case T.X:return this._coordinates[e].x;case T.Y:return this._coordinates[e].y;case T.Z:return this._coordinates[e].z}return p.NaN},st.prototype.getCoordinate=function(){if(1===arguments.length){var e=arguments[0];return this._coordinates[e]}if(2===arguments.length){var t=arguments[0],A=arguments[1];A.x=this._coordinates[t].x,A.y=this._coordinates[t].y,A.z=this._coordinates[t].z}},st.prototype.getCoordinateCopy=function(e){return new m(this._coordinates[e])},st.prototype.getDimension=function(){return this._dimension},st.prototype.getX=function(e){return this._coordinates[e].x},st.prototype.clone=function(){for(var e=new Array(this.size()).fill(null),t=0;t<this._coordinates.length;t++)e[t]=this._coordinates[t].clone();return new st(e,this._dimension)},st.prototype.expandEnvelope=function(e){for(var t=0;t<this._coordinates.length;t++)e.expandToInclude(this._coordinates[t]);return e},st.prototype.copy=function(){for(var e=new Array(this.size()).fill(null),t=0;t<this._coordinates.length;t++)e[t]=this._coordinates[t].copy();return new st(e,this._dimension)},st.prototype.toString=function(){if(this._coordinates.length>0){var e=new x(17*this._coordinates.length);e.append("("),e.append(this._coordinates[0]);for(var t=1;t<this._coordinates.length;t++)e.append(", "),e.append(this._coordinates[t]);return e.append(")"),e.toString()}return"()"},st.prototype.getY=function(e){return this._coordinates[e].y},st.prototype.toCoordinateArray=function(){return this._coordinates},st.prototype.interfaces_=function(){return[T,t]},st.prototype.getClass=function(){return st},gt.serialVersionUID.get=function(){return-0xcb44a778db18e00},Object.defineProperties(st,gt);var ct=function(){},ut={serialVersionUID:{configurable:!0},instanceObject:{configurable:!0}};ct.prototype.readResolve=function(){return ct.instance()},ct.prototype.create=function(){if(1===arguments.length){if(arguments[0]instanceof Array){var e=arguments[0];return new st(e)}if(D(arguments[0],T)){var t=arguments[0];return new st(t)}}else if(2===arguments.length){var A=arguments[0],n=arguments[1];return n>3&&(n=3),n<2?new st(A):new st(A,n)}},ct.prototype.interfaces_=function(){return[S,t]},ct.prototype.getClass=function(){return ct},ct.instance=function(){return ct.instanceObject},ut.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},ut.instanceObject.get=function(){return new ct},Object.defineProperties(ct,ut);var lt=function(e){function t(){e.call(this),this.map_=new Map}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return this.map_.get(e)||null},t.prototype.put=function(e,t){return this.map_.set(e,t),t},t.prototype.values=function(){for(var e=new ve,t=this.map_.values(),A=t.next();!A.done;)e.add(A.value),A=t.next();return e},t.prototype.entrySet=function(){var e=new ke;return this.map_.entries().forEach((function(t){return e.add(t)})),e},t.prototype.size=function(){return this.map_.size()},t}(De),It=function e(){if(this._modelType=null,this._scale=null,0===arguments.length)this._modelType=e.FLOATING;else if(1===arguments.length)if(arguments[0]instanceof ht){var t=arguments[0];this._modelType=t,t===e.FIXED&&this.setScale(1)}else if("number"==typeof arguments[0]){var A=arguments[0];this._modelType=e.FIXED,this.setScale(A)}else if(arguments[0]instanceof e){var n=arguments[0];this._modelType=n._modelType,this._scale=n._scale}},Ct={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};It.prototype.equals=function(e){if(!(e instanceof It))return!1;var t=e;return this._modelType===t._modelType&&this._scale===t._scale},It.prototype.compareTo=function(e){var t=e,A=this.getMaximumSignificantDigits(),n=t.getMaximumSignificantDigits();return new N(A).compareTo(new N(n))},It.prototype.getScale=function(){return this._scale},It.prototype.isFloating=function(){return this._modelType===It.FLOATING||this._modelType===It.FLOATING_SINGLE},It.prototype.getType=function(){return this._modelType},It.prototype.toString=function(){var e="UNKNOWN";return this._modelType===It.FLOATING?e="Floating":this._modelType===It.FLOATING_SINGLE?e="Floating-Single":this._modelType===It.FIXED&&(e="Fixed (Scale="+this.getScale()+")"),e},It.prototype.makePrecise=function(){if("number"==typeof arguments[0]){var e=arguments[0];return p.isNaN(e)||this._modelType===It.FLOATING_SINGLE?e:this._modelType===It.FIXED?Math.round(e*this._scale)/this._scale:e}if(arguments[0]instanceof m){var t=arguments[0];if(this._modelType===It.FLOATING)return null;t.x=this.makePrecise(t.x),t.y=this.makePrecise(t.y)}},It.prototype.getMaximumSignificantDigits=function(){var e=16;return this._modelType===It.FLOATING?e=16:this._modelType===It.FLOATING_SINGLE?e=6:this._modelType===It.FIXED&&(e=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),e},It.prototype.setScale=function(e){this._scale=Math.abs(e)},It.prototype.interfaces_=function(){return[t,Q]},It.prototype.getClass=function(){return It},It.mostPrecise=function(e,t){return e.compareTo(t)>=0?e:t},Ct.serialVersionUID.get=function(){return 0x6bee6404e9a25c00},Ct.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(It,Ct);var ht=function e(t){this._name=t||null,e.nameToTypeMap.put(t,this)},ft={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};ht.prototype.readResolve=function(){return ht.nameToTypeMap.get(this._name)},ht.prototype.toString=function(){return this._name},ht.prototype.interfaces_=function(){return[t]},ht.prototype.getClass=function(){return ht},ft.serialVersionUID.get=function(){return-552860263173159e4},ft.nameToTypeMap.get=function(){return new lt},Object.defineProperties(ht,ft),It.Type=ht,It.FIXED=new ht("FIXED"),It.FLOATING=new ht("FLOATING"),It.FLOATING_SINGLE=new ht("FLOATING SINGLE");var dt=function e(){this._precisionModel=new It,this._SRID=0,this._coordinateSequenceFactory=e.getDefaultCoordinateSequenceFactory(),0===arguments.length||(1===arguments.length?D(arguments[0],S)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof It&&(this._precisionModel=arguments[0]):2===arguments.length?(this._precisionModel=arguments[0],this._SRID=arguments[1]):3===arguments.length&&(this._precisionModel=arguments[0],this._SRID=arguments[1],this._coordinateSequenceFactory=arguments[2]))},Bt={serialVersionUID:{configurable:!0}};dt.prototype.toGeometry=function(e){return e.isNull()?this.createPoint(null):e.getMinX()===e.getMaxX()&&e.getMinY()===e.getMaxY()?this.createPoint(new m(e.getMinX(),e.getMinY())):e.getMinX()===e.getMaxX()||e.getMinY()===e.getMaxY()?this.createLineString([new m(e.getMinX(),e.getMinY()),new m(e.getMaxX(),e.getMaxY())]):this.createPolygon(this.createLinearRing([new m(e.getMinX(),e.getMinY()),new m(e.getMinX(),e.getMaxY()),new m(e.getMaxX(),e.getMaxY()),new m(e.getMaxX(),e.getMinY()),new m(e.getMinX(),e.getMinY())]),null)},dt.prototype.createLineString=function(e){return e?e instanceof Array?new We(this.getCoordinateSequenceFactory().create(e),this):D(e,T)?new We(e,this):void 0:new We(this.getCoordinateSequenceFactory().create([]),this)},dt.prototype.createMultiLineString=function(){if(0===arguments.length)return new Ye(null,this);if(1===arguments.length){var e=arguments[0];return new Ye(e,this)}},dt.prototype.buildGeometry=function(e){for(var t=null,A=!1,n=!1,r=e.iterator();r.hasNext();){var i=r.next(),o=i.getClass();null===t&&(t=o),o!==t&&(A=!0),i.isGeometryCollectionOrDerived()&&(n=!0)}if(null===t)return this.createGeometryCollection();if(A||n)return this.createGeometryCollection(dt.toGeometryArray(e));var a=e.iterator().next();if(e.size()>1){if(a instanceof $e)return this.createMultiPolygon(dt.toPolygonArray(e));if(a instanceof We)return this.createMultiLineString(dt.toLineStringArray(e));if(a instanceof qe)return this.createMultiPoint(dt.toPointArray(e));te.shouldNeverReachHere("Unhandled class: "+a.getClass().getName())}return a},dt.prototype.createMultiPointFromCoords=function(e){return this.createMultiPoint(null!==e?this.getCoordinateSequenceFactory().create(e):null)},dt.prototype.createPoint=function(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof m){var e=arguments[0];return this.createPoint(null!==e?this.getCoordinateSequenceFactory().create([e]):null)}if(D(arguments[0],T)){var t=arguments[0];return new qe(t,this)}}},dt.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},dt.prototype.createPolygon=function(){if(0===arguments.length)return new $e(null,null,this);if(1===arguments.length){if(D(arguments[0],T)){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}if(arguments[0]instanceof Array){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof tt){var A=arguments[0];return this.createPolygon(A,null)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];return new $e(n,r,this)}},dt.prototype.getSRID=function(){return this._SRID},dt.prototype.createGeometryCollection=function(){if(0===arguments.length)return new He(null,this);if(1===arguments.length){var e=arguments[0];return new He(e,this)}},dt.prototype.createGeometry=function(e){return new nt(this).edit(e,{edit:function(){if(2===arguments.length){var e=arguments[0];return this._coordinateSequenceFactory.create(e)}}})},dt.prototype.getPrecisionModel=function(){return this._precisionModel},dt.prototype.createLinearRing=function(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){var e=arguments[0];return this.createLinearRing(null!==e?this.getCoordinateSequenceFactory().create(e):null)}if(D(arguments[0],T)){var t=arguments[0];return new tt(t,this)}}},dt.prototype.createMultiPolygon=function(){if(0===arguments.length)return new At(null,this);if(1===arguments.length){var e=arguments[0];return new At(e,this)}},dt.prototype.createMultiPoint=function(){if(0===arguments.length)return new et(null,this);if(1===arguments.length){if(arguments[0]instanceof Array){var e=arguments[0];return new et(e,this)}if(arguments[0]instanceof Array){var t=arguments[0];return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(D(arguments[0],T)){var A=arguments[0];if(null===A)return this.createMultiPoint(new Array(0).fill(null));for(var n=new Array(A.size()).fill(null),r=0;r<A.size();r++){var i=this.getCoordinateSequenceFactory().create(1,A.getDimension());Ke.copy(A,r,i,0,1),n[r]=this.createPoint(i)}return this.createMultiPoint(n)}}},dt.prototype.interfaces_=function(){return[t]},dt.prototype.getClass=function(){return dt},dt.toMultiPolygonArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},dt.toGeometryArray=function(e){if(null===e)return null;var t=new Array(e.size()).fill(null);return e.toArray(t)},dt.getDefaultCoordinateSequenceFactory=function(){return ct.instance()},dt.toMultiLineStringArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},dt.toLineStringArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},dt.toMultiPointArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},dt.toLinearRingArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},dt.toPointArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},dt.toPolygonArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},dt.createPointFromInternalCoord=function(e,t){return t.getPrecisionModel().makePrecise(e),t.getFactory().createPoint(e)},Bt.serialVersionUID.get=function(){return-0x5ea75f2051eeb400},Object.defineProperties(dt,Bt);var pt=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"],Et=function(e){this.geometryFactory=e||new dt};Et.prototype.read=function(e){var t,A=(t="string"==typeof e?JSON.parse(e):e).type;if(!Qt[A])throw new Error("Unknown GeoJSON type: "+t.type);return-1!==pt.indexOf(A)?Qt[A].apply(this,[t.coordinates]):"GeometryCollection"===A?Qt[A].apply(this,[t.geometries]):Qt[A].apply(this,[t])},Et.prototype.write=function(e){var t=e.getGeometryType();if(!yt[t])throw new Error("Geometry is not supported");return yt[t].apply(this,[e])};var Qt={Feature:function(e){var t={};for(var A in e)t[A]=e[A];if(e.geometry){var n=e.geometry.type;if(!Qt[n])throw new Error("Unknown GeoJSON type: "+e.type);t.geometry=this.read(e.geometry)}return e.bbox&&(t.bbox=Qt.bbox.apply(this,[e.bbox])),t},FeatureCollection:function(e){var t={};if(e.features){t.features=[];for(var A=0;A<e.features.length;++A)t.features.push(this.read(e.features[A]))}return e.bbox&&(t.bbox=this.parse.bbox.apply(this,[e.bbox])),t},coordinates:function(e){for(var t=[],A=0;A<e.length;++A){var n=e[A];t.push(new m(n[0],n[1]))}return t},bbox:function(e){return this.geometryFactory.createLinearRing([new m(e[0],e[1]),new m(e[2],e[1]),new m(e[2],e[3]),new m(e[0],e[3]),new m(e[0],e[1])])},Point:function(e){var t=new m(e[0],e[1]);return this.geometryFactory.createPoint(t)},MultiPoint:function(e){for(var t=[],A=0;A<e.length;++A)t.push(Qt.Point.apply(this,[e[A]]));return this.geometryFactory.createMultiPoint(t)},LineString:function(e){var t=Qt.coordinates.apply(this,[e]);return this.geometryFactory.createLineString(t)},MultiLineString:function(e){for(var t=[],A=0;A<e.length;++A)t.push(Qt.LineString.apply(this,[e[A]]));return this.geometryFactory.createMultiLineString(t)},Polygon:function(e){for(var t=Qt.coordinates.apply(this,[e[0]]),A=this.geometryFactory.createLinearRing(t),n=[],r=1;r<e.length;++r){var i=e[r],o=Qt.coordinates.apply(this,[i]),a=this.geometryFactory.createLinearRing(o);n.push(a)}return this.geometryFactory.createPolygon(A,n)},MultiPolygon:function(e){for(var t=[],A=0;A<e.length;++A){var n=e[A];t.push(Qt.Polygon.apply(this,[n]))}return this.geometryFactory.createMultiPolygon(t)},GeometryCollection:function(e){for(var t=[],A=0;A<e.length;++A){var n=e[A];t.push(this.read(n))}return this.geometryFactory.createGeometryCollection(t)}},yt={coordinate:function(e){return[e.x,e.y]},Point:function(e){return{type:"Point",coordinates:yt.coordinate.apply(this,[e.getCoordinate()])}},MultiPoint:function(e){for(var t=[],A=0;A<e._geometries.length;++A){var n=e._geometries[A],r=yt.Point.apply(this,[n]);t.push(r.coordinates)}return{type:"MultiPoint",coordinates:t}},LineString:function(e){for(var t=[],A=e.getCoordinates(),n=0;n<A.length;++n){var r=A[n];t.push(yt.coordinate.apply(this,[r]))}return{type:"LineString",coordinates:t}},MultiLineString:function(e){for(var t=[],A=0;A<e._geometries.length;++A){var n=e._geometries[A],r=yt.LineString.apply(this,[n]);t.push(r.coordinates)}return{type:"MultiLineString",coordinates:t}},Polygon:function(e){var t=[],A=yt.LineString.apply(this,[e._shell]);t.push(A.coordinates);for(var n=0;n<e._holes.length;++n){var r=e._holes[n],i=yt.LineString.apply(this,[r]);t.push(i.coordinates)}return{type:"Polygon",coordinates:t}},MultiPolygon:function(e){for(var t=[],A=0;A<e._geometries.length;++A){var n=e._geometries[A],r=yt.Polygon.apply(this,[n]);t.push(r.coordinates)}return{type:"MultiPolygon",coordinates:t}},GeometryCollection:function(e){for(var t=[],A=0;A<e._geometries.length;++A){var n=e._geometries[A],r=n.getGeometryType();t.push(yt[r].apply(this,[n]))}return{type:"GeometryCollection",geometries:t}}},vt=function(e){this.geometryFactory=e||new dt,this.precisionModel=this.geometryFactory.getPrecisionModel(),this.parser=new Et(this.geometryFactory)};vt.prototype.read=function(e){var t=this.parser.read(e);return this.precisionModel.getType()===It.FIXED&&this.reducePrecision(t),t},vt.prototype.reducePrecision=function(e){var t,A;if(e.coordinate)this.precisionModel.makePrecise(e.coordinate);else if(e.points)for(t=0,A=e.points.length;t<A;t++)this.precisionModel.makePrecise(e.points[t]);else if(e.geometries)for(t=0,A=e.geometries.length;t<A;t++)this.reducePrecision(e.geometries[t])};var mt=function(){this.parser=new Et(this.geometryFactory)};mt.prototype.write=function(e){return this.parser.write(e)};var bt=function(){},wt={ON:{configurable:!0},LEFT:{configurable:!0},RIGHT:{configurable:!0}};bt.prototype.interfaces_=function(){return[]},bt.prototype.getClass=function(){return bt},bt.opposite=function(e){return e===bt.LEFT?bt.RIGHT:e===bt.RIGHT?bt.LEFT:e},wt.ON.get=function(){return 0},wt.LEFT.get=function(){return 1},wt.RIGHT.get=function(){return 2},Object.defineProperties(bt,wt),(h.prototype=new Error).name="EmptyStackException",(f.prototype=new ye).add=function(e){return this.array_.push(e),!0},f.prototype.get=function(e){if(e<0||e>=this.size())throw new Error;return this.array_[e]},f.prototype.push=function(e){return this.array_.push(e),e},f.prototype.pop=function(e){if(0===this.array_.length)throw new h;return this.array_.pop()},f.prototype.peek=function(){if(0===this.array_.length)throw new h;return this.array_[this.array_.length-1]},f.prototype.empty=function(){return 0===this.array_.length},f.prototype.isEmpty=function(){return this.empty()},f.prototype.search=function(e){return this.array_.indexOf(e)},f.prototype.size=function(){return this.array_.length},f.prototype.toArray=function(){for(var e=[],t=0,A=this.array_.length;t<A;t++)e.push(this.array_[t]);return e};var St=function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null};St.prototype.getCoordinate=function(){return this._minCoord},St.prototype.getRightmostSide=function(e,t){var A=this.getRightmostSideOfSegment(e,t);return A<0&&(A=this.getRightmostSideOfSegment(e,t-1)),A<0&&(this._minCoord=null,this.checkForRightmostCoordinate(e)),A},St.prototype.findRightmostEdgeAtVertex=function(){var e=this._minDe.getEdge().getCoordinates();te.isTrue(this._minIndex>0&&this._minIndex<e.length,"rightmost point expected to be interior vertex of edge");var t=e[this._minIndex-1],A=e[this._minIndex+1],n=ae.computeOrientation(this._minCoord,A,t),r=!1;(t.y<this._minCoord.y&&A.y<this._minCoord.y&&n===ae.COUNTERCLOCKWISE||t.y>this._minCoord.y&&A.y>this._minCoord.y&&n===ae.CLOCKWISE)&&(r=!0),r&&(this._minIndex=this._minIndex-1)},St.prototype.getRightmostSideOfSegment=function(e,t){var A=e.getEdge().getCoordinates();if(t<0||t+1>=A.length)return-1;if(A[t].y===A[t+1].y)return-1;var n=bt.LEFT;return A[t].y<A[t+1].y&&(n=bt.RIGHT),n},St.prototype.getEdge=function(){return this._orientedDe},St.prototype.checkForRightmostCoordinate=function(e){for(var t=e.getEdge().getCoordinates(),A=0;A<t.length-1;A++)(null===this._minCoord||t[A].x>this._minCoord.x)&&(this._minDe=e,this._minIndex=A,this._minCoord=t[A])},St.prototype.findRightmostEdgeAtNode=function(){var e=this._minDe.getNode().getEdges();this._minDe=e.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)},St.prototype.findEdge=function(e){for(var t=e.iterator();t.hasNext();){var A=t.next();A.isForward()&&this.checkForRightmostCoordinate(A)}te.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)===bt.LEFT&&(this._orientedDe=this._minDe.getSym())},St.prototype.interfaces_=function(){return[]},St.prototype.getClass=function(){return St};var Ft=function(e){function t(A,n){e.call(this,t.msgWithCoord(A,n)),this.pt=n?new m(n):null,this.name="TopologyException"}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getCoordinate=function(){return this.pt},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t.msgWithCoord=function(e,t){return t?e:e+" [ "+t+" ]"},t}($),Rt=function(){this.array_=[]};Rt.prototype.addLast=function(e){this.array_.push(e)},Rt.prototype.removeFirst=function(){return this.array_.shift()},Rt.prototype.isEmpty=function(){return 0===this.array_.length};var Dt=function(){this._finder=null,this._dirEdgeList=new ve,this._nodes=new ve,this._rightMostCoord=null,this._env=null,this._finder=new St};Dt.prototype.clearVisitedEdges=function(){for(var e=this._dirEdgeList.iterator();e.hasNext();)e.next().setVisited(!1)},Dt.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},Dt.prototype.computeNodeDepth=function(e){for(var t=null,A=e.getEdges().iterator();A.hasNext();){var n=A.next();if(n.isVisited()||n.getSym().isVisited()){t=n;break}}if(null===t)throw new Ft("unable to find edge to compute depths at "+e.getCoordinate());e.getEdges().computeDepths(t);for(var r=e.getEdges().iterator();r.hasNext();){var i=r.next();i.setVisited(!0),this.copySymDepths(i)}},Dt.prototype.computeDepth=function(e){this.clearVisitedEdges();var t=this._finder.getEdge();t.setEdgeDepths(bt.RIGHT,e),this.copySymDepths(t),this.computeDepths(t)},Dt.prototype.create=function(e){this.addReachable(e),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},Dt.prototype.findResultEdges=function(){for(var e=this._dirEdgeList.iterator();e.hasNext();){var t=e.next();t.getDepth(bt.RIGHT)>=1&&t.getDepth(bt.LEFT)<=0&&!t.isInteriorAreaEdge()&&t.setInResult(!0)}},Dt.prototype.computeDepths=function(e){var t=new ke,A=new Rt,n=e.getNode();for(A.addLast(n),t.add(n),e.setVisited(!0);!A.isEmpty();){var r=A.removeFirst();t.add(r),this.computeNodeDepth(r);for(var i=r.getEdges().iterator();i.hasNext();){var o=i.next().getSym();if(!o.isVisited()){var a=o.getNode();t.contains(a)||(A.addLast(a),t.add(a))}}}},Dt.prototype.compareTo=function(e){var t=e;return this._rightMostCoord.x<t._rightMostCoord.x?-1:this._rightMostCoord.x>t._rightMostCoord.x?1:0},Dt.prototype.getEnvelope=function(){if(null===this._env){for(var e=new P,t=this._dirEdgeList.iterator();t.hasNext();)for(var A=t.next().getEdge().getCoordinates(),n=0;n<A.length-1;n++)e.expandToInclude(A[n]);this._env=e}return this._env},Dt.prototype.addReachable=function(e){var t=new f;for(t.add(e);!t.empty();){var A=t.pop();this.add(A,t)}},Dt.prototype.copySymDepths=function(e){var t=e.getSym();t.setDepth(bt.LEFT,e.getDepth(bt.RIGHT)),t.setDepth(bt.RIGHT,e.getDepth(bt.LEFT))},Dt.prototype.add=function(e,t){e.setVisited(!0),this._nodes.add(e);for(var A=e.getEdges().iterator();A.hasNext();){var n=A.next();this._dirEdgeList.add(n);var r=n.getSym().getNode();r.isVisited()||t.push(r)}},Dt.prototype.getNodes=function(){return this._nodes},Dt.prototype.getDirectedEdges=function(){return this._dirEdgeList},Dt.prototype.interfaces_=function(){return[Q]},Dt.prototype.getClass=function(){return Dt};var Gt=function e(){if(this.location=null,1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];this.init(t.length)}else if(Number.isInteger(arguments[0])){var A=arguments[0];this.init(1),this.location[bt.ON]=A}else if(arguments[0]instanceof e){var n=arguments[0];if(this.init(n.location.length),null!==n)for(var r=0;r<this.location.length;r++)this.location[r]=n.location[r]}}else if(3===arguments.length){var i=arguments[0],o=arguments[1],a=arguments[2];this.init(3),this.location[bt.ON]=i,this.location[bt.LEFT]=o,this.location[bt.RIGHT]=a}};Gt.prototype.setAllLocations=function(e){for(var t=0;t<this.location.length;t++)this.location[t]=e},Gt.prototype.isNull=function(){for(var e=0;e<this.location.length;e++)if(this.location[e]!==F.NONE)return!1;return!0},Gt.prototype.setAllLocationsIfNull=function(e){for(var t=0;t<this.location.length;t++)this.location[t]===F.NONE&&(this.location[t]=e)},Gt.prototype.isLine=function(){return 1===this.location.length},Gt.prototype.merge=function(e){if(e.location.length>this.location.length){var t=new Array(3).fill(null);t[bt.ON]=this.location[bt.ON],t[bt.LEFT]=F.NONE,t[bt.RIGHT]=F.NONE,this.location=t}for(var A=0;A<this.location.length;A++)this.location[A]===F.NONE&&A<e.location.length&&(this.location[A]=e.location[A])},Gt.prototype.getLocations=function(){return this.location},Gt.prototype.flip=function(){if(this.location.length<=1)return null;var e=this.location[bt.LEFT];this.location[bt.LEFT]=this.location[bt.RIGHT],this.location[bt.RIGHT]=e},Gt.prototype.toString=function(){var e=new x;return this.location.length>1&&e.append(F.toLocationSymbol(this.location[bt.LEFT])),e.append(F.toLocationSymbol(this.location[bt.ON])),this.location.length>1&&e.append(F.toLocationSymbol(this.location[bt.RIGHT])),e.toString()},Gt.prototype.setLocations=function(e,t,A){this.location[bt.ON]=e,this.location[bt.LEFT]=t,this.location[bt.RIGHT]=A},Gt.prototype.get=function(e){return e<this.location.length?this.location[e]:F.NONE},Gt.prototype.isArea=function(){return this.location.length>1},Gt.prototype.isAnyNull=function(){for(var e=0;e<this.location.length;e++)if(this.location[e]===F.NONE)return!0;return!1},Gt.prototype.setLocation=function(){if(1===arguments.length){var e=arguments[0];this.setLocation(bt.ON,e)}else if(2===arguments.length){var t=arguments[0],A=arguments[1];this.location[t]=A}},Gt.prototype.init=function(e){this.location=new Array(e).fill(null),this.setAllLocations(F.NONE)},Gt.prototype.isEqualOnSide=function(e,t){return this.location[t]===e.location[t]},Gt.prototype.allPositionsEqual=function(e){for(var t=0;t<this.location.length;t++)if(this.location[t]!==e)return!1;return!0},Gt.prototype.interfaces_=function(){return[]},Gt.prototype.getClass=function(){return Gt};var kt=function e(){if(this.elt=new Array(2).fill(null),1===arguments.length){if(Number.isInteger(arguments[0])){var t=arguments[0];this.elt[0]=new Gt(t),this.elt[1]=new Gt(t)}else if(arguments[0]instanceof e){var A=arguments[0];this.elt[0]=new Gt(A.elt[0]),this.elt[1]=new Gt(A.elt[1])}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.elt[0]=new Gt(F.NONE),this.elt[1]=new Gt(F.NONE),this.elt[n].setLocation(r)}else if(3===arguments.length){var i=arguments[0],o=arguments[1],a=arguments[2];this.elt[0]=new Gt(i,o,a),this.elt[1]=new Gt(i,o,a)}else if(4===arguments.length){var s=arguments[0],g=arguments[1],c=arguments[2],u=arguments[3];this.elt[0]=new Gt(F.NONE,F.NONE,F.NONE),this.elt[1]=new Gt(F.NONE,F.NONE,F.NONE),this.elt[s].setLocations(g,c,u)}};kt.prototype.getGeometryCount=function(){var e=0;return this.elt[0].isNull()||e++,this.elt[1].isNull()||e++,e},kt.prototype.setAllLocations=function(e,t){this.elt[e].setAllLocations(t)},kt.prototype.isNull=function(e){return this.elt[e].isNull()},kt.prototype.setAllLocationsIfNull=function(){if(1===arguments.length){var e=arguments[0];this.setAllLocationsIfNull(0,e),this.setAllLocationsIfNull(1,e)}else if(2===arguments.length){var t=arguments[0],A=arguments[1];this.elt[t].setAllLocationsIfNull(A)}},kt.prototype.isLine=function(e){return this.elt[e].isLine()},kt.prototype.merge=function(e){for(var t=0;t<2;t++)null===this.elt[t]&&null!==e.elt[t]?this.elt[t]=new Gt(e.elt[t]):this.elt[t].merge(e.elt[t])},kt.prototype.flip=function(){this.elt[0].flip(),this.elt[1].flip()},kt.prototype.getLocation=function(){if(1===arguments.length){var e=arguments[0];return this.elt[e].get(bt.ON)}if(2===arguments.length){var t=arguments[0],A=arguments[1];return this.elt[t].get(A)}},kt.prototype.toString=function(){var e=new x;return null!==this.elt[0]&&(e.append("A:"),e.append(this.elt[0].toString())),null!==this.elt[1]&&(e.append(" B:"),e.append(this.elt[1].toString())),e.toString()},kt.prototype.isArea=function(){if(0===arguments.length)return this.elt[0].isArea()||this.elt[1].isArea();if(1===arguments.length){var e=arguments[0];return this.elt[e].isArea()}},kt.prototype.isAnyNull=function(e){return this.elt[e].isAnyNull()},kt.prototype.setLocation=function(){if(2===arguments.length){var e=arguments[0],t=arguments[1];this.elt[e].setLocation(bt.ON,t)}else if(3===arguments.length){var A=arguments[0],n=arguments[1],r=arguments[2];this.elt[A].setLocation(n,r)}},kt.prototype.isEqualOnSide=function(e,t){return this.elt[0].isEqualOnSide(e.elt[0],t)&&this.elt[1].isEqualOnSide(e.elt[1],t)},kt.prototype.allPositionsEqual=function(e,t){return this.elt[e].allPositionsEqual(t)},kt.prototype.toLine=function(e){this.elt[e].isArea()&&(this.elt[e]=new Gt(this.elt[e].location[0]))},kt.prototype.interfaces_=function(){return[]},kt.prototype.getClass=function(){return kt},kt.toLineLabel=function(e){for(var t=new kt(F.NONE),A=0;A<2;A++)t.setLocation(A,e.getLocation(A));return t};var xt=function(){this._startDe=null,this._maxNodeDegree=-1,this._edges=new ve,this._pts=new ve,this._label=new kt(F.NONE),this._ring=null,this._isHole=null,this._shell=null,this._holes=new ve,this._geometryFactory=null;var e=arguments[0],t=arguments[1];this._geometryFactory=t,this.computePoints(e),this.computeRing()};xt.prototype.computeRing=function(){if(null!==this._ring)return null;for(var e=new Array(this._pts.size()).fill(null),t=0;t<this._pts.size();t++)e[t]=this._pts.get(t);this._ring=this._geometryFactory.createLinearRing(e),this._isHole=ae.isCCW(this._ring.getCoordinates())},xt.prototype.isIsolated=function(){return 1===this._label.getGeometryCount()},xt.prototype.computePoints=function(e){this._startDe=e;var t=e,A=!0;do{if(null===t)throw new Ft("Found null DirectedEdge");if(t.getEdgeRing()===this)throw new Ft("Directed Edge visited twice during ring-building at "+t.getCoordinate());this._edges.add(t);var n=t.getLabel();te.isTrue(n.isArea()),this.mergeLabel(n),this.addPoints(t.getEdge(),t.isForward(),A),A=!1,this.setEdgeRing(t,this),t=this.getNext(t)}while(t!==this._startDe)},xt.prototype.getLinearRing=function(){return this._ring},xt.prototype.getCoordinate=function(e){return this._pts.get(e)},xt.prototype.computeMaxNodeDegree=function(){this._maxNodeDegree=0;var e=this._startDe;do{var t=e.getNode().getEdges().getOutgoingDegree(this);t>this._maxNodeDegree&&(this._maxNodeDegree=t),e=this.getNext(e)}while(e!==this._startDe);this._maxNodeDegree*=2},xt.prototype.addPoints=function(e,t,A){var n=e.getCoordinates();if(t){var r=1;A&&(r=0);for(var i=r;i<n.length;i++)this._pts.add(n[i])}else{var o=n.length-2;A&&(o=n.length-1);for(var a=o;a>=0;a--)this._pts.add(n[a])}},xt.prototype.isHole=function(){return this._isHole},xt.prototype.setInResult=function(){var e=this._startDe;do{e.getEdge().setInResult(!0),e=e.getNext()}while(e!==this._startDe)},xt.prototype.containsPoint=function(e){var t=this.getLinearRing();if(!t.getEnvelopeInternal().contains(e))return!1;if(!ae.isPointInRing(e,t.getCoordinates()))return!1;for(var A=this._holes.iterator();A.hasNext();)if(A.next().containsPoint(e))return!1;return!0},xt.prototype.addHole=function(e){this._holes.add(e)},xt.prototype.isShell=function(){return null===this._shell},xt.prototype.getLabel=function(){return this._label},xt.prototype.getEdges=function(){return this._edges},xt.prototype.getMaxNodeDegree=function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree},xt.prototype.getShell=function(){return this._shell},xt.prototype.mergeLabel=function(){if(1===arguments.length){var e=arguments[0];this.mergeLabel(e,0),this.mergeLabel(e,1)}else if(2===arguments.length){var t=arguments[0],A=arguments[1],n=t.getLocation(A,bt.RIGHT);if(n===F.NONE)return null;if(this._label.getLocation(A)===F.NONE)return this._label.setLocation(A,n),null}},xt.prototype.setShell=function(e){this._shell=e,null!==e&&e.addHole(this)},xt.prototype.toPolygon=function(e){for(var t=new Array(this._holes.size()).fill(null),A=0;A<this._holes.size();A++)t[A]=this._holes.get(A).getLinearRing();return e.createPolygon(this.getLinearRing(),t)},xt.prototype.interfaces_=function(){return[]},xt.prototype.getClass=function(){return xt};var Nt=function(e){function t(){var t=arguments[0],A=arguments[1];e.call(this,t,A)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.setEdgeRing=function(e,t){e.setMinEdgeRing(t)},t.prototype.getNext=function(e){return e.getNextMin()},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(xt),Ut=function(e){function t(){var t=arguments[0],A=arguments[1];e.call(this,t,A)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.buildMinimalRings=function(){var e=new ve,t=this._startDe;do{if(null===t.getMinEdgeRing()){var A=new Nt(t,this._geometryFactory);e.add(A)}t=t.getNext()}while(t!==this._startDe);return e},t.prototype.setEdgeRing=function(e,t){e.setEdgeRing(t)},t.prototype.linkDirectedEdgesForMinimalEdgeRings=function(){var e=this._startDe;do{e.getNode().getEdges().linkMinimalDirectedEdges(this),e=e.getNext()}while(e!==this._startDe)},t.prototype.getNext=function(e){return e.getNext()},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(xt),_t=function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,0===arguments.length);else if(1===arguments.length){var e=arguments[0];this._label=e}};_t.prototype.setVisited=function(e){this._isVisited=e},_t.prototype.setInResult=function(e){this._isInResult=e},_t.prototype.isCovered=function(){return this._isCovered},_t.prototype.isCoveredSet=function(){return this._isCoveredSet},_t.prototype.setLabel=function(e){this._label=e},_t.prototype.getLabel=function(){return this._label},_t.prototype.setCovered=function(e){this._isCovered=e,this._isCoveredSet=!0},_t.prototype.updateIM=function(e){te.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(e)},_t.prototype.isInResult=function(){return this._isInResult},_t.prototype.isVisited=function(){return this._isVisited},_t.prototype.interfaces_=function(){return[]},_t.prototype.getClass=function(){return _t};var Mt=function(e){function t(){e.call(this),this._coord=null,this._edges=null;var t=arguments[0],A=arguments[1];this._coord=t,this._edges=A,this._label=new kt(0,F.NONE)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.isIncidentEdgeInResult=function(){for(var e=this.getEdges().getEdges().iterator();e.hasNext();)if(e.next().getEdge().isInResult())return!0;return!1},t.prototype.isIsolated=function(){return 1===this._label.getGeometryCount()},t.prototype.getCoordinate=function(){return this._coord},t.prototype.print=function(e){e.println("node "+this._coord+" lbl: "+this._label)},t.prototype.computeIM=function(e){},t.prototype.computeMergedLocation=function(e,t){var A=F.NONE;if(A=this._label.getLocation(t),!e.isNull(t)){var n=e.getLocation(t);A!==F.BOUNDARY&&(A=n)}return A},t.prototype.setLabel=function(){if(2!==arguments.length)return e.prototype.setLabel.apply(this,arguments);var t=arguments[0],A=arguments[1];null===this._label?this._label=new kt(t,A):this._label.setLocation(t,A)},t.prototype.getEdges=function(){return this._edges},t.prototype.mergeLabel=function(){if(arguments[0]instanceof t){var e=arguments[0];this.mergeLabel(e._label)}else if(arguments[0]instanceof kt)for(var A=arguments[0],n=0;n<2;n++){var r=this.computeMergedLocation(A,n);this._label.getLocation(n)===F.NONE&&this._label.setLocation(n,r)}},t.prototype.add=function(e){this._edges.insert(e),e.setNode(this)},t.prototype.setLabelBoundary=function(e){if(null===this._label)return null;var t=F.NONE;null!==this._label&&(t=this._label.getLocation(e));var A=null;switch(t){case F.BOUNDARY:A=F.INTERIOR;break;case F.INTERIOR:default:A=F.BOUNDARY}this._label.setLocation(e,A)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(_t),Ot=function(){this.nodeMap=new u,this.nodeFact=null;var e=arguments[0];this.nodeFact=e};Ot.prototype.find=function(e){return this.nodeMap.get(e)},Ot.prototype.addNode=function(){if(arguments[0]instanceof m){var e=arguments[0],t=this.nodeMap.get(e);return null===t&&(t=this.nodeFact.createNode(e),this.nodeMap.put(e,t)),t}if(arguments[0]instanceof Mt){var A=arguments[0],n=this.nodeMap.get(A.getCoordinate());return null===n?(this.nodeMap.put(A.getCoordinate(),A),A):(n.mergeLabel(A),n)}},Ot.prototype.print=function(e){for(var t=this.iterator();t.hasNext();)t.next().print(e)},Ot.prototype.iterator=function(){return this.nodeMap.values().iterator()},Ot.prototype.values=function(){return this.nodeMap.values()},Ot.prototype.getBoundaryNodes=function(e){for(var t=new ve,A=this.iterator();A.hasNext();){var n=A.next();n.getLabel().getLocation(e)===F.BOUNDARY&&t.add(n)}return t},Ot.prototype.add=function(e){var t=e.getCoordinate();this.addNode(t).add(e)},Ot.prototype.interfaces_=function(){return[]},Ot.prototype.getClass=function(){return Ot};var Lt=function(){},Tt={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};Lt.prototype.interfaces_=function(){return[]},Lt.prototype.getClass=function(){return Lt},Lt.isNorthern=function(e){return e===Lt.NE||e===Lt.NW},Lt.isOpposite=function(e,t){return e!==t&&2===(e-t+4)%4},Lt.commonHalfPlane=function(e,t){if(e===t)return e;if(2===(e-t+4)%4)return-1;var A=e<t?e:t;return 0===A&&3===(e>t?e:t)?3:A},Lt.isInHalfPlane=function(e,t){return t===Lt.SE?e===Lt.SE||e===Lt.SW:e===t||e===t+1},Lt.quadrant=function(){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){var e=arguments[0],t=arguments[1];if(0===e&&0===t)throw new B("Cannot compute the quadrant for point ( "+e+", "+t+" )");return e>=0?t>=0?Lt.NE:Lt.SE:t>=0?Lt.NW:Lt.SW}if(arguments[0]instanceof m&&arguments[1]instanceof m){var A=arguments[0],n=arguments[1];if(n.x===A.x&&n.y===A.y)throw new B("Cannot compute the quadrant for two identical points "+A);return n.x>=A.x?n.y>=A.y?Lt.NE:Lt.SE:n.y>=A.y?Lt.NW:Lt.SW}},Tt.NE.get=function(){return 0},Tt.NW.get=function(){return 1},Tt.SW.get=function(){return 2},Tt.SE.get=function(){return 3},Object.defineProperties(Lt,Tt);var Zt=function(){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){var e=arguments[0];this._edge=e}else if(3===arguments.length){var t=arguments[0],A=arguments[1],n=arguments[2];this._edge=t,this.init(A,n),this._label=null}else if(4===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2],a=arguments[3];this._edge=r,this.init(i,o),this._label=a}};Zt.prototype.compareDirection=function(e){return this._dx===e._dx&&this._dy===e._dy?0:this._quadrant>e._quadrant?1:this._quadrant<e._quadrant?-1:ae.computeOrientation(e._p0,e._p1,this._p1)},Zt.prototype.getDy=function(){return this._dy},Zt.prototype.getCoordinate=function(){return this._p0},Zt.prototype.setNode=function(e){this._node=e},Zt.prototype.print=function(e){var t=Math.atan2(this._dy,this._dx),A=this.getClass().getName(),n=A.lastIndexOf("."),r=A.substring(n+1);e.print(" "+r+": "+this._p0+" - "+this._p1+" "+this._quadrant+":"+t+" "+this._label)},Zt.prototype.compareTo=function(e){var t=e;return this.compareDirection(t)},Zt.prototype.getDirectedCoordinate=function(){return this._p1},Zt.prototype.getDx=function(){return this._dx},Zt.prototype.getLabel=function(){return this._label},Zt.prototype.getEdge=function(){return this._edge},Zt.prototype.getQuadrant=function(){return this._quadrant},Zt.prototype.getNode=function(){return this._node},Zt.prototype.toString=function(){var e=Math.atan2(this._dy,this._dx),t=this.getClass().getName(),A=t.lastIndexOf(".");return" "+t.substring(A+1)+": "+this._p0+" - "+this._p1+" "+this._quadrant+":"+e+" "+this._label},Zt.prototype.computeLabel=function(e){},Zt.prototype.init=function(e,t){this._p0=e,this._p1=t,this._dx=t.x-e.x,this._dy=t.y-e.y,this._quadrant=Lt.quadrant(this._dx,this._dy),te.isTrue(!(0===this._dx&&0===this._dy),"EdgeEnd with identical endpoints found")},Zt.prototype.interfaces_=function(){return[Q]},Zt.prototype.getClass=function(){return Zt};var Ht=function(e){function t(){var t=arguments[0],A=arguments[1];if(e.call(this,t),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],this._isForward=A,A)this.init(t.getCoordinate(0),t.getCoordinate(1));else{var n=t.getNumPoints()-1;this.init(t.getCoordinate(n),t.getCoordinate(n-1))}this.computeDirectedLabel()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getNextMin=function(){return this._nextMin},t.prototype.getDepth=function(e){return this._depth[e]},t.prototype.setVisited=function(e){this._isVisited=e},t.prototype.computeDirectedLabel=function(){this._label=new kt(this._edge.getLabel()),this._isForward||this._label.flip()},t.prototype.getNext=function(){return this._next},t.prototype.setDepth=function(e,t){if(-999!==this._depth[e]&&this._depth[e]!==t)throw new Ft("assigned depths do not match",this.getCoordinate());this._depth[e]=t},t.prototype.isInteriorAreaEdge=function(){for(var e=!0,t=0;t<2;t++)this._label.isArea(t)&&this._label.getLocation(t,bt.LEFT)===F.INTERIOR&&this._label.getLocation(t,bt.RIGHT)===F.INTERIOR||(e=!1);return e},t.prototype.setNextMin=function(e){this._nextMin=e},t.prototype.print=function(t){e.prototype.print.call(this,t),t.print(" "+this._depth[bt.LEFT]+"/"+this._depth[bt.RIGHT]),t.print(" ("+this.getDepthDelta()+")"),this._isInResult&&t.print(" inResult")},t.prototype.setMinEdgeRing=function(e){this._minEdgeRing=e},t.prototype.isLineEdge=function(){var e=this._label.isLine(0)||this._label.isLine(1),t=!this._label.isArea(0)||this._label.allPositionsEqual(0,F.EXTERIOR),A=!this._label.isArea(1)||this._label.allPositionsEqual(1,F.EXTERIOR);return e&&t&&A},t.prototype.setEdgeRing=function(e){this._edgeRing=e},t.prototype.getMinEdgeRing=function(){return this._minEdgeRing},t.prototype.getDepthDelta=function(){var e=this._edge.getDepthDelta();return this._isForward||(e=-e),e},t.prototype.setInResult=function(e){this._isInResult=e},t.prototype.getSym=function(){return this._sym},t.prototype.isForward=function(){return this._isForward},t.prototype.getEdge=function(){return this._edge},t.prototype.printEdge=function(e){this.print(e),e.print(" "),this._isForward?this._edge.print(e):this._edge.printReverse(e)},t.prototype.setSym=function(e){this._sym=e},t.prototype.setVisitedEdge=function(e){this.setVisited(e),this._sym.setVisited(e)},t.prototype.setEdgeDepths=function(e,t){var A=this.getEdge().getDepthDelta();this._isForward||(A=-A);var n=1;e===bt.LEFT&&(n=-1);var r=bt.opposite(e),i=t+A*n;this.setDepth(e,t),this.setDepth(r,i)},t.prototype.getEdgeRing=function(){return this._edgeRing},t.prototype.isInResult=function(){return this._isInResult},t.prototype.setNext=function(e){this._next=e},t.prototype.isVisited=function(){return this._isVisited},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t.depthFactor=function(e,t){return e===F.EXTERIOR&&t===F.INTERIOR?1:e===F.INTERIOR&&t===F.EXTERIOR?-1:0},t}(Zt),Yt=function(){};Yt.prototype.createNode=function(e){return new Mt(e,null)},Yt.prototype.interfaces_=function(){return[]},Yt.prototype.getClass=function(){return Yt};var Jt=function(){if(this._edges=new ve,this._nodes=null,this._edgeEndList=new ve,0===arguments.length)this._nodes=new Ot(new Yt);else if(1===arguments.length){var e=arguments[0];this._nodes=new Ot(e)}};Jt.prototype.printEdges=function(e){e.println("Edges:");for(var t=0;t<this._edges.size();t++){e.println("edge "+t+":");var A=this._edges.get(t);A.print(e),A.eiList.print(e)}},Jt.prototype.find=function(e){return this._nodes.find(e)},Jt.prototype.addNode=function(){if(arguments[0]instanceof Mt){var e=arguments[0];return this._nodes.addNode(e)}if(arguments[0]instanceof m){var t=arguments[0];return this._nodes.addNode(t)}},Jt.prototype.getNodeIterator=function(){return this._nodes.iterator()},Jt.prototype.linkResultDirectedEdges=function(){for(var e=this._nodes.iterator();e.hasNext();)e.next().getEdges().linkResultDirectedEdges()},Jt.prototype.debugPrintln=function(e){J.out.println(e)},Jt.prototype.isBoundaryNode=function(e,t){var A=this._nodes.find(t);if(null===A)return!1;var n=A.getLabel();return null!==n&&n.getLocation(e)===F.BOUNDARY},Jt.prototype.linkAllDirectedEdges=function(){for(var e=this._nodes.iterator();e.hasNext();)e.next().getEdges().linkAllDirectedEdges()},Jt.prototype.matchInSameDirection=function(e,t,A,n){return!!e.equals(A)&&ae.computeOrientation(e,t,n)===ae.COLLINEAR&&Lt.quadrant(e,t)===Lt.quadrant(A,n)},Jt.prototype.getEdgeEnds=function(){return this._edgeEndList},Jt.prototype.debugPrint=function(e){J.out.print(e)},Jt.prototype.getEdgeIterator=function(){return this._edges.iterator()},Jt.prototype.findEdgeInSameDirection=function(e,t){for(var A=0;A<this._edges.size();A++){var n=this._edges.get(A),r=n.getCoordinates();if(this.matchInSameDirection(e,t,r[0],r[1]))return n;if(this.matchInSameDirection(e,t,r[r.length-1],r[r.length-2]))return n}return null},Jt.prototype.insertEdge=function(e){this._edges.add(e)},Jt.prototype.findEdgeEnd=function(e){for(var t=this.getEdgeEnds().iterator();t.hasNext();){var A=t.next();if(A.getEdge()===e)return A}return null},Jt.prototype.addEdges=function(e){for(var t=e.iterator();t.hasNext();){var A=t.next();this._edges.add(A);var n=new Ht(A,!0),r=new Ht(A,!1);n.setSym(r),r.setSym(n),this.add(n),this.add(r)}},Jt.prototype.add=function(e){this._nodes.add(e),this._edgeEndList.add(e)},Jt.prototype.getNodes=function(){return this._nodes.values()},Jt.prototype.findEdge=function(e,t){for(var A=0;A<this._edges.size();A++){var n=this._edges.get(A),r=n.getCoordinates();if(e.equals(r[0])&&t.equals(r[1]))return n}return null},Jt.prototype.interfaces_=function(){return[]},Jt.prototype.getClass=function(){return Jt},Jt.linkResultDirectedEdges=function(e){for(var t=e.iterator();t.hasNext();)t.next().getEdges().linkResultDirectedEdges()};var jt=function(){this._geometryFactory=null,this._shellList=new ve;var e=arguments[0];this._geometryFactory=e};jt.prototype.sortShellsAndHoles=function(e,t,A){for(var n=e.iterator();n.hasNext();){var r=n.next();r.isHole()?A.add(r):t.add(r)}},jt.prototype.computePolygons=function(e){for(var t=new ve,A=e.iterator();A.hasNext();){var n=A.next().toPolygon(this._geometryFactory);t.add(n)}return t},jt.prototype.placeFreeHoles=function(e,t){for(var A=t.iterator();A.hasNext();){var n=A.next();if(null===n.getShell()){var r=this.findEdgeRingContaining(n,e);if(null===r)throw new Ft("unable to assign hole to a shell",n.getCoordinate(0));n.setShell(r)}}},jt.prototype.buildMinimalEdgeRings=function(e,t,A){for(var n=new ve,r=e.iterator();r.hasNext();){var i=r.next();if(i.getMaxNodeDegree()>2){i.linkDirectedEdgesForMinimalEdgeRings();var o=i.buildMinimalRings(),a=this.findShell(o);null!==a?(this.placePolygonHoles(a,o),t.add(a)):A.addAll(o)}else n.add(i)}return n},jt.prototype.containsPoint=function(e){for(var t=this._shellList.iterator();t.hasNext();)if(t.next().containsPoint(e))return!0;return!1},jt.prototype.buildMaximalEdgeRings=function(e){for(var t=new ve,A=e.iterator();A.hasNext();){var n=A.next();if(n.isInResult()&&n.getLabel().isArea()&&null===n.getEdgeRing()){var r=new Ut(n,this._geometryFactory);t.add(r),r.setInResult()}}return t},jt.prototype.placePolygonHoles=function(e,t){for(var A=t.iterator();A.hasNext();){var n=A.next();n.isHole()&&n.setShell(e)}},jt.prototype.getPolygons=function(){return this.computePolygons(this._shellList)},jt.prototype.findEdgeRingContaining=function(e,t){for(var A=e.getLinearRing(),n=A.getEnvelopeInternal(),r=A.getCoordinateN(0),i=null,o=null,a=t.iterator();a.hasNext();){var s=a.next(),g=s.getLinearRing(),c=g.getEnvelopeInternal();null!==i&&(o=i.getLinearRing().getEnvelopeInternal());var u=!1;c.contains(n)&&ae.isPointInRing(r,g.getCoordinates())&&(u=!0),u&&(null===i||o.contains(c))&&(i=s)}return i},jt.prototype.findShell=function(e){for(var t=0,A=null,n=e.iterator();n.hasNext();){var r=n.next();r.isHole()||(A=r,t++)}return te.isTrue(t<=1,"found two shells in MinimalEdgeRing list"),A},jt.prototype.add=function(){if(1===arguments.length){var e=arguments[0];this.add(e.getEdgeEnds(),e.getNodes())}else if(2===arguments.length){var t=arguments[0],A=arguments[1];Jt.linkResultDirectedEdges(A);var n=this.buildMaximalEdgeRings(t),r=new ve,i=this.buildMinimalEdgeRings(n,this._shellList,r);this.sortShellsAndHoles(i,this._shellList,r),this.placeFreeHoles(this._shellList,r)}},jt.prototype.interfaces_=function(){return[]},jt.prototype.getClass=function(){return jt};var Pt=function(){};Pt.prototype.getBounds=function(){},Pt.prototype.interfaces_=function(){return[]},Pt.prototype.getClass=function(){return Pt};var Vt=function(){this._bounds=null,this._item=null;var e=arguments[0],t=arguments[1];this._bounds=e,this._item=t};Vt.prototype.getItem=function(){return this._item},Vt.prototype.getBounds=function(){return this._bounds},Vt.prototype.interfaces_=function(){return[Pt,t]},Vt.prototype.getClass=function(){return Vt};var Kt=function(){this._size=null,this._items=null,this._size=0,this._items=new ve,this._items.add(null)};Kt.prototype.poll=function(){if(this.isEmpty())return null;var e=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),e},Kt.prototype.size=function(){return this._size},Kt.prototype.reorder=function(e){for(var t=null,A=this._items.get(e);2*e<=this._size&&((t=2*e)!==this._size&&this._items.get(t+1).compareTo(this._items.get(t))<0&&t++,this._items.get(t).compareTo(A)<0);e=t)this._items.set(e,this._items.get(t));this._items.set(e,A)},Kt.prototype.clear=function(){this._size=0,this._items.clear()},Kt.prototype.isEmpty=function(){return 0===this._size},Kt.prototype.add=function(e){this._items.add(null),this._size+=1;var t=this._size;for(this._items.set(0,e);e.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,e)},Kt.prototype.interfaces_=function(){return[]},Kt.prototype.getClass=function(){return Kt};var Wt=function(){};Wt.prototype.visitItem=function(e){},Wt.prototype.interfaces_=function(){return[]},Wt.prototype.getClass=function(){return Wt};var Xt=function(){};Xt.prototype.insert=function(e,t){},Xt.prototype.remove=function(e,t){},Xt.prototype.query=function(){},Xt.prototype.interfaces_=function(){return[]},Xt.prototype.getClass=function(){return Xt};var qt=function(){if(this._childBoundables=new ve,this._bounds=null,this._level=null,0===arguments.length);else if(1===arguments.length){var e=arguments[0];this._level=e}},zt={serialVersionUID:{configurable:!0}};qt.prototype.getLevel=function(){return this._level},qt.prototype.size=function(){return this._childBoundables.size()},qt.prototype.getChildBoundables=function(){return this._childBoundables},qt.prototype.addChildBoundable=function(e){te.isTrue(null===this._bounds),this._childBoundables.add(e)},qt.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},qt.prototype.getBounds=function(){return null===this._bounds&&(this._bounds=this.computeBounds()),this._bounds},qt.prototype.interfaces_=function(){return[Pt,t]},qt.prototype.getClass=function(){return qt},zt.serialVersionUID.get=function(){return 0x5a1e55ec41369800},Object.defineProperties(qt,zt);var $t=function(){};$t.reverseOrder=function(){return{compare:function(e,t){return t.compareTo(e)}}},$t.min=function(e){return $t.sort(e),e.get(0)},$t.sort=function(e,t){var A=e.toArray();t?Me.sort(A,t):Me.sort(A);for(var n=e.iterator(),r=0,i=A.length;r<i;r++)n.next(),n.set(A[r])},$t.singletonList=function(e){var t=new ve;return t.add(e),t};var eA=function(){this._boundable1=null,this._boundable2=null,this._distance=null,this._itemDistance=null;var e=arguments[0],t=arguments[1],A=arguments[2];this._boundable1=e,this._boundable2=t,this._itemDistance=A,this._distance=this.distance()};eA.prototype.expandToQueue=function(e,t){var A=eA.isComposite(this._boundable1),n=eA.isComposite(this._boundable2);if(A&&n)return eA.area(this._boundable1)>eA.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,e,t),null):(this.expand(this._boundable2,this._boundable1,e,t),null);if(A)return this.expand(this._boundable1,this._boundable2,e,t),null;if(n)return this.expand(this._boundable2,this._boundable1,e,t),null;throw new B("neither boundable is composite")},eA.prototype.isLeaves=function(){return!(eA.isComposite(this._boundable1)||eA.isComposite(this._boundable2))},eA.prototype.compareTo=function(e){var t=e;return this._distance<t._distance?-1:this._distance>t._distance?1:0},eA.prototype.expand=function(e,t,A,n){for(var r=e.getChildBoundables().iterator();r.hasNext();){var i=r.next(),o=new eA(i,t,this._itemDistance);o.getDistance()<n&&A.add(o)}},eA.prototype.getBoundable=function(e){return 0===e?this._boundable1:this._boundable2},eA.prototype.getDistance=function(){return this._distance},eA.prototype.distance=function(){return this.isLeaves()?this._itemDistance.distance(this._boundable1,this._boundable2):this._boundable1.getBounds().distance(this._boundable2.getBounds())},eA.prototype.interfaces_=function(){return[Q]},eA.prototype.getClass=function(){return eA},eA.area=function(e){return e.getBounds().getArea()},eA.isComposite=function(e){return e instanceof qt};var tA=function e(){if(this._root=null,this._built=!1,this._itemBoundables=new ve,this._nodeCapacity=null,0===arguments.length){var t=e.DEFAULT_NODE_CAPACITY;this._nodeCapacity=t}else if(1===arguments.length){var A=arguments[0];te.isTrue(A>1,"Node capacity must be greater than 1"),this._nodeCapacity=A}},AA={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};tA.prototype.getNodeCapacity=function(){return this._nodeCapacity},tA.prototype.lastNode=function(e){return e.get(e.size()-1)},tA.prototype.size=function(){if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.size(this._root));if(1===arguments.length){for(var e=0,t=arguments[0].getChildBoundables().iterator();t.hasNext();){var A=t.next();A instanceof qt?e+=this.size(A):A instanceof Vt&&(e+=1)}return e}},tA.prototype.removeItem=function(e,t){for(var A=null,n=e.getChildBoundables().iterator();n.hasNext();){var r=n.next();r instanceof Vt&&r.getItem()===t&&(A=r)}return null!==A&&(e.getChildBoundables().remove(A),!0)},tA.prototype.itemsTree=function(){if(0===arguments.length){this.build();var e=this.itemsTree(this._root);return null===e?new ve:e}if(1===arguments.length){for(var t=arguments[0],A=new ve,n=t.getChildBoundables().iterator();n.hasNext();){var r=n.next();if(r instanceof qt){var i=this.itemsTree(r);null!==i&&A.add(i)}else r instanceof Vt?A.add(r.getItem()):te.shouldNeverReachHere()}return A.size()<=0?null:A}},tA.prototype.insert=function(e,t){te.isTrue(!this._built,"Cannot insert items into an STR packed R-tree after it has been built."),this._itemBoundables.add(new Vt(e,t))},tA.prototype.boundablesAtLevel=function(){if(1===arguments.length){var e=arguments[0],t=new ve;return this.boundablesAtLevel(e,this._root,t),t}if(3===arguments.length){var A=arguments[0],n=arguments[1],r=arguments[2];if(te.isTrue(A>-2),n.getLevel()===A)return r.add(n),null;for(var i=n.getChildBoundables().iterator();i.hasNext();){var o=i.next();o instanceof qt?this.boundablesAtLevel(A,o,r):(te.isTrue(o instanceof Vt),-1===A&&r.add(o))}return null}},tA.prototype.query=function(){if(1===arguments.length){var e=arguments[0];this.build();var t=new ve;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),e)&&this.query(e,this._root,t),t}if(2===arguments.length){var A=arguments[0],n=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),A)&&this.query(A,this._root,n)}else if(3===arguments.length)if(D(arguments[2],Wt)&&arguments[0]instanceof Object&&arguments[1]instanceof qt)for(var r=arguments[0],i=arguments[1],o=arguments[2],a=i.getChildBoundables(),s=0;s<a.size();s++){var g=a.get(s);this.getIntersectsOp().intersects(g.getBounds(),r)&&(g instanceof qt?this.query(r,g,o):g instanceof Vt?o.visitItem(g.getItem()):te.shouldNeverReachHere())}else if(D(arguments[2],ye)&&arguments[0]instanceof Object&&arguments[1]instanceof qt)for(var c=arguments[0],u=arguments[1],l=arguments[2],I=u.getChildBoundables(),C=0;C<I.size();C++){var h=I.get(C);this.getIntersectsOp().intersects(h.getBounds(),c)&&(h instanceof qt?this.query(c,h,l):h instanceof Vt?l.add(h.getItem()):te.shouldNeverReachHere())}},tA.prototype.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},tA.prototype.getRoot=function(){return this.build(),this._root},tA.prototype.remove=function(){if(2===arguments.length){var e=arguments[0],t=arguments[1];return this.build(),!!this.getIntersectsOp().intersects(this._root.getBounds(),e)&&this.remove(e,this._root,t)}if(3===arguments.length){var A=arguments[0],n=arguments[1],r=arguments[2],i=this.removeItem(n,r);if(i)return!0;for(var o=null,a=n.getChildBoundables().iterator();a.hasNext();){var s=a.next();if(this.getIntersectsOp().intersects(s.getBounds(),A)&&s instanceof qt&&(i=this.remove(A,s,r))){o=s;break}}return null!==o&&o.getChildBoundables().isEmpty()&&n.getChildBoundables().remove(o),i}},tA.prototype.createHigherLevels=function(e,t){te.isTrue(!e.isEmpty());var A=this.createParentBoundables(e,t+1);return 1===A.size()?A.get(0):this.createHigherLevels(A,t+1)},tA.prototype.depth=function(){if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.depth(this._root));if(1===arguments.length){for(var e=0,t=arguments[0].getChildBoundables().iterator();t.hasNext();){var A=t.next();if(A instanceof qt){var n=this.depth(A);n>e&&(e=n)}}return e+1}},tA.prototype.createParentBoundables=function(e,t){te.isTrue(!e.isEmpty());var A=new ve;A.add(this.createNode(t));var n=new ve(e);$t.sort(n,this.getComparator());for(var r=n.iterator();r.hasNext();){var i=r.next();this.lastNode(A).getChildBoundables().size()===this.getNodeCapacity()&&A.add(this.createNode(t)),this.lastNode(A).addChildBoundable(i)}return A},tA.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},tA.prototype.interfaces_=function(){return[t]},tA.prototype.getClass=function(){return tA},tA.compareDoubles=function(e,t){return e>t?1:e<t?-1:0},AA.IntersectsOp.get=function(){return nA},AA.serialVersionUID.get=function(){return-0x35ef64c82d4c5400},AA.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(tA,AA);var nA=function(){},rA=function(){};rA.prototype.distance=function(e,t){},rA.prototype.interfaces_=function(){return[]},rA.prototype.getClass=function(){return rA};var iA=function(e){function A(t){t=t||A.DEFAULT_NODE_CAPACITY,e.call(this,t)}e&&(A.__proto__=e),(A.prototype=Object.create(e&&e.prototype)).constructor=A;var n={STRtreeNode:{configurable:!0},serialVersionUID:{configurable:!0},xComparator:{configurable:!0},yComparator:{configurable:!0},intersectsOp:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};return A.prototype.createParentBoundablesFromVerticalSlices=function(e,t){te.isTrue(e.length>0);for(var A=new ve,n=0;n<e.length;n++)A.addAll(this.createParentBoundablesFromVerticalSlice(e[n],t));return A},A.prototype.createNode=function(e){return new oA(e)},A.prototype.size=function(){return 0===arguments.length?e.prototype.size.call(this):e.prototype.size.apply(this,arguments)},A.prototype.insert=function(){if(2!==arguments.length)return e.prototype.insert.apply(this,arguments);var t=arguments[0],A=arguments[1];if(t.isNull())return null;e.prototype.insert.call(this,t,A)},A.prototype.getIntersectsOp=function(){return A.intersectsOp},A.prototype.verticalSlices=function(e,t){for(var A=Math.trunc(Math.ceil(e.size()/t)),n=new Array(t).fill(null),r=e.iterator(),i=0;i<t;i++){n[i]=new ve;for(var o=0;r.hasNext()&&o<A;){var a=r.next();n[i].add(a),o++}}return n},A.prototype.query=function(){if(1===arguments.length){var t=arguments[0];return e.prototype.query.call(this,t)}if(2===arguments.length){var A=arguments[0],n=arguments[1];e.prototype.query.call(this,A,n)}else if(3===arguments.length)if(D(arguments[2],Wt)&&arguments[0]instanceof Object&&arguments[1]instanceof qt){var r=arguments[0],i=arguments[1],o=arguments[2];e.prototype.query.call(this,r,i,o)}else if(D(arguments[2],ye)&&arguments[0]instanceof Object&&arguments[1]instanceof qt){var a=arguments[0],s=arguments[1],g=arguments[2];e.prototype.query.call(this,a,s,g)}},A.prototype.getComparator=function(){return A.yComparator},A.prototype.createParentBoundablesFromVerticalSlice=function(t,A){return e.prototype.createParentBoundables.call(this,t,A)},A.prototype.remove=function(){if(2===arguments.length){var t=arguments[0],A=arguments[1];return e.prototype.remove.call(this,t,A)}return e.prototype.remove.apply(this,arguments)},A.prototype.depth=function(){return 0===arguments.length?e.prototype.depth.call(this):e.prototype.depth.apply(this,arguments)},A.prototype.createParentBoundables=function(e,t){te.isTrue(!e.isEmpty());var n=Math.trunc(Math.ceil(e.size()/this.getNodeCapacity())),r=new ve(e);$t.sort(r,A.xComparator);var i=this.verticalSlices(r,Math.trunc(Math.ceil(Math.sqrt(n))));return this.createParentBoundablesFromVerticalSlices(i,t)},A.prototype.nearestNeighbour=function(){if(1===arguments.length){if(D(arguments[0],rA)){var e=arguments[0],t=new eA(this.getRoot(),this.getRoot(),e);return this.nearestNeighbour(t)}if(arguments[0]instanceof eA){var n=arguments[0];return this.nearestNeighbour(n,p.POSITIVE_INFINITY)}}else if(2===arguments.length){if(arguments[0]instanceof A&&D(arguments[1],rA)){var r=arguments[0],i=arguments[1],o=new eA(this.getRoot(),r.getRoot(),i);return this.nearestNeighbour(o)}if(arguments[0]instanceof eA&&"number"==typeof arguments[1]){var a=arguments[0],s=arguments[1],g=null,c=new Kt;for(c.add(a);!c.isEmpty()&&s>0;){var u=c.poll(),l=u.getDistance();if(l>=s)break;u.isLeaves()?(s=l,g=u):u.expandToQueue(c,s)}return[g.getBoundable(0).getItem(),g.getBoundable(1).getItem()]}}else if(3===arguments.length){var I=arguments[0],C=arguments[1],h=arguments[2],f=new Vt(I,C),d=new eA(this.getRoot(),f,h);return this.nearestNeighbour(d)[0]}},A.prototype.interfaces_=function(){return[Xt,t]},A.prototype.getClass=function(){return A},A.centreX=function(e){return A.avg(e.getMinX(),e.getMaxX())},A.avg=function(e,t){return(e+t)/2},A.centreY=function(e){return A.avg(e.getMinY(),e.getMaxY())},n.STRtreeNode.get=function(){return oA},n.serialVersionUID.get=function(){return 0x39920f7d5f261e0},n.xComparator.get=function(){return{interfaces_:function(){return[v]},compare:function(t,n){return e.compareDoubles(A.centreX(t.getBounds()),A.centreX(n.getBounds()))}}},n.yComparator.get=function(){return{interfaces_:function(){return[v]},compare:function(t,n){return e.compareDoubles(A.centreY(t.getBounds()),A.centreY(n.getBounds()))}}},n.intersectsOp.get=function(){return{interfaces_:function(){return[e.IntersectsOp]},intersects:function(e,t){return e.intersects(t)}}},n.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(A,n),A}(tA),oA=function(e){function t(){var t=arguments[0];e.call(this,t)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.computeBounds=function(){for(var e=null,t=this.getChildBoundables().iterator();t.hasNext();){var A=t.next();null===e?e=new P(A.getBounds()):e.expandToInclude(A.getBounds())}return e},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(qt),aA=function(){};aA.prototype.interfaces_=function(){return[]},aA.prototype.getClass=function(){return aA},aA.relativeSign=function(e,t){return e<t?-1:e>t?1:0},aA.compare=function(e,t,A){if(t.equals2D(A))return 0;var n=aA.relativeSign(t.x,A.x),r=aA.relativeSign(t.y,A.y);switch(e){case 0:return aA.compareValue(n,r);case 1:return aA.compareValue(r,n);case 2:return aA.compareValue(r,-n);case 3:return aA.compareValue(-n,r);case 4:return aA.compareValue(-n,-r);case 5:return aA.compareValue(-r,-n);case 6:return aA.compareValue(-r,n);case 7:return aA.compareValue(n,-r)}return te.shouldNeverReachHere("invalid octant value"),0},aA.compareValue=function(e,t){return e<0?-1:e>0?1:t<0?-1:t>0?1:0};var sA=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var e=arguments[0],t=arguments[1],A=arguments[2],n=arguments[3];this._segString=e,this.coord=new m(t),this.segmentIndex=A,this._segmentOctant=n,this._isInterior=!t.equals2D(e.getCoordinate(A))};sA.prototype.getCoordinate=function(){return this.coord},sA.prototype.print=function(e){e.print(this.coord),e.print(" seg # = "+this.segmentIndex)},sA.prototype.compareTo=function(e){var t=e;return this.segmentIndex<t.segmentIndex?-1:this.segmentIndex>t.segmentIndex?1:this.coord.equals2D(t.coord)?0:aA.compare(this._segmentOctant,this.coord,t.coord)},sA.prototype.isEndPoint=function(e){return 0===this.segmentIndex&&!this._isInterior||this.segmentIndex===e},sA.prototype.isInterior=function(){return this._isInterior},sA.prototype.interfaces_=function(){return[Q]},sA.prototype.getClass=function(){return sA};var gA=function(){this._nodeMap=new u,this._edge=null;var e=arguments[0];this._edge=e};gA.prototype.getSplitCoordinates=function(){var e=new be;this.addEndpoints();for(var t=this.iterator(),A=t.next();t.hasNext();){var n=t.next();this.addEdgeCoordinates(A,n,e),A=n}return e.toCoordinateArray()},gA.prototype.addCollapsedNodes=function(){var e=new ve;this.findCollapsesFromInsertedNodes(e),this.findCollapsesFromExistingVertices(e);for(var t=e.iterator();t.hasNext();){var A=t.next().intValue();this.add(this._edge.getCoordinate(A),A)}},gA.prototype.print=function(e){e.println("Intersections:");for(var t=this.iterator();t.hasNext();)t.next().print(e)},gA.prototype.findCollapsesFromExistingVertices=function(e){for(var t=0;t<this._edge.size()-2;t++){var A=this._edge.getCoordinate(t),n=this._edge.getCoordinate(t+2);A.equals2D(n)&&e.add(new N(t+1))}},gA.prototype.addEdgeCoordinates=function(e,t,A){var n=this._edge.getCoordinate(t.segmentIndex),r=t.isInterior()||!t.coord.equals2D(n);A.add(new m(e.coord),!1);for(var i=e.segmentIndex+1;i<=t.segmentIndex;i++)A.add(this._edge.getCoordinate(i));r&&A.add(new m(t.coord))},gA.prototype.iterator=function(){return this._nodeMap.values().iterator()},gA.prototype.addSplitEdges=function(e){this.addEndpoints(),this.addCollapsedNodes();for(var t=this.iterator(),A=t.next();t.hasNext();){var n=t.next(),r=this.createSplitEdge(A,n);e.add(r),A=n}},gA.prototype.findCollapseIndex=function(e,t,A){if(!e.coord.equals2D(t.coord))return!1;var n=t.segmentIndex-e.segmentIndex;return t.isInterior()||n--,1===n&&(A[0]=e.segmentIndex+1,!0)},gA.prototype.findCollapsesFromInsertedNodes=function(e){for(var t=new Array(1).fill(null),A=this.iterator(),n=A.next();A.hasNext();){var r=A.next();this.findCollapseIndex(n,r,t)&&e.add(new N(t[0])),n=r}},gA.prototype.getEdge=function(){return this._edge},gA.prototype.addEndpoints=function(){var e=this._edge.size()-1;this.add(this._edge.getCoordinate(0),0),this.add(this._edge.getCoordinate(e),e)},gA.prototype.createSplitEdge=function(e,t){var A=t.segmentIndex-e.segmentIndex+2,n=this._edge.getCoordinate(t.segmentIndex),r=t.isInterior()||!t.coord.equals2D(n);r||A--;var i=new Array(A).fill(null),o=0;i[o++]=new m(e.coord);for(var a=e.segmentIndex+1;a<=t.segmentIndex;a++)i[o++]=this._edge.getCoordinate(a);return r&&(i[o]=new m(t.coord)),new IA(i,this._edge.getData())},gA.prototype.add=function(e,t){var A=new sA(this._edge,e,t,this._edge.getSegmentOctant(t)),n=this._nodeMap.get(A);return null!==n?(te.isTrue(n.coord.equals2D(e),"Found equal nodes with different coordinates"),n):(this._nodeMap.put(A,A),A)},gA.prototype.checkSplitEdgesCorrectness=function(e){var t=this._edge.getCoordinates(),A=e.get(0).getCoordinate(0);if(!A.equals2D(t[0]))throw new $("bad split edge start point at "+A);var n=e.get(e.size()-1).getCoordinates(),r=n[n.length-1];if(!r.equals2D(t[t.length-1]))throw new $("bad split edge end point at "+r)},gA.prototype.interfaces_=function(){return[]},gA.prototype.getClass=function(){return gA};var cA=function(){};cA.prototype.interfaces_=function(){return[]},cA.prototype.getClass=function(){return cA},cA.octant=function(){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){var e=arguments[0],t=arguments[1];if(0===e&&0===t)throw new B("Cannot compute the octant for point ( "+e+", "+t+" )");var A=Math.abs(e),n=Math.abs(t);return e>=0?t>=0?A>=n?0:1:A>=n?7:6:t>=0?A>=n?3:2:A>=n?4:5}if(arguments[0]instanceof m&&arguments[1]instanceof m){var r=arguments[0],i=arguments[1],o=i.x-r.x,a=i.y-r.y;if(0===o&&0===a)throw new B("Cannot compute the octant for two identical points "+r);return cA.octant(o,a)}};var uA=function(){};uA.prototype.getCoordinates=function(){},uA.prototype.size=function(){},uA.prototype.getCoordinate=function(e){},uA.prototype.isClosed=function(){},uA.prototype.setData=function(e){},uA.prototype.getData=function(){},uA.prototype.interfaces_=function(){return[]},uA.prototype.getClass=function(){return uA};var lA=function(){};lA.prototype.addIntersection=function(e,t){},lA.prototype.interfaces_=function(){return[uA]},lA.prototype.getClass=function(){return lA};var IA=function(){this._nodeList=new gA(this),this._pts=null,this._data=null;var e=arguments[0],t=arguments[1];this._pts=e,this._data=t};IA.prototype.getCoordinates=function(){return this._pts},IA.prototype.size=function(){return this._pts.length},IA.prototype.getCoordinate=function(e){return this._pts[e]},IA.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},IA.prototype.getSegmentOctant=function(e){return e===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(e),this.getCoordinate(e+1))},IA.prototype.setData=function(e){this._data=e},IA.prototype.safeOctant=function(e,t){return e.equals2D(t)?0:cA.octant(e,t)},IA.prototype.getData=function(){return this._data},IA.prototype.addIntersection=function(){if(2===arguments.length){var e=arguments[0],t=arguments[1];this.addIntersectionNode(e,t)}else if(4===arguments.length){var A=arguments[0],n=arguments[1],r=arguments[3],i=new m(A.getIntersection(r));this.addIntersection(i,n)}},IA.prototype.toString=function(){return z.toLineString(new st(this._pts))},IA.prototype.getNodeList=function(){return this._nodeList},IA.prototype.addIntersectionNode=function(e,t){var A=t,n=A+1;if(n<this._pts.length){var r=this._pts[n];e.equals2D(r)&&(A=n)}return this._nodeList.add(e,A)},IA.prototype.addIntersections=function(e,t,A){for(var n=0;n<e.getIntersectionNum();n++)this.addIntersection(e,t,A,n)},IA.prototype.interfaces_=function(){return[lA]},IA.prototype.getClass=function(){return IA},IA.getNodedSubstrings=function(){if(1===arguments.length){var e=arguments[0],t=new ve;return IA.getNodedSubstrings(e,t),t}if(2===arguments.length)for(var A=arguments[0],n=arguments[1],r=A.iterator();r.hasNext();)r.next().getNodeList().addSplitEdges(n)};var CA=function(){if(this.p0=null,this.p1=null,0===arguments.length)this.p0=new m,this.p1=new m;else if(1===arguments.length){var e=arguments[0];this.p0=new m(e.p0),this.p1=new m(e.p1)}else if(2===arguments.length)this.p0=arguments[0],this.p1=arguments[1];else if(4===arguments.length){var t=arguments[0],A=arguments[1],n=arguments[2],r=arguments[3];this.p0=new m(t,A),this.p1=new m(n,r)}},hA={serialVersionUID:{configurable:!0}};CA.prototype.minX=function(){return Math.min(this.p0.x,this.p1.x)},CA.prototype.orientationIndex=function(){if(arguments[0]instanceof CA){var e=arguments[0],t=ae.orientationIndex(this.p0,this.p1,e.p0),A=ae.orientationIndex(this.p0,this.p1,e.p1);return t>=0&&A>=0||t<=0&&A<=0?Math.max(t,A):0}if(arguments[0]instanceof m){var n=arguments[0];return ae.orientationIndex(this.p0,this.p1,n)}},CA.prototype.toGeometry=function(e){return e.createLineString([this.p0,this.p1])},CA.prototype.isVertical=function(){return this.p0.x===this.p1.x},CA.prototype.equals=function(e){if(!(e instanceof CA))return!1;var t=e;return this.p0.equals(t.p0)&&this.p1.equals(t.p1)},CA.prototype.intersection=function(e){var t=new re;return t.computeIntersection(this.p0,this.p1,e.p0,e.p1),t.hasIntersection()?t.getIntersection(0):null},CA.prototype.project=function(){if(arguments[0]instanceof m){var e=arguments[0];if(e.equals(this.p0)||e.equals(this.p1))return new m(e);var t=this.projectionFactor(e),A=new m;return A.x=this.p0.x+t*(this.p1.x-this.p0.x),A.y=this.p0.y+t*(this.p1.y-this.p0.y),A}if(arguments[0]instanceof CA){var n=arguments[0],r=this.projectionFactor(n.p0),i=this.projectionFactor(n.p1);if(r>=1&&i>=1)return null;if(r<=0&&i<=0)return null;var o=this.project(n.p0);r<0&&(o=this.p0),r>1&&(o=this.p1);var a=this.project(n.p1);return i<0&&(a=this.p0),i>1&&(a=this.p1),new CA(o,a)}},CA.prototype.normalize=function(){this.p1.compareTo(this.p0)<0&&this.reverse()},CA.prototype.angle=function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},CA.prototype.getCoordinate=function(e){return 0===e?this.p0:this.p1},CA.prototype.distancePerpendicular=function(e){return ae.distancePointLinePerpendicular(e,this.p0,this.p1)},CA.prototype.minY=function(){return Math.min(this.p0.y,this.p1.y)},CA.prototype.midPoint=function(){return CA.midPoint(this.p0,this.p1)},CA.prototype.projectionFactor=function(e){if(e.equals(this.p0))return 0;if(e.equals(this.p1))return 1;var t=this.p1.x-this.p0.x,A=this.p1.y-this.p0.y,n=t*t+A*A;return n<=0?p.NaN:((e.x-this.p0.x)*t+(e.y-this.p0.y)*A)/n},CA.prototype.closestPoints=function(e){var t=this.intersection(e);if(null!==t)return[t,t];var A=new Array(2).fill(null),n=p.MAX_VALUE,r=null,i=this.closestPoint(e.p0);n=i.distance(e.p0),A[0]=i,A[1]=e.p0;var o=this.closestPoint(e.p1);(r=o.distance(e.p1))<n&&(n=r,A[0]=o,A[1]=e.p1);var a=e.closestPoint(this.p0);(r=a.distance(this.p0))<n&&(n=r,A[0]=this.p0,A[1]=a);var s=e.closestPoint(this.p1);return(r=s.distance(this.p1))<n&&(n=r,A[0]=this.p1,A[1]=s),A},CA.prototype.closestPoint=function(e){var t=this.projectionFactor(e);return t>0&&t<1?this.project(e):this.p0.distance(e)<this.p1.distance(e)?this.p0:this.p1},CA.prototype.maxX=function(){return Math.max(this.p0.x,this.p1.x)},CA.prototype.getLength=function(){return this.p0.distance(this.p1)},CA.prototype.compareTo=function(e){var t=e,A=this.p0.compareTo(t.p0);return 0!==A?A:this.p1.compareTo(t.p1)},CA.prototype.reverse=function(){var e=this.p0;this.p0=this.p1,this.p1=e},CA.prototype.equalsTopo=function(e){return this.p0.equals(e.p0)&&(this.p1.equals(e.p1)||this.p0.equals(e.p1))&&this.p1.equals(e.p0)},CA.prototype.lineIntersection=function(e){try{return j.intersection(this.p0,this.p1,e.p0,e.p1)}catch(e){if(!(e instanceof Y))throw e}return null},CA.prototype.maxY=function(){return Math.max(this.p0.y,this.p1.y)},CA.prototype.pointAlongOffset=function(e,t){var A=this.p0.x+e*(this.p1.x-this.p0.x),n=this.p0.y+e*(this.p1.y-this.p0.y),r=this.p1.x-this.p0.x,i=this.p1.y-this.p0.y,o=Math.sqrt(r*r+i*i),a=0,s=0;if(0!==t){if(o<=0)throw new Error("Cannot compute offset from zero-length line segment");a=t*r/o,s=t*i/o}return new m(A-s,n+a)},CA.prototype.setCoordinates=function(){if(1===arguments.length){var e=arguments[0];this.setCoordinates(e.p0,e.p1)}else if(2===arguments.length){var t=arguments[0],A=arguments[1];this.p0.x=t.x,this.p0.y=t.y,this.p1.x=A.x,this.p1.y=A.y}},CA.prototype.segmentFraction=function(e){var t=this.projectionFactor(e);return t<0?t=0:(t>1||p.isNaN(t))&&(t=1),t},CA.prototype.toString=function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"},CA.prototype.isHorizontal=function(){return this.p0.y===this.p1.y},CA.prototype.distance=function(){if(arguments[0]instanceof CA){var e=arguments[0];return ae.distanceLineLine(this.p0,this.p1,e.p0,e.p1)}if(arguments[0]instanceof m){var t=arguments[0];return ae.distancePointLine(t,this.p0,this.p1)}},CA.prototype.pointAlong=function(e){var t=new m;return t.x=this.p0.x+e*(this.p1.x-this.p0.x),t.y=this.p0.y+e*(this.p1.y-this.p0.y),t},CA.prototype.hashCode=function(){var e=p.doubleToLongBits(this.p0.x);e^=31*p.doubleToLongBits(this.p0.y);var t=Math.trunc(e)^Math.trunc(e>>32),A=p.doubleToLongBits(this.p1.x);return A^=31*p.doubleToLongBits(this.p1.y),t^Math.trunc(A)^Math.trunc(A>>32)},CA.prototype.interfaces_=function(){return[Q,t]},CA.prototype.getClass=function(){return CA},CA.midPoint=function(e,t){return new m((e.x+t.x)/2,(e.y+t.y)/2)},hA.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(CA,hA);var fA=function(){this.tempEnv1=new P,this.tempEnv2=new P,this._overlapSeg1=new CA,this._overlapSeg2=new CA};fA.prototype.overlap=function(){if(2===arguments.length);else if(4===arguments.length){var e=arguments[0],t=arguments[1],A=arguments[2],n=arguments[3];e.getLineSegment(t,this._overlapSeg1),A.getLineSegment(n,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}},fA.prototype.interfaces_=function(){return[]},fA.prototype.getClass=function(){return fA};var dA=function(){this._pts=null,this._start=null,this._end=null,this._env=null,this._context=null,this._id=null;var e=arguments[0],t=arguments[1],A=arguments[2],n=arguments[3];this._pts=e,this._start=t,this._end=A,this._context=n};dA.prototype.getLineSegment=function(e,t){t.p0=this._pts[e],t.p1=this._pts[e+1]},dA.prototype.computeSelect=function(e,t,A,n){var r=this._pts[t],i=this._pts[A];if(n.tempEnv1.init(r,i),A-t==1)return n.select(this,t),null;if(!e.intersects(n.tempEnv1))return null;var o=Math.trunc((t+A)/2);t<o&&this.computeSelect(e,t,o,n),o<A&&this.computeSelect(e,o,A,n)},dA.prototype.getCoordinates=function(){for(var e=new Array(this._end-this._start+1).fill(null),t=0,A=this._start;A<=this._end;A++)e[t++]=this._pts[A];return e},dA.prototype.computeOverlaps=function(e,t){this.computeOverlapsInternal(this._start,this._end,e,e._start,e._end,t)},dA.prototype.setId=function(e){this._id=e},dA.prototype.select=function(e,t){this.computeSelect(e,this._start,this._end,t)},dA.prototype.getEnvelope=function(){if(null===this._env){var e=this._pts[this._start],t=this._pts[this._end];this._env=new P(e,t)}return this._env},dA.prototype.getEndIndex=function(){return this._end},dA.prototype.getStartIndex=function(){return this._start},dA.prototype.getContext=function(){return this._context},dA.prototype.getId=function(){return this._id},dA.prototype.computeOverlapsInternal=function(e,t,A,n,r,i){var o=this._pts[e],a=this._pts[t],s=A._pts[n],g=A._pts[r];if(t-e==1&&r-n==1)return i.overlap(this,e,A,n),null;if(i.tempEnv1.init(o,a),i.tempEnv2.init(s,g),!i.tempEnv1.intersects(i.tempEnv2))return null;var c=Math.trunc((e+t)/2),u=Math.trunc((n+r)/2);e<c&&(n<u&&this.computeOverlapsInternal(e,c,A,n,u,i),u<r&&this.computeOverlapsInternal(e,c,A,u,r,i)),c<t&&(n<u&&this.computeOverlapsInternal(c,t,A,n,u,i),u<r&&this.computeOverlapsInternal(c,t,A,u,r,i))},dA.prototype.interfaces_=function(){return[]},dA.prototype.getClass=function(){return dA};var BA=function(){};BA.prototype.interfaces_=function(){return[]},BA.prototype.getClass=function(){return BA},BA.getChainStartIndices=function(e){var t=0,A=new ve;A.add(new N(t));do{var n=BA.findChainEnd(e,t);A.add(new N(n)),t=n}while(t<e.length-1);return BA.toIntArray(A)},BA.findChainEnd=function(e,t){for(var A=t;A<e.length-1&&e[A].equals2D(e[A+1]);)A++;if(A>=e.length-1)return e.length-1;for(var n=Lt.quadrant(e[A],e[A+1]),r=t+1;r<e.length&&(e[r-1].equals2D(e[r])||Lt.quadrant(e[r-1],e[r])===n);)r++;return r-1},BA.getChains=function(){if(1===arguments.length){var e=arguments[0];return BA.getChains(e,null)}if(2===arguments.length){for(var t=arguments[0],A=arguments[1],n=new ve,r=BA.getChainStartIndices(t),i=0;i<r.length-1;i++){var o=new dA(t,r[i],r[i+1],A);n.add(o)}return n}},BA.toIntArray=function(e){for(var t=new Array(e.size()).fill(null),A=0;A<t.length;A++)t[A]=e.get(A).intValue();return t};var pA=function(){};pA.prototype.computeNodes=function(e){},pA.prototype.getNodedSubstrings=function(){},pA.prototype.interfaces_=function(){return[]},pA.prototype.getClass=function(){return pA};var EA=function(){if(this._segInt=null,0===arguments.length);else if(1===arguments.length){var e=arguments[0];this.setSegmentIntersector(e)}};EA.prototype.setSegmentIntersector=function(e){this._segInt=e},EA.prototype.interfaces_=function(){return[pA]},EA.prototype.getClass=function(){return EA};var QA=function(e){function t(t){t?e.call(this,t):e.call(this),this._monoChains=new ve,this._index=new iA,this._idCounter=0,this._nodedSegStrings=null,this._nOverlaps=0}e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t;var A={SegmentOverlapAction:{configurable:!0}};return t.prototype.getMonotoneChains=function(){return this._monoChains},t.prototype.getNodedSubstrings=function(){return IA.getNodedSubstrings(this._nodedSegStrings)},t.prototype.getIndex=function(){return this._index},t.prototype.add=function(e){for(var t=BA.getChains(e.getCoordinates(),e).iterator();t.hasNext();){var A=t.next();A.setId(this._idCounter++),this._index.insert(A.getEnvelope(),A),this._monoChains.add(A)}},t.prototype.computeNodes=function(e){this._nodedSegStrings=e;for(var t=e.iterator();t.hasNext();)this.add(t.next());this.intersectChains()},t.prototype.intersectChains=function(){for(var e=new yA(this._segInt),t=this._monoChains.iterator();t.hasNext();)for(var A=t.next(),n=this._index.query(A.getEnvelope()).iterator();n.hasNext();){var r=n.next();if(r.getId()>A.getId()&&(A.computeOverlaps(r,e),this._nOverlaps++),this._segInt.isDone())return null}},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},A.SegmentOverlapAction.get=function(){return yA},Object.defineProperties(t,A),t}(EA),yA=function(e){function t(){e.call(this),this._si=null;var t=arguments[0];this._si=t}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.overlap=function(){if(4!==arguments.length)return e.prototype.overlap.apply(this,arguments);var t=arguments[0],A=arguments[1],n=arguments[2],r=arguments[3],i=t.getContext(),o=n.getContext();this._si.processIntersections(i,A,o,r)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(fA),vA=function e(){if(this._quadrantSegments=e.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=e.CAP_ROUND,this._joinStyle=e.JOIN_ROUND,this._mitreLimit=e.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=e.DEFAULT_SIMPLIFY_FACTOR,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this.setQuadrantSegments(t)}else if(2===arguments.length){var A=arguments[0],n=arguments[1];this.setQuadrantSegments(A),this.setEndCapStyle(n)}else if(4===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2],a=arguments[3];this.setQuadrantSegments(r),this.setEndCapStyle(i),this.setJoinStyle(o),this.setMitreLimit(a)}},mA={CAP_ROUND:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},JOIN_ROUND:{configurable:!0},JOIN_MITRE:{configurable:!0},JOIN_BEVEL:{configurable:!0},DEFAULT_QUADRANT_SEGMENTS:{configurable:!0},DEFAULT_MITRE_LIMIT:{configurable:!0},DEFAULT_SIMPLIFY_FACTOR:{configurable:!0}};vA.prototype.getEndCapStyle=function(){return this._endCapStyle},vA.prototype.isSingleSided=function(){return this._isSingleSided},vA.prototype.setQuadrantSegments=function(e){this._quadrantSegments=e,0===this._quadrantSegments&&(this._joinStyle=vA.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=vA.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),e<=0&&(this._quadrantSegments=1),this._joinStyle!==vA.JOIN_ROUND&&(this._quadrantSegments=vA.DEFAULT_QUADRANT_SEGMENTS)},vA.prototype.getJoinStyle=function(){return this._joinStyle},vA.prototype.setJoinStyle=function(e){this._joinStyle=e},vA.prototype.setSimplifyFactor=function(e){this._simplifyFactor=e<0?0:e},vA.prototype.getSimplifyFactor=function(){return this._simplifyFactor},vA.prototype.getQuadrantSegments=function(){return this._quadrantSegments},vA.prototype.setEndCapStyle=function(e){this._endCapStyle=e},vA.prototype.getMitreLimit=function(){return this._mitreLimit},vA.prototype.setMitreLimit=function(e){this._mitreLimit=e},vA.prototype.setSingleSided=function(e){this._isSingleSided=e},vA.prototype.interfaces_=function(){return[]},vA.prototype.getClass=function(){return vA},vA.bufferDistanceError=function(e){var t=Math.PI/2/e;return 1-Math.cos(t/2)},mA.CAP_ROUND.get=function(){return 1},mA.CAP_FLAT.get=function(){return 2},mA.CAP_SQUARE.get=function(){return 3},mA.JOIN_ROUND.get=function(){return 1},mA.JOIN_MITRE.get=function(){return 2},mA.JOIN_BEVEL.get=function(){return 3},mA.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},mA.DEFAULT_MITRE_LIMIT.get=function(){return 5},mA.DEFAULT_SIMPLIFY_FACTOR.get=function(){return.01},Object.defineProperties(vA,mA);var bA=function(e){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=ae.COUNTERCLOCKWISE,this._inputLine=e||null},wA={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};bA.prototype.isDeletable=function(e,t,A,n){var r=this._inputLine[e],i=this._inputLine[t],o=this._inputLine[A];return!!this.isConcave(r,i,o)&&!!this.isShallow(r,i,o,n)&&this.isShallowSampled(r,i,e,A,n)},bA.prototype.deleteShallowConcavities=function(){for(var e=1,t=this.findNextNonDeletedIndex(e),A=this.findNextNonDeletedIndex(t),n=!1;A<this._inputLine.length;){var r=!1;this.isDeletable(e,t,A,this._distanceTol)&&(this._isDeleted[t]=bA.DELETE,r=!0,n=!0),e=r?A:t,t=this.findNextNonDeletedIndex(e),A=this.findNextNonDeletedIndex(t)}return n},bA.prototype.isShallowConcavity=function(e,t,A,n){return ae.computeOrientation(e,t,A)===this._angleOrientation&&ae.distancePointLine(t,e,A)<n},bA.prototype.isShallowSampled=function(e,t,A,n,r){var i=Math.trunc((n-A)/bA.NUM_PTS_TO_CHECK);i<=0&&(i=1);for(var o=A;o<n;o+=i)if(!this.isShallow(e,t,this._inputLine[o],r))return!1;return!0},bA.prototype.isConcave=function(e,t,A){return ae.computeOrientation(e,t,A)===this._angleOrientation},bA.prototype.simplify=function(e){this._distanceTol=Math.abs(e),e<0&&(this._angleOrientation=ae.CLOCKWISE),this._isDeleted=new Array(this._inputLine.length).fill(null);var t=!1;do{t=this.deleteShallowConcavities()}while(t);return this.collapseLine()},bA.prototype.findNextNonDeletedIndex=function(e){for(var t=e+1;t<this._inputLine.length&&this._isDeleted[t]===bA.DELETE;)t++;return t},bA.prototype.isShallow=function(e,t,A,n){return ae.distancePointLine(t,e,A)<n},bA.prototype.collapseLine=function(){for(var e=new be,t=0;t<this._inputLine.length;t++)this._isDeleted[t]!==bA.DELETE&&e.add(this._inputLine[t]);return e.toCoordinateArray()},bA.prototype.interfaces_=function(){return[]},bA.prototype.getClass=function(){return bA},bA.simplify=function(e,t){return new bA(e).simplify(t)},wA.INIT.get=function(){return 0},wA.DELETE.get=function(){return 1},wA.KEEP.get=function(){return 1},wA.NUM_PTS_TO_CHECK.get=function(){return 10},Object.defineProperties(bA,wA);var SA=function(){this._ptList=null,this._precisionModel=null,this._minimimVertexDistance=0,this._ptList=new ve},FA={COORDINATE_ARRAY_TYPE:{configurable:!0}};SA.prototype.getCoordinates=function(){return this._ptList.toArray(SA.COORDINATE_ARRAY_TYPE)},SA.prototype.setPrecisionModel=function(e){this._precisionModel=e},SA.prototype.addPt=function(e){var t=new m(e);if(this._precisionModel.makePrecise(t),this.isRedundant(t))return null;this._ptList.add(t)},SA.prototype.revere=function(){},SA.prototype.addPts=function(e,t){if(t)for(var A=0;A<e.length;A++)this.addPt(e[A]);else for(var n=e.length-1;n>=0;n--)this.addPt(e[n])},SA.prototype.isRedundant=function(e){if(this._ptList.size()<1)return!1;var t=this._ptList.get(this._ptList.size()-1);return e.distance(t)<this._minimimVertexDistance},SA.prototype.toString=function(){return(new dt).createLineString(this.getCoordinates()).toString()},SA.prototype.closeRing=function(){if(this._ptList.size()<1)return null;var e=new m(this._ptList.get(0)),t=this._ptList.get(this._ptList.size()-1);if(e.equals(t))return null;this._ptList.add(e)},SA.prototype.setMinimumVertexDistance=function(e){this._minimimVertexDistance=e},SA.prototype.interfaces_=function(){return[]},SA.prototype.getClass=function(){return SA},FA.COORDINATE_ARRAY_TYPE.get=function(){return new Array(0).fill(null)},Object.defineProperties(SA,FA);var RA=function(){},DA={PI_TIMES_2:{configurable:!0},PI_OVER_2:{configurable:!0},PI_OVER_4:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},CLOCKWISE:{configurable:!0},NONE:{configurable:!0}};RA.prototype.interfaces_=function(){return[]},RA.prototype.getClass=function(){return RA},RA.toDegrees=function(e){return 180*e/Math.PI},RA.normalize=function(e){for(;e>Math.PI;)e-=RA.PI_TIMES_2;for(;e<=-Math.PI;)e+=RA.PI_TIMES_2;return e},RA.angle=function(){if(1===arguments.length){var e=arguments[0];return Math.atan2(e.y,e.x)}if(2===arguments.length){var t=arguments[0],A=arguments[1],n=A.x-t.x,r=A.y-t.y;return Math.atan2(r,n)}},RA.isAcute=function(e,t,A){var n=e.x-t.x,r=e.y-t.y;return n*(A.x-t.x)+r*(A.y-t.y)>0},RA.isObtuse=function(e,t,A){var n=e.x-t.x,r=e.y-t.y;return n*(A.x-t.x)+r*(A.y-t.y)<0},RA.interiorAngle=function(e,t,A){var n=RA.angle(t,e),r=RA.angle(t,A);return Math.abs(r-n)},RA.normalizePositive=function(e){if(e<0){for(;e<0;)e+=RA.PI_TIMES_2;e>=RA.PI_TIMES_2&&(e=0)}else{for(;e>=RA.PI_TIMES_2;)e-=RA.PI_TIMES_2;e<0&&(e=0)}return e},RA.angleBetween=function(e,t,A){var n=RA.angle(t,e),r=RA.angle(t,A);return RA.diff(n,r)},RA.diff=function(e,t){var A=null;return(A=e<t?t-e:e-t)>Math.PI&&(A=2*Math.PI-A),A},RA.toRadians=function(e){return e*Math.PI/180},RA.getTurn=function(e,t){var A=Math.sin(t-e);return A>0?RA.COUNTERCLOCKWISE:A<0?RA.CLOCKWISE:RA.NONE},RA.angleBetweenOriented=function(e,t,A){var n=RA.angle(t,e),r=RA.angle(t,A)-n;return r<=-Math.PI?r+RA.PI_TIMES_2:r>Math.PI?r-RA.PI_TIMES_2:r},DA.PI_TIMES_2.get=function(){return 2*Math.PI},DA.PI_OVER_2.get=function(){return Math.PI/2},DA.PI_OVER_4.get=function(){return Math.PI/4},DA.COUNTERCLOCKWISE.get=function(){return ae.COUNTERCLOCKWISE},DA.CLOCKWISE.get=function(){return ae.CLOCKWISE},DA.NONE.get=function(){return ae.COLLINEAR},Object.defineProperties(RA,DA);var GA=function e(){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 CA,this._seg1=new CA,this._offset0=new CA,this._offset1=new CA,this._side=0,this._hasNarrowConcaveAngle=!1;var t=arguments[0],A=arguments[1],n=arguments[2];this._precisionModel=t,this._bufParams=A,this._li=new re,this._filletAngleQuantum=Math.PI/2/A.getQuadrantSegments(),A.getQuadrantSegments()>=8&&A.getJoinStyle()===vA.JOIN_ROUND&&(this._closingSegLengthFactor=e.MAX_CLOSING_SEG_LEN_FACTOR),this.init(n)},kA={OFFSET_SEGMENT_SEPARATION_FACTOR:{configurable:!0},INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},CURVE_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},MAX_CLOSING_SEG_LEN_FACTOR:{configurable:!0}};GA.prototype.addNextSegment=function(e,t){if(this._s0=this._s1,this._s1=this._s2,this._s2=e,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 A=ae.computeOrientation(this._s0,this._s1,this._s2),n=A===ae.CLOCKWISE&&this._side===bt.LEFT||A===ae.COUNTERCLOCKWISE&&this._side===bt.RIGHT;0===A?this.addCollinear(t):n?this.addOutsideTurn(A,t):this.addInsideTurn(A,t)},GA.prototype.addLineEndCap=function(e,t){var A=new CA(e,t),n=new CA;this.computeOffsetSegment(A,bt.LEFT,this._distance,n);var r=new CA;this.computeOffsetSegment(A,bt.RIGHT,this._distance,r);var i=t.x-e.x,o=t.y-e.y,a=Math.atan2(o,i);switch(this._bufParams.getEndCapStyle()){case vA.CAP_ROUND:this._segList.addPt(n.p1),this.addFilletArc(t,a+Math.PI/2,a-Math.PI/2,ae.CLOCKWISE,this._distance),this._segList.addPt(r.p1);break;case vA.CAP_FLAT:this._segList.addPt(n.p1),this._segList.addPt(r.p1);break;case vA.CAP_SQUARE:var s=new m;s.x=Math.abs(this._distance)*Math.cos(a),s.y=Math.abs(this._distance)*Math.sin(a);var g=new m(n.p1.x+s.x,n.p1.y+s.y),c=new m(r.p1.x+s.x,r.p1.y+s.y);this._segList.addPt(g),this._segList.addPt(c)}},GA.prototype.getCoordinates=function(){return this._segList.getCoordinates()},GA.prototype.addMitreJoin=function(e,t,A,n){var r=!0,i=null;try{i=j.intersection(t.p0,t.p1,A.p0,A.p1),(n<=0?1:i.distance(e)/Math.abs(n))>this._bufParams.getMitreLimit()&&(r=!1)}catch(e){if(!(e instanceof Y))throw e;i=new m(0,0),r=!1}r?this._segList.addPt(i):this.addLimitedMitreJoin(t,A,n,this._bufParams.getMitreLimit())},GA.prototype.addFilletCorner=function(e,t,A,n,r){var i=t.x-e.x,o=t.y-e.y,a=Math.atan2(o,i),s=A.x-e.x,g=A.y-e.y,c=Math.atan2(g,s);n===ae.CLOCKWISE?a<=c&&(a+=2*Math.PI):a>=c&&(a-=2*Math.PI),this._segList.addPt(t),this.addFilletArc(e,a,c,n,r),this._segList.addPt(A)},GA.prototype.addOutsideTurn=function(e,t){if(this._offset0.p1.distance(this._offset1.p0)<this._distance*GA.OFFSET_SEGMENT_SEPARATION_FACTOR)return this._segList.addPt(this._offset0.p1),null;this._bufParams.getJoinStyle()===vA.JOIN_MITRE?this.addMitreJoin(this._s1,this._offset0,this._offset1,this._distance):this._bufParams.getJoinStyle()===vA.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,e,this._distance),this._segList.addPt(this._offset1.p0))},GA.prototype.createSquare=function(e){this._segList.addPt(new m(e.x+this._distance,e.y+this._distance)),this._segList.addPt(new m(e.x+this._distance,e.y-this._distance)),this._segList.addPt(new m(e.x-this._distance,e.y-this._distance)),this._segList.addPt(new m(e.x-this._distance,e.y+this._distance)),this._segList.closeRing()},GA.prototype.addSegments=function(e,t){this._segList.addPts(e,t)},GA.prototype.addFirstSegment=function(){this._segList.addPt(this._offset1.p0)},GA.prototype.addLastSegment=function(){this._segList.addPt(this._offset1.p1)},GA.prototype.initSideSegments=function(e,t,A){this._s1=e,this._s2=t,this._side=A,this._seg1.setCoordinates(e,t),this.computeOffsetSegment(this._seg1,A,this._distance,this._offset1)},GA.prototype.addLimitedMitreJoin=function(e,t,A,n){var r=this._seg0.p1,i=RA.angle(r,this._seg0.p0),o=RA.angleBetweenOriented(this._seg0.p0,r,this._seg1.p1)/2,a=RA.normalize(i+o),s=RA.normalize(a+Math.PI),g=n*A,c=A-g*Math.abs(Math.sin(o)),u=r.x+g*Math.cos(s),l=r.y+g*Math.sin(s),I=new m(u,l),C=new CA(r,I),h=C.pointAlongOffset(1,c),f=C.pointAlongOffset(1,-c);this._side===bt.LEFT?(this._segList.addPt(h),this._segList.addPt(f)):(this._segList.addPt(f),this._segList.addPt(h))},GA.prototype.computeOffsetSegment=function(e,t,A,n){var r=t===bt.LEFT?1:-1,i=e.p1.x-e.p0.x,o=e.p1.y-e.p0.y,a=Math.sqrt(i*i+o*o),s=r*A*i/a,g=r*A*o/a;n.p0.x=e.p0.x-g,n.p0.y=e.p0.y+s,n.p1.x=e.p1.x-g,n.p1.y=e.p1.y+s},GA.prototype.addFilletArc=function(e,t,A,n,r){var i=n===ae.CLOCKWISE?-1:1,o=Math.abs(t-A),a=Math.trunc(o/this._filletAngleQuantum+.5);if(a<1)return null;for(var s=o/a,g=0,c=new m;g<o;){var u=t+i*g;c.x=e.x+r*Math.cos(u),c.y=e.y+r*Math.sin(u),this._segList.addPt(c),g+=s}},GA.prototype.addInsideTurn=function(e,t){if(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));else if(this._hasNarrowConcaveAngle=!0,this._offset0.p1.distance(this._offset1.p0)<this._distance*GA.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR)this._segList.addPt(this._offset0.p1);else{if(this._segList.addPt(this._offset0.p1),this._closingSegLengthFactor>0){var A=new m((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(A);var n=new m((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(n)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}},GA.prototype.createCircle=function(e){var t=new m(e.x+this._distance,e.y);this._segList.addPt(t),this.addFilletArc(e,0,2*Math.PI,-1,this._distance),this._segList.closeRing()},GA.prototype.addBevelJoin=function(e,t){this._segList.addPt(e.p1),this._segList.addPt(t.p0)},GA.prototype.init=function(e){this._distance=e,this._maxCurveSegmentError=e*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new SA,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(e*GA.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},GA.prototype.addCollinear=function(e){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2),this._li.getIntersectionNum()>=2&&(this._bufParams.getJoinStyle()===vA.JOIN_BEVEL||this._bufParams.getJoinStyle()===vA.JOIN_MITRE?(e&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,ae.CLOCKWISE,this._distance))},GA.prototype.closeRing=function(){this._segList.closeRing()},GA.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},GA.prototype.interfaces_=function(){return[]},GA.prototype.getClass=function(){return GA},kA.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return.001},kA.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return.001},kA.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},kA.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(GA,kA);var xA=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var e=arguments[0],t=arguments[1];this._precisionModel=e,this._bufParams=t};xA.prototype.getOffsetCurve=function(e,t){if(this._distance=t,0===t)return null;var A=t<0,n=Math.abs(t),r=this.getSegGen(n);e.length<=1?this.computePointCurve(e[0],r):this.computeOffsetCurve(e,A,r);var i=r.getCoordinates();return A&&we.reverse(i),i},xA.prototype.computeSingleSidedBufferCurve=function(e,t,A){var n=this.simplifyTolerance(this._distance);if(t){A.addSegments(e,!0);var r=bA.simplify(e,-n),i=r.length-1;A.initSideSegments(r[i],r[i-1],bt.LEFT),A.addFirstSegment();for(var o=i-2;o>=0;o--)A.addNextSegment(r[o],!0)}else{A.addSegments(e,!1);var a=bA.simplify(e,n),s=a.length-1;A.initSideSegments(a[0],a[1],bt.LEFT),A.addFirstSegment();for(var g=2;g<=s;g++)A.addNextSegment(a[g],!0)}A.addLastSegment(),A.closeRing()},xA.prototype.computeRingBufferCurve=function(e,t,A){var n=this.simplifyTolerance(this._distance);t===bt.RIGHT&&(n=-n);var r=bA.simplify(e,n),i=r.length-1;A.initSideSegments(r[i-1],r[0],t);for(var o=1;o<=i;o++){var a=1!==o;A.addNextSegment(r[o],a)}A.closeRing()},xA.prototype.computeLineBufferCurve=function(e,t){var A=this.simplifyTolerance(this._distance),n=bA.simplify(e,A),r=n.length-1;t.initSideSegments(n[0],n[1],bt.LEFT);for(var i=2;i<=r;i++)t.addNextSegment(n[i],!0);t.addLastSegment(),t.addLineEndCap(n[r-1],n[r]);var o=bA.simplify(e,-A),a=o.length-1;t.initSideSegments(o[a],o[a-1],bt.LEFT);for(var s=a-2;s>=0;s--)t.addNextSegment(o[s],!0);t.addLastSegment(),t.addLineEndCap(o[1],o[0]),t.closeRing()},xA.prototype.computePointCurve=function(e,t){switch(this._bufParams.getEndCapStyle()){case vA.CAP_ROUND:t.createCircle(e);break;case vA.CAP_SQUARE:t.createSquare(e)}},xA.prototype.getLineCurve=function(e,t){if(this._distance=t,t<0&&!this._bufParams.isSingleSided())return null;if(0===t)return null;var A=Math.abs(t),n=this.getSegGen(A);if(e.length<=1)this.computePointCurve(e[0],n);else if(this._bufParams.isSingleSided()){var r=t<0;this.computeSingleSidedBufferCurve(e,r,n)}else this.computeLineBufferCurve(e,n);return n.getCoordinates()},xA.prototype.getBufferParameters=function(){return this._bufParams},xA.prototype.simplifyTolerance=function(e){return e*this._bufParams.getSimplifyFactor()},xA.prototype.getRingCurve=function(e,t,A){if(this._distance=A,e.length<=2)return this.getLineCurve(e,A);if(0===A)return xA.copyCoordinates(e);var n=this.getSegGen(A);return this.computeRingBufferCurve(e,t,n),n.getCoordinates()},xA.prototype.computeOffsetCurve=function(e,t,A){var n=this.simplifyTolerance(this._distance);if(t){var r=bA.simplify(e,-n),i=r.length-1;A.initSideSegments(r[i],r[i-1],bt.LEFT),A.addFirstSegment();for(var o=i-2;o>=0;o--)A.addNextSegment(r[o],!0)}else{var a=bA.simplify(e,n),s=a.length-1;A.initSideSegments(a[0],a[1],bt.LEFT),A.addFirstSegment();for(var g=2;g<=s;g++)A.addNextSegment(a[g],!0)}A.addLastSegment()},xA.prototype.getSegGen=function(e){return new GA(this._precisionModel,this._bufParams,e)},xA.prototype.interfaces_=function(){return[]},xA.prototype.getClass=function(){return xA},xA.copyCoordinates=function(e){for(var t=new Array(e.length).fill(null),A=0;A<t.length;A++)t[A]=new m(e[A]);return t};var NA=function(){this._subgraphs=null,this._seg=new CA,this._cga=new ae;var e=arguments[0];this._subgraphs=e},UA={DepthSegment:{configurable:!0}};NA.prototype.findStabbedSegments=function(){if(1===arguments.length){for(var e=arguments[0],t=new ve,A=this._subgraphs.iterator();A.hasNext();){var n=A.next(),r=n.getEnvelope();e.y<r.getMinY()||e.y>r.getMaxY()||this.findStabbedSegments(e,n.getDirectedEdges(),t)}return t}if(3===arguments.length)if(D(arguments[2],ye)&&arguments[0]instanceof m&&arguments[1]instanceof Ht){for(var i=arguments[0],o=arguments[1],a=arguments[2],s=o.getEdge().getCoordinates(),g=0;g<s.length-1;g++)if(this._seg.p0=s[g],this._seg.p1=s[g+1],this._seg.p0.y>this._seg.p1.y&&this._seg.reverse(),!(Math.max(this._seg.p0.x,this._seg.p1.x)<i.x)&&!(this._seg.isHorizontal()||i.y<this._seg.p0.y||i.y>this._seg.p1.y||ae.computeOrientation(this._seg.p0,this._seg.p1,i)===ae.RIGHT)){var c=o.getDepth(bt.LEFT);this._seg.p0.equals(s[g])||(c=o.getDepth(bt.RIGHT));var u=new _A(this._seg,c);a.add(u)}}else if(D(arguments[2],ye)&&arguments[0]instanceof m&&D(arguments[1],ye))for(var l=arguments[0],I=arguments[1],C=arguments[2],h=I.iterator();h.hasNext();){var f=h.next();f.isForward()&&this.findStabbedSegments(l,f,C)}},NA.prototype.getDepth=function(e){var t=this.findStabbedSegments(e);return 0===t.size()?0:$t.min(t)._leftDepth},NA.prototype.interfaces_=function(){return[]},NA.prototype.getClass=function(){return NA},UA.DepthSegment.get=function(){return _A},Object.defineProperties(NA,UA);var _A=function(){this._upwardSeg=null,this._leftDepth=null;var e=arguments[0],t=arguments[1];this._upwardSeg=new CA(e),this._leftDepth=t};_A.prototype.compareTo=function(e){var t=e;if(this._upwardSeg.minX()>=t._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=t._upwardSeg.minX())return-1;var A=this._upwardSeg.orientationIndex(t._upwardSeg);return 0!==A||0!=(A=-1*t._upwardSeg.orientationIndex(this._upwardSeg))?A:this._upwardSeg.compareTo(t._upwardSeg)},_A.prototype.compareX=function(e,t){var A=e.p0.compareTo(t.p0);return 0!==A?A:e.p1.compareTo(t.p1)},_A.prototype.toString=function(){return this._upwardSeg.toString()},_A.prototype.interfaces_=function(){return[Q]},_A.prototype.getClass=function(){return _A};var MA=function(e,t,A){this.p0=e||null,this.p1=t||null,this.p2=A||null};MA.prototype.area=function(){return MA.area(this.p0,this.p1,this.p2)},MA.prototype.signedArea=function(){return MA.signedArea(this.p0,this.p1,this.p2)},MA.prototype.interpolateZ=function(e){if(null===e)throw new B("Supplied point is null.");return MA.interpolateZ(e,this.p0,this.p1,this.p2)},MA.prototype.longestSideLength=function(){return MA.longestSideLength(this.p0,this.p1,this.p2)},MA.prototype.isAcute=function(){return MA.isAcute(this.p0,this.p1,this.p2)},MA.prototype.circumcentre=function(){return MA.circumcentre(this.p0,this.p1,this.p2)},MA.prototype.area3D=function(){return MA.area3D(this.p0,this.p1,this.p2)},MA.prototype.centroid=function(){return MA.centroid(this.p0,this.p1,this.p2)},MA.prototype.inCentre=function(){return MA.inCentre(this.p0,this.p1,this.p2)},MA.prototype.interfaces_=function(){return[]},MA.prototype.getClass=function(){return MA},MA.area=function(e,t,A){return Math.abs(((A.x-e.x)*(t.y-e.y)-(t.x-e.x)*(A.y-e.y))/2)},MA.signedArea=function(e,t,A){return((A.x-e.x)*(t.y-e.y)-(t.x-e.x)*(A.y-e.y))/2},MA.det=function(e,t,A,n){return e*n-t*A},MA.interpolateZ=function(e,t,A,n){var r=t.x,i=t.y,o=A.x-r,a=n.x-r,s=A.y-i,g=n.y-i,c=o*g-a*s,u=e.x-r,l=e.y-i,I=(g*u-a*l)/c,C=(-s*u+o*l)/c;return t.z+I*(A.z-t.z)+C*(n.z-t.z)},MA.longestSideLength=function(e,t,A){var n=e.distance(t),r=t.distance(A),i=A.distance(e),o=n;return r>o&&(o=r),i>o&&(o=i),o},MA.isAcute=function(e,t,A){return!!RA.isAcute(e,t,A)&&!!RA.isAcute(t,A,e)&&!!RA.isAcute(A,e,t)},MA.circumcentre=function(e,t,A){var n=A.x,r=A.y,i=e.x-n,o=e.y-r,a=t.x-n,s=t.y-r,g=2*MA.det(i,o,a,s),c=MA.det(o,i*i+o*o,s,a*a+s*s),u=MA.det(i,i*i+o*o,a,a*a+s*s);return new m(n-c/g,r+u/g)},MA.perpendicularBisector=function(e,t){var A=t.x-e.x,n=t.y-e.y,r=new j(e.x+A/2,e.y+n/2,1),i=new j(e.x-n+A/2,e.y+A+n/2,1);return new j(r,i)},MA.angleBisector=function(e,t,A){var n=t.distance(e),r=n/(n+t.distance(A)),i=A.x-e.x,o=A.y-e.y;return new m(e.x+r*i,e.y+r*o)},MA.area3D=function(e,t,A){var n=t.x-e.x,r=t.y-e.y,i=t.z-e.z,o=A.x-e.x,a=A.y-e.y,s=A.z-e.z,g=r*s-i*a,c=i*o-n*s,u=n*a-r*o,l=g*g+c*c+u*u;return Math.sqrt(l)/2},MA.centroid=function(e,t,A){var n=(e.x+t.x+A.x)/3,r=(e.y+t.y+A.y)/3;return new m(n,r)},MA.inCentre=function(e,t,A){var n=t.distance(A),r=e.distance(A),i=e.distance(t),o=n+r+i,a=(n*e.x+r*t.x+i*A.x)/o,s=(n*e.y+r*t.y+i*A.y)/o;return new m(a,s)};var OA=function(){this._inputGeom=null,this._distance=null,this._curveBuilder=null,this._curveList=new ve;var e=arguments[0],t=arguments[1],A=arguments[2];this._inputGeom=e,this._distance=t,this._curveBuilder=A};OA.prototype.addPoint=function(e){if(this._distance<=0)return null;var t=e.getCoordinates(),A=this._curveBuilder.getLineCurve(t,this._distance);this.addCurve(A,F.EXTERIOR,F.INTERIOR)},OA.prototype.addPolygon=function(e){var t=this._distance,A=bt.LEFT;this._distance<0&&(t=-this._distance,A=bt.RIGHT);var n=e.getExteriorRing(),r=we.removeRepeatedPoints(n.getCoordinates());if(this._distance<0&&this.isErodedCompletely(n,this._distance))return null;if(this._distance<=0&&r.length<3)return null;this.addPolygonRing(r,t,A,F.EXTERIOR,F.INTERIOR);for(var i=0;i<e.getNumInteriorRing();i++){var o=e.getInteriorRingN(i),a=we.removeRepeatedPoints(o.getCoordinates());this._distance>0&&this.isErodedCompletely(o,-this._distance)||this.addPolygonRing(a,t,bt.opposite(A),F.INTERIOR,F.EXTERIOR)}},OA.prototype.isTriangleErodedCompletely=function(e,t){var A=new MA(e[0],e[1],e[2]),n=A.inCentre();return ae.distancePointLine(n,A.p0,A.p1)<Math.abs(t)},OA.prototype.addLineString=function(e){if(this._distance<=0&&!this._curveBuilder.getBufferParameters().isSingleSided())return null;var t=we.removeRepeatedPoints(e.getCoordinates()),A=this._curveBuilder.getLineCurve(t,this._distance);this.addCurve(A,F.EXTERIOR,F.INTERIOR)},OA.prototype.addCurve=function(e,t,A){if(null===e||e.length<2)return null;var n=new IA(e,new kt(0,F.BOUNDARY,t,A));this._curveList.add(n)},OA.prototype.getCurves=function(){return this.add(this._inputGeom),this._curveList},OA.prototype.addPolygonRing=function(e,t,A,n,r){if(0===t&&e.length<tt.MINIMUM_VALID_SIZE)return null;var i=n,o=r;e.length>=tt.MINIMUM_VALID_SIZE&&ae.isCCW(e)&&(i=r,o=n,A=bt.opposite(A));var a=this._curveBuilder.getRingCurve(e,A,t);this.addCurve(a,i,o)},OA.prototype.add=function(e){if(e.isEmpty())return null;e instanceof $e?this.addPolygon(e):e instanceof We?this.addLineString(e):e instanceof qe?this.addPoint(e):(e instanceof et||e instanceof Ye||e instanceof At||e instanceof He)&&this.addCollection(e)},OA.prototype.isErodedCompletely=function(e,t){var A=e.getCoordinates();if(A.length<4)return t<0;if(4===A.length)return this.isTriangleErodedCompletely(A,t);var n=e.getEnvelopeInternal(),r=Math.min(n.getHeight(),n.getWidth());return t<0&&2*Math.abs(t)>r},OA.prototype.addCollection=function(e){for(var t=0;t<e.getNumGeometries();t++){var A=e.getGeometryN(t);this.add(A)}},OA.prototype.interfaces_=function(){return[]},OA.prototype.getClass=function(){return OA};var LA=function(){};LA.prototype.locate=function(e){},LA.prototype.interfaces_=function(){return[]},LA.prototype.getClass=function(){return LA};var TA=function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;var e=arguments[0];this._parent=e,this._atStart=!0,this._index=0,this._max=e.getNumGeometries()};TA.prototype.next=function(){if(this._atStart)return this._atStart=!1,TA.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 n;var e=this._parent.getGeometryN(this._index++);return e instanceof He?(this._subcollectionIterator=new TA(e),this._subcollectionIterator.next()):e},TA.prototype.remove=function(){throw new Error(this.getClass().getName())},TA.prototype.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)},TA.prototype.interfaces_=function(){return[Qe]},TA.prototype.getClass=function(){return TA},TA.isAtomic=function(e){return!(e instanceof He)};var ZA=function(){this._geom=null;var e=arguments[0];this._geom=e};ZA.prototype.locate=function(e){return ZA.locate(e,this._geom)},ZA.prototype.interfaces_=function(){return[LA]},ZA.prototype.getClass=function(){return ZA},ZA.isPointInRing=function(e,t){return!!t.getEnvelopeInternal().intersects(e)&&ae.isPointInRing(e,t.getCoordinates())},ZA.containsPointInPolygon=function(e,t){if(t.isEmpty())return!1;var A=t.getExteriorRing();if(!ZA.isPointInRing(e,A))return!1;for(var n=0;n<t.getNumInteriorRing();n++){var r=t.getInteriorRingN(n);if(ZA.isPointInRing(e,r))return!1}return!0},ZA.containsPoint=function(e,t){if(t instanceof $e)return ZA.containsPointInPolygon(e,t);if(t instanceof He)for(var A=new TA(t);A.hasNext();){var n=A.next();if(n!==t&&ZA.containsPoint(e,n))return!0}return!1},ZA.locate=function(e,t){return t.isEmpty()?F.EXTERIOR:ZA.containsPoint(e,t)?F.INTERIOR:F.EXTERIOR};var HA=function(){this._edgeMap=new u,this._edgeList=null,this._ptInAreaLocation=[F.NONE,F.NONE]};HA.prototype.getNextCW=function(e){this.getEdges();var t=this._edgeList.indexOf(e),A=t-1;return 0===t&&(A=this._edgeList.size()-1),this._edgeList.get(A)},HA.prototype.propagateSideLabels=function(e){for(var t=F.NONE,A=this.iterator();A.hasNext();){var n=A.next().getLabel();n.isArea(e)&&n.getLocation(e,bt.LEFT)!==F.NONE&&(t=n.getLocation(e,bt.LEFT))}if(t===F.NONE)return null;for(var r=t,i=this.iterator();i.hasNext();){var o=i.next(),a=o.getLabel();if(a.getLocation(e,bt.ON)===F.NONE&&a.setLocation(e,bt.ON,r),a.isArea(e)){var s=a.getLocation(e,bt.LEFT),g=a.getLocation(e,bt.RIGHT);if(g!==F.NONE){if(g!==r)throw new Ft("side location conflict",o.getCoordinate());s===F.NONE&&te.shouldNeverReachHere("found single null side (at "+o.getCoordinate()+")"),r=s}else te.isTrue(a.getLocation(e,bt.LEFT)===F.NONE,"found single null side"),a.setLocation(e,bt.RIGHT,r),a.setLocation(e,bt.LEFT,r)}}},HA.prototype.getCoordinate=function(){var e=this.iterator();return e.hasNext()?e.next().getCoordinate():null},HA.prototype.print=function(e){J.out.println("EdgeEndStar: "+this.getCoordinate());for(var t=this.iterator();t.hasNext();)t.next().print(e)},HA.prototype.isAreaLabelsConsistent=function(e){return this.computeEdgeEndLabels(e.getBoundaryNodeRule()),this.checkAreaLabelsConsistent(0)},HA.prototype.checkAreaLabelsConsistent=function(e){var t=this.getEdges();if(t.size()<=0)return!0;var A=t.size()-1,n=t.get(A).getLabel().getLocation(e,bt.LEFT);te.isTrue(n!==F.NONE,"Found unlabelled area edge");for(var r=n,i=this.iterator();i.hasNext();){var o=i.next().getLabel();te.isTrue(o.isArea(e),"Found non-area edge");var a=o.getLocation(e,bt.LEFT),s=o.getLocation(e,bt.RIGHT);if(a===s)return!1;if(s!==r)return!1;r=a}return!0},HA.prototype.findIndex=function(e){this.iterator();for(var t=0;t<this._edgeList.size();t++)if(this._edgeList.get(t)===e)return t;return-1},HA.prototype.iterator=function(){return this.getEdges().iterator()},HA.prototype.getEdges=function(){return null===this._edgeList&&(this._edgeList=new ve(this._edgeMap.values())),this._edgeList},HA.prototype.getLocation=function(e,t,A){return this._ptInAreaLocation[e]===F.NONE&&(this._ptInAreaLocation[e]=ZA.locate(t,A[e].getGeometry())),this._ptInAreaLocation[e]},HA.prototype.toString=function(){var e=new x;e.append("EdgeEndStar: "+this.getCoordinate()),e.append("\n");for(var t=this.iterator();t.hasNext();){var A=t.next();e.append(A),e.append("\n")}return e.toString()},HA.prototype.computeEdgeEndLabels=function(e){for(var t=this.iterator();t.hasNext();)t.next().computeLabel(e)},HA.prototype.computeLabelling=function(e){this.computeEdgeEndLabels(e[0].getBoundaryNodeRule()),this.propagateSideLabels(0),this.propagateSideLabels(1);for(var t=[!1,!1],A=this.iterator();A.hasNext();)for(var n=A.next().getLabel(),r=0;r<2;r++)n.isLine(r)&&n.getLocation(r)===F.BOUNDARY&&(t[r]=!0);for(var i=this.iterator();i.hasNext();)for(var o=i.next(),a=o.getLabel(),s=0;s<2;s++)if(a.isAnyNull(s)){var g=F.NONE;if(t[s])g=F.EXTERIOR;else{var c=o.getCoordinate();g=this.getLocation(s,c,e)}a.setAllLocationsIfNull(s,g)}},HA.prototype.getDegree=function(){return this._edgeMap.size()},HA.prototype.insertEdgeEnd=function(e,t){this._edgeMap.put(e,t),this._edgeList=null},HA.prototype.interfaces_=function(){return[]},HA.prototype.getClass=function(){return HA};var YA=function(e){function t(){e.call(this),this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.linkResultDirectedEdges=function(){this.getResultAreaEdges();for(var e=null,t=null,A=this._SCANNING_FOR_INCOMING,n=0;n<this._resultAreaEdgeList.size();n++){var r=this._resultAreaEdgeList.get(n),i=r.getSym();if(r.getLabel().isArea())switch(null===e&&r.isInResult()&&(e=r),A){case this._SCANNING_FOR_INCOMING:if(!i.isInResult())continue;t=i,A=this._LINKING_TO_OUTGOING;break;case this._LINKING_TO_OUTGOING:if(!r.isInResult())continue;t.setNext(r),A=this._SCANNING_FOR_INCOMING}}if(A===this._LINKING_TO_OUTGOING){if(null===e)throw new Ft("no outgoing dirEdge found",this.getCoordinate());te.isTrue(e.isInResult(),"unable to link last incoming dirEdge"),t.setNext(e)}},t.prototype.insert=function(e){var t=e;this.insertEdgeEnd(t,t)},t.prototype.getRightmostEdge=function(){var e=this.getEdges(),t=e.size();if(t<1)return null;var A=e.get(0);if(1===t)return A;var n=e.get(t-1),r=A.getQuadrant(),i=n.getQuadrant();return Lt.isNorthern(r)&&Lt.isNorthern(i)?A:Lt.isNorthern(r)||Lt.isNorthern(i)?0!==A.getDy()?A:0!==n.getDy()?n:(te.shouldNeverReachHere("found two horizontal edges incident on node"),null):n},t.prototype.print=function(e){J.out.println("DirectedEdgeStar: "+this.getCoordinate());for(var t=this.iterator();t.hasNext();){var A=t.next();e.print("out "),A.print(e),e.println(),e.print("in "),A.getSym().print(e),e.println()}},t.prototype.getResultAreaEdges=function(){if(null!==this._resultAreaEdgeList)return this._resultAreaEdgeList;this._resultAreaEdgeList=new ve;for(var e=this.iterator();e.hasNext();){var t=e.next();(t.isInResult()||t.getSym().isInResult())&&this._resultAreaEdgeList.add(t)}return this._resultAreaEdgeList},t.prototype.updateLabelling=function(e){for(var t=this.iterator();t.hasNext();){var A=t.next().getLabel();A.setAllLocationsIfNull(0,e.getLocation(0)),A.setAllLocationsIfNull(1,e.getLocation(1))}},t.prototype.linkAllDirectedEdges=function(){this.getEdges();for(var e=null,t=null,A=this._edgeList.size()-1;A>=0;A--){var n=this._edgeList.get(A),r=n.getSym();null===t&&(t=r),null!==e&&r.setNext(e),e=n}t.setNext(e)},t.prototype.computeDepths=function(){if(1===arguments.length){var e=arguments[0],t=this.findIndex(e),A=e.getDepth(bt.LEFT),n=e.getDepth(bt.RIGHT),r=this.computeDepths(t+1,this._edgeList.size(),A);if(this.computeDepths(0,t,r)!==n)throw new Ft("depth mismatch at "+e.getCoordinate())}else if(3===arguments.length){for(var i=arguments[0],o=arguments[1],a=arguments[2],s=i;s<o;s++){var g=this._edgeList.get(s);g.setEdgeDepths(bt.RIGHT,a),a=g.getDepth(bt.LEFT)}return a}},t.prototype.mergeSymLabels=function(){for(var e=this.iterator();e.hasNext();){var t=e.next();t.getLabel().merge(t.getSym().getLabel())}},t.prototype.linkMinimalDirectedEdges=function(e){for(var t=null,A=null,n=this._SCANNING_FOR_INCOMING,r=this._resultAreaEdgeList.size()-1;r>=0;r--){var i=this._resultAreaEdgeList.get(r),o=i.getSym();switch(null===t&&i.getEdgeRing()===e&&(t=i),n){case this._SCANNING_FOR_INCOMING:if(o.getEdgeRing()!==e)continue;A=o,n=this._LINKING_TO_OUTGOING;break;case this._LINKING_TO_OUTGOING:if(i.getEdgeRing()!==e)continue;A.setNextMin(i),n=this._SCANNING_FOR_INCOMING}}n===this._LINKING_TO_OUTGOING&&(te.isTrue(null!==t,"found null for first outgoing dirEdge"),te.isTrue(t.getEdgeRing()===e,"unable to link last incoming dirEdge"),A.setNextMin(t))},t.prototype.getOutgoingDegree=function(){if(0===arguments.length){for(var e=0,t=this.iterator();t.hasNext();)t.next().isInResult()&&e++;return e}if(1===arguments.length){for(var A=arguments[0],n=0,r=this.iterator();r.hasNext();)r.next().getEdgeRing()===A&&n++;return n}},t.prototype.getLabel=function(){return this._label},t.prototype.findCoveredLineEdges=function(){for(var e=F.NONE,t=this.iterator();t.hasNext();){var A=t.next(),n=A.getSym();if(!A.isLineEdge()){if(A.isInResult()){e=F.INTERIOR;break}if(n.isInResult()){e=F.EXTERIOR;break}}}if(e===F.NONE)return null;for(var r=e,i=this.iterator();i.hasNext();){var o=i.next(),a=o.getSym();o.isLineEdge()?o.getEdge().setCovered(r===F.INTERIOR):(o.isInResult()&&(r=F.EXTERIOR),a.isInResult()&&(r=F.INTERIOR))}},t.prototype.computeLabelling=function(t){e.prototype.computeLabelling.call(this,t),this._label=new kt(F.NONE);for(var A=this.iterator();A.hasNext();)for(var n=A.next().getEdge().getLabel(),r=0;r<2;r++){var i=n.getLocation(r);i!==F.INTERIOR&&i!==F.BOUNDARY||this._label.setLocation(r,F.INTERIOR)}},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(HA),JA=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.createNode=function(e){return new Mt(e,new YA)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Yt),jA=function e(){this._pts=null,this._orientation=null;var t=arguments[0];this._pts=t,this._orientation=e.orientation(t)};jA.prototype.compareTo=function(e){var t=e;return jA.compareOriented(this._pts,this._orientation,t._pts,t._orientation)},jA.prototype.interfaces_=function(){return[Q]},jA.prototype.getClass=function(){return jA},jA.orientation=function(e){return 1===we.increasingDirection(e)},jA.compareOriented=function(e,t,A,n){for(var r=t?1:-1,i=n?1:-1,o=t?e.length:-1,a=n?A.length:-1,s=t?0:e.length-1,g=n?0:A.length-1;;){var c=e[s].compareTo(A[g]);if(0!==c)return c;var u=(s+=r)===o,l=(g+=i)===a;if(u&&!l)return-1;if(!u&&l)return 1;if(u&&l)return 0}};var PA=function(){this._edges=new ve,this._ocaMap=new u};PA.prototype.print=function(e){e.print("MULTILINESTRING ( ");for(var t=0;t<this._edges.size();t++){var A=this._edges.get(t);t>0&&e.print(","),e.print("(");for(var n=A.getCoordinates(),r=0;r<n.length;r++)r>0&&e.print(","),e.print(n[r].x+" "+n[r].y);e.println(")")}e.print(") ")},PA.prototype.addAll=function(e){for(var t=e.iterator();t.hasNext();)this.add(t.next())},PA.prototype.findEdgeIndex=function(e){for(var t=0;t<this._edges.size();t++)if(this._edges.get(t).equals(e))return t;return-1},PA.prototype.iterator=function(){return this._edges.iterator()},PA.prototype.getEdges=function(){return this._edges},PA.prototype.get=function(e){return this._edges.get(e)},PA.prototype.findEqualEdge=function(e){var t=new jA(e.getCoordinates());return this._ocaMap.get(t)},PA.prototype.add=function(e){this._edges.add(e);var t=new jA(e.getCoordinates());this._ocaMap.put(t,e)},PA.prototype.interfaces_=function(){return[]},PA.prototype.getClass=function(){return PA};var VA=function(){};VA.prototype.processIntersections=function(e,t,A,n){},VA.prototype.isDone=function(){},VA.prototype.interfaces_=function(){return[]},VA.prototype.getClass=function(){return VA};var KA=function(){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 e=arguments[0];this._li=e};KA.prototype.isTrivialIntersection=function(e,t,A,n){if(e===A&&1===this._li.getIntersectionNum()){if(KA.isAdjacentSegments(t,n))return!0;if(e.isClosed()){var r=e.size()-1;if(0===t&&n===r||0===n&&t===r)return!0}}return!1},KA.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},KA.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},KA.prototype.getLineIntersector=function(){return this._li},KA.prototype.hasProperIntersection=function(){return this._hasProper},KA.prototype.processIntersections=function(e,t,A,n){if(e===A&&t===n)return null;this.numTests++;var r=e.getCoordinates()[t],i=e.getCoordinates()[t+1],o=A.getCoordinates()[n],a=A.getCoordinates()[n+1];this._li.computeIntersection(r,i,o,a),this._li.hasIntersection()&&(this.numIntersections++,this._li.isInteriorIntersection()&&(this.numInteriorIntersections++,this._hasInterior=!0),this.isTrivialIntersection(e,t,A,n)||(this._hasIntersection=!0,e.addIntersections(this._li,t,0),A.addIntersections(this._li,n,1),this._li.isProper()&&(this.numProperIntersections++,this._hasProper=!0,this._hasProperInterior=!0)))},KA.prototype.hasIntersection=function(){return this._hasIntersection},KA.prototype.isDone=function(){return!1},KA.prototype.hasInteriorIntersection=function(){return this._hasInterior},KA.prototype.interfaces_=function(){return[VA]},KA.prototype.getClass=function(){return KA},KA.isAdjacentSegments=function(e,t){return 1===Math.abs(e-t)};var WA=function(){this.coord=null,this.segmentIndex=null,this.dist=null;var e=arguments[0],t=arguments[1],A=arguments[2];this.coord=new m(e),this.segmentIndex=t,this.dist=A};WA.prototype.getSegmentIndex=function(){return this.segmentIndex},WA.prototype.getCoordinate=function(){return this.coord},WA.prototype.print=function(e){e.print(this.coord),e.print(" seg # = "+this.segmentIndex),e.println(" dist = "+this.dist)},WA.prototype.compareTo=function(e){var t=e;return this.compare(t.segmentIndex,t.dist)},WA.prototype.isEndPoint=function(e){return 0===this.segmentIndex&&0===this.dist||this.segmentIndex===e},WA.prototype.toString=function(){return this.coord+" seg # = "+this.segmentIndex+" dist = "+this.dist},WA.prototype.getDistance=function(){return this.dist},WA.prototype.compare=function(e,t){return this.segmentIndex<e?-1:this.segmentIndex>e?1:this.dist<t?-1:this.dist>t?1:0},WA.prototype.interfaces_=function(){return[Q]},WA.prototype.getClass=function(){return WA};var XA=function(){this._nodeMap=new u,this.edge=null;var e=arguments[0];this.edge=e};XA.prototype.print=function(e){e.println("Intersections:");for(var t=this.iterator();t.hasNext();)t.next().print(e)},XA.prototype.iterator=function(){return this._nodeMap.values().iterator()},XA.prototype.addSplitEdges=function(e){this.addEndpoints();for(var t=this.iterator(),A=t.next();t.hasNext();){var n=t.next(),r=this.createSplitEdge(A,n);e.add(r),A=n}},XA.prototype.addEndpoints=function(){var e=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0),this.add(this.edge.pts[e],e,0)},XA.prototype.createSplitEdge=function(e,t){var A=t.segmentIndex-e.segmentIndex+2,n=this.edge.pts[t.segmentIndex],r=t.dist>0||!t.coord.equals2D(n);r||A--;var i=new Array(A).fill(null),o=0;i[o++]=new m(e.coord);for(var a=e.segmentIndex+1;a<=t.segmentIndex;a++)i[o++]=this.edge.pts[a];return r&&(i[o]=t.coord),new tn(i,new kt(this.edge._label))},XA.prototype.add=function(e,t,A){var n=new WA(e,t,A),r=this._nodeMap.get(n);return null!==r?r:(this._nodeMap.put(n,n),n)},XA.prototype.isIntersection=function(e){for(var t=this.iterator();t.hasNext();)if(t.next().coord.equals(e))return!0;return!1},XA.prototype.interfaces_=function(){return[]},XA.prototype.getClass=function(){return XA};var qA=function(){};qA.prototype.getChainStartIndices=function(e){var t=0,A=new ve;A.add(new N(t));do{var n=this.findChainEnd(e,t);A.add(new N(n)),t=n}while(t<e.length-1);return qA.toIntArray(A)},qA.prototype.findChainEnd=function(e,t){for(var A=Lt.quadrant(e[t],e[t+1]),n=t+1;n<e.length&&Lt.quadrant(e[n-1],e[n])===A;)n++;return n-1},qA.prototype.interfaces_=function(){return[]},qA.prototype.getClass=function(){return qA},qA.toIntArray=function(e){for(var t=new Array(e.size()).fill(null),A=0;A<t.length;A++)t[A]=e.get(A).intValue();return t};var zA=function(){this.e=null,this.pts=null,this.startIndex=null,this.env1=new P,this.env2=new P;var e=arguments[0];this.e=e,this.pts=e.getCoordinates();var t=new qA;this.startIndex=t.getChainStartIndices(this.pts)};zA.prototype.getCoordinates=function(){return this.pts},zA.prototype.getMaxX=function(e){var t=this.pts[this.startIndex[e]].x,A=this.pts[this.startIndex[e+1]].x;return t>A?t:A},zA.prototype.getMinX=function(e){var t=this.pts[this.startIndex[e]].x,A=this.pts[this.startIndex[e+1]].x;return t<A?t:A},zA.prototype.computeIntersectsForChain=function(){if(4===arguments.length){var e=arguments[0],t=arguments[1],A=arguments[2],n=arguments[3];this.computeIntersectsForChain(this.startIndex[e],this.startIndex[e+1],t,t.startIndex[A],t.startIndex[A+1],n)}else if(6===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2],a=arguments[3],s=arguments[4],g=arguments[5],c=this.pts[r],u=this.pts[i],l=o.pts[a],I=o.pts[s];if(i-r==1&&s-a==1)return g.addIntersections(this.e,r,o.e,a),null;if(this.env1.init(c,u),this.env2.init(l,I),!this.env1.intersects(this.env2))return null;var C=Math.trunc((r+i)/2),h=Math.trunc((a+s)/2);r<C&&(a<h&&this.computeIntersectsForChain(r,C,o,a,h,g),h<s&&this.computeIntersectsForChain(r,C,o,h,s,g)),C<i&&(a<h&&this.computeIntersectsForChain(C,i,o,a,h,g),h<s&&this.computeIntersectsForChain(C,i,o,h,s,g))}},zA.prototype.getStartIndexes=function(){return this.startIndex},zA.prototype.computeIntersects=function(e,t){for(var A=0;A<this.startIndex.length-1;A++)for(var n=0;n<e.startIndex.length-1;n++)this.computeIntersectsForChain(A,e,n,t)},zA.prototype.interfaces_=function(){return[]},zA.prototype.getClass=function(){return zA};var $A=function e(){this._depth=Array(2).fill().map((function(){return Array(3)}));for(var t=0;t<2;t++)for(var A=0;A<3;A++)this._depth[t][A]=e.NULL_VALUE},en={NULL_VALUE:{configurable:!0}};$A.prototype.getDepth=function(e,t){return this._depth[e][t]},$A.prototype.setDepth=function(e,t,A){this._depth[e][t]=A},$A.prototype.isNull=function(){if(0===arguments.length){for(var e=0;e<2;e++)for(var t=0;t<3;t++)if(this._depth[e][t]!==$A.NULL_VALUE)return!1;return!0}if(1===arguments.length){var A=arguments[0];return this._depth[A][1]===$A.NULL_VALUE}if(2===arguments.length){var n=arguments[0],r=arguments[1];return this._depth[n][r]===$A.NULL_VALUE}},$A.prototype.normalize=function(){for(var e=0;e<2;e++)if(!this.isNull(e)){var t=this._depth[e][1];this._depth[e][2]<t&&(t=this._depth[e][2]),t<0&&(t=0);for(var A=1;A<3;A++){var n=0;this._depth[e][A]>t&&(n=1),this._depth[e][A]=n}}},$A.prototype.getDelta=function(e){return this._depth[e][bt.RIGHT]-this._depth[e][bt.LEFT]},$A.prototype.getLocation=function(e,t){return this._depth[e][t]<=0?F.EXTERIOR:F.INTERIOR},$A.prototype.toString=function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]},$A.prototype.add=function(){if(1===arguments.length)for(var e=arguments[0],t=0;t<2;t++)for(var A=1;A<3;A++){var n=e.getLocation(t,A);n!==F.EXTERIOR&&n!==F.INTERIOR||(this.isNull(t,A)?this._depth[t][A]=$A.depthAtLocation(n):this._depth[t][A]+=$A.depthAtLocation(n))}else if(3===arguments.length){var r=arguments[0],i=arguments[1];arguments[2]===F.INTERIOR&&this._depth[r][i]++}},$A.prototype.interfaces_=function(){return[]},$A.prototype.getClass=function(){return $A},$A.depthAtLocation=function(e){return e===F.EXTERIOR?0:e===F.INTERIOR?1:$A.NULL_VALUE},en.NULL_VALUE.get=function(){return-1},Object.defineProperties($A,en);var tn=function(e){function t(){if(e.call(this),this.pts=null,this._env=null,this.eiList=new XA(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new $A,this._depthDelta=0,1===arguments.length){var A=arguments[0];t.call(this,A,null)}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.pts=n,this._label=r}}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDepth=function(){return this._depth},t.prototype.getCollapsedEdge=function(){var e=new Array(2).fill(null);return e[0]=this.pts[0],e[1]=this.pts[1],new t(e,kt.toLineLabel(this._label))},t.prototype.isIsolated=function(){return this._isIsolated},t.prototype.getCoordinates=function(){return this.pts},t.prototype.setIsolated=function(e){this._isIsolated=e},t.prototype.setName=function(e){this._name=e},t.prototype.equals=function(e){if(!(e instanceof t))return!1;var A=e;if(this.pts.length!==A.pts.length)return!1;for(var n=!0,r=!0,i=this.pts.length,o=0;o<this.pts.length;o++)if(this.pts[o].equals2D(A.pts[o])||(n=!1),this.pts[o].equals2D(A.pts[--i])||(r=!1),!n&&!r)return!1;return!0},t.prototype.getCoordinate=function(){if(0===arguments.length)return this.pts.length>0?this.pts[0]:null;if(1===arguments.length){var e=arguments[0];return this.pts[e]}},t.prototype.print=function(e){e.print("edge "+this._name+": "),e.print("LINESTRING (");for(var t=0;t<this.pts.length;t++)t>0&&e.print(","),e.print(this.pts[t].x+" "+this.pts[t].y);e.print(") "+this._label+" "+this._depthDelta)},t.prototype.computeIM=function(e){t.updateIM(this._label,e)},t.prototype.isCollapsed=function(){return!!this._label.isArea()&&3===this.pts.length&&!!this.pts[0].equals(this.pts[2])},t.prototype.isClosed=function(){return this.pts[0].equals(this.pts[this.pts.length-1])},t.prototype.getMaximumSegmentIndex=function(){return this.pts.length-1},t.prototype.getDepthDelta=function(){return this._depthDelta},t.prototype.getNumPoints=function(){return this.pts.length},t.prototype.printReverse=function(e){e.print("edge "+this._name+": ");for(var t=this.pts.length-1;t>=0;t--)e.print(this.pts[t]+" ");e.println("")},t.prototype.getMonotoneChainEdge=function(){return null===this._mce&&(this._mce=new zA(this)),this._mce},t.prototype.getEnvelope=function(){if(null===this._env){this._env=new P;for(var e=0;e<this.pts.length;e++)this._env.expandToInclude(this.pts[e])}return this._env},t.prototype.addIntersection=function(e,t,A,n){var r=new m(e.getIntersection(n)),i=t,o=e.getEdgeDistance(A,n),a=i+1;if(a<this.pts.length){var s=this.pts[a];r.equals2D(s)&&(i=a,o=0)}this.eiList.add(r,i,o)},t.prototype.toString=function(){var e=new x;e.append("edge "+this._name+": "),e.append("LINESTRING (");for(var t=0;t<this.pts.length;t++)t>0&&e.append(","),e.append(this.pts[t].x+" "+this.pts[t].y);return e.append(") "+this._label+" "+this._depthDelta),e.toString()},t.prototype.isPointwiseEqual=function(e){if(this.pts.length!==e.pts.length)return!1;for(var t=0;t<this.pts.length;t++)if(!this.pts[t].equals2D(e.pts[t]))return!1;return!0},t.prototype.setDepthDelta=function(e){this._depthDelta=e},t.prototype.getEdgeIntersectionList=function(){return this.eiList},t.prototype.addIntersections=function(e,t,A){for(var n=0;n<e.getIntersectionNum();n++)this.addIntersection(e,t,A,n)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t.updateIM=function(){if(2!==arguments.length)return e.prototype.updateIM.apply(this,arguments);var t=arguments[0],A=arguments[1];A.setAtLeastIfValid(t.getLocation(0,bt.ON),t.getLocation(1,bt.ON),1),t.isArea()&&(A.setAtLeastIfValid(t.getLocation(0,bt.LEFT),t.getLocation(1,bt.LEFT),2),A.setAtLeastIfValid(t.getLocation(0,bt.RIGHT),t.getLocation(1,bt.RIGHT),2))},t}(_t),An=function(e){this._workingPrecisionModel=null,this._workingNoder=null,this._geomFact=null,this._graph=null,this._edgeList=new PA,this._bufParams=e||null};An.prototype.setWorkingPrecisionModel=function(e){this._workingPrecisionModel=e},An.prototype.insertUniqueEdge=function(e){var t=this._edgeList.findEqualEdge(e);if(null!==t){var A=t.getLabel(),n=e.getLabel();t.isPointwiseEqual(e)||(n=new kt(e.getLabel())).flip(),A.merge(n);var r=An.depthDelta(n),i=t.getDepthDelta()+r;t.setDepthDelta(i)}else this._edgeList.add(e),e.setDepthDelta(An.depthDelta(e.getLabel()))},An.prototype.buildSubgraphs=function(e,t){for(var A=new ve,n=e.iterator();n.hasNext();){var r=n.next(),i=r.getRightmostCoordinate(),o=new NA(A).getDepth(i);r.computeDepth(o),r.findResultEdges(),A.add(r),t.add(r.getDirectedEdges(),r.getNodes())}},An.prototype.createSubgraphs=function(e){for(var t=new ve,A=e.getNodes().iterator();A.hasNext();){var n=A.next();if(!n.isVisited()){var r=new Dt;r.create(n),t.add(r)}}return $t.sort(t,$t.reverseOrder()),t},An.prototype.createEmptyResultGeometry=function(){return this._geomFact.createPolygon()},An.prototype.getNoder=function(e){if(null!==this._workingNoder)return this._workingNoder;var t=new QA,A=new re;return A.setPrecisionModel(e),t.setSegmentIntersector(new KA(A)),t},An.prototype.buffer=function(e,t){var A=this._workingPrecisionModel;null===A&&(A=e.getPrecisionModel()),this._geomFact=e.getFactory();var n=new xA(A,this._bufParams),r=new OA(e,t,n).getCurves();if(r.size()<=0)return this.createEmptyResultGeometry();this.computeNodedEdges(r,A),this._graph=new Jt(new JA),this._graph.addEdges(this._edgeList.getEdges());var i=this.createSubgraphs(this._graph),o=new jt(this._geomFact);this.buildSubgraphs(i,o);var a=o.getPolygons();return a.size()<=0?this.createEmptyResultGeometry():this._geomFact.buildGeometry(a)},An.prototype.computeNodedEdges=function(e,t){var A=this.getNoder(t);A.computeNodes(e);for(var n=A.getNodedSubstrings().iterator();n.hasNext();){var r=n.next(),i=r.getCoordinates();if(2!==i.length||!i[0].equals2D(i[1])){var o=r.getData(),a=new tn(r.getCoordinates(),new kt(o));this.insertUniqueEdge(a)}}},An.prototype.setNoder=function(e){this._workingNoder=e},An.prototype.interfaces_=function(){return[]},An.prototype.getClass=function(){return An},An.depthDelta=function(e){var t=e.getLocation(0,bt.LEFT),A=e.getLocation(0,bt.RIGHT);return t===F.INTERIOR&&A===F.EXTERIOR?1:t===F.EXTERIOR&&A===F.INTERIOR?-1:0},An.convertSegStrings=function(e){for(var t=new dt,A=new ve;e.hasNext();){var n=e.next(),r=t.createLineString(n.getCoordinates());A.add(r)}return t.buildGeometry(A)};var nn=function(){if(this._noder=null,this._scaleFactor=null,this._offsetX=null,this._offsetY=null,this._isScaled=!1,2===arguments.length){var e=arguments[0],t=arguments[1];this._noder=e,this._scaleFactor=t,this._offsetX=0,this._offsetY=0,this._isScaled=!this.isIntegerPrecision()}else if(4===arguments.length){var A=arguments[0],n=arguments[1],r=arguments[2],i=arguments[3];this._noder=A,this._scaleFactor=n,this._offsetX=r,this._offsetY=i,this._isScaled=!this.isIntegerPrecision()}};nn.prototype.rescale=function(){if(D(arguments[0],Ee))for(var e=arguments[0].iterator();e.hasNext();){var t=e.next();this.rescale(t.getCoordinates())}else if(arguments[0]instanceof Array){for(var A=arguments[0],n=0;n<A.length;n++)A[n].x=A[n].x/this._scaleFactor+this._offsetX,A[n].y=A[n].y/this._scaleFactor+this._offsetY;2===A.length&&A[0].equals2D(A[1])&&J.out.println(A)}},nn.prototype.scale=function(){if(D(arguments[0],Ee)){for(var e=arguments[0],t=new ve,A=e.iterator();A.hasNext();){var n=A.next();t.add(new IA(this.scale(n.getCoordinates()),n.getData()))}return t}if(arguments[0]instanceof Array){for(var r=arguments[0],i=new Array(r.length).fill(null),o=0;o<r.length;o++)i[o]=new m(Math.round((r[o].x-this._offsetX)*this._scaleFactor),Math.round((r[o].y-this._offsetY)*this._scaleFactor),r[o].z);return we.removeRepeatedPoints(i)}},nn.prototype.isIntegerPrecision=function(){return 1===this._scaleFactor},nn.prototype.getNodedSubstrings=function(){var e=this._noder.getNodedSubstrings();return this._isScaled&&this.rescale(e),e},nn.prototype.computeNodes=function(e){var t=e;this._isScaled&&(t=this.scale(e)),this._noder.computeNodes(t)},nn.prototype.interfaces_=function(){return[pA]},nn.prototype.getClass=function(){return nn};var rn=function(){this._li=new re,this._segStrings=null;var e=arguments[0];this._segStrings=e},on={fact:{configurable:!0}};rn.prototype.checkEndPtVertexIntersections=function(){if(0===arguments.length)for(var e=this._segStrings.iterator();e.hasNext();){var t=e.next().getCoordinates();this.checkEndPtVertexIntersections(t[0],this._segStrings),this.checkEndPtVertexIntersections(t[t.length-1],this._segStrings)}else if(2===arguments.length)for(var A=arguments[0],n=arguments[1].iterator();n.hasNext();)for(var r=n.next().getCoordinates(),i=1;i<r.length-1;i++)if(r[i].equals(A))throw new $("found endpt/interior pt intersection at index "+i+" :pt "+A)},rn.prototype.checkInteriorIntersections=function(){if(0===arguments.length)for(var e=this._segStrings.iterator();e.hasNext();)for(var t=e.next(),A=this._segStrings.iterator();A.hasNext();){var n=A.next();this.checkInteriorIntersections(t,n)}else if(2===arguments.length)for(var r=arguments[0],i=arguments[1],o=r.getCoordinates(),a=i.getCoordinates(),s=0;s<o.length-1;s++)for(var g=0;g<a.length-1;g++)this.checkInteriorIntersections(r,s,i,g);else if(4===arguments.length){var c=arguments[0],u=arguments[1],l=arguments[2],I=arguments[3];if(c===l&&u===I)return null;var C=c.getCoordinates()[u],h=c.getCoordinates()[u+1],f=l.getCoordinates()[I],d=l.getCoordinates()[I+1];if(this._li.computeIntersection(C,h,f,d),this._li.hasIntersection()&&(this._li.isProper()||this.hasInteriorIntersection(this._li,C,h)||this.hasInteriorIntersection(this._li,f,d)))throw new $("found non-noded intersection at "+C+"-"+h+" and "+f+"-"+d)}},rn.prototype.checkValid=function(){this.checkEndPtVertexIntersections(),this.checkInteriorIntersections(),this.checkCollapses()},rn.prototype.checkCollapses=function(){if(0===arguments.length)for(var e=this._segStrings.iterator();e.hasNext();){var t=e.next();this.checkCollapses(t)}else if(1===arguments.length)for(var A=arguments[0].getCoordinates(),n=0;n<A.length-2;n++)this.checkCollapse(A[n],A[n+1],A[n+2])},rn.prototype.hasInteriorIntersection=function(e,t,A){for(var n=0;n<e.getIntersectionNum();n++){var r=e.getIntersection(n);if(!r.equals(t)&&!r.equals(A))return!0}return!1},rn.prototype.checkCollapse=function(e,t,A){if(e.equals(A))throw new $("found non-noded collapse at "+rn.fact.createLineString([e,t,A]))},rn.prototype.interfaces_=function(){return[]},rn.prototype.getClass=function(){return rn},on.fact.get=function(){return new dt},Object.defineProperties(rn,on);var an=function(){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 e=arguments[0],t=arguments[1],A=arguments[2];if(this._originalPt=e,this._pt=e,this._scaleFactor=t,this._li=A,t<=0)throw new B("Scale factor must be non-zero");1!==t&&(this._pt=new m(this.scale(e.x),this.scale(e.y)),this._p0Scaled=new m,this._p1Scaled=new m),this.initCorners(this._pt)},sn={SAFE_ENV_EXPANSION_FACTOR:{configurable:!0}};an.prototype.intersectsScaled=function(e,t){var A=Math.min(e.x,t.x),n=Math.max(e.x,t.x),r=Math.min(e.y,t.y),i=Math.max(e.y,t.y),o=this._maxx<A||this._minx>n||this._maxy<r||this._miny>i;if(o)return!1;var a=this.intersectsToleranceSquare(e,t);return te.isTrue(!(o&&a),"Found bad envelope test"),a},an.prototype.initCorners=function(e){this._minx=e.x-.5,this._maxx=e.x+.5,this._miny=e.y-.5,this._maxy=e.y+.5,this._corner[0]=new m(this._maxx,this._maxy),this._corner[1]=new m(this._minx,this._maxy),this._corner[2]=new m(this._minx,this._miny),this._corner[3]=new m(this._maxx,this._miny)},an.prototype.intersects=function(e,t){return 1===this._scaleFactor?this.intersectsScaled(e,t):(this.copyScaled(e,this._p0Scaled),this.copyScaled(t,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))},an.prototype.scale=function(e){return Math.round(e*this._scaleFactor)},an.prototype.getCoordinate=function(){return this._originalPt},an.prototype.copyScaled=function(e,t){t.x=this.scale(e.x),t.y=this.scale(e.y)},an.prototype.getSafeEnvelope=function(){if(null===this._safeEnv){var e=an.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new P(this._originalPt.x-e,this._originalPt.x+e,this._originalPt.y-e,this._originalPt.y+e)}return this._safeEnv},an.prototype.intersectsPixelClosure=function(e,t){return this._li.computeIntersection(e,t,this._corner[0],this._corner[1]),!!this._li.hasIntersection()||(this._li.computeIntersection(e,t,this._corner[1],this._corner[2]),!!this._li.hasIntersection()||(this._li.computeIntersection(e,t,this._corner[2],this._corner[3]),!!this._li.hasIntersection()||(this._li.computeIntersection(e,t,this._corner[3],this._corner[0]),!!this._li.hasIntersection())))},an.prototype.intersectsToleranceSquare=function(e,t){var A=!1,n=!1;return this._li.computeIntersection(e,t,this._corner[0],this._corner[1]),!!this._li.isProper()||(this._li.computeIntersection(e,t,this._corner[1],this._corner[2]),!!this._li.isProper()||(this._li.hasIntersection()&&(A=!0),this._li.computeIntersection(e,t,this._corner[2],this._corner[3]),!!this._li.isProper()||(this._li.hasIntersection()&&(n=!0),this._li.computeIntersection(e,t,this._corner[3],this._corner[0]),!!this._li.isProper()||!(!A||!n)||!!e.equals(this._pt)||!!t.equals(this._pt))))},an.prototype.addSnappedNode=function(e,t){var A=e.getCoordinate(t),n=e.getCoordinate(t+1);return!!this.intersects(A,n)&&(e.addIntersection(this.getCoordinate(),t),!0)},an.prototype.interfaces_=function(){return[]},an.prototype.getClass=function(){return an},sn.SAFE_ENV_EXPANSION_FACTOR.get=function(){return.75},Object.defineProperties(an,sn);var gn=function(){this.tempEnv1=new P,this.selectedSegment=new CA};gn.prototype.select=function(){if(1===arguments.length);else if(2===arguments.length){var e=arguments[0],t=arguments[1];e.getLineSegment(t,this.selectedSegment),this.select(this.selectedSegment)}},gn.prototype.interfaces_=function(){return[]},gn.prototype.getClass=function(){return gn};var cn=function(){this._index=null;var e=arguments[0];this._index=e},un={HotPixelSnapAction:{configurable:!0}};cn.prototype.snap=function(){if(1===arguments.length){var e=arguments[0];return this.snap(e,null,-1)}if(3===arguments.length){var t=arguments[0],A=arguments[1],n=arguments[2],r=t.getSafeEnvelope(),i=new ln(t,A,n);return this._index.query(r,{interfaces_:function(){return[Wt]},visitItem:function(e){e.select(r,i)}}),i.isNodeAdded()}},cn.prototype.interfaces_=function(){return[]},cn.prototype.getClass=function(){return cn},un.HotPixelSnapAction.get=function(){return ln},Object.defineProperties(cn,un);var ln=function(e){function t(){e.call(this),this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var t=arguments[0],A=arguments[1],n=arguments[2];this._hotPixel=t,this._parentEdge=A,this._hotPixelVertexIndex=n}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.isNodeAdded=function(){return this._isNodeAdded},t.prototype.select=function(){if(2!==arguments.length)return e.prototype.select.apply(this,arguments);var t=arguments[0],A=arguments[1],n=t.getContext();if(null!==this._parentEdge&&n===this._parentEdge&&A===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(n,A)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(gn),In=function(){this._li=null,this._interiorIntersections=null;var e=arguments[0];this._li=e,this._interiorIntersections=new ve};In.prototype.processIntersections=function(e,t,A,n){if(e===A&&t===n)return null;var r=e.getCoordinates()[t],i=e.getCoordinates()[t+1],o=A.getCoordinates()[n],a=A.getCoordinates()[n+1];if(this._li.computeIntersection(r,i,o,a),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var s=0;s<this._li.getIntersectionNum();s++)this._interiorIntersections.add(this._li.getIntersection(s));e.addIntersections(this._li,t,0),A.addIntersections(this._li,n,1)}},In.prototype.isDone=function(){return!1},In.prototype.getInteriorIntersections=function(){return this._interiorIntersections},In.prototype.interfaces_=function(){return[VA]},In.prototype.getClass=function(){return In};var Cn=function(){this._pm=null,this._li=null,this._scaleFactor=null,this._noder=null,this._pointSnapper=null,this._nodedSegStrings=null;var e=arguments[0];this._pm=e,this._li=new re,this._li.setPrecisionModel(e),this._scaleFactor=e.getScale()};Cn.prototype.checkCorrectness=function(e){var t=IA.getNodedSubstrings(e),A=new rn(t);try{A.checkValid()}catch(e){if(!(e instanceof H))throw e;e.printStackTrace()}},Cn.prototype.getNodedSubstrings=function(){return IA.getNodedSubstrings(this._nodedSegStrings)},Cn.prototype.snapRound=function(e,t){var A=this.findInteriorIntersections(e,t);this.computeIntersectionSnaps(A),this.computeVertexSnaps(e)},Cn.prototype.findInteriorIntersections=function(e,t){var A=new In(t);return this._noder.setSegmentIntersector(A),this._noder.computeNodes(e),A.getInteriorIntersections()},Cn.prototype.computeVertexSnaps=function(){if(D(arguments[0],Ee))for(var e=arguments[0].iterator();e.hasNext();){var t=e.next();this.computeVertexSnaps(t)}else if(arguments[0]instanceof IA)for(var A=arguments[0],n=A.getCoordinates(),r=0;r<n.length;r++){var i=new an(n[r],this._scaleFactor,this._li);this._pointSnapper.snap(i,A,r)&&A.addIntersection(n[r],r)}},Cn.prototype.computeNodes=function(e){this._nodedSegStrings=e,this._noder=new QA,this._pointSnapper=new cn(this._noder.getIndex()),this.snapRound(e,this._li)},Cn.prototype.computeIntersectionSnaps=function(e){for(var t=e.iterator();t.hasNext();){var A=t.next(),n=new an(A,this._scaleFactor,this._li);this._pointSnapper.snap(n)}},Cn.prototype.interfaces_=function(){return[pA]},Cn.prototype.getClass=function(){return Cn};var hn=function(){if(this._argGeom=null,this._distance=null,this._bufParams=new vA,this._resultGeometry=null,this._saveException=null,1===arguments.length){var e=arguments[0];this._argGeom=e}else if(2===arguments.length){var t=arguments[0],A=arguments[1];this._argGeom=t,this._bufParams=A}},fn={CAP_ROUND:{configurable:!0},CAP_BUTT:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},MAX_PRECISION_DIGITS:{configurable:!0}};hn.prototype.bufferFixedPrecision=function(e){var t=new nn(new Cn(new It(1)),e.getScale()),A=new An(this._bufParams);A.setWorkingPrecisionModel(e),A.setNoder(t),this._resultGeometry=A.buffer(this._argGeom,this._distance)},hn.prototype.bufferReducedPrecision=function(){var e=this;if(0===arguments.length){for(var t=hn.MAX_PRECISION_DIGITS;t>=0;t--){try{e.bufferReducedPrecision(t)}catch(t){if(!(t instanceof Ft))throw t;e._saveException=t}if(null!==e._resultGeometry)return null}throw this._saveException}if(1===arguments.length){var A=arguments[0],n=hn.precisionScaleFactor(this._argGeom,this._distance,A),r=new It(n);this.bufferFixedPrecision(r)}},hn.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),null!==this._resultGeometry)return null;var e=this._argGeom.getFactory().getPrecisionModel();e.getType()===It.FIXED?this.bufferFixedPrecision(e):this.bufferReducedPrecision()},hn.prototype.setQuadrantSegments=function(e){this._bufParams.setQuadrantSegments(e)},hn.prototype.bufferOriginalPrecision=function(){try{var e=new An(this._bufParams);this._resultGeometry=e.buffer(this._argGeom,this._distance)}catch(e){if(!(e instanceof $))throw e;this._saveException=e}},hn.prototype.getResultGeometry=function(e){return this._distance=e,this.computeGeometry(),this._resultGeometry},hn.prototype.setEndCapStyle=function(e){this._bufParams.setEndCapStyle(e)},hn.prototype.interfaces_=function(){return[]},hn.prototype.getClass=function(){return hn},hn.bufferOp=function(){if(2===arguments.length){var e=arguments[0],t=arguments[1];return new hn(e).getResultGeometry(t)}if(3===arguments.length){if(Number.isInteger(arguments[2])&&arguments[0]instanceof ce&&"number"==typeof arguments[1]){var A=arguments[0],n=arguments[1],r=arguments[2],i=new hn(A);return i.setQuadrantSegments(r),i.getResultGeometry(n)}if(arguments[2]instanceof vA&&arguments[0]instanceof ce&&"number"==typeof arguments[1]){var o=arguments[0],a=arguments[1],s=arguments[2];return new hn(o,s).getResultGeometry(a)}}else if(4===arguments.length){var g=arguments[0],c=arguments[1],u=arguments[2],l=arguments[3],I=new hn(g);return I.setQuadrantSegments(u),I.setEndCapStyle(l),I.getResultGeometry(c)}},hn.precisionScaleFactor=function(e,t,A){var n=e.getEnvelopeInternal(),r=G.max(Math.abs(n.getMaxX()),Math.abs(n.getMaxY()),Math.abs(n.getMinX()),Math.abs(n.getMinY()))+2*(t>0?t:0),i=A-Math.trunc(Math.log(r)/Math.log(10)+1);return Math.pow(10,i)},fn.CAP_ROUND.get=function(){return vA.CAP_ROUND},fn.CAP_BUTT.get=function(){return vA.CAP_FLAT},fn.CAP_FLAT.get=function(){return vA.CAP_FLAT},fn.CAP_SQUARE.get=function(){return vA.CAP_SQUARE},fn.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(hn,fn);var dn=function(){this._pt=[new m,new m],this._distance=p.NaN,this._isNull=!0};dn.prototype.getCoordinates=function(){return this._pt},dn.prototype.getCoordinate=function(e){return this._pt[e]},dn.prototype.setMinimum=function(){if(1===arguments.length){var e=arguments[0];this.setMinimum(e._pt[0],e._pt[1])}else if(2===arguments.length){var t=arguments[0],A=arguments[1];if(this._isNull)return this.initialize(t,A),null;var n=t.distance(A);n<this._distance&&this.initialize(t,A,n)}},dn.prototype.initialize=function(){if(0===arguments.length)this._isNull=!0;else if(2===arguments.length){var e=arguments[0],t=arguments[1];this._pt[0].setCoordinate(e),this._pt[1].setCoordinate(t),this._distance=e.distance(t),this._isNull=!1}else if(3===arguments.length){var A=arguments[0],n=arguments[1],r=arguments[2];this._pt[0].setCoordinate(A),this._pt[1].setCoordinate(n),this._distance=r,this._isNull=!1}},dn.prototype.getDistance=function(){return this._distance},dn.prototype.setMaximum=function(){if(1===arguments.length){var e=arguments[0];this.setMaximum(e._pt[0],e._pt[1])}else if(2===arguments.length){var t=arguments[0],A=arguments[1];if(this._isNull)return this.initialize(t,A),null;var n=t.distance(A);n>this._distance&&this.initialize(t,A,n)}},dn.prototype.interfaces_=function(){return[]},dn.prototype.getClass=function(){return dn};var Bn=function(){};Bn.prototype.interfaces_=function(){return[]},Bn.prototype.getClass=function(){return Bn},Bn.computeDistance=function(){if(arguments[2]instanceof dn&&arguments[0]instanceof We&&arguments[1]instanceof m)for(var e=arguments[0],t=arguments[1],A=arguments[2],n=e.getCoordinates(),r=new CA,i=0;i<n.length-1;i++){r.setCoordinates(n[i],n[i+1]);var o=r.closestPoint(t);A.setMinimum(o,t)}else if(arguments[2]instanceof dn&&arguments[0]instanceof $e&&arguments[1]instanceof m){var a=arguments[0],s=arguments[1],g=arguments[2];Bn.computeDistance(a.getExteriorRing(),s,g);for(var c=0;c<a.getNumInteriorRing();c++)Bn.computeDistance(a.getInteriorRingN(c),s,g)}else if(arguments[2]instanceof dn&&arguments[0]instanceof ce&&arguments[1]instanceof m){var u=arguments[0],l=arguments[1],I=arguments[2];if(u instanceof We)Bn.computeDistance(u,l,I);else if(u instanceof $e)Bn.computeDistance(u,l,I);else if(u instanceof He)for(var C=u,h=0;h<C.getNumGeometries();h++){var f=C.getGeometryN(h);Bn.computeDistance(f,l,I)}else I.setMinimum(u.getCoordinate(),l)}else if(arguments[2]instanceof dn&&arguments[0]instanceof CA&&arguments[1]instanceof m){var d=arguments[0],B=arguments[1],p=arguments[2],E=d.closestPoint(B);p.setMinimum(E,B)}};var pn=function(e){this._maxPtDist=new dn,this._inputGeom=e||null},En={MaxPointDistanceFilter:{configurable:!0},MaxMidpointDistanceFilter:{configurable:!0}};pn.prototype.computeMaxMidpointDistance=function(e){var t=new yn(this._inputGeom);e.apply(t),this._maxPtDist.setMaximum(t.getMaxPointDistance())},pn.prototype.computeMaxVertexDistance=function(e){var t=new Qn(this._inputGeom);e.apply(t),this._maxPtDist.setMaximum(t.getMaxPointDistance())},pn.prototype.findDistance=function(e){return this.computeMaxVertexDistance(e),this.computeMaxMidpointDistance(e),this._maxPtDist.getDistance()},pn.prototype.getDistancePoints=function(){return this._maxPtDist},pn.prototype.interfaces_=function(){return[]},pn.prototype.getClass=function(){return pn},En.MaxPointDistanceFilter.get=function(){return Qn},En.MaxMidpointDistanceFilter.get=function(){return yn},Object.defineProperties(pn,En);var Qn=function(e){this._maxPtDist=new dn,this._minPtDist=new dn,this._geom=e||null};Qn.prototype.filter=function(e){this._minPtDist.initialize(),Bn.computeDistance(this._geom,e,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Qn.prototype.getMaxPointDistance=function(){return this._maxPtDist},Qn.prototype.interfaces_=function(){return[Ie]},Qn.prototype.getClass=function(){return Qn};var yn=function(e){this._maxPtDist=new dn,this._minPtDist=new dn,this._geom=e||null};yn.prototype.filter=function(e,t){if(0===t)return null;var A=e.getCoordinate(t-1),n=e.getCoordinate(t),r=new m((A.x+n.x)/2,(A.y+n.y)/2);this._minPtDist.initialize(),Bn.computeDistance(this._geom,r,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},yn.prototype.isDone=function(){return!1},yn.prototype.isGeometryChanged=function(){return!1},yn.prototype.getMaxPointDistance=function(){return this._maxPtDist},yn.prototype.interfaces_=function(){return[Ze]},yn.prototype.getClass=function(){return yn};var vn=function(e){this._comps=e||null};vn.prototype.filter=function(e){e instanceof $e&&this._comps.add(e)},vn.prototype.interfaces_=function(){return[Te]},vn.prototype.getClass=function(){return vn},vn.getPolygons=function(){if(1===arguments.length){var e=arguments[0];return vn.getPolygons(e,new ve)}if(2===arguments.length){var t=arguments[0],A=arguments[1];return t instanceof $e?A.add(t):t instanceof He&&t.apply(new vn(A)),A}};var mn=function(){if(this._lines=null,this._isForcedToLineString=!1,1===arguments.length){var e=arguments[0];this._lines=e}else if(2===arguments.length){var t=arguments[0],A=arguments[1];this._lines=t,this._isForcedToLineString=A}};mn.prototype.filter=function(e){if(this._isForcedToLineString&&e instanceof tt){var t=e.getFactory().createLineString(e.getCoordinateSequence());return this._lines.add(t),null}e instanceof We&&this._lines.add(e)},mn.prototype.setForceToLineString=function(e){this._isForcedToLineString=e},mn.prototype.interfaces_=function(){return[ge]},mn.prototype.getClass=function(){return mn},mn.getGeometry=function(){if(1===arguments.length){var e=arguments[0];return e.getFactory().buildGeometry(mn.getLines(e))}if(2===arguments.length){var t=arguments[0],A=arguments[1];return t.getFactory().buildGeometry(mn.getLines(t,A))}},mn.getLines=function(){if(1===arguments.length){var e=arguments[0];return mn.getLines(e,!1)}if(2===arguments.length){if(D(arguments[0],Ee)&&D(arguments[1],Ee)){for(var t=arguments[0],A=arguments[1],n=t.iterator();n.hasNext();){var r=n.next();mn.getLines(r,A)}return A}if(arguments[0]instanceof ce&&"boolean"==typeof arguments[1]){var i=arguments[0],o=arguments[1],a=new ve;return i.apply(new mn(a,o)),a}if(arguments[0]instanceof ce&&D(arguments[1],Ee)){var s=arguments[0],g=arguments[1];return s instanceof We?g.add(s):s.apply(new mn(g)),g}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&D(arguments[0],Ee)&&D(arguments[1],Ee)){for(var c=arguments[0],u=arguments[1],l=arguments[2],I=c.iterator();I.hasNext();){var C=I.next();mn.getLines(C,u,l)}return u}if("boolean"==typeof arguments[2]&&arguments[0]instanceof ce&&D(arguments[1],Ee)){var h=arguments[0],f=arguments[1],d=arguments[2];return h.apply(new mn(f,d)),f}}};var bn=function(){if(this._boundaryRule=Ce.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,0===arguments.length);else if(1===arguments.length){var e=arguments[0];if(null===e)throw new B("Rule must be non-null");this._boundaryRule=e}};bn.prototype.locateInternal=function(){if(arguments[0]instanceof m&&arguments[1]instanceof $e){var e=arguments[0],t=arguments[1];if(t.isEmpty())return F.EXTERIOR;var A=t.getExteriorRing(),n=this.locateInPolygonRing(e,A);if(n===F.EXTERIOR)return F.EXTERIOR;if(n===F.BOUNDARY)return F.BOUNDARY;for(var r=0;r<t.getNumInteriorRing();r++){var i=t.getInteriorRingN(r),o=this.locateInPolygonRing(e,i);if(o===F.INTERIOR)return F.EXTERIOR;if(o===F.BOUNDARY)return F.BOUNDARY}return F.INTERIOR}if(arguments[0]instanceof m&&arguments[1]instanceof We){var a=arguments[0],s=arguments[1];if(!s.getEnvelopeInternal().intersects(a))return F.EXTERIOR;var g=s.getCoordinates();return s.isClosed()||!a.equals(g[0])&&!a.equals(g[g.length-1])?ae.isOnLine(a,g)?F.INTERIOR:F.EXTERIOR:F.BOUNDARY}if(arguments[0]instanceof m&&arguments[1]instanceof qe){var c=arguments[0];return arguments[1].getCoordinate().equals2D(c)?F.INTERIOR:F.EXTERIOR}},bn.prototype.locateInPolygonRing=function(e,t){return t.getEnvelopeInternal().intersects(e)?ae.locatePointInRing(e,t.getCoordinates()):F.EXTERIOR},bn.prototype.intersects=function(e,t){return this.locate(e,t)!==F.EXTERIOR},bn.prototype.updateLocationInfo=function(e){e===F.INTERIOR&&(this._isIn=!0),e===F.BOUNDARY&&this._numBoundaries++},bn.prototype.computeLocation=function(e,t){if(t instanceof qe&&this.updateLocationInfo(this.locateInternal(e,t)),t instanceof We)this.updateLocationInfo(this.locateInternal(e,t));else if(t instanceof $e)this.updateLocationInfo(this.locateInternal(e,t));else if(t instanceof Ye)for(var A=t,n=0;n<A.getNumGeometries();n++){var r=A.getGeometryN(n);this.updateLocationInfo(this.locateInternal(e,r))}else if(t instanceof At)for(var i=t,o=0;o<i.getNumGeometries();o++){var a=i.getGeometryN(o);this.updateLocationInfo(this.locateInternal(e,a))}else if(t instanceof He)for(var s=new TA(t);s.hasNext();){var g=s.next();g!==t&&this.computeLocation(e,g)}},bn.prototype.locate=function(e,t){return t.isEmpty()?F.EXTERIOR:t instanceof We||t instanceof $e?this.locateInternal(e,t):(this._isIn=!1,this._numBoundaries=0,this.computeLocation(e,t),this._boundaryRule.isInBoundary(this._numBoundaries)?F.BOUNDARY:this._numBoundaries>0||this._isIn?F.INTERIOR:F.EXTERIOR)},bn.prototype.interfaces_=function(){return[]},bn.prototype.getClass=function(){return bn};var wn=function e(){if(this._component=null,this._segIndex=null,this._pt=null,2===arguments.length){var t=arguments[0],A=arguments[1];e.call(this,t,e.INSIDE_AREA,A)}else if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2];this._component=n,this._segIndex=r,this._pt=i}},Sn={INSIDE_AREA:{configurable:!0}};wn.prototype.isInsideArea=function(){return this._segIndex===wn.INSIDE_AREA},wn.prototype.getCoordinate=function(){return this._pt},wn.prototype.getGeometryComponent=function(){return this._component},wn.prototype.getSegmentIndex=function(){return this._segIndex},wn.prototype.interfaces_=function(){return[]},wn.prototype.getClass=function(){return wn},Sn.INSIDE_AREA.get=function(){return-1},Object.defineProperties(wn,Sn);var Fn=function(e){this._pts=e||null};Fn.prototype.filter=function(e){e instanceof qe&&this._pts.add(e)},Fn.prototype.interfaces_=function(){return[Te]},Fn.prototype.getClass=function(){return Fn},Fn.getPoints=function(){if(1===arguments.length){var e=arguments[0];return e instanceof qe?$t.singletonList(e):Fn.getPoints(e,new ve)}if(2===arguments.length){var t=arguments[0],A=arguments[1];return t instanceof qe?A.add(t):t instanceof He&&t.apply(new Fn(A)),A}};var Rn=function(){this._locations=null;var e=arguments[0];this._locations=e};Rn.prototype.filter=function(e){(e instanceof qe||e instanceof We||e instanceof $e)&&this._locations.add(new wn(e,0,e.getCoordinate()))},Rn.prototype.interfaces_=function(){return[Te]},Rn.prototype.getClass=function(){return Rn},Rn.getLocations=function(e){var t=new ve;return e.apply(new Rn(t)),t};var Dn=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new bn,this._minDistanceLocation=null,this._minDistance=p.MAX_VALUE,2===arguments.length){var e=arguments[0],t=arguments[1];this._geom=[e,t],this._terminateDistance=0}else if(3===arguments.length){var A=arguments[0],n=arguments[1],r=arguments[2];this._geom=new Array(2).fill(null),this._geom[0]=A,this._geom[1]=n,this._terminateDistance=r}};Dn.prototype.computeContainmentDistance=function(){if(0===arguments.length){var e=new Array(2).fill(null);if(this.computeContainmentDistance(0,e),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,e)}else if(2===arguments.length){var t=arguments[0],A=arguments[1],n=1-t,r=vn.getPolygons(this._geom[t]);if(r.size()>0){var i=Rn.getLocations(this._geom[n]);if(this.computeContainmentDistance(i,r,A),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[n]=A[0],this._minDistanceLocation[t]=A[1],null}}else if(3===arguments.length)if(arguments[2]instanceof Array&&D(arguments[0],ye)&&D(arguments[1],ye)){for(var o=arguments[0],a=arguments[1],s=arguments[2],g=0;g<o.size();g++)for(var c=o.get(g),u=0;u<a.size();u++)if(this.computeContainmentDistance(c,a.get(u),s),this._minDistance<=this._terminateDistance)return null}else if(arguments[2]instanceof Array&&arguments[0]instanceof wn&&arguments[1]instanceof $e){var l=arguments[0],I=arguments[1],C=arguments[2],h=l.getCoordinate();if(F.EXTERIOR!==this._ptLocator.locate(h,I))return this._minDistance=0,C[0]=l,C[1]=new wn(I,h),null}},Dn.prototype.computeMinDistanceLinesPoints=function(e,t,A){for(var n=0;n<e.size();n++)for(var r=e.get(n),i=0;i<t.size();i++){var o=t.get(i);if(this.computeMinDistance(r,o,A),this._minDistance<=this._terminateDistance)return null}},Dn.prototype.computeFacetDistance=function(){var e=new Array(2).fill(null),t=mn.getLines(this._geom[0]),A=mn.getLines(this._geom[1]),n=Fn.getPoints(this._geom[0]),r=Fn.getPoints(this._geom[1]);return this.computeMinDistanceLines(t,A,e),this.updateMinDistance(e,!1),this._minDistance<=this._terminateDistance?null:(e[0]=null,e[1]=null,this.computeMinDistanceLinesPoints(t,r,e),this.updateMinDistance(e,!1),this._minDistance<=this._terminateDistance?null:(e[0]=null,e[1]=null,this.computeMinDistanceLinesPoints(A,n,e),this.updateMinDistance(e,!0),this._minDistance<=this._terminateDistance?null:(e[0]=null,e[1]=null,this.computeMinDistancePoints(n,r,e),void this.updateMinDistance(e,!1))))},Dn.prototype.nearestLocations=function(){return this.computeMinDistance(),this._minDistanceLocation},Dn.prototype.updateMinDistance=function(e,t){if(null===e[0])return null;t?(this._minDistanceLocation[0]=e[1],this._minDistanceLocation[1]=e[0]):(this._minDistanceLocation[0]=e[0],this._minDistanceLocation[1]=e[1])},Dn.prototype.nearestPoints=function(){return this.computeMinDistance(),[this._minDistanceLocation[0].getCoordinate(),this._minDistanceLocation[1].getCoordinate()]},Dn.prototype.computeMinDistance=function(){if(0===arguments.length){if(null!==this._minDistanceLocation)return null;if(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 We&&arguments[1]instanceof qe){var e=arguments[0],t=arguments[1],A=arguments[2];if(e.getEnvelopeInternal().distance(t.getEnvelopeInternal())>this._minDistance)return null;for(var n=e.getCoordinates(),r=t.getCoordinate(),i=0;i<n.length-1;i++){var o=ae.distancePointLine(r,n[i],n[i+1]);if(o<this._minDistance){this._minDistance=o;var a=new CA(n[i],n[i+1]).closestPoint(r);A[0]=new wn(e,i,a),A[1]=new wn(t,0,r)}if(this._minDistance<=this._terminateDistance)return null}}else if(arguments[2]instanceof Array&&arguments[0]instanceof We&&arguments[1]instanceof We){var s=arguments[0],g=arguments[1],c=arguments[2];if(s.getEnvelopeInternal().distance(g.getEnvelopeInternal())>this._minDistance)return null;for(var u=s.getCoordinates(),l=g.getCoordinates(),I=0;I<u.length-1;I++)for(var C=0;C<l.length-1;C++){var h=ae.distanceLineLine(u[I],u[I+1],l[C],l[C+1]);if(h<this._minDistance){this._minDistance=h;var f=new CA(u[I],u[I+1]),d=new CA(l[C],l[C+1]),B=f.closestPoints(d);c[0]=new wn(s,I,B[0]),c[1]=new wn(g,C,B[1])}if(this._minDistance<=this._terminateDistance)return null}}},Dn.prototype.computeMinDistancePoints=function(e,t,A){for(var n=0;n<e.size();n++)for(var r=e.get(n),i=0;i<t.size();i++){var o=t.get(i),a=r.getCoordinate().distance(o.getCoordinate());if(a<this._minDistance&&(this._minDistance=a,A[0]=new wn(r,0,r.getCoordinate()),A[1]=new wn(o,0,o.getCoordinate())),this._minDistance<=this._terminateDistance)return null}},Dn.prototype.distance=function(){if(null===this._geom[0]||null===this._geom[1])throw new B("null geometries are not supported");return this._geom[0].isEmpty()||this._geom[1].isEmpty()?0:(this.computeMinDistance(),this._minDistance)},Dn.prototype.computeMinDistanceLines=function(e,t,A){for(var n=0;n<e.size();n++)for(var r=e.get(n),i=0;i<t.size();i++){var o=t.get(i);if(this.computeMinDistance(r,o,A),this._minDistance<=this._terminateDistance)return null}},Dn.prototype.interfaces_=function(){return[]},Dn.prototype.getClass=function(){return Dn},Dn.distance=function(e,t){return new Dn(e,t).distance()},Dn.isWithinDistance=function(e,t,A){return new Dn(e,t,A).distance()<=A},Dn.nearestPoints=function(e,t){return new Dn(e,t).nearestPoints()};var Gn=function(){this._pt=[new m,new m],this._distance=p.NaN,this._isNull=!0};Gn.prototype.getCoordinates=function(){return this._pt},Gn.prototype.getCoordinate=function(e){return this._pt[e]},Gn.prototype.setMinimum=function(){if(1===arguments.length){var e=arguments[0];this.setMinimum(e._pt[0],e._pt[1])}else if(2===arguments.length){var t=arguments[0],A=arguments[1];if(this._isNull)return this.initialize(t,A),null;var n=t.distance(A);n<this._distance&&this.initialize(t,A,n)}},Gn.prototype.initialize=function(){if(0===arguments.length)this._isNull=!0;else if(2===arguments.length){var e=arguments[0],t=arguments[1];this._pt[0].setCoordinate(e),this._pt[1].setCoordinate(t),this._distance=e.distance(t),this._isNull=!1}else if(3===arguments.length){var A=arguments[0],n=arguments[1],r=arguments[2];this._pt[0].setCoordinate(A),this._pt[1].setCoordinate(n),this._distance=r,this._isNull=!1}},Gn.prototype.toString=function(){return z.toLineString(this._pt[0],this._pt[1])},Gn.prototype.getDistance=function(){return this._distance},Gn.prototype.setMaximum=function(){if(1===arguments.length){var e=arguments[0];this.setMaximum(e._pt[0],e._pt[1])}else if(2===arguments.length){var t=arguments[0],A=arguments[1];if(this._isNull)return this.initialize(t,A),null;var n=t.distance(A);n>this._distance&&this.initialize(t,A,n)}},Gn.prototype.interfaces_=function(){return[]},Gn.prototype.getClass=function(){return Gn};var kn=function(){};kn.prototype.interfaces_=function(){return[]},kn.prototype.getClass=function(){return kn},kn.computeDistance=function(){if(arguments[2]instanceof Gn&&arguments[0]instanceof We&&arguments[1]instanceof m)for(var e=arguments[0],t=arguments[1],A=arguments[2],n=new CA,r=e.getCoordinates(),i=0;i<r.length-1;i++){n.setCoordinates(r[i],r[i+1]);var o=n.closestPoint(t);A.setMinimum(o,t)}else if(arguments[2]instanceof Gn&&arguments[0]instanceof $e&&arguments[1]instanceof m){var a=arguments[0],s=arguments[1],g=arguments[2];kn.computeDistance(a.getExteriorRing(),s,g);for(var c=0;c<a.getNumInteriorRing();c++)kn.computeDistance(a.getInteriorRingN(c),s,g)}else if(arguments[2]instanceof Gn&&arguments[0]instanceof ce&&arguments[1]instanceof m){var u=arguments[0],l=arguments[1],I=arguments[2];if(u instanceof We)kn.computeDistance(u,l,I);else if(u instanceof $e)kn.computeDistance(u,l,I);else if(u instanceof He)for(var C=u,h=0;h<C.getNumGeometries();h++){var f=C.getGeometryN(h);kn.computeDistance(f,l,I)}else I.setMinimum(u.getCoordinate(),l)}else if(arguments[2]instanceof Gn&&arguments[0]instanceof CA&&arguments[1]instanceof m){var d=arguments[0],B=arguments[1],p=arguments[2],E=d.closestPoint(B);p.setMinimum(E,B)}};var xn=function(){this._g0=null,this._g1=null,this._ptDist=new Gn,this._densifyFrac=0;var e=arguments[0],t=arguments[1];this._g0=e,this._g1=t},Nn={MaxPointDistanceFilter:{configurable:!0},MaxDensifiedByFractionDistanceFilter:{configurable:!0}};xn.prototype.getCoordinates=function(){return this._ptDist.getCoordinates()},xn.prototype.setDensifyFraction=function(e){if(e>1||e<=0)throw new B("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=e},xn.prototype.compute=function(e,t){this.computeOrientedDistance(e,t,this._ptDist),this.computeOrientedDistance(t,e,this._ptDist)},xn.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},xn.prototype.computeOrientedDistance=function(e,t,A){var n=new Un(t);if(e.apply(n),A.setMaximum(n.getMaxPointDistance()),this._densifyFrac>0){var r=new _n(t,this._densifyFrac);e.apply(r),A.setMaximum(r.getMaxPointDistance())}},xn.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},xn.prototype.interfaces_=function(){return[]},xn.prototype.getClass=function(){return xn},xn.distance=function(){if(2===arguments.length){var e=arguments[0],t=arguments[1];return new xn(e,t).distance()}if(3===arguments.length){var A=arguments[0],n=arguments[1],r=arguments[2],i=new xn(A,n);return i.setDensifyFraction(r),i.distance()}},Nn.MaxPointDistanceFilter.get=function(){return Un},Nn.MaxDensifiedByFractionDistanceFilter.get=function(){return _n},Object.defineProperties(xn,Nn);var Un=function(){this._maxPtDist=new Gn,this._minPtDist=new Gn,this._euclideanDist=new kn,this._geom=null;var e=arguments[0];this._geom=e};Un.prototype.filter=function(e){this._minPtDist.initialize(),kn.computeDistance(this._geom,e,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Un.prototype.getMaxPointDistance=function(){return this._maxPtDist},Un.prototype.interfaces_=function(){return[Ie]},Un.prototype.getClass=function(){return Un};var _n=function(){this._maxPtDist=new Gn,this._minPtDist=new Gn,this._geom=null,this._numSubSegs=0;var e=arguments[0],t=arguments[1];this._geom=e,this._numSubSegs=Math.trunc(Math.round(1/t))};_n.prototype.filter=function(e,t){if(0===t)return null;for(var A=e.getCoordinate(t-1),n=e.getCoordinate(t),r=(n.x-A.x)/this._numSubSegs,i=(n.y-A.y)/this._numSubSegs,o=0;o<this._numSubSegs;o++){var a=A.x+o*r,s=A.y+o*i,g=new m(a,s);this._minPtDist.initialize(),kn.computeDistance(this._geom,g,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)}},_n.prototype.isDone=function(){return!1},_n.prototype.isGeometryChanged=function(){return!1},_n.prototype.getMaxPointDistance=function(){return this._maxPtDist},_n.prototype.interfaces_=function(){return[Ze]},_n.prototype.getClass=function(){return _n};var Mn=function(e,t,A){this._minValidDistance=null,this._maxValidDistance=null,this._minDistanceFound=null,this._maxDistanceFound=null,this._isValid=!0,this._errMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=e||null,this._bufDistance=t||null,this._result=A||null},On={VERBOSE:{configurable:!0},MAX_DISTANCE_DIFF_FRAC:{configurable:!0}};Mn.prototype.checkMaximumDistance=function(e,t,A){var n=new xn(t,e);if(n.setDensifyFraction(.25),this._maxDistanceFound=n.orientedDistance(),this._maxDistanceFound>A){this._isValid=!1;var r=n.getCoordinates();this._errorLocation=r[1],this._errorIndicator=e.getFactory().createLineString(r),this._errMsg="Distance between buffer curve and input is too large ("+this._maxDistanceFound+" at "+z.toLineString(r[0],r[1])+")"}},Mn.prototype.isValid=function(){var e=Math.abs(this._bufDistance),t=Mn.MAX_DISTANCE_DIFF_FRAC*e;return this._minValidDistance=e-t,this._maxValidDistance=e+t,!(!this._input.isEmpty()&&!this._result.isEmpty())||(this._bufDistance>0?this.checkPositiveValid():this.checkNegativeValid(),Mn.VERBOSE&&J.out.println("Min Dist= "+this._minDistanceFound+" err= "+(1-this._minDistanceFound/this._bufDistance)+" Max Dist= "+this._maxDistanceFound+" err= "+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},Mn.prototype.checkNegativeValid=function(){if(!(this._input instanceof $e||this._input instanceof At||this._input instanceof He))return null;var e=this.getPolygonLines(this._input);if(this.checkMinimumDistance(e,this._result,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(e,this._result,this._maxValidDistance)},Mn.prototype.getErrorIndicator=function(){return this._errorIndicator},Mn.prototype.checkMinimumDistance=function(e,t,A){var n=new Dn(e,t,A);if(this._minDistanceFound=n.distance(),this._minDistanceFound<A){this._isValid=!1;var r=n.nearestPoints();this._errorLocation=n.nearestPoints()[1],this._errorIndicator=e.getFactory().createLineString(r),this._errMsg="Distance between buffer curve and input is too small ("+this._minDistanceFound+" at "+z.toLineString(r[0],r[1])+" )"}},Mn.prototype.checkPositiveValid=function(){var e=this._result.getBoundary();if(this.checkMinimumDistance(this._input,e,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(this._input,e,this._maxValidDistance)},Mn.prototype.getErrorLocation=function(){return this._errorLocation},Mn.prototype.getPolygonLines=function(e){for(var t=new ve,A=new mn(t),n=vn.getPolygons(e).iterator();n.hasNext();)n.next().apply(A);return e.getFactory().buildGeometry(t)},Mn.prototype.getErrorMessage=function(){return this._errMsg},Mn.prototype.interfaces_=function(){return[]},Mn.prototype.getClass=function(){return Mn},On.VERBOSE.get=function(){return!1},On.MAX_DISTANCE_DIFF_FRAC.get=function(){return.012},Object.defineProperties(Mn,On);var Ln=function(e,t,A){this._isValid=!0,this._errorMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=e||null,this._distance=t||null,this._result=A||null},Tn={VERBOSE:{configurable:!0},MAX_ENV_DIFF_FRAC:{configurable:!0}};Ln.prototype.isValid=function(){return this.checkPolygonal(),this._isValid?(this.checkExpectedEmpty(),this._isValid?(this.checkEnvelope(),this._isValid?(this.checkArea(),this._isValid?(this.checkDistance(),this._isValid):this._isValid):this._isValid):this._isValid):this._isValid},Ln.prototype.checkEnvelope=function(){if(this._distance<0)return null;var e=this._distance*Ln.MAX_ENV_DIFF_FRAC;0===e&&(e=.001);var t=new P(this._input.getEnvelopeInternal());t.expandBy(this._distance);var A=new P(this._result.getEnvelopeInternal());A.expandBy(e),A.contains(t)||(this._isValid=!1,this._errorMsg="Buffer envelope is incorrect",this._errorIndicator=this._input.getFactory().toGeometry(A)),this.report("Envelope")},Ln.prototype.checkDistance=function(){var e=new Mn(this._input,this._distance,this._result);e.isValid()||(this._isValid=!1,this._errorMsg=e.getErrorMessage(),this._errorLocation=e.getErrorLocation(),this._errorIndicator=e.getErrorIndicator()),this.report("Distance")},Ln.prototype.checkArea=function(){var e=this._input.getArea(),t=this._result.getArea();this._distance>0&&e>t&&(this._isValid=!1,this._errorMsg="Area of positive buffer is smaller than input",this._errorIndicator=this._result),this._distance<0&&e<t&&(this._isValid=!1,this._errorMsg="Area of negative buffer is larger than input",this._errorIndicator=this._result),this.report("Area")},Ln.prototype.checkPolygonal=function(){this._result instanceof $e||this._result instanceof At||(this._isValid=!1),this._errorMsg="Result is not polygonal",this._errorIndicator=this._result,this.report("Polygonal")},Ln.prototype.getErrorIndicator=function(){return this._errorIndicator},Ln.prototype.getErrorLocation=function(){return this._errorLocation},Ln.prototype.checkExpectedEmpty=function(){return this._input.getDimension()>=2||this._distance>0?null:(this._result.isEmpty()||(this._isValid=!1,this._errorMsg="Result is non-empty",this._errorIndicator=this._result),void this.report("ExpectedEmpty"))},Ln.prototype.report=function(e){if(!Ln.VERBOSE)return null;J.out.println("Check "+e+": "+(this._isValid?"passed":"FAILED"))},Ln.prototype.getErrorMessage=function(){return this._errorMsg},Ln.prototype.interfaces_=function(){return[]},Ln.prototype.getClass=function(){return Ln},Ln.isValidMsg=function(e,t,A){var n=new Ln(e,t,A);return n.isValid()?null:n.getErrorMessage()},Ln.isValid=function(e,t,A){return!!new Ln(e,t,A).isValid()},Tn.VERBOSE.get=function(){return!1},Tn.MAX_ENV_DIFF_FRAC.get=function(){return.012},Object.defineProperties(Ln,Tn);var Zn=function(){this._pts=null,this._data=null;var e=arguments[0],t=arguments[1];this._pts=e,this._data=t};Zn.prototype.getCoordinates=function(){return this._pts},Zn.prototype.size=function(){return this._pts.length},Zn.prototype.getCoordinate=function(e){return this._pts[e]},Zn.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},Zn.prototype.getSegmentOctant=function(e){return e===this._pts.length-1?-1:cA.octant(this.getCoordinate(e),this.getCoordinate(e+1))},Zn.prototype.setData=function(e){this._data=e},Zn.prototype.getData=function(){return this._data},Zn.prototype.toString=function(){return z.toLineString(new st(this._pts))},Zn.prototype.interfaces_=function(){return[uA]},Zn.prototype.getClass=function(){return Zn};var Hn=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new ve,this._intersectionCount=0,this._keepIntersections=!0;var e=arguments[0];this._li=e,this._interiorIntersection=null};Hn.prototype.getInteriorIntersection=function(){return this._interiorIntersection},Hn.prototype.setCheckEndSegmentsOnly=function(e){this._isCheckEndSegmentsOnly=e},Hn.prototype.getIntersectionSegments=function(){return this._intSegments},Hn.prototype.count=function(){return this._intersectionCount},Hn.prototype.getIntersections=function(){return this._intersections},Hn.prototype.setFindAllIntersections=function(e){this._findAllIntersections=e},Hn.prototype.setKeepIntersections=function(e){this._keepIntersections=e},Hn.prototype.processIntersections=function(e,t,A,n){if(!this._findAllIntersections&&this.hasIntersection())return null;if(e===A&&t===n)return null;if(this._isCheckEndSegmentsOnly&&!this.isEndSegment(e,t)&&!this.isEndSegment(A,n))return null;var r=e.getCoordinates()[t],i=e.getCoordinates()[t+1],o=A.getCoordinates()[n],a=A.getCoordinates()[n+1];this._li.computeIntersection(r,i,o,a),this._li.hasIntersection()&&this._li.isInteriorIntersection()&&(this._intSegments=new Array(4).fill(null),this._intSegments[0]=r,this._intSegments[1]=i,this._intSegments[2]=o,this._intSegments[3]=a,this._interiorIntersection=this._li.getIntersection(0),this._keepIntersections&&this._intersections.add(this._interiorIntersection),this._intersectionCount++)},Hn.prototype.isEndSegment=function(e,t){return 0===t||t>=e.size()-2},Hn.prototype.hasIntersection=function(){return null!==this._interiorIntersection},Hn.prototype.isDone=function(){return!this._findAllIntersections&&null!==this._interiorIntersection},Hn.prototype.interfaces_=function(){return[VA]},Hn.prototype.getClass=function(){return Hn},Hn.createAllIntersectionsFinder=function(e){var t=new Hn(e);return t.setFindAllIntersections(!0),t},Hn.createAnyIntersectionFinder=function(e){return new Hn(e)},Hn.createIntersectionCounter=function(e){var t=new Hn(e);return t.setFindAllIntersections(!0),t.setKeepIntersections(!1),t};var Yn=function(){this._li=new re,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var e=arguments[0];this._segStrings=e};Yn.prototype.execute=function(){if(null!==this._segInt)return null;this.checkInteriorIntersections()},Yn.prototype.getIntersections=function(){return this._segInt.getIntersections()},Yn.prototype.isValid=function(){return this.execute(),this._isValid},Yn.prototype.setFindAllIntersections=function(e){this._findAllIntersections=e},Yn.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new Hn(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var e=new QA;if(e.setSegmentIntersector(this._segInt),e.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},Yn.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new Ft(this.getErrorMessage(),this._segInt.getInteriorIntersection())},Yn.prototype.getErrorMessage=function(){if(this._isValid)return"no intersections found";var e=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+z.toLineString(e[0],e[1])+" and "+z.toLineString(e[2],e[3])},Yn.prototype.interfaces_=function(){return[]},Yn.prototype.getClass=function(){return Yn},Yn.computeIntersections=function(e){var t=new Yn(e);return t.setFindAllIntersections(!0),t.isValid(),t.getIntersections()};var Jn=function e(){this._nv=null;var t=arguments[0];this._nv=new Yn(e.toSegmentStrings(t))};Jn.prototype.checkValid=function(){this._nv.checkValid()},Jn.prototype.interfaces_=function(){return[]},Jn.prototype.getClass=function(){return Jn},Jn.toSegmentStrings=function(e){for(var t=new ve,A=e.iterator();A.hasNext();){var n=A.next();t.add(new Zn(n.getCoordinates(),n))}return t},Jn.checkValid=function(e){new Jn(e).checkValid()};var jn=function(e){this._mapOp=e};jn.prototype.map=function(e){for(var t=new ve,A=0;A<e.getNumGeometries();A++){var n=this._mapOp.map(e.getGeometryN(A));n.isEmpty()||t.add(n)}return e.getFactory().createGeometryCollection(dt.toGeometryArray(t))},jn.prototype.interfaces_=function(){return[]},jn.prototype.getClass=function(){return jn},jn.map=function(e,t){return new jn(t).map(e)};var Pn=function(){this._op=null,this._geometryFactory=null,this._ptLocator=null,this._lineEdgesList=new ve,this._resultLineList=new ve;var e=arguments[0],t=arguments[1],A=arguments[2];this._op=e,this._geometryFactory=t,this._ptLocator=A};Pn.prototype.collectLines=function(e){for(var t=this._op.getGraph().getEdgeEnds().iterator();t.hasNext();){var A=t.next();this.collectLineEdge(A,e,this._lineEdgesList),this.collectBoundaryTouchEdge(A,e,this._lineEdgesList)}},Pn.prototype.labelIsolatedLine=function(e,t){var A=this._ptLocator.locate(e.getCoordinate(),this._op.getArgGeometry(t));e.getLabel().setLocation(t,A)},Pn.prototype.build=function(e){return this.findCoveredLineEdges(),this.collectLines(e),this.buildLines(e),this._resultLineList},Pn.prototype.collectLineEdge=function(e,t,A){var n=e.getLabel(),r=e.getEdge();e.isLineEdge()&&(e.isVisited()||!wr.isResultOfOp(n,t)||r.isCovered()||(A.add(r),e.setVisitedEdge(!0)))},Pn.prototype.findCoveredLineEdges=function(){for(var e=this._op.getGraph().getNodes().iterator();e.hasNext();)e.next().getEdges().findCoveredLineEdges();for(var t=this._op.getGraph().getEdgeEnds().iterator();t.hasNext();){var A=t.next(),n=A.getEdge();if(A.isLineEdge()&&!n.isCoveredSet()){var r=this._op.isCoveredByA(A.getCoordinate());n.setCovered(r)}}},Pn.prototype.labelIsolatedLines=function(e){for(var t=e.iterator();t.hasNext();){var A=t.next(),n=A.getLabel();A.isIsolated()&&(n.isNull(0)?this.labelIsolatedLine(A,0):this.labelIsolatedLine(A,1))}},Pn.prototype.buildLines=function(e){for(var t=this._lineEdgesList.iterator();t.hasNext();){var A=t.next(),n=this._geometryFactory.createLineString(A.getCoordinates());this._resultLineList.add(n),A.setInResult(!0)}},Pn.prototype.collectBoundaryTouchEdge=function(e,t,A){var n=e.getLabel();return e.isLineEdge()||e.isVisited()||e.isInteriorAreaEdge()||e.getEdge().isInResult()?null:(te.isTrue(!(e.isInResult()||e.getSym().isInResult())||!e.getEdge().isInResult()),void(wr.isResultOfOp(n,t)&&t===wr.INTERSECTION&&(A.add(e.getEdge()),e.setVisitedEdge(!0))))},Pn.prototype.interfaces_=function(){return[]},Pn.prototype.getClass=function(){return Pn};var Vn=function(){this._op=null,this._geometryFactory=null,this._resultPointList=new ve;var e=arguments[0],t=arguments[1];this._op=e,this._geometryFactory=t};Vn.prototype.filterCoveredNodeToPoint=function(e){var t=e.getCoordinate();if(!this._op.isCoveredByLA(t)){var A=this._geometryFactory.createPoint(t);this._resultPointList.add(A)}},Vn.prototype.extractNonCoveredResultNodes=function(e){for(var t=this._op.getGraph().getNodes().iterator();t.hasNext();){var A=t.next();if(!A.isInResult()&&!A.isIncidentEdgeInResult()&&(0===A.getEdges().getDegree()||e===wr.INTERSECTION)){var n=A.getLabel();wr.isResultOfOp(n,e)&&this.filterCoveredNodeToPoint(A)}}},Vn.prototype.build=function(e){return this.extractNonCoveredResultNodes(e),this._resultPointList},Vn.prototype.interfaces_=function(){return[]},Vn.prototype.getClass=function(){return Vn};var Kn=function(){this._inputGeom=null,this._factory=null,this._pruneEmptyGeometry=!0,this._preserveGeometryCollectionType=!0,this._preserveCollections=!1,this._preserveType=!1};Kn.prototype.transformPoint=function(e,t){return this._factory.createPoint(this.transformCoordinates(e.getCoordinateSequence(),e))},Kn.prototype.transformPolygon=function(e,t){var A=!0,n=this.transformLinearRing(e.getExteriorRing(),e);null!==n&&n instanceof tt&&!n.isEmpty()||(A=!1);for(var r=new ve,i=0;i<e.getNumInteriorRing();i++){var o=this.transformLinearRing(e.getInteriorRingN(i),e);null===o||o.isEmpty()||(o instanceof tt||(A=!1),r.add(o))}if(A)return this._factory.createPolygon(n,r.toArray([]));var a=new ve;return null!==n&&a.add(n),a.addAll(r),this._factory.buildGeometry(a)},Kn.prototype.createCoordinateSequence=function(e){return this._factory.getCoordinateSequenceFactory().create(e)},Kn.prototype.getInputGeometry=function(){return this._inputGeom},Kn.prototype.transformMultiLineString=function(e,t){for(var A=new ve,n=0;n<e.getNumGeometries();n++){var r=this.transformLineString(e.getGeometryN(n),e);null!==r&&(r.isEmpty()||A.add(r))}return this._factory.buildGeometry(A)},Kn.prototype.transformCoordinates=function(e,t){return this.copy(e)},Kn.prototype.transformLineString=function(e,t){return this._factory.createLineString(this.transformCoordinates(e.getCoordinateSequence(),e))},Kn.prototype.transformMultiPoint=function(e,t){for(var A=new ve,n=0;n<e.getNumGeometries();n++){var r=this.transformPoint(e.getGeometryN(n),e);null!==r&&(r.isEmpty()||A.add(r))}return this._factory.buildGeometry(A)},Kn.prototype.transformMultiPolygon=function(e,t){for(var A=new ve,n=0;n<e.getNumGeometries();n++){var r=this.transformPolygon(e.getGeometryN(n),e);null!==r&&(r.isEmpty()||A.add(r))}return this._factory.buildGeometry(A)},Kn.prototype.copy=function(e){return e.copy()},Kn.prototype.transformGeometryCollection=function(e,t){for(var A=new ve,n=0;n<e.getNumGeometries();n++){var r=this.transform(e.getGeometryN(n));null!==r&&(this._pruneEmptyGeometry&&r.isEmpty()||A.add(r))}return this._preserveGeometryCollectionType?this._factory.createGeometryCollection(dt.toGeometryArray(A)):this._factory.buildGeometry(A)},Kn.prototype.transform=function(e){if(this._inputGeom=e,this._factory=e.getFactory(),e instanceof qe)return this.transformPoint(e,null);if(e instanceof et)return this.transformMultiPoint(e,null);if(e instanceof tt)return this.transformLinearRing(e,null);if(e instanceof We)return this.transformLineString(e,null);if(e instanceof Ye)return this.transformMultiLineString(e,null);if(e instanceof $e)return this.transformPolygon(e,null);if(e instanceof At)return this.transformMultiPolygon(e,null);if(e instanceof He)return this.transformGeometryCollection(e,null);throw new B("Unknown Geometry subtype: "+e.getClass().getName())},Kn.prototype.transformLinearRing=function(e,t){var A=this.transformCoordinates(e.getCoordinateSequence(),e);if(null===A)return this._factory.createLinearRing(null);var n=A.size();return n>0&&n<4&&!this._preserveType?this._factory.createLineString(A):this._factory.createLinearRing(A)},Kn.prototype.interfaces_=function(){return[]},Kn.prototype.getClass=function(){return Kn};var Wn=function e(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new CA,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof We&&"number"==typeof arguments[1]){var t=arguments[0],A=arguments[1];e.call(this,t.getCoordinates(),A)}else if(arguments[0]instanceof Array&&"number"==typeof arguments[1]){var n=arguments[0],r=arguments[1];this._srcPts=n,this._isClosed=e.isClosed(n),this._snapTolerance=r}};Wn.prototype.snapVertices=function(e,t){for(var A=this._isClosed?e.size()-1:e.size(),n=0;n<A;n++){var r=e.get(n),i=this.findSnapForVertex(r,t);null!==i&&(e.set(n,new m(i)),0===n&&this._isClosed&&e.set(e.size()-1,new m(i)))}},Wn.prototype.findSnapForVertex=function(e,t){for(var A=0;A<t.length;A++){if(e.equals2D(t[A]))return null;if(e.distance(t[A])<this._snapTolerance)return t[A]}return null},Wn.prototype.snapTo=function(e){var t=new be(this._srcPts);return this.snapVertices(t,e),this.snapSegments(t,e),t.toCoordinateArray()},Wn.prototype.snapSegments=function(e,t){if(0===t.length)return null;var A=t.length;t[0].equals2D(t[t.length-1])&&(A=t.length-1);for(var n=0;n<A;n++){var r=t[n],i=this.findSegmentIndexToSnap(r,e);i>=0&&e.add(i+1,new m(r),!1)}},Wn.prototype.findSegmentIndexToSnap=function(e,t){for(var A=p.MAX_VALUE,n=-1,r=0;r<t.size()-1;r++){if(this._seg.p0=t.get(r),this._seg.p1=t.get(r+1),this._seg.p0.equals2D(e)||this._seg.p1.equals2D(e)){if(this._allowSnappingToSourceVertices)continue;return-1}var i=this._seg.distance(e);i<this._snapTolerance&&i<A&&(A=i,n=r)}return n},Wn.prototype.setAllowSnappingToSourceVertices=function(e){this._allowSnappingToSourceVertices=e},Wn.prototype.interfaces_=function(){return[]},Wn.prototype.getClass=function(){return Wn},Wn.isClosed=function(e){return!(e.length<=1)&&e[0].equals2D(e[e.length-1])};var Xn=function(e){this._srcGeom=e||null},qn={SNAP_PRECISION_FACTOR:{configurable:!0}};Xn.prototype.snapTo=function(e,t){var A=this.extractTargetCoordinates(e);return new zn(t,A).transform(this._srcGeom)},Xn.prototype.snapToSelf=function(e,t){var A=this.extractTargetCoordinates(this._srcGeom),n=new zn(e,A,!0).transform(this._srcGeom),r=n;return t&&D(r,ze)&&(r=n.buffer(0)),r},Xn.prototype.computeSnapTolerance=function(e){return this.computeMinimumSegmentLength(e)/10},Xn.prototype.extractTargetCoordinates=function(e){for(var t=new I,A=e.getCoordinates(),n=0;n<A.length;n++)t.add(A[n]);return t.toArray(new Array(0).fill(null))},Xn.prototype.computeMinimumSegmentLength=function(e){for(var t=p.MAX_VALUE,A=0;A<e.length-1;A++){var n=e[A].distance(e[A+1]);n<t&&(t=n)}return t},Xn.prototype.interfaces_=function(){return[]},Xn.prototype.getClass=function(){return Xn},Xn.snap=function(e,t,A){var n=new Array(2).fill(null),r=new Xn(e);n[0]=r.snapTo(t,A);var i=new Xn(t);return n[1]=i.snapTo(n[0],A),n},Xn.computeOverlaySnapTolerance=function(){if(1===arguments.length){var e=arguments[0],t=Xn.computeSizeBasedSnapTolerance(e),A=e.getPrecisionModel();if(A.getType()===It.FIXED){var n=1/A.getScale()*2/1.415;n>t&&(t=n)}return t}if(2===arguments.length){var r=arguments[0],i=arguments[1];return Math.min(Xn.computeOverlaySnapTolerance(r),Xn.computeOverlaySnapTolerance(i))}},Xn.computeSizeBasedSnapTolerance=function(e){var t=e.getEnvelopeInternal();return Math.min(t.getHeight(),t.getWidth())*Xn.SNAP_PRECISION_FACTOR},Xn.snapToSelf=function(e,t,A){return new Xn(e).snapToSelf(t,A)},qn.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties(Xn,qn);var zn=function(e){function t(t,A,n){e.call(this),this._snapTolerance=t||null,this._snapPts=A||null,this._isSelfSnap=void 0!==n&&n}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.snapLine=function(e,t){var A=new Wn(e,this._snapTolerance);return A.setAllowSnappingToSourceVertices(this._isSelfSnap),A.snapTo(t)},t.prototype.transformCoordinates=function(e,t){var A=e.toCoordinateArray(),n=this.snapLine(A,this._snapPts);return this._factory.getCoordinateSequenceFactory().create(n)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Kn),$n=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};$n.prototype.getCommon=function(){return p.longBitsToDouble(this._commonBits)},$n.prototype.add=function(e){var t=p.doubleToLongBits(e);return this._isFirst?(this._commonBits=t,this._commonSignExp=$n.signExpBits(this._commonBits),this._isFirst=!1,null):$n.signExpBits(t)!==this._commonSignExp?(this._commonBits=0,null):(this._commonMantissaBitsCount=$n.numCommonMostSigMantissaBits(this._commonBits,t),void(this._commonBits=$n.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))))},$n.prototype.toString=function(){if(1===arguments.length){var e=arguments[0],t=p.longBitsToDouble(e),A="0000000000000000000000000000000000000000000000000000000000000000"+p.toBinaryString(e),n=A.substring(A.length-64);return n.substring(0,1)+" "+n.substring(1,12)+"(exp) "+n.substring(12)+" [ "+t+" ]"}},$n.prototype.interfaces_=function(){return[]},$n.prototype.getClass=function(){return $n},$n.getBit=function(e,t){return 0!=(e&1<<t)?1:0},$n.signExpBits=function(e){return e>>52},$n.zeroLowerBits=function(e,t){return e&~((1<<t)-1)},$n.numCommonMostSigMantissaBits=function(e,t){for(var A=0,n=52;n>=0;n--){if($n.getBit(e,n)!==$n.getBit(t,n))return A;A++}return 52};var er=function(){this._commonCoord=null,this._ccFilter=new Ar},tr={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};er.prototype.addCommonBits=function(e){var t=new nr(this._commonCoord);e.apply(t),e.geometryChanged()},er.prototype.removeCommonBits=function(e){if(0===this._commonCoord.x&&0===this._commonCoord.y)return e;var t=new m(this._commonCoord);t.x=-t.x,t.y=-t.y;var A=new nr(t);return e.apply(A),e.geometryChanged(),e},er.prototype.getCommonCoordinate=function(){return this._commonCoord},er.prototype.add=function(e){e.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},er.prototype.interfaces_=function(){return[]},er.prototype.getClass=function(){return er},tr.CommonCoordinateFilter.get=function(){return Ar},tr.Translater.get=function(){return nr},Object.defineProperties(er,tr);var Ar=function(){this._commonBitsX=new $n,this._commonBitsY=new $n};Ar.prototype.filter=function(e){this._commonBitsX.add(e.x),this._commonBitsY.add(e.y)},Ar.prototype.getCommonCoordinate=function(){return new m(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},Ar.prototype.interfaces_=function(){return[Ie]},Ar.prototype.getClass=function(){return Ar};var nr=function(){this.trans=null;var e=arguments[0];this.trans=e};nr.prototype.filter=function(e,t){var A=e.getOrdinate(t,0)+this.trans.x,n=e.getOrdinate(t,1)+this.trans.y;e.setOrdinate(t,0,A),e.setOrdinate(t,1,n)},nr.prototype.isDone=function(){return!1},nr.prototype.isGeometryChanged=function(){return!0},nr.prototype.interfaces_=function(){return[Ze]},nr.prototype.getClass=function(){return nr};var rr=function(e,t){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null,this._geom[0]=e,this._geom[1]=t,this.computeSnapTolerance()};rr.prototype.selfSnap=function(e){return new Xn(e).snapTo(e,this._snapTolerance)},rr.prototype.removeCommonBits=function(e){this._cbr=new er,this._cbr.add(e[0]),this._cbr.add(e[1]);var t=new Array(2).fill(null);return t[0]=this._cbr.removeCommonBits(e[0].copy()),t[1]=this._cbr.removeCommonBits(e[1].copy()),t},rr.prototype.prepareResult=function(e){return this._cbr.addCommonBits(e),e},rr.prototype.getResultGeometry=function(e){var t=this.snap(this._geom),A=wr.overlayOp(t[0],t[1],e);return this.prepareResult(A)},rr.prototype.checkValid=function(e){e.isValid()||J.out.println("Snapped geometry is invalid")},rr.prototype.computeSnapTolerance=function(){this._snapTolerance=Xn.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},rr.prototype.snap=function(e){var t=this.removeCommonBits(e);return Xn.snap(t[0],t[1],this._snapTolerance)},rr.prototype.interfaces_=function(){return[]},rr.prototype.getClass=function(){return rr},rr.overlayOp=function(e,t,A){return new rr(e,t).getResultGeometry(A)},rr.union=function(e,t){return rr.overlayOp(e,t,wr.UNION)},rr.intersection=function(e,t){return rr.overlayOp(e,t,wr.INTERSECTION)},rr.symDifference=function(e,t){return rr.overlayOp(e,t,wr.SYMDIFFERENCE)},rr.difference=function(e,t){return rr.overlayOp(e,t,wr.DIFFERENCE)};var ir=function(e,t){this._geom=new Array(2).fill(null),this._geom[0]=e,this._geom[1]=t};ir.prototype.getResultGeometry=function(e){var t=null,A=!1,n=null;try{t=wr.overlayOp(this._geom[0],this._geom[1],e),A=!0}catch(e){if(!(e instanceof $))throw e;n=e}if(!A)try{t=rr.overlayOp(this._geom[0],this._geom[1],e)}catch(e){throw e instanceof $?n:e}return t},ir.prototype.interfaces_=function(){return[]},ir.prototype.getClass=function(){return ir},ir.overlayOp=function(e,t,A){return new ir(e,t).getResultGeometry(A)},ir.union=function(e,t){return ir.overlayOp(e,t,wr.UNION)},ir.intersection=function(e,t){return ir.overlayOp(e,t,wr.INTERSECTION)},ir.symDifference=function(e,t){return ir.overlayOp(e,t,wr.SYMDIFFERENCE)},ir.difference=function(e,t){return ir.overlayOp(e,t,wr.DIFFERENCE)};var or=function(){this.mce=null,this.chainIndex=null;var e=arguments[0],t=arguments[1];this.mce=e,this.chainIndex=t};or.prototype.computeIntersections=function(e,t){this.mce.computeIntersectsForChain(this.chainIndex,e.mce,e.chainIndex,t)},or.prototype.interfaces_=function(){return[]},or.prototype.getClass=function(){return or};var ar=function e(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,2===arguments.length){var t=arguments[0],A=arguments[1];this._eventType=e.DELETE,this._xValue=t,this._insertEvent=A}else if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2];this._eventType=e.INSERT,this._label=n,this._xValue=r,this._obj=i}},sr={INSERT:{configurable:!0},DELETE:{configurable:!0}};ar.prototype.isDelete=function(){return this._eventType===ar.DELETE},ar.prototype.setDeleteEventIndex=function(e){this._deleteEventIndex=e},ar.prototype.getObject=function(){return this._obj},ar.prototype.compareTo=function(e){var t=e;return this._xValue<t._xValue?-1:this._xValue>t._xValue?1:this._eventType<t._eventType?-1:this._eventType>t._eventType?1:0},ar.prototype.getInsertEvent=function(){return this._insertEvent},ar.prototype.isInsert=function(){return this._eventType===ar.INSERT},ar.prototype.isSameLabel=function(e){return null!==this._label&&this._label===e._label},ar.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},ar.prototype.interfaces_=function(){return[Q]},ar.prototype.getClass=function(){return ar},sr.INSERT.get=function(){return 1},sr.DELETE.get=function(){return 2},Object.defineProperties(ar,sr);var gr=function(){};gr.prototype.interfaces_=function(){return[]},gr.prototype.getClass=function(){return gr};var cr=function(){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 e=arguments[0],t=arguments[1],A=arguments[2];this._li=e,this._includeProper=t,this._recordIsolated=A};cr.prototype.isTrivialIntersection=function(e,t,A,n){if(e===A&&1===this._li.getIntersectionNum()){if(cr.isAdjacentSegments(t,n))return!0;if(e.isClosed()){var r=e.getNumPoints()-1;if(0===t&&n===r||0===n&&t===r)return!0}}return!1},cr.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},cr.prototype.setIsDoneIfProperInt=function(e){this._isDoneWhenProperInt=e},cr.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},cr.prototype.isBoundaryPointInternal=function(e,t){for(var A=t.iterator();A.hasNext();){var n=A.next().getCoordinate();if(e.isIntersection(n))return!0}return!1},cr.prototype.hasProperIntersection=function(){return this._hasProper},cr.prototype.hasIntersection=function(){return this._hasIntersection},cr.prototype.isDone=function(){return this._isDone},cr.prototype.isBoundaryPoint=function(e,t){return null!==t&&(!!this.isBoundaryPointInternal(e,t[0])||!!this.isBoundaryPointInternal(e,t[1]))},cr.prototype.setBoundaryNodes=function(e,t){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=e,this._bdyNodes[1]=t},cr.prototype.addIntersections=function(e,t,A,n){if(e===A&&t===n)return null;this.numTests++;var r=e.getCoordinates()[t],i=e.getCoordinates()[t+1],o=A.getCoordinates()[n],a=A.getCoordinates()[n+1];this._li.computeIntersection(r,i,o,a),this._li.hasIntersection()&&(this._recordIsolated&&(e.setIsolated(!1),A.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(e,t,A,n)||(this._hasIntersection=!0,!this._includeProper&&this._li.isProper()||(e.addIntersections(this._li,t,0),A.addIntersections(this._li,n,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))))},cr.prototype.interfaces_=function(){return[]},cr.prototype.getClass=function(){return cr},cr.isAdjacentSegments=function(e,t){return 1===Math.abs(e-t)};var ur=function(e){function t(){e.call(this),this.events=new ve,this.nOverlaps=null}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.prepareEvents=function(){$t.sort(this.events);for(var e=0;e<this.events.size();e++){var t=this.events.get(e);t.isDelete()&&t.getInsertEvent().setDeleteEventIndex(e)}},t.prototype.computeIntersections=function(){if(1===arguments.length){var e=arguments[0];this.nOverlaps=0,this.prepareEvents();for(var t=0;t<this.events.size();t++){var A=this.events.get(t);if(A.isInsert()&&this.processOverlaps(t,A.getDeleteEventIndex(),A,e),e.isDone())break}}else if(3===arguments.length)if(arguments[2]instanceof cr&&D(arguments[0],ye)&&D(arguments[1],ye)){var n=arguments[0],r=arguments[1],i=arguments[2];this.addEdges(n,n),this.addEdges(r,r),this.computeIntersections(i)}else if("boolean"==typeof arguments[2]&&D(arguments[0],ye)&&arguments[1]instanceof cr){var o=arguments[0],a=arguments[1];arguments[2]?this.addEdges(o,null):this.addEdges(o),this.computeIntersections(a)}},t.prototype.addEdge=function(e,t){for(var A=e.getMonotoneChainEdge(),n=A.getStartIndexes(),r=0;r<n.length-1;r++){var i=new or(A,r),o=new ar(t,A.getMinX(r),i);this.events.add(o),this.events.add(new ar(A.getMaxX(r),o))}},t.prototype.processOverlaps=function(e,t,A,n){for(var r=A.getObject(),i=e;i<t;i++){var o=this.events.get(i);if(o.isInsert()){var a=o.getObject();A.isSameLabel(o)||(r.computeIntersections(a,n),this.nOverlaps++)}}},t.prototype.addEdges=function(){if(1===arguments.length)for(var e=arguments[0].iterator();e.hasNext();){var t=e.next();this.addEdge(t,t)}else if(2===arguments.length)for(var A=arguments[0],n=arguments[1],r=A.iterator();r.hasNext();){var i=r.next();this.addEdge(i,n)}},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(gr),lr=function(){this._min=p.POSITIVE_INFINITY,this._max=p.NEGATIVE_INFINITY},Ir={NodeComparator:{configurable:!0}};lr.prototype.getMin=function(){return this._min},lr.prototype.intersects=function(e,t){return!(this._min>t||this._max<e)},lr.prototype.getMax=function(){return this._max},lr.prototype.toString=function(){return z.toLineString(new m(this._min,0),new m(this._max,0))},lr.prototype.interfaces_=function(){return[]},lr.prototype.getClass=function(){return lr},Ir.NodeComparator.get=function(){return Cr},Object.defineProperties(lr,Ir);var Cr=function(){};Cr.prototype.compare=function(e,t){var A=e,n=t,r=(A._min+A._max)/2,i=(n._min+n._max)/2;return r<i?-1:r>i?1:0},Cr.prototype.interfaces_=function(){return[v]},Cr.prototype.getClass=function(){return Cr};var hr=function(e){function t(){e.call(this),this._item=null;var t=arguments[0],A=arguments[1],n=arguments[2];this._min=t,this._max=A,this._item=n}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.query=function(e,t,A){if(!this.intersects(e,t))return null;A.visitItem(this._item)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(lr),fr=function(e){function t(){e.call(this),this._node1=null,this._node2=null;var t=arguments[0],A=arguments[1];this._node1=t,this._node2=A,this.buildExtent(this._node1,this._node2)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.buildExtent=function(e,t){this._min=Math.min(e._min,t._min),this._max=Math.max(e._max,t._max)},t.prototype.query=function(e,t,A){if(!this.intersects(e,t))return null;null!==this._node1&&this._node1.query(e,t,A),null!==this._node2&&this._node2.query(e,t,A)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(lr),dr=function(){this._leaves=new ve,this._root=null,this._level=0};dr.prototype.buildTree=function(){$t.sort(this._leaves,new lr.NodeComparator);for(var e=this._leaves,t=null,A=new ve;;){if(this.buildLevel(e,A),1===A.size())return A.get(0);t=e,e=A,A=t}},dr.prototype.insert=function(e,t,A){if(null!==this._root)throw new Error("Index cannot be added to once it has been queried");this._leaves.add(new hr(e,t,A))},dr.prototype.query=function(e,t,A){this.init(),this._root.query(e,t,A)},dr.prototype.buildRoot=function(){if(null!==this._root)return null;this._root=this.buildTree()},dr.prototype.printNode=function(e){J.out.println(z.toLineString(new m(e._min,this._level),new m(e._max,this._level)))},dr.prototype.init=function(){if(null!==this._root)return null;this.buildRoot()},dr.prototype.buildLevel=function(e,t){this._level++,t.clear();for(var A=0;A<e.size();A+=2){var n=e.get(A);if(null===(A+1<e.size()?e.get(A):null))t.add(n);else{var r=new fr(e.get(A),e.get(A+1));t.add(r)}}},dr.prototype.interfaces_=function(){return[]},dr.prototype.getClass=function(){return dr};var Br=function(){this._items=new ve};Br.prototype.visitItem=function(e){this._items.add(e)},Br.prototype.getItems=function(){return this._items},Br.prototype.interfaces_=function(){return[Wt]},Br.prototype.getClass=function(){return Br};var pr=function(){this._index=null;var e=arguments[0];if(!D(e,ze))throw new B("Argument must be Polygonal");this._index=new yr(e)},Er={SegmentVisitor:{configurable:!0},IntervalIndexedGeometry:{configurable:!0}};pr.prototype.locate=function(e){var t=new oe(e),A=new Qr(t);return this._index.query(e.y,e.y,A),t.getLocation()},pr.prototype.interfaces_=function(){return[LA]},pr.prototype.getClass=function(){return pr},Er.SegmentVisitor.get=function(){return Qr},Er.IntervalIndexedGeometry.get=function(){return yr},Object.defineProperties(pr,Er);var Qr=function(){this._counter=null;var e=arguments[0];this._counter=e};Qr.prototype.visitItem=function(e){var t=e;this._counter.countSegment(t.getCoordinate(0),t.getCoordinate(1))},Qr.prototype.interfaces_=function(){return[Wt]},Qr.prototype.getClass=function(){return Qr};var yr=function(){this._index=new dr;var e=arguments[0];this.init(e)};yr.prototype.init=function(e){for(var t=mn.getLines(e).iterator();t.hasNext();){var A=t.next().getCoordinates();this.addLine(A)}},yr.prototype.addLine=function(e){for(var t=1;t<e.length;t++){var A=new CA(e[t-1],e[t]),n=Math.min(A.p0.y,A.p1.y),r=Math.max(A.p0.y,A.p1.y);this._index.insert(n,r,A)}},yr.prototype.query=function(){if(2===arguments.length){var e=arguments[0],t=arguments[1],A=new Br;return this._index.query(e,t,A),A.getItems()}if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2];this._index.query(n,r,i)}},yr.prototype.interfaces_=function(){return[]},yr.prototype.getClass=function(){return yr};var vr=function(e){function t(){if(e.call(this),this._parentGeom=null,this._lineEdgeMap=new lt,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new bn,2===arguments.length){var t=arguments[0],A=arguments[1],n=Ce.OGC_SFS_BOUNDARY_RULE;this._argIndex=t,this._parentGeom=A,this._boundaryNodeRule=n,null!==A&&this.add(A)}else if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2];this._argIndex=r,this._parentGeom=i,this._boundaryNodeRule=o,null!==i&&this.add(i)}}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.insertBoundaryPoint=function(e,A){var n=this._nodes.addNode(A).getLabel(),r=1;n.getLocation(e,bt.ON)===F.BOUNDARY&&r++;var i=t.determineBoundary(this._boundaryNodeRule,r);n.setLocation(e,i)},t.prototype.computeSelfNodes=function(){if(2===arguments.length){var e=arguments[0],t=arguments[1];return this.computeSelfNodes(e,t,!1)}if(3===arguments.length){var A=arguments[0],n=arguments[1],r=arguments[2],i=new cr(A,!0,!1);i.setIsDoneIfProperInt(r);var o=this.createEdgeSetIntersector(),a=this._parentGeom instanceof tt||this._parentGeom instanceof $e||this._parentGeom instanceof At,s=n||!a;return o.computeIntersections(this._edges,i,s),this.addSelfIntersectionNodes(this._argIndex),i}},t.prototype.computeSplitEdges=function(e){for(var t=this._edges.iterator();t.hasNext();)t.next().eiList.addSplitEdges(e)},t.prototype.computeEdgeIntersections=function(e,t,A){var n=new cr(t,A,!0);return n.setBoundaryNodes(this.getBoundaryNodes(),e.getBoundaryNodes()),this.createEdgeSetIntersector().computeIntersections(this._edges,e._edges,n),n},t.prototype.getGeometry=function(){return this._parentGeom},t.prototype.getBoundaryNodeRule=function(){return this._boundaryNodeRule},t.prototype.hasTooFewPoints=function(){return this._hasTooFewPoints},t.prototype.addPoint=function(){if(arguments[0]instanceof qe){var e=arguments[0].getCoordinate();this.insertPoint(this._argIndex,e,F.INTERIOR)}else if(arguments[0]instanceof m){var t=arguments[0];this.insertPoint(this._argIndex,t,F.INTERIOR)}},t.prototype.addPolygon=function(e){this.addPolygonRing(e.getExteriorRing(),F.EXTERIOR,F.INTERIOR);for(var t=0;t<e.getNumInteriorRing();t++){var A=e.getInteriorRingN(t);this.addPolygonRing(A,F.INTERIOR,F.EXTERIOR)}},t.prototype.addEdge=function(e){this.insertEdge(e);var t=e.getCoordinates();this.insertPoint(this._argIndex,t[0],F.BOUNDARY),this.insertPoint(this._argIndex,t[t.length-1],F.BOUNDARY)},t.prototype.addLineString=function(e){var t=we.removeRepeatedPoints(e.getCoordinates());if(t.length<2)return this._hasTooFewPoints=!0,this._invalidPoint=t[0],null;var A=new tn(t,new kt(this._argIndex,F.INTERIOR));this._lineEdgeMap.put(e,A),this.insertEdge(A),te.isTrue(t.length>=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,t[0]),this.insertBoundaryPoint(this._argIndex,t[t.length-1])},t.prototype.getInvalidPoint=function(){return this._invalidPoint},t.prototype.getBoundaryPoints=function(){for(var e=this.getBoundaryNodes(),t=new Array(e.size()).fill(null),A=0,n=e.iterator();n.hasNext();){var r=n.next();t[A++]=r.getCoordinate().copy()}return t},t.prototype.getBoundaryNodes=function(){return null===this._boundaryNodes&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes},t.prototype.addSelfIntersectionNode=function(e,t,A){if(this.isBoundaryNode(e,t))return null;A===F.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(e,t):this.insertPoint(e,t,A)},t.prototype.addPolygonRing=function(e,t,A){if(e.isEmpty())return null;var n=we.removeRepeatedPoints(e.getCoordinates());if(n.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=n[0],null;var r=t,i=A;ae.isCCW(n)&&(r=A,i=t);var o=new tn(n,new kt(this._argIndex,F.BOUNDARY,r,i));this._lineEdgeMap.put(e,o),this.insertEdge(o),this.insertPoint(this._argIndex,n[0],F.BOUNDARY)},t.prototype.insertPoint=function(e,t,A){var n=this._nodes.addNode(t),r=n.getLabel();null===r?n._label=new kt(e,A):r.setLocation(e,A)},t.prototype.createEdgeSetIntersector=function(){return new ur},t.prototype.addSelfIntersectionNodes=function(e){for(var t=this._edges.iterator();t.hasNext();)for(var A=t.next(),n=A.getLabel().getLocation(e),r=A.eiList.iterator();r.hasNext();){var i=r.next();this.addSelfIntersectionNode(e,i.coord,n)}},t.prototype.add=function(){if(1!==arguments.length)return e.prototype.add.apply(this,arguments);var t=arguments[0];if(t.isEmpty())return null;if(t instanceof At&&(this._useBoundaryDeterminationRule=!1),t instanceof $e)this.addPolygon(t);else if(t instanceof We)this.addLineString(t);else if(t instanceof qe)this.addPoint(t);else if(t instanceof et)this.addCollection(t);else if(t instanceof Ye)this.addCollection(t);else if(t instanceof At)this.addCollection(t);else{if(!(t instanceof He))throw new Error(t.getClass().getName());this.addCollection(t)}},t.prototype.addCollection=function(e){for(var t=0;t<e.getNumGeometries();t++){var A=e.getGeometryN(t);this.add(A)}},t.prototype.locate=function(e){return D(this._parentGeom,ze)&&this._parentGeom.getNumGeometries()>50?(null===this._areaPtLocator&&(this._areaPtLocator=new pr(this._parentGeom)),this._areaPtLocator.locate(e)):this._ptLocator.locate(e,this._parentGeom)},t.prototype.findEdge=function(){if(1===arguments.length){var t=arguments[0];return this._lineEdgeMap.get(t)}return e.prototype.findEdge.apply(this,arguments)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t.determineBoundary=function(e,t){return e.isInBoundary(t)?F.BOUNDARY:F.INTERIOR},t}(Jt),mr=function(){if(this._li=new re,this._resultPrecisionModel=null,this._arg=null,1===arguments.length){var e=arguments[0];this.setComputationPrecision(e.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new vr(0,e)}else if(2===arguments.length){var t=arguments[0],A=arguments[1],n=Ce.OGC_SFS_BOUNDARY_RULE;t.getPrecisionModel().compareTo(A.getPrecisionModel())>=0?this.setComputationPrecision(t.getPrecisionModel()):this.setComputationPrecision(A.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new vr(0,t,n),this._arg[1]=new vr(1,A,n)}else if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2];r.getPrecisionModel().compareTo(i.getPrecisionModel())>=0?this.setComputationPrecision(r.getPrecisionModel()):this.setComputationPrecision(i.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new vr(0,r,o),this._arg[1]=new vr(1,i,o)}};mr.prototype.getArgGeometry=function(e){return this._arg[e].getGeometry()},mr.prototype.setComputationPrecision=function(e){this._resultPrecisionModel=e,this._li.setPrecisionModel(this._resultPrecisionModel)},mr.prototype.interfaces_=function(){return[]},mr.prototype.getClass=function(){return mr};var br=function(){};br.prototype.interfaces_=function(){return[]},br.prototype.getClass=function(){return br},br.map=function(){if(arguments[0]instanceof ce&&D(arguments[1],br.MapOp)){for(var e=arguments[0],t=arguments[1],A=new ve,n=0;n<e.getNumGeometries();n++){var r=t.map(e.getGeometryN(n));null!==r&&A.add(r)}return e.getFactory().buildGeometry(A)}if(D(arguments[0],Ee)&&D(arguments[1],br.MapOp)){for(var i=arguments[0],o=arguments[1],a=new ve,s=i.iterator();s.hasNext();){var g=s.next(),c=o.map(g);null!==c&&a.add(c)}return a}},br.MapOp=function(){};var wr=function(e){function t(){var t=arguments[0],A=arguments[1];e.call(this,t,A),this._ptLocator=new bn,this._geomFact=null,this._resultGeom=null,this._graph=null,this._edgeList=new PA,this._resultPolyList=new ve,this._resultLineList=new ve,this._resultPointList=new ve,this._graph=new Jt(new JA),this._geomFact=t.getFactory()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.insertUniqueEdge=function(e){var t=this._edgeList.findEqualEdge(e);if(null!==t){var A=t.getLabel(),n=e.getLabel();t.isPointwiseEqual(e)||(n=new kt(e.getLabel())).flip();var r=t.getDepth();r.isNull()&&r.add(A),r.add(n),A.merge(n)}else this._edgeList.add(e)},t.prototype.getGraph=function(){return this._graph},t.prototype.cancelDuplicateResultEdges=function(){for(var e=this._graph.getEdgeEnds().iterator();e.hasNext();){var t=e.next(),A=t.getSym();t.isInResult()&&A.isInResult()&&(t.setInResult(!1),A.setInResult(!1))}},t.prototype.isCoveredByLA=function(e){return!!this.isCovered(e,this._resultLineList)||!!this.isCovered(e,this._resultPolyList)},t.prototype.computeGeometry=function(e,A,n,r){var i=new ve;return i.addAll(e),i.addAll(A),i.addAll(n),i.isEmpty()?t.createEmptyResult(r,this._arg[0].getGeometry(),this._arg[1].getGeometry(),this._geomFact):this._geomFact.buildGeometry(i)},t.prototype.mergeSymLabels=function(){for(var e=this._graph.getNodes().iterator();e.hasNext();)e.next().getEdges().mergeSymLabels()},t.prototype.isCovered=function(e,t){for(var A=t.iterator();A.hasNext();){var n=A.next();if(this._ptLocator.locate(e,n)!==F.EXTERIOR)return!0}return!1},t.prototype.replaceCollapsedEdges=function(){for(var e=new ve,t=this._edgeList.iterator();t.hasNext();){var A=t.next();A.isCollapsed()&&(t.remove(),e.add(A.getCollapsedEdge()))}this._edgeList.addAll(e)},t.prototype.updateNodeLabelling=function(){for(var e=this._graph.getNodes().iterator();e.hasNext();){var t=e.next(),A=t.getEdges().getLabel();t.getLabel().merge(A)}},t.prototype.getResultGeometry=function(e){return this.computeOverlay(e),this._resultGeom},t.prototype.insertUniqueEdges=function(e){for(var t=e.iterator();t.hasNext();){var A=t.next();this.insertUniqueEdge(A)}},t.prototype.computeOverlay=function(e){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);var t=new ve;this._arg[0].computeSplitEdges(t),this._arg[1].computeSplitEdges(t),this.insertUniqueEdges(t),this.computeLabelsFromDepths(),this.replaceCollapsedEdges(),Jn.checkValid(this._edgeList.getEdges()),this._graph.addEdges(this._edgeList.getEdges()),this.computeLabelling(),this.labelIncompleteNodes(),this.findResultAreaEdges(e),this.cancelDuplicateResultEdges();var A=new jt(this._geomFact);A.add(this._graph),this._resultPolyList=A.getPolygons();var n=new Pn(this,this._geomFact,this._ptLocator);this._resultLineList=n.build(e);var r=new Vn(this,this._geomFact,this._ptLocator);this._resultPointList=r.build(e),this._resultGeom=this.computeGeometry(this._resultPointList,this._resultLineList,this._resultPolyList,e)},t.prototype.labelIncompleteNode=function(e,t){var A=this._ptLocator.locate(e.getCoordinate(),this._arg[t].getGeometry());e.getLabel().setLocation(t,A)},t.prototype.copyPoints=function(e){for(var t=this._arg[e].getNodeIterator();t.hasNext();){var A=t.next();this._graph.addNode(A.getCoordinate()).setLabel(e,A.getLabel().getLocation(e))}},t.prototype.findResultAreaEdges=function(e){for(var A=this._graph.getEdgeEnds().iterator();A.hasNext();){var n=A.next(),r=n.getLabel();r.isArea()&&!n.isInteriorAreaEdge()&&t.isResultOfOp(r.getLocation(0,bt.RIGHT),r.getLocation(1,bt.RIGHT),e)&&n.setInResult(!0)}},t.prototype.computeLabelsFromDepths=function(){for(var e=this._edgeList.iterator();e.hasNext();){var t=e.next(),A=t.getLabel(),n=t.getDepth();if(!n.isNull()){n.normalize();for(var r=0;r<2;r++)A.isNull(r)||!A.isArea()||n.isNull(r)||(0===n.getDelta(r)?A.toLine(r):(te.isTrue(!n.isNull(r,bt.LEFT),"depth of LEFT side has not been initialized"),A.setLocation(r,bt.LEFT,n.getLocation(r,bt.LEFT)),te.isTrue(!n.isNull(r,bt.RIGHT),"depth of RIGHT side has not been initialized"),A.setLocation(r,bt.RIGHT,n.getLocation(r,bt.RIGHT))))}}},t.prototype.computeLabelling=function(){for(var e=this._graph.getNodes().iterator();e.hasNext();)e.next().getEdges().computeLabelling(this._arg);this.mergeSymLabels(),this.updateNodeLabelling()},t.prototype.labelIncompleteNodes=function(){for(var e=this._graph.getNodes().iterator();e.hasNext();){var t=e.next(),A=t.getLabel();t.isIsolated()&&(A.isNull(0)?this.labelIncompleteNode(t,0):this.labelIncompleteNode(t,1)),t.getEdges().updateLabelling(A)}},t.prototype.isCoveredByA=function(e){return!!this.isCovered(e,this._resultPolyList)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(mr);wr.overlayOp=function(e,t,A){return new wr(e,t).getResultGeometry(A)},wr.intersection=function(e,t){if(e.isEmpty()||t.isEmpty())return wr.createEmptyResult(wr.INTERSECTION,e,t,e.getFactory());if(e.isGeometryCollection()){var A=t;return jn.map(e,{interfaces_:function(){return[br.MapOp]},map:function(e){return e.intersection(A)}})}return e.checkNotGeometryCollection(e),e.checkNotGeometryCollection(t),ir.overlayOp(e,t,wr.INTERSECTION)},wr.symDifference=function(e,t){if(e.isEmpty()||t.isEmpty()){if(e.isEmpty()&&t.isEmpty())return wr.createEmptyResult(wr.SYMDIFFERENCE,e,t,e.getFactory());if(e.isEmpty())return t.copy();if(t.isEmpty())return e.copy()}return e.checkNotGeometryCollection(e),e.checkNotGeometryCollection(t),ir.overlayOp(e,t,wr.SYMDIFFERENCE)},wr.resultDimension=function(e,t,A){var n=t.getDimension(),r=A.getDimension(),i=-1;switch(e){case wr.INTERSECTION:i=Math.min(n,r);break;case wr.UNION:i=Math.max(n,r);break;case wr.DIFFERENCE:i=n;break;case wr.SYMDIFFERENCE:i=Math.max(n,r)}return i},wr.createEmptyResult=function(e,t,A,n){var r=null;switch(wr.resultDimension(e,t,A)){case-1:r=n.createGeometryCollection(new Array(0).fill(null));break;case 0:r=n.createPoint();break;case 1:r=n.createLineString();break;case 2:r=n.createPolygon()}return r},wr.difference=function(e,t){return e.isEmpty()?wr.createEmptyResult(wr.DIFFERENCE,e,t,e.getFactory()):t.isEmpty()?e.copy():(e.checkNotGeometryCollection(e),e.checkNotGeometryCollection(t),ir.overlayOp(e,t,wr.DIFFERENCE))},wr.isResultOfOp=function(){if(2===arguments.length){var e=arguments[0],t=arguments[1],A=e.getLocation(0),n=e.getLocation(1);return wr.isResultOfOp(A,n,t)}if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2];switch(r===F.BOUNDARY&&(r=F.INTERIOR),i===F.BOUNDARY&&(i=F.INTERIOR),o){case wr.INTERSECTION:return r===F.INTERIOR&&i===F.INTERIOR;case wr.UNION:return r===F.INTERIOR||i===F.INTERIOR;case wr.DIFFERENCE:return r===F.INTERIOR&&i!==F.INTERIOR;case wr.SYMDIFFERENCE:return r===F.INTERIOR&&i!==F.INTERIOR||r!==F.INTERIOR&&i===F.INTERIOR}return!1}},wr.INTERSECTION=1,wr.UNION=2,wr.DIFFERENCE=3,wr.SYMDIFFERENCE=4;var Sr=function(){this._g=null,this._boundaryDistanceTolerance=null,this._linework=null,this._ptLocator=new bn,this._seg=new CA;var e=arguments[0],t=arguments[1];this._g=e,this._boundaryDistanceTolerance=t,this._linework=this.extractLinework(e)};Sr.prototype.isWithinToleranceOfBoundary=function(e){for(var t=0;t<this._linework.getNumGeometries();t++)for(var A=this._linework.getGeometryN(t).getCoordinateSequence(),n=0;n<A.size()-1;n++)if(A.getCoordinate(n,this._seg.p0),A.getCoordinate(n+1,this._seg.p1),this._seg.distance(e)<=this._boundaryDistanceTolerance)return!0;return!1},Sr.prototype.getLocation=function(e){return this.isWithinToleranceOfBoundary(e)?F.BOUNDARY:this._ptLocator.locate(e,this._g)},Sr.prototype.extractLinework=function(e){var t=new Fr;e.apply(t);var A=t.getLinework(),n=dt.toLineStringArray(A);return e.getFactory().createMultiLineString(n)},Sr.prototype.interfaces_=function(){return[]},Sr.prototype.getClass=function(){return Sr};var Fr=function(){this._linework=null,this._linework=new ve};Fr.prototype.getLinework=function(){return this._linework},Fr.prototype.filter=function(e){if(e instanceof $e){var t=e;this._linework.add(t.getExteriorRing());for(var A=0;A<t.getNumInteriorRing();A++)this._linework.add(t.getInteriorRingN(A))}},Fr.prototype.interfaces_=function(){return[Te]},Fr.prototype.getClass=function(){return Fr};var Rr=function(){this._g=null,this._doLeft=!0,this._doRight=!0;var e=arguments[0];this._g=e};Rr.prototype.extractPoints=function(e,t,A){for(var n=e.getCoordinates(),r=0;r<n.length-1;r++)this.computeOffsetPoints(n[r],n[r+1],t,A)},Rr.prototype.setSidesToGenerate=function(e,t){this._doLeft=e,this._doRight=t},Rr.prototype.getPoints=function(e){for(var t=new ve,A=mn.getLines(this._g).iterator();A.hasNext();){var n=A.next();this.extractPoints(n,e,t)}return t},Rr.prototype.computeOffsetPoints=function(e,t,A,n){var r=t.x-e.x,i=t.y-e.y,o=Math.sqrt(r*r+i*i),a=A*r/o,s=A*i/o,g=(t.x+e.x)/2,c=(t.y+e.y)/2;if(this._doLeft){var u=new m(g-s,c+a);n.add(u)}if(this._doRight){var l=new m(g+s,c-a);n.add(l)}},Rr.prototype.interfaces_=function(){return[]},Rr.prototype.getClass=function(){return Rr};var Dr=function e(){this._geom=null,this._locFinder=null,this._location=new Array(3).fill(null),this._invalidLocation=null,this._boundaryDistanceTolerance=e.TOLERANCE,this._testCoords=new ve;var t=arguments[0],A=arguments[1],n=arguments[2];this._boundaryDistanceTolerance=e.computeBoundaryDistanceTolerance(t,A),this._geom=[t,A,n],this._locFinder=[new Sr(this._geom[0],this._boundaryDistanceTolerance),new Sr(this._geom[1],this._boundaryDistanceTolerance),new Sr(this._geom[2],this._boundaryDistanceTolerance)]},Gr={TOLERANCE:{configurable:!0}};Dr.prototype.reportResult=function(e,t,A){J.out.println("Overlay result invalid - A:"+F.toLocationSymbol(t[0])+" B:"+F.toLocationSymbol(t[1])+" expected:"+(A?"i":"e")+" actual:"+F.toLocationSymbol(t[2]))},Dr.prototype.isValid=function(e){return this.addTestPts(this._geom[0]),this.addTestPts(this._geom[1]),this.checkValid(e)},Dr.prototype.checkValid=function(){if(1===arguments.length){for(var e=arguments[0],t=0;t<this._testCoords.size();t++){var A=this._testCoords.get(t);if(!this.checkValid(e,A))return this._invalidLocation=A,!1}return!0}if(2===arguments.length){var n=arguments[0],r=arguments[1];return this._location[0]=this._locFinder[0].getLocation(r),this._location[1]=this._locFinder[1].getLocation(r),this._location[2]=this._locFinder[2].getLocation(r),!!Dr.hasLocation(this._location,F.BOUNDARY)||this.isValidResult(n,this._location)}},Dr.prototype.addTestPts=function(e){var t=new Rr(e);this._testCoords.addAll(t.getPoints(5*this._boundaryDistanceTolerance))},Dr.prototype.isValidResult=function(e,t){var A=wr.isResultOfOp(t[0],t[1],e),n=!(A^t[2]===F.INTERIOR);return n||this.reportResult(e,t,A),n},Dr.prototype.getInvalidLocation=function(){return this._invalidLocation},Dr.prototype.interfaces_=function(){return[]},Dr.prototype.getClass=function(){return Dr},Dr.hasLocation=function(e,t){for(var A=0;A<3;A++)if(e[A]===t)return!0;return!1},Dr.computeBoundaryDistanceTolerance=function(e,t){return Math.min(Xn.computeSizeBasedSnapTolerance(e),Xn.computeSizeBasedSnapTolerance(t))},Dr.isValid=function(e,t,A,n){return new Dr(e,t,n).isValid(A)},Gr.TOLERANCE.get=function(){return 1e-6},Object.defineProperties(Dr,Gr);var kr=function e(t){this._geomFactory=null,this._skipEmpty=!1,this._inputGeoms=null,this._geomFactory=e.extractFactory(t),this._inputGeoms=t};kr.prototype.extractElements=function(e,t){if(null===e)return null;for(var A=0;A<e.getNumGeometries();A++){var n=e.getGeometryN(A);this._skipEmpty&&n.isEmpty()||t.add(n)}},kr.prototype.combine=function(){for(var e=new ve,t=this._inputGeoms.iterator();t.hasNext();){var A=t.next();this.extractElements(A,e)}return 0===e.size()?null!==this._geomFactory?this._geomFactory.createGeometryCollection(null):null:this._geomFactory.buildGeometry(e)},kr.prototype.interfaces_=function(){return[]},kr.prototype.getClass=function(){return kr},kr.combine=function(){if(1===arguments.length){var e=arguments[0];return new kr(e).combine()}if(2===arguments.length){var t=arguments[0],A=arguments[1];return new kr(kr.createList(t,A)).combine()}if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2];return new kr(kr.createList(n,r,i)).combine()}},kr.extractFactory=function(e){return e.isEmpty()?null:e.iterator().next().getFactory()},kr.createList=function(){if(2===arguments.length){var e=arguments[0],t=arguments[1],A=new ve;return A.add(e),A.add(t),A}if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2],o=new ve;return o.add(n),o.add(r),o.add(i),o}};var xr=function(){this._inputPolys=null,this._geomFactory=null;var e=arguments[0];this._inputPolys=e,null===this._inputPolys&&(this._inputPolys=new ve)},Nr={STRTREE_NODE_CAPACITY:{configurable:!0}};xr.prototype.reduceToGeometries=function(e){for(var t=new ve,A=e.iterator();A.hasNext();){var n=A.next(),r=null;D(n,ye)?r=this.unionTree(n):n instanceof ce&&(r=n),t.add(r)}return t},xr.prototype.extractByEnvelope=function(e,t,A){for(var n=new ve,r=0;r<t.getNumGeometries();r++){var i=t.getGeometryN(r);i.getEnvelopeInternal().intersects(e)?n.add(i):A.add(i)}return this._geomFactory.buildGeometry(n)},xr.prototype.unionOptimized=function(e,t){var A=e.getEnvelopeInternal(),n=t.getEnvelopeInternal();if(!A.intersects(n))return kr.combine(e,t);if(e.getNumGeometries()<=1&&t.getNumGeometries()<=1)return this.unionActual(e,t);var r=A.intersection(n);return this.unionUsingEnvelopeIntersection(e,t,r)},xr.prototype.union=function(){if(null===this._inputPolys)throw new Error("union() method cannot be called twice");if(this._inputPolys.isEmpty())return null;this._geomFactory=this._inputPolys.iterator().next().getFactory();for(var e=new iA(xr.STRTREE_NODE_CAPACITY),t=this._inputPolys.iterator();t.hasNext();){var A=t.next();e.insert(A.getEnvelopeInternal(),A)}this._inputPolys=null;var n=e.itemsTree();return this.unionTree(n)},xr.prototype.binaryUnion=function(){if(1===arguments.length){var e=arguments[0];return this.binaryUnion(e,0,e.size())}if(3===arguments.length){var t=arguments[0],A=arguments[1],n=arguments[2];if(n-A<=1){var r=xr.getGeometry(t,A);return this.unionSafe(r,null)}if(n-A==2)return this.unionSafe(xr.getGeometry(t,A),xr.getGeometry(t,A+1));var i=Math.trunc((n+A)/2),o=this.binaryUnion(t,A,i),a=this.binaryUnion(t,i,n);return this.unionSafe(o,a)}},xr.prototype.repeatedUnion=function(e){for(var t=null,A=e.iterator();A.hasNext();){var n=A.next();t=null===t?n.copy():t.union(n)}return t},xr.prototype.unionSafe=function(e,t){return null===e&&null===t?null:null===e?t.copy():null===t?e.copy():this.unionOptimized(e,t)},xr.prototype.unionActual=function(e,t){return xr.restrictToPolygons(e.union(t))},xr.prototype.unionTree=function(e){var t=this.reduceToGeometries(e);return this.binaryUnion(t)},xr.prototype.unionUsingEnvelopeIntersection=function(e,t,A){var n=new ve,r=this.extractByEnvelope(A,e,n),i=this.extractByEnvelope(A,t,n),o=this.unionActual(r,i);return n.add(o),kr.combine(n)},xr.prototype.bufferUnion=function(){if(1===arguments.length){var e=arguments[0];return e.get(0).getFactory().buildGeometry(e).buffer(0)}if(2===arguments.length){var t=arguments[0],A=arguments[1];return t.getFactory().createGeometryCollection([t,A]).buffer(0)}},xr.prototype.interfaces_=function(){return[]},xr.prototype.getClass=function(){return xr},xr.restrictToPolygons=function(e){if(D(e,ze))return e;var t=vn.getPolygons(e);return 1===t.size()?t.get(0):e.getFactory().createMultiPolygon(dt.toPolygonArray(t))},xr.getGeometry=function(e,t){return t>=e.size()?null:e.get(t)},xr.union=function(e){return new xr(e).union()},Nr.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(xr,Nr);var Ur=function(){};Ur.prototype.interfaces_=function(){return[]},Ur.prototype.getClass=function(){return Ur},Ur.union=function(e,t){if(e.isEmpty()||t.isEmpty()){if(e.isEmpty()&&t.isEmpty())return wr.createEmptyResult(wr.UNION,e,t,e.getFactory());if(e.isEmpty())return t.copy();if(t.isEmpty())return e.copy()}return e.checkNotGeometryCollection(e),e.checkNotGeometryCollection(t),ir.overlayOp(e,t,wr.UNION)},e.GeoJSONReader=vt,e.GeoJSONWriter=mt,e.OverlayOp=wr,e.UnionOp=Ur,e.BufferOp=hn,Object.defineProperty(e,"__esModule",{value:!0})}(t)},function(e,t,A){"use strict";var n=/("(?:[^\\"]|\\.)*")|[:,]/g;e.exports=function(e,t){var A,r,i;return t=t||{},A=JSON.stringify([1],void 0,void 0===t.indent?2:t.indent).slice(2,-3),r=""===A?1/0:void 0===t.maxLength?80:t.maxLength,i=t.replacer,function e(t,o,a){var s,g,c,u,l,I,C,h,f,d,B,p;if(t&&"function"===typeof t.toJSON&&(t=t.toJSON()),void 0===(B=JSON.stringify(t,i)))return B;if(C=r-o.length-a,B.length<=C&&(f=B.replace(n,(function(e,t){return t||e+" "}))).length<=C)return f;if(null!=i&&(t=JSON.parse(B),i=void 0),"object"===typeof t&&null!==t){if(h=o+A,c=[],g=0,Array.isArray(t))for(d="[",s="]",C=t.length;g<C;g++)c.push(e(t[g],h,g===C-1?0:1)||"null");else for(d="{",s="}",C=(I=Object.keys(t)).length;g<C;g++)u=I[g],l=JSON.stringify(u)+": ",void 0!==(p=e(t[u],h,l.length+(g===C-1?0:1)))&&c.push(l+p);if(c.length>0)return[d,A+c.join(",\n"+h),s].join("\n"+o)}return B}(e,"",0)}},function(e,t,A){"use strict";var n,r=A(2),i=A(169),o=A(429);A.d(t,"a",(function(){return s})),A.d(t,"c",(function(){return l})),A.d(t,"b",(function(){return I}));var a=(n={},Object(r.a)(n,i.b,"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n"),Object(r.a)(n,i.a,"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"),n),s="__LUMA_INJECT_DECLARATIONS__",g=/void\s+main\s*\([^)]*\)\s*\{\n?/,c=/}\n?[^{}]*$/,u=[];function l(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=t===i.b,o=function(t){var n=A[t];n.sort((function(e,t){return e.order-t.order})),u.length=n.length;for(var i=0,o=n.length;i<o;++i)u[i]=n[i].injection;var a="".concat(u.join("\n"),"\n");switch(t){case"vs:#decl":r&&(e=e.replace(s,a));break;case"vs:#main-start":r&&(e=e.replace(g,(function(e){return e+a})));break;case"vs:#main-end":r&&(e=e.replace(c,(function(e){return a+e})));break;case"fs:#decl":r||(e=e.replace(s,a));break;case"fs:#main-start":r||(e=e.replace(g,(function(e){return e+a})));break;case"fs:#main-end":r||(e=e.replace(c,(function(e){return a+e})));break;default:e=e.replace(t,(function(e){return e+a}))}};for(var l in A)o(l);return e=e.replace(s,""),n&&(e=e.replace(/\}\s*$/,(function(e){return e+a[t]}))),e}function I(e){var t={};return Object(o.a)(Array.isArray(e)&&e.length>1),e.forEach((function(e){for(var A in e)t[A]=t[A]?"".concat(t[A],"\n").concat(e[A]):e[A]})),t}},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=A.n(i),a=(A(13),A(39)),s=A(19),g=A(51),c=A(66),u=A(28),l=A(200),I=A(137),C=A(204),h=A(321),f=A(225),d=A(288);function B(e,t){var A=Object.create(null);return e&&i.Children.map(e,(function(e){return e})).forEach((function(e){A[e.key]=function(e){return t&&Object(i.isValidElement)(e)?t(e):e}(e)})),A}function p(e,t,A){return null!=A[t]?A[t]:e.props[t]}function E(e,t,A){var n=B(e.children),r=function(e,t){function A(A){return A in t?t[A]:e[A]}e=e||{},t=t||{};var n,r=Object.create(null),i=[];for(var o in e)o in t?i.length&&(r[o]=i,i=[]):i.push(o);var a={};for(var s in t){if(r[s])for(n=0;n<r[s].length;n++){var g=r[s][n];a[r[s][n]]=A(g)}a[s]=A(s)}for(n=0;n<i.length;n++)a[i[n]]=A(i[n]);return a}(t,n);return Object.keys(r).forEach((function(o){var a=r[o];if(Object(i.isValidElement)(a)){var s=o in t,g=o in n,c=t[o],u=Object(i.isValidElement)(c)&&!c.props.in;!g||s&&!u?g||!s||u?g&&s&&Object(i.isValidElement)(c)&&(r[o]=Object(i.cloneElement)(a,{onExited:A.bind(null,a),in:c.props.in,exit:p(a,"exit",e),enter:p(a,"enter",e)})):r[o]=Object(i.cloneElement)(a,{in:!1}):r[o]=Object(i.cloneElement)(a,{onExited:A.bind(null,a),in:!0,exit:p(a,"exit",e),enter:p(a,"enter",e)})}})),r}var Q=Object.values||function(e){return Object.keys(e).map((function(t){return e[t]}))},y=function(e){function t(t,A){var n,r=(n=e.call(this,t,A)||this).handleExited.bind(Object(h.a)(n));return n.state={contextValue:{isMounting:!0},handleExited:r,firstRender:!0},n}Object(f.a)(t,e);var A=t.prototype;return A.componentDidMount=function(){this.mounted=!0,this.setState({contextValue:{isMounting:!1}})},A.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(e,t){var A,n,r=t.children,o=t.handleExited;return{children:t.firstRender?(A=e,n=o,B(A.children,(function(e){return Object(i.cloneElement)(e,{onExited:n.bind(null,e),in:!0,appear:p(e,"appear",A),enter:p(e,"enter",A),exit:p(e,"exit",A)})}))):E(e,r,o),firstRender:!1}},A.handleExited=function(e,t){var A=B(this.props.children);e.key in A||(e.props.onExited&&e.props.onExited(t),this.mounted&&this.setState((function(t){var A=Object(n.a)({},t.children);return delete A[e.key],{children:A}})))},A.render=function(){var e=this.props,t=e.component,A=e.childFactory,n=Object(C.a)(e,["component","childFactory"]),r=this.state.contextValue,i=Q(this.state.children).map(A);return delete n.appear,delete n.enter,delete n.exit,null===t?o.a.createElement(d.a.Provider,{value:r},i):o.a.createElement(d.a.Provider,{value:r},o.a.createElement(t,n,i))},t}(o.a.Component);y.propTypes={},y.defaultProps={component:"div",childFactory:function(e){return e}};var v=y,m="undefined"===typeof window?i.useEffect:i.useLayoutEffect;var b=function(e){var t=e.classes,A=e.pulsate,n=void 0!==A&&A,r=e.rippleX,o=e.rippleY,a=e.rippleSize,g=e.in,u=e.onExited,l=void 0===u?function(){}:u,I=e.timeout,C=i.useState(!1),h=C[0],f=C[1],d=Object(s.a)(t.ripple,t.rippleVisible,n&&t.ripplePulsate),B={width:a,height:a,top:-a/2+o,left:-a/2+r},p=Object(s.a)(t.child,h&&t.childLeaving,n&&t.childPulsate),E=Object(c.a)(l);return m((function(){if(!g){f(!0);var e=setTimeout(E,I);return function(){clearTimeout(e)}}}),[E,g,I]),i.createElement("span",{className:d,style:B},i.createElement("span",{className:p}))},w=i.forwardRef((function(e,t){var A=e.center,o=void 0!==A&&A,a=e.classes,g=e.className,c=Object(r.a)(e,["center","classes","className"]),u=i.useState([]),l=u[0],C=u[1],h=i.useRef(0),f=i.useRef(null);i.useEffect((function(){f.current&&(f.current(),f.current=null)}),[l]);var d=i.useRef(!1),B=i.useRef(null),p=i.useRef(null),E=i.useRef(null);i.useEffect((function(){return function(){clearTimeout(B.current)}}),[]);var Q=i.useCallback((function(e){var t=e.pulsate,A=e.rippleX,n=e.rippleY,r=e.rippleSize,o=e.cb;C((function(e){return[].concat(Object(I.a)(e),[i.createElement(b,{key:h.current,classes:a,timeout:550,pulsate:t,rippleX:A,rippleY:n,rippleSize:r})])})),h.current+=1,f.current=o}),[a]),y=i.useCallback((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=arguments.length>2?arguments[2]:void 0,n=t.pulsate,r=void 0!==n&&n,i=t.center,a=void 0===i?o||t.pulsate:i,s=t.fakeElement,g=void 0!==s&&s;if("mousedown"===e.type&&d.current)d.current=!1;else{"touchstart"===e.type&&(d.current=!0);var c,u,l,I=g?null:E.current,C=I?I.getBoundingClientRect():{width:0,height:0,left:0,top:0};if(a||0===e.clientX&&0===e.clientY||!e.clientX&&!e.touches)c=Math.round(C.width/2),u=Math.round(C.height/2);else{var h=e.touches?e.touches[0]:e,f=h.clientX,y=h.clientY;c=Math.round(f-C.left),u=Math.round(y-C.top)}if(a)(l=Math.sqrt((2*Math.pow(C.width,2)+Math.pow(C.height,2))/3))%2===0&&(l+=1);else{var v=2*Math.max(Math.abs((I?I.clientWidth:0)-c),c)+2,m=2*Math.max(Math.abs((I?I.clientHeight:0)-u),u)+2;l=Math.sqrt(Math.pow(v,2)+Math.pow(m,2))}e.touches?null===p.current&&(p.current=function(){Q({pulsate:r,rippleX:c,rippleY:u,rippleSize:l,cb:A})},B.current=setTimeout((function(){p.current&&(p.current(),p.current=null)}),80)):Q({pulsate:r,rippleX:c,rippleY:u,rippleSize:l,cb:A})}}),[o,Q]),m=i.useCallback((function(){y({},{pulsate:!0})}),[y]),w=i.useCallback((function(e,t){if(clearTimeout(B.current),"touchend"===e.type&&p.current)return e.persist(),p.current(),p.current=null,void(B.current=setTimeout((function(){w(e,t)})));p.current=null,C((function(e){return e.length>0?e.slice(1):e})),f.current=t}),[]);return i.useImperativeHandle(t,(function(){return{pulsate:m,start:y,stop:w}}),[m,y,w]),i.createElement("span",Object(n.a)({className:Object(s.a)(a.root,g),ref:E},c),i.createElement(v,{component:null,exit:!0},l))})),S=Object(u.a)((function(e){return{root:{overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"},ripple:{opacity:0,position:"absolute"},rippleVisible:{opacity:.3,transform:"scale(1)",animation:"$enter ".concat(550,"ms ").concat(e.transitions.easing.easeInOut)},ripplePulsate:{animationDuration:"".concat(e.transitions.duration.shorter,"ms")},child:{opacity:1,display:"block",width:"100%",height:"100%",borderRadius:"50%",backgroundColor:"currentColor"},childLeaving:{opacity:0,animation:"$exit ".concat(550,"ms ").concat(e.transitions.easing.easeInOut)},childPulsate:{position:"absolute",left:0,top:0,animation:"$pulsate 2500ms ".concat(e.transitions.easing.easeInOut," 200ms infinite")},"@keyframes enter":{"0%":{transform:"scale(0)",opacity:.1},"100%":{transform:"scale(1)",opacity:.3}},"@keyframes exit":{"0%":{opacity:1},"100%":{opacity:0}},"@keyframes pulsate":{"0%":{transform:"scale(1)"},"50%":{transform:"scale(0.92)"},"100%":{transform:"scale(1)"}}}}),{flip:!1,name:"MuiTouchRipple"})(i.memo(w)),F=i.forwardRef((function(e,t){var A=e.action,o=e.buttonRef,u=e.centerRipple,I=void 0!==u&&u,C=e.children,h=e.classes,f=e.className,d=e.component,B=void 0===d?"button":d,p=e.disabled,E=void 0!==p&&p,Q=e.disableRipple,y=void 0!==Q&&Q,v=e.disableTouchRipple,m=void 0!==v&&v,b=e.focusRipple,w=void 0!==b&&b,F=e.focusVisibleClassName,R=e.onBlur,D=e.onClick,G=e.onFocus,k=e.onFocusVisible,x=e.onKeyDown,N=e.onKeyUp,U=e.onMouseDown,_=e.onMouseLeave,M=e.onMouseUp,O=e.onTouchEnd,L=e.onTouchMove,T=e.onTouchStart,Z=e.onDragLeave,H=e.tabIndex,Y=void 0===H?0:H,J=e.TouchRippleProps,j=e.type,P=void 0===j?"button":j,V=Object(r.a)(e,["action","buttonRef","centerRipple","children","classes","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","onBlur","onClick","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","onDragLeave","tabIndex","TouchRippleProps","type"]),K=i.useRef(null);var W=i.useRef(null),X=i.useState(!1),q=X[0],z=X[1];E&&q&&z(!1);var $=Object(l.a)(),ee=$.isFocusVisible,te=$.onBlurVisible,Ae=$.ref;function ne(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:m;return Object(c.a)((function(n){return t&&t(n),!A&&W.current&&W.current[e](n),!0}))}i.useImperativeHandle(A,(function(){return{focusVisible:function(){z(!0),K.current.focus()}}}),[]),i.useEffect((function(){q&&w&&!y&&W.current.pulsate()}),[y,w,q]);var re=ne("start",U),ie=ne("stop",Z),oe=ne("stop",M),ae=ne("stop",(function(e){q&&e.preventDefault(),_&&_(e)})),se=ne("start",T),ge=ne("stop",O),ce=ne("stop",L),ue=ne("stop",(function(e){q&&(te(e),z(!1)),R&&R(e)}),!1),le=Object(c.a)((function(e){K.current||(K.current=e.currentTarget),ee(e)&&(z(!0),k&&k(e)),G&&G(e)})),Ie=function(){var e=a.findDOMNode(K.current);return B&&"button"!==B&&!("A"===e.tagName&&e.href)},Ce=i.useRef(!1),he=Object(c.a)((function(e){w&&!Ce.current&&q&&W.current&&" "===e.key&&(Ce.current=!0,e.persist(),W.current.stop(e,(function(){W.current.start(e)}))),e.target===e.currentTarget&&Ie()&&" "===e.key&&e.preventDefault(),x&&x(e),e.target===e.currentTarget&&Ie()&&"Enter"===e.key&&!E&&(e.preventDefault(),D&&D(e))})),fe=Object(c.a)((function(e){w&&" "===e.key&&W.current&&q&&!e.defaultPrevented&&(Ce.current=!1,e.persist(),W.current.stop(e,(function(){W.current.pulsate(e)}))),N&&N(e),D&&e.target===e.currentTarget&&Ie()&&" "===e.key&&!e.defaultPrevented&&D(e)})),de=B;"button"===de&&V.href&&(de="a");var Be={};"button"===de?(Be.type=P,Be.disabled=E):("a"===de&&V.href||(Be.role="button"),Be["aria-disabled"]=E);var pe=Object(g.a)(o,t),Ee=Object(g.a)(Ae,K),Qe=Object(g.a)(pe,Ee),ye=i.useState(!1),ve=ye[0],me=ye[1];i.useEffect((function(){me(!0)}),[]);var be=ve&&!y&&!E;return i.createElement(de,Object(n.a)({className:Object(s.a)(h.root,f,q&&[h.focusVisible,F],E&&h.disabled),onBlur:ue,onClick:D,onFocus:le,onKeyDown:he,onKeyUp:fe,onMouseDown:re,onMouseLeave:ae,onMouseUp:oe,onDragLeave:ie,onTouchEnd:ge,onTouchMove:ce,onTouchStart:se,ref:Qe,tabIndex:E?-1:Y},Be,V),C,be?i.createElement(S,Object(n.a)({ref:W,center:I},J)):null)}));t.a=Object(u.a)({root:{display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle","-moz-appearance":"none","-webkit-appearance":"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},"&$disabled":{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}},disabled:{},focusVisible:{}},{name:"MuiButtonBase"})(F)},,,,,,,,,,function(e,t,A){"use strict";var n=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function o(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},A=0;A<10;A++)t["_"+String.fromCharCode(A)]=A;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(r){return!1}}()?Object.assign:function(e,t){for(var A,a,s=o(e),g=1;g<arguments.length;g++){for(var c in A=Object(arguments[g]))r.call(A,c)&&(s[c]=A[c]);if(n){a=n(A);for(var u=0;u<a.length;u++)i.call(A,a[u])&&(s[a[u]]=A[a[u]])}}return s}},function(e,t,A){var n=A(753),r=A(154);e.exports=function e(t,A,i,o,a){return t===A||(null==t||null==A||!r(t)&&!r(A)?t!==t&&A!==A:n(t,A,i,o,e,a))}},function(e,t,A){var n=A(215)(A(140),"Map");e.exports=n},function(e,t,A){var n=A(216),r=A(127);e.exports=function(e){if(!r(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},function(e,t,A){var n=A(770),r=A(777),i=A(779),o=A(780),a=A(781);function s(e){var t=-1,A=null==e?0:e.length;for(this.clear();++t<A;){var n=e[t];this.set(n[0],n[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=o,s.prototype.set=a,e.exports=s},function(e,t,A){var n=A(447),r=A(782),i=A(783);function o(e){var t=-1,A=null==e?0:e.length;for(this.__data__=new n;++t<A;)this.add(e[t])}o.prototype.add=o.prototype.push=r,o.prototype.has=i,e.exports=o},function(e,t){e.exports=function(e,t){return e.has(t)}},function(e,t){e.exports=function(e){var t=-1,A=Array(e.size);return e.forEach((function(e){A[++t]=e})),A}},function(e,t){e.exports=function(e,t){for(var A=-1,n=t.length,r=e.length;++A<n;)e[r+A]=t[A];return e}},function(e,t,A){var n=A(788),r=A(549),i=Object.prototype.propertyIsEnumerable,o=Object.getOwnPropertySymbols,a=o?function(e){return null==e?[]:(e=Object(e),n(o(e),(function(t){return i.call(e,t)})))}:r;e.exports=a},function(e,t){var A=/^(?:0|[1-9]\d*)$/;e.exports=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&A.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t,A){var n=A(792),r=A(350),i=A(456),o=i&&i.isTypedArray,a=o?r(o):n;e.exports=a},function(e,t){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,t,A){(function(e){var n=A(543),r=t&&!t.nodeType&&t,i=r&&"object"==typeof e&&e&&!e.nodeType&&e,o=i&&i.exports===r&&n.process,a=function(){try{var e=i&&i.require&&i.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(t){}}();e.exports=a}).call(this,A(155)(e))},function(e,t){var A=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||A)}},function(e,t,A){(function(e,A){var n="[object Arguments]",r="[object Map]",i="[object Object]",o="[object Set]",a=/^\[object .+?Constructor\]$/,s=/^(?:0|[1-9]\d*)$/,g={};g["[object Float32Array]"]=g["[object Float64Array]"]=g["[object Int8Array]"]=g["[object Int16Array]"]=g["[object Int32Array]"]=g["[object Uint8Array]"]=g["[object Uint8ClampedArray]"]=g["[object Uint16Array]"]=g["[object Uint32Array]"]=!0,g[n]=g["[object Array]"]=g["[object ArrayBuffer]"]=g["[object Boolean]"]=g["[object DataView]"]=g["[object Date]"]=g["[object Error]"]=g["[object Function]"]=g[r]=g["[object Number]"]=g[i]=g["[object RegExp]"]=g[o]=g["[object String]"]=g["[object WeakMap]"]=!1;var c="object"==typeof e&&e&&e.Object===Object&&e,u="object"==typeof self&&self&&self.Object===Object&&self,l=c||u||Function("return this")(),I=t&&!t.nodeType&&t,C=I&&"object"==typeof A&&A&&!A.nodeType&&A,h=C&&C.exports===I,f=h&&c.process,d=function(){try{return f&&f.binding&&f.binding("util")}catch(e){}}(),B=d&&d.isTypedArray;function p(e,t){for(var A=-1,n=null==e?0:e.length;++A<n;)if(t(e[A],A,e))return!0;return!1}function E(e){var t=-1,A=Array(e.size);return e.forEach((function(e,n){A[++t]=[n,e]})),A}function Q(e){var t=-1,A=Array(e.size);return e.forEach((function(e){A[++t]=e})),A}var y,v,m=Array.prototype,b=Function.prototype,w=Object.prototype,S=l["__core-js_shared__"],F=b.toString,R=w.hasOwnProperty,D=function(){var e=/[^.]+$/.exec(S&&S.keys&&S.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),G=w.toString,k=RegExp("^"+F.call(R).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),x=h?l.Buffer:void 0,N=l.Symbol,U=l.Uint8Array,_=w.propertyIsEnumerable,M=m.splice,O=N?N.toStringTag:void 0,L=Object.getOwnPropertySymbols,T=x?x.isBuffer:void 0,Z=(y=Object.keys,v=Object,function(e){return y(v(e))}),H=fe(l,"DataView"),Y=fe(l,"Map"),J=fe(l,"Promise"),j=fe(l,"Set"),P=fe(l,"WeakMap"),V=fe(Object,"create"),K=Ee(H),W=Ee(Y),X=Ee(J),q=Ee(j),z=Ee(P),$=N?N.prototype:void 0,ee=$?$.valueOf:void 0;function te(e){var t=-1,A=null==e?0:e.length;for(this.clear();++t<A;){var n=e[t];this.set(n[0],n[1])}}function Ae(e){var t=-1,A=null==e?0:e.length;for(this.clear();++t<A;){var n=e[t];this.set(n[0],n[1])}}function ne(e){var t=-1,A=null==e?0:e.length;for(this.clear();++t<A;){var n=e[t];this.set(n[0],n[1])}}function re(e){var t=-1,A=null==e?0:e.length;for(this.__data__=new ne;++t<A;)this.add(e[t])}function ie(e){var t=this.__data__=new Ae(e);this.size=t.size}function oe(e,t){var A=ve(e),n=!A&&ye(e),r=!A&&!n&&me(e),i=!A&&!n&&!r&&Re(e),o=A||n||r||i,a=o?function(e,t){for(var A=-1,n=Array(e);++A<e;)n[A]=t(A);return n}(e.length,String):[],s=a.length;for(var g in e)!t&&!R.call(e,g)||o&&("length"==g||r&&("offset"==g||"parent"==g)||i&&("buffer"==g||"byteLength"==g||"byteOffset"==g)||pe(g,s))||a.push(g);return a}function ae(e,t){for(var A=e.length;A--;)if(Qe(e[A][0],t))return A;return-1}function se(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":O&&O in Object(e)?function(e){var t=R.call(e,O),A=e[O];try{e[O]=void 0;var n=!0}catch(i){}var r=G.call(e);n&&(t?e[O]=A:delete e[O]);return r}(e):function(e){return G.call(e)}(e)}function ge(e){return Fe(e)&&se(e)==n}function ce(e,t,A,a,s){return e===t||(null==e||null==t||!Fe(e)&&!Fe(t)?e!==e&&t!==t:function(e,t,A,a,s,g){var c=ve(e),u=ve(t),l=c?"[object Array]":Be(e),I=u?"[object Array]":Be(t),C=(l=l==n?i:l)==i,h=(I=I==n?i:I)==i,f=l==I;if(f&&me(e)){if(!me(t))return!1;c=!0,C=!1}if(f&&!C)return g||(g=new ie),c||Re(e)?Ie(e,t,A,a,s,g):function(e,t,A,n,i,a,s){switch(A){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!a(new U(e),new U(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Qe(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case r:var g=E;case o:var c=1&n;if(g||(g=Q),e.size!=t.size&&!c)return!1;var u=s.get(e);if(u)return u==t;n|=2,s.set(e,t);var l=Ie(g(e),g(t),n,i,a,s);return s.delete(e),l;case"[object Symbol]":if(ee)return ee.call(e)==ee.call(t)}return!1}(e,t,l,A,a,s,g);if(!(1&A)){var d=C&&R.call(e,"__wrapped__"),B=h&&R.call(t,"__wrapped__");if(d||B){var p=d?e.value():e,y=B?t.value():t;return g||(g=new ie),s(p,y,A,a,g)}}if(!f)return!1;return g||(g=new ie),function(e,t,A,n,r,i){var o=1&A,a=Ce(e),s=a.length,g=Ce(t).length;if(s!=g&&!o)return!1;var c=s;for(;c--;){var u=a[c];if(!(o?u in t:R.call(t,u)))return!1}var l=i.get(e);if(l&&i.get(t))return l==t;var I=!0;i.set(e,t),i.set(t,e);var C=o;for(;++c<s;){u=a[c];var h=e[u],f=t[u];if(n)var d=o?n(f,h,u,t,e,i):n(h,f,u,e,t,i);if(!(void 0===d?h===f||r(h,f,A,n,i):d)){I=!1;break}C||(C="constructor"==u)}if(I&&!C){var B=e.constructor,p=t.constructor;B==p||!("constructor"in e)||!("constructor"in t)||"function"==typeof B&&B instanceof B&&"function"==typeof p&&p instanceof p||(I=!1)}return i.delete(e),i.delete(t),I}(e,t,A,a,s,g)}(e,t,A,a,ce,s))}function ue(e){return!(!Se(e)||function(e){return!!D&&D in e}(e))&&(be(e)?k:a).test(Ee(e))}function le(e){if(!function(e){var t=e&&e.constructor,A="function"==typeof t&&t.prototype||w;return e===A}(e))return Z(e);var t=[];for(var A in Object(e))R.call(e,A)&&"constructor"!=A&&t.push(A);return t}function Ie(e,t,A,n,r,i){var o=1&A,a=e.length,s=t.length;if(a!=s&&!(o&&s>a))return!1;var g=i.get(e);if(g&&i.get(t))return g==t;var c=-1,u=!0,l=2&A?new re:void 0;for(i.set(e,t),i.set(t,e);++c<a;){var I=e[c],C=t[c];if(n)var h=o?n(C,I,c,t,e,i):n(I,C,c,e,t,i);if(void 0!==h){if(h)continue;u=!1;break}if(l){if(!p(t,(function(e,t){if(o=t,!l.has(o)&&(I===e||r(I,e,A,n,i)))return l.push(t);var o}))){u=!1;break}}else if(I!==C&&!r(I,C,A,n,i)){u=!1;break}}return i.delete(e),i.delete(t),u}function Ce(e){return function(e,t,A){var n=t(e);return ve(e)?n:function(e,t){for(var A=-1,n=t.length,r=e.length;++A<n;)e[r+A]=t[A];return e}(n,A(e))}(e,De,de)}function he(e,t){var A=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?A["string"==typeof t?"string":"hash"]:A.map}function fe(e,t){var A=function(e,t){return null==e?void 0:e[t]}(e,t);return ue(A)?A:void 0}te.prototype.clear=function(){this.__data__=V?V(null):{},this.size=0},te.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},te.prototype.get=function(e){var t=this.__data__;if(V){var A=t[e];return"__lodash_hash_undefined__"===A?void 0:A}return R.call(t,e)?t[e]:void 0},te.prototype.has=function(e){var t=this.__data__;return V?void 0!==t[e]:R.call(t,e)},te.prototype.set=function(e,t){var A=this.__data__;return this.size+=this.has(e)?0:1,A[e]=V&&void 0===t?"__lodash_hash_undefined__":t,this},Ae.prototype.clear=function(){this.__data__=[],this.size=0},Ae.prototype.delete=function(e){var t=this.__data__,A=ae(t,e);return!(A<0)&&(A==t.length-1?t.pop():M.call(t,A,1),--this.size,!0)},Ae.prototype.get=function(e){var t=this.__data__,A=ae(t,e);return A<0?void 0:t[A][1]},Ae.prototype.has=function(e){return ae(this.__data__,e)>-1},Ae.prototype.set=function(e,t){var A=this.__data__,n=ae(A,e);return n<0?(++this.size,A.push([e,t])):A[n][1]=t,this},ne.prototype.clear=function(){this.size=0,this.__data__={hash:new te,map:new(Y||Ae),string:new te}},ne.prototype.delete=function(e){var t=he(this,e).delete(e);return this.size-=t?1:0,t},ne.prototype.get=function(e){return he(this,e).get(e)},ne.prototype.has=function(e){return he(this,e).has(e)},ne.prototype.set=function(e,t){var A=he(this,e),n=A.size;return A.set(e,t),this.size+=A.size==n?0:1,this},re.prototype.add=re.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},re.prototype.has=function(e){return this.__data__.has(e)},ie.prototype.clear=function(){this.__data__=new Ae,this.size=0},ie.prototype.delete=function(e){var t=this.__data__,A=t.delete(e);return this.size=t.size,A},ie.prototype.get=function(e){return this.__data__.get(e)},ie.prototype.has=function(e){return this.__data__.has(e)},ie.prototype.set=function(e,t){var A=this.__data__;if(A instanceof Ae){var n=A.__data__;if(!Y||n.length<199)return n.push([e,t]),this.size=++A.size,this;A=this.__data__=new ne(n)}return A.set(e,t),this.size=A.size,this};var de=L?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var A=-1,n=null==e?0:e.length,r=0,i=[];++A<n;){var o=e[A];t(o,A,e)&&(i[r++]=o)}return i}(L(e),(function(t){return _.call(e,t)})))}:function(){return[]},Be=se;function pe(e,t){return!!(t=null==t?9007199254740991:t)&&("number"==typeof e||s.test(e))&&e>-1&&e%1==0&&e<t}function Ee(e){if(null!=e){try{return F.call(e)}catch(t){}try{return e+""}catch(t){}}return""}function Qe(e,t){return e===t||e!==e&&t!==t}(H&&"[object DataView]"!=Be(new H(new ArrayBuffer(1)))||Y&&Be(new Y)!=r||J&&"[object Promise]"!=Be(J.resolve())||j&&Be(new j)!=o||P&&"[object WeakMap]"!=Be(new P))&&(Be=function(e){var t=se(e),A=t==i?e.constructor:void 0,n=A?Ee(A):"";if(n)switch(n){case K:return"[object DataView]";case W:return r;case X:return"[object Promise]";case q:return o;case z:return"[object WeakMap]"}return t});var ye=ge(function(){return arguments}())?ge:function(e){return Fe(e)&&R.call(e,"callee")&&!_.call(e,"callee")},ve=Array.isArray;var me=T||function(){return!1};function be(e){if(!Se(e))return!1;var t=se(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function we(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Se(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Fe(e){return null!=e&&"object"==typeof e}var Re=B?function(e){return function(t){return e(t)}}(B):function(e){return Fe(e)&&we(e.length)&&!!g[se(e)]};function De(e){return null!=(t=e)&&we(t.length)&&!be(t)?oe(e):le(e);var t}A.exports=function(e,t){return ce(e,t)}}).call(this,A(86),A(155)(e))},function(e,t,A){"use strict";function n(e){return(n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.matchesSelector=u,t.matchesSelectorAndParentsTo=function(e,t,A){var n=e;do{if(u(n,t))return!0;if(n===A)return!1;n=n.parentNode}while(n);return!1},t.addEvent=function(e,t,A,n){if(!e)return;var r=s({capture:!0},n);e.addEventListener?e.addEventListener(t,A,r):e.attachEvent?e.attachEvent("on"+t,A):e["on"+t]=A},t.removeEvent=function(e,t,A,n){if(!e)return;var r=s({capture:!0},n);e.removeEventListener?e.removeEventListener(t,A,r):e.detachEvent?e.detachEvent("on"+t,A):e["on"+t]=null},t.outerHeight=function(e){var t=e.clientHeight,A=e.ownerDocument.defaultView.getComputedStyle(e);return t+=(0,r.int)(A.borderTopWidth),t+=(0,r.int)(A.borderBottomWidth)},t.outerWidth=function(e){var t=e.clientWidth,A=e.ownerDocument.defaultView.getComputedStyle(e);return t+=(0,r.int)(A.borderLeftWidth),t+=(0,r.int)(A.borderRightWidth)},t.innerHeight=function(e){var t=e.clientHeight,A=e.ownerDocument.defaultView.getComputedStyle(e);return t-=(0,r.int)(A.paddingTop),t-=(0,r.int)(A.paddingBottom)},t.innerWidth=function(e){var t=e.clientWidth,A=e.ownerDocument.defaultView.getComputedStyle(e);return t-=(0,r.int)(A.paddingLeft),t-=(0,r.int)(A.paddingRight)},t.offsetXYFromParent=function(e,t,A){var n=t===t.ownerDocument.body?{left:0,top:0}:t.getBoundingClientRect(),r=(e.clientX+t.scrollLeft-n.left)/A,i=(e.clientY+t.scrollTop-n.top)/A;return{x:r,y:i}},t.createCSSTransform=function(e,t){var A=l(e,t,"px");return g({},(0,i.browserPrefixToKey)("transform",i.default),A)},t.createSVGTransform=function(e,t){return l(e,t,"")},t.getTranslation=l,t.getTouch=function(e,t){return e.targetTouches&&(0,r.findInArray)(e.targetTouches,(function(e){return t===e.identifier}))||e.changedTouches&&(0,r.findInArray)(e.changedTouches,(function(e){return t===e.identifier}))},t.getTouchIdentifier=function(e){if(e.targetTouches&&e.targetTouches[0])return e.targetTouches[0].identifier;if(e.changedTouches&&e.changedTouches[0])return e.changedTouches[0].identifier},t.addUserSelectStyles=function(e){if(!e)return;var t=e.getElementById("react-draggable-style-el");t||((t=e.createElement("style")).type="text/css",t.id="react-draggable-style-el",t.innerHTML=".react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n",t.innerHTML+=".react-draggable-transparent-selection *::selection {all: inherit;}\n",e.getElementsByTagName("head")[0].appendChild(t));e.body&&I(e.body,"react-draggable-transparent-selection")},t.removeUserSelectStyles=function(e){if(!e)return;try{if(e.body&&C(e.body,"react-draggable-transparent-selection"),e.selection)e.selection.empty();else{var t=(e.defaultView||window).getSelection();t&&"Caret"!==t.type&&t.removeAllRanges()}}catch(A){}},t.addClassName=I,t.removeClassName=C;var r=A(352),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var A={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(A,i,a):A[i]=e[i]}A.default=e,t&&t.set(e,A);return A}(A(804));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}function a(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function s(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?a(Object(A),!0).forEach((function(t){g(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):a(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function g(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var c="";function u(e,t){return c||(c=(0,r.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],(function(t){return(0,r.isFunction)(e[t])}))),!!(0,r.isFunction)(e[c])&&e[c](t)}function l(e,t,A){var n=e.x,r=e.y,i="translate(".concat(n).concat(A,",").concat(r).concat(A,")");if(t){var o="".concat("string"===typeof t.x?t.x:t.x+A),a="".concat("string"===typeof t.y?t.y:t.y+A);i="translate(".concat(o,", ").concat(a,")")+i}return i}function I(e,t){e.classList?e.classList.add(t):e.className.match(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)")))||(e.className+=" ".concat(t))}function C(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)"),"g"),"")}},function(e,t,A){var n=A(127),r=A(353),i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,g=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(r(e))return NaN;if(n(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=n(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var A=a.test(e);return A||s.test(e)?g(e.slice(2),A?2:8):o.test(e)?NaN:+e}},function(e,t,A){"use strict";var n=A(817),r=A(146),i=A(250),o=A(560),a=A(819);function s(e,t,A){var n=this._refs[A];if("string"==typeof n){if(!this._refs[n])return s.call(this,e,t,n);n=this._refs[n]}if((n=n||this._schemas[A])instanceof o)return C(n.schema,this._opts.inlineRefs)?n.schema:n.validate||this._compile(n);var r,i,a,c=g.call(this,t,A);return c&&(r=c.schema,t=c.root,a=c.baseId),r instanceof o?i=r.validate||e.call(this,r.schema,t,void 0,a):void 0!==r&&(i=C(r,this._opts.inlineRefs)?r:e.call(this,r,t,void 0,a)),i}function g(e,t){var A=n.parse(t),r=f(A),i=h(this._getId(e.schema));if(0===Object.keys(e.schema).length||r!==i){var a=B(r),s=this._refs[a];if("string"==typeof s)return c.call(this,e,s,A);if(s instanceof o)s.validate||this._compile(s),e=s;else{if(!((s=this._schemas[a])instanceof o))return;if(s.validate||this._compile(s),a==B(t))return{schema:s,root:e,baseId:i};e=s}if(!e.schema)return;i=h(this._getId(e.schema))}return l.call(this,A,i,e.schema,e)}function c(e,t,A){var n=g.call(this,e,t);if(n){var r=n.schema,i=n.baseId;e=n.root;var o=this._getId(r);return o&&(i=p(i,o)),l.call(this,A,i,r,e)}}e.exports=s,s.normalizeId=B,s.fullPath=h,s.url=p,s.ids=function(e){var t=B(this._getId(e)),A={"":t},o={"":h(t,!1)},s={},g=this;return a(e,{allKeys:!0},(function(e,t,a,c,u,l,I){if(""!==t){var C=g._getId(e),h=A[c],f=o[c]+"/"+u;if(void 0!==I&&(f+="/"+("number"==typeof I?I:i.escapeFragment(I))),"string"==typeof C){C=h=B(h?n.resolve(h,C):C);var d=g._refs[C];if("string"==typeof d&&(d=g._refs[d]),d&&d.schema){if(!r(e,d.schema))throw new Error('id "'+C+'" resolves to more than one schema')}else if(C!=B(f))if("#"==C[0]){if(s[C]&&!r(e,s[C]))throw new Error('id "'+C+'" resolves to more than one schema');s[C]=e}else g._refs[C]=f}A[t]=h,o[t]=f}})),s},s.inlineRef=C,s.schema=g;var u=i.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function l(e,t,A,n){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var r=e.fragment.split("/"),o=1;o<r.length;o++){var a=r[o];if(a){if(void 0===(A=A[a=i.unescapeFragment(a)]))break;var s;if(!u[a]&&((s=this._getId(A))&&(t=p(t,s)),A.$ref)){var c=p(t,A.$ref),l=g.call(this,n,c);l&&(A=l.schema,n=l.root,t=l.baseId)}}}return void 0!==A&&A!==n.schema?{schema:A,root:n,baseId:t}:void 0}}var I=i.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function C(e,t){return!1!==t&&(void 0===t||!0===t?function e(t){var A;if(Array.isArray(t)){for(var n=0;n<t.length;n++)if("object"==typeof(A=t[n])&&!e(A))return!1}else for(var r in t){if("$ref"==r)return!1;if("object"==typeof(A=t[r])&&!e(A))return!1}return!0}(e):t?function e(t){var A,n=0;if(Array.isArray(t)){for(var r=0;r<t.length;r++)if("object"==typeof(A=t[r])&&(n+=e(A)),n==1/0)return 1/0}else for(var i in t){if("$ref"==i)return 1/0;if(I[i])n++;else if("object"==typeof(A=t[i])&&(n+=e(A)+1),n==1/0)return 1/0}return n}(e)<=t:void 0)}function h(e,t){return!1!==t&&(e=B(e)),f(n.parse(e))}function f(e){return n.serialize(e).split("#")[0]+"#"}var d=/#\/?$/;function B(e){return e?e.replace(d,""):""}function p(e,t){return t=B(t),n.resolve(e,t)}},function(e,t,A){"use strict";var n=A(461);function r(e,t,A){this.message=A||r.message(e,t),this.missingRef=n.url(e,t),this.missingSchema=n.normalizeId(n.fullPath(this.missingRef))}function i(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}e.exports={Validation:i((function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0})),MissingRef:i(r)},r.message=function(e,t){return"can't resolve reference "+t+" from id "+e}},function(e,t,A){"use strict";(function(e){var n=A(95);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(t){if("undefined"!==typeof window&&"object"===(0,r.default)(window.process)&&"renderer"===window.process.type)return!0;if("undefined"!==typeof e&&"object"===(0,r.default)(e.versions)&&Boolean(e.versions.electron))return!0;var A="object"===("undefined"===typeof navigator?"undefined":(0,r.default)(navigator))&&"string"===typeof navigator.userAgent&&navigator.userAgent,n=t||A;if(n&&n.indexOf("Electron")>=0)return!0;return!1};var r=n(A(251))}).call(this,A(90))},function(e,t,A){"use strict";A.d(t,"a",(function(){return s}));var n=A(3),r=A.n(n),i=A(12),o=A(228),a=A(194);function s(e){return g.apply(this,arguments)}function g(){return(g=Object(i.a)(r.a.mark((function e(t){var A,n,i,s,g,c,u,l;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:A=[],n=!0,i=!1,e.prev=3,g=Object(o.a)(t);case 5:return e.next=7,g.next();case 7:return c=e.sent,n=c.done,e.next=11,c.value;case 11:if(u=e.sent,n){e.next=18;break}l=u,A.push(l);case 15:n=!0,e.next=5;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(3),i=!0,s=e.t0;case 24:if(e.prev=24,e.prev=25,n||null==g.return){e.next=29;break}return e.next=29,g.return();case 29:if(e.prev=29,!i){e.next=32;break}throw s;case 32:return e.finish(29);case 33:return e.finish(24);case 34:return e.abrupt("return",a.b.apply(void 0,A));case 35:case"end":return e.stop()}}),e,null,[[3,20,24,34],[25,,29,33]])})))).apply(this,arguments)}},function(e,t,A){var n=A(585);e.exports=function(e,t,A){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:A,writable:!0}):e[t]=A}},function(e,t,A){var n=A(551)(Object.getPrototypeOf,Object);e.exports=n},function(e,t,A){var n=A(546);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},function(e,t,A){"use strict";function n(e){return function(){return null}}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";function n(e,t,A,n,r){return null}A.d(t,"a",(function(){return n}))},function(e,t,A){var n=A(358),r=A(911),i=A(913);e.exports=function(e,t){return i(r(e,t,n),e+"")}},function(e,t,A){var n=A(248),r=A(154);e.exports=function(e){return r(e)&&n(e)}},function(e,t){e.exports=function(e,t){for(var A=-1,n=null==e?0:e.length,r=Array(n);++A<n;)r[A]=t(e[A],A,e);return r}},function(e,t,A){var n=A(256);e.exports=function(e,t){if(!n(e))return e;var A,r;if(t&&"function"==typeof(A=e.toString)&&!n(r=A.call(e)))return r;if("function"==typeof(A=e.valueOf)&&!n(r=A.call(e)))return r;if(!t&&"function"==typeof(A=e.toString)&&!n(r=A.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){var A=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:A)(e)}},function(e,t,A){var n=A(477)("keys"),r=A(362);e.exports=function(e){return n[e]||(n[e]=r(e))}},function(e,t,A){var n=A(191),r=A(190),i=r["__core-js_shared__"]||(r["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:n.version,mode:A(361)?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,A){var n=A(474);e.exports=function(e){return Object(n(e))}},function(e,t){e.exports={}},function(e,t,A){var n=A(302),r=A(940),i=A(478),o=A(476)("IE_PROTO"),a=function(){},s=function(){var e,t=A(596)("iframe"),n=i.length;for(t.style.display="none",A(941).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),s=e.F;n--;)delete s.prototype[i[n]];return s()};e.exports=Object.create||function(e,t){var A;return null!==e?(a.prototype=n(e),A=new a,a.prototype=null,A[o]=e):A=s(),void 0===t?A:r(A,t)}},function(e,t,A){var n=A(217).f,r=A(218),i=A(258)("toStringTag");e.exports=function(e,t,A){e&&!r(e=A?e:e.prototype,i)&&n(e,i,{configurable:!0,value:t})}},function(e,t,A){t.f=A(258)},function(e,t,A){var n=A(190),r=A(191),i=A(361),o=A(484),a=A(217).f;e.exports=function(e){var t=r.Symbol||(r.Symbol=i?{}:n.Symbol||{});"_"==e.charAt(0)||e in t||a(t,e,{value:o.f(e)})}},function(e,t,A){var n=A(606),r=A(608);e.exports=function(e,t){return e&&n(e,r(t))}},function(e,t,A){var n=A(111),r=A(353),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,t){if(n(e))return!1;var A=typeof e;return!("number"!=A&&"symbol"!=A&&"boolean"!=A&&null!=e&&!r(e))||(o.test(e)||!i.test(e)||null!=t&&e in Object(t))}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Checkboard=void 0;var n=o(A(0)),r=o(A(49)),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&(t[A]=e[A]);return t.default=e,t}(A(995));function o(e){return e&&e.__esModule?e:{default:e}}var a=t.Checkboard=function(e){var t=e.white,A=e.grey,o=e.size,a=e.renderers,s=e.borderRadius,g=e.boxShadow,c=(0,r.default)({default:{grid:{borderRadius:s,boxShadow:g,absolute:"0px 0px 0px 0px",background:"url("+i.get(t,A,o,a.canvas)+") center left"}}});return n.default.createElement("div",{style:c.grid})};a.defaultProps={size:8,white:"transparent",grey:"rgba(0,0,0,.08)",renderers:{}},t.default=a},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(105);function r(e,t,A,n){var r=A[0],i=A[1],o=e[0],a=e[1],s=t[0],g=t[1],c=s-o,u=g-a;return 0===(A[0]-o)*u-(A[1]-a)*c&&(n?"start"===n?Math.abs(c)>=Math.abs(u)?c>0?o<r&&r<=s:s<=r&&r<o:u>0?a<i&&i<=g:g<=i&&i<a:"end"===n?Math.abs(c)>=Math.abs(u)?c>0?o<=r&&r<s:s<r&&r<=o:u>0?a<=i&&i<g:g<i&&i<=a:"both"===n&&(Math.abs(c)>=Math.abs(u)?c>0?o<r&&r<s:s<r&&r<o:u>0?a<i&&i<g:g<i&&i<a):Math.abs(c)>=Math.abs(u)?c>0?o<=r&&r<=s:s<=r&&r<=o:u>0?a<=i&&i<=g:g<=i&&i<=a)}t.default=function(e,t,A){void 0===A&&(A={});for(var i=n.getCoord(e),o=n.getCoords(t),a=0;a<o.length-1;a++){var s=!1;if(A.ignoreEndVertices&&(0===a&&(s="start"),a===o.length-2&&(s="end"),0===a&&a+1===o.length-1&&(s="both")),r(o[a],o[a+1],i,s))return!0}return!1}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(143),r=A(112),i=A(304),o=A(365),a=A(141),s=A(59),g=A(105);t.default=function(e,t,A){void 0===A&&(A={});var c=s.point([1/0,1/0],{dist:1/0}),u=0;return a.flattenEach(e,(function(e){for(var a=g.getCoords(e),l=0;l<a.length-1;l++){var I=s.point(a[l]);I.properties.dist=r.default(t,I,A);var C=s.point(a[l+1]);C.properties.dist=r.default(t,C,A);var h=r.default(I,C,A),f=Math.max(I.properties.dist,C.properties.dist),d=n.default(I,C),B=i.default(t,f,d+90,A),p=i.default(t,f,d-90,A),E=o.default(s.lineString([B.geometry.coordinates,p.geometry.coordinates]),s.lineString([I.geometry.coordinates,C.geometry.coordinates])),Q=null;E.features.length>0&&((Q=E.features[0]).properties.dist=r.default(t,Q,A),Q.properties.location=u+r.default(I,Q,A)),I.properties.dist<c.properties.dist&&((c=I).properties.index=l,c.properties.location=u),C.properties.dist<c.properties.dist&&((c=C).properties.index=l+1,c.properties.location=u+h),Q&&Q.properties.dist<c.properties.dist&&((c=Q).properties.index=l),u+=h}})),c}},function(e,t,A){"use strict";var n=A(1057);e.exports=Function.prototype.bind||n},function(e,t,A){"use strict";var n=A(622),r="function"===typeof Symbol&&"symbol"===typeof Symbol("foo"),i=Object.prototype.toString,o=Array.prototype.concat,a=Object.defineProperty,s=a&&function(){var e={};try{for(var t in a(e,"x",{enumerable:!1,value:e}),e)return!1;return e.x===e}catch(A){return!1}}(),g=function(e,t,A,n){var r;(!(t in e)||"function"===typeof(r=n)&&"[object Function]"===i.call(r)&&n())&&(s?a(e,t,{configurable:!0,enumerable:!1,value:A,writable:!0}):e[t]=A)},c=function(e,t){var A=arguments.length>2?arguments[2]:{},i=n(t);r&&(i=o.call(i,Object.getOwnPropertySymbols(t)));for(var a=0;a<i.length;a+=1)g(e,i[a],t[i[a]],A[i[a]])};c.supportsDescriptors=!!s,e.exports=c},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=A(75),i=A(202),o=(n=A(636))&&n.__esModule?n:{default:n};function a(e){return(a="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function c(e,t,A){return(c="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=I(e)););return e}(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(A):r.value}})(e,t,A||e)}function u(e,t){return!t||"object"!==a(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function l(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function I(e){return(I=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function C(e,t){return(C=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var f=[0,0,0,153],d=[0,0,0,144],B=[0,0,0,255],p=[0,0,144,144],E=[144,144,144,255],Q=[144,144,144,144],y=[192,0,0,255],v=[0,0,0,128],m=[124,0,192,255],b=[255,255,255,255],w=i.DrawPolygonMode;function S(e){return e&&"function"===typeof e?function(t){return e(function(e){if(e.__source)return e.__source.object;if(e.sourceFeature)return e.sourceFeature.feature;return e}(t))}:e}function F(e){switch(e.properties.editHandleType){case"existing":return y;case"snap-source":return m;case"intermediate":default:return v}}var R={mode:w,onEdit:function(){},pickable:!0,pickingRadius:10,pickingDepth:5,fp64:!1,filled:!0,stroked:!0,lineWidthScale:1,lineWidthMinPixels:1,lineWidthMaxPixels:Number.MAX_SAFE_INTEGER,lineWidthUnits:"pixels",lineJointRounded:!1,lineMiterLimit:4,pointRadiusScale:1,pointRadiusMinPixels:2,pointRadiusMaxPixels:Number.MAX_SAFE_INTEGER,getLineColor:function(e,t,A){return t?B:f},getFillColor:function(e,t,A){return t?p:d},getRadius:function(e){return e&&e.properties&&e.properties.radius||e&&e.properties&&e.properties.size||1},getLineWidth:function(e){return e&&e.properties&&e.properties.lineWidth||3},getTentativeLineColor:function(e){return E},getTentativeFillColor:function(e){return Q},getTentativeLineWidth:function(e){return e&&e.properties&&e.properties.lineWidth||3},editHandleType:"point",editHandlePointRadiusScale:1,editHandlePointOutline:!0,editHandlePointStrokeWidth:2,editHandlePointRadiusMinPixels:4,editHandlePointRadiusMaxPixels:8,getEditHandlePointColor:F,getEditHandlePointOutlineColor:function(e){return b},getEditHandlePointRadius:function(e){switch(e.properties.editHandleType){case"existing":return 5;case"snap":return 7;case"intermediate":default:return 3}},editHandleIconAtlas:null,editHandleIconMapping:null,editHandleIconSizeScale:1,getEditHandleIcon:function(e){return e.properties.editHandleType},getEditHandleIconSize:10,getEditHandleIconColor:F,getEditHandleIconAngle:0,billboard:!0},D={view:i.ViewMode,modify:i.ModifyMode,translate:new i.SnappableMode(new i.TranslateMode),transform:new i.SnappableMode(new i.TransformMode),scale:i.ScaleMode,rotate:i.RotateMode,duplicate:i.DuplicateMode,split:i.SplitPolygonMode,extrude:i.ExtrudeMode,elevation:i.ElevationMode,drawPoint:i.DrawPointMode,drawLineString:i.DrawLineStringMode,drawPolygon:i.DrawPolygonMode,drawRectangle:i.DrawRectangleMode,drawSquareFromCenter:i.DrawSquareFromCenterMode,drawCircleFromCenter:i.DrawCircleFromCenterMode,drawCircleByBoundingBox:i.DrawCircleByDiameterMode,drawEllipseByBoundingBox:i.DrawEllipseByBoundingBoxMode,drawRectangleUsing3Points:i.DrawRectangleUsingThreePointsMode,drawEllipseUsing3Points:i.DrawEllipseUsingThreePointsMode,draw90DegreePolygon:i.Draw90DegreePolygonMode,drawPolygonByDragging:i.DrawPolygonByDraggingMode},G=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&C(e,t)}(a,e);var t,A,n,i,o=(t=a,function(){var e,A=I(t);if(l()){var n=I(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return u(this,e)});function a(){return s(this,a),o.apply(this,arguments)}return A=a,(n=[{key:"renderLayers",value:function(){var e=this.getSubLayerProps({id:"geojson",data:this.props.data,fp64:this.props.fp64,filled:this.props.filled,stroked:this.props.stroked,lineWidthScale:this.props.lineWidthScale,lineWidthMinPixels:this.props.lineWidthMinPixels,lineWidthMaxPixels:this.props.lineWidthMaxPixels,lineWidthUnits:this.props.lineWidthUnits,lineJointRounded:this.props.lineJointRounded,lineMiterLimit:this.props.lineMiterLimit,pointRadiusScale:this.props.pointRadiusScale,pointRadiusMinPixels:this.props.pointRadiusMinPixels,pointRadiusMaxPixels:this.props.pointRadiusMaxPixels,getLineColor:this.selectionAwareAccessor(this.props.getLineColor),getFillColor:this.selectionAwareAccessor(this.props.getFillColor),getRadius:this.selectionAwareAccessor(this.props.getRadius),getLineWidth:this.selectionAwareAccessor(this.props.getLineWidth),_subLayerProps:{"line-strings":{billboard:this.props.billboard},"polygons-stroke":{billboard:this.props.billboard}},updateTriggers:{getLineColor:[this.props.selectedFeatureIndexes,this.props.mode],getFillColor:[this.props.selectedFeatureIndexes,this.props.mode],getRadius:[this.props.selectedFeatureIndexes,this.props.mode],getLineWidth:[this.props.selectedFeatureIndexes,this.props.mode]}}),t=[new r.GeoJsonLayer(e)];return t=t.concat(this.createGuidesLayers(),this.createTooltipsLayers())}},{key:"initializeState",value:function(){c(I(a.prototype),"initializeState",this).call(this),this.setState({selectedFeatures:[],editHandles:[]})}},{key:"shouldUpdateState",value:function(e){return c(I(a.prototype),"shouldUpdateState",this).call(this,e)||e.changeFlags.stateChanged}},{key:"updateState",value:function(e){var t,A=e.props,n=e.oldProps,r=e.changeFlags;(c(I(a.prototype),"updateState",this).call(this,{oldProps:n,props:A,changeFlags:r}),!r.propsOrDataChanged||0!==Object.keys(n).length&&A.mode===n.mode)||("function"===typeof A.mode?t=new(0,A.mode):"string"===typeof A.mode?(t=D[A.mode],console.warn("Deprecated use of passing `mode` as a string. Pass the mode's class constructor instead.")):t=A.mode,t||(console.warn("No mode configured for ".concat(String(A.mode))),t=new w),t!==this.state.mode&&this.setState({mode:t,cursor:null}));var i=[];Array.isArray(A.selectedFeatureIndexes)&&(i=A.selectedFeatureIndexes.map((function(e){return A.data.features[e]}))),this.setState({selectedFeatures:i})}},{key:"getModeProps",value:function(e){var t=this;return{modeConfig:e.modeConfig,data:e.data,selectedIndexes:e.selectedFeatureIndexes,lastPointerMoveEvent:this.state.lastPointerMoveEvent,cursor:this.state.cursor,onEdit:function(A){t.setNeedsUpdate(),e.onEdit(A)},onUpdateCursor:function(e){t.setState({cursor:e})}}}},{key:"selectionAwareAccessor",value:function(e){var t=this;return"function"!==typeof e?e:function(A){return e(A,t.isFeatureSelected(A),t.props.mode)}}},{key:"isFeatureSelected",value:function(e){if(!this.props.data||!this.props.selectedFeatureIndexes)return!1;if(!this.props.selectedFeatureIndexes.length)return!1;var t=this.props.data.features.indexOf(e);return this.props.selectedFeatureIndexes.includes(t)}},{key:"getPickingInfo",value:function(e){var t=e.info;return e.sourceLayer.id.endsWith("guides")&&(t.isGuide=!0),t}},{key:"createGuidesLayers",value:function(){var e,t=this.getActiveMode().getGuides(this.getModeProps(this.props));return t&&t.features.length?(e="icon"===this.props.editHandleType?{type:r.IconLayer,iconAtlas:this.props.editHandleIconAtlas,iconMapping:this.props.editHandleIconMapping,sizeScale:this.props.editHandleIconSizeScale,getIcon:S(this.props.getEditHandleIcon),getSize:S(this.props.getEditHandleIconSize),getColor:S(this.props.getEditHandleIconColor),getAngle:S(this.props.getEditHandleIconAngle)}:{type:r.ScatterplotLayer,radiusScale:this.props.editHandlePointRadiusScale,stroked:this.props.editHandlePointOutline,getLineWidth:this.props.editHandlePointStrokeWidth,radiusMinPixels:this.props.editHandlePointRadiusMinPixels,radiusMaxPixels:this.props.editHandlePointRadiusMaxPixels,getRadius:S(this.props.getEditHandlePointRadius),getFillColor:S(this.props.getEditHandlePointColor),getLineColor:S(this.props.getEditHandlePointOutlineColor)},[new r.GeoJsonLayer(this.getSubLayerProps({id:"guides",data:t,fp64:this.props.fp64,_subLayerProps:{points:e},lineWidthScale:this.props.lineWidthScale,lineWidthMinPixels:this.props.lineWidthMinPixels,lineWidthMaxPixels:this.props.lineWidthMaxPixels,lineWidthUnits:this.props.lineWidthUnits,lineJointRounded:this.props.lineJointRounded,lineMiterLimit:this.props.lineMiterLimit,getLineColor:S(this.props.getTentativeLineColor),getLineWidth:S(this.props.getTentativeLineWidth),getFillColor:S(this.props.getTentativeFillColor)}))]):[]}},{key:"createTooltipsLayers",value:function(){var e=this.getActiveMode().getTooltips(this.getModeProps(this.props));return[new r.TextLayer(this.getSubLayerProps({id:"tooltips",data:e}))]}},{key:"onLayerClick",value:function(e){this.getActiveMode().handleClick(e,this.getModeProps(this.props))}},{key:"onLayerKeyUp",value:function(e){this.getActiveMode().handleKeyUp(e,this.getModeProps(this.props))}},{key:"onStartDragging",value:function(e){this.getActiveMode().handleStartDragging(e,this.getModeProps(this.props))}},{key:"onDragging",value:function(e){this.getActiveMode().handleDragging(e,this.getModeProps(this.props))}},{key:"onStopDragging",value:function(e){this.getActiveMode().handleStopDragging(e,this.getModeProps(this.props))}},{key:"onPointerMove",value:function(e){this.setState({lastPointerMoveEvent:e}),this.getActiveMode().handlePointerMove(e,this.getModeProps(this.props))}},{key:"getCursor",value:function(e){var t=e.isDragging;if(null===this.state)return null;var A=this.state.cursor;return A||(A=t?"grabbing":"grab"),A}},{key:"getActiveMode",value:function(){return this.state.mode}}])&&g(A.prototype,n),i&&g(A,i),a}(o.default);t.default=G,h(G,"layerName","EditableGeoJsonLayer"),h(G,"defaultProps",R)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ModifyMode=void 0;var n=A(59),r=A(99),i=A(79),o=A(158);function a(e){return(a="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||g(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){if(e){if("string"===typeof e)return c(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(A):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function I(e,t){return!t||"object"!==a(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function C(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}(d,e);var t,A,i,a,c=(t=d,function(){var e,A=h(t);if(C()){var n=h(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return I(this,e)});function d(){return u(this,d),c.apply(this,arguments)}return A=d,(i=[{key:"getGuides",value:function(e){var t,A=this,i=[],o=e.data,a=e.lastPointerMoveEvent,c=o.features,u=a&&a.picks,l=a&&a.mapCoords,I=function(e){if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=g(e))){var t=0,A=function(){};return{s:A,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:A}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,i=!0,o=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){o=!0,r=e},f:function(){try{i||null==n.return||n.return()}finally{if(o)throw r}}}}(e.selectedIndexes);try{for(I.s();!(t=I.n()).done;){var C=t.value;if(C<c.length){var h=c[C].geometry;i.push.apply(i,s((0,r.getEditHandlesForGeometry)(h,C)))}else console.warn("selectedFeatureIndexes out of range ".concat(C))}}catch(v){I.e(v)}finally{I.f()}if(u&&u.length&&l){var f=!(0,r.getPickedExistingEditHandle)(u)&&u.find((function(e){return!e.isGuide}));if(f&&!f.object.geometry.type.includes("Point")&&e.selectedIndexes.includes(f.index)){var d=null,B=[],p=(0,n.point)(l);if((0,r.recursivelyTraverseNestedArrays)(f.object.geometry.coordinates,[],(function(t,r){var i=(0,n.lineString)(t),o=A.getNearestPoint(i,p,e.modeConfig&&e.modeConfig.viewport);(!d||o.properties.dist<d.properties.dist)&&(d=o,B=r)})),d){var E=d,Q=E.geometry.coordinates,y=E.properties.index;i.push({type:"Feature",properties:{guideType:"editHandle",editHandleType:"intermediate",featureIndex:f.index,positionIndexes:[].concat(s(B),[y+1])},geometry:{type:"Point",coordinates:Q}})}}}return{type:"FeatureCollection",features:i}}},{key:"getNearestPoint",value:function(e,t,A){if(e.geometry.coordinates.some((function(e){return e.length>2}))){if(A)return(0,r.nearestPointOnProjectedLine)(e,t,A);console.log("Editing 3D point but modeConfig.viewport not provided. Falling back to 2D logic.")}return(0,r.nearestPointOnLine)(e,t,A)}},{key:"handleClick",value:function(e,t){var A=(0,r.getPickedExistingEditHandle)(e.picks),n=(0,r.getPickedIntermediateEditHandle)(e.picks);if(A){var i,a=A.properties,s=a.featureIndex,g=a.positionIndexes;try{i=new o.ImmutableFeatureCollection(t.data).removePosition(s,g).getObject()}catch(C){}i&&t.onEdit({updatedData:i,editType:"removePosition",editContext:{featureIndexes:[s],positionIndexes:g,position:A.geometry.coordinates}})}else if(n){var c=n.properties,u=c.featureIndex,l=c.positionIndexes,I=new o.ImmutableFeatureCollection(t.data).addPosition(u,l,n.geometry.coordinates).getObject();I&&t.onEdit({updatedData:I,editType:"addPosition",editContext:{featureIndexes:[u],positionIndexes:l,position:n.geometry.coordinates}})}}},{key:"handleDragging",value:function(e,t){var A=(0,r.getPickedEditHandle)(e.pointerDownPicks);if(A){e.cancelPan();var n=A.properties,i=new o.ImmutableFeatureCollection(t.data).replacePosition(n.featureIndex,n.positionIndexes,e.mapCoords).getObject();t.onEdit({updatedData:i,editType:"movePosition",editContext:{featureIndexes:[n.featureIndex],positionIndexes:n.positionIndexes,position:e.mapCoords}})}}},{key:"handlePointerMove",value:function(e,t){var A=this.getCursor(e);t.onUpdateCursor(A)}},{key:"handleStartDragging",value:function(e,t){var A=t.selectedIndexes,n=(0,r.getPickedIntermediateEditHandle)(e.picks);if(A.length&&n){var i=n.properties,a=new o.ImmutableFeatureCollection(t.data).addPosition(i.featureIndex,i.positionIndexes,e.mapCoords).getObject();t.onEdit({updatedData:a,editType:"addPosition",editContext:{featureIndexes:[i.featureIndex],positionIndexes:i.positionIndexes,position:e.mapCoords}})}}},{key:"handleStopDragging",value:function(e,t){var A=t.selectedIndexes,n=(0,r.getPickedEditHandle)(e.picks);if(A.length&&n){var i=n.properties,a=new o.ImmutableFeatureCollection(t.data).replacePosition(i.featureIndex,i.positionIndexes,e.mapCoords).getObject();t.onEdit({updatedData:a,editType:"finishMovePosition",editContext:{featureIndexes:[i.featureIndex],positionIndexes:i.positionIndexes,position:e.mapCoords}})}}},{key:"getCursor",value:function(e){var t=e&&e.picks||[];return(0,r.getPickedEditHandles)(t).length?"cell":null}}])&&l(A.prototype,i),a&&l(A,a),d}(i.GeoJsonEditMode);t.ModifyMode=d},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TranslateMode=void 0;var n=g(A(143)),r=g(A(112)),i=g(A(1153)),o=A(59),a=A(79),s=A(158);function g(e){return e&&e.__esModule?e:{default:e}}function c(e){return(c="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function I(e,t){return!t||"object"!==c(t)&&"function"!==typeof t?C(e):t}function C(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function B(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var p=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&d(e,t)}(p,e);var t,A,a,g,c=(t=p,function(){var e,A=f(t);if(h()){var n=f(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return I(this,e)});function p(){var e;u(this,p);for(var t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return B(C(e=c.call.apply(c,[this].concat(A))),"_geometryBeforeTranslate",void 0),B(C(e),"_isTranslatable",void 0),e}return A=p,(a=[{key:"handleDragging",value:function(e,t){if(this._isTranslatable){if(this._geometryBeforeTranslate){var A=this.getTranslateAction(e.pointerDownMapCoords,e.mapCoords,"translating",t);A&&t.onEdit(A)}e.cancelPan()}}},{key:"handlePointerMove",value:function(e,t){this._isTranslatable=this.isSelectionPicked(e.pointerDownPicks||e.picks,t),this.updateCursor(t)}},{key:"handleStartDragging",value:function(e,t){this._isTranslatable&&(this._geometryBeforeTranslate=this.getSelectedFeaturesAsFeatureCollection(t))}},{key:"handleStopDragging",value:function(e,t){if(this._geometryBeforeTranslate){var A=this.getTranslateAction(e.pointerDownMapCoords,e.mapCoords,"translated",t);A&&t.onEdit(A),this._geometryBeforeTranslate=null}}},{key:"updateCursor",value:function(e){this._isTranslatable?e.onUpdateCursor("move"):e.onUpdateCursor(null)}},{key:"getTranslateAction",value:function(e,t,A,a){if(!this._geometryBeforeTranslate)return null;for(var g=(0,o.point)(e),c=(0,o.point)(t),u=(0,r.default)(g,c),l=(0,n.default)(g,c),I=(0,i.default)(this._geometryBeforeTranslate,u,l),C=new s.ImmutableFeatureCollection(a.data),h=a.selectedIndexes,f=0;f<h.length;f++){var d=h[f],B=I.features[f];C=C.replaceGeometry(d,B.geometry)}return{updatedData:C.getObject(),editType:A,editContext:{featureIndexes:h}}}}])&&l(A.prototype,a),g&&l(A,g),p}(a.GeoJsonEditMode);t.TranslateMode=p},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DrawPolygonMode=void 0;var n=A(99);function r(e){return(r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return o(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return o(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function g(e,t,A){return(g="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e}(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(A):r.value}})(e,t,A||e)}function c(e,t){return!t||"object"!==r(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function u(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function I(e,t){return(I=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var C=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&I(e,t)}(h,e);var t,A,r,o,C=(t=h,function(){var e,A=l(t);if(u()){var n=l(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return c(this,e)});function h(){return a(this,h),C.apply(this,arguments)}return A=h,(r=[{key:"createTentativeFeature",value:function(e){var t,A=e.lastPointerMoveEvent,n=this.getClickSequence(),r=A?[A.mapCoords]:[];return 1===n.length||2===n.length?t={type:"Feature",properties:{guideType:"tentative"},geometry:{type:"LineString",coordinates:[].concat(i(n),r)}}:n.length>2&&(t={type:"Feature",properties:{guideType:"tentative"},geometry:{type:"Polygon",coordinates:[[].concat(i(n),r,[n[0]])]}}),t}},{key:"getGuides",value:function(e){var t,A=this.getClickSequence(),n={type:"FeatureCollection",features:[]},r=this.createTentativeFeature(e);r&&n.features.push(r);var o=A.map((function(e,t){return{type:"Feature",properties:{guideType:"editHandle",editHandleType:"existing",featureIndex:-1,positionIndexes:[t]},geometry:{type:"Point",coordinates:e}}}));return(t=n.features).push.apply(t,i(o)),n}},{key:"handleClick",value:function(e,t){var A=e.picks,r=(0,n.getPickedEditHandle)(A),o=!1;r||(this.addClickSequence(e),o=!0);var a=this.getClickSequence();if(a.length>2&&r&&Array.isArray(r.properties.positionIndexes)&&(0===r.properties.positionIndexes[0]||r.properties.positionIndexes[0]===a.length-1)){var s={type:"Polygon",coordinates:[[].concat(i(a),[a[0]])]};this.resetClickSequence();var g=this.getAddFeatureOrBooleanPolygonAction(s,t);g&&t.onEdit(g)}else o&&t.onEdit({updatedData:t.data,editType:"addTentativePosition",editContext:{position:e.mapCoords}})}},{key:"handleKeyUp",value:function(e,t){if("Enter"===e.key){var A=this.getClickSequence();if(A.length>2){var n={type:"Polygon",coordinates:[[].concat(i(A),[A[0]])]};this.resetClickSequence();var r=this.getAddFeatureOrBooleanPolygonAction(n,t);r&&t.onEdit(r)}}}},{key:"handlePointerMove",value:function(e,t){t.onUpdateCursor("cell"),g(l(h.prototype),"handlePointerMove",this).call(this,e,t)}}])&&s(A.prototype,r),o&&s(A,o),h}(A(79).GeoJsonEditMode);t.DrawPolygonMode=C},function(e,t,A){"use strict";function n(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function r(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(){function e(t,A){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),r(this,"objects",void 0),r(this,"originals",void 0),r(this,"updateTrigger",void 0),r(this,"_idToPosition",void 0),r(this,"_getData",void 0),r(this,"_convert",void 0),this.objects=[],this.originals=[],this.updateTrigger=0,this._idToPosition=new Map,this._getData=t,this._convert=A}var t,A,i;return t=e,(A=[{key:"updateAllDeckObjects",value:function(){var e=this;this._getData&&this._convert&&(this.originals.length=0,this.objects.length=0,this._idToPosition.clear(),this._getData().forEach((function(t){e._idToPosition.set(t.id,e.objects.length),e.originals.push(t),e.objects.push(e._convert(t))})),this.triggerUpdate())}},{key:"updateDeckObjectsByIds",value:function(e){var t=this;this._getData&&this._convert&&(e.forEach((function(e){var A=t._idToPosition.get(e);void 0!==A&&(t.objects[A]=t._convert(t.originals[A]))})),this.triggerUpdate())}},{key:"triggerUpdate",value:function(){this.updateTrigger++}},{key:"getDeckObjectById",value:function(e){var t=this._idToPosition.get(e);return void 0!==t?this.objects[t]:null}},{key:"getOriginalById",value:function(e){var t=this._idToPosition.get(e);return void 0!==t?this.originals[t]:null}}])&&n(t.prototype,A),i&&n(t,i),e}();t.default=i},function(e,t){var A=/^[0-9]+$/,n=function(e,t){var n=A.test(e),r=A.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:e<t?-1:1};e.exports={compareIdentifiers:n,rcompareIdentifiers:function(e,t){return n(t,e)}}},function(e,t,A){var n=A(144);e.exports=function(e,t,A){return 0===n(e,t,A)}},function(e,t,A){var n=A(106);e.exports=function(e,t,A){var r=new n(e,A),i=new n(t,A);return r.compare(i)||r.compareBuild(i)}},function(e,t,A){var n=A(144);e.exports=function(e,t,A){return n(e,t,A)<0}},function(e,t,A){var n=A(144);e.exports=function(e,t,A){return n(e,t,A)>=0}},function(e,t,A){var n=A(144);e.exports=function(e,t,A){return n(e,t,A)<=0}},function(e,t,A){var n=A(642);e.exports=function(e,t){if(e){if("string"===typeof e)return n(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(A):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?n(e,t):void 0}}},function(e,t,A){var n=A(504);e.exports=function(e){if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=n(e))){var t=0,A=function(){};return{s:A,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:A}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}},function(e,t,A){var n=A(106),r=A(374),i=r.ANY,o=A(145),a=A(375),s=A(373),g=A(501),c=A(503),u=A(502);e.exports=function(e,t,A,l){var I,C,h,f,d;switch(e=new n(e,l),t=new o(t,l),A){case">":I=s,C=c,h=g,f=">",d=">=";break;case"<":I=g,C=u,h=s,f="<",d="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(a(e,t,l))return!1;for(var B=function(A){var n=t.set[A],o=null,a=null;return n.forEach((function(e){e.semver===i&&(e=new r(">=0.0.0")),o=o||e,a=a||e,I(e.semver,o.semver,l)?o=e:h(e.semver,a.semver,l)&&(a=e)})),o.operator===f||o.operator===d?{v:!1}:a.operator&&a.operator!==f||!C(e,a.semver)?a.operator===d&&h(e,a.semver)?{v:!1}:void 0:{v:!1}},p=0;p<t.set.length;++p){var E=B(p);if("object"===typeof E)return E.v}return!0}},function(e,t,A){"use strict";A.r(t);var n=A(270),r=A(430),i={centimeters:637100880,centimetres:637100880,degrees:6371008.8/111325,feet:20902260.511392,inches:6371008.8*39.37,kilometers:6371.0088,kilometres:6371.0088,meters:6371008.8,metres:6371008.8,miles:3958.761333810546,millimeters:6371008800,millimetres:6371008800,nauticalmiles:6371008.8/1852,radians:1,yards:6371008.8*1.0936};function o(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function a(e,t){void 0===t&&(t={});var A={type:"FeatureCollection"};return t.id&&(A.id=t.id),t.bbox&&(A.bbox=t.bbox),A.features=e,A}function s(e,t){void 0===t&&(t="kilometers");var A=i[t];if(!A)throw new Error(t+" units is invalid");return e*A}function g(e,t){void 0===t&&(t="kilometers");var A=i[t];if(!A)throw new Error(t+" units is invalid");return e/A}function c(e,t){if("Feature"===e.type)t(e,0);else if("FeatureCollection"===e.type)for(var A=0;A<e.features.length&&!1!==t(e.features[A],A);A++);}function u(e,t){var A,n,r,i,o,a,s,g,c,u,l=0,I="FeatureCollection"===e.type,C="Feature"===e.type,h=I?e.features.length:1;for(A=0;A<h;A++){for(a=I?e.features[A].geometry:C?e.geometry:e,g=I?e.features[A].properties:C?e.properties:{},c=I?e.features[A].bbox:C?e.bbox:void 0,u=I?e.features[A].id:C?e.id:void 0,o=(s=!!a&&"GeometryCollection"===a.type)?a.geometries.length:1,r=0;r<o;r++)if(null!==(i=s?a.geometries[r]:a))switch(i.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===t(i,l,g,c,u))return!1;break;case"GeometryCollection":for(n=0;n<i.geometries.length;n++)if(!1===t(i.geometries[n],l,g,c,u))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===t(null,l,g,c,u))return!1;l++}}var l=function(){return new I};function I(){this.reset()}I.prototype={constructor:I,reset:function(){this.s=this.t=0},add:function(e){h(C,e,this.t),h(this,C.s,this.s),this.s?this.t+=C.t:this.s=C.t},valueOf:function(){return this.s}};var C=new I;function h(e,t,A){var n=e.s=t+A,r=n-t,i=n-r;e.t=t-i+(A-r)}var f=1e-6,d=Math.PI,B=d/2,p=d/4,E=2*d,Q=180/d,y=d/180,v=Math.abs,m=Math.atan,b=Math.atan2,w=Math.cos,S=(Math.ceil,Math.exp),F=(Math.floor,Math.log),R=(Math.pow,Math.sin),D=(Math.sign,Math.sqrt),G=Math.tan;function k(e){return e>1?0:e<-1?d:Math.acos(e)}function x(e){return e>1?B:e<-1?-B:Math.asin(e)}function N(){}function U(e,t){e&&M.hasOwnProperty(e.type)&&M[e.type](e,t)}var _={Feature:function(e,t){U(e.geometry,t)},FeatureCollection:function(e,t){for(var A=e.features,n=-1,r=A.length;++n<r;)U(A[n].geometry,t)}},M={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var A=e.coordinates,n=-1,r=A.length;++n<r;)e=A[n],t.point(e[0],e[1],e[2])},LineString:function(e,t){O(e.coordinates,t,0)},MultiLineString:function(e,t){for(var A=e.coordinates,n=-1,r=A.length;++n<r;)O(A[n],t,0)},Polygon:function(e,t){L(e.coordinates,t)},MultiPolygon:function(e,t){for(var A=e.coordinates,n=-1,r=A.length;++n<r;)L(A[n],t)},GeometryCollection:function(e,t){for(var A=e.geometries,n=-1,r=A.length;++n<r;)U(A[n],t)}};function O(e,t,A){var n,r=-1,i=e.length-A;for(t.lineStart();++r<i;)n=e[r],t.point(n[0],n[1],n[2]);t.lineEnd()}function L(e,t){var A=-1,n=e.length;for(t.polygonStart();++A<n;)O(e[A],t,1);t.polygonEnd()}var T=function(e,t){e&&_.hasOwnProperty(e.type)?_[e.type](e,t):U(e,t)};l(),l();function Z(e){return[b(e[1],e[0]),x(e[2])]}function H(e){var t=e[0],A=e[1],n=w(A);return[n*w(t),n*R(t),R(A)]}function Y(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function J(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function j(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function P(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function V(e){var t=D(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}l();var K=function(e,t){function A(A,n){return A=e(A,n),t(A[0],A[1])}return e.invert&&t.invert&&(A.invert=function(A,n){return(A=t.invert(A,n))&&e.invert(A[0],A[1])}),A};function W(e,t){return[e>d?e-E:e<-d?e+E:e,t]}function X(e,t,A){return(e%=E)?t||A?K(z(e),$(t,A)):z(e):t||A?$(t,A):W}function q(e){return function(t,A){return[(t+=e)>d?t-E:t<-d?t+E:t,A]}}function z(e){var t=q(e);return t.invert=q(-e),t}function $(e,t){var A=w(e),n=R(e),r=w(t),i=R(t);function o(e,t){var o=w(t),a=w(e)*o,s=R(e)*o,g=R(t),c=g*A+a*n;return[b(s*r-c*i,a*A-g*n),x(c*r+s*i)]}return o.invert=function(e,t){var o=w(t),a=w(e)*o,s=R(e)*o,g=R(t),c=g*r-s*i;return[b(s*r+g*i,a*A+c*n),x(c*A-a*n)]},o}W.invert=W;function ee(e,t,A,n,r,i){if(A){var o=w(t),a=R(t),s=n*A;null==r?(r=t+n*E,i=t-s/2):(r=te(o,r),i=te(o,i),(n>0?r<i:r>i)&&(r+=n*E));for(var g,c=r;n>0?c>i:c<i;c-=s)g=Z([o,-a*w(c),-a*R(c)]),e.point(g[0],g[1])}}function te(e,t){(t=H(t))[0]-=e,V(t);var A=k(-t[1]);return((-t[2]<0?-A:A)+E-f)%E}var Ae=function(){var e,t=[];return{point:function(t,A){e.push([t,A])},lineStart:function(){t.push(e=[])},lineEnd:N,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var A=t;return t=[],e=null,A}}},ne=function(e,t){return v(e[0]-t[0])<f&&v(e[1]-t[1])<f};function re(e,t,A,n){this.x=e,this.z=t,this.o=A,this.e=n,this.v=!1,this.n=this.p=null}var ie=function(e,t,A,n,r){var i,o,a=[],s=[];if(e.forEach((function(e){if(!((t=e.length-1)<=0)){var t,A,n=e[0],o=e[t];if(ne(n,o)){for(r.lineStart(),i=0;i<t;++i)r.point((n=e[i])[0],n[1]);r.lineEnd()}else a.push(A=new re(n,e,null,!0)),s.push(A.o=new re(n,null,A,!1)),a.push(A=new re(o,e,null,!1)),s.push(A.o=new re(o,null,A,!0))}})),a.length){for(s.sort(t),oe(a),oe(s),i=0,o=s.length;i<o;++i)s[i].e=A=!A;for(var g,c,u=a[0];;){for(var l=u,I=!0;l.v;)if((l=l.n)===u)return;g=l.z,r.lineStart();do{if(l.v=l.o.v=!0,l.e){if(I)for(i=0,o=g.length;i<o;++i)r.point((c=g[i])[0],c[1]);else n(l.x,l.n.x,1,r);l=l.n}else{if(I)for(g=l.p.z,i=g.length-1;i>=0;--i)r.point((c=g[i])[0],c[1]);else n(l.x,l.p.x,-1,r);l=l.p}g=(l=l.o).z,I=!I}while(!l.v);r.lineEnd()}}};function oe(e){if(t=e.length){for(var t,A,n=0,r=e[0];++n<t;)r.n=A=e[n],A.p=r,r=A;r.n=A=e[0],A.p=r}}var ae=function(e,t){return e<t?-1:e>t?1:e>=t?0:NaN};var se=function(e){var t;return 1===e.length&&(t=e,e=function(e,A){return ae(t(e),A)}),{left:function(t,A,n,r){for(null==n&&(n=0),null==r&&(r=t.length);n<r;){var i=n+r>>>1;e(t[i],A)<0?n=i+1:r=i}return n},right:function(t,A,n,r){for(null==n&&(n=0),null==r&&(r=t.length);n<r;){var i=n+r>>>1;e(t[i],A)>0?r=i:n=i+1}return n}}}(ae);se.right,se.left;var ge=Array.prototype;ge.slice,ge.map,Math.sqrt(50),Math.sqrt(10),Math.sqrt(2);var ce=function(e){for(var t,A,n,r=e.length,i=-1,o=0;++i<r;)o+=e[i].length;for(A=new Array(o);--r>=0;)for(t=(n=e[r]).length;--t>=0;)A[--o]=n[t];return A};function ue(e,t,A,n){function r(r,i){return e<=r&&r<=A&&t<=i&&i<=n}function i(r,i,a,g){var c=0,u=0;if(null==r||(c=o(r,a))!==(u=o(i,a))||s(r,i)<0^a>0)do{g.point(0===c||3===c?e:A,c>1?n:t)}while((c=(c+a+4)%4)!==u);else g.point(i[0],i[1])}function o(n,r){return v(n[0]-e)<f?r>0?0:3:v(n[0]-A)<f?r>0?2:1:v(n[1]-t)<f?r>0?1:0:r>0?3:2}function a(e,t){return s(e.x,t.x)}function s(e,t){var A=o(e,1),n=o(t,1);return A!==n?A-n:0===A?t[1]-e[1]:1===A?e[0]-t[0]:2===A?e[1]-t[1]:t[0]-e[0]}return function(o){var s,g,c,u,l,I,C,h,f,d,B,p=o,E=Ae(),Q={point:y,lineStart:function(){Q.point=v,g&&g.push(c=[]);d=!0,f=!1,C=h=NaN},lineEnd:function(){s&&(v(u,l),I&&f&&E.rejoin(),s.push(E.result()));Q.point=y,f&&p.lineEnd()},polygonStart:function(){p=E,s=[],g=[],B=!0},polygonEnd:function(){var t=function(){for(var t=0,A=0,r=g.length;A<r;++A)for(var i,o,a=g[A],s=1,c=a.length,u=a[0],l=u[0],I=u[1];s<c;++s)i=l,o=I,u=a[s],l=u[0],I=u[1],o<=n?I>n&&(l-i)*(n-o)>(I-o)*(e-i)&&++t:I<=n&&(l-i)*(n-o)<(I-o)*(e-i)&&--t;return t}(),A=B&&t,r=(s=ce(s)).length;(A||r)&&(o.polygonStart(),A&&(o.lineStart(),i(null,null,1,o),o.lineEnd()),r&&ie(s,a,t,i,o),o.polygonEnd());p=o,s=g=c=null}};function y(e,t){r(e,t)&&p.point(e,t)}function v(i,o){var a=r(i,o);if(g&&c.push([i,o]),d)u=i,l=o,I=a,d=!1,a&&(p.lineStart(),p.point(i,o));else if(a&&f)p.point(i,o);else{var s=[C=Math.max(-1e9,Math.min(1e9,C)),h=Math.max(-1e9,Math.min(1e9,h))],E=[i=Math.max(-1e9,Math.min(1e9,i)),o=Math.max(-1e9,Math.min(1e9,o))];!function(e,t,A,n,r,i){var o,a=e[0],s=e[1],g=0,c=1,u=t[0]-a,l=t[1]-s;if(o=A-a,u||!(o>0)){if(o/=u,u<0){if(o<g)return;o<c&&(c=o)}else if(u>0){if(o>c)return;o>g&&(g=o)}if(o=r-a,u||!(o<0)){if(o/=u,u<0){if(o>c)return;o>g&&(g=o)}else if(u>0){if(o<g)return;o<c&&(c=o)}if(o=n-s,l||!(o>0)){if(o/=l,l<0){if(o<g)return;o<c&&(c=o)}else if(l>0){if(o>c)return;o>g&&(g=o)}if(o=i-s,l||!(o<0)){if(o/=l,l<0){if(o>c)return;o>g&&(g=o)}else if(l>0){if(o<g)return;o<c&&(c=o)}return g>0&&(e[0]=a+g*u,e[1]=s+g*l),c<1&&(t[0]=a+c*u,t[1]=s+c*l),!0}}}}}(s,E,e,t,A,n)?a&&(p.lineStart(),p.point(i,o),B=!1):(f||(p.lineStart(),p.point(s[0],s[1])),p.point(E[0],E[1]),a||p.lineEnd(),B=!1)}C=i,h=o,f=a}return Q}}var le=l(),Ie=function(e,t){var A=t[0],n=t[1],r=[R(A),-w(A),0],i=0,o=0;le.reset();for(var a=0,s=e.length;a<s;++a)if(c=(g=e[a]).length)for(var g,c,u=g[c-1],l=u[0],I=u[1]/2+p,C=R(I),h=w(I),B=0;B<c;++B,l=y,C=m,h=S,u=Q){var Q=g[B],y=Q[0],v=Q[1]/2+p,m=R(v),S=w(v),F=y-l,D=F>=0?1:-1,G=D*F,k=G>d,N=C*m;if(le.add(b(N*D*R(G),h*S+N*w(G))),i+=k?F+D*E:F,k^l>=A^y>=A){var U=J(H(u),H(Q));V(U);var _=J(r,U);V(_);var M=(k^F>=0?-1:1)*x(_[2]);(n>M||n===M&&(U[0]||U[1]))&&(o+=k^F>=0?1:-1)}}return(i<-f||i<f&&le<-f)^1&o};l();var Ce=function(e){return e};l(),l();var he=1/0,fe=he,de=-he,Be=de;var pe={point:function(e,t){e<he&&(he=e);e>de&&(de=e);t<fe&&(fe=t);t>Be&&(Be=t)},lineStart:N,lineEnd:N,polygonStart:N,polygonEnd:N,result:function(){var e=[[he,fe],[de,Be]];return de=Be=-(fe=he=1/0),e}};function Ee(e){this._context=e}Ee.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,E)}},result:N};l();function Qe(){this._string=[]}function ye(e){return"m0,"+e+"a"+e+","+e+" 0 1,1 0,"+-2*e+"a"+e+","+e+" 0 1,1 0,"+2*e+"z"}Qe.prototype={_radius:4.5,_circle:ye(4.5),pointRadius:function(e){return(e=+e)!==this._radius&&(this._radius=e,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._string.push("M",e,",",t),this._point=1;break;case 1:this._string.push("L",e,",",t);break;default:null==this._circle&&(this._circle=ye(this._radius)),this._string.push("M",e,",",t,this._circle)}},result:function(){if(this._string.length){var e=this._string.join("");return this._string=[],e}return null}};var ve=function(e,t,A,n){return function(r,i){var o,a,s,g=t(i),c=r.invert(n[0],n[1]),u=Ae(),l=t(u),I=!1,C={point:h,lineStart:d,lineEnd:B,polygonStart:function(){C.point=p,C.lineStart=E,C.lineEnd=Q,a=[],o=[]},polygonEnd:function(){C.point=h,C.lineStart=d,C.lineEnd=B,a=ce(a);var e=Ie(o,c);a.length?(I||(i.polygonStart(),I=!0),ie(a,be,e,A,i)):e&&(I||(i.polygonStart(),I=!0),i.lineStart(),A(null,null,1,i),i.lineEnd()),I&&(i.polygonEnd(),I=!1),a=o=null},sphere:function(){i.polygonStart(),i.lineStart(),A(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function h(t,A){var n=r(t,A);e(t=n[0],A=n[1])&&i.point(t,A)}function f(e,t){var A=r(e,t);g.point(A[0],A[1])}function d(){C.point=f,g.lineStart()}function B(){C.point=h,g.lineEnd()}function p(e,t){s.push([e,t]);var A=r(e,t);l.point(A[0],A[1])}function E(){l.lineStart(),s=[]}function Q(){p(s[0][0],s[0][1]),l.lineEnd();var e,t,A,n,r=l.clean(),g=u.result(),c=g.length;if(s.pop(),o.push(s),s=null,c)if(1&r){if((t=(A=g[0]).length-1)>0){for(I||(i.polygonStart(),I=!0),i.lineStart(),e=0;e<t;++e)i.point((n=A[e])[0],n[1]);i.lineEnd()}}else c>1&&2&r&&g.push(g.pop().concat(g.shift())),a.push(g.filter(me))}return C}};function me(e){return e.length>1}function be(e,t){return((e=e.x)[0]<0?e[1]-B-f:B-e[1])-((t=t.x)[0]<0?t[1]-B-f:B-t[1])}var we=ve((function(){return!0}),(function(e){var t,A=NaN,n=NaN,r=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(i,o){var a=i>0?d:-d,s=v(i-A);v(s-d)<f?(e.point(A,n=(n+o)/2>0?B:-B),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),e.point(i,n),t=0):r!==a&&s>=d&&(v(A-r)<f&&(A-=r*f),v(i-a)<f&&(i-=a*f),n=function(e,t,A,n){var r,i,o=R(e-A);return v(o)>f?m((R(t)*(i=w(n))*R(A)-R(n)*(r=w(t))*R(e))/(r*i*o)):(t+n)/2}(A,n,i,o),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),t=0),e.point(A=i,n=o),r=a},lineEnd:function(){e.lineEnd(),A=n=NaN},clean:function(){return 2-t}}}),(function(e,t,A,n){var r;if(null==e)r=A*B,n.point(-d,r),n.point(0,r),n.point(d,r),n.point(d,0),n.point(d,-r),n.point(0,-r),n.point(-d,-r),n.point(-d,0),n.point(-d,r);else if(v(e[0]-t[0])>f){var i=e[0]<t[0]?d:-d;r=A*i/2,n.point(-i,r),n.point(0,r),n.point(i,r)}else n.point(t[0],t[1])}),[-d,-B]);var Se=function(e,t){var A=w(e),n=A>0,r=v(A)>f;function i(e,t){return w(e)*w(t)>A}function o(e,t,n){var r=[1,0,0],i=J(H(e),H(t)),o=Y(i,i),a=i[0],s=o-a*a;if(!s)return!n&&e;var g=A*o/s,c=-A*a/s,u=J(r,i),l=P(r,g);j(l,P(i,c));var I=u,C=Y(l,I),h=Y(I,I),B=C*C-h*(Y(l,l)-1);if(!(B<0)){var p=D(B),E=P(I,(-C-p)/h);if(j(E,l),E=Z(E),!n)return E;var Q,y=e[0],m=t[0],b=e[1],w=t[1];m<y&&(Q=y,y=m,m=Q);var S=m-y,F=v(S-d)<f;if(!F&&w<b&&(Q=b,b=w,w=Q),F||S<f?F?b+w>0^E[1]<(v(E[0]-y)<f?b:w):b<=E[1]&&E[1]<=w:S>d^(y<=E[0]&&E[0]<=m)){var R=P(I,(-C+p)/h);return j(R,l),[E,Z(R)]}}}function a(t,A){var r=n?e:d-e,i=0;return t<-r?i|=1:t>r&&(i|=2),A<-r?i|=4:A>r&&(i|=8),i}return ve(i,(function(e){var t,A,s,g,c;return{lineStart:function(){g=s=!1,c=1},point:function(u,l){var I,C=[u,l],h=i(u,l),B=n?h?0:a(u,l):h?a(u+(u<0?d:-d),l):0;if(!t&&(g=s=h)&&e.lineStart(),h!==s&&(!(I=o(t,C))||ne(t,I)||ne(C,I))&&(C[0]+=f,C[1]+=f,h=i(C[0],C[1])),h!==s)c=0,h?(e.lineStart(),I=o(C,t),e.point(I[0],I[1])):(I=o(t,C),e.point(I[0],I[1]),e.lineEnd()),t=I;else if(r&&t&&n^h){var p;B&A||!(p=o(C,t,!0))||(c=0,n?(e.lineStart(),e.point(p[0][0],p[0][1]),e.point(p[1][0],p[1][1]),e.lineEnd()):(e.point(p[1][0],p[1][1]),e.lineEnd(),e.lineStart(),e.point(p[0][0],p[0][1])))}!h||t&&ne(t,C)||e.point(C[0],C[1]),t=C,s=h,A=B},lineEnd:function(){s&&e.lineEnd(),t=null},clean:function(){return c|(g&&s)<<1}}}),(function(A,n,r,i){ee(i,e,t,r,A,n)}),n?[0,-e]:[-d,e-d])};function Fe(e){return function(t){var A=new Re;for(var n in e)A[n]=e[n];return A.stream=t,A}}function Re(){}function De(e,t,A){var n=t[1][0]-t[0][0],r=t[1][1]-t[0][1],i=e.clipExtent&&e.clipExtent();e.scale(150).translate([0,0]),null!=i&&e.clipExtent(null),T(A,e.stream(pe));var o=pe.result(),a=Math.min(n/(o[1][0]-o[0][0]),r/(o[1][1]-o[0][1])),s=+t[0][0]+(n-a*(o[1][0]+o[0][0]))/2,g=+t[0][1]+(r-a*(o[1][1]+o[0][1]))/2;return null!=i&&e.clipExtent(i),e.scale(150*a).translate([s,g])}function Ge(e,t,A){return De(e,[[0,0],t],A)}Re.prototype={constructor:Re,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var ke=w(30*y),xe=function(e,t){return+t?function(e,t){function A(n,r,i,o,a,s,g,c,u,l,I,C,h,d){var B=g-n,p=c-r,E=B*B+p*p;if(E>4*t&&h--){var Q=o+l,y=a+I,m=s+C,w=D(Q*Q+y*y+m*m),S=x(m/=w),F=v(v(m)-1)<f||v(i-u)<f?(i+u)/2:b(y,Q),R=e(F,S),G=R[0],k=R[1],N=G-n,U=k-r,_=p*N-B*U;(_*_/E>t||v((B*N+p*U)/E-.5)>.3||o*l+a*I+s*C<ke)&&(A(n,r,i,o,a,s,G,k,F,Q/=w,y/=w,m,h,d),d.point(G,k),A(G,k,F,Q,y,m,g,c,u,l,I,C,h,d))}}return function(t){var n,r,i,o,a,s,g,c,u,l,I,C,h={point:f,lineStart:d,lineEnd:p,polygonStart:function(){t.polygonStart(),h.lineStart=E},polygonEnd:function(){t.polygonEnd(),h.lineStart=d}};function f(A,n){A=e(A,n),t.point(A[0],A[1])}function d(){c=NaN,h.point=B,t.lineStart()}function B(n,r){var i=H([n,r]),o=e(n,r);A(c,u,g,l,I,C,c=o[0],u=o[1],g=n,l=i[0],I=i[1],C=i[2],16,t),t.point(c,u)}function p(){h.point=f,t.lineEnd()}function E(){d(),h.point=Q,h.lineEnd=y}function Q(e,t){B(n=e,t),r=c,i=u,o=l,a=I,s=C,h.point=B}function y(){A(c,u,g,l,I,C,r,i,n,o,a,s,16,t),h.lineEnd=p,p()}return h}}(e,t):function(e){return Fe({point:function(t,A){t=e(t,A),this.stream.point(t[0],t[1])}})}(e)};var Ne=Fe({point:function(e,t){this.stream.point(e*y,t*y)}});function Ue(e){return _e((function(){return e}))()}function _e(e){var t,A,n,r,i,o,a,s,g,c,u=150,l=480,I=250,C=0,h=0,f=0,d=0,B=0,p=null,E=we,v=null,m=Ce,b=.5,w=xe(R,b);function S(e){return[(e=i(e[0]*y,e[1]*y))[0]*u+A,n-e[1]*u]}function F(e){return(e=i.invert((e[0]-A)/u,(n-e[1])/u))&&[e[0]*Q,e[1]*Q]}function R(e,r){return[(e=t(e,r))[0]*u+A,n-e[1]*u]}function G(){i=K(r=X(f,d,B),t);var e=t(C,h);return A=l-e[0]*u,n=I+e[1]*u,k()}function k(){return g=c=null,S}return S.stream=function(e){return g&&c===e?g:g=Ne(E(r,w(m(c=e))))},S.clipAngle=function(e){return arguments.length?(E=+e?Se(p=e*y,6*y):(p=null,we),k()):p*Q},S.clipExtent=function(e){return arguments.length?(m=null==e?(v=o=a=s=null,Ce):ue(v=+e[0][0],o=+e[0][1],a=+e[1][0],s=+e[1][1]),k()):null==v?null:[[v,o],[a,s]]},S.scale=function(e){return arguments.length?(u=+e,G()):u},S.translate=function(e){return arguments.length?(l=+e[0],I=+e[1],G()):[l,I]},S.center=function(e){return arguments.length?(C=e[0]%360*y,h=e[1]%360*y,G()):[C*Q,h*Q]},S.rotate=function(e){return arguments.length?(f=e[0]%360*y,d=e[1]%360*y,B=e.length>2?e[2]%360*y:0,G()):[f*Q,d*Q,B*Q]},S.precision=function(e){return arguments.length?(w=xe(R,b=e*e),k()):D(b)},S.fitExtent=function(e,t){return De(S,e,t)},S.fitSize=function(e,t){return Ge(S,e,t)},function(){return t=e.apply(this,arguments),S.invert=t.invert&&F,G()}}function Me(e){return function(t,A){var n=w(t),r=w(A),i=e(n*r);return[i*r*R(t),i*R(A)]}}function Oe(e){return function(t,A){var n=D(t*t+A*A),r=e(n),i=R(r),o=w(r);return[b(t*i,n*o),x(n&&A*i/n)]}}var Le=Me((function(e){return D(2/(1+e))}));Le.invert=Oe((function(e){return 2*x(e/2)}));var Te=Me((function(e){return(e=k(e))&&e/R(e)}));Te.invert=Oe((function(e){return e}));function Ze(e,t){return[e,F(G((B+t)/2))]}Ze.invert=function(e,t){return[e,2*m(S(t))-B]};function He(e,t){return[e,t]}He.invert=He;function Ye(e,t){var A=w(t),n=w(e)*A;return[A*R(e)/n,R(t)/n]}Ye.invert=Oe(m);function Je(e,t){var A=t*t,n=A*A;return[e*(.8707-.131979*A+n*(n*(.003971*A-.001529*n)-.013791)),t*(1.007226+A*(.015085+n*(.028874*A-.044475-.005916*n)))]}Je.invert=function(e,t){var A,n=t,r=25;do{var i=n*n,o=i*i;n-=A=(n*(1.007226+i*(.015085+o*(.028874*i-.044475-.005916*o)))-t)/(1.007226+i*(.045255+o*(.259866*i-.311325-.005916*11*o)))}while(v(A)>f&&--r>0);return[e/(.8707+(i=n*n)*(i*(i*i*i*(.003971-.001529*i)-.013791)-.131979)),n]};function je(e,t){return[w(t)*R(e),R(t)]}je.invert=Oe(x);function Pe(e,t){var A=w(t),n=1+w(e)*A;return[A*R(e)/n,R(t)/n]}Pe.invert=Oe((function(e){return 2*m(e)}));function Ve(e,t){return[F(G((B+t)/2)),-e]}Ve.invert=function(e,t){return[-t,2*m(S(e))-B]};function Ke(e,t,A,i){var c=e.properties||{},l="Feature"===e.type?e.geometry:e;if("GeometryCollection"===l.type){var I=[];return u(e,(function(e){var n=Ke(e,t,A,i);n&&I.push(n)})),a(I)}var C=function(e){var t=Object(n.default)(e).geometry.coordinates,A=[-t[0],-t[1]];return Ue(Te).scale(79.4188).clipAngle(179.999).rotate(A).scale(6371008.8)}(l),h={type:l.type,coordinates:We(l.coordinates,C)},f=(new r.GeoJSONReader).read(h),d=s(g(t,A),"meters"),B=r.BufferOp.bufferOp(f,d,i);if(!function e(t){return Array.isArray(t[0])?e(t[0]):isNaN(t[0])}((B=(new r.GeoJSONWriter).write(B)).coordinates))return o({type:B.type,coordinates:Xe(B.coordinates,C)},c)}function We(e,t){return"object"!==typeof e[0]?t(e):e.map((function(e){return We(e,t)}))}function Xe(e,t){return"object"!==typeof e[0]?t.invert(e):e.map((function(e){return Xe(e,t)}))}t.default=function(e,t,A){var n=(A=A||{}).units||"kilometers",r=A.steps||8;if(!e)throw new Error("geojson is required");if("object"!==typeof A)throw new Error("options must be an object");if("number"!==typeof r)throw new Error("steps must be an number");if(void 0===t)throw new Error("radius is required");if(r<=0)throw new Error("steps must be greater than 0");var i=[];switch(e.type){case"GeometryCollection":return u(e,(function(e){var A=Ke(e,t,n,r);A&&i.push(A)})),a(i);case"FeatureCollection":return c(e,(function(e){var A=Ke(e,t,n,r);A&&c(A,(function(e){e&&i.push(e)}))})),a(i)}return Ke(e,t,n,r)}},function(e,t,A){"use strict";var n=A(3),r=A.n(n),i=A(12),o=A(6),a=A(7),s=A(1),g=A(4),c=A(25),u=A(170),l=A(115),I=new Map;function C(e){Object(l.a)(e.source&&!e.url||!e.source&&e.url);var t=I.get(e.source||e.url);return t||(e.url&&(t=function(e){if(!e.startsWith("http"))return e;return h((t=e,"try {\n importScripts('".concat(t,"');\n} catch (error) {\n console.error(error);\n throw error;\n}")));var t}(e.url),I.set(e.url,t)),e.source&&(t=h(e.source),I.set(e.source,t))),Object(l.a)(t),t}function h(e){var t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function f(e){return!!e&&(e instanceof ArrayBuffer||("undefined"!==typeof MessagePort&&e instanceof MessagePort||("undefined"!==typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!==typeof OffscreenCanvas&&e instanceof OffscreenCanvas)))}var d=function(){},B=function(){function e(t){Object(s.a)(this,e),Object(c.a)(this,"name",void 0),Object(c.a)(this,"source",void 0),Object(c.a)(this,"url",void 0),Object(c.a)(this,"terminated",!1),Object(c.a)(this,"worker",void 0),Object(c.a)(this,"onMessage",void 0),Object(c.a)(this,"onError",void 0),Object(c.a)(this,"_loadableURL","");var A=t.name,n=t.source,r=t.url;Object(l.a)(n||r),this.name=A,this.source=n,this.url=r,this.onMessage=d,this.onError=function(e){return console.log(e)},this.worker=this._createBrowserWorker()}return Object(g.a)(e,null,[{key:"isSupported",value:function(){return"undefined"!==typeof Worker}}]),Object(g.a)(e,[{key:"destroy",value:function(){this.onMessage=d,this.onError=d,this.worker.terminate(),this.terminated=!0}},{key:"postMessage",value:function(e,t){t=t||function e(t){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=n||new Set;if(t){if(f(t))r.add(t);else if(f(t.buffer))r.add(t.buffer);else if(ArrayBuffer.isView(t));else if(A&&"object"===typeof t)for(var i in t)e(t[i],A,r)}else;return void 0===n?Array.from(r):[]}(e),this.worker.postMessage(e,t)}},{key:"_getErrorFromErrorEvent",value:function(e){var t="Failed to load ";return t+="worker ".concat(this.name,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}},{key:"_createBrowserWorker",value:function(){var e=this;this._loadableURL=C({source:this.source,url:this.url});var t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=function(t){t.data?e.onMessage(t.data):e.onError(new Error("No data received"))},t.onerror=function(t){e.onError(e._getErrorFromErrorEvent(t)),e.terminated=!0},t.onmessageerror=function(e){return console.error(e)},t}},{key:"isRunning",get:function(){return Boolean(this.onMessage)}}]),e}(),p=function(){function e(t,A){var n=this;Object(s.a)(this,e),Object(c.a)(this,"name",void 0),Object(c.a)(this,"workerThread",void 0),Object(c.a)(this,"isRunning",void 0),Object(c.a)(this,"result",void 0),Object(c.a)(this,"_resolve",void 0),Object(c.a)(this,"_reject",void 0),this.name=t,this.workerThread=A,this.isRunning=!0,this._resolve=function(){},this._reject=function(){},this.result=new Promise((function(e,t){n._resolve=e,n._reject=t}))}return Object(g.a)(e,[{key:"postMessage",value:function(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}},{key:"done",value:function(e){Object(l.a)(this.isRunning),this.isRunning=!1,this._resolve(e)}},{key:"error",value:function(e){Object(l.a)(this.isRunning),this.isRunning=!1,this._reject(e)}}]),e}(),E=function(){function e(t){Object(s.a)(this,e),Object(c.a)(this,"name","unnamed"),Object(c.a)(this,"source",void 0),Object(c.a)(this,"url",void 0),Object(c.a)(this,"maxConcurrency",1),Object(c.a)(this,"maxMobileConcurrency",1),Object(c.a)(this,"onDebug",(function(){})),Object(c.a)(this,"reuseWorkers",!0),Object(c.a)(this,"props",{}),Object(c.a)(this,"jobQueue",[]),Object(c.a)(this,"idleQueue",[]),Object(c.a)(this,"count",0),Object(c.a)(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}return Object(g.a)(e,[{key:"destroy",value:function(){this.idleQueue.forEach((function(e){return e.destroy()})),this.isDestroyed=!0}},{key:"setProps",value:function(e){this.props=Object(a.a)({},this.props,{},e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}},{key:"startJob",value:function(){var e=Object(i.a)(r.a.mark((function e(t){var A,n,i,o=this,a=arguments;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=a.length>1&&void 0!==a[1]?a[1]:function(e,t,A){return e.done(A)},n=a.length>2&&void 0!==a[2]?a[2]:function(e,t){return e.error(t)},i=new Promise((function(e){return o.jobQueue.push({name:t,onMessage:A,onError:n,onStart:e}),o})),this._startQueuedJob(),e.next=6,i;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"_startQueuedJob",value:function(){var e=Object(i.a)(r.a.mark((function e(){var t,A,n;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.jobQueue.length){e.next=2;break}return e.abrupt("return");case 2:if(t=this._getAvailableWorker()){e.next=5;break}return e.abrupt("return");case 5:if(!(A=this.jobQueue.shift())){e.next=18;break}return this.onDebug({message:"Starting job",name:A.name,workerThread:t,backlog:this.jobQueue.length}),n=new p(A.name,t),t.onMessage=function(e){return A.onMessage(n,e.type,e.payload)},t.onError=function(e){return A.onError(n,e)},A.onStart(n),e.prev=12,e.next=15,n.result;case 15:return e.prev=15,this.returnWorkerToQueue(t),e.finish(15);case 18:case"end":return e.stop()}}),e,this,[[12,,15,18]])})));return function(){return e.apply(this,arguments)}}()},{key:"returnWorkerToQueue",value:function(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}},{key:"_getAvailableWorker",value:function(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;var e="".concat(this.name.toLowerCase()," (#").concat(this.count," of ").concat(this.maxConcurrency,")");return new B({name:e,source:this.source,url:this.url})}return null}},{key:"_getMaxConcurrency",value:function(){return u.c?this.maxMobileConcurrency:this.maxConcurrency}}]),e}(),Q={maxConcurrency:3,maxMobileConcurrency:1,onDebug:function(){},reuseWorkers:!0},y=function(){function e(t){Object(s.a)(this,e),Object(c.a)(this,"props",void 0),Object(c.a)(this,"workerPools",new Map),this.props=Object(a.a)({},Q),this.setProps(t),this.workerPools=new Map}return Object(g.a)(e,null,[{key:"isSupported",value:function(){return B.isSupported()}},{key:"getWorkerFarm",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}}]),Object(g.a)(e,[{key:"destroy",value:function(){var e,t=Object(o.a)(this.workerPools.values());try{for(t.s();!(e=t.n()).done;){e.value.destroy()}}catch(A){t.e(A)}finally{t.f()}}},{key:"setProps",value:function(e){this.props=Object(a.a)({},this.props,{},e);var t,A=Object(o.a)(this.workerPools.values());try{for(A.s();!(t=A.n()).done;){t.value.setProps(this._getWorkerPoolProps())}}catch(n){A.e(n)}finally{A.f()}}},{key:"getWorkerPool",value:function(e){var t=e.name,A=e.source,n=e.url,r=this.workerPools.get(t);return r||((r=new E({name:t,source:A,url:n})).setProps(this._getWorkerPoolProps()),this.workerPools.set(t,r)),r}},{key:"_getWorkerPoolProps",value:function(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}]),e}();Object(c.a)(y,"_workerFarm",void 0);function v(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t[e.id]||{},n="".concat(e.id,"-worker.js"),r=A.workerUrl;if("test"===t._workerType&&(r="modules/".concat(e.module,"/dist/").concat(n)),!r){var i=e.version;"latest"===i&&(i="latest");var o=i?"@".concat(i):"";r="https://unpkg.com/@loaders.gl/".concat(e.module).concat(o,"/dist/").concat(n)}return Object(l.a)(r),r}function m(e,t){return!!y.isSupported()&&(e.worker&&(null===t||void 0===t?void 0:t.worker))}function b(e,t,A,n,r){return w.apply(this,arguments)}function w(){return(w=Object(i.a)(r.a.mark((function e(t,A,n,i,o){var a,s,g,c,u,l;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.id,s=v(t,n),g=y.getWorkerFarm(n),c=g.getWorkerPool({name:a,url:s}),n=JSON.parse(JSON.stringify(n)),e.next=7,c.startJob("process-on-worker",S.bind(null,o));case 7:return(u=e.sent).postMessage("process",{input:A,options:n}),e.next=11,u.result;case 11:return l=e.sent,e.next=14,l.result;case 14:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function S(e,t,A,n){return F.apply(this,arguments)}function F(){return(F=Object(i.a)(r.a.mark((function e(t,A,n,i){var o,a,s,g,c;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=n,e.next="done"===e.t0?3:"error"===e.t0?5:"process"===e.t0?7:20;break;case 3:return A.done(i),e.abrupt("break",21);case 5:return A.error(i.error),e.abrupt("break",21);case 7:return o=i.id,a=i.input,s=i.options,e.prev=8,e.next=11,t(a,s);case 11:g=e.sent,A.postMessage("done",{id:o,result:g}),e.next=19;break;case 15:e.prev=15,e.t1=e.catch(8),c=e.t1 instanceof Error?e.t1.message:"unknown error",A.postMessage("error",{id:o,error:c});case 19:return e.abrupt("break",21);case 20:console.warn("parse-with-worker unknown message ".concat(n));case 21:case"end":return e.stop()}}),e,null,[[8,15]])})))).apply(this,arguments)}A.d(t,"a",(function(){return m})),A.d(t,"b",(function(){return b}))},function(e,t,A){"use strict";A.r(t);var n={centimeters:637100880,centimetres:637100880,degrees:6371008.8/111325,feet:20902260.511392,inches:6371008.8*39.37,kilometers:6371.0088,kilometres:6371.0088,meters:6371008.8,metres:6371008.8,miles:3958.761333810546,millimeters:6371008800,millimetres:6371008800,nauticalmiles:6371008.8/1852,radians:1,yards:6371008.8*1.0936};function r(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function i(e,t,A){if(void 0===A&&(A={}),!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!c(e[0])||!c(e[1]))throw new Error("coordinates must contain numbers");return r({type:"Point",coordinates:e},t,A)}function o(e,t,A){void 0===A&&(A={});for(var n=0,i=e;n<i.length;n++){var o=i[n];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var a=0;a<o[o.length-1].length;a++)if(o[o.length-1][a]!==o[0][a])throw new Error("First and last Position are not equivalent.")}return r({type:"Polygon",coordinates:e},t,A)}function a(e,t){void 0===t&&(t="kilometers");var A=n[t];if(!A)throw new Error(t+" units is invalid");return e/A}function s(e){return 180*(e%(2*Math.PI))/Math.PI}function g(e){return e%360*Math.PI/180}function c(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)}function u(e,t,A,n){void 0===n&&(n={});var r=function(e){if(!e)throw new Error("coord is required");if(!Array.isArray(e)){if("Feature"===e.type&&null!==e.geometry&&"Point"===e.geometry.type)return e.geometry.coordinates;if("Point"===e.type)return e.coordinates}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return e;throw new Error("coord must be GeoJSON Point or an Array of numbers")}(e),o=g(r[0]),c=g(r[1]),u=g(A),l=a(t,n.units),I=Math.asin(Math.sin(c)*Math.cos(l)+Math.cos(c)*Math.sin(l)*Math.cos(u));return i([s(o+Math.atan2(Math.sin(u)*Math.sin(l)*Math.cos(c),Math.cos(l)-Math.sin(c)*Math.sin(I))),s(I)],n.properties)}t.default=function(e,t,A){void 0===A&&(A={});for(var n=A.steps||64,r=A.properties?A.properties:!Array.isArray(e)&&"Feature"===e.type&&e.properties?e.properties:{},i=[],a=0;a<n;a++)i.push(u(e,t,-360*a/n,A).geometry.coordinates);return i.push(i[0]),o([i],r)}},function(e,t,A){"use strict";A.r(t);function n(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function r(e,t,A){if(void 0===A&&(A={}),e.length<2)throw new Error("coordinates must be an array of two or more positions");return n({type:"LineString",coordinates:e},t,A)}function i(e,t){void 0===t&&(t={});var A={type:"FeatureCollection"};return t.id&&(A.id=t.id),t.bbox&&(A.bbox=t.bbox),A.features=e,A}function o(e,t,A){return void 0===A&&(A={}),n({type:"MultiLineString",coordinates:e},t,A)}function a(e){return"Feature"===e.type?e.geometry:e}A.d(t,"polygonToLine",(function(){return s})),A.d(t,"multiPolygonToLine",(function(){return g})),A.d(t,"coordsToLine",(function(){return c}));t.default=function(e,t){void 0===t&&(t={});var A=a(e);switch(t.properties||"Feature"!==e.type||(t.properties=e.properties),A.type){case"Polygon":return s(A,t);case"MultiPolygon":return g(A,t);default:throw new Error("invalid poly")}};function s(e,t){return void 0===t&&(t={}),c(a(e).coordinates,t.properties?t.properties:"Feature"===e.type?e.properties:{})}function g(e,t){void 0===t&&(t={});var A=a(e).coordinates,n=t.properties?t.properties:"Feature"===e.type?e.properties:{},r=[];return A.forEach((function(e){r.push(c(e,n))})),i(r)}function c(e,t){return e.length>1?o(e,t):r(e[0],t)}},function(e,t,A){"use strict";A.d(t,"a",(function(){return C}));var n=A(6),r=A(7),i=A(1),o=A(4),a=A(16),s=A(17),g=A(9),c=A(10),u=A(384),l=A(77),I=A(147),C=function(e){Object(g.a)(A,e);var t=Object(c.a)(A);function A(){return Object(i.a)(this,A),t.apply(this,arguments)}return Object(o.a)(A,[{key:"getSubLayers",value:function(){return this.internalState&&this.internalState.subLayers||[]}},{key:"initializeState",value:function(){}},{key:"setState",value:function(e){Object(s.a)(Object(a.a)(A.prototype),"setState",this).call(this,e),this.setNeedsUpdate()}},{key:"getPickingInfo",value:function(e){var t=e.info,A=t.object;return A&&A.__source&&A.__source.parent&&A.__source.parent.id===this.id?(t.object=A.__source.object,t.index=A.__source.index,t):t}},{key:"renderLayers",value:function(){return null}},{key:"filterSubLayer",value:function(e){return!0}},{key:"shouldRenderSubLayer",value:function(e,t){return t&&t.length}},{key:"getSubLayerClass",value:function(e,t){var A=this.props._subLayerProps;return A&&A[e]&&A[e].type||t}},{key:"getSubLayerRow",value:function(e,t,A){return e.__source={parent:this,object:t,index:A},e}},{key:"getSubLayerAccessor",value:function(e){if("function"===typeof e){var t={data:this.props.data,target:[]};return function(A,n){return A&&A.__source?(t.index=A.__source.index,e(A.__source.object,t)):e(A,n)}}return e}},{key:"getSubLayerProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.props,A=t.opacity,i=t.pickable,o=t.visible,a=t.parameters,s=t.getPolygonOffset,g=t.highlightedObjectIndex,c=t.autoHighlight,u=t.highlightColor,l=t.coordinateSystem,I=t.coordinateOrigin,C=t.wrapLongitude,h=t.positionFormat,f=t.modelMatrix,d=t.extensions,B=t.fetch,p=t._subLayerProps,E={opacity:A,pickable:i,visible:o,parameters:a,getPolygonOffset:s,highlightedObjectIndex:g,autoHighlight:c,highlightColor:u,coordinateSystem:l,coordinateOrigin:I,wrapLongitude:C,positionFormat:h,modelMatrix:f,extensions:d,fetch:B},Q=p&&p[e.id],y=Q&&Q.updateTriggers,v=e.id||"sublayer";if(Q){var m=this.constructor._propTypes,b=e.type?e.type._propTypes:{};for(var w in Q){var S=b[w]||m[w];S&&"accessor"===S.type&&(Q[w]=this.getSubLayerAccessor(Q[w]))}}Object.assign(E,e,Q),E.id="".concat(this.props.id,"-").concat(v),E.updateTriggers=Object(r.a)({all:this.props.updateTriggers.all},e.updateTriggers,{},y);var F,R=Object(n.a)(d);try{for(R.s();!(F=R.n()).done;){var D=F.value,G=D.getSubLayerProps.call(this,D);G&&Object.assign(E,G,{updateTriggers:Object.assign(E.updateTriggers,G.updateTriggers)})}}catch(k){R.e(k)}finally{R.f()}return E}},{key:"_updateAutoHighlight",value:function(e){var t,A=Object(n.a)(this.getSubLayers());try{for(A.s();!(t=A.n()).done;){t.value.updateAutoHighlight(e)}}catch(r){A.e(r)}finally{A.f()}}},{key:"_getAttributeManager",value:function(){return null}},{key:"_renderLayers",value:function(){var e=this.internalState.subLayers,t=!e||this.needsUpdate();t&&(e=this.renderLayers(),e=Object(I.b)(e,Boolean),this.internalState.subLayers=e),Object(l.a)("compositeLayer.renderLayers",this,t,e);var A,r=Object(n.a)(e);try{for(r.s();!(A=r.n()).done;){A.value.parent=this}}catch(i){r.e(i)}finally{r.f()}}},{key:"isComposite",get:function(){return!0}},{key:"isLoaded",get:function(){return Object(s.a)(Object(a.a)(A.prototype),"isLoaded",this)&&this.getSubLayers().every((function(e){return e.isLoaded}))}}]),A}(u.a);C.layerName="CompositeLayer"},function(e,t,A){"use strict";A.r(t);function n(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function r(e,t,A){if(void 0===A&&(A={}),!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!i(e[0])||!i(e[1]))throw new Error("coordinates must contain numbers");return n({type:"Point",coordinates:e},t,A)}function i(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)}function o(e){return!!e&&e.constructor===Object}function a(e,t,A){if(null!==e)for(var n,r,i,o,s,g,c,u,l=0,I=0,C=e.type,h="FeatureCollection"===C,f="Feature"===C,d=h?e.features.length:1,B=0;B<d;B++){s=(u=!!(c=h?e.features[B].geometry:f?e.geometry:e)&&"GeometryCollection"===c.type)?c.geometries.length:1;for(var p=0;p<s;p++){var E=0,Q=0;if(null!==(o=u?c.geometries[p]:c)){g=o.coordinates;var y=o.type;switch(l=!A||"Polygon"!==y&&"MultiPolygon"!==y?0:1,y){case null:break;case"Point":if(!1===t(g,I,B,E,Q))return!1;I++,E++;break;case"LineString":case"MultiPoint":for(n=0;n<g.length;n++){if(!1===t(g[n],I,B,E,Q))return!1;I++,"MultiPoint"===y&&E++}"LineString"===y&&E++;break;case"Polygon":case"MultiLineString":for(n=0;n<g.length;n++){for(r=0;r<g[n].length-l;r++){if(!1===t(g[n][r],I,B,E,Q))return!1;I++}"MultiLineString"===y&&E++,"Polygon"===y&&Q++}"Polygon"===y&&E++;break;case"MultiPolygon":for(n=0;n<g.length;n++){for(Q=0,r=0;r<g[n].length;r++){for(i=0;i<g[n][r].length-l;i++){if(!1===t(g[n][r][i],I,B,E,Q))return!1;I++}Q++}E++}break;case"GeometryCollection":for(n=0;n<o.geometries.length;n++)if(!1===a(o.geometries[n],t,A))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}var s=function(e,t){void 0===t&&(t={});var A=0,n=0,i=0;return a(e,(function(e){A+=e[0],n+=e[1],i++}),!0),r([A/i,n/i],t.properties)},g=A(424),c=A(285),u=A(179),l=A(208);t.default=function(e,t,A){if(!o(A=A||{}))throw new Error("options is invalid");var n=A.pivot,r=A.mutate;if(!e)throw new Error("geojson is required");if(void 0===t||null===t||isNaN(t))throw new Error("angle is required");return 0===t||(n||(n=s(e)),!1!==r&&void 0!==r||(e=Object(l.a)(e)),a(e,(function(e){var A=Object(g.a)(n,e)+t,r=Object(c.a)(n,e),i=function(e){if(Array.isArray(e))return e;if("Feature"===e.type){if(null!==e.geometry)return e.geometry.coordinates}else if(e.coordinates)return e.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}(Object(u.a)(n,r,A));e[0]=i[0],e[1]=i[1]}))),e}},function(e,t,A){"use strict";var n=A(666),r=A(1286),i=A(62),o=A(41),a=A(77);var s={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(e){var t=e[0],A=e[e.length-1];return"{"===t&&"}"===A||"["===t&&"]"===A},parseTextSync:JSON.parse},g=i.global.deck&&i.global.deck.VERSION;if(g&&"8.6.0"!==g)throw new Error("deck.gl - multiple versions detected: ".concat(g," vs ").concat("8.6.0"));g||(o.a.log(1,"deck.gl ".concat("8.6.0"))(),i.global.deck=Object.assign(i.global.deck||{},{VERSION:"8.6.0",version:"8.6.0",log:o.a,_registerLoggers:a.b}),Object(n.b)([s,[r.a,{imagebitmap:{premultiplyAlpha:"none"}}]]));t.a=i.global.deck},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(0);t.default=function(){var e=n.createContext(void 0);return{Provider:function(t){var A=t.initialStore,r=t.createStore,i=t.children,o=n.useRef();return o.current||(A&&(console.warn("Provider initialStore is deprecated and will be removed in the next version."),r||(r=function(){return A})),o.current=r()),n.createElement(e.Provider,{value:o.current},i)},useStore:function(t,A){void 0===A&&(A=Object.is);var r=n.useContext(e);if(!r)throw new Error("Seems like you have not used zustand provider as an ancestor.");return r(t,A)},useStoreApi:function(){var t=n.useContext(e);if(!t)throw new Error("Seems like you have not used zustand provider as an ancestor.");return n.useMemo((function(){return{getState:t.getState,setState:t.setState,subscribe:t.subscribe,destroy:t.destroy}}),[t])}}}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(Object.is(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var A=Object.keys(e);if(A.length!==Object.keys(t).length)return!1;for(var n=0;n<A.length;n++)if(!Object.prototype.hasOwnProperty.call(t,A[n])||!Object.is(e[A[n]],t[A[n]]))return!1;return!0}},function(e,t,A){e.exports=A(553).default,e.exports.utils=A(249),e.exports.Responsive=A(811).default,e.exports.Responsive.utils=A(558),e.exports.WidthProvider=A(812).default},function(e,t,A){"use strict";var n,r,i;r=[],void 0===(i="function"===typeof(n=function(){function e(){return!0}function t(){return!1}function A(){}return function n(){var r=[{name:"number",test:function(e){return"number"===typeof e}},{name:"string",test:function(e){return"string"===typeof e}},{name:"boolean",test:function(e){return"boolean"===typeof e}},{name:"Function",test:function(e){return"function"===typeof e}},{name:"Array",test:Array.isArray},{name:"Date",test:function(e){return e instanceof Date}},{name:"RegExp",test:function(e){return e instanceof RegExp}},{name:"Object",test:function(e){return"object"===typeof e&&null!==e&&e.constructor===Object}},{name:"null",test:function(e){return null===e}},{name:"undefined",test:function(e){return void 0===e}}],i={name:"any",test:e},o=[],a=[],s={types:r,conversions:a,ignore:o};function g(e){var t=L(s.types,(function(t){return t.name===e}));if(t)return t;if("any"===e)return i;var A=L(s.types,(function(t){return t.name.toLowerCase()===e.toLowerCase()}));throw new TypeError('Unknown type "'+e+'"'+(A?'. Did you mean "'+A.name+'"?':""))}function c(e){return e===i?999:s.types.indexOf(e)}function u(e){var t=L(s.types,(function(t){return t.test(e)}));if(t)return t.name;throw new TypeError("Value has unknown type. Value: "+e)}function l(e){return e.map((function(e){var t=e.types.map(E);return(e.restParam?"...":"")+t.join("|")})).join(",")}function I(e,t){var A=0===e.indexOf("..."),n=(A?e.length>3?e.slice(3):"any":e).split("|").map(k).filter(x).filter(G),r=function(e,t){var A={};return e.forEach((function(e){-1!==t.indexOf(e.from)||-1===t.indexOf(e.to)||A[e.from]||(A[e.from]=e)})),Object.keys(A).map((function(e){return A[e]}))}(t,n),i=n.map((function(e){var t=g(e);return{name:e,typeIndex:c(t),test:t.test,conversion:null,conversionIndex:-1}})),o=r.map((function(e){var A=g(e.from);return{name:e.from,typeIndex:c(A),test:A.test,conversion:e,conversionIndex:t.indexOf(e)}}));return{types:i.concat(o),restParam:A}}function C(e){var t=_(e);return!!t&&t.restParam}function h(e){return e.types.some((function(e){return null!=e.conversion}))}function f(t){if(t&&0!==t.types.length){if(1===t.types.length)return g(t.types[0].name).test;if(2===t.types.length){var A=g(t.types[0].name).test,n=g(t.types[1].name).test;return function(e){return A(e)||n(e)}}var r=t.types.map((function(e){return g(e.name).test}));return function(e){for(var t=0;t<r.length;t++)if(r[t](e))return!0;return!1}}return e}function d(e){var t,A,n,r;if(C(e)){var i=(t=(r=e,r.slice(0,r.length-1)).map(f)).length,o=f(_(e));return function(e){for(var A=0;A<t.length;A++)if(!t[A](e[A]))return!1;return function(e){for(var t=i;t<e.length;t++)if(!o(e[t]))return!1;return!0}(e)&&e.length>=i+1}}return 0===e.length?function(e){return 0===e.length}:1===e.length?(A=f(e[0]),function(e){return A(e[0])&&1===e.length}):2===e.length?(A=f(e[0]),n=f(e[1]),function(e){return A(e[0])&&n(e[1])&&2===e.length}):(t=e.map(f),function(e){for(var A=0;A<t.length;A++)if(!t[A](e[A]))return!1;return e.length===t.length})}function B(e,t){return t<e.params.length?e.params[t]:C(e.params)?_(e.params):null}function p(e,t,A){var n=B(e,t);return(n?A?n.types.filter(Q):n.types:[]).map(E)}function E(e){return e.name}function Q(e){return null===e.conversion||void 0===e.conversion}function y(e,t){var A=function(e){for(var t={},A=0;A<e.length;A++)t[e[A]]=!0;return Object.keys(t)}(T(e,(function(e){return p(e,t,!1)})));return-1!==A.indexOf("any")?["any"]:A}function v(e,t,A){var n,r,i,o=e||"unnamed",a=A;for(i=0;i<t.length;i++){var s=a.filter((function(e){var A=f(B(e,i));return(i<e.params.length||C(e.params))&&A(t[i])}));if(0===s.length){if((r=y(a,i)).length>0){var g=u(t[i]);return(n=new TypeError("Unexpected type of argument in function "+o+" (expected: "+r.join(" or ")+", actual: "+g+", index: "+i+")")).data={category:"wrongType",fn:o,index:i,actual:g,expected:r},n}}else a=s}var c=a.map((function(e){return C(e.params)?1/0:e.params.length}));if(t.length<Math.min.apply(null,c))return r=y(a,i),(n=new TypeError("Too few arguments in function "+o+" (expected: "+r.join(" or ")+", index: "+t.length+")")).data={category:"tooFewArgs",fn:o,index:t.length,expected:r},n;var l=Math.max.apply(null,c);return t.length>l?((n=new TypeError("Too many arguments in function "+o+" (expected: "+l+", actual: "+t.length+")")).data={category:"tooManyArgs",fn:o,index:t.length,expectedLength:l},n):((n=new TypeError('Arguments of type "'+t.join(", ")+'" do not match any of the defined signatures of function '+o+".")).data={category:"mismatch",actual:t.map(u)},n)}function m(e){for(var t=999,A=0;A<e.types.length;A++)Q(e.types[A])&&(t=Math.min(t,e.types[A].typeIndex));return t}function b(e){for(var t=999,A=0;A<e.types.length;A++)Q(e.types[A])||(t=Math.min(t,e.types[A].conversionIndex));return t}function w(e,t){var A;return 0!==(A=e.restParam-t.restParam)||0!==(A=h(e)-h(t))||0!==(A=m(e)-m(t))?A:b(e)-b(t)}function S(e,t){var A,n,r=Math.min(e.params.length,t.params.length);if(0!==(n=e.params.some(h)-t.params.some(h)))return n;for(A=0;A<r;A++)if(0!==(n=h(e.params[A])-h(t.params[A])))return n;for(A=0;A<r;A++)if(0!==(n=w(e.params[A],t.params[A])))return n;return e.params.length-t.params.length}function F(e){var t,A,n,r,i=[],o=[];switch(e.types.forEach((function(e){e.conversion&&(i.push(g(e.conversion.from).test),o.push(e.conversion.convert))})),o.length){case 0:return function(e){return e};case 1:return t=i[0],n=o[0],function(e){return t(e)?n(e):e};case 2:return t=i[0],A=i[1],n=o[0],r=o[1],function(e){return t(e)?n(e):A(e)?r(e):e};default:return function(e){for(var t=0;t<o.length;t++)if(i[t](e))return o[t](e);return e}}}function R(e,t){return function e(A,n,r){if(n<A.length){var i,o=A[n],a=t?o.types.filter(Q):o.types;if(o.restParam){var s=a.filter(Q);i=s.length<a.length?[s,a]:[a]}else i=a.map((function(e){return[e]}));return T(i,(function(t){return e(A,n+1,r.concat([t]))}))}return[r.map((function(e,t){return{types:e,restParam:t===A.length-1&&C(A)}}))]}(e,0,[])}function D(e,n){if(0===Object.keys(n).length)throw new SyntaxError("No signatures provided");var r=[];Object.keys(n).map((function(e){return function(e,t,A){var n=[];return""!==e.trim()&&(n=e.split(",").map(k).map((function(e,t,n){var r=I(e,A);if(r.restParam&&t!==n.length-1)throw new SyntaxError('Unexpected rest parameter "'+e+'": only allowed for the last parameter');return r}))),n.some(U)?null:{params:n,fn:t}}(e,n[e],s.conversions)})).filter(N).forEach((function(e){var t=L(r,(function(t){return function(e,t){for(var A=Math.max(e.params.length,t.params.length),n=0;n<A;n++)if(!O(p(e,n,!0),p(t,n,!0)))return!1;var r=e.params.length,i=t.params.length,o=C(e.params),a=C(t.params);return o?a?r===i:i>=r:a?r>=i:r===i}(t,e)}));if(t)throw new TypeError('Conflicting signatures "'+l(t.params)+'" and "'+l(e.params)+'".');r.push(e)}));var i=T(r,(function(e){return(e?R(e.params,!1):[]).map((function(t){return{params:t,fn:e.fn}}))})).filter(N);i.sort(S);var o=i[0]&&i[0].params.length<=2&&!C(i[0].params),a=i[1]&&i[1].params.length<=2&&!C(i[1].params),g=i[2]&&i[2].params.length<=2&&!C(i[2].params),c=i[3]&&i[3].params.length<=2&&!C(i[3].params),u=i[4]&&i[4].params.length<=2&&!C(i[4].params),B=i[5]&&i[5].params.length<=2&&!C(i[5].params),E=o&&a&&g&&c&&u&&B,Q=i.map((function(e){return d(e.params)})),y=o?f(i[0].params[0]):t,m=a?f(i[1].params[0]):t,b=g?f(i[2].params[0]):t,w=c?f(i[3].params[0]):t,D=u?f(i[4].params[0]):t,G=B?f(i[5].params[0]):t,x=o?f(i[0].params[1]):t,_=a?f(i[1].params[1]):t,Z=g?f(i[2].params[1]):t,H=c?f(i[3].params[1]):t,Y=u?f(i[4].params[1]):t,J=B?f(i[5].params[1]):t,j=i.map((function(e){return function(e,t){var A=t;if(e.some(h)){var n=C(e),r=e.map(F);A=function(){for(var e=[],A=n?arguments.length-1:arguments.length,i=0;i<A;i++)e[i]=r[i](arguments[i]);return n&&(e[A]=arguments[A].map(r[A])),t.apply(this,e)}}var i=A;if(C(e)){var o=e.length-1;i=function(){return A.apply(this,M(arguments,0,o).concat([M(arguments,o)]))}}return i}(e.params,e.fn)})),P=o?j[0]:A,V=a?j[1]:A,K=g?j[2]:A,W=c?j[3]:A,X=u?j[4]:A,q=B?j[5]:A,z=o?i[0].params.length:-1,$=a?i[1].params.length:-1,ee=g?i[2].params.length:-1,te=c?i[3].params.length:-1,Ae=u?i[4].params.length:-1,ne=B?i[5].params.length:-1,re=E?6:0,ie=i.length,oe=function(){for(var t=re;t<ie;t++)if(Q[t](arguments))return j[t].apply(this,arguments);throw v(e,arguments,i)},ae=function e(t,A){return arguments.length===z&&y(t)&&x(A)?P.apply(e,arguments):arguments.length===$&&m(t)&&_(A)?V.apply(e,arguments):arguments.length===ee&&b(t)&&Z(A)?K.apply(e,arguments):arguments.length===te&&w(t)&&H(A)?W.apply(e,arguments):arguments.length===Ae&&D(t)&&Y(A)?X.apply(e,arguments):arguments.length===ne&&G(t)&&J(A)?q.apply(e,arguments):oe.apply(e,arguments)};try{Object.defineProperty(ae,"name",{value:e})}catch(se){}return ae.signatures=function(e){var t={};return e.forEach((function(e){e.params.some(h)||R(e.params,!0).forEach((function(A){t[l(A)]=e.fn}))})),t}(i),ae}function G(e){return-1===s.ignore.indexOf(e)}function k(e){return e.trim()}function x(e){return!!e}function N(e){return null!==e}function U(e){return 0===e.types.length}function _(e){return e[e.length-1]}function M(e,t,A){return Array.prototype.slice.call(e,t,A)}function O(e,t){for(var A=0;A<e.length;A++)if(n=t,r=e[A],-1!==n.indexOf(r))return!0;var n,r;return!1}function L(e,t){for(var A=0;A<e.length;A++)if(t(e[A]))return e[A]}function T(e,t){return Array.prototype.concat.apply([],e.map(t))}function Z(e){for(var t="",A=0;A<e.length;A++){var n=e[A];if(("object"===typeof n.signatures||"string"===typeof n.signature)&&""!==n.name)if(""===t)t=n.name;else if(t!==n.name){var r=new Error("Function names do not match (expected: "+t+", actual: "+n.name+")");throw r.data={actual:n.name,expected:t},r}}return t}function H(e){var t,A={};function n(e,n){if(A.hasOwnProperty(e)&&n!==A[e])throw(t=new Error('Signature "'+e+'" is defined twice')).data={signature:e},t}for(var r=0;r<e.length;r++){var i=e[r];if("object"===typeof i.signatures)for(var o in i.signatures)i.signatures.hasOwnProperty(o)&&(n(o,i.signatures[o]),A[o]=i.signatures[o]);else{if("string"!==typeof i.signature)throw(t=new TypeError("Function is no typed-function (index: "+r+")")).data={index:r},t;n(i.signature,i),A[i.signature]=i}}return A}return(s=D("typed",{"string, Object":D,Object:function(e){var t=[];for(var A in e)e.hasOwnProperty(A)&&t.push(e[A]);return D(Z(t),e)},"...Function":function(e){return D(Z(e),H(e))},"string, ...Function":function(e,t){return D(e,H(t))}})).create=n,s.types=r,s.conversions=a,s.ignore=o,s.convert=function(e,t){var A=u(e);if(t===A)return e;for(var n=0;n<s.conversions.length;n++){var r=s.conversions[n];if(r.from===A&&r.to===t)return r.convert(e)}throw new Error("Cannot convert from "+A+" to "+t)},s.find=function(e,t){if(!e.signatures)throw new TypeError("Function is no typed-function");var A;if("string"===typeof t){A=t.split(",");for(var n=0;n<A.length;n++)A[n]=A[n].trim()}else{if(!Array.isArray(t))throw new TypeError("String array or a comma separated string expected");A=t}var r=A.join(","),i=e.signatures[r];if(i)return i;throw new TypeError("Signature not found (signature: "+(e.name||"unnamed")+"("+A.join(", ")+"))")},s.addType=function(e,t){if(!e||"string"!==typeof e.name||"function"!==typeof e.test)throw new TypeError("Object with properties {name: string, test: function} expected");if(!1!==t)for(var A=0;A<s.types.length;A++)if("Object"===s.types[A].name)return void s.types.splice(A,0,e);s.types.push(e)},s.addConversion=function(e){if(!e||"string"!==typeof e.from||"string"!==typeof e.to||"function"!==typeof e.convert)throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");s.conversions.push(e)},s}()})?n.apply(t,r):n)||(e.exports=i)},function(e,t,A){var n=A(868),r=A(869),i=A(870),o=A(871),a=A(872),s=A(873),g=A(874);g.alea=n,g.xor128=r,g.xorwow=i,g.xorshift7=o,g.xor4096=a,g.tychei=s,e.exports=g},function(e,t,A){"use strict";var n=A(95),r=A(129);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(A(0)),o=(0,n(A(130)).default)(i.createElement("path",{d:"M7 14l5-5 5 5z"}),"ArrowDropUp");t.default=o},function(e,t,A){"use strict";var n=A(95),r=A(129);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(A(0)),o=(0,n(A(130)).default)(i.createElement("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown");t.default=o},function(e,t,A){"use strict";e.exports=r;var n=A(567);function r(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}r.Varint=0,r.Fixed64=1,r.Bytes=2,r.Fixed32=5;var i="undefined"===typeof TextDecoder?null:new TextDecoder("utf8");function o(e){return e.type===r.Bytes?e.readVarint()+e.pos:e.pos+1}function a(e,t,A){return A?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}function s(e,t,A){var n=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));A.realloc(n);for(var r=A.pos-1;r>=e;r--)A.buf[r+n]=A.buf[r]}function g(e,t){for(var A=0;A<e.length;A++)t.writeVarint(e[A])}function c(e,t){for(var A=0;A<e.length;A++)t.writeSVarint(e[A])}function u(e,t){for(var A=0;A<e.length;A++)t.writeFloat(e[A])}function l(e,t){for(var A=0;A<e.length;A++)t.writeDouble(e[A])}function I(e,t){for(var A=0;A<e.length;A++)t.writeBoolean(e[A])}function C(e,t){for(var A=0;A<e.length;A++)t.writeFixed32(e[A])}function h(e,t){for(var A=0;A<e.length;A++)t.writeSFixed32(e[A])}function f(e,t){for(var A=0;A<e.length;A++)t.writeFixed64(e[A])}function d(e,t){for(var A=0;A<e.length;A++)t.writeSFixed64(e[A])}function B(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+16777216*e[t+3]}function p(e,t,A){e[A]=t,e[A+1]=t>>>8,e[A+2]=t>>>16,e[A+3]=t>>>24}function E(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}r.prototype={destroy:function(){this.buf=null},readFields:function(e,t,A){for(A=A||this.length;this.pos<A;){var n=this.readVarint(),r=n>>3,i=this.pos;this.type=7&n,e(r,t,this),this.pos===i&&this.skip(n)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=B(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=E(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=B(this.buf,this.pos)+4294967296*B(this.buf,this.pos+4);return this.pos+=8,e},readSFixed64:function(){var e=B(this.buf,this.pos)+4294967296*E(this.buf,this.pos+4);return this.pos+=8,e},readFloat:function(){var e=n.read(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=n.read(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,A,n=this.buf;return t=127&(A=n[this.pos++]),A<128?t:(t|=(127&(A=n[this.pos++]))<<7,A<128?t:(t|=(127&(A=n[this.pos++]))<<14,A<128?t:(t|=(127&(A=n[this.pos++]))<<21,A<128?t:function(e,t,A){var n,r,i=A.buf;if(r=i[A.pos++],n=(112&r)>>4,r<128)return a(e,n,t);if(r=i[A.pos++],n|=(127&r)<<3,r<128)return a(e,n,t);if(r=i[A.pos++],n|=(127&r)<<10,r<128)return a(e,n,t);if(r=i[A.pos++],n|=(127&r)<<17,r<128)return a(e,n,t);if(r=i[A.pos++],n|=(127&r)<<24,r<128)return a(e,n,t);if(r=i[A.pos++],n|=(1&r)<<31,r<128)return a(e,n,t);throw new Error("Expected varint not more than 10 bytes")}(t|=(15&(A=n[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2===1?(e+1)/-2:e/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&i?function(e,t,A){return i.decode(e.subarray(t,A))}(this.buf,t,e):function(e,t,A){var n="",r=t;for(;r<A;){var i,o,a,s=e[r],g=null,c=s>239?4:s>223?3:s>191?2:1;if(r+c>A)break;1===c?s<128&&(g=s):2===c?128===(192&(i=e[r+1]))&&(g=(31&s)<<6|63&i)<=127&&(g=null):3===c?(i=e[r+1],o=e[r+2],128===(192&i)&&128===(192&o)&&((g=(15&s)<<12|(63&i)<<6|63&o)<=2047||g>=55296&&g<=57343)&&(g=null)):4===c&&(i=e[r+1],o=e[r+2],a=e[r+3],128===(192&i)&&128===(192&o)&&128===(192&a)&&((g=(15&s)<<18|(63&i)<<12|(63&o)<<6|63&a)<=65535||g>=1114112)&&(g=null)),null===g?(g=65533,c=1):g>65535&&(g-=65536,n+=String.fromCharCode(g>>>10&1023|55296),g=56320|1023&g),n+=String.fromCharCode(g),r+=c}return n}(this.buf,t,e)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==r.Bytes)return e.push(this.readVarint(t));var A=o(this);for(e=e||[];this.pos<A;)e.push(this.readVarint(t));return e},readPackedSVarint:function(e){if(this.type!==r.Bytes)return e.push(this.readSVarint());var t=o(this);for(e=e||[];this.pos<t;)e.push(this.readSVarint());return e},readPackedBoolean:function(e){if(this.type!==r.Bytes)return e.push(this.readBoolean());var t=o(this);for(e=e||[];this.pos<t;)e.push(this.readBoolean());return e},readPackedFloat:function(e){if(this.type!==r.Bytes)return e.push(this.readFloat());var t=o(this);for(e=e||[];this.pos<t;)e.push(this.readFloat());return e},readPackedDouble:function(e){if(this.type!==r.Bytes)return e.push(this.readDouble());var t=o(this);for(e=e||[];this.pos<t;)e.push(this.readDouble());return e},readPackedFixed32:function(e){if(this.type!==r.Bytes)return e.push(this.readFixed32());var t=o(this);for(e=e||[];this.pos<t;)e.push(this.readFixed32());return e},readPackedSFixed32:function(e){if(this.type!==r.Bytes)return e.push(this.readSFixed32());var t=o(this);for(e=e||[];this.pos<t;)e.push(this.readSFixed32());return e},readPackedFixed64:function(e){if(this.type!==r.Bytes)return e.push(this.readFixed64());var t=o(this);for(e=e||[];this.pos<t;)e.push(this.readFixed64());return e},readPackedSFixed64:function(e){if(this.type!==r.Bytes)return e.push(this.readSFixed64());var t=o(this);for(e=e||[];this.pos<t;)e.push(this.readSFixed64());return e},skip:function(e){var t=7&e;if(t===r.Varint)for(;this.buf[this.pos++]>127;);else if(t===r.Bytes)this.pos=this.readVarint()+this.pos;else if(t===r.Fixed32)this.pos+=4;else{if(t!==r.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t<this.pos+e;)t*=2;if(t!==this.length){var A=new Uint8Array(t);A.set(this.buf),this.buf=A,this.length=t}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(e){this.realloc(4),p(this.buf,e,this.pos),this.pos+=4},writeSFixed32:function(e){this.realloc(4),p(this.buf,e,this.pos),this.pos+=4},writeFixed64:function(e){this.realloc(8),p(this.buf,-1&e,this.pos),p(this.buf,Math.floor(e*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(e){this.realloc(8),p(this.buf,-1&e,this.pos),p(this.buf,Math.floor(e*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(e){(e=+e||0)>268435455||e<0?function(e,t){var A,n;e>=0?(A=e%4294967296|0,n=e/4294967296|0):(n=~(-e/4294967296),4294967295^(A=~(-e%4294967296))?A=A+1|0:(A=0,n=n+1|0));if(e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),function(e,t,A){A.buf[A.pos++]=127&e|128,e>>>=7,A.buf[A.pos++]=127&e|128,e>>>=7,A.buf[A.pos++]=127&e|128,e>>>=7,A.buf[A.pos++]=127&e|128,e>>>=7,A.buf[A.pos]=127&e}(A,0,t),function(e,t){var A=(7&e)<<4;if(t.buf[t.pos++]|=A|((e>>>=3)?128:0),!e)return;if(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),!e)return;if(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),!e)return;if(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),!e)return;if(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),!e)return;t.buf[t.pos++]=127&e}(n,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(Boolean(e))},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,A){for(var n,r,i=0;i<t.length;i++){if((n=t.charCodeAt(i))>55295&&n<57344){if(!r){n>56319||i+1===t.length?(e[A++]=239,e[A++]=191,e[A++]=189):r=n;continue}if(n<56320){e[A++]=239,e[A++]=191,e[A++]=189,r=n;continue}n=r-55296<<10|n-56320|65536,r=null}else r&&(e[A++]=239,e[A++]=191,e[A++]=189,r=null);n<128?e[A++]=n:(n<2048?e[A++]=n>>6|192:(n<65536?e[A++]=n>>12|224:(e[A++]=n>>18|240,e[A++]=n>>12&63|128),e[A++]=n>>6&63|128),e[A++]=63&n|128)}return A}(this.buf,e,this.pos);var A=this.pos-t;A>=128&&s(t,A,this),this.pos=t-1,this.writeVarint(A),this.pos+=A},writeFloat:function(e){this.realloc(4),n.write(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),n.write(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var A=0;A<t;A++)this.buf[this.pos++]=e[A]},writeRawMessage:function(e,t){this.pos++;var A=this.pos;e(t,this);var n=this.pos-A;n>=128&&s(A,n,this),this.pos=A-1,this.writeVarint(n),this.pos+=n},writeMessage:function(e,t,A){this.writeTag(e,r.Bytes),this.writeRawMessage(t,A)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,g,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,c,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,I,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,u,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,l,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,C,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,h,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,f,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,d,t)},writeBytesField:function(e,t){this.writeTag(e,r.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,r.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,r.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,r.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,r.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,r.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,r.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,r.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,r.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,r.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,Boolean(t))}}},function(e,t,A){"use strict";var n=Object.freeze({initialize:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.modulePath,A=void 0===t?".":t,n=e.importFunctionName,r=void 0===n?"__import__":n;try{self[r]=new Function("u","return import(u)")}catch(a){var i=new URL(A,location),o=function(e){URL.revokeObjectURL(e.src),e.remove()};self[r]=function(e){return new Promise((function(t,A){var n=new URL(e,i);if(self[r].moduleMap[n])return t(self[r].moduleMap[n]);var a=new Blob(["import * as m from '".concat(n,"';"),"".concat(r,".moduleMap['").concat(n,"']=m;")],{type:"text/javascript"}),s=Object.assign(document.createElement("script"),{type:"module",src:URL.createObjectURL(a),onerror:function(){A(new Error("Failed to import: ".concat(e))),o(s)},onload:function(){t(self[r].moduleMap[n]),o(s)}});document.head.appendChild(s)}))},self[r].moduleMap={}}}});t.a=n},function(e,t,A){"use strict";A.d(t,"a",(function(){return B}));var n=A(335);function r(e,t,A){return(r=i()?Reflect.construct:function(e,t,A){var n=[null];n.push.apply(n,t);var r=new(Function.bind.apply(e,n));return A&&o(r,A.prototype),r}).apply(null,arguments)}function i(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function o(e,t){return(o=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||h(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function g(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?s(Object(A),!0).forEach((function(t){c(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):s(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function c(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function I(e,t,A){return t&&l(e.prototype,t),A&&l(e,A),e}function C(e,t){var A;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(A=h(e))||t&&e&&"number"===typeof e.length){A&&(e=A);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,a=!1;return{s:function(){A=e[Symbol.iterator]()},n:function(){var e=A.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==A.return||A.return()}finally{if(a)throw i}}}}function h(e,t){if(e){if("string"===typeof e)return f(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(e):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?f(e,t):void 0}}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function d(e,t,A){var n=A?t[1]:t[0]*t[1],r=new Float32Array(n),i=0;if(A){var o,a=C(e);try{for(a.s();!(o=a.n()).done;){var s=o.value.data;r.set(s,i),i+=s.length}}catch(h){a.e(h)}finally{a.f()}}else for(var g=t[0],c=0;c<g;c++){var u,l=C(e);try{for(l.s();!(u=l.n()).done;){var I=u.value.data[c];r.set(I,i),i+=I.length}}catch(h){l.e(h)}finally{l.f()}}return r}var B=function e(t){if(!(this instanceof e?this.constructor:void 0))throw new Error('Uncaught TypeError: Class constructor cannot be invoked without "new"');for(var A=t.libraries.slugid,i=t.utils,o=i.absToChr,s=i.parseChromsizesRows,c=i.genomicRangeToChromosomeChunks,l=i.DenseDataExtrema1D,h=i.minNonZero,f=i.maxNonZero,B=function(){function e(t){u(this,e),this.dataConfig=t,this.trackUid=A.nice(),t.url&&(this.store=new n.a(t.url,{supportedMethods:["GET"]})),void 0!==t.row&&(this.row=t.row)}return I(e,[{key:"tilesetInfo",value:function(e){var t=this;return this.tilesetInfoLoading=!0,this.store.getItem(".zattrs").then((function(e){var t=new TextDecoder("utf-8");return JSON.parse(t.decode(e))})).then((function(A){t.tilesetInfoLoading=!1;var n=A.multiscales.map((function(e){return[e.name,e.metadata.chromsize]})),r=A.multiscales[A.multiscales.length-1],i=r.metadata.chromoffset+r.metadata.chromsize,o=A.shape[1],a=g(g({},A),{},{shape:[A.shape[1],A.shape[0]],chromSizes:n,tile_size:o,max_width:i,min_pos:[0],max_pos:[i],max_zoom:Math.ceil(Math.log(i/o)/Math.log(2))});return e&&e(a),a})).catch((function(A){t.tilesetInfoLoading=!1,e&&e({error:"Error parsing zarr multivec: ".concat(A)})}))}},{key:"fetchTilesDebounced",value:function(e,t){var A,n={},r=[],i=[],o=C(t);try{for(o.s();!(A=o.n()).done;){var a=A.value,s=a.split("."),g=parseInt(s[0],10),c=parseInt(s[1],10);Number.isNaN(c)||Number.isNaN(g)?console.warn("Invalid tile zoom or position:",g,c):(r.push(a),i.push(this.tile(g,c,a)))}}catch(u){o.e(u)}finally{o.f()}return Promise.all(i).then((function(t){for(var A=0;A<t.length;A++){var i=r[A];n[i]=t[A],n[i].tilePositionId=i}e(n)})),n}},{key:"tile",value:function(e,t,A){var r=this,i=this.store;return this.tilesetInfo().then((function(g){var u=+g.resolutions[e],I=+g.tile_size,C=u,B=t*I*u,p=B+I*u,E=g.chromSizes,Q=s(E),y=a(o(B,Q),2),v=y[0],m=y[1],b=a(o(p,Q),2),w=b[0],S=b[1],F=c(E,{chr:v,pos:m},{chr:w,pos:S},C,I);return Promise.all(F.map((function(e){var t=a(e,3),A=t[0],o=t[1],s=t[2];return Object(n.b)({store:i,path:"/chromosomes/".concat(A,"/").concat(u,"/"),mode:"r"}).then((function(e){return void 0!==r.row?e.getRaw([r.row,Object(n.c)(o,s)]):e.get([null,Object(n.c)(o,s)])}))}))).then((function(n){var i=d(n,[g.shape[1],g.shape[0]],void 0!==r.row);return Promise.resolve({dense:i,denseDataExtrema:new l(i),dtype:"float32",min_value:Math.min.apply(null,i),max_value:Math.max.apply(null,i),minNonZero:h(i),maxNonZero:f(i),server:null,size:1,shape:g.shape,tileId:A,tilePos:[t],tilePositionId:A,tilesetUid:null,zoomLevel:e})}))}))}}]),e}(),p=arguments.length,E=new Array(p>1?p-1:0),Q=1;Q<p;Q++)E[Q-1]=arguments[Q];return r(B,E)};B.config={type:"zarr-multivec"}},function(e,t,A){var n=A(260);e.exports={re:n.re,src:n.src,tokens:n.t,SEMVER_SPEC_VERSION:A(370).SEMVER_SPEC_VERSION,SemVer:A(106),compareIdentifiers:A(498).compareIdentifiers,rcompareIdentifiers:A(498).rcompareIdentifiers,parse:A(261),valid:A(1110),clean:A(1111),inc:A(1112),diff:A(1113),major:A(1114),minor:A(1115),patch:A(1116),prerelease:A(1117),compare:A(144),rcompare:A(1118),compareLoose:A(1119),compareBuild:A(500),sort:A(1120),rsort:A(1121),gt:A(373),lt:A(501),eq:A(499),neq:A(640),gte:A(502),lte:A(503),cmp:A(641),coerce:A(1122),Comparator:A(374),Range:A(145),satisfies:A(375),toComparators:A(1130),maxSatisfying:A(1131),minSatisfying:A(1132),minVersion:A(1133),validRange:A(1134),outside:A(506),gtr:A(1135),ltr:A(1136),intersects:A(1137),simplifyRange:A(1138),subset:A(1143)}},function(e,t,A){var n,r=function(){var e=String.fromCharCode,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",n={};function r(e,t){if(!n[e]){n[e]={};for(var A=0;A<e.length;A++)n[e][e.charAt(A)]=A}return n[e][t]}var i={compressToBase64:function(e){if(null==e)return"";var A=i._compress(e,6,(function(e){return t.charAt(e)}));switch(A.length%4){default:case 0:return A;case 1:return A+"===";case 2:return A+"==";case 3:return A+"="}},decompressFromBase64:function(e){return null==e?"":""==e?null:i._decompress(e.length,32,(function(A){return r(t,e.charAt(A))}))},compressToUTF16:function(t){return null==t?"":i._compress(t,15,(function(t){return e(t+32)}))+" "},decompressFromUTF16:function(e){return null==e?"":""==e?null:i._decompress(e.length,16384,(function(t){return e.charCodeAt(t)-32}))},compressToUint8Array:function(e){for(var t=i.compress(e),A=new Uint8Array(2*t.length),n=0,r=t.length;n<r;n++){var o=t.charCodeAt(n);A[2*n]=o>>>8,A[2*n+1]=o%256}return A},decompressFromUint8Array:function(t){if(null===t||void 0===t)return i.decompress(t);for(var A=new Array(t.length/2),n=0,r=A.length;n<r;n++)A[n]=256*t[2*n]+t[2*n+1];var o=[];return A.forEach((function(t){o.push(e(t))})),i.decompress(o.join(""))},compressToEncodedURIComponent:function(e){return null==e?"":i._compress(e,6,(function(e){return A.charAt(e)}))},decompressFromEncodedURIComponent:function(e){return null==e?"":""==e?null:(e=e.replace(/ /g,"+"),i._decompress(e.length,32,(function(t){return r(A,e.charAt(t))})))},compress:function(t){return i._compress(t,16,(function(t){return e(t)}))},_compress:function(e,t,A){if(null==e)return"";var n,r,i,o={},a={},s="",g="",c="",u=2,l=3,I=2,C=[],h=0,f=0;for(i=0;i<e.length;i+=1)if(s=e.charAt(i),Object.prototype.hasOwnProperty.call(o,s)||(o[s]=l++,a[s]=!0),g=c+s,Object.prototype.hasOwnProperty.call(o,g))c=g;else{if(Object.prototype.hasOwnProperty.call(a,c)){if(c.charCodeAt(0)<256){for(n=0;n<I;n++)h<<=1,f==t-1?(f=0,C.push(A(h)),h=0):f++;for(r=c.charCodeAt(0),n=0;n<8;n++)h=h<<1|1&r,f==t-1?(f=0,C.push(A(h)),h=0):f++,r>>=1}else{for(r=1,n=0;n<I;n++)h=h<<1|r,f==t-1?(f=0,C.push(A(h)),h=0):f++,r=0;for(r=c.charCodeAt(0),n=0;n<16;n++)h=h<<1|1&r,f==t-1?(f=0,C.push(A(h)),h=0):f++,r>>=1}0==--u&&(u=Math.pow(2,I),I++),delete a[c]}else for(r=o[c],n=0;n<I;n++)h=h<<1|1&r,f==t-1?(f=0,C.push(A(h)),h=0):f++,r>>=1;0==--u&&(u=Math.pow(2,I),I++),o[g]=l++,c=String(s)}if(""!==c){if(Object.prototype.hasOwnProperty.call(a,c)){if(c.charCodeAt(0)<256){for(n=0;n<I;n++)h<<=1,f==t-1?(f=0,C.push(A(h)),h=0):f++;for(r=c.charCodeAt(0),n=0;n<8;n++)h=h<<1|1&r,f==t-1?(f=0,C.push(A(h)),h=0):f++,r>>=1}else{for(r=1,n=0;n<I;n++)h=h<<1|r,f==t-1?(f=0,C.push(A(h)),h=0):f++,r=0;for(r=c.charCodeAt(0),n=0;n<16;n++)h=h<<1|1&r,f==t-1?(f=0,C.push(A(h)),h=0):f++,r>>=1}0==--u&&(u=Math.pow(2,I),I++),delete a[c]}else for(r=o[c],n=0;n<I;n++)h=h<<1|1&r,f==t-1?(f=0,C.push(A(h)),h=0):f++,r>>=1;0==--u&&(u=Math.pow(2,I),I++)}for(r=2,n=0;n<I;n++)h=h<<1|1&r,f==t-1?(f=0,C.push(A(h)),h=0):f++,r>>=1;for(;;){if(h<<=1,f==t-1){C.push(A(h));break}f++}return C.join("")},decompress:function(e){return null==e?"":""==e?null:i._decompress(e.length,32768,(function(t){return e.charCodeAt(t)}))},_decompress:function(t,A,n){var r,i,o,a,s,g,c,u=[],l=4,I=4,C=3,h="",f=[],d={val:n(0),position:A,index:1};for(r=0;r<3;r+=1)u[r]=r;for(o=0,s=Math.pow(2,2),g=1;g!=s;)a=d.val&d.position,d.position>>=1,0==d.position&&(d.position=A,d.val=n(d.index++)),o|=(a>0?1:0)*g,g<<=1;switch(o){case 0:for(o=0,s=Math.pow(2,8),g=1;g!=s;)a=d.val&d.position,d.position>>=1,0==d.position&&(d.position=A,d.val=n(d.index++)),o|=(a>0?1:0)*g,g<<=1;c=e(o);break;case 1:for(o=0,s=Math.pow(2,16),g=1;g!=s;)a=d.val&d.position,d.position>>=1,0==d.position&&(d.position=A,d.val=n(d.index++)),o|=(a>0?1:0)*g,g<<=1;c=e(o);break;case 2:return""}for(u[3]=c,i=c,f.push(c);;){if(d.index>t)return"";for(o=0,s=Math.pow(2,C),g=1;g!=s;)a=d.val&d.position,d.position>>=1,0==d.position&&(d.position=A,d.val=n(d.index++)),o|=(a>0?1:0)*g,g<<=1;switch(c=o){case 0:for(o=0,s=Math.pow(2,8),g=1;g!=s;)a=d.val&d.position,d.position>>=1,0==d.position&&(d.position=A,d.val=n(d.index++)),o|=(a>0?1:0)*g,g<<=1;u[I++]=e(o),c=I-1,l--;break;case 1:for(o=0,s=Math.pow(2,16),g=1;g!=s;)a=d.val&d.position,d.position>>=1,0==d.position&&(d.position=A,d.val=n(d.index++)),o|=(a>0?1:0)*g,g<<=1;u[I++]=e(o),c=I-1,l--;break;case 2:return f.join("")}if(0==l&&(l=Math.pow(2,C),C++),u[c])h=u[c];else{if(c!==I)return null;h=i+i.charAt(0)}f.push(h),u[I++]=i+h.charAt(0),i=h,0==--l&&(l=Math.pow(2,C),C++)}}};return i}();void 0===(n=function(){return r}.call(t,A,t,e))||(e.exports=n)},function(e,t,A){"use strict";var n=A(45),r=A.n(n),i=A(50),o=A.n(i),a=A(63),s=A.n(a),g=A(64),c=A.n(g),u=A(20),l=A.n(u),I=A(65),C=A.n(I),h=A(15),f=A.n(h),d=A(0),B=A(100),p=A(103),E=A.n(p),Q=A(19);function y(e){var t=e.cellCount,A=e.cellSize,n=e.computeMetadataCallback,r=e.computeMetadataCallbackProps,i=e.nextCellsCount,o=e.nextCellSize,a=e.nextScrollToIndex,s=e.scrollToIndex,g=e.updateScrollOffsetForScrollToIndex;t===i&&("number"!==typeof A&&"number"!==typeof o||A===o)||(n(r),s>=0&&s===a&&g())}var v=A(236),m=A.n(v),b=(A(13),function(){function e(t){var A=t.cellCount,n=t.cellSizeGetter,i=t.estimatedCellSize;r()(this,e),f()(this,"_cellSizeAndPositionData",{}),f()(this,"_lastMeasuredIndex",-1),f()(this,"_lastBatchedIndex",-1),f()(this,"_cellCount",void 0),f()(this,"_cellSizeGetter",void 0),f()(this,"_estimatedCellSize",void 0),this._cellSizeGetter=n,this._cellCount=A,this._estimatedCellSize=i}return o()(e,[{key:"areOffsetsAdjusted",value:function(){return!1}},{key:"configure",value:function(e){var t=e.cellCount,A=e.estimatedCellSize,n=e.cellSizeGetter;this._cellCount=t,this._estimatedCellSize=A,this._cellSizeGetter=n}},{key:"getCellCount",value:function(){return this._cellCount}},{key:"getEstimatedCellSize",value:function(){return this._estimatedCellSize}},{key:"getLastMeasuredIndex",value:function(){return this._lastMeasuredIndex}},{key:"getOffsetAdjustment",value:function(){return 0}},{key:"getSizeAndPositionOfCell",value:function(e){if(e<0||e>=this._cellCount)throw Error("Requested index ".concat(e," is outside of range 0..").concat(this._cellCount));if(e>this._lastMeasuredIndex)for(var t=this.getSizeAndPositionOfLastMeasuredCell(),A=t.offset+t.size,n=this._lastMeasuredIndex+1;n<=e;n++){var r=this._cellSizeGetter({index:n});if(void 0===r||isNaN(r))throw Error("Invalid size returned for cell ".concat(n," of value ").concat(r));null===r?(this._cellSizeAndPositionData[n]={offset:A,size:0},this._lastBatchedIndex=e):(this._cellSizeAndPositionData[n]={offset:A,size:r},A+=r,this._lastMeasuredIndex=e)}return this._cellSizeAndPositionData[e]}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._lastMeasuredIndex>=0?this._cellSizeAndPositionData[this._lastMeasuredIndex]:{offset:0,size:0}}},{key:"getTotalSize",value:function(){var e=this.getSizeAndPositionOfLastMeasuredCell();return e.offset+e.size+(this._cellCount-this._lastMeasuredIndex-1)*this._estimatedCellSize}},{key:"getUpdatedOffsetForIndex",value:function(e){var t=e.align,A=void 0===t?"auto":t,n=e.containerSize,r=e.currentOffset,i=e.targetIndex;if(n<=0)return 0;var o,a=this.getSizeAndPositionOfCell(i),s=a.offset,g=s-n+a.size;switch(A){case"start":o=s;break;case"end":o=g;break;case"center":o=s-(n-a.size)/2;break;default:o=Math.max(g,Math.min(s,r))}var c=this.getTotalSize();return Math.max(0,Math.min(c-n,o))}},{key:"getVisibleCellRange",value:function(e){var t=e.containerSize,A=e.offset;if(0===this.getTotalSize())return{};var n=A+t,r=this._findNearestCell(A),i=this.getSizeAndPositionOfCell(r);A=i.offset+i.size;for(var o=r;A<n&&o<this._cellCount-1;)o++,A+=this.getSizeAndPositionOfCell(o).size;return{start:r,stop:o}}},{key:"resetCell",value:function(e){this._lastMeasuredIndex=Math.min(this._lastMeasuredIndex,e-1)}},{key:"_binarySearch",value:function(e,t,A){for(;t<=e;){var n=t+Math.floor((e-t)/2),r=this.getSizeAndPositionOfCell(n).offset;if(r===A)return n;r<A?t=n+1:r>A&&(e=n-1)}return t>0?t-1:0}},{key:"_exponentialSearch",value:function(e,t){for(var A=1;e<this._cellCount&&this.getSizeAndPositionOfCell(e).offset<t;)e+=A,A*=2;return this._binarySearch(Math.min(e,this._cellCount-1),Math.floor(e/2),t)}},{key:"_findNearestCell",value:function(e){if(isNaN(e))throw Error("Invalid offset ".concat(e," specified"));e=Math.max(0,e);var t=this.getSizeAndPositionOfLastMeasuredCell(),A=Math.max(0,this._lastMeasuredIndex);return t.offset>=e?this._binarySearch(A,0,e):this._exponentialSearch(A,e)}}]),e}()),w=function(){return"undefined"!==typeof window&&window.chrome?16777100:15e5},S=function(){function e(t){var A=t.maxScrollSize,n=void 0===A?w():A,i=m()(t,["maxScrollSize"]);r()(this,e),f()(this,"_cellSizeAndPositionManager",void 0),f()(this,"_maxScrollSize",void 0),this._cellSizeAndPositionManager=new b(i),this._maxScrollSize=n}return o()(e,[{key:"areOffsetsAdjusted",value:function(){return this._cellSizeAndPositionManager.getTotalSize()>this._maxScrollSize}},{key:"configure",value:function(e){this._cellSizeAndPositionManager.configure(e)}},{key:"getCellCount",value:function(){return this._cellSizeAndPositionManager.getCellCount()}},{key:"getEstimatedCellSize",value:function(){return this._cellSizeAndPositionManager.getEstimatedCellSize()}},{key:"getLastMeasuredIndex",value:function(){return this._cellSizeAndPositionManager.getLastMeasuredIndex()}},{key:"getOffsetAdjustment",value:function(e){var t=e.containerSize,A=e.offset,n=this._cellSizeAndPositionManager.getTotalSize(),r=this.getTotalSize(),i=this._getOffsetPercentage({containerSize:t,offset:A,totalSize:r});return Math.round(i*(r-n))}},{key:"getSizeAndPositionOfCell",value:function(e){return this._cellSizeAndPositionManager.getSizeAndPositionOfCell(e)}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._cellSizeAndPositionManager.getSizeAndPositionOfLastMeasuredCell()}},{key:"getTotalSize",value:function(){return Math.min(this._maxScrollSize,this._cellSizeAndPositionManager.getTotalSize())}},{key:"getUpdatedOffsetForIndex",value:function(e){var t=e.align,A=void 0===t?"auto":t,n=e.containerSize,r=e.currentOffset,i=e.targetIndex;r=this._safeOffsetToOffset({containerSize:n,offset:r});var o=this._cellSizeAndPositionManager.getUpdatedOffsetForIndex({align:A,containerSize:n,currentOffset:r,targetIndex:i});return this._offsetToSafeOffset({containerSize:n,offset:o})}},{key:"getVisibleCellRange",value:function(e){var t=e.containerSize,A=e.offset;return A=this._safeOffsetToOffset({containerSize:t,offset:A}),this._cellSizeAndPositionManager.getVisibleCellRange({containerSize:t,offset:A})}},{key:"resetCell",value:function(e){this._cellSizeAndPositionManager.resetCell(e)}},{key:"_getOffsetPercentage",value:function(e){var t=e.containerSize,A=e.offset,n=e.totalSize;return n<=t?0:A/(n-t)}},{key:"_offsetToSafeOffset",value:function(e){var t=e.containerSize,A=e.offset,n=this._cellSizeAndPositionManager.getTotalSize(),r=this.getTotalSize();if(n===r)return A;var i=this._getOffsetPercentage({containerSize:t,offset:A,totalSize:n});return Math.round(i*(r-t))}},{key:"_safeOffsetToOffset",value:function(e){var t=e.containerSize,A=e.offset,n=this._cellSizeAndPositionManager.getTotalSize(),r=this.getTotalSize();if(n===r)return A;var i=this._getOffsetPercentage({containerSize:t,offset:A,totalSize:r});return Math.round(i*(n-t))}}]),e}();function F(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t={};return function(A){var n=A.callback,r=A.indices,i=Object.keys(r),o=!e||i.every((function(e){var t=r[e];return Array.isArray(t)?t.length>0:t>=0})),a=i.length!==Object.keys(t).length||i.some((function(e){var A=t[e],n=r[e];return Array.isArray(n)?A.join(",")!==n.join(","):A!==n}));t=r,o&&a&&n(r)}}function R(e){var t=e.cellSize,A=e.cellSizeAndPositionManager,n=e.previousCellsCount,r=e.previousCellSize,i=e.previousScrollToAlignment,o=e.previousScrollToIndex,a=e.previousSize,s=e.scrollOffset,g=e.scrollToAlignment,c=e.scrollToIndex,u=e.size,l=e.sizeJustIncreasedFromZero,I=e.updateScrollIndexCallback,C=A.getCellCount(),h=c>=0&&c<C;h&&(u!==a||l||!r||"number"===typeof t&&t!==r||g!==i||c!==o)?I(c):!h&&C>0&&(u<a||C<n)&&s>A.getTotalSize()-u&&I(C-1)}var D,G,k=!("undefined"===typeof window||!window.document||!window.document.createElement);function x(e){if((!D&&0!==D||e)&&k){var t=document.createElement("div");t.style.position="absolute",t.style.top="-9999px",t.style.width="50px",t.style.height="50px",t.style.overflow="scroll",document.body.appendChild(t),D=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return D}var N,U,_=(G="undefined"!==typeof window?window:"undefined"!==typeof self?self:{}).requestAnimationFrame||G.webkitRequestAnimationFrame||G.mozRequestAnimationFrame||G.oRequestAnimationFrame||G.msRequestAnimationFrame||function(e){return G.setTimeout(e,1e3/60)},M=G.cancelAnimationFrame||G.webkitCancelAnimationFrame||G.mozCancelAnimationFrame||G.oCancelAnimationFrame||G.msCancelAnimationFrame||function(e){G.clearTimeout(e)},O=_,L=M,T=function(e){return L(e.id)},Z=function(e,t){var A;Promise.resolve().then((function(){A=Date.now()}));var n={id:O((function r(){Date.now()-A>=t?e.call():n.id=O(r)}))};return n};function H(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function Y(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?H(A,!0).forEach((function(t){f()(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):H(A).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}var J="observed",j="requested",P=(U=N=function(e){function t(e){var A;r()(this,t),A=s()(this,c()(t).call(this,e)),f()(l()(A),"_onGridRenderedMemoizer",F()),f()(l()(A),"_onScrollMemoizer",F(!1)),f()(l()(A),"_deferredInvalidateColumnIndex",null),f()(l()(A),"_deferredInvalidateRowIndex",null),f()(l()(A),"_recomputeScrollLeftFlag",!1),f()(l()(A),"_recomputeScrollTopFlag",!1),f()(l()(A),"_horizontalScrollBarSize",0),f()(l()(A),"_verticalScrollBarSize",0),f()(l()(A),"_scrollbarPresenceChanged",!1),f()(l()(A),"_scrollingContainer",void 0),f()(l()(A),"_childrenToDisplay",void 0),f()(l()(A),"_columnStartIndex",void 0),f()(l()(A),"_columnStopIndex",void 0),f()(l()(A),"_rowStartIndex",void 0),f()(l()(A),"_rowStopIndex",void 0),f()(l()(A),"_renderedColumnStartIndex",0),f()(l()(A),"_renderedColumnStopIndex",0),f()(l()(A),"_renderedRowStartIndex",0),f()(l()(A),"_renderedRowStopIndex",0),f()(l()(A),"_initialScrollTop",void 0),f()(l()(A),"_initialScrollLeft",void 0),f()(l()(A),"_disablePointerEventsTimeoutId",void 0),f()(l()(A),"_styleCache",{}),f()(l()(A),"_cellCache",{}),f()(l()(A),"_debounceScrollEndedCallback",(function(){A._disablePointerEventsTimeoutId=null,A.setState({isScrolling:!1,needToResetStyleCache:!1})})),f()(l()(A),"_invokeOnGridRenderedHelper",(function(){var e=A.props.onSectionRendered;A._onGridRenderedMemoizer({callback:e,indices:{columnOverscanStartIndex:A._columnStartIndex,columnOverscanStopIndex:A._columnStopIndex,columnStartIndex:A._renderedColumnStartIndex,columnStopIndex:A._renderedColumnStopIndex,rowOverscanStartIndex:A._rowStartIndex,rowOverscanStopIndex:A._rowStopIndex,rowStartIndex:A._renderedRowStartIndex,rowStopIndex:A._renderedRowStopIndex}})})),f()(l()(A),"_setScrollingContainerRef",(function(e){A._scrollingContainer=e})),f()(l()(A),"_onScroll",(function(e){e.target===A._scrollingContainer&&A.handleScrollEvent(e.target)}));var n=new S({cellCount:e.columnCount,cellSizeGetter:function(A){return t._wrapSizeGetter(e.columnWidth)(A)},estimatedCellSize:t._getEstimatedColumnSize(e)}),i=new S({cellCount:e.rowCount,cellSizeGetter:function(A){return t._wrapSizeGetter(e.rowHeight)(A)},estimatedCellSize:t._getEstimatedRowSize(e)});return A.state={instanceProps:{columnSizeAndPositionManager:n,rowSizeAndPositionManager:i,prevColumnWidth:e.columnWidth,prevRowHeight:e.rowHeight,prevColumnCount:e.columnCount,prevRowCount:e.rowCount,prevIsScrolling:!0===e.isScrolling,prevScrollToColumn:e.scrollToColumn,prevScrollToRow:e.scrollToRow,scrollbarSize:0,scrollbarSizeMeasured:!1},isScrolling:!1,scrollDirectionHorizontal:1,scrollDirectionVertical:1,scrollLeft:0,scrollTop:0,scrollPositionChangeReason:null,needToResetStyleCache:!1},e.scrollToRow>0&&(A._initialScrollTop=A._getCalculatedScrollTop(e,A.state)),e.scrollToColumn>0&&(A._initialScrollLeft=A._getCalculatedScrollLeft(e,A.state)),A}return C()(t,e),o()(t,[{key:"getOffsetForCell",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.alignment,A=void 0===t?this.props.scrollToAlignment:t,n=e.columnIndex,r=void 0===n?this.props.scrollToColumn:n,i=e.rowIndex,o=void 0===i?this.props.scrollToRow:i,a=Y({},this.props,{scrollToAlignment:A,scrollToColumn:r,scrollToRow:o});return{scrollLeft:this._getCalculatedScrollLeft(a),scrollTop:this._getCalculatedScrollTop(a)}}},{key:"getTotalRowsHeight",value:function(){return this.state.instanceProps.rowSizeAndPositionManager.getTotalSize()}},{key:"getTotalColumnsWidth",value:function(){return this.state.instanceProps.columnSizeAndPositionManager.getTotalSize()}},{key:"handleScrollEvent",value:function(e){var t=e.scrollLeft,A=void 0===t?0:t,n=e.scrollTop,r=void 0===n?0:n;if(!(r<0)){this._debounceScrollEnded();var i=this.props,o=i.autoHeight,a=i.autoWidth,s=i.height,g=i.width,c=this.state.instanceProps,u=c.scrollbarSize,l=c.rowSizeAndPositionManager.getTotalSize(),I=c.columnSizeAndPositionManager.getTotalSize(),C=Math.min(Math.max(0,I-g+u),A),h=Math.min(Math.max(0,l-s+u),r);if(this.state.scrollLeft!==C||this.state.scrollTop!==h){var f={isScrolling:!0,scrollDirectionHorizontal:C!==this.state.scrollLeft?C>this.state.scrollLeft?1:-1:this.state.scrollDirectionHorizontal,scrollDirectionVertical:h!==this.state.scrollTop?h>this.state.scrollTop?1:-1:this.state.scrollDirectionVertical,scrollPositionChangeReason:J};o||(f.scrollTop=h),a||(f.scrollLeft=C),f.needToResetStyleCache=!1,this.setState(f)}this._invokeOnScrollMemoizer({scrollLeft:C,scrollTop:h,totalColumnsWidth:I,totalRowsHeight:l})}}},{key:"invalidateCellSizeAfterRender",value:function(e){var t=e.columnIndex,A=e.rowIndex;this._deferredInvalidateColumnIndex="number"===typeof this._deferredInvalidateColumnIndex?Math.min(this._deferredInvalidateColumnIndex,t):t,this._deferredInvalidateRowIndex="number"===typeof this._deferredInvalidateRowIndex?Math.min(this._deferredInvalidateRowIndex,A):A}},{key:"measureAllCells",value:function(){var e=this.props,t=e.columnCount,A=e.rowCount,n=this.state.instanceProps;n.columnSizeAndPositionManager.getSizeAndPositionOfCell(t-1),n.rowSizeAndPositionManager.getSizeAndPositionOfCell(A-1)}},{key:"recomputeGridSize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,A=void 0===t?0:t,n=e.rowIndex,r=void 0===n?0:n,i=this.props,o=i.scrollToColumn,a=i.scrollToRow,s=this.state.instanceProps;s.columnSizeAndPositionManager.resetCell(A),s.rowSizeAndPositionManager.resetCell(r),this._recomputeScrollLeftFlag=o>=0&&(1===this.state.scrollDirectionHorizontal?A<=o:A>=o),this._recomputeScrollTopFlag=a>=0&&(1===this.state.scrollDirectionVertical?r<=a:r>=a),this._styleCache={},this._cellCache={},this.forceUpdate()}},{key:"scrollToCell",value:function(e){var t=e.columnIndex,A=e.rowIndex,n=this.props.columnCount,r=this.props;n>1&&void 0!==t&&this._updateScrollLeftForScrollToColumn(Y({},r,{scrollToColumn:t})),void 0!==A&&this._updateScrollTopForScrollToRow(Y({},r,{scrollToRow:A}))}},{key:"componentDidMount",value:function(){var e=this.props,A=e.getScrollbarSize,n=e.height,r=e.scrollLeft,i=e.scrollToColumn,o=e.scrollTop,a=e.scrollToRow,s=e.width,g=this.state.instanceProps;if(this._initialScrollTop=0,this._initialScrollLeft=0,this._handleInvalidatedGridSize(),g.scrollbarSizeMeasured||this.setState((function(e){var t=Y({},e,{needToResetStyleCache:!1});return t.instanceProps.scrollbarSize=A(),t.instanceProps.scrollbarSizeMeasured=!0,t})),"number"===typeof r&&r>=0||"number"===typeof o&&o>=0){var c=t._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:r,scrollTop:o});c&&(c.needToResetStyleCache=!1,this.setState(c))}this._scrollingContainer&&(this._scrollingContainer.scrollLeft!==this.state.scrollLeft&&(this._scrollingContainer.scrollLeft=this.state.scrollLeft),this._scrollingContainer.scrollTop!==this.state.scrollTop&&(this._scrollingContainer.scrollTop=this.state.scrollTop));var u=n>0&&s>0;i>=0&&u&&this._updateScrollLeftForScrollToColumn(),a>=0&&u&&this._updateScrollTopForScrollToRow(),this._invokeOnGridRenderedHelper(),this._invokeOnScrollMemoizer({scrollLeft:r||0,scrollTop:o||0,totalColumnsWidth:g.columnSizeAndPositionManager.getTotalSize(),totalRowsHeight:g.rowSizeAndPositionManager.getTotalSize()}),this._maybeCallOnScrollbarPresenceChange()}},{key:"componentDidUpdate",value:function(e,t){var A=this,n=this.props,r=n.autoHeight,i=n.autoWidth,o=n.columnCount,a=n.height,s=n.rowCount,g=n.scrollToAlignment,c=n.scrollToColumn,u=n.scrollToRow,l=n.width,I=this.state,C=I.scrollLeft,h=I.scrollPositionChangeReason,f=I.scrollTop,d=I.instanceProps;this._handleInvalidatedGridSize();var B=o>0&&0===e.columnCount||s>0&&0===e.rowCount;h===j&&(!i&&C>=0&&(C!==this._scrollingContainer.scrollLeft||B)&&(this._scrollingContainer.scrollLeft=C),!r&&f>=0&&(f!==this._scrollingContainer.scrollTop||B)&&(this._scrollingContainer.scrollTop=f));var p=(0===e.width||0===e.height)&&a>0&&l>0;if(this._recomputeScrollLeftFlag?(this._recomputeScrollLeftFlag=!1,this._updateScrollLeftForScrollToColumn(this.props)):R({cellSizeAndPositionManager:d.columnSizeAndPositionManager,previousCellsCount:e.columnCount,previousCellSize:e.columnWidth,previousScrollToAlignment:e.scrollToAlignment,previousScrollToIndex:e.scrollToColumn,previousSize:e.width,scrollOffset:C,scrollToAlignment:g,scrollToIndex:c,size:l,sizeJustIncreasedFromZero:p,updateScrollIndexCallback:function(){return A._updateScrollLeftForScrollToColumn(A.props)}}),this._recomputeScrollTopFlag?(this._recomputeScrollTopFlag=!1,this._updateScrollTopForScrollToRow(this.props)):R({cellSizeAndPositionManager:d.rowSizeAndPositionManager,previousCellsCount:e.rowCount,previousCellSize:e.rowHeight,previousScrollToAlignment:e.scrollToAlignment,previousScrollToIndex:e.scrollToRow,previousSize:e.height,scrollOffset:f,scrollToAlignment:g,scrollToIndex:u,size:a,sizeJustIncreasedFromZero:p,updateScrollIndexCallback:function(){return A._updateScrollTopForScrollToRow(A.props)}}),this._invokeOnGridRenderedHelper(),C!==t.scrollLeft||f!==t.scrollTop){var E=d.rowSizeAndPositionManager.getTotalSize(),Q=d.columnSizeAndPositionManager.getTotalSize();this._invokeOnScrollMemoizer({scrollLeft:C,scrollTop:f,totalColumnsWidth:Q,totalRowsHeight:E})}this._maybeCallOnScrollbarPresenceChange()}},{key:"componentWillUnmount",value:function(){this._disablePointerEventsTimeoutId&&T(this._disablePointerEventsTimeoutId)}},{key:"render",value:function(){var e=this.props,t=e.autoContainerWidth,A=e.autoHeight,n=e.autoWidth,r=e.className,i=e.containerProps,o=e.containerRole,a=e.containerStyle,s=e.height,g=e.id,c=e.noContentRenderer,u=e.role,l=e.style,I=e.tabIndex,C=e.width,h=this.state,f=h.instanceProps,B=h.needToResetStyleCache,p=this._isScrolling(),y={boxSizing:"border-box",direction:"ltr",height:A?"auto":s,position:"relative",width:n?"auto":C,WebkitOverflowScrolling:"touch",willChange:"transform"};B&&(this._styleCache={}),this.state.isScrolling||this._resetStyleCache(),this._calculateChildrenToRender(this.props,this.state);var v=f.columnSizeAndPositionManager.getTotalSize(),m=f.rowSizeAndPositionManager.getTotalSize(),b=m>s?f.scrollbarSize:0,w=v>C?f.scrollbarSize:0;w===this._horizontalScrollBarSize&&b===this._verticalScrollBarSize||(this._horizontalScrollBarSize=w,this._verticalScrollBarSize=b,this._scrollbarPresenceChanged=!0),y.overflowX=v+b<=C?"hidden":"auto",y.overflowY=m+w<=s?"hidden":"auto";var S=this._childrenToDisplay,F=0===S.length&&s>0&&C>0;return d.createElement("div",E()({ref:this._setScrollingContainerRef},i,{"aria-label":this.props["aria-label"],"aria-readonly":this.props["aria-readonly"],className:Object(Q.a)("ReactVirtualized__Grid",r),id:g,onScroll:this._onScroll,role:u,style:Y({},y,{},l),tabIndex:I}),S.length>0&&d.createElement("div",{className:"ReactVirtualized__Grid__innerScrollContainer",role:o,style:Y({width:t?"auto":v,height:m,maxWidth:v,maxHeight:m,overflow:"hidden",pointerEvents:p?"none":"",position:"relative"},a)},S),F&&c())}},{key:"_calculateChildrenToRender",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,A=e.cellRenderer,n=e.cellRangeRenderer,r=e.columnCount,i=e.deferredMeasurementCache,o=e.height,a=e.overscanColumnCount,s=e.overscanIndicesGetter,g=e.overscanRowCount,c=e.rowCount,u=e.width,l=e.isScrollingOptOut,I=t.scrollDirectionHorizontal,C=t.scrollDirectionVertical,h=t.instanceProps,f=this._initialScrollTop>0?this._initialScrollTop:t.scrollTop,d=this._initialScrollLeft>0?this._initialScrollLeft:t.scrollLeft,B=this._isScrolling(e,t);if(this._childrenToDisplay=[],o>0&&u>0){var p=h.columnSizeAndPositionManager.getVisibleCellRange({containerSize:u,offset:d}),E=h.rowSizeAndPositionManager.getVisibleCellRange({containerSize:o,offset:f}),Q=h.columnSizeAndPositionManager.getOffsetAdjustment({containerSize:u,offset:d}),y=h.rowSizeAndPositionManager.getOffsetAdjustment({containerSize:o,offset:f});this._renderedColumnStartIndex=p.start,this._renderedColumnStopIndex=p.stop,this._renderedRowStartIndex=E.start,this._renderedRowStopIndex=E.stop;var v=s({direction:"horizontal",cellCount:r,overscanCellsCount:a,scrollDirection:I,startIndex:"number"===typeof p.start?p.start:0,stopIndex:"number"===typeof p.stop?p.stop:-1}),m=s({direction:"vertical",cellCount:c,overscanCellsCount:g,scrollDirection:C,startIndex:"number"===typeof E.start?E.start:0,stopIndex:"number"===typeof E.stop?E.stop:-1}),b=v.overscanStartIndex,w=v.overscanStopIndex,S=m.overscanStartIndex,F=m.overscanStopIndex;if(i){if(!i.hasFixedHeight())for(var R=S;R<=F;R++)if(!i.has(R,0)){b=0,w=r-1;break}if(!i.hasFixedWidth())for(var D=b;D<=w;D++)if(!i.has(0,D)){S=0,F=c-1;break}}this._childrenToDisplay=n({cellCache:this._cellCache,cellRenderer:A,columnSizeAndPositionManager:h.columnSizeAndPositionManager,columnStartIndex:b,columnStopIndex:w,deferredMeasurementCache:i,horizontalOffsetAdjustment:Q,isScrolling:B,isScrollingOptOut:l,parent:this,rowSizeAndPositionManager:h.rowSizeAndPositionManager,rowStartIndex:S,rowStopIndex:F,scrollLeft:d,scrollTop:f,styleCache:this._styleCache,verticalOffsetAdjustment:y,visibleColumnIndices:p,visibleRowIndices:E}),this._columnStartIndex=b,this._columnStopIndex=w,this._rowStartIndex=S,this._rowStopIndex=F}}},{key:"_debounceScrollEnded",value:function(){var e=this.props.scrollingResetTimeInterval;this._disablePointerEventsTimeoutId&&T(this._disablePointerEventsTimeoutId),this._disablePointerEventsTimeoutId=Z(this._debounceScrollEndedCallback,e)}},{key:"_handleInvalidatedGridSize",value:function(){if("number"===typeof this._deferredInvalidateColumnIndex&&"number"===typeof this._deferredInvalidateRowIndex){var e=this._deferredInvalidateColumnIndex,t=this._deferredInvalidateRowIndex;this._deferredInvalidateColumnIndex=null,this._deferredInvalidateRowIndex=null,this.recomputeGridSize({columnIndex:e,rowIndex:t})}}},{key:"_invokeOnScrollMemoizer",value:function(e){var t=this,A=e.scrollLeft,n=e.scrollTop,r=e.totalColumnsWidth,i=e.totalRowsHeight;this._onScrollMemoizer({callback:function(e){var A=e.scrollLeft,n=e.scrollTop,o=t.props,a=o.height;(0,o.onScroll)({clientHeight:a,clientWidth:o.width,scrollHeight:i,scrollLeft:A,scrollTop:n,scrollWidth:r})},indices:{scrollLeft:A,scrollTop:n}})}},{key:"_isScrolling",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state;return Object.hasOwnProperty.call(e,"isScrolling")?Boolean(e.isScrolling):Boolean(t.isScrolling)}},{key:"_maybeCallOnScrollbarPresenceChange",value:function(){if(this._scrollbarPresenceChanged){var e=this.props.onScrollbarPresenceChange;this._scrollbarPresenceChanged=!1,e({horizontal:this._horizontalScrollBarSize>0,size:this.state.instanceProps.scrollbarSize,vertical:this._verticalScrollBarSize>0})}}},{key:"scrollToPosition",value:function(e){var A=e.scrollLeft,n=e.scrollTop,r=t._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:A,scrollTop:n});r&&(r.needToResetStyleCache=!1,this.setState(r))}},{key:"_getCalculatedScrollLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state;return t._getCalculatedScrollLeft(e,A)}},{key:"_updateScrollLeftForScrollToColumn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,n=t._getScrollLeftForScrollToColumnStateUpdate(e,A);n&&(n.needToResetStyleCache=!1,this.setState(n))}},{key:"_getCalculatedScrollTop",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state;return t._getCalculatedScrollTop(e,A)}},{key:"_resetStyleCache",value:function(){var e=this._styleCache,t=this._cellCache,A=this.props.isScrollingOptOut;this._cellCache={},this._styleCache={};for(var n=this._rowStartIndex;n<=this._rowStopIndex;n++)for(var r=this._columnStartIndex;r<=this._columnStopIndex;r++){var i="".concat(n,"-").concat(r);this._styleCache[i]=e[i],A&&(this._cellCache[i]=t[i])}}},{key:"_updateScrollTopForScrollToRow",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,n=t._getScrollTopForScrollToRowStateUpdate(e,A);n&&(n.needToResetStyleCache=!1,this.setState(n))}}],[{key:"getDerivedStateFromProps",value:function(e,A){var n={};0===e.columnCount&&0!==A.scrollLeft||0===e.rowCount&&0!==A.scrollTop?(n.scrollLeft=0,n.scrollTop=0):(e.scrollLeft!==A.scrollLeft&&e.scrollToColumn<0||e.scrollTop!==A.scrollTop&&e.scrollToRow<0)&&Object.assign(n,t._getScrollToPositionStateUpdate({prevState:A,scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}));var r,i,o=A.instanceProps;return n.needToResetStyleCache=!1,e.columnWidth===o.prevColumnWidth&&e.rowHeight===o.prevRowHeight||(n.needToResetStyleCache=!0),o.columnSizeAndPositionManager.configure({cellCount:e.columnCount,estimatedCellSize:t._getEstimatedColumnSize(e),cellSizeGetter:t._wrapSizeGetter(e.columnWidth)}),o.rowSizeAndPositionManager.configure({cellCount:e.rowCount,estimatedCellSize:t._getEstimatedRowSize(e),cellSizeGetter:t._wrapSizeGetter(e.rowHeight)}),0!==o.prevColumnCount&&0!==o.prevRowCount||(o.prevColumnCount=0,o.prevRowCount=0),e.autoHeight&&!1===e.isScrolling&&!0===o.prevIsScrolling&&Object.assign(n,{isScrolling:!1}),y({cellCount:o.prevColumnCount,cellSize:"number"===typeof o.prevColumnWidth?o.prevColumnWidth:null,computeMetadataCallback:function(){return o.columnSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:e,nextCellsCount:e.columnCount,nextCellSize:"number"===typeof e.columnWidth?e.columnWidth:null,nextScrollToIndex:e.scrollToColumn,scrollToIndex:o.prevScrollToColumn,updateScrollOffsetForScrollToIndex:function(){r=t._getScrollLeftForScrollToColumnStateUpdate(e,A)}}),y({cellCount:o.prevRowCount,cellSize:"number"===typeof o.prevRowHeight?o.prevRowHeight:null,computeMetadataCallback:function(){return o.rowSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:e,nextCellsCount:e.rowCount,nextCellSize:"number"===typeof e.rowHeight?e.rowHeight:null,nextScrollToIndex:e.scrollToRow,scrollToIndex:o.prevScrollToRow,updateScrollOffsetForScrollToIndex:function(){i=t._getScrollTopForScrollToRowStateUpdate(e,A)}}),o.prevColumnCount=e.columnCount,o.prevColumnWidth=e.columnWidth,o.prevIsScrolling=!0===e.isScrolling,o.prevRowCount=e.rowCount,o.prevRowHeight=e.rowHeight,o.prevScrollToColumn=e.scrollToColumn,o.prevScrollToRow=e.scrollToRow,o.scrollbarSize=e.getScrollbarSize(),void 0===o.scrollbarSize?(o.scrollbarSizeMeasured=!1,o.scrollbarSize=0):o.scrollbarSizeMeasured=!0,n.instanceProps=o,Y({},n,{},r,{},i)}},{key:"_getEstimatedColumnSize",value:function(e){return"number"===typeof e.columnWidth?e.columnWidth:e.estimatedColumnSize}},{key:"_getEstimatedRowSize",value:function(e){return"number"===typeof e.rowHeight?e.rowHeight:e.estimatedRowSize}},{key:"_getScrollToPositionStateUpdate",value:function(e){var t=e.prevState,A=e.scrollLeft,n=e.scrollTop,r={scrollPositionChangeReason:j};return"number"===typeof A&&A>=0&&(r.scrollDirectionHorizontal=A>t.scrollLeft?1:-1,r.scrollLeft=A),"number"===typeof n&&n>=0&&(r.scrollDirectionVertical=n>t.scrollTop?1:-1,r.scrollTop=n),"number"===typeof A&&A>=0&&A!==t.scrollLeft||"number"===typeof n&&n>=0&&n!==t.scrollTop?r:{}}},{key:"_wrapSizeGetter",value:function(e){return"function"===typeof e?e:function(){return e}}},{key:"_getCalculatedScrollLeft",value:function(e,t){var A=e.columnCount,n=e.height,r=e.scrollToAlignment,i=e.scrollToColumn,o=e.width,a=t.scrollLeft,s=t.instanceProps;if(A>0){var g=A-1,c=i<0?g:Math.min(g,i),u=s.rowSizeAndPositionManager.getTotalSize(),l=s.scrollbarSizeMeasured&&u>n?s.scrollbarSize:0;return s.columnSizeAndPositionManager.getUpdatedOffsetForIndex({align:r,containerSize:o-l,currentOffset:a,targetIndex:c})}return 0}},{key:"_getScrollLeftForScrollToColumnStateUpdate",value:function(e,A){var n=A.scrollLeft,r=t._getCalculatedScrollLeft(e,A);return"number"===typeof r&&r>=0&&n!==r?t._getScrollToPositionStateUpdate({prevState:A,scrollLeft:r,scrollTop:-1}):{}}},{key:"_getCalculatedScrollTop",value:function(e,t){var A=e.height,n=e.rowCount,r=e.scrollToAlignment,i=e.scrollToRow,o=e.width,a=t.scrollTop,s=t.instanceProps;if(n>0){var g=n-1,c=i<0?g:Math.min(g,i),u=s.columnSizeAndPositionManager.getTotalSize(),l=s.scrollbarSizeMeasured&&u>o?s.scrollbarSize:0;return s.rowSizeAndPositionManager.getUpdatedOffsetForIndex({align:r,containerSize:A-l,currentOffset:a,targetIndex:c})}return 0}},{key:"_getScrollTopForScrollToRowStateUpdate",value:function(e,A){var n=A.scrollTop,r=t._getCalculatedScrollTop(e,A);return"number"===typeof r&&r>=0&&n!==r?t._getScrollToPositionStateUpdate({prevState:A,scrollLeft:-1,scrollTop:r}):{}}}]),t}(d.PureComponent),f()(N,"propTypes",null),U);f()(P,"defaultProps",{"aria-label":"grid","aria-readonly":!0,autoContainerWidth:!1,autoHeight:!1,autoWidth:!1,cellRangeRenderer:function(e){for(var t=e.cellCache,A=e.cellRenderer,n=e.columnSizeAndPositionManager,r=e.columnStartIndex,i=e.columnStopIndex,o=e.deferredMeasurementCache,a=e.horizontalOffsetAdjustment,s=e.isScrolling,g=e.isScrollingOptOut,c=e.parent,u=e.rowSizeAndPositionManager,l=e.rowStartIndex,I=e.rowStopIndex,C=e.styleCache,h=e.verticalOffsetAdjustment,f=e.visibleColumnIndices,d=e.visibleRowIndices,B=[],p=n.areOffsetsAdjusted()||u.areOffsetsAdjusted(),E=!s&&!p,Q=l;Q<=I;Q++)for(var y=u.getSizeAndPositionOfCell(Q),v=r;v<=i;v++){var m=n.getSizeAndPositionOfCell(v),b=v>=f.start&&v<=f.stop&&Q>=d.start&&Q<=d.stop,w="".concat(Q,"-").concat(v),S=void 0;E&&C[w]?S=C[w]:o&&!o.has(Q,v)?S={height:"auto",left:0,position:"absolute",top:0,width:"auto"}:(S={height:y.size,left:m.offset+a,position:"absolute",top:y.offset+h,width:m.size},C[w]=S);var F={columnIndex:v,isScrolling:s,isVisible:b,key:w,parent:c,rowIndex:Q,style:S},R=void 0;!g&&!s||a||h?R=A(F):(t[w]||(t[w]=A(F)),R=t[w]),null!=R&&!1!==R&&B.push(R)}return B},containerRole:"rowgroup",containerStyle:{},estimatedColumnSize:100,estimatedRowSize:30,getScrollbarSize:x,noContentRenderer:function(){return null},onScroll:function(){},onScrollbarPresenceChange:function(){},onSectionRendered:function(){},overscanColumnCount:0,overscanIndicesGetter:function(e){var t=e.cellCount,A=e.overscanCellsCount,n=e.scrollDirection,r=e.startIndex,i=e.stopIndex;return 1===n?{overscanStartIndex:Math.max(0,r),overscanStopIndex:Math.min(t-1,i+A)}:{overscanStartIndex:Math.max(0,r-A),overscanStopIndex:Math.min(t-1,i)}},overscanRowCount:10,role:"grid",scrollingResetTimeInterval:150,scrollToAlignment:"auto",scrollToColumn:-1,scrollToRow:-1,style:{},tabIndex:0,isScrollingOptOut:!1}),Object(B.a)(P);var V=P;function K(e){var t=e.cellCount,A=e.overscanCellsCount,n=e.scrollDirection,r=e.startIndex,i=e.stopIndex;return A=Math.max(1,A),1===n?{overscanStartIndex:Math.max(0,r-1),overscanStopIndex:Math.min(t-1,i+A)}:{overscanStartIndex:Math.max(0,r-A),overscanStopIndex:Math.min(t-1,i+1)}}var W,X;function q(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}var z=(X=W=function(e){function t(){var e,A;r()(this,t);for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return A=s()(this,(e=c()(t)).call.apply(e,[this].concat(i))),f()(l()(A),"state",{scrollToColumn:0,scrollToRow:0,instanceProps:{prevScrollToColumn:0,prevScrollToRow:0}}),f()(l()(A),"_columnStartIndex",0),f()(l()(A),"_columnStopIndex",0),f()(l()(A),"_rowStartIndex",0),f()(l()(A),"_rowStopIndex",0),f()(l()(A),"_onKeyDown",(function(e){var t=A.props,n=t.columnCount,r=t.disabled,i=t.mode,o=t.rowCount;if(!r){var a=A._getScrollState(),s=a.scrollToColumn,g=a.scrollToRow,c=A._getScrollState(),u=c.scrollToColumn,l=c.scrollToRow;switch(e.key){case"ArrowDown":l="cells"===i?Math.min(l+1,o-1):Math.min(A._rowStopIndex+1,o-1);break;case"ArrowLeft":u="cells"===i?Math.max(u-1,0):Math.max(A._columnStartIndex-1,0);break;case"ArrowRight":u="cells"===i?Math.min(u+1,n-1):Math.min(A._columnStopIndex+1,n-1);break;case"ArrowUp":l="cells"===i?Math.max(l-1,0):Math.max(A._rowStartIndex-1,0)}u===s&&l===g||(e.preventDefault(),A._updateScrollState({scrollToColumn:u,scrollToRow:l}))}})),f()(l()(A),"_onSectionRendered",(function(e){var t=e.columnStartIndex,n=e.columnStopIndex,r=e.rowStartIndex,i=e.rowStopIndex;A._columnStartIndex=t,A._columnStopIndex=n,A._rowStartIndex=r,A._rowStopIndex=i})),A}return C()(t,e),o()(t,[{key:"setScrollIndexes",value:function(e){var t=e.scrollToColumn,A=e.scrollToRow;this.setState({scrollToRow:A,scrollToColumn:t})}},{key:"render",value:function(){var e=this.props,t=e.className,A=e.children,n=this._getScrollState(),r=n.scrollToColumn,i=n.scrollToRow;return d.createElement("div",{className:t,onKeyDown:this._onKeyDown},A({onSectionRendered:this._onSectionRendered,scrollToColumn:r,scrollToRow:i}))}},{key:"_getScrollState",value:function(){return this.props.isControlled?this.props:this.state}},{key:"_updateScrollState",value:function(e){var t=e.scrollToColumn,A=e.scrollToRow,n=this.props,r=n.isControlled,i=n.onScrollToChange;"function"===typeof i&&i({scrollToColumn:t,scrollToRow:A}),r||this.setState({scrollToColumn:t,scrollToRow:A})}}],[{key:"getDerivedStateFromProps",value:function(e,t){return e.isControlled?{}:e.scrollToColumn!==t.instanceProps.prevScrollToColumn||e.scrollToRow!==t.instanceProps.prevScrollToRow?function(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?q(A,!0).forEach((function(t){f()(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):q(A).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}({},t,{scrollToColumn:e.scrollToColumn,scrollToRow:e.scrollToRow,instanceProps:{prevScrollToColumn:e.scrollToColumn,prevScrollToRow:e.scrollToRow}}):{}}}]),t}(d.PureComponent),f()(W,"propTypes",null),X);f()(z,"defaultProps",{disabled:!1,isControlled:!1,mode:"edges",scrollToColumn:0,scrollToRow:0}),Object(B.a)(z);var $,ee,te=A(415);function Ae(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function ne(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?Ae(A,!0).forEach((function(t){f()(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):Ae(A).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}var re=(ee=$=function(e){function t(){var e,A;r()(this,t);for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return A=s()(this,(e=c()(t)).call.apply(e,[this].concat(i))),f()(l()(A),"state",{height:A.props.defaultHeight||0,width:A.props.defaultWidth||0}),f()(l()(A),"_parentNode",void 0),f()(l()(A),"_autoSizer",void 0),f()(l()(A),"_window",void 0),f()(l()(A),"_detectElementResize",void 0),f()(l()(A),"_onResize",(function(){var e=A.props,t=e.disableHeight,n=e.disableWidth,r=e.onResize;if(A._parentNode){var i=A._parentNode.offsetHeight||0,o=A._parentNode.offsetWidth||0,a=(A._window||window).getComputedStyle(A._parentNode)||{},s=parseInt(a.paddingLeft,10)||0,g=parseInt(a.paddingRight,10)||0,c=parseInt(a.paddingTop,10)||0,u=parseInt(a.paddingBottom,10)||0,l=i-c-u,I=o-s-g;(!t&&A.state.height!==l||!n&&A.state.width!==I)&&(A.setState({height:i-c-u,width:o-s-g}),r({height:i,width:o}))}})),f()(l()(A),"_setRef",(function(e){A._autoSizer=e})),A}return C()(t,e),o()(t,[{key:"componentDidMount",value:function(){var e=this.props.nonce;this._autoSizer&&this._autoSizer.parentNode&&this._autoSizer.parentNode.ownerDocument&&this._autoSizer.parentNode.ownerDocument.defaultView&&this._autoSizer.parentNode instanceof this._autoSizer.parentNode.ownerDocument.defaultView.HTMLElement&&(this._parentNode=this._autoSizer.parentNode,this._window=this._autoSizer.parentNode.ownerDocument.defaultView,this._detectElementResize=Object(te.a)(e,this._window),this._detectElementResize.addResizeListener(this._parentNode,this._onResize),this._onResize())}},{key:"componentWillUnmount",value:function(){this._detectElementResize&&this._parentNode&&this._detectElementResize.removeResizeListener(this._parentNode,this._onResize)}},{key:"render",value:function(){var e=this.props,t=e.children,A=e.className,n=e.disableHeight,r=e.disableWidth,i=e.style,o=this.state,a=o.height,s=o.width,g={overflow:"visible"},c={};return n||(g.height=0,c.height=a),r||(g.width=0,c.width=s),d.createElement("div",{className:A,ref:this._setRef,style:ne({},g,{},i)},t(c))}}]),t}(d.Component),f()($,"propTypes",null),ee);f()(re,"defaultProps",{onResize:function(){},disableHeight:!1,disableWidth:!1,style:{}});var ie,oe,ae=A(39),se=(oe=ie=function(e){function t(){var e,A;r()(this,t);for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return A=s()(this,(e=c()(t)).call.apply(e,[this].concat(i))),f()(l()(A),"_child",void 0),f()(l()(A),"_measure",(function(){var e=A.props,t=e.cache,n=e.columnIndex,r=void 0===n?0:n,i=e.parent,o=e.rowIndex,a=void 0===o?A.props.index||0:o,s=A._getCellMeasurements(),g=s.height,c=s.width;g===t.getHeight(a,r)&&c===t.getWidth(a,r)||(t.set(a,r,c,g),i&&"function"===typeof i.recomputeGridSize&&i.recomputeGridSize({columnIndex:r,rowIndex:a}))})),f()(l()(A),"_registerChild",(function(e){!e||e instanceof Element||console.warn("CellMeasurer registerChild expects to be passed Element or null"),A._child=e,e&&A._maybeMeasureCell()})),A}return C()(t,e),o()(t,[{key:"componentDidMount",value:function(){this._maybeMeasureCell()}},{key:"componentDidUpdate",value:function(){this._maybeMeasureCell()}},{key:"render",value:function(){var e=this.props.children;return"function"===typeof e?e({measure:this._measure,registerChild:this._registerChild}):e}},{key:"_getCellMeasurements",value:function(){var e=this.props.cache,t=this._child||Object(ae.findDOMNode)(this);if(t&&t.ownerDocument&&t.ownerDocument.defaultView&&t instanceof t.ownerDocument.defaultView.HTMLElement){var A=t.style.width,n=t.style.height;e.hasFixedWidth()||(t.style.width="auto"),e.hasFixedHeight()||(t.style.height="auto");var r=Math.ceil(t.offsetHeight),i=Math.ceil(t.offsetWidth);return A&&(t.style.width=A),n&&(t.style.height=n),{height:r,width:i}}return{height:0,width:0}}},{key:"_maybeMeasureCell",value:function(){var e=this.props,t=e.cache,A=e.columnIndex,n=void 0===A?0:A,r=e.parent,i=e.rowIndex,o=void 0===i?this.props.index||0:i;if(!t.has(o,n)){var a=this._getCellMeasurements(),s=a.height,g=a.width;t.set(o,n,g,s),r&&"function"===typeof r.invalidateCellSizeAfterRender&&r.invalidateCellSizeAfterRender({columnIndex:n,rowIndex:o})}}}]),t}(d.PureComponent),f()(ie,"propTypes",null),oe);f()(se,"__internalCellMeasurerFlag",!1);function ge(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function ce(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?ge(A,!0).forEach((function(t){f()(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):ge(A).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}var ue="observed",le="requested",Ie=function(e){function t(){var e,A;r()(this,t);for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return A=s()(this,(e=c()(t)).call.apply(e,[this].concat(i))),f()(l()(A),"state",{isScrolling:!1,scrollLeft:0,scrollTop:0}),f()(l()(A),"_calculateSizeAndPositionDataOnNextUpdate",!1),f()(l()(A),"_onSectionRenderedMemoizer",F()),f()(l()(A),"_onScrollMemoizer",F(!1)),f()(l()(A),"_invokeOnSectionRenderedHelper",(function(){var e=A.props,t=e.cellLayoutManager,n=e.onSectionRendered;A._onSectionRenderedMemoizer({callback:n,indices:{indices:t.getLastRenderedIndices()}})})),f()(l()(A),"_setScrollingContainerRef",(function(e){A._scrollingContainer=e})),f()(l()(A),"_updateScrollPositionForScrollToCell",(function(){var e=A.props,t=e.cellLayoutManager,n=e.height,r=e.scrollToAlignment,i=e.scrollToCell,o=e.width,a=A.state,s=a.scrollLeft,g=a.scrollTop;if(i>=0){var c=t.getScrollPositionForCell({align:r,cellIndex:i,height:n,scrollLeft:s,scrollTop:g,width:o});c.scrollLeft===s&&c.scrollTop===g||A._setScrollPosition(c)}})),f()(l()(A),"_onScroll",(function(e){if(e.target===A._scrollingContainer){A._enablePointerEventsAfterDelay();var t=A.props,n=t.cellLayoutManager,r=t.height,i=t.isScrollingChange,o=t.width,a=A._scrollbarSize,s=n.getTotalSize(),g=s.height,c=s.width,u=Math.max(0,Math.min(c-o+a,e.target.scrollLeft)),l=Math.max(0,Math.min(g-r+a,e.target.scrollTop));if(A.state.scrollLeft!==u||A.state.scrollTop!==l){var I=e.cancelable?ue:le;A.state.isScrolling||i(!0),A.setState({isScrolling:!0,scrollLeft:u,scrollPositionChangeReason:I,scrollTop:l})}A._invokeOnScrollMemoizer({scrollLeft:u,scrollTop:l,totalWidth:c,totalHeight:g})}})),A._scrollbarSize=x(),void 0===A._scrollbarSize?(A._scrollbarSizeMeasured=!1,A._scrollbarSize=0):A._scrollbarSizeMeasured=!0,A}return C()(t,e),o()(t,[{key:"recomputeCellSizesAndPositions",value:function(){this._calculateSizeAndPositionDataOnNextUpdate=!0,this.forceUpdate()}},{key:"componentDidMount",value:function(){var e=this.props,t=e.cellLayoutManager,A=e.scrollLeft,n=e.scrollToCell,r=e.scrollTop;this._scrollbarSizeMeasured||(this._scrollbarSize=x(),this._scrollbarSizeMeasured=!0,this.setState({})),n>=0?this._updateScrollPositionForScrollToCell():(A>=0||r>=0)&&this._setScrollPosition({scrollLeft:A,scrollTop:r}),this._invokeOnSectionRenderedHelper();var i=t.getTotalSize(),o=i.height,a=i.width;this._invokeOnScrollMemoizer({scrollLeft:A||0,scrollTop:r||0,totalHeight:o,totalWidth:a})}},{key:"componentDidUpdate",value:function(e,t){var A=this.props,n=A.height,r=A.scrollToAlignment,i=A.scrollToCell,o=A.width,a=this.state,s=a.scrollLeft,g=a.scrollPositionChangeReason,c=a.scrollTop;g===le&&(s>=0&&s!==t.scrollLeft&&s!==this._scrollingContainer.scrollLeft&&(this._scrollingContainer.scrollLeft=s),c>=0&&c!==t.scrollTop&&c!==this._scrollingContainer.scrollTop&&(this._scrollingContainer.scrollTop=c)),n===e.height&&r===e.scrollToAlignment&&i===e.scrollToCell&&o===e.width||this._updateScrollPositionForScrollToCell(),this._invokeOnSectionRenderedHelper()}},{key:"componentWillUnmount",value:function(){this._disablePointerEventsTimeoutId&&clearTimeout(this._disablePointerEventsTimeoutId)}},{key:"render",value:function(){var e=this.props,t=e.autoHeight,A=e.cellCount,n=e.cellLayoutManager,r=e.className,i=e.height,o=e.horizontalOverscanSize,a=e.id,s=e.noContentRenderer,g=e.style,c=e.verticalOverscanSize,u=e.width,l=this.state,I=l.isScrolling,C=l.scrollLeft,h=l.scrollTop;(this._lastRenderedCellCount!==A||this._lastRenderedCellLayoutManager!==n||this._calculateSizeAndPositionDataOnNextUpdate)&&(this._lastRenderedCellCount=A,this._lastRenderedCellLayoutManager=n,this._calculateSizeAndPositionDataOnNextUpdate=!1,n.calculateSizeAndPositionData());var f=n.getTotalSize(),B=f.height,p=f.width,E=Math.max(0,C-o),y=Math.max(0,h-c),v=Math.min(p,C+u+o),m=Math.min(B,h+i+c),b=i>0&&u>0?n.cellRenderers({height:m-y,isScrolling:I,width:v-E,x:E,y:y}):[],w={boxSizing:"border-box",direction:"ltr",height:t?"auto":i,position:"relative",WebkitOverflowScrolling:"touch",width:u,willChange:"transform"},S=B>i?this._scrollbarSize:0,F=p>u?this._scrollbarSize:0;return w.overflowX=p+S<=u?"hidden":"auto",w.overflowY=B+F<=i?"hidden":"auto",d.createElement("div",{ref:this._setScrollingContainerRef,"aria-label":this.props["aria-label"],className:Object(Q.a)("ReactVirtualized__Collection",r),id:a,onScroll:this._onScroll,role:"grid",style:ce({},w,{},g),tabIndex:0},A>0&&d.createElement("div",{className:"ReactVirtualized__Collection__innerScrollContainer",style:{height:B,maxHeight:B,maxWidth:p,overflow:"hidden",pointerEvents:I?"none":"",width:p}},b),0===A&&s())}},{key:"_enablePointerEventsAfterDelay",value:function(){var e=this;this._disablePointerEventsTimeoutId&&clearTimeout(this._disablePointerEventsTimeoutId),this._disablePointerEventsTimeoutId=setTimeout((function(){(0,e.props.isScrollingChange)(!1),e._disablePointerEventsTimeoutId=null,e.setState({isScrolling:!1})}),150)}},{key:"_invokeOnScrollMemoizer",value:function(e){var t=this,A=e.scrollLeft,n=e.scrollTop,r=e.totalHeight,i=e.totalWidth;this._onScrollMemoizer({callback:function(e){var A=e.scrollLeft,n=e.scrollTop,o=t.props,a=o.height;(0,o.onScroll)({clientHeight:a,clientWidth:o.width,scrollHeight:r,scrollLeft:A,scrollTop:n,scrollWidth:i})},indices:{scrollLeft:A,scrollTop:n}})}},{key:"_setScrollPosition",value:function(e){var t=e.scrollLeft,A=e.scrollTop,n={scrollPositionChangeReason:le};t>=0&&(n.scrollLeft=t),A>=0&&(n.scrollTop=A),(t>=0&&t!==this.state.scrollLeft||A>=0&&A!==this.state.scrollTop)&&this.setState(n)}}],[{key:"getDerivedStateFromProps",value:function(e,t){return 0!==e.cellCount||0===t.scrollLeft&&0===t.scrollTop?e.scrollLeft!==t.scrollLeft||e.scrollTop!==t.scrollTop?{scrollLeft:null!=e.scrollLeft?e.scrollLeft:t.scrollLeft,scrollTop:null!=e.scrollTop?e.scrollTop:t.scrollTop,scrollPositionChangeReason:le}:null:{scrollLeft:0,scrollTop:0,scrollPositionChangeReason:le}}}]),t}(d.PureComponent);f()(Ie,"defaultProps",{"aria-label":"grid",horizontalOverscanSize:0,noContentRenderer:function(){return null},onScroll:function(){return null},onSectionRendered:function(){return null},scrollToAlignment:"auto",scrollToCell:-1,style:{},verticalOverscanSize:0}),Ie.propTypes={},Object(B.a)(Ie);var Ce=Ie,he=function(){function e(t){var A=t.height,n=t.width,i=t.x,o=t.y;r()(this,e),this.height=A,this.width=n,this.x=i,this.y=o,this._indexMap={},this._indices=[]}return o()(e,[{key:"addCellIndex",value:function(e){var t=e.index;this._indexMap[t]||(this._indexMap[t]=!0,this._indices.push(t))}},{key:"getCellIndices",value:function(){return this._indices}},{key:"toString",value:function(){return"".concat(this.x,",").concat(this.y," ").concat(this.width,"x").concat(this.height)}}]),e}(),fe=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;r()(this,e),this._sectionSize=t,this._cellMetadata=[],this._sections={}}return o()(e,[{key:"getCellIndices",value:function(e){var t=e.height,A=e.width,n=e.x,r=e.y,i={};return this.getSections({height:t,width:A,x:n,y:r}).forEach((function(e){return e.getCellIndices().forEach((function(e){i[e]=e}))})),Object.keys(i).map((function(e){return i[e]}))}},{key:"getCellMetadata",value:function(e){var t=e.index;return this._cellMetadata[t]}},{key:"getSections",value:function(e){for(var t=e.height,A=e.width,n=e.x,r=e.y,i=Math.floor(n/this._sectionSize),o=Math.floor((n+A-1)/this._sectionSize),a=Math.floor(r/this._sectionSize),s=Math.floor((r+t-1)/this._sectionSize),g=[],c=i;c<=o;c++)for(var u=a;u<=s;u++){var l="".concat(c,".").concat(u);this._sections[l]||(this._sections[l]=new he({height:this._sectionSize,width:this._sectionSize,x:c*this._sectionSize,y:u*this._sectionSize})),g.push(this._sections[l])}return g}},{key:"getTotalSectionCount",value:function(){return Object.keys(this._sections).length}},{key:"toString",value:function(){var e=this;return Object.keys(this._sections).map((function(t){return e._sections[t].toString()}))}},{key:"registerCell",value:function(e){var t=e.cellMetadatum,A=e.index;this._cellMetadata[A]=t,this.getSections(t).forEach((function(e){return e.addCellIndex({index:A})}))}}]),e}();function de(e){var t=e.align,A=void 0===t?"auto":t,n=e.cellOffset,r=e.cellSize,i=e.containerSize,o=e.currentOffset,a=n,s=a-i+r;switch(A){case"start":return a;case"end":return s;case"center":return a-(i-r)/2;default:return Math.max(s,Math.min(a,o))}}var Be=function(e){function t(e,A){var n;return r()(this,t),(n=s()(this,c()(t).call(this,e,A)))._cellMetadata=[],n._lastRenderedCellIndices=[],n._cellCache=[],n._isScrollingChange=n._isScrollingChange.bind(l()(n)),n._setCollectionViewRef=n._setCollectionViewRef.bind(l()(n)),n}return C()(t,e),o()(t,[{key:"forceUpdate",value:function(){void 0!==this._collectionView&&this._collectionView.forceUpdate()}},{key:"recomputeCellSizesAndPositions",value:function(){this._cellCache=[],this._collectionView.recomputeCellSizesAndPositions()}},{key:"render",value:function(){var e=E()({},this.props);return d.createElement(Ce,E()({cellLayoutManager:this,isScrollingChange:this._isScrollingChange,ref:this._setCollectionViewRef},e))}},{key:"calculateSizeAndPositionData",value:function(){var e=this.props,t=function(e){for(var t=e.cellCount,A=e.cellSizeAndPositionGetter,n=e.sectionSize,r=[],i=new fe(n),o=0,a=0,s=0;s<t;s++){var g=A({index:s});if(null==g.height||isNaN(g.height)||null==g.width||isNaN(g.width)||null==g.x||isNaN(g.x)||null==g.y||isNaN(g.y))throw Error("Invalid metadata returned for cell ".concat(s,":\n x:").concat(g.x,", y:").concat(g.y,", width:").concat(g.width,", height:").concat(g.height));o=Math.max(o,g.y+g.height),a=Math.max(a,g.x+g.width),r[s]=g,i.registerCell({cellMetadatum:g,index:s})}return{cellMetadata:r,height:o,sectionManager:i,width:a}}({cellCount:e.cellCount,cellSizeAndPositionGetter:e.cellSizeAndPositionGetter,sectionSize:e.sectionSize});this._cellMetadata=t.cellMetadata,this._sectionManager=t.sectionManager,this._height=t.height,this._width=t.width}},{key:"getLastRenderedIndices",value:function(){return this._lastRenderedCellIndices}},{key:"getScrollPositionForCell",value:function(e){var t=e.align,A=e.cellIndex,n=e.height,r=e.scrollLeft,i=e.scrollTop,o=e.width,a=this.props.cellCount;if(A>=0&&A<a){var s=this._cellMetadata[A];r=de({align:t,cellOffset:s.x,cellSize:s.width,containerSize:o,currentOffset:r,targetIndex:A}),i=de({align:t,cellOffset:s.y,cellSize:s.height,containerSize:n,currentOffset:i,targetIndex:A})}return{scrollLeft:r,scrollTop:i}}},{key:"getTotalSize",value:function(){return{height:this._height,width:this._width}}},{key:"cellRenderers",value:function(e){var t=this,A=e.height,n=e.isScrolling,r=e.width,i=e.x,o=e.y,a=this.props,s=a.cellGroupRenderer,g=a.cellRenderer;return this._lastRenderedCellIndices=this._sectionManager.getCellIndices({height:A,width:r,x:i,y:o}),s({cellCache:this._cellCache,cellRenderer:g,cellSizeAndPositionGetter:function(e){var A=e.index;return t._sectionManager.getCellMetadata({index:A})},indices:this._lastRenderedCellIndices,isScrolling:n})}},{key:"_isScrollingChange",value:function(e){e||(this._cellCache=[])}},{key:"_setCollectionViewRef",value:function(e){this._collectionView=e}}]),t}(d.PureComponent);f()(Be,"defaultProps",{"aria-label":"grid",cellGroupRenderer:function(e){var t=e.cellCache,A=e.cellRenderer,n=e.cellSizeAndPositionGetter,r=e.indices,i=e.isScrolling;return r.map((function(e){var r=n({index:e}),o={index:e,isScrolling:i,key:e,style:{height:r.height,left:r.x,position:"absolute",top:r.y,width:r.width}};return i?(e in t||(t[e]=A(o)),t[e]):A(o)})).filter((function(e){return!!e}))}}),Be.propTypes={};var pe=function(e){function t(e,A){var n;return r()(this,t),(n=s()(this,c()(t).call(this,e,A)))._registerChild=n._registerChild.bind(l()(n)),n}return C()(t,e),o()(t,[{key:"componentDidUpdate",value:function(e){var t=this.props,A=t.columnMaxWidth,n=t.columnMinWidth,r=t.columnCount,i=t.width;A===e.columnMaxWidth&&n===e.columnMinWidth&&r===e.columnCount&&i===e.width||this._registeredChild&&this._registeredChild.recomputeGridSize()}},{key:"render",value:function(){var e=this.props,t=e.children,A=e.columnMaxWidth,n=e.columnMinWidth,r=e.columnCount,i=e.width,o=n||1,a=A?Math.min(A,i):i,s=i/r;return s=Math.max(o,s),s=Math.min(a,s),s=Math.floor(s),t({adjustedWidth:Math.min(i,s*r),columnWidth:s,getColumnWidth:function(){return s},registerChild:this._registerChild})}},{key:"_registerChild",value:function(e){if(e&&"function"!==typeof e.recomputeGridSize)throw Error("Unexpected child type registered; only Grid/MultiGrid children are supported.");this._registeredChild=e,this._registeredChild&&this._registeredChild.recomputeGridSize()}}]),t}(d.PureComponent);pe.propTypes={};var Ee=A(693),Qe=A.n(Ee),ye=function(e){function t(e,A){var n;return r()(this,t),(n=s()(this,c()(t).call(this,e,A)))._loadMoreRowsMemoizer=F(),n._onRowsRendered=n._onRowsRendered.bind(l()(n)),n._registerChild=n._registerChild.bind(l()(n)),n}return C()(t,e),o()(t,[{key:"resetLoadMoreRowsCache",value:function(e){this._loadMoreRowsMemoizer=F(),e&&this._doStuff(this._lastRenderedStartIndex,this._lastRenderedStopIndex)}},{key:"render",value:function(){return(0,this.props.children)({onRowsRendered:this._onRowsRendered,registerChild:this._registerChild})}},{key:"_loadUnloadedRanges",value:function(e){var t=this,A=this.props.loadMoreRows;e.forEach((function(e){var n=A(e);n&&n.then((function(){(function(e){var t=e.lastRenderedStartIndex,A=e.lastRenderedStopIndex,n=e.startIndex,r=e.stopIndex;return!(n>A||r<t)})({lastRenderedStartIndex:t._lastRenderedStartIndex,lastRenderedStopIndex:t._lastRenderedStopIndex,startIndex:e.startIndex,stopIndex:e.stopIndex})&&t._registeredChild&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A="function"===typeof e.recomputeGridSize?e.recomputeGridSize:e.recomputeRowHeights;A?A.call(e,t):e.forceUpdate()}(t._registeredChild,t._lastRenderedStartIndex)}))}))}},{key:"_onRowsRendered",value:function(e){var t=e.startIndex,A=e.stopIndex;this._lastRenderedStartIndex=t,this._lastRenderedStopIndex=A,this._doStuff(t,A)}},{key:"_doStuff",value:function(e,t){var A,n=this,r=this.props,i=r.isRowLoaded,o=r.minimumBatchSize,a=r.rowCount,s=r.threshold,g=function(e){for(var t=e.isRowLoaded,A=e.minimumBatchSize,n=e.rowCount,r=e.startIndex,i=e.stopIndex,o=[],a=null,s=null,g=r;g<=i;g++){t({index:g})?null!==s&&(o.push({startIndex:a,stopIndex:s}),a=s=null):(s=g,null===a&&(a=g))}if(null!==s){for(var c=Math.min(Math.max(s,a+A-1),n-1),u=s+1;u<=c&&!t({index:u});u++)s=u;o.push({startIndex:a,stopIndex:s})}if(o.length)for(var l=o[0];l.stopIndex-l.startIndex+1<A&&l.startIndex>0;){var I=l.startIndex-1;if(t({index:I}))break;l.startIndex=I}return o}({isRowLoaded:i,minimumBatchSize:o,rowCount:a,startIndex:Math.max(0,e-s),stopIndex:Math.min(a-1,t+s)}),c=(A=[]).concat.apply(A,Qe()(g.map((function(e){return[e.startIndex,e.stopIndex]}))));this._loadMoreRowsMemoizer({callback:function(){n._loadUnloadedRanges(g)},indices:{squashedUnloadedRanges:c}})}},{key:"_registerChild",value:function(e){this._registeredChild=e}}]),t}(d.PureComponent);f()(ye,"defaultProps",{minimumBatchSize:10,rowCount:0,threshold:15}),ye.propTypes={};var ve,me,be=(me=ve=function(e){function t(){var e,A;r()(this,t);for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return A=s()(this,(e=c()(t)).call.apply(e,[this].concat(i))),f()(l()(A),"Grid",void 0),f()(l()(A),"_cellRenderer",(function(e){var t=e.parent,n=e.rowIndex,r=e.style,i=e.isScrolling,o=e.isVisible,a=e.key,s=A.props.rowRenderer,g=Object.getOwnPropertyDescriptor(r,"width");return g&&g.writable&&(r.width="100%"),s({index:n,style:r,isScrolling:i,isVisible:o,key:a,parent:t})})),f()(l()(A),"_setRef",(function(e){A.Grid=e})),f()(l()(A),"_onScroll",(function(e){var t=e.clientHeight,n=e.scrollHeight,r=e.scrollTop;(0,A.props.onScroll)({clientHeight:t,scrollHeight:n,scrollTop:r})})),f()(l()(A),"_onSectionRendered",(function(e){var t=e.rowOverscanStartIndex,n=e.rowOverscanStopIndex,r=e.rowStartIndex,i=e.rowStopIndex;(0,A.props.onRowsRendered)({overscanStartIndex:t,overscanStopIndex:n,startIndex:r,stopIndex:i})})),A}return C()(t,e),o()(t,[{key:"forceUpdateGrid",value:function(){this.Grid&&this.Grid.forceUpdate()}},{key:"getOffsetForRow",value:function(e){var t=e.alignment,A=e.index;return this.Grid?this.Grid.getOffsetForCell({alignment:t,rowIndex:A,columnIndex:0}).scrollTop:0}},{key:"invalidateCellSizeAfterRender",value:function(e){var t=e.columnIndex,A=e.rowIndex;this.Grid&&this.Grid.invalidateCellSizeAfterRender({rowIndex:A,columnIndex:t})}},{key:"measureAllRows",value:function(){this.Grid&&this.Grid.measureAllCells()}},{key:"recomputeGridSize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,A=void 0===t?0:t,n=e.rowIndex,r=void 0===n?0:n;this.Grid&&this.Grid.recomputeGridSize({rowIndex:r,columnIndex:A})}},{key:"recomputeRowHeights",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.recomputeGridSize({rowIndex:e,columnIndex:0})}},{key:"scrollToPosition",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.scrollToPosition({scrollTop:e})}},{key:"scrollToRow",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.scrollToCell({columnIndex:0,rowIndex:e})}},{key:"render",value:function(){var e=this.props,t=e.className,A=e.noRowsRenderer,n=e.scrollToIndex,r=e.width,i=Object(Q.a)("ReactVirtualized__List",t);return d.createElement(V,E()({},this.props,{autoContainerWidth:!0,cellRenderer:this._cellRenderer,className:i,columnWidth:r,columnCount:1,noContentRenderer:A,onScroll:this._onScroll,onSectionRendered:this._onSectionRendered,ref:this._setRef,scrollToRow:n}))}}]),t}(d.PureComponent),f()(ve,"propTypes",null),me);f()(be,"defaultProps",{autoHeight:!1,estimatedRowSize:30,onScroll:function(){},noRowsRenderer:function(){return null},onRowsRendered:function(){},overscanIndicesGetter:K,overscanRowCount:10,scrollToAlignment:"auto",scrollToIndex:-1,style:{}});var we=A(694),Se=A.n(we);var Fe={ge:function(e,t,A,n,r){return"function"===typeof A?function(e,t,A,n,r){for(var i=A+1;t<=A;){var o=t+A>>>1;r(e[o],n)>=0?(i=o,A=o-1):t=o+1}return i}(e,void 0===n?0:0|n,void 0===r?e.length-1:0|r,t,A):function(e,t,A,n){for(var r=A+1;t<=A;){var i=t+A>>>1;e[i]>=n?(r=i,A=i-1):t=i+1}return r}(e,void 0===A?0:0|A,void 0===n?e.length-1:0|n,t)},gt:function(e,t,A,n,r){return"function"===typeof A?function(e,t,A,n,r){for(var i=A+1;t<=A;){var o=t+A>>>1;r(e[o],n)>0?(i=o,A=o-1):t=o+1}return i}(e,void 0===n?0:0|n,void 0===r?e.length-1:0|r,t,A):function(e,t,A,n){for(var r=A+1;t<=A;){var i=t+A>>>1;e[i]>n?(r=i,A=i-1):t=i+1}return r}(e,void 0===A?0:0|A,void 0===n?e.length-1:0|n,t)},lt:function(e,t,A,n,r){return"function"===typeof A?function(e,t,A,n,r){for(var i=t-1;t<=A;){var o=t+A>>>1;r(e[o],n)<0?(i=o,t=o+1):A=o-1}return i}(e,void 0===n?0:0|n,void 0===r?e.length-1:0|r,t,A):function(e,t,A,n){for(var r=t-1;t<=A;){var i=t+A>>>1;e[i]<n?(r=i,t=i+1):A=i-1}return r}(e,void 0===A?0:0|A,void 0===n?e.length-1:0|n,t)},le:function(e,t,A,n,r){return"function"===typeof A?function(e,t,A,n,r){for(var i=t-1;t<=A;){var o=t+A>>>1;r(e[o],n)<=0?(i=o,t=o+1):A=o-1}return i}(e,void 0===n?0:0|n,void 0===r?e.length-1:0|r,t,A):function(e,t,A,n){for(var r=t-1;t<=A;){var i=t+A>>>1;e[i]<=n?(r=i,t=i+1):A=i-1}return r}(e,void 0===A?0:0|A,void 0===n?e.length-1:0|n,t)},eq:function(e,t,A,n,r){return"function"===typeof A?function(e,t,A,n,r){for(;t<=A;){var i=t+A>>>1,o=r(e[i],n);if(0===o)return i;o<=0?t=i+1:A=i-1}return-1}(e,void 0===n?0:0|n,void 0===r?e.length-1:0|r,t,A):function(e,t,A,n){for(;t<=A;){var r=t+A>>>1,i=e[r];if(i===n)return r;i<=n?t=r+1:A=r-1}return-1}(e,void 0===A?0:0|A,void 0===n?e.length-1:0|n,t)}};function Re(e,t,A,n,r){this.mid=e,this.left=t,this.right=A,this.leftPoints=n,this.rightPoints=r,this.count=(t?t.count:0)+(A?A.count:0)+n.length}var De=Re.prototype;function Ge(e,t){e.mid=t.mid,e.left=t.left,e.right=t.right,e.leftPoints=t.leftPoints,e.rightPoints=t.rightPoints,e.count=t.count}function ke(e,t){var A=Ze(t);e.mid=A.mid,e.left=A.left,e.right=A.right,e.leftPoints=A.leftPoints,e.rightPoints=A.rightPoints,e.count=A.count}function xe(e,t){var A=e.intervals([]);A.push(t),ke(e,A)}function Ne(e,t){var A=e.intervals([]),n=A.indexOf(t);return n<0?0:(A.splice(n,1),ke(e,A),1)}function Ue(e,t,A){for(var n=0;n<e.length&&e[n][0]<=t;++n){var r=A(e[n]);if(r)return r}}function _e(e,t,A){for(var n=e.length-1;n>=0&&e[n][1]>=t;--n){var r=A(e[n]);if(r)return r}}function Me(e,t){for(var A=0;A<e.length;++A){var n=t(e[A]);if(n)return n}}function Oe(e,t){return e-t}function Le(e,t){var A=e[0]-t[0];return A||e[1]-t[1]}function Te(e,t){var A=e[1]-t[1];return A||e[0]-t[0]}function Ze(e){if(0===e.length)return null;for(var t=[],A=0;A<e.length;++A)t.push(e[A][0],e[A][1]);t.sort(Oe);var n=t[t.length>>1],r=[],i=[],o=[];for(A=0;A<e.length;++A){var a=e[A];a[1]<n?r.push(a):n<a[0]?i.push(a):o.push(a)}var s=o,g=o.slice();return s.sort(Le),g.sort(Te),new Re(n,Ze(r),Ze(i),s,g)}function He(e){this.root=e}De.intervals=function(e){return e.push.apply(e,this.leftPoints),this.left&&this.left.intervals(e),this.right&&this.right.intervals(e),e},De.insert=function(e){var t=this.count-this.leftPoints.length;if(this.count+=1,e[1]<this.mid)this.left?4*(this.left.count+1)>3*(t+1)?xe(this,e):this.left.insert(e):this.left=Ze([e]);else if(e[0]>this.mid)this.right?4*(this.right.count+1)>3*(t+1)?xe(this,e):this.right.insert(e):this.right=Ze([e]);else{var A=Fe.ge(this.leftPoints,e,Le),n=Fe.ge(this.rightPoints,e,Te);this.leftPoints.splice(A,0,e),this.rightPoints.splice(n,0,e)}},De.remove=function(e){var t=this.count-this.leftPoints;if(e[1]<this.mid)return this.left?4*(this.right?this.right.count:0)>3*(t-1)?Ne(this,e):2===(i=this.left.remove(e))?(this.left=null,this.count-=1,1):(1===i&&(this.count-=1),i):0;if(e[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(t-1)?Ne(this,e):2===(i=this.right.remove(e))?(this.right=null,this.count-=1,1):(1===i&&(this.count-=1),i):0;if(1===this.count)return this.leftPoints[0]===e?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===e){if(this.left&&this.right){for(var A=this,n=this.left;n.right;)A=n,n=n.right;if(A===this)n.right=this.right;else{var r=this.left,i=this.right;A.count-=n.count,A.right=n.left,n.left=r,n.right=i}Ge(this,n),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?Ge(this,this.left):Ge(this,this.right);return 1}for(r=Fe.ge(this.leftPoints,e,Le);r<this.leftPoints.length&&this.leftPoints[r][0]===e[0];++r)if(this.leftPoints[r]===e){this.count-=1,this.leftPoints.splice(r,1);for(i=Fe.ge(this.rightPoints,e,Te);i<this.rightPoints.length&&this.rightPoints[i][1]===e[1];++i)if(this.rightPoints[i]===e)return this.rightPoints.splice(i,1),1}return 0},De.queryPoint=function(e,t){if(e<this.mid){if(this.left)if(A=this.left.queryPoint(e,t))return A;return Ue(this.leftPoints,e,t)}if(e>this.mid){var A;if(this.right)if(A=this.right.queryPoint(e,t))return A;return _e(this.rightPoints,e,t)}return Me(this.leftPoints,t)},De.queryInterval=function(e,t,A){var n;if(e<this.mid&&this.left&&(n=this.left.queryInterval(e,t,A)))return n;if(t>this.mid&&this.right&&(n=this.right.queryInterval(e,t,A)))return n;return t<this.mid?Ue(this.leftPoints,t,A):e>this.mid?_e(this.rightPoints,e,A):Me(this.leftPoints,A)};var Ye=He.prototype;Ye.insert=function(e){this.root?this.root.insert(e):this.root=new Re(e[0],null,null,[e],[e])},Ye.remove=function(e){if(this.root){var t=this.root.remove(e);return 2===t&&(this.root=null),0!==t}return!1},Ye.queryPoint=function(e,t){if(this.root)return this.root.queryPoint(e,t)},Ye.queryInterval=function(e,t,A){if(e<=t&&this.root)return this.root.queryInterval(e,t,A)},Object.defineProperty(Ye,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(Ye,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}});var Je,je,Pe=function(){function e(){var t;r()(this,e),f()(this,"_columnSizeMap",{}),f()(this,"_intervalTree",t&&0!==t.length?new He(Ze(t)):new He(null)),f()(this,"_leftMap",{})}return o()(e,[{key:"estimateTotalHeight",value:function(e,t,A){var n=e-this.count;return this.tallestColumnSize+Math.ceil(n/t)*A}},{key:"range",value:function(e,t,A){var n=this;this._intervalTree.queryInterval(e,e+t,(function(e){var t=Se()(e,3),r=t[0],i=(t[1],t[2]);return A(i,n._leftMap[i],r)}))}},{key:"setPosition",value:function(e,t,A,n){this._intervalTree.insert([A,A+n,e]),this._leftMap[e]=t;var r=this._columnSizeMap,i=r[t];r[t]=void 0===i?A+n:Math.max(i,A+n)}},{key:"count",get:function(){return this._intervalTree.count}},{key:"shortestColumnSize",get:function(){var e=this._columnSizeMap,t=0;for(var A in e){var n=e[A];t=0===t?n:Math.min(t,n)}return t}},{key:"tallestColumnSize",get:function(){var e=this._columnSizeMap,t=0;for(var A in e){var n=e[A];t=Math.max(t,n)}return t}}]),e}();function Ve(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function Ke(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?Ve(A,!0).forEach((function(t){f()(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):Ve(A).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}var We=(je=Je=function(e){function t(){var e,A;r()(this,t);for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return A=s()(this,(e=c()(t)).call.apply(e,[this].concat(i))),f()(l()(A),"state",{isScrolling:!1,scrollTop:0}),f()(l()(A),"_debounceResetIsScrollingId",void 0),f()(l()(A),"_invalidateOnUpdateStartIndex",null),f()(l()(A),"_invalidateOnUpdateStopIndex",null),f()(l()(A),"_positionCache",new Pe),f()(l()(A),"_startIndex",null),f()(l()(A),"_startIndexMemoized",null),f()(l()(A),"_stopIndex",null),f()(l()(A),"_stopIndexMemoized",null),f()(l()(A),"_debounceResetIsScrollingCallback",(function(){A.setState({isScrolling:!1})})),f()(l()(A),"_setScrollingContainerRef",(function(e){A._scrollingContainer=e})),f()(l()(A),"_onScroll",(function(e){var t=A.props.height,n=e.currentTarget.scrollTop,r=Math.min(Math.max(0,A._getEstimatedTotalHeight()-t),n);n===r&&(A._debounceResetIsScrolling(),A.state.scrollTop!==r&&A.setState({isScrolling:!0,scrollTop:r}))})),A}return C()(t,e),o()(t,[{key:"clearCellPositions",value:function(){this._positionCache=new Pe,this.forceUpdate()}},{key:"invalidateCellSizeAfterRender",value:function(e){var t=e.rowIndex;null===this._invalidateOnUpdateStartIndex?(this._invalidateOnUpdateStartIndex=t,this._invalidateOnUpdateStopIndex=t):(this._invalidateOnUpdateStartIndex=Math.min(this._invalidateOnUpdateStartIndex,t),this._invalidateOnUpdateStopIndex=Math.max(this._invalidateOnUpdateStopIndex,t))}},{key:"recomputeCellPositions",value:function(){var e=this._positionCache.count-1;this._positionCache=new Pe,this._populatePositionCache(0,e),this.forceUpdate()}},{key:"componentDidMount",value:function(){this._checkInvalidateOnUpdate(),this._invokeOnScrollCallback(),this._invokeOnCellsRenderedCallback()}},{key:"componentDidUpdate",value:function(e,t){this._checkInvalidateOnUpdate(),this._invokeOnScrollCallback(),this._invokeOnCellsRenderedCallback(),this.props.scrollTop!==e.scrollTop&&this._debounceResetIsScrolling()}},{key:"componentWillUnmount",value:function(){this._debounceResetIsScrollingId&&T(this._debounceResetIsScrollingId)}},{key:"render",value:function(){var e,t=this,A=this.props,n=A.autoHeight,r=A.cellCount,i=A.cellMeasurerCache,o=A.cellRenderer,a=A.className,s=A.height,g=A.id,c=A.keyMapper,u=A.overscanByPixels,l=A.role,I=A.style,C=A.tabIndex,h=A.width,B=A.rowDirection,p=this.state,E=p.isScrolling,y=p.scrollTop,v=[],m=this._getEstimatedTotalHeight(),b=this._positionCache.shortestColumnSize,w=this._positionCache.count,S=0;if(this._positionCache.range(Math.max(0,y-u),s+2*u,(function(A,n,r){var a;"undefined"===typeof e?(S=A,e=A):(S=Math.min(S,A),e=Math.max(e,A)),v.push(o({index:A,isScrolling:E,key:c(A),parent:t,style:(a={height:i.getHeight(A)},f()(a,"ltr"===B?"left":"right",n),f()(a,"position","absolute"),f()(a,"top",r),f()(a,"width",i.getWidth(A)),a)}))})),b<y+s+u&&w<r)for(var F=Math.min(r-w,Math.ceil((y+s+u-b)/i.defaultHeight*h/i.defaultWidth)),R=w;R<w+F;R++)e=R,v.push(o({index:R,isScrolling:E,key:c(R),parent:this,style:{width:i.getWidth(R)}}));return this._startIndex=S,this._stopIndex=e,d.createElement("div",{ref:this._setScrollingContainerRef,"aria-label":this.props["aria-label"],className:Object(Q.a)("ReactVirtualized__Masonry",a),id:g,onScroll:this._onScroll,role:l,style:Ke({boxSizing:"border-box",direction:"ltr",height:n?"auto":s,overflowX:"hidden",overflowY:m<s?"hidden":"auto",position:"relative",width:h,WebkitOverflowScrolling:"touch",willChange:"transform"},I),tabIndex:C},d.createElement("div",{className:"ReactVirtualized__Masonry__innerScrollContainer",style:{width:"100%",height:m,maxWidth:"100%",maxHeight:m,overflow:"hidden",pointerEvents:E?"none":"",position:"relative"}},v))}},{key:"_checkInvalidateOnUpdate",value:function(){if("number"===typeof this._invalidateOnUpdateStartIndex){var e=this._invalidateOnUpdateStartIndex,t=this._invalidateOnUpdateStopIndex;this._invalidateOnUpdateStartIndex=null,this._invalidateOnUpdateStopIndex=null,this._populatePositionCache(e,t),this.forceUpdate()}}},{key:"_debounceResetIsScrolling",value:function(){var e=this.props.scrollingResetTimeInterval;this._debounceResetIsScrollingId&&T(this._debounceResetIsScrollingId),this._debounceResetIsScrollingId=Z(this._debounceResetIsScrollingCallback,e)}},{key:"_getEstimatedTotalHeight",value:function(){var e=this.props,t=e.cellCount,A=e.cellMeasurerCache,n=e.width,r=Math.max(1,Math.floor(n/A.defaultWidth));return this._positionCache.estimateTotalHeight(t,r,A.defaultHeight)}},{key:"_invokeOnScrollCallback",value:function(){var e=this.props,t=e.height,A=e.onScroll,n=this.state.scrollTop;this._onScrollMemoized!==n&&(A({clientHeight:t,scrollHeight:this._getEstimatedTotalHeight(),scrollTop:n}),this._onScrollMemoized=n)}},{key:"_invokeOnCellsRenderedCallback",value:function(){this._startIndexMemoized===this._startIndex&&this._stopIndexMemoized===this._stopIndex||((0,this.props.onCellsRendered)({startIndex:this._startIndex,stopIndex:this._stopIndex}),this._startIndexMemoized=this._startIndex,this._stopIndexMemoized=this._stopIndex)}},{key:"_populatePositionCache",value:function(e,t){for(var A=this.props,n=A.cellMeasurerCache,r=A.cellPositioner,i=e;i<=t;i++){var o=r(i),a=o.left,s=o.top;this._positionCache.setPosition(i,a,s,n.getHeight(i))}}}],[{key:"getDerivedStateFromProps",value:function(e,t){return void 0!==e.scrollTop&&t.scrollTop!==e.scrollTop?{isScrolling:!0,scrollTop:e.scrollTop}:null}}]),t}(d.PureComponent),f()(Je,"propTypes",null),je);function Xe(){}f()(We,"defaultProps",{autoHeight:!1,keyMapper:function(e){return e},onCellsRendered:Xe,onScroll:Xe,overscanByPixels:20,role:"grid",scrollingResetTimeInterval:150,style:{},tabIndex:0,rowDirection:"ltr"});Object(B.a)(We);var qe=function(){function e(){var t=this,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,e),f()(this,"_cellMeasurerCache",void 0),f()(this,"_columnIndexOffset",void 0),f()(this,"_rowIndexOffset",void 0),f()(this,"columnWidth",(function(e){var A=e.index;t._cellMeasurerCache.columnWidth({index:A+t._columnIndexOffset})})),f()(this,"rowHeight",(function(e){var A=e.index;t._cellMeasurerCache.rowHeight({index:A+t._rowIndexOffset})}));var n=A.cellMeasurerCache,i=A.columnIndexOffset,o=void 0===i?0:i,a=A.rowIndexOffset,s=void 0===a?0:a;this._cellMeasurerCache=n,this._columnIndexOffset=o,this._rowIndexOffset=s}return o()(e,[{key:"clear",value:function(e,t){this._cellMeasurerCache.clear(e+this._rowIndexOffset,t+this._columnIndexOffset)}},{key:"clearAll",value:function(){this._cellMeasurerCache.clearAll()}},{key:"hasFixedHeight",value:function(){return this._cellMeasurerCache.hasFixedHeight()}},{key:"hasFixedWidth",value:function(){return this._cellMeasurerCache.hasFixedWidth()}},{key:"getHeight",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this._cellMeasurerCache.getHeight(e+this._rowIndexOffset,t+this._columnIndexOffset)}},{key:"getWidth",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this._cellMeasurerCache.getWidth(e+this._rowIndexOffset,t+this._columnIndexOffset)}},{key:"has",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this._cellMeasurerCache.has(e+this._rowIndexOffset,t+this._columnIndexOffset)}},{key:"set",value:function(e,t,A,n){this._cellMeasurerCache.set(e+this._rowIndexOffset,t+this._columnIndexOffset,A,n)}},{key:"defaultHeight",get:function(){return this._cellMeasurerCache.defaultHeight}},{key:"defaultWidth",get:function(){return this._cellMeasurerCache.defaultWidth}}]),e}();function ze(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function $e(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?ze(A,!0).forEach((function(t){f()(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):ze(A).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}var et=function(e){function t(e,A){var n;r()(this,t),n=s()(this,c()(t).call(this,e,A)),f()(l()(n),"state",{scrollLeft:0,scrollTop:0,scrollbarSize:0,showHorizontalScrollbar:!1,showVerticalScrollbar:!1}),f()(l()(n),"_deferredInvalidateColumnIndex",null),f()(l()(n),"_deferredInvalidateRowIndex",null),f()(l()(n),"_bottomLeftGridRef",(function(e){n._bottomLeftGrid=e})),f()(l()(n),"_bottomRightGridRef",(function(e){n._bottomRightGrid=e})),f()(l()(n),"_cellRendererBottomLeftGrid",(function(e){var t=e.rowIndex,A=m()(e,["rowIndex"]),r=n.props,i=r.cellRenderer,o=r.fixedRowCount;return t===r.rowCount-o?d.createElement("div",{key:A.key,style:$e({},A.style,{height:20})}):i($e({},A,{parent:l()(n),rowIndex:t+o}))})),f()(l()(n),"_cellRendererBottomRightGrid",(function(e){var t=e.columnIndex,A=e.rowIndex,r=m()(e,["columnIndex","rowIndex"]),i=n.props,o=i.cellRenderer,a=i.fixedColumnCount,s=i.fixedRowCount;return o($e({},r,{columnIndex:t+a,parent:l()(n),rowIndex:A+s}))})),f()(l()(n),"_cellRendererTopRightGrid",(function(e){var t=e.columnIndex,A=m()(e,["columnIndex"]),r=n.props,i=r.cellRenderer,o=r.columnCount,a=r.fixedColumnCount;return t===o-a?d.createElement("div",{key:A.key,style:$e({},A.style,{width:20})}):i($e({},A,{columnIndex:t+a,parent:l()(n)}))})),f()(l()(n),"_columnWidthRightGrid",(function(e){var t=e.index,A=n.props,r=A.columnCount,i=A.fixedColumnCount,o=A.columnWidth,a=n.state,s=a.scrollbarSize;return a.showHorizontalScrollbar&&t===r-i?s:"function"===typeof o?o({index:t+i}):o})),f()(l()(n),"_onScroll",(function(e){var t=e.scrollLeft,A=e.scrollTop;n.setState({scrollLeft:t,scrollTop:A});var r=n.props.onScroll;r&&r(e)})),f()(l()(n),"_onScrollbarPresenceChange",(function(e){var t=e.horizontal,A=e.size,r=e.vertical,i=n.state,o=i.showHorizontalScrollbar,a=i.showVerticalScrollbar;if(t!==o||r!==a){n.setState({scrollbarSize:A,showHorizontalScrollbar:t,showVerticalScrollbar:r});var s=n.props.onScrollbarPresenceChange;"function"===typeof s&&s({horizontal:t,size:A,vertical:r})}})),f()(l()(n),"_onScrollLeft",(function(e){var t=e.scrollLeft;n._onScroll({scrollLeft:t,scrollTop:n.state.scrollTop})})),f()(l()(n),"_onScrollTop",(function(e){var t=e.scrollTop;n._onScroll({scrollTop:t,scrollLeft:n.state.scrollLeft})})),f()(l()(n),"_rowHeightBottomGrid",(function(e){var t=e.index,A=n.props,r=A.fixedRowCount,i=A.rowCount,o=A.rowHeight,a=n.state,s=a.scrollbarSize;return a.showVerticalScrollbar&&t===i-r?s:"function"===typeof o?o({index:t+r}):o})),f()(l()(n),"_topLeftGridRef",(function(e){n._topLeftGrid=e})),f()(l()(n),"_topRightGridRef",(function(e){n._topRightGrid=e}));var i=e.deferredMeasurementCache,o=e.fixedColumnCount,a=e.fixedRowCount;return n._maybeCalculateCachedStyles(!0),i&&(n._deferredMeasurementCacheBottomLeftGrid=a>0?new qe({cellMeasurerCache:i,columnIndexOffset:0,rowIndexOffset:a}):i,n._deferredMeasurementCacheBottomRightGrid=o>0||a>0?new qe({cellMeasurerCache:i,columnIndexOffset:o,rowIndexOffset:a}):i,n._deferredMeasurementCacheTopRightGrid=o>0?new qe({cellMeasurerCache:i,columnIndexOffset:o,rowIndexOffset:0}):i),n}return C()(t,e),o()(t,[{key:"forceUpdateGrids",value:function(){this._bottomLeftGrid&&this._bottomLeftGrid.forceUpdate(),this._bottomRightGrid&&this._bottomRightGrid.forceUpdate(),this._topLeftGrid&&this._topLeftGrid.forceUpdate(),this._topRightGrid&&this._topRightGrid.forceUpdate()}},{key:"invalidateCellSizeAfterRender",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,A=void 0===t?0:t,n=e.rowIndex,r=void 0===n?0:n;this._deferredInvalidateColumnIndex="number"===typeof this._deferredInvalidateColumnIndex?Math.min(this._deferredInvalidateColumnIndex,A):A,this._deferredInvalidateRowIndex="number"===typeof this._deferredInvalidateRowIndex?Math.min(this._deferredInvalidateRowIndex,r):r}},{key:"measureAllCells",value:function(){this._bottomLeftGrid&&this._bottomLeftGrid.measureAllCells(),this._bottomRightGrid&&this._bottomRightGrid.measureAllCells(),this._topLeftGrid&&this._topLeftGrid.measureAllCells(),this._topRightGrid&&this._topRightGrid.measureAllCells()}},{key:"recomputeGridSize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,A=void 0===t?0:t,n=e.rowIndex,r=void 0===n?0:n,i=this.props,o=i.fixedColumnCount,a=i.fixedRowCount,s=Math.max(0,A-o),g=Math.max(0,r-a);this._bottomLeftGrid&&this._bottomLeftGrid.recomputeGridSize({columnIndex:A,rowIndex:g}),this._bottomRightGrid&&this._bottomRightGrid.recomputeGridSize({columnIndex:s,rowIndex:g}),this._topLeftGrid&&this._topLeftGrid.recomputeGridSize({columnIndex:A,rowIndex:r}),this._topRightGrid&&this._topRightGrid.recomputeGridSize({columnIndex:s,rowIndex:r}),this._leftGridWidth=null,this._topGridHeight=null,this._maybeCalculateCachedStyles(!0)}},{key:"componentDidMount",value:function(){var e=this.props,t=e.scrollLeft,A=e.scrollTop;if(t>0||A>0){var n={};t>0&&(n.scrollLeft=t),A>0&&(n.scrollTop=A),this.setState(n)}this._handleInvalidatedGridSize()}},{key:"componentDidUpdate",value:function(){this._handleInvalidatedGridSize()}},{key:"render",value:function(){var e=this.props,t=e.onScroll,A=e.onSectionRendered,n=(e.onScrollbarPresenceChange,e.scrollLeft,e.scrollToColumn),r=(e.scrollTop,e.scrollToRow),i=m()(e,["onScroll","onSectionRendered","onScrollbarPresenceChange","scrollLeft","scrollToColumn","scrollTop","scrollToRow"]);if(this._prepareForRender(),0===this.props.width||0===this.props.height)return null;var o=this.state,a=o.scrollLeft,s=o.scrollTop;return d.createElement("div",{style:this._containerOuterStyle},d.createElement("div",{style:this._containerTopStyle},this._renderTopLeftGrid(i),this._renderTopRightGrid($e({},i,{onScroll:t,scrollLeft:a}))),d.createElement("div",{style:this._containerBottomStyle},this._renderBottomLeftGrid($e({},i,{onScroll:t,scrollTop:s})),this._renderBottomRightGrid($e({},i,{onScroll:t,onSectionRendered:A,scrollLeft:a,scrollToColumn:n,scrollToRow:r,scrollTop:s}))))}},{key:"_getBottomGridHeight",value:function(e){return e.height-this._getTopGridHeight(e)}},{key:"_getLeftGridWidth",value:function(e){var t=e.fixedColumnCount,A=e.columnWidth;if(null==this._leftGridWidth)if("function"===typeof A){for(var n=0,r=0;r<t;r++)n+=A({index:r});this._leftGridWidth=n}else this._leftGridWidth=A*t;return this._leftGridWidth}},{key:"_getRightGridWidth",value:function(e){return e.width-this._getLeftGridWidth(e)}},{key:"_getTopGridHeight",value:function(e){var t=e.fixedRowCount,A=e.rowHeight;if(null==this._topGridHeight)if("function"===typeof A){for(var n=0,r=0;r<t;r++)n+=A({index:r});this._topGridHeight=n}else this._topGridHeight=A*t;return this._topGridHeight}},{key:"_handleInvalidatedGridSize",value:function(){if("number"===typeof this._deferredInvalidateColumnIndex){var e=this._deferredInvalidateColumnIndex,t=this._deferredInvalidateRowIndex;this._deferredInvalidateColumnIndex=null,this._deferredInvalidateRowIndex=null,this.recomputeGridSize({columnIndex:e,rowIndex:t}),this.forceUpdate()}}},{key:"_maybeCalculateCachedStyles",value:function(e){var t=this.props,A=t.columnWidth,n=t.enableFixedColumnScroll,r=t.enableFixedRowScroll,i=t.height,o=t.fixedColumnCount,a=t.fixedRowCount,s=t.rowHeight,g=t.style,c=t.styleBottomLeftGrid,u=t.styleBottomRightGrid,l=t.styleTopLeftGrid,I=t.styleTopRightGrid,C=t.width,h=e||i!==this._lastRenderedHeight||C!==this._lastRenderedWidth,f=e||A!==this._lastRenderedColumnWidth||o!==this._lastRenderedFixedColumnCount,d=e||a!==this._lastRenderedFixedRowCount||s!==this._lastRenderedRowHeight;(e||h||g!==this._lastRenderedStyle)&&(this._containerOuterStyle=$e({height:i,overflow:"visible",width:C},g)),(e||h||d)&&(this._containerTopStyle={height:this._getTopGridHeight(this.props),position:"relative",width:C},this._containerBottomStyle={height:i-this._getTopGridHeight(this.props),overflow:"visible",position:"relative",width:C}),(e||c!==this._lastRenderedStyleBottomLeftGrid)&&(this._bottomLeftGridStyle=$e({left:0,overflowX:"hidden",overflowY:n?"auto":"hidden",position:"absolute"},c)),(e||f||u!==this._lastRenderedStyleBottomRightGrid)&&(this._bottomRightGridStyle=$e({left:this._getLeftGridWidth(this.props),position:"absolute"},u)),(e||l!==this._lastRenderedStyleTopLeftGrid)&&(this._topLeftGridStyle=$e({left:0,overflowX:"hidden",overflowY:"hidden",position:"absolute",top:0},l)),(e||f||I!==this._lastRenderedStyleTopRightGrid)&&(this._topRightGridStyle=$e({left:this._getLeftGridWidth(this.props),overflowX:r?"auto":"hidden",overflowY:"hidden",position:"absolute",top:0},I)),this._lastRenderedColumnWidth=A,this._lastRenderedFixedColumnCount=o,this._lastRenderedFixedRowCount=a,this._lastRenderedHeight=i,this._lastRenderedRowHeight=s,this._lastRenderedStyle=g,this._lastRenderedStyleBottomLeftGrid=c,this._lastRenderedStyleBottomRightGrid=u,this._lastRenderedStyleTopLeftGrid=l,this._lastRenderedStyleTopRightGrid=I,this._lastRenderedWidth=C}},{key:"_prepareForRender",value:function(){this._lastRenderedColumnWidth===this.props.columnWidth&&this._lastRenderedFixedColumnCount===this.props.fixedColumnCount||(this._leftGridWidth=null),this._lastRenderedFixedRowCount===this.props.fixedRowCount&&this._lastRenderedRowHeight===this.props.rowHeight||(this._topGridHeight=null),this._maybeCalculateCachedStyles(),this._lastRenderedColumnWidth=this.props.columnWidth,this._lastRenderedFixedColumnCount=this.props.fixedColumnCount,this._lastRenderedFixedRowCount=this.props.fixedRowCount,this._lastRenderedRowHeight=this.props.rowHeight}},{key:"_renderBottomLeftGrid",value:function(e){var t=e.enableFixedColumnScroll,A=e.fixedColumnCount,n=e.fixedRowCount,r=e.rowCount,i=e.hideBottomLeftGridScrollbar,o=this.state.showVerticalScrollbar;if(!A)return null;var a=o?1:0,s=this._getBottomGridHeight(e),g=this._getLeftGridWidth(e),c=this.state.showVerticalScrollbar?this.state.scrollbarSize:0,u=i?g+c:g,l=d.createElement(V,E()({},e,{cellRenderer:this._cellRendererBottomLeftGrid,className:this.props.classNameBottomLeftGrid,columnCount:A,deferredMeasurementCache:this._deferredMeasurementCacheBottomLeftGrid,height:s,onScroll:t?this._onScrollTop:void 0,ref:this._bottomLeftGridRef,rowCount:Math.max(0,r-n)+a,rowHeight:this._rowHeightBottomGrid,style:this._bottomLeftGridStyle,tabIndex:null,width:u}));return i?d.createElement("div",{className:"BottomLeftGrid_ScrollWrapper",style:$e({},this._bottomLeftGridStyle,{height:s,width:g,overflowY:"hidden"})},l):l}},{key:"_renderBottomRightGrid",value:function(e){var t=e.columnCount,A=e.fixedColumnCount,n=e.fixedRowCount,r=e.rowCount,i=e.scrollToColumn,o=e.scrollToRow;return d.createElement(V,E()({},e,{cellRenderer:this._cellRendererBottomRightGrid,className:this.props.classNameBottomRightGrid,columnCount:Math.max(0,t-A),columnWidth:this._columnWidthRightGrid,deferredMeasurementCache:this._deferredMeasurementCacheBottomRightGrid,height:this._getBottomGridHeight(e),onScroll:this._onScroll,onScrollbarPresenceChange:this._onScrollbarPresenceChange,ref:this._bottomRightGridRef,rowCount:Math.max(0,r-n),rowHeight:this._rowHeightBottomGrid,scrollToColumn:i-A,scrollToRow:o-n,style:this._bottomRightGridStyle,width:this._getRightGridWidth(e)}))}},{key:"_renderTopLeftGrid",value:function(e){var t=e.fixedColumnCount,A=e.fixedRowCount;return t&&A?d.createElement(V,E()({},e,{className:this.props.classNameTopLeftGrid,columnCount:t,height:this._getTopGridHeight(e),ref:this._topLeftGridRef,rowCount:A,style:this._topLeftGridStyle,tabIndex:null,width:this._getLeftGridWidth(e)})):null}},{key:"_renderTopRightGrid",value:function(e){var t=e.columnCount,A=e.enableFixedRowScroll,n=e.fixedColumnCount,r=e.fixedRowCount,i=e.scrollLeft,o=e.hideTopRightGridScrollbar,a=this.state,s=a.showHorizontalScrollbar,g=a.scrollbarSize;if(!r)return null;var c=s?1:0,u=this._getTopGridHeight(e),l=this._getRightGridWidth(e),I=s?g:0,C=u,h=this._topRightGridStyle;o&&(C=u+I,h=$e({},this._topRightGridStyle,{left:0}));var f=d.createElement(V,E()({},e,{cellRenderer:this._cellRendererTopRightGrid,className:this.props.classNameTopRightGrid,columnCount:Math.max(0,t-n)+c,columnWidth:this._columnWidthRightGrid,deferredMeasurementCache:this._deferredMeasurementCacheTopRightGrid,height:C,onScroll:A?this._onScrollLeft:void 0,ref:this._topRightGridRef,rowCount:r,scrollLeft:i,style:h,tabIndex:null,width:l}));return o?d.createElement("div",{className:"TopRightGrid_ScrollWrapper",style:$e({},this._topRightGridStyle,{height:u,width:l,overflowX:"hidden"})},f):f}}],[{key:"getDerivedStateFromProps",value:function(e,t){return e.scrollLeft!==t.scrollLeft||e.scrollTop!==t.scrollTop?{scrollLeft:null!=e.scrollLeft&&e.scrollLeft>=0?e.scrollLeft:t.scrollLeft,scrollTop:null!=e.scrollTop&&e.scrollTop>=0?e.scrollTop:t.scrollTop}:null}}]),t}(d.PureComponent);f()(et,"defaultProps",{classNameBottomLeftGrid:"",classNameBottomRightGrid:"",classNameTopLeftGrid:"",classNameTopRightGrid:"",enableFixedColumnScroll:!1,enableFixedRowScroll:!1,fixedColumnCount:0,fixedRowCount:0,scrollToColumn:-1,scrollToRow:-1,style:{},styleBottomLeftGrid:{},styleBottomRightGrid:{},styleTopLeftGrid:{},styleTopRightGrid:{},hideTopRightGridScrollbar:!1,hideBottomLeftGridScrollbar:!1}),et.propTypes={},Object(B.a)(et);var tt=function(e){function t(e,A){var n;return r()(this,t),(n=s()(this,c()(t).call(this,e,A))).state={clientHeight:0,clientWidth:0,scrollHeight:0,scrollLeft:0,scrollTop:0,scrollWidth:0},n._onScroll=n._onScroll.bind(l()(n)),n}return C()(t,e),o()(t,[{key:"render",value:function(){var e=this.props.children,t=this.state,A=t.clientHeight,n=t.clientWidth,r=t.scrollHeight,i=t.scrollLeft,o=t.scrollTop,a=t.scrollWidth;return e({clientHeight:A,clientWidth:n,onScroll:this._onScroll,scrollHeight:r,scrollLeft:i,scrollTop:o,scrollWidth:a})}},{key:"_onScroll",value:function(e){var t=e.clientHeight,A=e.clientWidth,n=e.scrollHeight,r=e.scrollLeft,i=e.scrollTop,o=e.scrollWidth;this.setState({clientHeight:t,clientWidth:A,scrollHeight:n,scrollLeft:r,scrollTop:i,scrollWidth:o})}}]),t}(d.PureComponent);tt.propTypes={};function At(e){var t=e.className,A=e.columns,n=e.style;return d.createElement("div",{className:t,role:"row",style:n},A)}At.propTypes=null;var nt={ASC:"ASC",DESC:"DESC"};function rt(e){var t=e.sortDirection,A=Object(Q.a)("ReactVirtualized__Table__sortableHeaderIcon",{"ReactVirtualized__Table__sortableHeaderIcon--ASC":t===nt.ASC,"ReactVirtualized__Table__sortableHeaderIcon--DESC":t===nt.DESC});return d.createElement("svg",{className:A,width:18,height:18,viewBox:"0 0 24 24"},t===nt.ASC?d.createElement("path",{d:"M7 14l5-5 5 5z"}):d.createElement("path",{d:"M7 10l5 5 5-5z"}),d.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))}function it(e){var t=e.dataKey,A=e.label,n=e.sortBy,r=e.sortDirection,i=n===t,o=[d.createElement("span",{className:"ReactVirtualized__Table__headerTruncatedText",key:"label",title:"string"===typeof A?A:null},A)];return i&&o.push(d.createElement(rt,{key:"SortIndicator",sortDirection:r})),o}function ot(e){var t=e.className,A=e.columns,n=e.index,r=e.key,i=e.onRowClick,o=e.onRowDoubleClick,a=e.onRowMouseOut,s=e.onRowMouseOver,g=e.onRowRightClick,c=e.rowData,u=e.style,l={"aria-rowindex":n+1};return(i||o||a||s||g)&&(l["aria-label"]="row",l.tabIndex=0,i&&(l.onClick=function(e){return i({event:e,index:n,rowData:c})}),o&&(l.onDoubleClick=function(e){return o({event:e,index:n,rowData:c})}),a&&(l.onMouseOut=function(e){return a({event:e,index:n,rowData:c})}),s&&(l.onMouseOver=function(e){return s({event:e,index:n,rowData:c})}),g&&(l.onContextMenu=function(e){return g({event:e,index:n,rowData:c})})),d.createElement("div",E()({},l,{className:t,key:r,role:"row",style:u}),A)}rt.propTypes={},it.propTypes=null,ot.propTypes=null;var at=function(e){function t(){return r()(this,t),s()(this,c()(t).apply(this,arguments))}return C()(t,e),t}(d.Component);function st(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function gt(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?st(A,!0).forEach((function(t){f()(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):st(A).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}f()(at,"defaultProps",{cellDataGetter:function(e){var t=e.dataKey,A=e.rowData;return"function"===typeof A.get?A.get(t):A[t]},cellRenderer:function(e){var t=e.cellData;return null==t?"":String(t)},defaultSortDirection:nt.ASC,flexGrow:0,flexShrink:1,headerRenderer:it,style:{}}),at.propTypes={};var ct=function(e){function t(e){var A;return r()(this,t),(A=s()(this,c()(t).call(this,e))).state={scrollbarWidth:0},A._createColumn=A._createColumn.bind(l()(A)),A._createRow=A._createRow.bind(l()(A)),A._onScroll=A._onScroll.bind(l()(A)),A._onSectionRendered=A._onSectionRendered.bind(l()(A)),A._setRef=A._setRef.bind(l()(A)),A}return C()(t,e),o()(t,[{key:"forceUpdateGrid",value:function(){this.Grid&&this.Grid.forceUpdate()}},{key:"getOffsetForRow",value:function(e){var t=e.alignment,A=e.index;return this.Grid?this.Grid.getOffsetForCell({alignment:t,rowIndex:A}).scrollTop:0}},{key:"invalidateCellSizeAfterRender",value:function(e){var t=e.columnIndex,A=e.rowIndex;this.Grid&&this.Grid.invalidateCellSizeAfterRender({rowIndex:A,columnIndex:t})}},{key:"measureAllRows",value:function(){this.Grid&&this.Grid.measureAllCells()}},{key:"recomputeGridSize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,A=void 0===t?0:t,n=e.rowIndex,r=void 0===n?0:n;this.Grid&&this.Grid.recomputeGridSize({rowIndex:r,columnIndex:A})}},{key:"recomputeRowHeights",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.recomputeGridSize({rowIndex:e})}},{key:"scrollToPosition",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.scrollToPosition({scrollTop:e})}},{key:"scrollToRow",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.scrollToCell({columnIndex:0,rowIndex:e})}},{key:"getScrollbarWidth",value:function(){if(this.Grid){var e=Object(ae.findDOMNode)(this.Grid),t=e.clientWidth||0;return(e.offsetWidth||0)-t}return 0}},{key:"componentDidMount",value:function(){this._setScrollbarWidth()}},{key:"componentDidUpdate",value:function(){this._setScrollbarWidth()}},{key:"render",value:function(){var e=this,t=this.props,A=t.children,n=t.className,r=t.disableHeader,i=t.gridClassName,o=t.gridStyle,a=t.headerHeight,s=t.headerRowRenderer,g=t.height,c=t.id,u=t.noRowsRenderer,l=t.rowClassName,I=t.rowStyle,C=t.scrollToIndex,h=t.style,f=t.width,B=this.state.scrollbarWidth,p=r?g:g-a,y="function"===typeof l?l({index:-1}):l,v="function"===typeof I?I({index:-1}):I;return this._cachedColumnStyles=[],d.Children.toArray(A).forEach((function(t,A){var n=e._getFlexStyleForColumn(t,t.props.style);e._cachedColumnStyles[A]=gt({overflow:"hidden"},n)})),d.createElement("div",{"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-colcount":d.Children.toArray(A).length,"aria-rowcount":this.props.rowCount,className:Object(Q.a)("ReactVirtualized__Table",n),id:c,role:"grid",style:h},!r&&s({className:Object(Q.a)("ReactVirtualized__Table__headerRow",y),columns:this._getHeaderColumns(),style:gt({height:a,overflow:"hidden",paddingRight:B,width:f},v)}),d.createElement(V,E()({},this.props,{"aria-readonly":null,autoContainerWidth:!0,className:Object(Q.a)("ReactVirtualized__Table__Grid",i),cellRenderer:this._createRow,columnWidth:f,columnCount:1,height:p,id:void 0,noContentRenderer:u,onScroll:this._onScroll,onSectionRendered:this._onSectionRendered,ref:this._setRef,role:"rowgroup",scrollbarWidth:B,scrollToRow:C,style:gt({},o,{overflowX:"hidden"})})))}},{key:"_createColumn",value:function(e){var t=e.column,A=e.columnIndex,n=e.isScrolling,r=e.parent,i=e.rowData,o=e.rowIndex,a=this.props.onColumnClick,s=t.props,g=s.cellDataGetter,c=s.cellRenderer,u=s.className,l=s.columnData,I=s.dataKey,C=s.id,h=c({cellData:g({columnData:l,dataKey:I,rowData:i}),columnData:l,columnIndex:A,dataKey:I,isScrolling:n,parent:r,rowData:i,rowIndex:o}),f=this._cachedColumnStyles[A],B="string"===typeof h?h:null;return d.createElement("div",{"aria-colindex":A+1,"aria-describedby":C,className:Object(Q.a)("ReactVirtualized__Table__rowColumn",u),key:"Row"+o+"-Col"+A,onClick:function(e){a&&a({columnData:l,dataKey:I,event:e})},role:"gridcell",style:f,title:B},h)}},{key:"_createHeader",value:function(e){var t,A,n,r,i,o=e.column,a=e.index,s=this.props,g=s.headerClassName,c=s.headerStyle,u=s.onHeaderClick,l=s.sort,I=s.sortBy,C=s.sortDirection,h=o.props,f=h.columnData,B=h.dataKey,p=h.defaultSortDirection,E=h.disableSort,y=h.headerRenderer,v=h.id,m=h.label,b=!E&&l,w=Object(Q.a)("ReactVirtualized__Table__headerColumn",g,o.props.headerClassName,{ReactVirtualized__Table__sortableHeaderColumn:b}),S=this._getFlexStyleForColumn(o,gt({},c,{},o.props.headerStyle)),F=y({columnData:f,dataKey:B,disableSort:E,label:m,sortBy:I,sortDirection:C});if(b||u){var R=I!==B?p:C===nt.DESC?nt.ASC:nt.DESC,D=function(e){b&&l({defaultSortDirection:p,event:e,sortBy:B,sortDirection:R}),u&&u({columnData:f,dataKey:B,event:e})};i=o.props["aria-label"]||m||B,r="none",n=0,t=D,A=function(e){"Enter"!==e.key&&" "!==e.key||D(e)}}return I===B&&(r=C===nt.ASC?"ascending":"descending"),d.createElement("div",{"aria-label":i,"aria-sort":r,className:w,id:v,key:"Header-Col"+a,onClick:t,onKeyDown:A,role:"columnheader",style:S,tabIndex:n},F)}},{key:"_createRow",value:function(e){var t=this,A=e.rowIndex,n=e.isScrolling,r=e.key,i=e.parent,o=e.style,a=this.props,s=a.children,g=a.onRowClick,c=a.onRowDoubleClick,u=a.onRowRightClick,l=a.onRowMouseOver,I=a.onRowMouseOut,C=a.rowClassName,h=a.rowGetter,f=a.rowRenderer,B=a.rowStyle,p=this.state.scrollbarWidth,E="function"===typeof C?C({index:A}):C,y="function"===typeof B?B({index:A}):B,v=h({index:A}),m=d.Children.toArray(s).map((function(e,r){return t._createColumn({column:e,columnIndex:r,isScrolling:n,parent:i,rowData:v,rowIndex:A,scrollbarWidth:p})})),b=Object(Q.a)("ReactVirtualized__Table__row",E),w=gt({},o,{height:this._getRowHeight(A),overflow:"hidden",paddingRight:p},y);return f({className:b,columns:m,index:A,isScrolling:n,key:r,onRowClick:g,onRowDoubleClick:c,onRowRightClick:u,onRowMouseOver:l,onRowMouseOut:I,rowData:v,style:w})}},{key:"_getFlexStyleForColumn",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A="".concat(e.props.flexGrow," ").concat(e.props.flexShrink," ").concat(e.props.width,"px"),n=gt({},t,{flex:A,msFlex:A,WebkitFlex:A});return e.props.maxWidth&&(n.maxWidth=e.props.maxWidth),e.props.minWidth&&(n.minWidth=e.props.minWidth),n}},{key:"_getHeaderColumns",value:function(){var e=this,t=this.props,A=t.children;return(t.disableHeader?[]:d.Children.toArray(A)).map((function(t,A){return e._createHeader({column:t,index:A})}))}},{key:"_getRowHeight",value:function(e){var t=this.props.rowHeight;return"function"===typeof t?t({index:e}):t}},{key:"_onScroll",value:function(e){var t=e.clientHeight,A=e.scrollHeight,n=e.scrollTop;(0,this.props.onScroll)({clientHeight:t,scrollHeight:A,scrollTop:n})}},{key:"_onSectionRendered",value:function(e){var t=e.rowOverscanStartIndex,A=e.rowOverscanStopIndex,n=e.rowStartIndex,r=e.rowStopIndex;(0,this.props.onRowsRendered)({overscanStartIndex:t,overscanStopIndex:A,startIndex:n,stopIndex:r})}},{key:"_setRef",value:function(e){this.Grid=e}},{key:"_setScrollbarWidth",value:function(){var e=this.getScrollbarWidth();this.setState({scrollbarWidth:e})}}]),t}(d.PureComponent);f()(ct,"defaultProps",{disableHeader:!1,estimatedRowSize:30,headerHeight:0,headerStyle:{},noRowsRenderer:function(){return null},onRowsRendered:function(){return null},onScroll:function(){return null},overscanIndicesGetter:K,overscanRowCount:10,rowRenderer:ot,headerRowRenderer:At,rowStyle:{},scrollToAlignment:"auto",scrollToIndex:-1,style:{}}),ct.propTypes={};var ut=[],lt=null,It=null;function Ct(){It&&(It=null,document.body&&null!=lt&&(document.body.style.pointerEvents=lt),lt=null)}function ht(){Ct(),ut.forEach((function(e){return e.__resetIsScrolling()}))}function ft(e){e.currentTarget===window&&null==lt&&document.body&&(lt=document.body.style.pointerEvents,document.body.style.pointerEvents="none"),function(){It&&T(It);var e=0;ut.forEach((function(t){e=Math.max(e,t.props.scrollingResetTimeInterval)})),It=Z(ht,e)}(),ut.forEach((function(t){t.props.scrollElement===e.currentTarget&&t.__handleWindowScrollEvent()}))}function dt(e,t){ut.some((function(e){return e.props.scrollElement===t}))||t.addEventListener("scroll",ft),ut.push(e)}function Bt(e,t){(ut=ut.filter((function(t){return t!==e}))).length||(t.removeEventListener("scroll",ft),It&&(T(It),Ct()))}var pt,Et,Qt=function(e){return e===window},yt=function(e){return e.getBoundingClientRect()};function vt(e,t){if(e){if(Qt(e)){var A=window,n=A.innerHeight,r=A.innerWidth;return{height:"number"===typeof n?n:0,width:"number"===typeof r?r:0}}return yt(e)}return{height:t.serverHeight,width:t.serverWidth}}function mt(e,t){if(Qt(t)&&document.documentElement){var A=document.documentElement,n=yt(e),r=yt(A);return{top:n.top-r.top,left:n.left-r.left}}var i=bt(t),o=yt(e),a=yt(t);return{top:o.top+i.top-a.top,left:o.left+i.left-a.left}}function bt(e){return Qt(e)&&document.documentElement?{top:"scrollY"in window?window.scrollY:document.documentElement.scrollTop,left:"scrollX"in window?window.scrollX:document.documentElement.scrollLeft}:{top:e.scrollTop,left:e.scrollLeft}}function wt(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function St(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?wt(A,!0).forEach((function(t){f()(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):wt(A).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}var Ft=function(){return"undefined"!==typeof window?window:void 0},Rt=(Et=pt=function(e){function t(){var e,A;r()(this,t);for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return A=s()(this,(e=c()(t)).call.apply(e,[this].concat(i))),f()(l()(A),"_window",Ft()),f()(l()(A),"_isMounted",!1),f()(l()(A),"_positionFromTop",0),f()(l()(A),"_positionFromLeft",0),f()(l()(A),"_detectElementResize",void 0),f()(l()(A),"_child",void 0),f()(l()(A),"state",St({},vt(A.props.scrollElement,A.props),{isScrolling:!1,scrollLeft:0,scrollTop:0})),f()(l()(A),"_registerChild",(function(e){!e||e instanceof Element||console.warn("WindowScroller registerChild expects to be passed Element or null"),A._child=e,A.updatePosition()})),f()(l()(A),"_onChildScroll",(function(e){var t=e.scrollTop;if(A.state.scrollTop!==t){var n=A.props.scrollElement;n&&("function"===typeof n.scrollTo?n.scrollTo(0,t+A._positionFromTop):n.scrollTop=t+A._positionFromTop)}})),f()(l()(A),"_registerResizeListener",(function(e){e===window?window.addEventListener("resize",A._onResize,!1):A._detectElementResize.addResizeListener(e,A._onResize)})),f()(l()(A),"_unregisterResizeListener",(function(e){e===window?window.removeEventListener("resize",A._onResize,!1):e&&A._detectElementResize.removeResizeListener(e,A._onResize)})),f()(l()(A),"_onResize",(function(){A.updatePosition()})),f()(l()(A),"__handleWindowScrollEvent",(function(){if(A._isMounted){var e=A.props.onScroll,t=A.props.scrollElement;if(t){var n=bt(t),r=Math.max(0,n.left-A._positionFromLeft),i=Math.max(0,n.top-A._positionFromTop);A.setState({isScrolling:!0,scrollLeft:r,scrollTop:i}),e({scrollLeft:r,scrollTop:i})}}})),f()(l()(A),"__resetIsScrolling",(function(){A.setState({isScrolling:!1})})),A}return C()(t,e),o()(t,[{key:"updatePosition",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.scrollElement,t=this.props.onResize,A=this.state,n=A.height,r=A.width,i=this._child||ae.findDOMNode(this);if(i instanceof Element&&e){var o=mt(i,e);this._positionFromTop=o.top,this._positionFromLeft=o.left}var a=vt(e,this.props);n===a.height&&r===a.width||(this.setState({height:a.height,width:a.width}),t({height:a.height,width:a.width}))}},{key:"componentDidMount",value:function(){var e=this.props.scrollElement;this._detectElementResize=Object(te.a)(),this.updatePosition(e),e&&(dt(this,e),this._registerResizeListener(e)),this._isMounted=!0}},{key:"componentDidUpdate",value:function(e,t){var A=this.props.scrollElement,n=e.scrollElement;n!==A&&null!=n&&null!=A&&(this.updatePosition(A),Bt(this,n),dt(this,A),this._unregisterResizeListener(n),this._registerResizeListener(A))}},{key:"componentWillUnmount",value:function(){var e=this.props.scrollElement;e&&(Bt(this,e),this._unregisterResizeListener(e)),this._isMounted=!1}},{key:"render",value:function(){var e=this.props.children,t=this.state,A=t.isScrolling,n=t.scrollTop,r=t.scrollLeft,i=t.height,o=t.width;return e({onChildScroll:this._onChildScroll,registerChild:this._registerChild,height:i,isScrolling:A,scrollLeft:r,scrollTop:n,width:o})}}]),t}(d.PureComponent),f()(pt,"propTypes",null),Et);f()(Rt,"defaultProps",{onResize:function(){},onScroll:function(){},scrollingResetTimeInterval:150,scrollElement:Ft(),serverHeight:0,serverWidth:0});A.d(t,"a",(function(){return re})),A.d(t,"b",(function(){return ct}))},function(e,t,A){"use strict";var n=function(e){return e},r=function(e){if(null==e)return n;var t,A,r=e.scale[0],i=e.scale[1],o=e.translate[0],a=e.translate[1];return function(e,n){n||(t=A=0);var s=2,g=e.length,c=new Array(g);for(c[0]=(t+=e[0])*r+o,c[1]=(A+=e[1])*i+a;s<g;)c[s]=e[s],++s;return c}},i=function(e,t){return"string"===typeof t&&(t=e.objects[t]),"GeometryCollection"===t.type?{type:"FeatureCollection",features:t.geometries.map((function(t){return o(e,t)}))}:o(e,t)};function o(e,t){var A=t.id,n=t.bbox,r=null==t.properties?{}:t.properties,i=a(e,t);return null==A&&null==n?{type:"Feature",properties:r,geometry:i}:null==n?{type:"Feature",id:A,properties:r,geometry:i}:{type:"Feature",id:A,bbox:n,properties:r,geometry:i}}function a(e,t){var A=r(e.transform),n=e.arcs;function i(e,t){t.length&&t.pop();for(var r=n[e<0?~e:e],i=0,o=r.length;i<o;++i)t.push(A(r[i],i));e<0&&function(e,t){for(var A,n=e.length,r=n-t;r<--n;)A=e[r],e[r++]=e[n],e[n]=A}(t,o)}function o(e){return A(e)}function a(e){for(var t=[],A=0,n=e.length;A<n;++A)i(e[A],t);return t.length<2&&t.push(t[0]),t}function s(e){for(var t=a(e);t.length<4;)t.push(t[0]);return t}function g(e){return e.map(s)}return function e(t){var A,n=t.type;switch(n){case"GeometryCollection":return{type:n,geometries:t.geometries.map(e)};case"Point":A=o(t.coordinates);break;case"MultiPoint":A=t.coordinates.map(o);break;case"LineString":A=a(t.arcs);break;case"MultiLineString":A=t.arcs.map(a);break;case"Polygon":A=g(t.arcs);break;case"MultiPolygon":A=t.arcs.map(g);break;default:return null}return{type:n,coordinates:A}}(t)}var s=function(e,t){var A={},n={},r={},i=[],o=-1;function a(e,t){for(var n in e){var r=e[n];delete t[r.start],delete r.start,delete r.end,r.forEach((function(e){A[e<0?~e:e]=1})),i.push(r)}}return t.forEach((function(A,n){var r,i=e.arcs[A<0?~A:A];i.length<3&&!i[1][0]&&!i[1][1]&&(r=t[++o],t[o]=A,t[n]=r)})),t.forEach((function(t){var A,i,o=function(t){var A,n=e.arcs[t<0?~t:t],r=n[0];e.transform?(A=[0,0],n.forEach((function(e){A[0]+=e[0],A[1]+=e[1]}))):A=n[n.length-1];return t<0?[A,r]:[r,A]}(t),a=o[0],s=o[1];if(A=r[a])if(delete r[A.end],A.push(t),A.end=s,i=n[s]){delete n[i.start];var g=i===A?A:A.concat(i);n[g.start=A.start]=r[g.end=i.end]=g}else n[A.start]=r[A.end]=A;else if(A=n[s])if(delete n[A.start],A.unshift(t),A.start=a,i=r[a]){delete r[i.end];var c=i===A?A:i.concat(A);n[c.start=i.start]=r[c.end=A.end]=c}else n[A.start]=r[A.end]=A;else n[(A=[t]).start=a]=r[A.end=s]=A})),a(r,n),a(n,r),t.forEach((function(e){A[e<0?~e:e]||i.push([e])})),i},g=function(e){return a(e,c.apply(this,arguments))};function c(e,t,A){var n,r,i;if(arguments.length>1)n=u(e,t,A);else for(r=0,n=new Array(i=e.arcs.length);r<i;++r)n[r]=r;return{type:"MultiLineString",arcs:s(e,n)}}function u(e,t,A){var n,r=[],i=[];function o(e){var t=e<0?~e:e;(i[t]||(i[t]=[])).push({i:e,g:n})}function a(e){e.forEach(o)}function s(e){e.forEach(a)}return function e(t){switch(n=t,t.type){case"GeometryCollection":t.geometries.forEach(e);break;case"LineString":a(t.arcs);break;case"MultiLineString":case"Polygon":s(t.arcs);break;case"MultiPolygon":!function(e){e.forEach(s)}(t.arcs)}}(t),i.forEach(null==A?function(e){r.push(e[0].i)}:function(e){A(e[0].g,e[e.length-1].g)&&r.push(e[0].i)}),r}A.d(t,"a",(function(){return i})),A.d(t,"b",(function(){return g}))},function(e,t,A){"use strict";var n=A(6),r=A(1),i=A(4),o=A(8),a=A(2),s=A(169),g=A(531),c=A(429);function u(e){return l(function e(t,A){return t.map((function(t){return t instanceof g.a||(Object(c.a)("string"!==typeof t,"Shader module use by name is deprecated. Import shader module '".concat(t,"' and use it directly.")),Object(c.a)(t.name,"shader module has no name"),(t=new g.a(t)).dependencies=e(t.dependencies)),t}))}(e))}function l(e){var t={},A={};return I({modules:e,level:0,moduleMap:t,moduleDepth:A}),Object.keys(A).sort((function(e,t){return A[t]-A[e]})).map((function(e){return t[e]}))}function I(e){var t=e.modules,A=e.level,r=e.moduleMap,i=e.moduleDepth;if(A>=5)throw new Error("Possible loop in shader dependency graph");var o,a=Object(n.a)(t);try{for(a.s();!(o=a.n()).done;){var s=o.value;r[s.name]=s,(void 0===i[s.name]||i[s.name]<A)&&(i[s.name]=A)}}catch(l){a.e(l)}finally{a.f()}var g,c=Object(n.a)(t);try{for(c.s();!(g=c.n()).done;){var u=g.value;u.dependencies&&I({modules:u.dependencies,level:A+1,moduleMap:r,moduleDepth:i})}}catch(l){c.e(l)}finally{c.f()}}function C(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="undefined"!==typeof window&&window.navigator||{},A=e.userAgent||t.userAgent||"",n=-1!==A.indexOf("MSIE "),r=-1!==A.indexOf("Trident/");return n||r}var h={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},f={};Object.keys(h).forEach((function(e){f[e]=e}));var d={};function B(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=h[t];if(Object(c.a)(n,t),!C(A))return!0;if(t in d)return d[t];var r=n[0],i=A.behavior||"enable",o="#extension GL_".concat(r," : ").concat(i,"\nvoid main(void) {}"),a=e.createShader(35633);e.shaderSource(a,o),e.compileShader(a);var s=e.getShaderParameter(a,35713);return e.deleteShader(a),d[t]=s,s}function p(e,t){var A=h[t];Object(c.a)(A,t);var n=function(e){return"undefined"!==typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}(e)&&A[1]||A[0],r="string"===typeof n?Boolean(e.getExtension(n)):n;return Object(c.a)(!1===r||!0===r),r}function E(e,t){return(t=Array.isArray(t)?t:[t]).every((function(t){return p(e,t)}))}var Q=A(432);function y(e){return new RegExp("\\b".concat(e,"[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)"),"g")}var v,m=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],b=[].concat(m,[[y("attribute"),"in $1"],[y("varying"),"out $1"]]),w=[].concat(m,[[y("varying"),"in $1"]]),S=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],F=[].concat(S,[[y("in"),"attribute $1"],[y("out"),"varying $1"]]),R=[].concat(S,[[y("in"),"varying $1"]]),D=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,G=/void\s+main\s*\([^)]*\)\s*\{\n?/;function k(e,t,A){switch(t){case 300:return A?x(e,b):function(e){var t=(e=x(e,w)).match(D);if(t){var A=t[1];e=e.replace(new RegExp("\\b".concat("gl_FragColor","\\b"),"g"),A)}else{e=e.replace(G,(function(e){return"out vec4 ".concat("fragmentColor",";\n").concat(e)})).replace(new RegExp("\\b".concat("gl_FragColor","\\b"),"g"),"fragmentColor")}return e}(e);case 100:return A?x(e,F):function(e){var t=(e=x(e,R)).match(D);if(t){var A=t[1];e=e.replace(D,"").replace(new RegExp("\\b".concat(A,"\\b"),"g"),"gl_FragColor")}return e}(e);default:throw new Error("unknown GLSL version ".concat(t))}}function x(e,t){var A,r=Object(n.a)(t);try{for(r.s();!(A=r.n()).done;){var i=Object(o.a)(A.value,2),a=i[0],s=i[1];e=e.replace(a,s)}}catch(g){r.e(g)}finally{r.f()}return e}var N="\n\n".concat(Q.a,"\n\n"),U=(v={},Object(a.a)(v,s.b,"vertex"),Object(a.a)(v,s.a,"fragment"),v);function _(e,t){var A=t.vs,n=t.fs,r=u(t.modules||[]);return{gl:e,vs:M(e,Object.assign({},t,{source:A,type:s.b,modules:r})),fs:M(e,Object.assign({},t,{source:n,type:s.a,modules:r})),getUniforms:O(r)}}function M(e,t){var A=t.id,r=t.source,i=t.type,a=t.modules,g=t.defines,u=void 0===g?{}:g,l=t.hookFunctions,I=void 0===l?[]:l,C=t.inject,h=void 0===C?{}:C,d=t.transpileToGLSL100,p=void 0!==d&&d,y=t.prologue,v=void 0===y||y,m=t.log;Object(c.a)("string"===typeof r,"shader source must be a string");var b=i===s.b,w=r.split("\n"),S=100,F="",R=r;0===w[0].indexOf("#version ")?(S=300,F=w[0],R=w.slice(1).join("\n")):F="#version ".concat(S);var D={};a.forEach((function(e){Object.assign(D,e.getDefines())})),Object.assign(D,u);var G=v?"".concat(F,"\n").concat(function(e){var t=e.id,A=e.source,n=e.type;return t&&"string"===typeof t&&-1===A.indexOf("SHADER_NAME")?"\n#define SHADER_NAME ".concat(t,"_").concat(U[n],"\n\n"):""}({id:A,source:r,type:i}),"\n").concat(function(e){var t=e.type;return"\n#define SHADER_TYPE_".concat(U[t].toUpperCase(),"\n")}({type:i}),"\n").concat(function(e){switch(function(e){var t=e.getExtension("WEBGL_debug_renderer_info"),A=e.getParameter(t&&t.UNMASKED_VENDOR_WEBGL||7936),n=e.getParameter(t&&t.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:function(e,t){if(e.match(/NVIDIA/i)||t.match(/NVIDIA/i))return"NVIDIA";if(e.match(/INTEL/i)||t.match(/INTEL/i))return"INTEL";if(e.match(/AMD/i)||t.match(/AMD/i)||e.match(/ATI/i)||t.match(/ATI/i))return"AMD";return"UNKNOWN GPU"}(A,n),vendor:A,renderer:n,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}(e).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(e),"\n").concat(function(e,t,A){var n="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return E(e,f.GLSL_FRAG_DEPTH)&&(n+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),E(e,f.GLSL_DERIVATIVES)&&B(e,f.GLSL_DERIVATIVES)&&(n+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),E(e,f.GLSL_FRAG_DATA)&&B(e,f.GLSL_FRAG_DATA,{behavior:"require"})&&(n+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),E(e,f.GLSL_TEXTURE_LOD)&&(n+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),n}(e),"\n").concat(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=0,A="";for(var n in e){0===t&&(A+="\n// APPLICATION DEFINES\n"),t++;var r=e[n];(r||Number.isFinite(r))&&(A+="#define ".concat(n.toUpperCase()," ").concat(e[n],"\n"))}0===t&&(A+="\n");return A}(D),"\n").concat(b?"":"precision highp float;\n\n","\n"):"".concat(F,"\n"),x=function(e){var t={vs:{},fs:{}};return e.forEach((function(e){var A;"string"!==typeof e?e=(A=e).hook:A={};var n=(e=e.trim()).split(":"),r=Object(o.a)(n,2),i=r[0],a=r[1],s=e.replace(/\(.+/,"");t[i][s]=Object.assign(A,{signature:a})})),t}(I),_={},M={},O={};for(var L in h){var T="string"===typeof h[L]?{injection:h[L],order:0}:h[L],Z=L.match(/^(v|f)s:(#)?([\w-]+)$/);if(Z){var H=Z[2],Y=Z[3];H?"decl"===Y?M[L]=[T]:O[L]=[T]:_[L]=[T]}else O[L]=[T]}var J,j=Object(n.a)(a);try{for(j.s();!(J=j.n()).done;){var P=J.value;m&&P.checkDeprecations(R,m),G+=P.getModuleSource(i,S);var V=P.injections[i];for(var K in V){var W=K.match(/^(v|f)s:#([\w-]+)$/);if(W){var X="decl"===W[2]?M:O;X[K]=X[K]||[],X[K].push(V[K])}else _[K]=_[K]||[],_[K].push(V[K])}}}catch(q){j.e(q)}finally{j.f()}return G+=N,G=Object(Q.c)(G,i,M),G+=function(e,t){var A="";for(var r in e){var i=e[r];if(A+="void ".concat(i.signature," {\n"),i.header&&(A+=" ".concat(i.header)),t[r]){var o=t[r];o.sort((function(e,t){return e.order-t.order}));var a,s=Object(n.a)(o);try{for(s.s();!(a=s.n()).done;){var g=a.value;A+=" ".concat(g.injection,"\n")}}catch(q){s.e(q)}finally{s.f()}}i.footer&&(A+=" ".concat(i.footer)),A+="}\n"}return A}(x[i],_),G+=R,G=k(G=Object(Q.c)(G,i,O),p?100:S,b)}function O(e){return function(t){var A,r={},i=Object(n.a)(e);try{for(i.s();!(A=i.n()).done;){var o=A.value.getUniforms(t,r);Object.assign(r,o)}}catch(a){i.e(a)}finally{i.f()}return r}}var L=A(1288);A.d(t,"a",(function(){return T}));var T=function(){function e(t){Object(r.a)(this,e),this.gl=t,this._programCache={},this._getUniforms={},this._registeredModules={},this._hookFunctions=[],this._defaultModules=[],this._hashes={},this._hashCounter=0,this.stateHash=0,this._useCounts={}}return Object(i.a)(e,null,[{key:"getDefaultProgramManager",value:function(t){return t.luma=t.luma||{},t.luma.defaultProgramManager=t.luma.defaultProgramManager||new e(t),t.luma.defaultProgramManager}}]),Object(i.a)(e,[{key:"addDefaultModule",value:function(e){this._defaultModules.find((function(t){return t.name===e.name}))||this._defaultModules.push(e),this.stateHash++}},{key:"removeDefaultModule",value:function(e){var t="string"===typeof e?e:e.name;this._defaultModules=this._defaultModules.filter((function(e){return e.name!==t})),this.stateHash++}},{key:"addShaderHook",value:function(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}},{key:"get",value:function(){var e,t=this,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=A.vs,i=void 0===r?"":r,o=A.fs,a=void 0===o?"":o,s=A.defines,g=void 0===s?{}:s,c=A.inject,u=void 0===c?{}:c,l=A.varyings,I=void 0===l?[]:l,C=A.bufferMode,h=void 0===C?35981:C,f=A.transpileToGLSL100,d=void 0!==f&&f,B=this._getModuleList(A.modules),p=this._getHash(i),E=this._getHash(a),Q=B.map((function(e){return t._getHash(e.name)})).sort(),y=I.map((function(e){return t._getHash(e)})),v=Object.keys(g).sort(),m=Object.keys(u).sort(),b=[],w=[],S=Object(n.a)(v);try{for(S.s();!(e=S.n()).done;){var F=e.value;b.push(this._getHash(F)),b.push(this._getHash(g[F]))}}catch(N){S.e(N)}finally{S.f()}var R,D=Object(n.a)(m);try{for(D.s();!(R=D.n()).done;){var G=R.value;w.push(this._getHash(G)),w.push(this._getHash(u[G]))}}catch(N){D.e(N)}finally{D.f()}var k="".concat(p,"/").concat(E,"D").concat(b.join("/"),"M").concat(Q.join("/"),"I").concat(w.join("/"),"V").concat(y.join("/"),"H").concat(this.stateHash,"B").concat(h).concat(d?"T":"");if(!this._programCache[k]){var x=_(this.gl,{vs:i,fs:a,modules:B,inject:u,defines:g,hookFunctions:this._hookFunctions,transpileToGLSL100:d});this._programCache[k]=new L.a(this.gl,{hash:k,vs:x.vs,fs:x.fs,varyings:I,bufferMode:h}),this._getUniforms[k]=x.getUniforms||function(e){},this._useCounts[k]=0}return this._useCounts[k]++,this._programCache[k]}},{key:"getUniforms",value:function(e){return this._getUniforms[e.hash]||null}},{key:"release",value:function(e){var t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}},{key:"_getHash",value:function(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}},{key:"_getModuleList",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Array(this._defaultModules.length+e.length),A={},n=0,r=0,i=this._defaultModules.length;r<i;++r){var o=this._defaultModules[r],a=o.name;t[n++]=o,A[a]=!0}for(var s=0,g=e.length;s<g;++s){var c=e[s],u=c.name;A[u]||(t[n++]=c,A[u]=!0)}return t.length=n,t}}]),e}()},function(e,t,A){"use strict";var n={value:function(){}};function r(){for(var e,t=0,A=arguments.length,n={};t<A;++t){if(!(e=arguments[t]+"")||e in n||/[\s.]/.test(e))throw new Error("illegal type: "+e);n[e]=[]}return new i(n)}function i(e){this._=e}function o(e,t){return e.trim().split(/^|\s+/).map((function(e){var A="",n=e.indexOf(".");if(n>=0&&(A=e.slice(n+1),e=e.slice(0,n)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:A}}))}function a(e,t){for(var A,n=0,r=e.length;n<r;++n)if((A=e[n]).name===t)return A.value}function s(e,t,A){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=n,e=e.slice(0,r).concat(e.slice(r+1));break}return null!=A&&e.push({name:t,value:A}),e}i.prototype=r.prototype={constructor:i,on:function(e,t){var A,n=this._,r=o(e+"",n),i=-1,g=r.length;if(!(arguments.length<2)){if(null!=t&&"function"!==typeof t)throw new Error("invalid callback: "+t);for(;++i<g;)if(A=(e=r[i]).type)n[A]=s(n[A],e.name,t);else if(null==t)for(A in n)n[A]=s(n[A],e.name,null);return this}for(;++i<g;)if((A=(e=r[i]).type)&&(A=a(n[A],e.name)))return A},copy:function(){var e={},t=this._;for(var A in t)e[A]=t[A].slice();return new i(e)},call:function(e,t){if((A=arguments.length-2)>0)for(var A,n,r=new Array(A),i=0;i<A;++i)r[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=0,A=(n=this._[e]).length;i<A;++i)n[i].value.apply(t,r)},apply:function(e,t,A){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var n=this._[e],r=0,i=n.length;r<i;++r)n[r].value.apply(t,A)}};var g,c,u=r,l=0,I=0,C=0,h=0,f=0,d=0,B="object"===typeof performance&&performance.now?performance:Date,p="object"===typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function E(){return f||(p(Q),f=B.now()+d)}function Q(){f=0}function y(){this._call=this._time=this._next=null}function v(e,t,A){var n=new y;return n.restart(e,t,A),n}function m(){f=(h=B.now())+d,l=I=0;try{!function(){E(),++l;for(var e,t=g;t;)(e=f-t._time)>=0&&t._call.call(null,e),t=t._next;--l}()}finally{l=0,function(){var e,t,A=g,n=1/0;for(;A;)A._call?(n>A._time&&(n=A._time),e=A,A=A._next):(t=A._next,A._next=null,A=e?e._next=t:g=t);c=e,w(n)}(),f=0}}function b(){var e=B.now(),t=e-h;t>1e3&&(d-=t,h=e)}function w(e){l||(I&&(I=clearTimeout(I)),e-f>24?(e<1/0&&(I=setTimeout(m,e-B.now()-d)),C&&(C=clearInterval(C))):(C||(h=B.now(),C=setInterval(b,1e3)),l=1,p(m)))}y.prototype=v.prototype={constructor:y,restart:function(e,t,A){if("function"!==typeof e)throw new TypeError("callback is not a function");A=(null==A?E():+A)+(null==t?0:+t),this._next||c===this||(c?c._next=this:g=this,c=this),this._call=e,this._time=A,w()},stop:function(){this._call&&(this._call=null,this._time=1/0,w())}};var S=4294967296;function F(e){return e.x}function R(e){return e.y}A.d(t,"b",(function(){return F})),A.d(t,"c",(function(){return R}));var D=Math.PI*(3-Math.sqrt(5));t.a=function(e){var t,A=1,n=.001,r=1-Math.pow(n,1/300),i=0,o=.6,a=new Map,s=v(l),g=u("tick","end"),c=function(){var e=1;return function(){return(e=(1664525*e+1013904223)%S)/S}}();function l(){I(),g.call("tick",t),A<n&&(s.stop(),g.call("end",t))}function I(n){var s,g,c=e.length;void 0===n&&(n=1);for(var u=0;u<n;++u)for(A+=(i-A)*r,a.forEach((function(e){e(A)})),s=0;s<c;++s)null==(g=e[s]).fx?g.x+=g.vx*=o:(g.x=g.fx,g.vx=0),null==g.fy?g.y+=g.vy*=o:(g.y=g.fy,g.vy=0);return t}function C(){for(var t,A=0,n=e.length;A<n;++A){if((t=e[A]).index=A,null!=t.fx&&(t.x=t.fx),null!=t.fy&&(t.y=t.fy),isNaN(t.x)||isNaN(t.y)){var r=10*Math.sqrt(.5+A),i=A*D;t.x=r*Math.cos(i),t.y=r*Math.sin(i)}(isNaN(t.vx)||isNaN(t.vy))&&(t.vx=t.vy=0)}}function h(t){return t.initialize&&t.initialize(e,c),t}return null==e&&(e=[]),C(),t={tick:I,restart:function(){return s.restart(l),t},stop:function(){return s.stop(),t},nodes:function(A){return arguments.length?(e=A,C(),a.forEach(h),t):e},alpha:function(e){return arguments.length?(A=+e,t):A},alphaMin:function(e){return arguments.length?(n=+e,t):n},alphaDecay:function(e){return arguments.length?(r=+e,t):+r},alphaTarget:function(e){return arguments.length?(i=+e,t):i},velocityDecay:function(e){return arguments.length?(o=1-e,t):1-o},randomSource:function(e){return arguments.length?(c=e,a.forEach(h),t):c},force:function(e,A){return arguments.length>1?(null==A?a.delete(e):a.set(e,h(A)),t):a.get(e)},find:function(t,A,n){var r,i,o,a,s,g=0,c=e.length;for(null==n?n=1/0:n*=n,g=0;g<c;++g)(o=(r=t-(a=e[g]).x)*r+(i=A-a.y)*i)<n&&(s=a,n=o);return s},on:function(e,A){return arguments.length>1?(g.on(e,A),t):g.on(e)}}}},function(e,t,A){"use strict";var n=A(80),r=A(161),i=A(124),o=A(18),a=A(119),s=A(26);function g(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return Object(s.a)(!1),0}}var c=A(663);function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.sourceX,n=void 0===A?0:A,r=t.sourceY,i=void 0===r?0:r,o=t.sourceFormat,g=void 0===o?6408:o,c=t.sourceAttachment,u=void 0===c?36064:c,l=t.target,I=void 0===l?null:l,C=t.sourceWidth,d=t.sourceHeight,B=t.sourceType,p=h(e),E=p.framebuffer,Q=p.deleteFramebuffer;Object(s.a)(E);var y=E.gl,v=E.handle,m=E.attachments;C=C||E.width,d=d||E.height,36064===u&&null===v&&(u=1028),Object(s.a)(m[u]),I=f(I,B=B||m[u].type,g,C,d),B=B||Object(a.b)(I);var b=y.bindFramebuffer(36160,v);return y.readPixels(n,i,C,d,g,B,I),y.bindFramebuffer(36160,b||null),Q&&E.delete(),I}function l(e,t){var A=t.sourceX,r=void 0===A?0:A,i=t.sourceY,a=void 0===i?0:i,c=t.sourceFormat,u=void 0===c?6408:c,l=t.target,I=void 0===l?null:l,C=t.targetByteOffset,f=void 0===C?0:C,d=t.sourceWidth,B=t.sourceHeight,p=t.sourceType,E=h(e),Q=E.framebuffer,y=E.deleteFramebuffer;Object(s.a)(Q),d=d||Q.width,B=B||Q.height;var v=Object(o.a)(Q.gl);if(p=p||(I?I.type:5121),!I){var m=g(u),b=function(e){switch(e){case 5121:return 1;case 33635:case 32819:case 32820:return 2;case 5126:return 4;default:return Object(s.a)(!1),0}}(p),w=f+d*B*m*b;I=new n.a(v,{byteLength:w,accessor:{type:p,size:m}})}return I.bind({target:35051}),Object(o.o)(v,{framebuffer:Q},(function(){v.readPixels(r,a,d,B,u,p,f)})),I.unbind({target:35051}),y&&Q.delete(),I}function I(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.sourceAttachment,n=void 0===A?36064:A,r=t.targetMaxHeight,i=void 0===r?Number.MAX_SAFE_INTEGER:r,o=u(e,{sourceAttachment:n}),s=e.width,g=e.height;g>i;){var c=Object(a.d)({data:o,width:s,height:g});o=c.data,s=c.width,g=c.height}Object(a.a)({data:o,width:s,height:g});var l=document.createElement("canvas");l.width=s,l.height=g;var I=l.getContext("2d"),C=I.createImageData(s,g);return C.data.set(o),I.putImageData(C,0,0),l.toDataURL()}function C(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=A.sourceX,r=void 0===n?0:n,a=A.sourceY,g=void 0===a?0:a,c=A.targetMipmaplevel,u=void 0===c?0:c,l=A.targetInternalFormat,I=void 0===l?6408:l,C=A.targetX,f=A.targetY,d=A.targetZ,B=A.width,p=A.height,E=h(e),Q=E.framebuffer,y=E.deleteFramebuffer;Object(s.a)(Q);var v=Q.gl,m=Q.handle,b="undefined"!==typeof C||"undefined"!==typeof f||"undefined"!==typeof d;C=C||0,f=f||0,d=d||0;var w=v.bindFramebuffer(36160,m);Object(s.a)(t);var S=null;if(t instanceof i.a&&(S=t,B=Number.isFinite(B)?B:S.width,p=Number.isFinite(p)?p:S.height,S.bind(0),t=S.target),b)switch(t){case 3553:case 34067:v.copyTexSubImage2D(t,u,C,f,r,g,B,p);break;case 35866:case 32879:var F=Object(o.a)(v);F.copyTexSubImage3D(t,u,C,f,d,r,g,B,p)}else v.copyTexImage2D(t,u,I,r,g,B,p,0);return S&&S.unbind(),v.bindFramebuffer(36160,w||null),y&&Q.delete(),S}function h(e){return e instanceof r.a?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:Object(c.b)(e),deleteFramebuffer:!0}}function f(e,t,A,n,r){return e||(t=t||5121,new(Object(a.c)(t,{clamped:!1}))(n*r*g(A)))}A.d(t,"c",(function(){return u})),A.d(t,"d",(function(){return l})),A.d(t,"a",(function(){return I})),A.d(t,"b",(function(){return C}))},function(e,t,A){"use strict";var n=A(1),r=A(4),i=A(429),o={number:{validate:function(e,t){return Number.isFinite(e)&&(!("max"in t)||e<=t.max)&&(!("min"in t)||e>=t.min)}},array:{validate:function(e,t){return Array.isArray(e)||ArrayBuffer.isView(e)}}};function a(e){var t=s(e);return"object"===t?e?"type"in e?Object.assign({},e,o[e.type]):"value"in e?(t=s(e.value),Object.assign({type:t},e,o[t])):{type:"object",value:e}:{type:"object",value:null}:Object.assign({type:t,value:e},o[t])}function s(e){return Array.isArray(e)||ArrayBuffer.isView(e)?"array":typeof e}A.d(t,"a",(function(){return g})),A.d(t,"b",(function(){return c}));var g=function(){function e(t){var A=t.name,r=t.vs,o=t.fs,s=t.dependencies,g=void 0===s?[]:s,c=t.uniforms,u=t.getUniforms,l=t.deprecations,I=void 0===l?[]:l,C=t.defines,h=void 0===C?{}:C,f=t.inject,d=void 0===f?{}:f,B=t.vertexShader,p=t.fragmentShader;Object(n.a)(this,e),Object(i.a)("string"===typeof A),this.name=A,this.vs=r||B,this.fs=o||p,this.getModuleUniforms=u,this.dependencies=g,this.deprecations=this._parseDeprecationDefinitions(I),this.defines=h,this.injections=function(e){var t={vs:{},fs:{}};for(var A in e){var n=e[A],r=A.slice(0,2);"string"===typeof n&&(n={order:0,injection:n}),t[r][A]=n}return t}(d),c&&(this.uniforms=function(e){var t={};for(var A in e){var n=a(e[A]);t[A]=n}return t}(c))}return Object(r.a)(e,[{key:"getModuleSource",value:function(e){var t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Object(i.a)(!1)}return"#define MODULE_".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_"),"\n").concat(t,"// END MODULE_").concat(this.name,"\n\n")}},{key:"getUniforms",value:function(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}},{key:"getDefines",value:function(){return this.defines}},{key:"checkDeprecations",value:function(e,t){this.deprecations.forEach((function(A){A.regex.test(e)&&(A.deprecated?t.deprecated(A.old,A.new)():t.removed(A.old,A.new)())}))}},{key:"_parseDeprecationDefinitions",value:function(e){return e.forEach((function(e){switch(e.type){case"function":e.regex=new RegExp("\\b".concat(e.old,"\\("));break;default:e.regex=new RegExp("".concat(e.type," ").concat(e.old,";"))}})),e}},{key:"_defaultGetUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={},A=this.uniforms;for(var n in A){var r=A[n];n in e&&!r.private?(r.validate&&Object(i.a)(r.validate(e[n],r),"".concat(this.name,": invalid ").concat(n)),t[n]=e[n]):t[n]=r.value}return t}}]),e}();function c(e){if(!e.normalized&&(e.normalized=!0,e.uniforms&&!e.getUniforms)){var t=new g(e);e.getUniforms=t.getUniforms.bind(t)}return e}},function(e,t,A){"use strict";A.d(t,"a",(function(){return o}));var n=A(0),r=A.n(n),i=A(396);function o(){return r.a.useContext(i.a)}},,,,,,,,,,,function(e,t,A){(function(t){var A="object"==typeof t&&t&&t.Object===Object&&t;e.exports=A}).call(this,A(86))},function(e,t){var A=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return A.call(e)}catch(t){}try{return e+""}catch(t){}}return""}},function(e,t,A){var n=A(448),r=A(784),i=A(449);e.exports=function(e,t,A,o,a,s){var g=1&A,c=e.length,u=t.length;if(c!=u&&!(g&&u>c))return!1;var l=s.get(e);if(l&&s.get(t))return l==t;var I=-1,C=!0,h=2&A?new n:void 0;for(s.set(e,t),s.set(t,e);++I<c;){var f=e[I],d=t[I];if(o)var B=g?o(d,f,I,t,e,s):o(f,d,I,e,t,s);if(void 0!==B){if(B)continue;C=!1;break}if(h){if(!r(t,(function(e,t){if(!i(h,t)&&(f===e||a(f,e,A,o,s)))return h.push(t)}))){C=!1;break}}else if(f!==d&&!a(f,d,A,o,s)){C=!1;break}}return s.delete(e),s.delete(t),C}},function(e,t,A){var n=A(140).Uint8Array;e.exports=n},function(e,t,A){var n=A(548),r=A(452),i=A(298);e.exports=function(e){return n(e,i,r)}},function(e,t,A){var n=A(451),r=A(111);e.exports=function(e,t,A){var i=t(e);return r(e)?i:n(i,A(e))}},function(e,t){e.exports=function(){return[]}},function(e,t,A){var n=A(789),r=A(348),i=A(111),o=A(349),a=A(453),s=A(454),g=Object.prototype.hasOwnProperty;e.exports=function(e,t){var A=i(e),c=!A&&r(e),u=!A&&!c&&o(e),l=!A&&!c&&!u&&s(e),I=A||c||u||l,C=I?n(e.length,String):[],h=C.length;for(var f in e)!t&&!g.call(e,f)||I&&("length"==f||u&&("offset"==f||"parent"==f)||l&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||a(f,h))||C.push(f);return C}},function(e,t){e.exports=function(e,t){return function(A){return e(t(A))}}},function(e,t,A){var n=A(215)(A(140),"Set");e.exports=n},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=c(A(0)),r=c(A(458)),i=c(A(61)),o=A(249),a=A(554),s=c(A(801)),g=c(A(810));function c(e){return e&&e.__esModule?e:{default:e}}function u(e){return(u="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function I(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?l(Object(A),!0).forEach((function(t){y(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):l(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function C(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return h(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(e);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return h(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function f(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function B(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var A,n=Q(e);if(t){var r=Q(this).constructor;A=Reflect.construct(n,arguments,r)}else A=n.apply(this,arguments);return p(this,A)}}function p(e,t){return!t||"object"!==u(t)&&"function"!==typeof t?E(e):t}function E(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Q(e){return(Q=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var v=!1;try{v=/firefox/i.test(navigator.userAgent)}catch(b){}var m=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&d(e,t)}(u,e);var t,A,g,c=B(u);function u(e,t){var A;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),y(E(A=c.call(this,e,t)),"state",{activeDrag:null,layout:(0,o.synchronizeLayoutWithChildren)(A.props.layout,A.props.children,A.props.cols,(0,o.compactType)(A.props)),mounted:!1,oldDragItem:null,oldLayout:null,oldResizeItem:null,droppingDOMNode:null,children:[]}),y(E(A),"dragEnterCounter",0),y(E(A),"onDragOver",(function(e){if(v&&-1===e.nativeEvent.target.className.indexOf("react-grid-layout"))return!1;var t=A.props,r=t.droppingItem,i=t.margin,o=t.cols,s=t.rowHeight,g=t.maxRows,c=t.width,u=t.containerPadding,l=A.state.layout,h=e.nativeEvent,f=h.layerX,d=h.layerY,B={left:f,top:d,e:e};if(A.state.droppingDOMNode){if(A.state.droppingPosition){var p=A.state.droppingPosition,E=p.left,Q=p.top;(E!=f||Q!=d)&&A.setState({droppingPosition:B})}}else{var y={cols:o,margin:i,maxRows:g,rowHeight:s,containerWidth:c,containerPadding:u||i},m=(0,a.calcXY)(y,d,f,r.w,r.h);A.setState({droppingDOMNode:n.default.createElement("div",{key:r.i}),droppingPosition:B,layout:[].concat(C(l),[I(I({},r),{},{x:m.x,y:m.y,static:!1,isDraggable:!0})])})}e.stopPropagation(),e.preventDefault()})),y(E(A),"removeDroppingPlaceholder",(function(){var e=A.props,t=e.droppingItem,n=e.cols,r=A.state.layout,i=(0,o.compact)(r.filter((function(e){return e.i!==t.i})),(0,o.compactType)(A.props),n);A.setState({layout:i,droppingDOMNode:null,activeDrag:null,droppingPosition:void 0})})),y(E(A),"onDragLeave",(function(){A.dragEnterCounter--,0===A.dragEnterCounter&&A.removeDroppingPlaceholder()})),y(E(A),"onDragEnter",(function(){A.dragEnterCounter++})),y(E(A),"onDrop",(function(e){var t=A.props.droppingItem,n=A.state.layout,r=n.find((function(e){return e.i===t.i}));A.dragEnterCounter=0,A.removeDroppingPlaceholder(),A.props.onDrop(n,r,e)})),(0,o.autoBindHandlers)(E(A),["onDragStart","onDrag","onDragStop","onResizeStart","onResize","onResizeStop"]),A}return t=u,g=[{key:"getDerivedStateFromProps",value:function(e,t){var A;return t.activeDrag?null:((0,r.default)(e.layout,t.propsLayout)&&e.compactType===t.compactType?(0,o.childrenEqual)(e.children,t.children)||(A=t.layout):A=e.layout,A?{layout:(0,o.synchronizeLayoutWithChildren)(A,e.children,e.cols,(0,o.compactType)(e)),compactType:e.compactType,children:e.children,propsLayout:e.layout}:null)}}],(A=[{key:"componentDidMount",value:function(){this.setState({mounted:!0}),this.onLayoutMaybeChanged(this.state.layout,this.props.layout)}},{key:"shouldComponentUpdate",value:function(e,t){return this.props.children!==e.children||!(0,o.fastRGLPropsEqual)(this.props,e,r.default)||this.state.activeDrag!==t.activeDrag||this.state.mounted!==t.mounted||this.state.droppingPosition!==t.droppingPosition}},{key:"componentDidUpdate",value:function(e,t){if(!this.state.activeDrag){var A=this.state.layout,n=t.layout;this.onLayoutMaybeChanged(A,n)}}},{key:"containerHeight",value:function(){if(this.props.autoSize){var e=(0,o.bottom)(this.state.layout),t=this.props.containerPadding?this.props.containerPadding[1]:this.props.margin[1];return e*this.props.rowHeight+(e-1)*this.props.margin[1]+2*t+"px"}}},{key:"onDragStart",value:function(e,t,A,n){var r=n.e,i=n.node,a=this.state.layout,s=(0,o.getLayoutItem)(a,e);if(s)return this.setState({oldDragItem:(0,o.cloneLayoutItem)(s),oldLayout:this.state.layout}),this.props.onDragStart(a,s,s,null,r,i)}},{key:"onDrag",value:function(e,t,A,n){var r=n.e,i=n.node,a=this.state.oldDragItem,s=this.state.layout,g=this.props.cols,c=(0,o.getLayoutItem)(s,e);if(c){var u={w:c.w,h:c.h,x:c.x,y:c.y,placeholder:!0,i:e};s=(0,o.moveElement)(s,c,t,A,!0,this.props.preventCollision,(0,o.compactType)(this.props),g),this.props.onDrag(s,a,c,u,r,i),this.setState({layout:(0,o.compact)(s,(0,o.compactType)(this.props),g),activeDrag:u})}}},{key:"onDragStop",value:function(e,t,A,n){var r=n.e,i=n.node;if(this.state.activeDrag){var a=this.state.oldDragItem,s=this.state.layout,g=this.props,c=g.cols,u=g.preventCollision,l=(0,o.getLayoutItem)(s,e);if(l){s=(0,o.moveElement)(s,l,t,A,!0,u,(0,o.compactType)(this.props),c),this.props.onDragStop(s,a,l,null,r,i);var I=(0,o.compact)(s,(0,o.compactType)(this.props),c),C=this.state.oldLayout;this.setState({activeDrag:null,layout:I,oldDragItem:null,oldLayout:null}),this.onLayoutMaybeChanged(I,C)}}}},{key:"onLayoutMaybeChanged",value:function(e,t){t||(t=this.state.layout),(0,r.default)(t,e)||this.props.onLayoutChange(e)}},{key:"onResizeStart",value:function(e,t,A,n){var r=n.e,i=n.node,a=this.state.layout,s=(0,o.getLayoutItem)(a,e);s&&(this.setState({oldResizeItem:(0,o.cloneLayoutItem)(s),oldLayout:this.state.layout}),this.props.onResizeStart(a,s,s,null,r,i))}},{key:"onResize",value:function(e,t,A,n){var r=n.e,i=n.node,a=this.state,s=a.layout,g=a.oldResizeItem,c=this.props,u=c.cols,l=c.preventCollision,C=(0,o.getLayoutItem)(s,e);if(C){var h;if(l){var f=(0,o.getAllCollisions)(s,I(I({},C),{},{w:t,h:A})).filter((function(e){return e.i!==C.i}));if(h=f.length>0){var d=1/0,B=1/0;f.forEach((function(e){e.x>C.x&&(d=Math.min(d,e.x)),e.y>C.y&&(B=Math.min(B,e.y))})),Number.isFinite(d)&&(C.w=d-C.x),Number.isFinite(B)&&(C.h=B-C.y)}}h||(C.w=t,C.h=A);var p={w:C.w,h:C.h,x:C.x,y:C.y,static:!0,i:e};this.props.onResize(s,g,C,p,r,i),this.setState({layout:(0,o.compact)(s,(0,o.compactType)(this.props),u),activeDrag:p})}}},{key:"onResizeStop",value:function(e,t,A,n){var r=n.e,i=n.node,a=this.state,s=a.layout,g=a.oldResizeItem,c=this.props.cols,u=(0,o.getLayoutItem)(s,e);this.props.onResizeStop(s,g,u,null,r,i);var l=(0,o.compact)(s,(0,o.compactType)(this.props),c),I=this.state.oldLayout;this.setState({activeDrag:null,layout:l,oldResizeItem:null,oldLayout:null}),this.onLayoutMaybeChanged(l,I)}},{key:"placeholder",value:function(){var e=this.state.activeDrag;if(!e)return null;var t=this.props,A=t.width,r=t.cols,i=t.margin,o=t.containerPadding,a=t.rowHeight,g=t.maxRows,c=t.useCSSTransforms,u=t.transformScale;return n.default.createElement(s.default,{w:e.w,h:e.h,x:e.x,y:e.y,i:e.i,className:"react-grid-placeholder",containerWidth:A,cols:r,margin:i,containerPadding:o||i,maxRows:g,rowHeight:a,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:c,transformScale:u},n.default.createElement("div",null))}},{key:"processGridItem",value:function(e,t){if(e&&e.key){var A=(0,o.getLayoutItem)(this.state.layout,String(e.key));if(!A)return null;var r=this.props,i=r.width,a=r.cols,g=r.margin,c=r.containerPadding,u=r.rowHeight,l=r.maxRows,I=r.isDraggable,C=r.isResizable,h=r.isBounded,f=r.useCSSTransforms,d=r.transformScale,B=r.draggableCancel,p=r.draggableHandle,E=r.resizeHandles,Q=this.state,y=Q.mounted,v=Q.droppingPosition,m="boolean"===typeof A.isDraggable?A.isDraggable:!A.static&&I,b="boolean"===typeof A.isResizable?A.isResizable:!A.static&&C,w=A.resizeHandles||E,S=m&&h&&!1!==A.isBounded;return n.default.createElement(s.default,{containerWidth:i,cols:a,margin:g,containerPadding:c||g,maxRows:l,rowHeight:u,cancel:B,handle:p,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:m,isResizable:b,isBounded:S,useCSSTransforms:f&&y,usePercentages:!y,transformScale:d,w:A.w,h:A.h,x:A.x,y:A.y,i:A.i,minH:A.minH,minW:A.minW,maxH:A.maxH,maxW:A.maxW,static:A.static,droppingPosition:t?v:void 0,resizeHandles:w},e)}}},{key:"render",value:function(){var e=this,t=this.props,A=t.className,r=t.style,a=t.isDroppable,s=t.innerRef,g=(0,i.default)("react-grid-layout",A),c=I({height:this.containerHeight()},r);return n.default.createElement("div",{ref:s,className:g,style:c,onDrop:a?this.onDrop:o.noop,onDragLeave:a?this.onDragLeave:o.noop,onDragEnter:a?this.onDragEnter:o.noop,onDragOver:a?this.onDragOver:o.noop},n.default.Children.map(this.props.children,(function(t){return e.processGridItem(t)})),a&&this.state.droppingDOMNode&&this.processGridItem(this.state.droppingDOMNode,!0),this.placeholder())}}])&&f(t.prototype,A),g&&f(t,g),u}(n.default.Component);t.default=m,y(m,"displayName","ReactGridLayout"),y(m,"propTypes",g.default),y(m,"defaultProps",{autoSize:!0,cols:12,className:"",style:{},draggableHandle:"",draggableCancel:"",containerPadding:null,rowHeight:150,maxRows:1/0,layout:[],margin:[10,10],isBounded:!1,isDraggable:!0,isResizable:!0,isDroppable:!1,useCSSTransforms:!0,transformScale:1,verticalCompact:!0,compactType:"vertical",preventCollision:!1,droppingItem:{i:"__dropping-elem__",h:1,w:1},resizeHandles:["se"],onLayoutChange:o.noop,onDragStart:o.noop,onDrag:o.noop,onDragStop:o.noop,onResizeStart:o.noop,onResize:o.noop,onResizeStop:o.noop,onDrop:o.noop})},function(e,t,A){"use strict";function n(e){var t=e.margin,A=e.containerPadding,n=e.containerWidth,r=e.cols;return(n-t[0]*(r-1)-2*A[0])/r}function r(e,t,A){return Number.isFinite(e)?Math.round(t*e+Math.max(0,e-1)*A):e}function i(e,t,A){return Math.max(Math.min(e,A),t)}Object.defineProperty(t,"__esModule",{value:!0}),t.calcGridColWidth=n,t.calcGridItemWHPx=r,t.calcGridItemPosition=function(e,t,A,i,o,a){var s=e.margin,g=e.containerPadding,c=e.rowHeight,u=n(e),l={};a&&a.resizing?(l.width=Math.round(a.resizing.width),l.height=Math.round(a.resizing.height)):(l.width=r(i,u,s[0]),l.height=r(o,c,s[1]));a&&a.dragging?(l.top=Math.round(a.dragging.top),l.left=Math.round(a.dragging.left)):(l.top=Math.round((c+s[1])*A+g[1]),l.left=Math.round((u+s[0])*t+g[0]));return l},t.calcXY=function(e,t,A,r,o){var a=e.margin,s=e.cols,g=e.rowHeight,c=e.maxRows,u=n(e),l=Math.round((A-a[0])/(u+a[0])),I=Math.round((t-a[1])/(g+a[1]));return l=i(l,0,s-r),I=i(I,0,c-o),{x:l,y:I}},t.calcWH=function(e,t,A,r,o){var a=e.margin,s=e.maxRows,g=e.cols,c=e.rowHeight,u=n(e),l=Math.round((t+a[0])/(u+a[0])),I=Math.round((A+a[1])/(c+a[1]));return l=i(l,0,g-r),I=i(I,0,s-o),{w:l,h:I}},t.clamp=i},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getBoundPosition=function(e,t,A){if(!e.props.bounds)return[t,A];var o=e.props.bounds;o="string"===typeof o?o:function(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom}}(o);var a=i(e);if("string"===typeof o){var s,g=a.ownerDocument,c=g.defaultView;if(!((s="parent"===o?a.parentNode:g.querySelector(o))instanceof c.HTMLElement))throw new Error('Bounds selector "'+o+'" could not find an element.');var u=c.getComputedStyle(a),l=c.getComputedStyle(s);o={left:-a.offsetLeft+(0,n.int)(l.paddingLeft)+(0,n.int)(u.marginLeft),top:-a.offsetTop+(0,n.int)(l.paddingTop)+(0,n.int)(u.marginTop),right:(0,r.innerWidth)(s)-(0,r.outerWidth)(a)-a.offsetLeft+(0,n.int)(l.paddingRight)-(0,n.int)(u.marginRight),bottom:(0,r.innerHeight)(s)-(0,r.outerHeight)(a)-a.offsetTop+(0,n.int)(l.paddingBottom)-(0,n.int)(u.marginBottom)}}(0,n.isNum)(o.right)&&(t=Math.min(t,o.right));(0,n.isNum)(o.bottom)&&(A=Math.min(A,o.bottom));(0,n.isNum)(o.left)&&(t=Math.max(t,o.left));(0,n.isNum)(o.top)&&(A=Math.max(A,o.top));return[t,A]},t.snapToGrid=function(e,t,A){var n=Math.round(t/e[0])*e[0],r=Math.round(A/e[1])*e[1];return[n,r]},t.canDragX=function(e){return"both"===e.props.axis||"x"===e.props.axis},t.canDragY=function(e){return"both"===e.props.axis||"y"===e.props.axis},t.getControlPosition=function(e,t,A){var n="number"===typeof t?(0,r.getTouch)(e,t):null;if("number"===typeof t&&!n)return null;var o=i(A),a=A.props.offsetParent||o.offsetParent||o.ownerDocument.body;return(0,r.offsetXYFromParent)(n||e,a,A.props.scale)},t.createCoreData=function(e,t,A){var r=e.state,o=!(0,n.isNum)(r.lastX),a=i(e);return o?{node:a,deltaX:0,deltaY:0,lastX:t,lastY:A,x:t,y:A}:{node:a,deltaX:t-r.lastX,deltaY:A-r.lastY,lastX:r.lastX,lastY:r.lastY,x:t,y:A}},t.createDraggableData=function(e,t){var A=e.props.scale;return{node:t.node,x:e.state.x+t.deltaX/A,y:e.state.y+t.deltaY/A,deltaX:t.deltaX/A,deltaY:t.deltaY/A,lastX:e.state.x,lastY:e.state.y}};var n=A(352),r=A(459);function i(e){var t=e.findDOMNode();if(!t)throw new Error("<DraggableCore>: Unmounted during event!");return t}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){void 0}},function(e,t,A){"use strict";t.__esModule=!0,t.default=void 0;var n=a(A(0)),r=a(A(13)),i=A(807),o=A(808);function a(e){return e&&e.__esModule?e:{default:e}}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function g(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function u(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var l=function(e){var t,A;function r(){for(var t,A=arguments.length,n=new Array(A),r=0;r<A;r++)n[r]=arguments[r];return u(c(t=e.call.apply(e,[this].concat(n))||this),"state",{slackW:0,slackH:0}),t}A=e,(t=r).prototype=Object.create(A.prototype),t.prototype.constructor=t,t.__proto__=A;var a=r.prototype;return a.lockAspectRatio=function(e,t,A){return[e=(t=e/A)*A,t]},a.runConstraints=function(e,t){var A=[this.props.minConstraints,this.props.maxConstraints],n=A[0],r=A[1];if(!n&&!r)return[e,t];if(this.props.lockAspectRatio)if(t===this.props.height){var i=this.props.width/this.props.height;e=(t=e/i)*i}else{var o=this.props.height/this.props.width;t=(e=t/o)*o}var a=e,s=t,g=this.state,c=g.slackW,u=g.slackH;return e+=c,t+=u,n&&(e=Math.max(n[0],e),t=Math.max(n[1],t)),r&&(e=Math.min(r[0],e),t=Math.min(r[1],t)),u+=s-t,(c+=a-e)===this.state.slackW&&u===this.state.slackH||this.setState({slackW:c,slackH:u}),[e,t]},a.resizeHandler=function(e,t){var A=this;return function(n,r){var i=r.node,o=r.deltaX,a=r.deltaY;o/=A.props.transformScale,a/=A.props.transformScale;var s=("both"===A.props.axis||"x"===A.props.axis)&&-1===["n","s"].indexOf(t),g=("both"===A.props.axis||"y"===A.props.axis)&&-1===["e","w"].indexOf(t);s&&"w"===t[t.length-1]&&(o=-o),g&&"n"===t[0]&&(a=-a);var c=A.props.width+(s?o:0),u=A.props.height+(g?a:0),l=c!==A.props.width,I=u!==A.props.height;if("onResize"!==e||l||I){var C=A.runConstraints(c,u);c=C[0],u=C[1];var h={};if("onResizeStart"===e);else if("onResizeStop"===e)h.slackW=h.slackH=0;else if(c===A.props.width&&u===A.props.height)return;"function"===typeof A.props[e]?("function"===typeof n.persist&&n.persist(),A.setState(h,(function(){return A.props[e](n,{node:i,size:{width:c,height:u},handle:t})}))):A.setState(h)}}},a.renderResizeHandle=function(e){var t=this.props.handle;return t?"function"===typeof t?t(e):t:n.default.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+e})},a.render=function(){var e=this,t=this.props,A=t.children,r=t.draggableOpts,a=(t.width,t.height,t.handleSize,t.lockAspectRatio,t.axis,t.minConstraints,t.maxConstraints,t.onResize,t.onResizeStop,t.onResizeStart,t.resizeHandles),c=(t.transformScale,function(e,t){if(null==e)return{};var A,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(t,["children","draggableOpts","width","height","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"])),l=c.className?c.className+" react-resizable":"react-resizable";return(0,o.cloneElement)(A,function(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?g(A,!0).forEach((function(t){u(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):g(A).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}({},c,{className:l,children:[A.props.children,a.map((function(t){return n.default.createElement(i.DraggableCore,s({},r,{key:"resizableHandle-"+t,onStop:e.resizeHandler("onResizeStop",t),onStart:e.resizeHandler("onResizeStart",t),onDrag:e.resizeHandler("onResize",t)}),e.renderResizeHandle(t))}))]}))},r}(n.default.Component);t.default=l,u(l,"propTypes",{children:r.default.element.isRequired,width:r.default.number.isRequired,height:r.default.number.isRequired,handle:r.default.element,handleSize:r.default.array,resizeHandles:r.default.arrayOf(r.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),transformScale:r.default.number,lockAspectRatio:r.default.bool,axis:r.default.oneOf(["both","x","y","none"]),minConstraints:r.default.arrayOf(r.default.number),maxConstraints:r.default.arrayOf(r.default.number),onResizeStop:r.default.func,onResizeStart:r.default.func,onResize:r.default.func,draggableOpts:r.default.object}),u(l,"defaultProps",{handleSize:[20,20],lockAspectRatio:!1,axis:"both",minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1})},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getBreakpointFromWidth=function(e,t){for(var A=r(e),n=A[0],i=1,o=A.length;i<o;i++){var a=A[i];t>e[a]&&(n=a)}return n},t.getColsFromBreakpoint=function(e,t){if(!t[e])throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+e+" is missing!");return t[e]},t.findOrGenerateResponsiveLayout=function(e,t,A,i,o,a){if(e[A])return(0,n.cloneLayout)(e[A]);for(var s=e[i],g=r(t),c=g.slice(g.indexOf(A)),u=0,l=c.length;u<l;u++){var I=c[u];if(e[I]){s=e[I];break}}return s=(0,n.cloneLayout)(s||[]),(0,n.compact)((0,n.correctBounds)(s,{cols:o}),a,o)},t.sortBreakpoints=r;var n=A(249);function r(e){return Object.keys(e).sort((function(t,A){return e[t]-e[A]}))}},function(e,t,A){var n=A(297),r=A(248),i=A(453),o=A(127);e.exports=function(e,t,A){if(!o(A))return!1;var a=typeof t;return!!("number"==a?r(A)&&i(t,A.length):"string"==a&&t in A)&&n(A[t],e)}},function(e,t,A){"use strict";var n=A(250);e.exports=function(e){n.copy(e,this)}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n="",r=!0===e.schema.$async,i=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),o=e.self._getId(e.schema);if(e.opts.strictKeywords){var a=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(a){var s="unknown keyword: "+a;if("log"!==e.opts.strictKeywords)throw new Error(s);e.logger.warn(s)}}if(e.isTop&&(n+=" var validate = ",r&&(e.async=!0,n+="async "),n+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",o&&(e.opts.sourceCode||e.opts.processCode)&&(n+=" /*# sourceURL="+o+" */ ")),"boolean"==typeof e.schema||!i&&!e.schema.$ref){var g=e.level,c=e.dataLevel,u=e.schema["false schema"],l=e.schemaPath+e.util.getProperty("false schema"),I=e.errSchemaPath+"/false schema",C=!e.opts.allErrors,h="data"+(c||""),f="valid"+g;if(!1===e.schema){e.isTop?C=!0:n+=" var "+f+" = false; ",(q=q||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(I)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'boolean schema is false' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),n+=" } "):n+=" {} ";var d=n;n=q.pop(),!e.compositeRule&&C?e.async?n+=" throw new ValidationError(["+d+"]); ":n+=" validate.errors = ["+d+"]; return false; ":n+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?n+=r?" return data; ":" validate.errors = null; return true; ":n+=" var "+f+" = true; ";return e.isTop&&(n+=" }; return validate; "),n}if(e.isTop){var B=e.isTop;g=e.level=0,c=e.dataLevel=0,h="data";if(e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[void 0],void 0!==e.schema.default&&e.opts.useDefaults&&e.opts.strictDefaults){var p="default is ignored in the schema root";if("log"!==e.opts.strictDefaults)throw new Error(p);e.logger.warn(p)}n+=" var vErrors = null; ",n+=" var errors = 0; ",n+=" if (rootData === undefined) rootData = data; "}else{g=e.level,h="data"+((c=e.dataLevel)||"");if(o&&(e.baseId=e.resolve.url(e.baseId,o)),r&&!e.async)throw new Error("async schema in sync schema");n+=" var errs_"+g+" = errors;"}f="valid"+g,C=!e.opts.allErrors;var E="",Q="",y=e.schema.type,v=Array.isArray(y);if(y&&e.opts.nullable&&!0===e.schema.nullable&&(v?-1==y.indexOf("null")&&(y=y.concat("null")):"null"!=y&&(y=[y,"null"],v=!0)),v&&1==y.length&&(y=y[0],v=!1),e.schema.$ref&&i){if("fail"==e.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');!0!==e.opts.extendRefs&&(i=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(n+=" "+e.RULES.all.$comment.code(e,"$comment")),y){if(e.opts.coerceTypes)var m=e.util.coerceToTypes(e.opts.coerceTypes,y);var b=e.RULES.types[y];if(m||v||!0===b||b&&!z(b)){l=e.schemaPath+".type",I=e.errSchemaPath+"/type",l=e.schemaPath+".type",I=e.errSchemaPath+"/type";var w=v?"checkDataTypes":"checkDataType";if(n+=" if ("+e.util[w](y,h,!0)+") { ",m){var S="dataType"+g,F="coerced"+g;n+=" var "+S+" = typeof "+h+"; ","array"==e.opts.coerceTypes&&(n+=" if ("+S+" == 'object' && Array.isArray("+h+")) "+S+" = 'array'; "),n+=" var "+F+" = undefined; ";var R="",D=m;if(D)for(var G,k=-1,x=D.length-1;k<x;)G=D[k+=1],k&&(n+=" if ("+F+" === undefined) { ",R+="}"),"array"==e.opts.coerceTypes&&"array"!=G&&(n+=" if ("+S+" == 'array' && "+h+".length == 1) { "+F+" = "+h+" = "+h+"[0]; "+S+" = typeof "+h+"; } "),"string"==G?n+=" if ("+S+" == 'number' || "+S+" == 'boolean') "+F+" = '' + "+h+"; else if ("+h+" === null) "+F+" = ''; ":"number"==G||"integer"==G?(n+=" if ("+S+" == 'boolean' || "+h+" === null || ("+S+" == 'string' && "+h+" && "+h+" == +"+h+" ","integer"==G&&(n+=" && !("+h+" % 1)"),n+=")) "+F+" = +"+h+"; "):"boolean"==G?n+=" if ("+h+" === 'false' || "+h+" === 0 || "+h+" === null) "+F+" = false; else if ("+h+" === 'true' || "+h+" === 1) "+F+" = true; ":"null"==G?n+=" if ("+h+" === '' || "+h+" === 0 || "+h+" === false) "+F+" = null; ":"array"==e.opts.coerceTypes&&"array"==G&&(n+=" if ("+S+" == 'string' || "+S+" == 'number' || "+S+" == 'boolean' || "+h+" == null) "+F+" = ["+h+"]; ");n+=" "+R+" if ("+F+" === undefined) { ",(q=q||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(I)+" , params: { type: '",n+=v?""+y.join(","):""+y,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=v?""+y.join(","):""+y,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),n+=" } "):n+=" {} ";d=n;n=q.pop(),!e.compositeRule&&C?e.async?n+=" throw new ValidationError(["+d+"]); ":n+=" validate.errors = ["+d+"]; return false; ":n+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ";var N=c?"data"+(c-1||""):"parentData";n+=" "+h+" = "+F+"; ",c||(n+="if ("+N+" !== undefined)"),n+=" "+N+"["+(c?e.dataPathArr[c]:"parentDataProperty")+"] = "+F+"; } "}else{(q=q||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(I)+" , params: { type: '",n+=v?""+y.join(","):""+y,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=v?""+y.join(","):""+y,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),n+=" } "):n+=" {} ";d=n;n=q.pop(),!e.compositeRule&&C?e.async?n+=" throw new ValidationError(["+d+"]); ":n+=" validate.errors = ["+d+"]; return false; ":n+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}n+=" } "}}if(e.schema.$ref&&!i)n+=" "+e.RULES.all.$ref.code(e,"$ref")+" ",C&&(n+=" } if (errors === ",n+=B?"0":"errs_"+g,n+=") { ",Q+="}");else{var U=e.RULES;if(U)for(var _=-1,M=U.length-1;_<M;)if(z(b=U[_+=1])){if(b.type&&(n+=" if ("+e.util.checkDataType(b.type,h)+") { "),e.opts.useDefaults)if("object"==b.type&&e.schema.properties){u=e.schema.properties;var O=Object.keys(u);if(O)for(var L,T=-1,Z=O.length-1;T<Z;){if(void 0!==(J=u[L=O[T+=1]]).default){var H=h+e.util.getProperty(L);if(e.compositeRule){if(e.opts.strictDefaults){p="default is ignored for: "+H;if("log"!==e.opts.strictDefaults)throw new Error(p);e.logger.warn(p)}}else n+=" if ("+H+" === undefined ","empty"==e.opts.useDefaults&&(n+=" || "+H+" === null || "+H+" === '' "),n+=" ) "+H+" = ","shared"==e.opts.useDefaults?n+=" "+e.useDefault(J.default)+" ":n+=" "+JSON.stringify(J.default)+" ",n+="; "}}}else if("array"==b.type&&Array.isArray(e.schema.items)){var Y=e.schema.items;if(Y){k=-1;for(var J,j=Y.length-1;k<j;)if(void 0!==(J=Y[k+=1]).default){H=h+"["+k+"]";if(e.compositeRule){if(e.opts.strictDefaults){p="default is ignored for: "+H;if("log"!==e.opts.strictDefaults)throw new Error(p);e.logger.warn(p)}}else n+=" if ("+H+" === undefined ","empty"==e.opts.useDefaults&&(n+=" || "+H+" === null || "+H+" === '' "),n+=" ) "+H+" = ","shared"==e.opts.useDefaults?n+=" "+e.useDefault(J.default)+" ":n+=" "+JSON.stringify(J.default)+" ",n+="; "}}}var P=b.rules;if(P)for(var V,K=-1,W=P.length-1;K<W;)if($(V=P[K+=1])){var X=V.code(e,V.keyword,b.type);X&&(n+=" "+X+" ",C&&(E+="}"))}if(C&&(n+=" "+E+" ",E=""),b.type&&(n+=" } ",y&&y===b.type&&!m)){n+=" else { ";var q;l=e.schemaPath+".type",I=e.errSchemaPath+"/type";(q=q||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(I)+" , params: { type: '",n+=v?""+y.join(","):""+y,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=v?""+y.join(","):""+y,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),n+=" } "):n+=" {} ";d=n;n=q.pop(),!e.compositeRule&&C?e.async?n+=" throw new ValidationError(["+d+"]); ":n+=" validate.errors = ["+d+"]; return false; ":n+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } "}C&&(n+=" if (errors === ",n+=B?"0":"errs_"+g,n+=") { ",Q+="}")}}function z(e){for(var t=e.rules,A=0;A<t.length;A++)if($(t[A]))return!0}function $(t){return void 0!==e.schema[t.keyword]||t.implements&&function(t){for(var A=t.implements,n=0;n<A.length;n++)if(void 0!==e.schema[A[n]])return!0}(t)}return C&&(n+=" "+Q+" "),B?(r?(n+=" if (errors === 0) return data; ",n+=" else throw new ValidationError(vErrors); "):(n+=" validate.errors = vErrors; ",n+=" return errors === 0; "),n+=" }; return validate;"):n+=" var "+f+" = errors === errs_"+g+";",n=e.util.cleanUpCode(n),B&&(n=e.util.finalCleanUpCode(n,r)),n}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n,r=" ",i=e.level,o=e.dataLevel,a=e.schema[t],s=e.schemaPath+e.util.getProperty(t),g=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(o||""),l=e.opts.$data&&a&&a.$data;l?(r+=" var schema"+i+" = "+e.util.getData(a.$data,o,e.dataPathArr)+"; ",n="schema"+i):n=a;var I="maximum"==t,C=I?"exclusiveMaximum":"exclusiveMinimum",h=e.schema[C],f=e.opts.$data&&h&&h.$data,d=I?"<":">",B=I?">":"<",p=void 0;if(f){var E=e.util.getData(h.$data,o,e.dataPathArr),Q="exclusive"+i,y="exclType"+i,v="exclIsNumber"+i,m="' + "+(S="op"+i)+" + '";r+=" var schemaExcl"+i+" = "+E+"; ",r+=" var "+Q+"; var "+y+" = typeof "+(E="schemaExcl"+i)+"; if ("+y+" != 'boolean' && "+y+" != 'undefined' && "+y+" != 'number') { ";var b;p=C;(b=b||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: '"+(p||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: '"+C+" should be boolean' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var w=r;r=b.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+w+"]); ":r+=" validate.errors = ["+w+"]; return false; ":r+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else if ( ",l&&(r+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),r+=" "+y+" == 'number' ? ( ("+Q+" = "+n+" === undefined || "+E+" "+d+"= "+n+") ? "+u+" "+B+"= "+E+" : "+u+" "+B+" "+n+" ) : ( ("+Q+" = "+E+" === true) ? "+u+" "+B+"= "+n+" : "+u+" "+B+" "+n+" ) || "+u+" !== "+u+") { var op"+i+" = "+Q+" ? '"+d+"' : '"+d+"='; ",void 0===a&&(p=C,g=e.errSchemaPath+"/"+C,n=E,l=f)}else{m=d;if((v="number"==typeof h)&&l){var S="'"+m+"'";r+=" if ( ",l&&(r+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),r+=" ( "+n+" === undefined || "+h+" "+d+"= "+n+" ? "+u+" "+B+"= "+h+" : "+u+" "+B+" "+n+" ) || "+u+" !== "+u+") { "}else{v&&void 0===a?(Q=!0,p=C,g=e.errSchemaPath+"/"+C,n=h,B+="="):(v&&(n=Math[I?"min":"max"](h,a)),h===(!v||n)?(Q=!0,p=C,g=e.errSchemaPath+"/"+C,B+="="):(Q=!1,m+="="));S="'"+m+"'";r+=" if ( ",l&&(r+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),r+=" "+u+" "+B+" "+n+" || "+u+" !== "+u+") { "}}p=p||t,(b=b||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: '"+(p||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { comparison: "+S+", limit: "+n+", exclusive: "+Q+" } ",!1!==e.opts.messages&&(r+=" , message: 'should be "+m+" ",r+=l?"' + "+n:n+"'"),e.opts.verbose&&(r+=" , schema: ",r+=l?"validate.schema"+s:""+a,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";w=r;return r=b.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+w+"]); ":r+=" validate.errors = ["+w+"]; return false; ":r+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",c&&(r+=" else { "),r}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n,r=" ",i=e.level,o=e.dataLevel,a=e.schema[t],s=e.schemaPath+e.util.getProperty(t),g=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(o||""),l=e.opts.$data&&a&&a.$data;l?(r+=" var schema"+i+" = "+e.util.getData(a.$data,o,e.dataPathArr)+"; ",n="schema"+i):n=a,r+="if ( ",l&&(r+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),r+=" "+u+".length "+("maxItems"==t?">":"<")+" "+n+") { ";var I=t,C=C||[];C.push(r),r="",!1!==e.createErrors?(r+=" { keyword: '"+(I||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(r+=" , message: 'should NOT have ",r+="maxItems"==t?"more":"fewer",r+=" than ",r+=l?"' + "+n+" + '":""+a,r+=" items' "),e.opts.verbose&&(r+=" , schema: ",r+=l?"validate.schema"+s:""+a,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var h=r;return r=C.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+h+"]); ":r+=" validate.errors = ["+h+"]; return false; ":r+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",c&&(r+=" else { "),r}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n,r=" ",i=e.level,o=e.dataLevel,a=e.schema[t],s=e.schemaPath+e.util.getProperty(t),g=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(o||""),l=e.opts.$data&&a&&a.$data;l?(r+=" var schema"+i+" = "+e.util.getData(a.$data,o,e.dataPathArr)+"; ",n="schema"+i):n=a;var I="maxLength"==t?">":"<";r+="if ( ",l&&(r+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),!1===e.opts.unicode?r+=" "+u+".length ":r+=" ucs2length("+u+") ",r+=" "+I+" "+n+") { ";var C=t,h=h||[];h.push(r),r="",!1!==e.createErrors?(r+=" { keyword: '"+(C||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be ",r+="maxLength"==t?"longer":"shorter",r+=" than ",r+=l?"' + "+n+" + '":""+a,r+=" characters' "),e.opts.verbose&&(r+=" , schema: ",r+=l?"validate.schema"+s:""+a,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var f=r;return r=h.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+f+"]); ":r+=" validate.errors = ["+f+"]; return false; ":r+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",c&&(r+=" else { "),r}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n,r=" ",i=e.level,o=e.dataLevel,a=e.schema[t],s=e.schemaPath+e.util.getProperty(t),g=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(o||""),l=e.opts.$data&&a&&a.$data;l?(r+=" var schema"+i+" = "+e.util.getData(a.$data,o,e.dataPathArr)+"; ",n="schema"+i):n=a,r+="if ( ",l&&(r+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),r+=" Object.keys("+u+").length "+("maxProperties"==t?">":"<")+" "+n+") { ";var I=t,C=C||[];C.push(r),r="",!1!==e.createErrors?(r+=" { keyword: '"+(I||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(r+=" , message: 'should NOT have ",r+="maxProperties"==t?"more":"fewer",r+=" than ",r+=l?"' + "+n+" + '":""+a,r+=" properties' "),e.opts.verbose&&(r+=" , schema: ",r+=l?"validate.schema"+s:""+a,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var h=r;return r=C.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+h+"]); ":r+=" validate.errors = ["+h+"]; return false; ":r+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",c&&(r+=" else { "),r}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},function(e,t){t.read=function(e,t,A,n,r){var i,o,a=8*r-n-1,s=(1<<a)-1,g=s>>1,c=-7,u=A?r-1:0,l=A?-1:1,I=e[t+u];for(u+=l,i=I&(1<<-c)-1,I>>=-c,c+=a;c>0;i=256*i+e[t+u],u+=l,c-=8);for(o=i&(1<<-c)-1,i>>=-c,c+=n;c>0;o=256*o+e[t+u],u+=l,c-=8);if(0===i)i=1-g;else{if(i===s)return o?NaN:1/0*(I?-1:1);o+=Math.pow(2,n),i-=g}return(I?-1:1)*o*Math.pow(2,i-n)},t.write=function(e,t,A,n,r,i){var o,a,s,g=8*i-r-1,c=(1<<g)-1,u=c>>1,l=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,I=n?0:i-1,C=n?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-o))<1&&(o--,s*=2),(t+=o+u>=1?l/s:l*Math.pow(2,1-u))*s>=2&&(o++,s/=2),o+u>=c?(a=0,o=c):o+u>=1?(a=(t*s-1)*Math.pow(2,r),o+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,r),o=0));r>=8;e[A+I]=255&a,I+=C,a/=256,r-=8);for(o=o<<r|a,g+=r;g>0;e[A+I]=255&o,I+=C,o/=256,g-=8);e[A+I-C]|=128*h}},function(e,t,A){"use strict";A.d(t,"a",(function(){return l}));var n=A(1),r=A(4),i=A(9),o=A(10),a=A(273),s=A(32),g=A(33),c=A(180),u=A(125),l=function(e){Object(i.a)(A,e);var t=Object(o.a)(A);function A(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Object(n.a)(this,A),e=t.call(this,2),Object(s.m)(r)&&1===arguments.length?e.copy(r):(s.f.debug&&(Object(g.a)(r),Object(g.a)(i)),e[0]=r,e[1]=i),e}return Object(r.a)(A,[{key:"set",value:function(e,t){return this[0]=e,this[1]=t,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this.check()}},{key:"fromObject",value:function(e){return s.f.debug&&(Object(g.a)(e.x),Object(g.a)(e.y)),this[0]=e.x,this[1]=e.y,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e}},{key:"horizontalAngle",value:function(){return Math.atan2(this.y,this.x)}},{key:"verticalAngle",value:function(){return Math.atan2(this.x,this.y)}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return c.d(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return Object(u.a)(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return c.c(this,this,e),this.check()}},{key:"transformByMatrix2x3",value:function(e){return c.b(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return c.a(this,this,e),this.check()}},{key:"ELEMENTS",get:function(){return 2}}]),A}(a.a)},function(e,t,A){"use strict";A.d(t,"a",(function(){return I}));var n=A(1),r=A(4),i=A(9),o=A(10),a=A(273),s=A(32),g=A(33),c=A(67),u=A(125),l={},I=function(e){Object(i.a)(A,e);var t=Object(o.a)(A);function A(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return Object(n.a)(this,A),e=t.call(this,-0,-0,-0,-0),Object(s.m)(r)&&1===arguments.length?e.copy(r):(s.f.debug&&(Object(g.a)(r),Object(g.a)(i),Object(g.a)(o),Object(g.a)(a)),e[0]=r,e[1]=i,e[2]=o,e[3]=a),e}return Object(r.a)(A,null,[{key:"ZERO",get:function(){return l.ZERO=l.ZERO||Object.freeze(new A(0,0,0,0))}}]),Object(r.a)(A,[{key:"set",value:function(e,t,A,n){return this[0]=e,this[1]=t,this[2]=A,this[3]=n,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"fromObject",value:function(e){return s.f.debug&&(Object(g.a)(e.x),Object(g.a)(e.y),Object(g.a)(e.z),Object(g.a)(e.w)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e.w=this[3],e}},{key:"transform",value:function(e){return c.m(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return Object(u.e)(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return Object(u.d)(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return c.n(this,this,e),this.check()}},{key:"applyMatrix4",value:function(e){return e.transform(this,this),this}},{key:"ELEMENTS",get:function(){return 4}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=Object(g.a)(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=Object(g.a)(e)}}]),A}(a.a)},function(e,t,A){"use strict";A.d(t,"a",(function(){return d}));var n=A(1),r=A(4),i=A(9),o=A(10),a=A(404),s=A(33),g=A(125),c=A(126),u=A(180),l=A(67),I=Object.freeze([1,0,0,0,1,0,0,0,1]),C=Object.freeze([0,0,0,0,0,0,0,0,0]),h=Object.freeze({COL0ROW0:0,COL0ROW1:1,COL0ROW2:2,COL1ROW0:3,COL1ROW1:4,COL1ROW2:5,COL2ROW0:6,COL2ROW1:7,COL2ROW2:8}),f={},d=function(e){Object(i.a)(A,e);var t=Object(o.a)(A);function A(e){var r;return Object(n.a)(this,A),r=t.call(this,-0,-0,-0,-0,-0,-0,-0,-0,-0),1===arguments.length&&Array.isArray(e)?r.copy(e):r.identity(),r}return Object(r.a)(A,[{key:"ELEMENTS",get:function(){return 9}},{key:"RANK",get:function(){return 3}},{key:"INDICES",get:function(){return h}}],[{key:"IDENTITY",get:function(){return f.IDENTITY=f.IDENTITY||Object.freeze(new A(I)),f.IDENTITY}},{key:"ZERO",get:function(){return f.ZERO=f.ZERO||Object.freeze(new A(C)),f.ZERO}}]),Object(r.a)(A,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this.check()}},{key:"set",value:function(e,t,A,n,r,i,o,a,s){return this[0]=e,this[1]=t,this[2]=A,this[3]=n,this[4]=r,this[5]=i,this[6]=o,this[7]=a,this[8]=s,this.check()}},{key:"setRowMajor",value:function(e,t,A,n,r,i,o,a,s){return this[0]=e,this[1]=n,this[2]=o,this[3]=t,this[4]=r,this[5]=a,this[6]=A,this[7]=i,this[8]=s,this.check()}},{key:"determinant",value:function(){return c.b(this)}},{key:"identity",value:function(){return this.copy(I)}},{key:"fromQuaternion",value:function(e){return c.c(this,e),this.check()}},{key:"transpose",value:function(){return c.i(this,this),this.check()}},{key:"invert",value:function(){return c.d(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return c.e(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return c.e(this,this,e),this.check()}},{key:"rotate",value:function(e){return c.f(this,this,e),this.check()}},{key:"scale",value:function(e){return Array.isArray(e)?c.g(this,this,e):c.g(this,this,[e,e,e]),this.check()}},{key:"translate",value:function(e){return c.h(this,this,e),this.check()}},{key:"transform",value:function(e,t){switch(e.length){case 2:t=u.c(t||[-0,-0],e,this);break;case 3:t=l.l(t||[-0,-0,-0],e,this);break;case 4:t=Object(g.e)(t||[-0,-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Object(s.b)(t,e.length),t}},{key:"transformVector",value:function(e,t){return Object(s.c)("Matrix3.transformVector"),this.transform(e,t)}},{key:"transformVector2",value:function(e,t){return Object(s.c)("Matrix3.transformVector"),this.transform(e,t)}},{key:"transformVector3",value:function(e,t){return Object(s.c)("Matrix3.transformVector"),this.transform(e,t)}}]),A}(a.a)},function(e,t,A){"use strict";t.a={EPSILON1:.1,EPSILON2:.01,EPSILON3:.001,EPSILON4:1e-4,EPSILON5:1e-5,EPSILON6:1e-6,EPSILON7:1e-7,EPSILON8:1e-8,EPSILON9:1e-9,EPSILON10:1e-10,EPSILON11:1e-11,EPSILON12:1e-12,EPSILON13:1e-13,EPSILON14:1e-14,EPSILON15:1e-15,EPSILON16:1e-16,EPSILON17:1e-17,EPSILON18:1e-18,EPSILON19:1e-19,EPSILON20:1e-20,PI_OVER_TWO:Math.PI/2,PI_OVER_FOUR:Math.PI/4,PI_OVER_SIX:Math.PI/6,TWO_PI:2*Math.PI}},function(e,t,A){"use strict";(function(e){var t=A(6),n=A(662),r=A(85),i=A(293);function o(e,t){var A=t.extension,n=t.target,o=t.target2,a=i.b[A];Object(r.a)(a);for(var s=a.meta,g=(void 0===s?{}:s).suffix,c=void 0===g?"":g,u=e.getExtension(A),l=function(){var t=C[I],A="".concat(t).concat(c),r=null;"meta"===t||"function"===typeof e[t]||(u&&"function"===typeof u[A]?r=function(){return u[A].apply(u,arguments)}:"function"===typeof a[t]&&(r=a[t].bind(n))),r&&(n[t]=r,o[t]=r)},I=0,C=Object.keys(a);I<C.length;I++)l()}("undefined"!==typeof e?e:window).polyfillContext=function(e){e.luma=e.luma||{};var A=e.luma;return A.polyfilled||(Object(n.a)(e),function(e){e.luma.extensions={};var A,n=e.getSupportedExtensions()||[],r=Object(t.a)(n);try{for(r.s();!(A=r.n()).done;){var i=A.value;e.luma[i]=e.getExtension(i)}}catch(o){r.e(o)}finally{r.f()}}(e),function(e,A){var n,r=Object(t.a)(Object.getOwnPropertyNames(A));try{for(r.s();!(n=r.n()).done;){var i=n.value;"overrides"!==i&&o(e,{extension:i,target:e.luma,target2:e})}}catch(a){r.e(a)}finally{r.f()}}(e,i.b),function(e,t){var A=t.target,n=t.target2;Object.keys(i.a).forEach((function(t){if("function"===typeof i.a[t]){var r=e[t]?e[t].bind(e):function(){},o=i.a[t].bind(null,e,r);A[t]=o,n[t]=o}}))}(e,{target:A,target2:e}),A.polyfilled=!0),e}}).call(this,A(86))},function(e,t,A){"use strict";(function(e,n){var r=A(95);Object.defineProperty(t,"__esModule",{value:!0}),t.console=t.process=t.document=t.global=t.window=t.self=void 0;var i=r(A(251)),o={self:"undefined"!==typeof self&&self,window:"undefined"!==typeof window&&window,global:"undefined"!==typeof e&&e,document:"undefined"!==typeof document&&document,process:"object"===("undefined"===typeof n?"undefined":(0,i.default)(n))&&n},a=o.self||o.window||o.global;t.self=a;var s=o.window||o.self||o.global;t.window=s;var g=o.global||o.self||o.window;t.global=g;var c=o.document||{};t.document=c;var u=o.process||{};t.process=u;var l=console;t.console=l}).call(this,A(86),A(90))},function(e,t,A){"use strict";(function(e){var n=A(95);Object.defineProperty(t,"__esModule",{value:!0}),t.default=o,t.isBrowserMainThread=function(){return o()&&"undefined"!==typeof document};var r=n(A(251)),i=n(A(463));function o(){return!("object"===("undefined"===typeof e?"undefined":(0,r.default)(e))&&"[object process]"===String(e)&&!e.browser)||(0,i.default)()}}).call(this,A(90))},function(e,t,A){"use strict";var n=A(223);t.a={name:"project32",dependencies:[n.a],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"}},function(e,t,A){"use strict";var n=A(7),r=A(1158);t.a=Object(n.a)({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},r.a)},function(e,t,A){"use strict";A.d(t,"a",(function(){return c}));var n=A(6),r=A(1),i=A(4),o=A(116),a=A(150),s=A(87),g=A(80),c=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(r.a)(this,e);var A=t.attributes,n=void 0===A?{}:A;this.typedArrayManager=a.a,this.indexStarts=null,this.vertexStarts=null,this.vertexCount=0,this.instanceCount=0,this.attributes={},this._attributeDefs=n,this.opts=t,this.updateGeometry(t),Object.seal(this)}return Object(i.a)(e,[{key:"updateGeometry",value:function(e){Object.assign(this.opts,e);var t=this.opts,A=t.data,r=t.buffers,i=void 0===r?{}:r,o=t.getGeometry,a=t.geometryBuffer,g=t.positionFormat,c=t.dataChanged,u=t.normalize,l=void 0===u||u;if(this.data=A,this.getGeometry=o,this.positionSize=a&&a.size||("XY"===g?2:3),this.buffers=i,this.normalize=l,a&&(Object(s.a)(A.startIndices),this.getGeometry=this.getGeometryFromBuffer(a),l||(i.positions=a)),this.geometryBuffer=i.positions,Array.isArray(c)){var I,C=Object(n.a)(c);try{for(C.s();!(I=C.n()).done;){var h=I.value;this._rebuildGeometry(h)}}catch(f){C.e(f)}finally{C.f()}}else this._rebuildGeometry()}},{key:"updatePartialGeometry",value:function(e){var t=e.startRow,A=e.endRow;this._rebuildGeometry({startRow:t,endRow:A})}},{key:"normalizeGeometry",value:function(e){return e}},{key:"updateGeometryAttributes",value:function(e,t,A){throw new Error("Not implemented")}},{key:"getGeometrySize",value:function(e){throw new Error("Not implemented")}},{key:"getGeometryFromBuffer",value:function(e){var t=e.value||e;return Object(s.a)(ArrayBuffer.isView(t)),Object(o.b)(t,{size:this.positionSize,offset:e.offset,stride:e.stride,startIndices:this.data.startIndices})}},{key:"_allocate",value:function(e,t){var A=this.attributes,n=this.buffers,r=this._attributeDefs,i=this.typedArrayManager;for(var o in r)if(o in n)i.release(A[o]),A[o]=null;else{var a=r[o];a.copy=t,A[o]=i.allocate(A[o],e,a)}}},{key:"_forEachGeometry",value:function(e,t,A){var r,i=this.data,a=this.getGeometry,s=Object(o.a)(i,t,A),g=s.iterable,c=s.objectInfo,u=Object(n.a)(g);try{for(u.s();!(r=u.n()).done;){var l=r.value;c.index++,e(a(l,c),c.index)}}catch(I){u.e(I)}finally{u.f()}}},{key:"_rebuildGeometry",value:function(e){var t=this;if(this.data&&this.getGeometry){var A=this.indexStarts,n=this.vertexStarts,r=this.instanceCount,i=this.data,o=this.geometryBuffer,a=e||{},s=a.startRow,c=void 0===s?0:s,u=a.endRow,l=void 0===u?1/0:u,I={};if(e||(A=[0],n=[0]),this.normalize||!o)this._forEachGeometry((function(e,A){e=t.normalizeGeometry(e),I[A]=e,n[A+1]=n[A]+t.getGeometrySize(e)}),c,l),r=n[n.length-1];else if(o.buffer instanceof g.a){var C=o.stride||4*this.positionSize;n=i.startIndices,r=n[i.length]||o.buffer.byteLength/C}else{var h=o.value||o,f=o.stride/h.BYTES_PER_ELEMENT||this.positionSize;n=i.startIndices,r=n[i.length]||h.length/f}this._allocate(r,Boolean(e)),this.indexStarts=A,this.vertexStarts=n,this.instanceCount=r;var d={};this._forEachGeometry((function(e,i){e=I[i]||e,d.vertexStart=n[i],d.indexStart=A[i];var o=i<n.length-1?n[i+1]:r;d.geometrySize=o-n[i],d.geometryIndex=i,t.updateGeometryAttributes(e,d)}),c,l),this.vertexCount=A[A.length-1]}}}]),e}()},function(e,t,A){"use strict";A.d(t,"a",(function(){return g}));var n=A(7),r=A(1),i=A(4),o=A(25),a=A(423),s={id:"request-scheduler",throttleRequests:!0,maxRequests:6},g=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(r.a)(this,e),Object(o.a)(this,"props",void 0),Object(o.a)(this,"stats",void 0),Object(o.a)(this,"activeRequestCount",0),Object(o.a)(this,"requestQueue",[]),Object(o.a)(this,"requestMap",new Map),Object(o.a)(this,"deferredUpdate",null),this.props=Object(n.a)({},s,{},t),this.stats=new a.a({id:this.props.id}),this.stats.get("Queued Requests"),this.stats.get("Active Requests"),this.stats.get("Cancelled Requests"),this.stats.get("Queued Requests Ever"),this.stats.get("Active Requests Ever")}return Object(i.a)(e,[{key:"scheduleRequest",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return 0};if(!this.props.throttleRequests)return Promise.resolve({done:function(){}});if(this.requestMap.has(e))return this.requestMap.get(e);var A={handle:e,priority:0,getPriority:t},n=new Promise((function(e){return A.resolve=e,A}));return this.requestQueue.push(A),this.requestMap.set(e,n),this._issueNewRequests(),n}},{key:"_issueRequest",value:function(e){var t=this,A=e.handle,n=e.resolve,r=!1,i=function(){r||(r=!0,t.requestMap.delete(A),t.activeRequestCount--,t._issueNewRequests())};return this.activeRequestCount++,n?n({done:i}):Promise.resolve({done:i})}},{key:"_issueNewRequests",value:function(){var e=this;this.deferredUpdate||(this.deferredUpdate=setTimeout((function(){return e._issueNewRequestsAsync()}),0))}},{key:"_issueNewRequestsAsync",value:function(){this.deferredUpdate=null;var e=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(0!==e){this._updateAllRequests();for(var t=0;t<e;++t){var A=this.requestQueue.shift();A&&this._issueRequest(A)}}}},{key:"_updateAllRequests",value:function(){for(var e=this.requestQueue,t=0;t<e.length;++t){var A=e[t];this._updateRequest(A)||(e.splice(t,1),this.requestMap.delete(A.handle),t--)}e.sort((function(e,t){return e.priority-t.priority}))}},{key:"_updateRequest",value:function(e){return e.priority=e.getPriority(e.handle),!(e.priority<0)||(e.resolve(null),!1)}}]),e}()},function(e,t,A){"use strict";A.d(t,"a",(function(){return o}));var n=A(1),r=A(4),i=A(163),o=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(n.a)(this,e),this.opts=t}return Object(r.a)(e,[{key:"equals",value:function(e){return this===e||this.constructor===e.constructor&&Object(i.a)(this.opts,e.opts)}},{key:"getShaders",value:function(e){return null}},{key:"getSubLayerProps",value:function(e){var t=e.constructor.defaultProps,A=void 0===t?{}:t,n={updateTriggers:{}};for(var r in A)if(r in this.props){var i=A[r],o=this.props[r];n[r]=o,i&&"accessor"===i.type&&(n.updateTriggers[r]=this.props.updateTriggers[r],"function"===typeof o&&(n[r]=this.getSubLayerAccessor(o,!0)))}return n}},{key:"initializeState",value:function(e,t){}},{key:"updateState",value:function(e,t){}},{key:"draw",value:function(e,t){}},{key:"finalizeState",value:function(e){}}]),e}()},function(e,t,A){"use strict";A.d(t,"a",(function(){return d}));var n=A(6),r=A(1),i=A(4),o=A(9),a=A(10),s=A(41),g=A(116),c=A(511),u=A(267),l=A(268),I=A(326),C=A(409),h=[0,0,0,255],f={stroked:!0,filled:!0,extruded:!1,elevationScale:1,wireframe:!1,_normalize:!0,_windingOrder:"CW",lineWidthUnits:"meters",lineWidthScale:1,lineWidthMinPixels:0,lineWidthMaxPixels:Number.MAX_SAFE_INTEGER,lineJointRounded:!1,lineMiterLimit:4,getPolygon:{type:"accessor",value:function(e){return e.polygon}},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:h},getLineWidth:{type:"accessor",value:1},getElevation:{type:"accessor",value:1e3},material:!0},d=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"initializeState",value:function(){this.state={paths:[]},this.props.getLineDashArray&&s.a.removed("getLineDashArray","PathStyleExtension")()}},{key:"updateState",value:function(e){var t=this,A=(e.oldProps,e.props,e.changeFlags),n=A.dataChanged||A.updateTriggersChanged&&(A.updateTriggersChanged.all||A.updateTriggersChanged.getPolygon);if(n&&Array.isArray(A.dataChanged)){var r=this.state.paths.slice(),i=A.dataChanged.map((function(e){return Object(C.a)({data:r,getIndex:function(e){return e.__source.index},dataRange:e,replace:t._getPaths(e)})}));this.setState({paths:r,pathsDiff:i})}else n&&this.setState({paths:this._getPaths(),pathsDiff:null})}},{key:"_getPaths",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=this.props,r=A.data,i=A.getPolygon,o=A.positionFormat,a=A._normalize,s=[],c="XY"===o?2:3,u=t.startRow,l=t.endRow,C=Object(g.a)(r,u,l),h=C.iterable,f=C.objectInfo,d=Object(n.a)(h);try{for(d.s();!(e=d.n()).done;){var B=e.value;f.index++;var p=i(B,f);a&&(p=I.b(p,c));var E=p,Q=E.holeIndices,y=p.positions||p;if(Q)for(var v=0;v<=Q.length;v++){var m=y.slice(Q[v-1]||0,Q[v]||y.length);s.push(this.getSubLayerRow({path:m},B,f.index))}else s.push(this.getSubLayerRow({path:y},B,f.index))}}catch(b){d.e(b)}finally{d.f()}return s}},{key:"renderLayers",value:function(){var e=this.props,t=e.data,A=e._dataDiff,n=e.stroked,r=e.filled,i=e.extruded,o=e.wireframe,a=e._normalize,s=e._windingOrder,g=e.elevationScale,c=e.transitions,I=e.positionFormat,C=this.props,f=C.lineWidthUnits,d=C.lineWidthScale,B=C.lineWidthMinPixels,p=C.lineWidthMaxPixels,E=C.lineJointRounded,Q=C.lineMiterLimit,y=C.lineDashJustified,v=this.props,m=v.getFillColor,b=v.getLineColor,w=v.getLineWidth,S=v.getLineDashArray,F=v.getElevation,R=v.getPolygon,D=v.updateTriggers,G=v.material,k=this.state,x=k.paths,N=k.pathsDiff,U=this.getSubLayerClass("fill",u.a),_=this.getSubLayerClass("stroke",l.a),M=this.shouldRenderSubLayer("fill",x)&&new U({_dataDiff:A,extruded:i,elevationScale:g,filled:r,wireframe:o,_normalize:a,_windingOrder:s,getElevation:F,getFillColor:m,getLineColor:i&&o?b:h,material:G,transitions:c},this.getSubLayerProps({id:"fill",updateTriggers:{getPolygon:D.getPolygon,getElevation:D.getElevation,getFillColor:D.getFillColor,lineColors:i&&o,getLineColor:D.getLineColor}}),{data:t,positionFormat:I,getPolygon:R});return[!i&&M,!i&&n&&this.shouldRenderSubLayer("stroke",x)&&new _({_dataDiff:N&&function(){return N},widthUnits:f,widthScale:d,widthMinPixels:B,widthMaxPixels:p,jointRounded:E,miterLimit:Q,dashJustified:y,_pathType:"loop",transitions:c&&{getWidth:c.getLineWidth,getColor:c.getLineColor,getPath:c.getPolygon},getColor:this.getSubLayerAccessor(b),getWidth:this.getSubLayerAccessor(w),getDashArray:this.getSubLayerAccessor(S)},this.getSubLayerProps({id:"stroke",updateTriggers:{getWidth:D.getLineWidth,getColor:D.getLineColor,getDashArray:D.getLineDashArray}}),{data:x,positionFormat:I,getPath:function(e){return e.path}}),i&&M]}}]),A}(c.a);d.layerName="PolygonLayer",d.defaultProps=f},function(e,t,A){"use strict";A.d(t,"a",(function(){return B}));var n=A(8),r=A(7),i=A(1),o=A(4),a=A(9),s=A(10),g=A(134),c=A(96),u=A(23),l=A(42),I=A(70),C=A(380),h=(new u.Matrix4).lookAt({eye:[0,0,1]});function f(e){var t=e.width,A=e.height,n=e.near,r=e.far;return t=t||1,A=A||1,(new u.Matrix4).ortho({left:-t/2,right:t/2,bottom:-A/2,top:A/2,near:n,far:r})}var d=function(e){Object(a.a)(A,e);var t=Object(s.a)(A);function A(e){var n;Object(i.a)(this,A);var o=e.width,a=e.height,s=e.near,g=void 0===s?.1:s,c=e.far,u=void 0===c?1e3:c,l=e.zoom,I=void 0===l?0:l,C=e.target,d=void 0===C?[0,0,0]:C,B=e.flipY,p=void 0===B||B,E=Array.isArray(I)?I[0]:I,Q=Array.isArray(I)?I[1]:I,y=Math.min(E,Q),v=Math.pow(2,y);if(n=t.call(this,Object(r.a)({},e,{longitude:null,position:d,viewMatrix:h.clone().scale([v,v*(p?-1:1),v]),projectionMatrix:f({width:o,height:a,near:g,far:u}),zoom:y})),E!==Q){var m=Math.pow(2,E),b=Math.pow(2,Q);n.distanceScales={unitsPerMeter:[m/v,b/v,1],metersPerUnit:[v/m,v/b,1]}}return n}return Object(o.a)(A,[{key:"projectFlat",value:function(e){var t=Object(n.a)(e,2),A=t[0],r=t[1],i=this.distanceScales.unitsPerMeter;return[A*i[0],r*i[1]]}},{key:"unprojectFlat",value:function(e){var t=Object(n.a)(e,2),A=t[0],r=t[1],i=this.distanceScales.metersPerUnit;return[A*i[0],r*i[1]]}},{key:"panByPosition",value:function(e,t){var A=Object(l.p)(t,this.pixelUnprojectionMatrix),n=this.projectFlat(e),r=I.a([],n,I.b([],A));return{target:I.a([],this.center,r)}}}]),A}(c.a),B=function(e){Object(a.a)(A,e);var t=Object(s.a)(A);function A(e){return Object(i.a)(this,A),t.call(this,Object(r.a)({},e,{type:d}))}return Object(o.a)(A,[{key:"controller",get:function(){return this._getControllerProps({type:C.a})}}]),A}(g.a);B.displayName="OrthographicView"},function(e,t,A){"use strict";A.d(t,"a",(function(){return d}));var n=A(8),r=A(7),i=A(1),o=A(4),a=A(9),s=A(10),g=A(134),c=A(96),u=A(23),l=A(42),I=A(264),C=Math.PI/180;function h(e){var t=e.height,A=e.focalDistance,n=e.orbitAxis,r=e.rotationX,i=e.rotationOrbit,o=e.zoom,a="Z"===n?[0,0,1]:[0,1,0],s="Z"===n?[0,-A,0]:[0,0,A],g=(new u.Matrix4).lookAt({eye:s,up:a});g.rotateX(r*C),"Z"===n?g.rotateZ(i*C):g.rotateY(i*C);var c=Math.pow(2,o)/(t||1);return g.scale(c),g}var f=function(e){Object(a.a)(A,e);var t=Object(s.a)(A);function A(e){var n;Object(i.a)(this,A);var o=e.height,a=e.projectionMatrix,s=e.fovy,g=void 0===s?50:s,c=e.orbitAxis,u=e.target,I=void 0===u?[0,0,0]:u,C=e.rotationX,f=void 0===C?0:C,d=e.rotationOrbit,B=void 0===d?0:d,p=e.zoom,E=void 0===p?0:p,Q=a?a[5]/2:Object(l.f)(g);return(n=t.call(this,Object(r.a)({},e,{longitude:null,viewMatrix:h({height:o,focalDistance:Q,orbitAxis:c,rotationX:f,rotationOrbit:B,zoom:E}),fovy:g,focalDistance:Q,position:I,zoom:E}))).projectedCenter=n.project(n.center),n}return Object(o.a)(A,[{key:"unproject",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.topLeft,r=void 0===A||A,i=Object(n.a)(e,3),o=i[0],a=i[1],s=i[2],g=void 0===s?this.projectedCenter[2]:s,c=r?a:this.height-a,u=Object(l.p)([o,c,g],this.pixelUnprojectionMatrix),I=Object(n.a)(u,3),C=I[0],h=I[1],f=I[2];return[C,h,f]}},{key:"panByPosition",value:function(e,t){var A=this.project(e),n=[this.width/2+A[0]-t[0],this.height/2+A[1]-t[1],this.projectedCenter[2]];return{target:this.unproject(n)}}}]),A}(c.a),d=function(e){Object(a.a)(A,e);var t=Object(s.a)(A);function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(i.a)(this,A);var n=e.orbitAxis,o=void 0===n?"Z":n;return t.call(this,Object(r.a)({},e,{orbitAxis:o,type:f}))}return Object(o.a)(A,[{key:"controller",get:function(){return this._getControllerProps({type:I.b})}}]),A}(g.a);d.displayName="OrbitView"},function(e,t){e.exports=function(e,t){for(var A=-1,n=null==e?0:e.length;++A<n&&!1!==t(e[A],A,e););return e}},function(e,t,A){var n=A(465),r=A(297),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,A){var o=e[t];i.call(e,t)&&r(o,A)&&(void 0!==A||t in e)||n(e,t,A)}},function(e,t,A){var n=A(215),r=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(t){}}();e.exports=r},function(e,t,A){(function(e){var n=A(140),r=t&&!t.nodeType&&t,i=r&&"object"==typeof e&&e&&!e.nodeType&&e,o=i&&i.exports===r?n.Buffer:void 0,a=o?o.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var A=e.length,n=a?a(A):new e.constructor(A);return e.copy(n),n}}).call(this,A(155)(e))},function(e,t){e.exports=function(e,t){var A=-1,n=e.length;for(t||(t=Array(n));++A<n;)t[A]=e[A];return t}},function(e,t,A){var n=A(451),r=A(466),i=A(452),o=A(549),a=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,i(e)),e=r(e);return t}:o;e.exports=a},function(e,t,A){var n=A(467);e.exports=function(e,t){var A=t?n(e.buffer):e.buffer;return new e.constructor(A,e.byteOffset,e.length)}},function(e,t,A){var n=A(896),r=A(466),i=A(457);e.exports=function(e){return"function"!=typeof e.constructor||i(e)?{}:n(r(e))}},function(e,t,A){var n=A(451),r=A(910);e.exports=function e(t,A,i,o,a){var s=-1,g=t.length;for(i||(i=r),a||(a=[]);++s<g;){var c=t[s];A>0&&i(c)?A>1?e(c,A-1,i,o,a):n(a,c):o||(a[a.length]=c)}return a}},function(e,t,A){var n=A(918);e.exports=function(e,t){return!!(null==e?0:e.length)&&n(e,t,0)>-1}},function(e,t){e.exports=function(e,t,A){for(var n=-1,r=null==e?0:e.length;++n<r;)if(A(t,e[n]))return!0;return!1}},function(e,t,A){var n=A(928);e.exports=function(e,t,A){if(n(e),void 0===t)return e;switch(A){case 1:return function(A){return e.call(t,A)};case 2:return function(A,n){return e.call(t,A,n)};case 3:return function(A,n,r){return e.call(t,A,n,r)}}return function(){return e.apply(t,arguments)}}},function(e,t,A){e.exports=!A(192)&&!A(303)((function(){return 7!=Object.defineProperty(A(596)("div"),"a",{get:function(){return 7}}).a}))},function(e,t,A){var n=A(256),r=A(190).document,i=n(r)&&n(r.createElement);e.exports=function(e){return i?r.createElement(e):{}}},function(e,t,A){var n=A(218),r=A(257),i=A(930)(!1),o=A(476)("IE_PROTO");e.exports=function(e,t){var A,a=r(e),s=0,g=[];for(A in a)A!=o&&n(a,A)&&g.push(A);for(;t.length>s;)n(a,A=t[s++])&&(~i(g,A)||g.push(A));return g}},function(e,t,A){var n=A(599);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},function(e,t){var A={}.toString;e.exports=function(e){return A.call(e).slice(8,-1)}},function(e,t,A){e.exports={default:A(933),__esModule:!0}},function(e,t,A){"use strict";t.__esModule=!0;var n=o(A(935)),r=o(A(947)),i="function"===typeof r.default&&"symbol"===typeof n.default?function(e){return typeof e}:function(e){return e&&"function"===typeof r.default&&e.constructor===r.default&&e!==r.default.prototype?"symbol":typeof e};function o(e){return e&&e.__esModule?e:{default:e}}t.default="function"===typeof r.default&&"symbol"===i(n.default)?function(e){return"undefined"===typeof e?"undefined":i(e)}:function(e){return e&&"function"===typeof r.default&&e.constructor===r.default&&e!==r.default.prototype?"symbol":"undefined"===typeof e?"undefined":i(e)}},function(e,t,A){"use strict";var n=A(361),r=A(254),i=A(603),o=A(255),a=A(481),s=A(939),g=A(483),c=A(942),u=A(258)("iterator"),l=!([].keys&&"next"in[].keys()),I=function(){return this};e.exports=function(e,t,A,C,h,f,d){s(A,t,C);var B,p,E,Q=function(e){if(!l&&e in b)return b[e];switch(e){case"keys":case"values":return function(){return new A(this,e)}}return function(){return new A(this,e)}},y=t+" Iterator",v="values"==h,m=!1,b=e.prototype,w=b[u]||b["@@iterator"]||h&&b[h],S=w||Q(h),F=h?v?Q("entries"):S:void 0,R="Array"==t&&b.entries||w;if(R&&(E=c(R.call(new e)))!==Object.prototype&&E.next&&(g(E,y,!0),n||"function"==typeof E[u]||o(E,u,I)),v&&w&&"values"!==w.name&&(m=!0,S=function(){return w.call(this)}),n&&!d||!l&&!m&&b[u]||o(b,u,S),a[t]=S,a[y]=I,h)if(B={values:v?S:Q("values"),keys:f?S:Q("keys"),entries:F},d)for(p in B)p in b||i(b,p,B[p]);else r(r.P+r.F*(l||m),t,B);return B}},function(e,t,A){e.exports=A(255)},function(e,t,A){var n=A(597),r=A(478).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,r)}},function(e,t,A){var n=A(363),r=A(359),i=A(257),o=A(473),a=A(218),s=A(595),g=Object.getOwnPropertyDescriptor;t.f=A(192)?g:function(e,t){if(e=i(e),t=o(t,!0),s)try{return g(e,t)}catch(A){}if(a(e,t))return r(!n.f.call(e,t),e[t])}},function(e,t,A){var n=A(607),r=A(298);e.exports=function(e,t){return e&&n(e,t,r)}},function(e,t,A){var n=A(968)();e.exports=n},function(e,t,A){var n=A(358);e.exports=function(e){return"function"==typeof e?e:n}},function(e,t,A){var n=A(216),r=A(466),i=A(154),o=Function.prototype,a=Object.prototype,s=o.toString,g=a.hasOwnProperty,c=s.call(Object);e.exports=function(e){if(!i(e)||"[object Object]"!=n(e))return!1;var t=r(e);if(null===t)return!0;var A=g.call(t,"constructor")&&t.constructor;return"function"==typeof A&&A instanceof A&&s.call(A)==c}},function(e,t,A){var n=A(127);e.exports=function(e){return e===e&&!n(e)}},function(e,t){e.exports=function(e,t){return function(A){return null!=A&&(A[e]===t&&(void 0!==t||e in Object(A)))}}},function(e,t,A){var n=A(613),r=A(364);e.exports=function(e,t){for(var A=0,i=(t=n(t,e)).length;null!=e&&A<i;)e=e[r(t[A++])];return A&&A==i?e:void 0}},function(e,t,A){var n=A(111),r=A(487),i=A(975),o=A(978);e.exports=function(e,t){return n(e)?e:r(e,t)?[e]:i(o(e))}},function(e,t,A){var n=A(606),r=A(987)(n);e.exports=r},function(e,t,A){var n=A(465),r=A(297);e.exports=function(e,t,A){(void 0!==A&&!r(e[t],A)||void 0===A&&!(t in e))&&n(e,t,A)}},function(e,t){e.exports=function(e,t){if(("constructor"!==t||"function"!==typeof e[t])&&"__proto__"!=t)return e[t]}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorWrap=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},r=function(){function e(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,A,n){return A&&e(t.prototype,A),n&&e(t,n),t}}(),i=A(0),o=g(i),a=g(A(107)),s=g(A(142));function g(e){return e&&e.__esModule?e:{default:e}}var c=t.ColorWrap=function(e){var t=function(t){function A(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,A);var t=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}(this,(A.__proto__||Object.getPrototypeOf(A)).call(this));return t.handleChange=function(e,A){if(s.default.simpleCheckForValidColor(e)){var n=s.default.toState(e,e.h||t.state.oldHue);t.setState(n),t.props.onChangeComplete&&t.debounce(t.props.onChangeComplete,n,A),t.props.onChange&&t.props.onChange(n,A)}},t.handleSwatchHover=function(e,A){if(s.default.simpleCheckForValidColor(e)){var n=s.default.toState(e,e.h||t.state.oldHue);t.props.onSwatchHover&&t.props.onSwatchHover(n,A)}},t.state=n({},s.default.toState(e.color,0)),t.debounce=(0,a.default)((function(e,t,A){e(t,A)}),100),t}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(A,t),r(A,[{key:"render",value:function(){var t={};return this.props.onSwatchHover&&(t.onSwatchHover=this.handleSwatchHover),o.default.createElement(e,n({},this.props,this.state,{onChange:this.handleChange},t))}}],[{key:"getDerivedStateFromProps",value:function(e,t){return n({},s.default.toState(e.color,t.oldHue))}}]),A}(i.PureComponent||i.Component);return t.propTypes=n({},e.propTypes),t.defaultProps=n({},e.defaultProps,{color:{h:250,s:.5,l:.2,a:1}}),t};t.default=c},function(e,t,A){"use strict";A.r(t),A.d(t,"red",(function(){return n})),A.d(t,"pink",(function(){return r})),A.d(t,"purple",(function(){return i})),A.d(t,"deepPurple",(function(){return o})),A.d(t,"indigo",(function(){return a})),A.d(t,"blue",(function(){return s})),A.d(t,"lightBlue",(function(){return g})),A.d(t,"cyan",(function(){return c})),A.d(t,"teal",(function(){return u})),A.d(t,"green",(function(){return l})),A.d(t,"lightGreen",(function(){return I})),A.d(t,"lime",(function(){return C})),A.d(t,"yellow",(function(){return h})),A.d(t,"amber",(function(){return f})),A.d(t,"orange",(function(){return d})),A.d(t,"deepOrange",(function(){return B})),A.d(t,"brown",(function(){return p})),A.d(t,"grey",(function(){return E})),A.d(t,"blueGrey",(function(){return Q})),A.d(t,"darkText",(function(){return y})),A.d(t,"lightText",(function(){return v})),A.d(t,"darkIcons",(function(){return m})),A.d(t,"lightIcons",(function(){return b})),A.d(t,"white",(function(){return w})),A.d(t,"black",(function(){return S}));var n={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",a100:"#ff8a80",a200:"#ff5252",a400:"#ff1744",a700:"#d50000"},r={50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",a100:"#ff80ab",a200:"#ff4081",a400:"#f50057",a700:"#c51162"},i={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",a100:"#ea80fc",a200:"#e040fb",a400:"#d500f9",a700:"#aa00ff"},o={50:"#ede7f6",100:"#d1c4e9",200:"#b39ddb",300:"#9575cd",400:"#7e57c2",500:"#673ab7",600:"#5e35b1",700:"#512da8",800:"#4527a0",900:"#311b92",a100:"#b388ff",a200:"#7c4dff",a400:"#651fff",a700:"#6200ea"},a={50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",a100:"#8c9eff",a200:"#536dfe",a400:"#3d5afe",a700:"#304ffe"},s={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",a100:"#82b1ff",a200:"#448aff",a400:"#2979ff",a700:"#2962ff"},g={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",a100:"#80d8ff",a200:"#40c4ff",a400:"#00b0ff",a700:"#0091ea"},c={50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",a100:"#84ffff",a200:"#18ffff",a400:"#00e5ff",a700:"#00b8d4"},u={50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40",a100:"#a7ffeb",a200:"#64ffda",a400:"#1de9b6",a700:"#00bfa5"},l={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",a100:"#b9f6ca",a200:"#69f0ae",a400:"#00e676",a700:"#00c853"},I={50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e",a100:"#ccff90",a200:"#b2ff59",a400:"#76ff03",a700:"#64dd17"},C={50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717",a100:"#f4ff81",a200:"#eeff41",a400:"#c6ff00",a700:"#aeea00"},h={50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17",a100:"#ffff8d",a200:"#ffff00",a400:"#ffea00",a700:"#ffd600"},f={50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00",a100:"#ffe57f",a200:"#ffd740",a400:"#ffc400",a700:"#ffab00"},d={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",a100:"#ffd180",a200:"#ffab40",a400:"#ff9100",a700:"#ff6d00"},B={50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",a100:"#ff9e80",a200:"#ff6e40",a400:"#ff3d00",a700:"#dd2c00"},p={50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723"},E={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121"},Q={50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238"},y={primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.54)",disabled:"rgba(0, 0, 0, 0.38)",dividers:"rgba(0, 0, 0, 0.12)"},v={primary:"rgba(255, 255, 255, 1)",secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",dividers:"rgba(255, 255, 255, 0.12)"},m={active:"rgba(0, 0, 0, 0.54)",inactive:"rgba(0, 0, 0, 0.38)"},b={active:"rgba(255, 255, 255, 1)",inactive:"rgba(255, 255, 255, 0.5)"},w="#ffffff",S="#000000";t.default={red:n,pink:r,purple:i,deepPurple:o,indigo:a,blue:s,lightBlue:g,cyan:c,teal:u,green:l,lightGreen:I,lime:C,yellow:h,amber:f,orange:d,deepOrange:B,brown:p,grey:E,blueGrey:Q,darkText:y,lightText:v,darkIcons:m,lightIcons:b,white:w,black:S}},function(e,t,A){var n=A(1050),r=A(59),i=A(141),o=A(259).default,a=i.featureEach,s=(i.coordEach,r.polygon,r.featureCollection);function g(e){var t=n(e);return t.insert=function(e){if("Feature"!==e.type)throw new Error("invalid feature");return e.bbox=e.bbox?e.bbox:o(e),n.prototype.insert.call(this,e)},t.load=function(e){var t=[];return Array.isArray(e)?e.forEach((function(e){if("Feature"!==e.type)throw new Error("invalid features");e.bbox=e.bbox?e.bbox:o(e),t.push(e)})):a(e,(function(e){if("Feature"!==e.type)throw new Error("invalid features");e.bbox=e.bbox?e.bbox:o(e),t.push(e)})),n.prototype.load.call(this,t)},t.remove=function(e,t){if("Feature"!==e.type)throw new Error("invalid feature");return e.bbox=e.bbox?e.bbox:o(e),n.prototype.remove.call(this,e,t)},t.clear=function(){return n.prototype.clear.call(this)},t.search=function(e){var t=n.prototype.search.call(this,this.toBBox(e));return s(t)},t.collides=function(e){return n.prototype.collides.call(this,this.toBBox(e))},t.all=function(){var e=n.prototype.all.call(this);return s(e)},t.toJSON=function(){return n.prototype.toJSON.call(this)},t.fromJSON=function(e){return n.prototype.fromJSON.call(this,e)},t.toBBox=function(e){var t;if(e.bbox)t=e.bbox;else if(Array.isArray(e)&&4===e.length)t=e;else if(Array.isArray(e)&&6===e.length)t=[e[0],e[1],e[3],e[4]];else if("Feature"===e.type)t=o(e);else{if("FeatureCollection"!==e.type)throw new Error("invalid geojson");t=o(e)}return{minX:t[0],minY:t[1],maxX:t[2],maxY:t[3]}},t}e.exports=g,e.exports.default=g},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(59),r=A(105),i=A(141);t.default=function(e){if(!e)throw new Error("geojson is required");var t=[];return i.flattenEach(e,(function(e){!function(e,t){var A=[],i=e.geometry;if(null!==i){switch(i.type){case"Polygon":A=r.getCoords(i);break;case"LineString":A=[r.getCoords(i)]}A.forEach((function(A){(function(e,t){var A=[];return e.reduce((function(e,r){var i=n.lineString([e,r],t);return i.bbox=function(e,t){var A=e[0],n=e[1],r=t[0],i=t[1];return[A<r?A:r,n<i?n:i,A>r?A:r,n>i?n:i]}(e,r),A.push(i),r})),A})(A,e.properties).forEach((function(e){e.id=t.length,t.push(e)}))}))}}(e,t)})),n.featureCollection(t)}},function(e,t,A){var n=A(622),r=A(1053),i=A(1054),o=A(1055),a=A(1058),s=A(1064),g=Date.prototype.getTime;function c(e,t,A){var I=A||{};return!!(I.strict?i(e,t):e===t)||(!e||!t||"object"!==typeof e&&"object"!==typeof t?I.strict?i(e,t):e==t:function(e,t,A){var i,I;if(typeof e!==typeof t)return!1;if(u(e)||u(t))return!1;if(e.prototype!==t.prototype)return!1;if(r(e)!==r(t))return!1;var C=o(e),h=o(t);if(C!==h)return!1;if(C||h)return e.source===t.source&&a(e)===a(t);if(s(e)&&s(t))return g.call(e)===g.call(t);var f=l(e),d=l(t);if(f!==d)return!1;if(f||d){if(e.length!==t.length)return!1;for(i=0;i<e.length;i++)if(e[i]!==t[i])return!1;return!0}if(typeof e!==typeof t)return!1;try{var B=n(e),p=n(t)}catch(E){return!1}if(B.length!==p.length)return!1;for(B.sort(),p.sort(),i=B.length-1;i>=0;i--)if(B[i]!=p[i])return!1;for(i=B.length-1;i>=0;i--)if(I=B[i],!c(e[I],t[I],A))return!1;return!0}(e,t,I))}function u(e){return null===e||void 0===e}function l(e){return!(!e||"object"!==typeof e||"number"!==typeof e.length)&&("function"===typeof e.copy&&"function"===typeof e.slice&&!(e.length>0&&"number"!==typeof e[0]))}e.exports=c},function(e,t,A){"use strict";var n=Array.prototype.slice,r=A(623),i=Object.keys,o=i?function(e){return i(e)}:A(1052),a=Object.keys;o.shim=function(){Object.keys?function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2)||(Object.keys=function(e){return r(e)?a(n.call(e)):a(e)}):Object.keys=o;return Object.keys||o},e.exports=o},function(e,t,A){"use strict";var n=Object.prototype.toString;e.exports=function(e){var t=n.call(e),A="[object Arguments]"===t;return A||(A="[object Array]"!==t&&null!==e&&"object"===typeof e&&"number"===typeof e.length&&e.length>=0&&"[object Function]"===n.call(e.callee)),A}},function(e,t,A){"use strict";var n=Object,r=TypeError;e.exports=function(){if(null!=this&&this!==n(this))throw new r("RegExp.prototype.flags getter called on non-object");var e="";return this.global&&(e+="g"),this.ignoreCase&&(e+="i"),this.multiline&&(e+="m"),this.dotAll&&(e+="s"),this.unicode&&(e+="u"),this.sticky&&(e+="y"),e}},function(e,t,A){"use strict";var n=A(624),r=A(492).supportsDescriptors,i=Object.getOwnPropertyDescriptor,o=TypeError;e.exports=function(){if(!r)throw new o("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");if("gim"===/a/gim.flags){var e=i(RegExp.prototype,"flags");if(e&&"function"===typeof e.get&&"boolean"===typeof/a/.dotAll)return e.get}return n}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_STYLE=t.MAX_ARROWS=t.DEFAULT_ARROWS=t.ArrowStyles=void 0;var n={NONE:0,FORWARD:1,BACKWARD:2,BOTH:3};t.ArrowStyles=n;t.DEFAULT_ARROWS=1;t.MAX_ARROWS=3;var r={arrowColor:[0,0,0,1],arrowCount:1,arrowStyle:n.NONE,fillColor:[0,0,0,1],lineColor:[0,0,0,1],lineWidthMeters:5,outlineRadiusMeters:0,opacity:1,zLevel:0};t.DEFAULT_STYLE=r},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.SELECTION_TYPE=void 0;var n=A(75),r=A(59),i=c(A(259)),o=c(A(262)),a=c(A(507)),s=c(A(376)),g=c(A(112));function c(e){return e&&e.__esModule?e:{default:e}}function u(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||C(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||C(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function C(e,t){if(e){if("string"===typeof e)return h(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(A):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?h(e,t):void 0}}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function f(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function d(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var B=[0,255,0,255],p=[255,255,255,90],E=[20,20],Q="DeckDrawerPick",y={NONE:null,RECTANGLE:"rectangle",POLYGON:"polygon"};t.SELECTION_TYPE=y;var v=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),d(this,"nebula",void 0),d(this,"usePolygon",void 0),d(this,"validPolygon",void 0),d(this,"landPoints",void 0),d(this,"mousePoints",void 0),this.nebula=t,this.usePolygon=!1,this.landPoints=[],this.mousePoints=[]}var t,A,c;return t=e,(A=[{key:"_getLayerIds",value:function(){return this.nebula.deckgl.props.layers.filter((function(e){return e&&e.props&&e.props.nebulaLayer&&e.props.nebulaLayer.enableSelection})).map((function(e){return e.id}))}},{key:"_selectFromPickingInfos",value:function(e){var t=e.map((function(e){var t=e.layer,A=e.index;return e.object.original||t.props.nebulaLayer.deckCache.originals[A]}));this.nebula.props.onSelection(t)}},{key:"_getBoundingBox",value:function(){var e=this.mousePoints,t=e.map((function(e){return e[0]})),A=e.map((function(e){return e[1]})),n=Math.min.apply(Math,I(t)),r=Math.min.apply(Math,I(A));return{x:n,y:r,width:Math.max.apply(Math,I(t))-n,height:Math.max.apply(Math,I(A))-r}}},{key:"_selectRectangleObjects",value:function(){if(2===this.landPoints.length){var e=l(this.mousePoints[0],2),t=e[0],A=e[1],n=l(this.mousePoints[1],2),r=n[0],i=n[1],o=this.nebula.deckgl.pickObjects({x:Math.min(t,r),y:Math.min(A,i),width:Math.abs(r-t),height:Math.abs(i-A),layerIds:this._getLayerIds()});this._selectFromPickingInfos(o)}}},{key:"_selectPolygonObjects",value:function(){var e=this.nebula.deckgl.pickObjects(function(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?u(Object(A),!0).forEach((function(t){d(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):u(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}({},this._getBoundingBox(),{layerIds:[Q].concat(I(this._getLayerIds()))}));this._selectFromPickingInfos(e.filter((function(e){return e.layer.id!==Q})))}},{key:"_getMousePosFromEvent",value:function(e){return[e.offsetX,e.offsetY]}},{key:"handleEvent",value:function(e,t,A){"mouseup"!==e.type&&e.stopPropagation(),this.usePolygon=A===y.POLYGON;var n=!1,r=!1,i=this.usePolygon,o=this.landPoints,a=this.mousePoints;if("mousedown"===e.type){if(i&&o.length)(this.landPoints.length<3||this.validPolygon)&&(o.push(t),a.push(this._getMousePosFromEvent(e)));else{this.landPoints=[t,t];var s=this._getMousePosFromEvent(e);this.mousePoints=[s,s]}n=!0}else"mousemove"===e.type&&o.length?(o[o.length-1]=t,a[a.length-1]=this._getMousePosFromEvent(e),n=!0):"mouseup"===e.type&&(i?o.length>4&&(0,g.default)(o[0],o[o.length-1])<.01&&this.validPolygon&&(this._selectPolygonObjects(),this.reset(),n=!0,r=!0):(this._selectRectangleObjects(),this.reset(),n=!0,r=!0));return{redraw:n,deactivate:r}}},{key:"reset",value:function(){this.landPoints=[],this.mousePoints=[]}},{key:"_makeStartPointHighlight",value:function(e){var t=(0,a.default)((0,r.point)(e),.0025);return(0,o.default)((0,i.default)(t)).geometry.coordinates}},{key:"render",value:function(){var e=this,t=[],A=[];if(this.usePolygon||2!==this.landPoints.length){if(this.usePolygon&&this.landPoints.length&&(t.push({polygon:this.landPoints,lineColor:B,fillColor:p}),this.landPoints.length>=3)){var i,o=(0,r.polygon)([[].concat(I(this.landPoints),[this.landPoints[0]])]),g=(0,a.default)((0,r.point)(this.landPoints[0]),10);try{i=(0,s.default)(g,o),A.push({polygon:i.geometry.coordinates,fillColor:[0,0,0,1]}),this.validPolygon=!0}catch(m){this.validPolygon=!1}}}else{var c=l(this.mousePoints,2),u=l(c[0],2),C=u[0],h=u[1],f=l(c[1],2),d=f[0],y=f[1],v=[[C,h],[C,y],[d,y],[d,h],[C,h]].map((function(t){return e.nebula.unprojectMousePosition(t)}));t.push({polygon:v,lineColor:B,fillColor:p})}return this.landPoints.length&&t.push({polygon:this._makeStartPointHighlight(this.landPoints[0]),lineColor:[0,0,0,0],fillColor:B}),t.push({polygon:[[0,0]]}),A.push({polygon:[[0,0]]}),[new n.PolygonLayer({id:"DeckDrawerView",data:t,fp64:!1,opacity:1,pickable:!1,lineWidthMinPixels:2,lineWidthMaxPixels:2,lineDashJustified:!0,getLineDashArray:function(e){return E},getLineColor:function(e){return e.lineColor||[0,0,0,255]},getFillColor:function(e){return e.fillColor||[0,0,0,255]},getPolygon:function(e){return e.polygon}}),new n.PolygonLayer({id:Q,data:A,getLineColor:function(e){return e.lineColor||[0,0,0,255]},getFillColor:function(e){return e.fillColor||[0,0,0,255]},fp64:!1,opacity:1,stroked:!1,pickable:!0,getPolygon:function(e){return e.polygon}})]}}])&&f(t.prototype,A),c&&f(t,c),e}();t.default=v},function(e,t,A){"use strict";function n(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function r(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(){function e(t,A){var n=A.data,i=A.groundPoint,o=A.nebula,a=A.metadata;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),r(this,"canceled",void 0),r(this,"data",void 0),r(this,"metadata",void 0),r(this,"groundPoint",void 0),r(this,"nativeEvent",void 0),r(this,"nebula",void 0),this.nativeEvent=t,this.data=n,this.groundPoint=i,this.nebula=o,this.metadata=a}var t,A,i;return t=e,(A=[{key:"stopPropagation",value:function(){this.nativeEvent.stopPropagation(),this.canceled=!0}}])&&n(t.prototype,A),i&&n(t,i),e}();t.default=i},function(e,t,A){"use strict";var n,r="object"===typeof Reflect?Reflect:null,i=r&&"function"===typeof r.apply?r.apply:function(e,t,A){return Function.prototype.apply.call(e,t,A)};n=r&&"function"===typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var o=Number.isNaN||function(e){return e!==e};function a(){a.init.call(this)}e.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var s=10;function g(e){if("function"!==typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function u(e,t,A,n){var r,i,o,a;if(g(A),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,A.listener?A.listener:A),i=e._events),o=i[t]),void 0===o)o=i[t]=A,++e._eventsCount;else if("function"===typeof o?o=i[t]=n?[A,o]:[o,A]:n?o.unshift(A):o.push(A),(r=c(e))>0&&o.length>r&&!o.warned){o.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,a=s,console&&console.warn&&console.warn(a)}return e}function l(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function I(e,t,A){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:A},r=l.bind(n);return r.listener=A,n.wrapFn=r,r}function C(e,t,A){var n=e._events;if(void 0===n)return[];var r=n[t];return void 0===r?[]:"function"===typeof r?A?[r.listener||r]:[r]:A?function(e){for(var t=new Array(e.length),A=0;A<t.length;++A)t[A]=e[A].listener||e[A];return t}(r):f(r,r.length)}function h(e){var t=this._events;if(void 0!==t){var A=t[e];if("function"===typeof A)return 1;if(void 0!==A)return A.length}return 0}function f(e,t){for(var A=new Array(t),n=0;n<t;++n)A[n]=e[n];return A}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(e){if("number"!==typeof e||e<0||o(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");s=e}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!==typeof e||e<0||o(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return c(this)},a.prototype.emit=function(e){for(var t=[],A=1;A<arguments.length;A++)t.push(arguments[A]);var n="error"===e,r=this._events;if(void 0!==r)n=n&&void 0===r.error;else if(!n)return!1;if(n){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var s=r[e];if(void 0===s)return!1;if("function"===typeof s)i(s,this,t);else{var g=s.length,c=f(s,g);for(A=0;A<g;++A)i(c[A],this,t)}return!0},a.prototype.addListener=function(e,t){return u(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return u(this,e,t,!0)},a.prototype.once=function(e,t){return g(t),this.on(e,I(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){return g(t),this.prependListener(e,I(this,e,t)),this},a.prototype.removeListener=function(e,t){var A,n,r,i,o;if(g(t),void 0===(n=this._events))return this;if(void 0===(A=n[e]))return this;if(A===t||A.listener===t)0===--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,A.listener||t));else if("function"!==typeof A){for(r=-1,i=A.length-1;i>=0;i--)if(A[i]===t||A[i].listener===t){o=A[i].listener,r=i;break}if(r<0)return this;0===r?A.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(A,r),1===A.length&&(n[e]=A[0]),void 0!==n.removeListener&&this.emit("removeListener",e,o||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,A,n;if(void 0===(A=this._events))return this;if(void 0===A.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==A[e]&&(0===--this._eventsCount?this._events=Object.create(null):delete A[e]),this;if(0===arguments.length){var r,i=Object.keys(A);for(n=0;n<i.length;++n)"removeListener"!==(r=i[n])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"===typeof(t=A[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},a.prototype.listeners=function(e){return C(this,e,!0)},a.prototype.rawListeners=function(e){return C(this,e,!1)},a.listenerCount=function(e,t){return"function"===typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},a.prototype.listenerCount=h,a.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,A){"use strict";A.r(t);var n=A(42);A.d(t,"default",(function(){return n.a})),A.d(t,"WebMercatorViewport",(function(){return n.a})),A.d(t,"getBounds",(function(){return n.g})),A.d(t,"fitBounds",(function(){return n.d})),A.d(t,"normalizeViewportProps",(function(){return n.o})),A.d(t,"flyToViewport",(function(){return n.e})),A.d(t,"getFlyToDuration",(function(){return n.i})),A.d(t,"lngLatToWorld",(function(){return n.n})),A.d(t,"worldToLngLat",(function(){return n.r})),A.d(t,"worldToPixels",(function(){return n.s})),A.d(t,"pixelsToWorld",(function(){return n.p})),A.d(t,"zoomToScale",(function(){return n.t})),A.d(t,"scaleToZoom",(function(){return n.q})),A.d(t,"altitudeToFovy",(function(){return n.c})),A.d(t,"fovyToAltitude",(function(){return n.f})),A.d(t,"getMeterZoom",(function(){return n.j})),A.d(t,"getDistanceScales",(function(){return n.h})),A.d(t,"addMetersToLngLat",(function(){return n.b})),A.d(t,"getViewMatrix",(function(){return n.m})),A.d(t,"getProjectionMatrix",(function(){return n.k})),A.d(t,"getProjectionParameters",(function(){return n.l}))},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ScaleMode=void 0;var n=f(A(259)),r=f(A(307)),i=f(A(143)),o=f(A(262)),a=A(59),s=f(A(510)),g=A(141),c=f(A(112)),u=f(A(1151)),l=A(105),I=A(99),C=A(79),h=A(158);function f(e){return e&&e.__esModule?e:{default:e}}function d(e){return(d="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function B(e){return function(e){if(Array.isArray(e))return p(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return p(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return p(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function E(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Q(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function y(e,t){return!t||"object"!==d(t)&&"function"!==typeof t?v(e):t}function v(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function w(e,t){return(w=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function S(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var F=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&w(e,t)}(d,e);var t,A,c,C,f=(t=d,function(){var e,A=b(t);if(m()){var n=b(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return y(this,e)});function d(){var e;E(this,d);for(var t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return S(v(e=f.call.apply(f,[this].concat(A))),"_geometryBeingScaled",void 0),S(v(e),"_selectedEditHandle",void 0),S(v(e),"_cornerGuidePoints",void 0),S(v(e),"_cursor",void 0),S(v(e),"_isScaling",!1),S(v(e),"_isSinglePointGeometrySelected",(function(e){var t=(e||{}).features;return!(!Array.isArray(t)||1!==t.length)&&"Point"===(0,l.getGeom)(t[0]).type})),S(v(e),"_getOppositeScaleHandle",(function(t){var A=t&&t.properties&&Array.isArray(t.properties.positionIndexes)&&t.properties.positionIndexes[0];if("number"!==typeof A)return null;var n=e._cornerGuidePoints.length,r=(A+n/2)%n;return e._cornerGuidePoints.find((function(e){return!!Array.isArray(e.properties.positionIndexes)&&e.properties.positionIndexes[0]===r}))})),S(v(e),"_getUpdatedData",(function(e,t){for(var A=new h.ImmutableFeatureCollection(e.data),n=e.selectedIndexes,r=0;r<n.length;r++){var i=n[r],o=t.features[r];A=A.replaceGeometry(i,o.geometry)}return A.getObject()})),S(v(e),"isEditHandleSelected",(function(){return Boolean(e._selectedEditHandle)})),S(v(e),"getScaleAction",(function(t,A,n,r){if(!e._selectedEditHandle)return null;var i=e._getOppositeScaleHandle(e._selectedEditHandle),o=(0,l.getCoord)(i),a=R(o,t,A),s=(0,u.default)(e._geometryBeingScaled,a,{origin:o});return{updatedData:e._getUpdatedData(r,s),editType:n,editContext:{featureIndexes:r.selectedIndexes}}})),S(v(e),"updateCursor",(function(t){if(e._selectedEditHandle){e._cursor&&t.onUpdateCursor(e._cursor);var A=e.getSelectedFeaturesAsFeatureCollection(t),n=(0,r.default)(A),o=(0,i.default)(n,e._selectedEditHandle),a=o<0?o+180:o;a>=0&&a<=90||a>=180&&a<=270?(e._cursor="nesw-resize",t.onUpdateCursor("nesw-resize")):(e._cursor="nwse-resize",t.onUpdateCursor("nwse-resize"))}else t.onUpdateCursor(null),e._cursor=null})),e}return A=d,(c=[{key:"handlePointerMove",value:function(e,t){if(!this._isScaling){var A=(0,I.getPickedEditHandle)(e.picks);this._selectedEditHandle=A&&"scale"===A.properties.editHandleType?A:null,A&&this.updateCursor(t)}}},{key:"handleStartDragging",value:function(e,t){this._selectedEditHandle&&(this._isScaling=!0,this._geometryBeingScaled=this.getSelectedFeaturesAsFeatureCollection(t))}},{key:"handleDragging",value:function(e,t){if(this._isScaling){t.onUpdateCursor(this._cursor);var A=this.getScaleAction(e.pointerDownMapCoords,e.mapCoords,"scaling",t);A&&t.onEdit(A),e.cancelPan()}}},{key:"handleStopDragging",value:function(e,t){if(this._isScaling){var A=this.getScaleAction(e.pointerDownMapCoords,e.mapCoords,"scaled",t);A&&t.onEdit(A),t.onUpdateCursor(null),this._geometryBeingScaled=null,this._selectedEditHandle=null,this._cursor=null,this._isScaling=!1}}},{key:"getGuides",value:function(e){this._cornerGuidePoints=[];var t=this.getSelectedFeaturesAsFeatureCollection(e);if(this._isSinglePointGeometrySelected(t))return{type:"FeatureCollection",features:[]};var A=(0,o.default)((0,n.default)(t));A.properties.mode="scale";var r=[];return(0,g.coordEach)(A,(function(e,t){if(t<4){var A=(0,a.point)(e,{guideType:"editHandle",editHandleType:"scale",positionIndexes:[t]});r.push(A)}})),this._cornerGuidePoints=r,(0,a.featureCollection)([(0,s.default)(A)].concat(B(this._cornerGuidePoints)))}}])&&Q(A.prototype,c),C&&Q(A,C),d}(C.GeoJsonEditMode);function R(e,t,A){var n=(0,c.default)(e,t);return(0,c.default)(e,A)/n}t.ScaleMode=F},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RotateMode=void 0;var n=f(A(259)),r=f(A(307)),i=f(A(143)),o=f(A(262)),a=f(A(112)),s=A(141),g=A(105),c=A(59),u=f(A(512)),l=f(A(510)),I=A(99),C=A(79),h=A(158);function f(e){return e&&e.__esModule?e:{default:e}}function d(e){return(d="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function B(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function E(e,t){return!t||"object"!==d(t)&&"function"!==typeof t?Q(e):t}function Q(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function v(e){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t){return(m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function b(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var w=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&m(e,t)}(S,e);var t,A,f,d,w=(t=S,function(){var e,A=v(t);if(y()){var n=v(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return E(this,e)});function S(){var e;B(this,S);for(var t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return b(Q(e=w.call.apply(w,[this].concat(A))),"_selectedEditHandle",void 0),b(Q(e),"_geometryBeingRotated",void 0),b(Q(e),"_isRotating",!1),b(Q(e),"_isSinglePointGeometrySelected",(function(e){var t=(e||{}).features;return!(!Array.isArray(t)||1!==t.length)&&"Point"===(0,g.getGeom)(t[0]).type})),b(Q(e),"getIsRotating",(function(){return e._isRotating})),e}return A=S,(f=[{key:"getGuides",value:function(e){var t=this._geometryBeingRotated||this.getSelectedFeaturesAsFeatureCollection(e);if(this._isSinglePointGeometrySelected(t))return{type:"FeatureCollection",features:[]};if(this._isRotating)return(0,c.featureCollection)([(0,r.default)(t)]);var A=(0,o.default)((0,n.default)(t)),i=null,g=null,u=0;(0,s.coordEach)(A,(function(e){if(i){var t=(0,C.getIntermediatePosition)(e,i);(!g||t[1]>g[1])&&(g=t);var A=(0,a.default)(e,i);u=Math.max(u,A)}i=e}));var I=g&&[g[0],g[1]+u/1e3],h=(0,c.lineString)([g,I]),f=(0,c.point)(I,{guideType:"editHandle",editHandleType:"rotate"});return(0,c.featureCollection)([(0,l.default)(A),f,h])}},{key:"handleDragging",value:function(e,t){if(this._isRotating){var A=this.getRotateAction(e.pointerDownMapCoords,e.mapCoords,"rotating",t);A&&t.onEdit(A),e.cancelPan()}}},{key:"handlePointerMove",value:function(e,t){if(!this._isRotating){var A=(0,I.getPickedEditHandle)(e.picks);this._selectedEditHandle=A&&"rotate"===A.properties.editHandleType?A:null}this.updateCursor(t)}},{key:"handleStartDragging",value:function(e,t){this._selectedEditHandle&&(this._isRotating=!0,this._geometryBeingRotated=this.getSelectedFeaturesAsFeatureCollection(t))}},{key:"handleStopDragging",value:function(e,t){if(this._isRotating){var A=this.getRotateAction(e.pointerDownMapCoords,e.mapCoords,"rotated",t);A&&t.onEdit(A),this._geometryBeingRotated=null,this._selectedEditHandle=null,this._isRotating=!1}}},{key:"updateCursor",value:function(e){this._selectedEditHandle?e.onUpdateCursor("crosshair"):e.onUpdateCursor(null)}},{key:"getRotateAction",value:function(e,t,A,n){if(!this._geometryBeingRotated)return null;for(var o=(0,r.default)(this._geometryBeingRotated),a=function(e,t,A){var n=(0,i.default)(e,t);return(0,i.default)(e,A)-n}(o,e,t),s=(0,u.default)(this._geometryBeingRotated,a,{pivot:o}),g=new h.ImmutableFeatureCollection(n.data),c=n.selectedIndexes,l=0;l<c.length;l++){var I=c[l],C=s.features[l];g=g.replaceGeometry(I,C.geometry)}return{updatedData:g.getObject(),editType:A,editContext:{featureIndexes:c}}}}])&&p(A.prototype,f),d&&p(A,d),S}(C.GeoJsonEditMode);t.RotateMode=w},function(e,t,A){"use strict";function n(e){return(n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||i(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){if(e){if("string"===typeof e)return o(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(A):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function a(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t){return!t||"object"!==n(t)&&"function"!==typeof t?g(e):t}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.CompositeMode=void 0;var I=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(C,e);var t,A,n,o,I=(t=C,function(){var e,A=u(t);if(c()){var n=u(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return s(this,e)});function C(e){var t,A,n,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,C),t=I.call(this),A=g(t),r=void 0,(n="_modes")in A?Object.defineProperty(A,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):A[n]=r,t._modes=e,t}return A=C,(n=[{key:"_coalesce",value:function(e){for(var t,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=0;n<this._modes.length&&(t=e(this._modes[n]),!(A?A(t):t));n++);return t}},{key:"handleClick",value:function(e,t){this._coalesce((function(A){return A.handleClick(e,t)}))}},{key:"handlePointerMove",value:function(e,t){return this._coalesce((function(A){return A.handlePointerMove(e,t)}))}},{key:"handleStartDragging",value:function(e,t){return this._coalesce((function(A){return A.handleStartDragging(e,t)}))}},{key:"handleStopDragging",value:function(e,t){return this._coalesce((function(A){return A.handleStopDragging(e,t)}))}},{key:"handleDragging",value:function(e,t){return this._coalesce((function(A){return A.handleDragging(e,t)}))}},{key:"getGuides",value:function(e){var t,A=[],n=function(e){if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=i(e))){var t=0,A=function(){};return{s:A,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:A}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,o=!0,a=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){a=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw r}}}}(this._modes);try{for(n.s();!(t=n.n()).done;){var o=t.value;A.push.apply(A,r(o.getGuides(e).features))}}catch(a){n.e(a)}finally{n.f()}return{type:"FeatureCollection",features:A}}}])&&a(A.prototype,n),o&&a(A,o),C}(A(79).GeoJsonEditMode);t.CompositeMode=I},function(e,t,A){"use strict";function n(e){return(n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function o(e,t,A){return(o="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=g(e)););return e}(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(A):r.value}})(e,t,A||e)}function a(e,t){return!t||"object"!==n(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function g(e){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.ThreeClickPolygonMode=void 0;var u=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(I,e);var t,A,n,u,l=(t=I,function(){var e,A=g(t);if(s()){var n=g(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return a(this,e)});function I(){return r(this,I),l.apply(this,arguments)}return A=I,(n=[{key:"handleClick",value:function(e,t){this.addClickSequence(e);var A=this.getClickSequence(),n=this.getTentativeGuide(t);if(A.length>2&&n&&"Polygon"===n.geometry.type){var r=this.getAddFeatureOrBooleanPolygonAction(n.geometry,t);this.resetClickSequence(),r&&t.onEdit(r)}}},{key:"getGuides",value:function(e){var t=e.lastPointerMoveEvent,A=e.modeConfig,n=this.getClickSequence(),r={type:"FeatureCollection",features:[]};if(0===n.length)return r;var i=t.mapCoords;if(1===n.length)r.features.push({type:"Feature",properties:{guideType:"tentative"},geometry:{type:"LineString",coordinates:[n[0],i]}});else{var o=this.getThreeClickPolygon(n[0],n[1],i,A);o&&r.features.push({type:"Feature",properties:{guideType:"tentative"},geometry:o.geometry})}return r}},{key:"getThreeClickPolygon",value:function(e,t,A,n){return null}},{key:"handlePointerMove",value:function(e,t){t.onUpdateCursor("cell"),o(g(I.prototype),"handlePointerMove",this).call(this,e,t)}},{key:"createTentativeFeature",value:function(e){var t,A=e.lastPointerMoveEvent,n=this.getClickSequence(),r=A?[A.mapCoords]:[];return 2===n.length&&(t=this.getThreeClickPolygon(n[0],n[1],r[0],e.modeConfig)),t}}])&&i(A.prototype,n),u&&i(A,u),I}(A(79).GeoJsonEditMode);t.ThreeClickPolygonMode=u},function(e,t,A){"use strict";function n(e,t){if(e===t)return!0;if(Array.isArray(e)){var A=e.length;if(!t||t.length!==A)return!1;for(var n=0;n<A;n++)if(e[n]!==t[n])return!1;return!0}return!1}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t,A={};return function(r){for(var i in r)if(!n(r[i],A[i])){t=e(r),A=r;break}return t}}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=A(35);function r(e){return(r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function o(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?i(Object(A),!0).forEach((function(t){h(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):i(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function a(e){if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"===typeof e)return s(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return s(e,t)}(e))){var t=0,A=function(){};return{s:A,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:A}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,i=!0,o=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){o=!0,r=e},f:function(){try{i||null==n.return||n.return()}finally{if(o)throw r}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function u(e,t){return!t||"object"!==r(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function l(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function I(e){return(I=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function C(e,t){return(C=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var f=["anyclick","pointermove","panstart","panmove","panend","keyup"],d=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&C(e,t)}(s,e);var t,A,n,r,i=(t=s,function(){var e,A=I(t);if(l()){var n=I(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return u(this,e)});function s(){return g(this,s),i.apply(this,arguments)}return A=s,(n=[{key:"onLayerClick",value:function(e){}},{key:"onStartDragging",value:function(e){}},{key:"onStopDragging",value:function(e){}},{key:"onDragging",value:function(e){}},{key:"onPointerMove",value:function(e){}},{key:"onLayerKeyUp",value:function(e){}},{key:"initializeState",value:function(){this.setState({_editableLayerState:{pointerDownPicks:null,pointerDownScreenCoords:null,pointerDownMapCoords:null,eventHandler:this._forwardEventToCurrentLayer.bind(this)}}),this._addEventHandlers()}},{key:"finalizeState",value:function(){this._removeEventHandlers()}},{key:"_addEventHandlers",value:function(){var e,t=this.context.deck.eventManager,A=this.state._editableLayerState.eventHandler,n=a(f);try{for(n.s();!(e=n.n()).done;){var r=e.value;t.on(r,A,{priority:100})}}catch(i){n.e(i)}finally{n.f()}}},{key:"_removeEventHandlers",value:function(){var e,t=this.context.deck.eventManager,A=this.state._editableLayerState.eventHandler,n=a(f);try{for(n.s();!(e=n.n()).done;){var r=e.value;t.off(r,A)}}catch(i){n.e(i)}finally{n.f()}}},{key:"_forwardEventToCurrentLayer",value:function(e){var t=this.getCurrentLayer(),A=t["_on".concat(e.type)].bind(t);A?A(e):console.warn("no handler for mjolnir.js event ".concat(e.type))}},{key:"_onanyclick",value:function(e){var t=e.srcEvent,A=this.getScreenCoords(t),n=this.getMapCoords(A),r=this.getPicks(A);this.onLayerClick({mapCoords:n,screenCoords:A,picks:r,sourceEvent:t})}},{key:"_onkeyup",value:function(e){var t=e.srcEvent;this.onLayerKeyUp(t)}},{key:"_onpanstart",value:function(e){var t=this.getScreenCoords(e.srcEvent),A=this.getMapCoords(t),n=this.getPicks(t);this.setState({_editableLayerState:o({},this.state._editableLayerState,{pointerDownScreenCoords:t,pointerDownMapCoords:A,pointerDownPicks:n})}),this.onStartDragging({picks:n,screenCoords:t,mapCoords:A,pointerDownScreenCoords:t,pointerDownMapCoords:A,cancelPan:e.stopImmediatePropagation,sourceEvent:e.srcEvent})}},{key:"_onpanmove",value:function(e){var t=e.srcEvent,A=this.getScreenCoords(t),n=this.getMapCoords(A),r=this.state._editableLayerState,i=r.pointerDownPicks,o=r.pointerDownScreenCoords,a=r.pointerDownMapCoords,s=this.getPicks(A);this.onDragging({screenCoords:A,mapCoords:n,picks:s,pointerDownPicks:i,pointerDownScreenCoords:o,pointerDownMapCoords:a,sourceEvent:t,cancelPan:e.stopImmediatePropagation})}},{key:"_onpanend",value:function(e){var t=e.srcEvent,A=this.getScreenCoords(t),n=this.getMapCoords(A),r=this.state._editableLayerState,i=r.pointerDownPicks,a=r.pointerDownScreenCoords,s=r.pointerDownMapCoords,g=this.getPicks(A);this.onStopDragging({picks:g,screenCoords:A,mapCoords:n,pointerDownPicks:i,pointerDownScreenCoords:a,pointerDownMapCoords:s,sourceEvent:t}),this.setState({_editableLayerState:o({},this.state._editableLayerState,{pointerDownScreenCoords:null,pointerDownMapCoords:null,pointerDownPicks:null})})}},{key:"_onpointermove",value:function(e){var t=e.srcEvent,A=this.getScreenCoords(t),n=this.getMapCoords(A),r=this.state._editableLayerState,i=r.pointerDownPicks,o=r.pointerDownScreenCoords,a=r.pointerDownMapCoords,s=this.getPicks(A);this.onPointerMove({screenCoords:A,mapCoords:n,picks:s,pointerDownPicks:i,pointerDownScreenCoords:o,pointerDownMapCoords:a,sourceEvent:t})}},{key:"getPicks",value:function(e){return this.context.deck.pickMultipleObjects({x:e[0],y:e[1],layerIds:[this.props.id],radius:this.props.pickingRadius,depth:this.props.pickingDepth})}},{key:"getScreenCoords",value:function(e){return[e.clientX-this.context.gl.canvas.getBoundingClientRect().left,e.clientY-this.context.gl.canvas.getBoundingClientRect().top]}},{key:"getMapCoords",value:function(e){return this.context.viewport.unproject([e[0],e[1]])}}])&&c(A.prototype,n),r&&c(A,r),s}(n.CompositeLayer);t.default=d,h(d,"layerName","EditableLayer")},,function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(310);function r(e){try{return JSON.parse(e)}catch(t){throw new Error('Failed to parse JSON from data starting with "'.concat(Object(n.a)(e),'"'))}}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=A(75),r=a(A(22)),i=A(43),o=a(A(1096));function a(e){return e&&e.__esModule?e:{default:e}}function s(e){return(s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function u(e,t,A){return(u="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=C(e)););return e}(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(A):r.value}})(e,t,A||e)}function l(e,t){return!t||"object"!==s(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function I(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function C(e){return(C=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function d(e){var t=e.source,A=e.code,n=void 0===A?"":A;return t.replace(/}[^{}]*$/,n.concat("\n}\n"))}var B=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(f,e);var t,A,n,a,s=(t=f,function(){var e,A=C(t);if(I()){var n=C(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return l(this,e)});function f(){return g(this,f),s.apply(this,arguments)}return A=f,(n=[{key:"getShaders",value:function(){var e=u(C(f.prototype),"getShaders",this).call(this);return Object.assign({},e,{modules:e.modules.concat([o.default]),vs:d({source:e.vs,code:" outline_setUV(gl_Position);\n outline_setZLevel(instanceZLevel);\n"}),fs:d({source:e.fs,code:" gl_FragColor = outline_filterColor(gl_FragColor);\n"})})}},{key:"initializeState",value:function(e){u(C(f.prototype),"initializeState",this).call(this,e),this.setState({outlineFramebuffer:new i.Framebuffer(e.gl),dummyTexture:new i.Texture2D(e.gl)}),this.state.attributeManager.addInstanced({instanceZLevel:{size:1,type:r.default.UNSIGNED_BYTE,update:this.calculateZLevels,accessor:"getZLevel"}})}},{key:"draw",value:function(e){e.moduleParameters,e.parameters;var t=e.uniforms,A=(e.context,this.props),n=A.rounded,i=A.miterLimit,o=A.widthScale,a=A.widthMinPixels,s=A.widthMaxPixels,g=A.dashJustified;t=Object.assign({},t,{jointType:Number(n),alignMode:Number(g),widthScale:o,miterLimit:i,widthMinPixels:a,widthMaxPixels:s});var c=this.state,u=c.outlineFramebuffer,l=c.dummyTexture;u.resize(),u.clear({color:!0,depth:!0}),this.state.model.updateModuleSettings({outlineEnabled:!0,outlineRenderShadowmap:!0,outlineShadowmap:l}),this.state.model.draw({uniforms:Object.assign({},t,{jointType:0,widthScale:1.3*this.props.widthScale}),parameters:{depthTest:!1,blendEquation:r.default.MAX},framebuffer:u}),this.state.model.updateModuleSettings({outlineEnabled:!0,outlineRenderShadowmap:!1,outlineShadowmap:u}),this.state.model.draw({uniforms:Object.assign({},t,{jointType:Number(n),widthScale:this.props.widthScale}),parameters:{depthTest:!1}})}},{key:"calculateZLevels",value:function(e){var t=this.props.getZLevel,A=this.state.pathTesselator;e.value=A._updateAttribute({target:e.value,size:1,getValue:function(e,A){return[t(e,A)||0]}})}}])&&c(A.prototype,n),a&&c(A,a),f}(n.PathLayer);t.default=B,f(B,"layerName","PathOutlineLayer"),f(B,"defaultProps",{getZLevel:{type:"accessor",value:0}})},function(e,t,A){var n=A(144);e.exports=function(e,t,A){return 0!==n(e,t,A)}},function(e,t,A){var n=A(499),r=A(640),i=A(373),o=A(502),a=A(501),s=A(503);e.exports=function(e,t,A,g){switch(t){case"===":return"object"===typeof e&&(e=e.version),"object"===typeof A&&(A=A.version),e===A;case"!==":return"object"===typeof e&&(e=e.version),"object"===typeof A&&(A=A.version),e!==A;case"":case"=":case"==":return n(e,A,g);case"!=":return r(e,A,g);case">":return i(e,A,g);case">=":return o(e,A,g);case"<":return a(e,A,g);case"<=":return s(e,A,g);default:throw new TypeError("Invalid operator: ".concat(t))}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}},function(e,t,A){"use strict";A.r(t);var n=A(1),r=A(9),i=A(10),o=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return A}(A(650).a);o.layerName="GreatCircleLayer",o.defaultProps={getHeight:{type:"accessor",value:0},greatCircle:!0};var a=A(4),s=A(7),g=A(511),c=A(580),u=A(8),l=A(290),I=A.n(l),C=180/Math.PI;function h(e,t,A){var n=1<<t;return[(e[0]+A[0])/n,(e[1]+A[1])/n]}function f(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function d(e){return[f(e[0]),f(e[1])]}function B(e,t){var A=Object(u.a)(t,2),n=A[0],r=A[1];switch(e){case 0:return[1,n,r];case 1:return[-n,1,r];case 2:return[-n,-r,1];case 3:return[-1,-r,-n];case 4:return[r,-1,-n];case 5:return[r,n,-1];default:throw new Error("Invalid face")}}function p(e){var t=Object(u.a)(e,3),A=t[0],n=t[1],r=t[2],i=Math.atan2(r,Math.sqrt(A*A+n*n));return[Math.atan2(n,A)*C,i*C]}function E(e,t,A,n){if(0===n){1===A&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);var r=t[0];t[0]=t[1],t[1]=r}}function Q(e){if("string"===typeof e){if(e.indexOf("/")>0)return e;e=function(e){var t=e.padEnd(16,"0");return I.a.fromString(t,16)}(e)}return function(e){for(var t=I.a.fromString(e,!0,10).toString(2);t.length<64;)t="0"+t;for(var A=t.lastIndexOf("1"),n=t.substring(0,3),r=t.substring(3,A),i=r.length/2,o=I.a.fromString(n,!0,2).toString(10),a=I.a.fromString(r,!0,2).toString(4);a.length<i;)a="0"+a;return"".concat(o,"/").concat(a)}(e.toString())}function y(e){return function(e){for(var t=e.face,A=e.ij,n=e.level,r=[[0,0],[0,1],[1,1],[1,0],[0,0]],i=Math.max(1,Math.ceil(100*Math.pow(2,-n))),o=new Float64Array(4*i*2+2),a=0,s=0,g=0;g<4;g++)for(var c=r[g].slice(0),u=r[g+1],l=(u[0]-c[0])/i,I=(u[1]-c[1])/i,C=0;C<i;C++){c[0]+=l,c[1]+=I;var f=p(B(t,d(h(A,n,c))));Math.abs(f[1])>89.999&&(f[0]=s);var E=f[0]-s;f[0]+=E>180?-360:E<-180?360:0,o[a++]=f[0],o[a++]=f[1],s=f[0]}return o[a++]=o[0],o[a++]=o[1],o}(function(e){for(var t,A=e.split("/"),n=parseInt(A[0],10),r=A[1],i=r.length,o=[0,0],a=i-1;a>=0;a--){t=i-a;var s=r[a],g=0,c=0;"1"===s?c=1:"2"===s?(g=1,c=1):"3"===s&&(g=1);var u=Math.pow(2,t-1);E(u,o,g,c),o[0]+=u*g,o[1]+=u*c}if(n%2===1){var l=o[0];o[0]=o[1],o[1]=l}return{face:n,ij:o,level:t}}(Q(e)))}var v=Object(s.a)({},c.a.defaultProps,{getS2Token:{type:"accessor",value:function(e){return e.token}}}),m=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"renderLayers",value:function(){var e=this.props,t=e.data,A=e.getS2Token,n=this.props,r=n.elevationScale,i=n.extruded,o=n.wireframe,a=n.filled,s=n.stroked,g=n.lineWidthUnits,u=n.lineWidthScale,l=n.lineWidthMinPixels,I=n.lineWidthMaxPixels,C=n.lineJointRounded,h=n.lineMiterLimit,f=n.lineDashJustified,d=n.getElevation,B=n.getFillColor,p=n.getLineColor,E=n.getLineWidth,Q=n.getLineDashArray,v=this.props,m=v.updateTriggers,b=v.material;return new(this.getSubLayerClass("cell",c.a))({filled:a,wireframe:o,extruded:i,elevationScale:r,stroked:s,lineWidthUnits:g,lineWidthScale:u,lineWidthMinPixels:l,lineWidthMaxPixels:I,lineJointRounded:C,lineMiterLimit:h,lineDashJustified:f,material:b,getElevation:d,getFillColor:B,getLineColor:p,getLineWidth:E,getLineDashArray:Q},this.getSubLayerProps({id:"cell",updateTriggers:{getElevation:m.getElevation,getFillColor:m.getFillColor,getLineColor:m.getLineColor,getLineWidth:m.getLineWidth,getLineDashArray:m.getLineDashArray}}),{data:t,_normalize:!1,positionFormat:"XY",getPolygon:function(e,t){return y(A(e,t))}})}}]),A}(g.a);m.layerName="S2Layer",m.defaultProps=v;var b=A(224),w=A(16),S=A(17),F=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"getShaders",value:function(){var e=Object(S.a)(Object(w.a)(A.prototype),"getShaders",this).call(this);return e.inject={"vs:#decl":"uniform float trailLength;\nattribute float instanceTimestamps;\nattribute float instanceNextTimestamps;\nvarying float vTime;\n","vs:#main-end":"vTime = instanceTimestamps + (instanceNextTimestamps - instanceTimestamps) * vPathPosition.y / vPathLength;\n","fs:#decl":"uniform bool fadeTrail;\nuniform float trailLength;\nuniform float currentTime;\nvarying float vTime;\n","fs:#main-start":"if(vTime > currentTime || (fadeTrail && (vTime < currentTime - trailLength))) {\n discard;\n}\n","fs:DECKGL_FILTER_COLOR":"if(fadeTrail) {\n color.a *= 1.0 - (currentTime - vTime) / trailLength;\n}\n"},e}},{key:"initializeState",value:function(e){Object(S.a)(Object(w.a)(A.prototype),"initializeState",this).call(this,e),this.getAttributeManager().addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}}})}},{key:"draw",value:function(e){var t=this.props,n=t.fadeTrail,r=t.trailLength,i=t.currentTime;e.uniforms=Object(s.a)({},e.uniforms,{fadeTrail:n,trailLength:r,currentTime:i}),Object(S.a)(Object(w.a)(A.prototype),"draw",this).call(this,e)}}]),A}(A(268).a);F.layerName="TripsLayer",F.defaultProps={fadeTrail:!0,trailLength:{type:"number",value:120,min:0},currentTime:{type:"number",value:0,min:0},getTimestamps:{type:"accessor",value:null}};var R=A(6),D=A(122),G=A(116),k=Object(s.a)({},c.a.defaultProps,{getHexagons:{type:"accessor",value:function(e){return e.hexagons}}}),x=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"updateState",value:function(e){var t=e.props,A=(e.oldProps,e.changeFlags);if(A.dataChanged||A.updateTriggers&&A.updateTriggers.getHexagons){var n,r=t.data,i=t.getHexagons,o=[],a=Object(G.a)(r),s=a.iterable,g=a.objectInfo,c=Object(R.a)(s);try{for(c.s();!(n=c.n()).done;){var u=n.value;g.index++;var l,I=i(u,g),C=Object(D.h3SetToMultiPolygon)(I,!0),h=Object(R.a)(C);try{for(h.s();!(l=h.n()).done;){var f=l.value;o.push(this.getSubLayerRow({polygon:f},u,g.index))}}catch(d){h.e(d)}finally{h.f()}}}catch(d){c.e(d)}finally{c.f()}this.setState({polygons:o})}}},{key:"renderLayers",value:function(){var e=this.props,t=e.elevationScale,A=e.extruded,n=e.wireframe,r=e.filled,i=e.stroked,o=e.lineWidthScale,a=e.lineWidthMinPixels,s=e.lineWidthMaxPixels,g=e.lineJointRounded,u=e.lineMiterLimit,l=e.lineDashJustified,I=e.material,C=e.getFillColor,h=e.getLineColor,f=e.getLineWidth,d=e.getLineDashArray,B=e.getElevation,p=e.transitions,E=e.updateTriggers;return new(this.getSubLayerClass("cluster-region",c.a))({filled:r,wireframe:n,extruded:A,elevationScale:t,stroked:i,lineWidthScale:o,lineWidthMinPixels:a,lineWidthMaxPixels:s,lineJointRounded:g,lineMiterLimit:u,lineDashJustified:l,material:I,transitions:p,getFillColor:this.getSubLayerAccessor(C),getLineColor:this.getSubLayerAccessor(h),getLineWidth:this.getSubLayerAccessor(f),getLineDashArray:this.getSubLayerAccessor(d),getElevation:this.getSubLayerAccessor(B)},this.getSubLayerProps({id:"cluster-region",updateTriggers:E}),{data:this.state.polygons,getPolygon:function(e){return e.polygon}})}}]),A}(g.a);x.defaultProps=k,x.layerName="H3ClusterLayer";var N=A(23),U=A(387);function _(e,t){t=void 0===t?e[0][0]:t;var A,n=Object(R.a)(e);try{for(n.s();!(A=n.n()).done;){var r=A.value,i=r[0]-t;i>180?r[0]-=360:i<-180&&(r[0]+=360)}}catch(o){n.e(o)}finally{n.f()}}function M(e,t,A){var n=Object(D.h3ToGeo)(e),r=Object(u.a)(n,2),i=r[0],o=r[1],a=t.length;_(t,o);for(var s=t[0]===t[a-1]?a-1:a,g=0;g<s;g++)t[g][0]=Object(N.lerp)(o,t[g][0],A),t[g][1]=Object(N.lerp)(i,t[g][1],A)}function O(e,t,A){var n=e(t,A),r=Object(D.h3ToGeo)(n),i=Object(u.a)(r,2),o=i[0];return[i[1],o]}function L(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,A=arguments.length>2?arguments[2]:void 0,n=Object(D.h3ToGeoBoundary)(e,!0);if(1!==t?M(e,n,t):_(n),A){var r,i=new Float64Array(2*n.length),o=0,a=Object(R.a)(n);try{for(a.s();!(r=a.n()).done;){var s=r.value;i[o++]=s[0],i[o++]=s[1]}}catch(g){a.e(g)}finally{a.f()}return i}return n}var T=Object(s.a)({},c.a.defaultProps,{highPrecision:"auto",coverage:{type:"number",min:0,max:1,value:1},centerHexagon:null,getHexagon:{type:"accessor",value:function(e){return e.hexagon}},extruded:!0});delete T.getLineDashArray;var Z=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"shouldUpdateState",value:function(e){var t=e.changeFlags;return this._shouldUseHighPrecision()?t.propsOrDataChanged:t.somethingChanged}},{key:"updateState",value:function(e){var t=e.props,A=(e.oldProps,e.changeFlags);if(!0!==t.highPrecision&&(A.dataChanged||A.updateTriggers&&A.updateTriggers.getHexagon)){var n=this._calculateH3DataProps(t);this.setState(n)}this._updateVertices(this.context.viewport)}},{key:"_calculateH3DataProps",value:function(e){var t,A=-1,n=!1,r=!1,i=Object(G.a)(e.data),o=i.iterable,a=i.objectInfo,s=Object(R.a)(o);try{for(s.s();!(t=s.n()).done;){var g=t.value;a.index++;var c=e.getHexagon(g,a),u=Object(D.h3GetResolution)(c);if(A<0){if(A=u,!e.highPrecision)break}else if(A!==u){r=!0;break}if(Object(D.h3IsPentagon)(c)){n=!0;break}}}catch(l){s.e(l)}finally{s.f()}return{resolution:A,edgeLengthKM:A>=0?Object(D.edgeLength)(A,D.UNITS.km):0,hasMultipleRes:r,hasPentagon:n}}},{key:"_shouldUseHighPrecision",value:function(){if("auto"===this.props.highPrecision){var e=this.state,t=e.resolution,A=e.hasPentagon,n=e.hasMultipleRes;return this.context.viewport.resolution||n||A||t>=0&&t<=5}return this.props.highPrecision}},{key:"_updateVertices",value:function(e){if(!this._shouldUseHighPrecision()){var t=this.state,A=t.resolution,n=t.edgeLengthKM,r=t.centerHex;if(!(A<0)){var i=this.props.centerHexagon||Object(D.geoToH3)(e.latitude,e.longitude,A);if(r!==i){if(r){var o=Object(D.h3Distance)(r,i);if(o>=0&&o*n<10)return}var a=e.distanceScales.unitsPerMeter,s=L(i),g=Object(D.h3ToGeo)(i),c=Object(u.a)(g,2),l=c[0],I=c[1],C=e.projectFlat([I,l]),h=Object(u.a)(C,2),f=h[0],d=h[1];s=s.map((function(t){var A=e.projectFlat(t);return[(A[0]-f)/a[0],(A[1]-d)/a[1]]})),this.setState({centerHex:i,vertices:s})}}}}},{key:"renderLayers",value:function(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()}},{key:"_getForwardProps",value:function(){var e=this.props,t=e.elevationScale,A=e.material,n=e.coverage,r=e.extruded,i=e.wireframe,o=e.stroked,a=e.filled,s=e.lineWidthUnits,g=e.lineWidthScale,c=e.lineWidthMinPixels,u=e.lineWidthMaxPixels,l=e.getFillColor,I=e.getElevation,C=e.getLineColor,h=e.getLineWidth,f=e.transitions,d=e.updateTriggers;return{elevationScale:t,extruded:r,coverage:n,wireframe:i,stroked:o,filled:a,lineWidthUnits:s,lineWidthScale:g,lineWidthMinPixels:c,lineWidthMaxPixels:u,material:A,getElevation:I,getFillColor:l,getLineColor:C,getLineWidth:h,transitions:f,updateTriggers:{getFillColor:d.getFillColor,getElevation:d.getElevation,getLineColor:d.getLineColor,getLineWidth:d.getLineWidth}}}},{key:"_renderPolygonLayer",value:function(){var e=this.props,t=e.data,A=e.getHexagon,n=e.updateTriggers,r=e.coverage,i=this.getSubLayerClass("hexagon-cell-hifi",c.a),o=this._getForwardProps();return o.updateTriggers.getPolygon=function(e,t){return void 0===e||null===e?t:"object"===typeof e?Object(s.a)({},e,{coverage:t}):{getHexagon:e,coverage:t}}(n.getHexagon,r),new i(o,this.getSubLayerProps({id:"hexagon-cell-hifi",updateTriggers:o.updateTriggers}),{data:t,_normalize:!1,_windingOrder:"CCW",positionFormat:"XY",getPolygon:function(e,t){return L(A(e,t),r,!0)}})}},{key:"_renderColumnLayer",value:function(){var e=this.props,t=e.data,A=e.getHexagon,n=e.updateTriggers,r=this.getSubLayerClass("hexagon-cell",U.a),i=this._getForwardProps();return i.updateTriggers.getPosition=n.getHexagon,new r(i,this.getSubLayerProps({id:"hexagon-cell",updateTriggers:i.updateTriggers}),{data:t,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:O.bind(null,A)})}}]),A}(g.a);Z.defaultProps=T,Z.layerName="H3HexagonLayer";var H=A(3),Y=A.n(H),J=A(12),j=A(135),P=A(36),V=A(651),K=A(645),W=A(703),X=A(1295),q=A(422),z=A(652);var $=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"getShaders",value:function(){var e=Object(S.a)(Object(w.a)(A.prototype),"getShaders",this).call(this);return e.modules.push(X.a),Object(s.a)({},e,{vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nuniform bool u_pickFeatureIds;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec4 uvRegions;\nin vec3 featureIdsPickingColors;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n vec2 uv = fract(texCoords) * (uvRegions.zw - uvRegions.xy) + uvRegions.xy;\n\n geometry.uv = uv;\n geometry.uv = texCoords;\n\n if (u_pickFeatureIds) {\n geometry.pickingColor = featureIdsPickingColors;\n } else {\n geometry.pickingColor = instancePickingColors;\n }\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * normals);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = uv;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n vTexCoord = uv;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale;\n vec3 projectedPosition = project_position(positions);\n position_commonspace = vec4(projectedPosition, 1.0);\n gl_Position = project_common_position_to_clipspace(position_commonspace);\n\n geometry.position = position_commonspace;\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n \n#ifdef MODULE_PBR\n\n fragColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n fragColor.a *= opacity;\n\n#else\n\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n#endif\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"})}},{key:"initializeState",value:function(){var e=this.props.featureIds;Object(S.a)(Object(w.a)(A.prototype),"initializeState",this).call(this),e&&this.state.attributeManager.add({featureIdsPickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateFeatureIdsPickingColors}})}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,r=e.changeFlags;Object(S.a)(Object(w.a)(A.prototype),"updateState",this).call(this,{props:t,oldProps:n,changeFlags:r}),t.pbrMaterial!==n.pbrMaterial&&this.updatePbrMaterialUniforms(t.pbrMaterial)}},{key:"draw",value:function(e){var t=this.props.featureIds;this.state.model&&(this.state.model.setUniforms({u_Camera:this.state.model.getUniforms().project_uCameraPosition,u_pickFeatureIds:Boolean(t)}),Object(S.a)(Object(w.a)(A.prototype),"draw",this).call(this,e))}},{key:"getModel",value:function(e){var t,A=this.props,n=A.id,r=A.pbrMaterial,i=this.parseMaterial(r,e),o=this.getShaders();return(t=e.attributes).COLOR_0||t.colors||(t.colors={constant:!0,value:new Float32Array([1,1,1])}),t.uvRegions||(t.uvRegions={constant:!0,value:new Float32Array([0,0,1,1])}),new q.a(this.context.gl,Object(s.a)({},this.getShaders(),{id:n,geometry:e,defines:Object(s.a)({},o.defines,{},null===i||void 0===i?void 0:i.defines),parameters:null===i||void 0===i?void 0:i.parameters,isInstanced:!0}))}},{key:"updatePbrMaterialUniforms",value:function(e){var t=this.state.model;if(t){var A=this.props.mesh,n=this.parseMaterial(e,A);t.setUniforms(n.uniforms)}}},{key:"parseMaterial",value:function(e,t){var A=Boolean(e.pbrMetallicRoughness&&e.pbrMetallicRoughness.baseColorTexture);return new W.a(this.context.gl,{attributes:{NORMAL:t.attributes.normals,TEXCOORD_0:t.attributes.texCoords},material:Object(s.a)({unlit:A},e),pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1})}},{key:"calculateFeatureIdsPickingColors",value:function(e){for(var t=this.props.featureIds,A=new Uint8ClampedArray(t.length*e.size),n=[],r=0;r<t.length;r++)this.encodePickingColor(t[r],n),A[3*r]=n[0],A[3*r+1]=n[1],A[3*r+2]=n[2];e.value=A}}]),A}(z.a);$.layerName="_MeshLayer",$.defaultProps={pbrMaterial:{type:"object",value:null},featureIds:{type:"array",value:null,optional:!0}};var ee=A(41),te=A(1283);function Ae(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}A(91);var ne=A(11);function re(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var ie=1/Math.PI*180,oe=1/180*Math.PI,ae={};function se(e){return Math.round(e/ae.EPSILON)*ae.EPSILON}function ge(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.precision,n=void 0===A?ae.precision||4:A;return e=se(e),"".concat(parseFloat(e.toPrecision(n)))}function ce(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ue(e,t,A){if(ce(e)){A=A||((r=e).clone?r.clone():new Array(r.length));for(var n=0;n<A.length&&n<e.length;++n)A[n]=t(e[n],n,A);return A}var r;return t(e)}function le(e){return function(e,t){return ue(e,(function(e){return e*oe}),t)}(e)}function Ie(e,t){return ue(e,(function(e){return e*ie}),t)}function Ce(e,t,A){var n=ae.EPSILON;A&&(ae.EPSILON=A);try{if(e===t)return!0;if(ce(e)&&ce(t)){if(e.length!==t.length)return!1;for(var r=0;r<e.length;++r)if(!Ce(e[r],t[r]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):!(!Number.isFinite(e)||!Number.isFinite(t))&&Math.abs(e-t)<=ae.EPSILON*Math.max(1,Math.abs(e),Math.abs(t))}finally{ae.EPSILON=n}}function he(e,t){if(e.length!==t)return!1;for(var A=0;A<e.length;++A)if(!Number.isFinite(e[A]))return!1;return!0}function fe(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(e));return e}function de(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(ae.debug&&!he(e,t))throw new Error("math.gl: ".concat(A," some fields set to invalid numbers'"));return e}ae.EPSILON=1e-12,ae.debug=!1,ae.precision=4,ae.printTypes=!1,ae.printDegrees=!1,ae.printRowMajor=!0;var Be={};function pe(e,t){Be[e]||(Be[e]=!0,console.warn("".concat(e," has been removed in version ").concat(t,", see upgrade guide for more information")))}var Ee=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"clone",value:function(){return(new this.constructor).copy(this)}},{key:"from",value:function(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}},{key:"fromArray",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=0;A<this.ELEMENTS;++A)this[A]=e[A+t];return this.check()}},{key:"to",value:function(e){return e===this?this:ce(e)?this.toArray(e):this.toObject(e)}},{key:"toTarget",value:function(e){return e?this.to(e):this}},{key:"toArray",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=0;A<this.ELEMENTS;++A)e[t+A]=this[A];return e}},{key:"toFloat32Array",value:function(){return new Float32Array(this)}},{key:"toString",value:function(){return this.formatString(ae)}},{key:"formatString",value:function(e){for(var t="",A=0;A<this.ELEMENTS;++A)t+=(A>0?", ":"")+ge(this[A],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t<this.ELEMENTS;++t)if(!Ce(this[t],e[t]))return!1;return!0}},{key:"exactEquals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t<this.ELEMENTS;++t)if(this[t]!==e[t])return!1;return!0}},{key:"negate",value:function(){for(var e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}},{key:"lerp",value:function(e,t,A){void 0===A&&(A=t,t=e,e=this);for(var n=0;n<this.ELEMENTS;++n){var r=e[n];this[n]=r+A*(t[n]-r)}return this.check()}},{key:"min",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=Math.min(e[t],this[t]);return this.check()}},{key:"max",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=Math.max(e[t],this[t]);return this.check()}},{key:"clamp",value:function(e,t){for(var A=0;A<this.ELEMENTS;++A)this[A]=Math.min(Math.max(this[A],e[A]),t[A]);return this.check()}},{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]+=i[o];return this.check()}},{key:"subtract",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]-=i[o];return this.check()}},{key:"scale",value:function(e){if(Array.isArray(e))return this.multiply(e);for(var t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}},{key:"sub",value:function(e){return this.subtract(e)}},{key:"setScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=e;return this.check()}},{key:"addScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]+=e;return this.check()}},{key:"subScalar",value:function(e){return this.addScalar(-e)}},{key:"multiplyScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}},{key:"divideScalar",value:function(e){return this.scale(1/e)}},{key:"clampScalar",value:function(e,t){for(var A=0;A<this.ELEMENTS;++A)this[A]=Math.min(Math.max(this[A],e),t);return this.check()}},{key:"multiplyByScalar",value:function(e){return this.scale(e)}},{key:"check",value:function(){if(ae.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}},{key:"validate",value:function(){for(var e=this.length===this.ELEMENTS,t=0;t<this.ELEMENTS;++t)e=e&&Number.isFinite(this[t]);return e}},{key:"ELEMENTS",get:function(){return re(!1),0}},{key:"elements",get:function(){return this}}]),A}(function(e){function t(){var t=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(t,Object.getPrototypeOf(this)),t}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}(Array)),Qe=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"toString",value:function(){var e="[";if(ae.printRowMajor){e+="row-major:";for(var t=0;t<this.RANK;++t)for(var A=0;A<this.RANK;++A)e+=" ".concat(this[A*this.RANK+t])}else{e+="column-major:";for(var n=0;n<this.ELEMENTS;++n)e+=" ".concat(this[n])}return e+="]"}},{key:"getElementIndex",value:function(e,t){return t*this.RANK+e}},{key:"getElement",value:function(e,t){return this[t*this.RANK+e]}},{key:"setElement",value:function(e,t,A){return this[t*this.RANK+e]=fe(A),this}},{key:"getColumn",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),A=e*this.RANK,n=0;n<this.RANK;++n)t[n]=this[A+n];return t}},{key:"setColumn",value:function(e,t){for(var A=e*this.RANK,n=0;n<this.RANK;++n)this[A+n]=t[n];return this}},{key:"ELEMENTS",get:function(){return re(!1),0}},{key:"RANK",get:function(){return re(!1),0}}]),A}(Ee);function ye(e,t,A){var n=t[0],r=t[1],i=t[2],o=A[3]*n+A[7]*r+A[11]*i||1;return e[0]=(A[0]*n+A[4]*r+A[8]*i)/o,e[1]=(A[1]*n+A[5]*r+A[9]*i)/o,e[2]=(A[2]*n+A[6]*r+A[10]*i)/o,e}var ve=A(27),me=A(70),be=A(29),we=A(56),Se=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Fe=Object.freeze([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Re=Object.freeze({COL0ROW0:0,COL0ROW1:1,COL0ROW2:2,COL0ROW3:3,COL1ROW0:4,COL1ROW1:5,COL1ROW2:6,COL1ROW3:7,COL2ROW0:8,COL2ROW1:9,COL2ROW2:10,COL2ROW3:11,COL3ROW0:12,COL3ROW1:13,COL3ROW2:14,COL3ROW3:15}),De={},Ge=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(e){var r;return Object(n.a)(this,A),r=t.call(this,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),1===arguments.length&&Array.isArray(e)?r.copy(e):r.identity(),r}return Object(a.a)(A,[{key:"INDICES",get:function(){return Re}},{key:"ELEMENTS",get:function(){return 16}},{key:"RANK",get:function(){return 4}}],[{key:"IDENTITY",get:function(){return De.IDENTITY=De.IDENTITY||Object.freeze(new A(Se)),De.IDENTITY}},{key:"ZERO",get:function(){return De.ZERO=De.ZERO||Object.freeze(new A(Fe)),De.ZERO}}]),Object(a.a)(A,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}},{key:"set",value:function(e,t,A,n,r,i,o,a,s,g,c,u,l,I,C,h){return this[0]=e,this[1]=t,this[2]=A,this[3]=n,this[4]=r,this[5]=i,this[6]=o,this[7]=a,this[8]=s,this[9]=g,this[10]=c,this[11]=u,this[12]=l,this[13]=I,this[14]=C,this[15]=h,this.check()}},{key:"setRowMajor",value:function(e,t,A,n,r,i,o,a,s,g,c,u,l,I,C,h){return this[0]=e,this[1]=r,this[2]=s,this[3]=l,this[4]=t,this[5]=i,this[6]=g,this[7]=I,this[8]=A,this[9]=o,this[10]=c,this[11]=C,this[12]=n,this[13]=a,this[14]=u,this[15]=h,this.check()}},{key:"toRowMajor",value:function(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}},{key:"identity",value:function(){return this.copy(Se)}},{key:"fromQuaternion",value:function(e){return ve.b(this,e),this.check()}},{key:"frustum",value:function(e){var t=e.left,n=e.right,r=e.bottom,i=e.top,o=e.near,a=e.far;return a===1/0?A._computeInfinitePerspectiveOffCenter(this,t,n,r,i,o):ve.c(this,t,n,r,i,o,a),this.check()}},{key:"lookAt",value:function(e,t,A){if(1===arguments.length){var n=e;e=n.eye,t=n.center,A=n.up}return t=t||[0,0,0],A=A||[0,1,0],ve.f(this,e,t,A),this.check()}},{key:"ortho",value:function(e){var t=e.left,A=e.right,n=e.bottom,r=e.top,i=e.near,o=void 0===i?.1:i,a=e.far,s=void 0===a?500:a;return ve.h(this,t,A,n,r,o,s),this.check()}},{key:"orthographic",value:function(e){var t=e.fovy,n=void 0===t?45*Math.PI/180:t,r=e.aspect,i=void 0===r?1:r,o=e.focalDistance,a=void 0===o?1:o,s=e.near,g=void 0===s?.1:s,c=e.far,u=void 0===c?500:c;if(n>2*Math.PI)throw Error("radians");var l=n/2,I=a*Math.tan(l),C=I*i;return(new A).ortho({left:-C,right:C,bottom:-I,top:I,near:g,far:u})}},{key:"perspective",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fovy,A=void 0===t?void 0:t,n=e.fov,r=void 0===n?45*Math.PI/180:n,i=e.aspect,o=void 0===i?1:i,a=e.near,s=void 0===a?.1:a,g=e.far,c=void 0===g?500:g;if((A=A||r)>2*Math.PI)throw Error("radians");return ve.i(this,A,o,s,c),this.check()}},{key:"determinant",value:function(){return ve.a(this)}},{key:"getScale",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}},{key:"getTranslation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}},{key:"getRotation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,A=this.getScale(t||[-0,-0,-0]),n=1/A[0],r=1/A[1],i=1/A[2];return e[0]=this[0]*n,e[1]=this[1]*r,e[2]=this[2]*i,e[3]=0,e[4]=this[4]*n,e[5]=this[5]*r,e[6]=this[6]*i,e[7]=0,e[8]=this[8]*n,e[9]=this[9]*r,e[10]=this[10]*i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},{key:"getRotationMatrix3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,A=this.getScale(t||[-0,-0,-0]),n=1/A[0],r=1/A[1],i=1/A[2];return e[0]=this[0]*n,e[1]=this[1]*r,e[2]=this[2]*i,e[3]=this[4]*n,e[4]=this[5]*r,e[5]=this[6]*i,e[6]=this[8]*n,e[7]=this[9]*r,e[8]=this[10]*i,e}},{key:"transpose",value:function(){return ve.p(this,this),this.check()}},{key:"invert",value:function(){return ve.e(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return ve.g(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return ve.g(this,this,e),this.check()}},{key:"rotateX",value:function(e){return ve.k(this,this,e),this.check()}},{key:"rotateY",value:function(e){return ve.l(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return ve.m(this,this,e),this.check()}},{key:"rotateXYZ",value:function(e){var t=Object(u.a)(e,3),A=t[0],n=t[1],r=t[2];return this.rotateX(A).rotateY(n).rotateZ(r)}},{key:"rotateAxis",value:function(e,t){return ve.j(this,this,e,t),this.check()}},{key:"scale",value:function(e){return Array.isArray(e)?ve.n(this,this,e):ve.n(this,this,[e,e,e]),this.check()}},{key:"translate",value:function(e){return ve.o(this,this,e),this.check()}},{key:"transform",value:function(e,t){return 4===e.length?(de(t=we.n(t||[-0,-0,-0,-0],e,this),4),t):this.transformAsPoint(e,t)}},{key:"transformAsPoint",value:function(e,t){switch(e.length){case 2:t=me.f(t||[-0,-0],e,this);break;case 3:t=be.p(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return de(t,e.length),t}},{key:"transformAsVector",value:function(e,t){switch(e.length){case 2:t=function(e,t,A){var n=t[0],r=t[1],i=A[3]*n+A[7]*r||1;return e[0]=(A[0]*n+A[4]*r)/i,e[1]=(A[1]*n+A[5]*r)/i,e}(t||[-0,-0],e,this);break;case 3:t=ye(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return de(t,e.length),t}},{key:"makeRotationX",value:function(e){return this.identity().rotateX(e)}},{key:"makeTranslation",value:function(e,t,A){return this.identity().translate([e,t,A])}},{key:"transformPoint",value:function(e,t){return pe("Matrix4.transformPoint","3.0"),this.transformAsPoint(e,t)}},{key:"transformVector",value:function(e,t){return pe("Matrix4.transformVector","3.0"),this.transformAsPoint(e,t)}},{key:"transformDirection",value:function(e,t){return pe("Matrix4.transformDirection","3.0"),this.transformAsVector(e,t)}}],[{key:"_computeInfinitePerspectiveOffCenter",value:function(e,t,A,n,r,i){var o=2*i/(A-t),a=2*i/(r-n),s=(A+t)/(A-t),g=(r+n)/(r-n),c=-2*i;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=s,e[9]=g,e[10]=-1,e[11]=-1,e[12]=0,e[13]=0,e[14]=c,e[15]=0,e}}]),A}(Qe),ke=[0,0,0],xe={},Ne=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Object(n.a)(this,A),e=t.call(this,-0,-0,-0),1===arguments.length&&ce(r)?e.copy(r):(ae.debug&&(fe(r),fe(i),fe(o)),e[0]=r,e[1]=i,e[2]=o),e}return Object(a.a)(A,null,[{key:"ZERO",get:function(){return xe.ZERO=xe.ZERO||Object.freeze(new A(0,0,0,0))}}]),Object(a.a)(A,[{key:"set",value:function(e,t,A){return this[0]=e,this[1]=t,this[2]=A,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return ae.debug&&(fe(e.x),fe(e.y),fe(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"angle",value:function(e){return be.a(this,e)}},{key:"cross",value:function(e){return be.c(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?ke:A;return be.j(this,this,n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?ke:A;return be.k(this,this,n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?ke:A;return be.l(this,this,n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return be.p(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return ye(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return be.o(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return function(e,t,A){var n=t[0],r=t[1];e[0]=A[0]*n+A[2]*r,e[1]=A[1]*n+A[3]*r,e[2]=t[2]}(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return be.q(this,this,e),this.check()}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=fe(e)}}]),A}(function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"copy",value:function(e){return re(!1),this}},{key:"len",value:function(){return Math.sqrt(this.lengthSquared())}},{key:"magnitude",value:function(){return this.len()}},{key:"lengthSquared",value:function(){for(var e=0,t=0;t<this.ELEMENTS;++t)e+=this[t]*this[t];return e}},{key:"magnitudeSquared",value:function(){return this.lengthSquared()}},{key:"distance",value:function(e){return Math.sqrt(this.distanceSquared(e))}},{key:"distanceSquared",value:function(e){for(var t=0,A=0;A<this.ELEMENTS;++A){var n=this[A]-e[A];t+=n*n}return fe(t)}},{key:"dot",value:function(e){for(var t=0,A=0;A<this.ELEMENTS;++A)t+=this[A]*e[A];return fe(t)}},{key:"normalize",value:function(){var e=this.magnitude();if(0!==e)for(var t=0;t<this.ELEMENTS;++t)this[t]/=e;return this.check()}},{key:"multiply",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]*=i[o];return this.check()}},{key:"divide",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]/=i[o];return this.check()}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"distanceTo",value:function(e){return this.distance(e)}},{key:"distanceToSquared",value:function(e){return this.distanceSquared(e)}},{key:"getComponent",value:function(e){return re(e>=0&&e<this.ELEMENTS,"index is out of range"),fe(this[e])}},{key:"setComponent",value:function(e,t){return re(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=t,this.check()}},{key:"addVectors",value:function(e,t){return this.copy(e).add(t)}},{key:"subVectors",value:function(e,t){return this.copy(e).subtract(t)}},{key:"multiplyVectors",value:function(e,t){return this.copy(e).multiply(t)}},{key:"addScaledVector",value:function(e,t){return this.add(new this.constructor(e).multiplyScalar(t))}},{key:"ELEMENTS",get:function(){return re(!1),0}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=fe(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=fe(e)}}]),A}(Ee));function Ue(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var _e=1/Math.PI*180,Me=1/180*Math.PI,Oe={};function Le(e){return Math.round(e/Oe.EPSILON)*Oe.EPSILON}function Te(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.precision,n=void 0===A?Oe.precision||4:A;return e=Le(e),"".concat(parseFloat(e.toPrecision(n)))}function Ze(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function He(e,t,A){if(Ze(e)){A=A||((r=e).clone?r.clone():new Array(r.length));for(var n=0;n<A.length&&n<e.length;++n)A[n]=t(e[n],n,A);return A}var r;return t(e)}function Ye(e){return function(e,t){return He(e,(function(e){return e*Me}),t)}(e)}function Je(e){return function(e,t){return He(e,(function(e){return e*_e}),t)}(e)}function je(e,t,A){var n=Oe.EPSILON;A&&(Oe.EPSILON=A);try{if(e===t)return!0;if(Ze(e)&&Ze(t)){if(e.length!==t.length)return!1;for(var r=0;r<e.length;++r)if(!je(e[r],t[r]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):!(!Number.isFinite(e)||!Number.isFinite(t))&&Math.abs(e-t)<=Oe.EPSILON*Math.max(1,Math.abs(e),Math.abs(t))}finally{Oe.EPSILON=n}}Oe.EPSILON=1e-12,Oe.debug=!1,Oe.precision=4,Oe.printTypes=!1,Oe.printDegrees=!1,Oe.printRowMajor=!0;var Pe=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"clone",value:function(){return(new this.constructor).copy(this)}},{key:"from",value:function(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}},{key:"fromArray",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=0;A<this.ELEMENTS;++A)this[A]=e[A+t];return this.check()}},{key:"to",value:function(e){return e===this?this:Ze(e)?this.toArray(e):this.toObject(e)}},{key:"toTarget",value:function(e){return e?this.to(e):this}},{key:"toArray",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=0;A<this.ELEMENTS;++A)e[t+A]=this[A];return e}},{key:"toFloat32Array",value:function(){return new Float32Array(this)}},{key:"toString",value:function(){return this.formatString(Oe)}},{key:"formatString",value:function(e){for(var t="",A=0;A<this.ELEMENTS;++A)t+=(A>0?", ":"")+Te(this[A],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t<this.ELEMENTS;++t)if(!je(this[t],e[t]))return!1;return!0}},{key:"exactEquals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t<this.ELEMENTS;++t)if(this[t]!==e[t])return!1;return!0}},{key:"negate",value:function(){for(var e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}},{key:"lerp",value:function(e,t,A){void 0===A&&(A=t,t=e,e=this);for(var n=0;n<this.ELEMENTS;++n){var r=e[n];this[n]=r+A*(t[n]-r)}return this.check()}},{key:"min",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=Math.min(e[t],this[t]);return this.check()}},{key:"max",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=Math.max(e[t],this[t]);return this.check()}},{key:"clamp",value:function(e,t){for(var A=0;A<this.ELEMENTS;++A)this[A]=Math.min(Math.max(this[A],e[A]),t[A]);return this.check()}},{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]+=i[o];return this.check()}},{key:"subtract",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]-=i[o];return this.check()}},{key:"scale",value:function(e){if(Array.isArray(e))return this.multiply(e);for(var t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}},{key:"sub",value:function(e){return this.subtract(e)}},{key:"setScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=e;return this.check()}},{key:"addScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]+=e;return this.check()}},{key:"subScalar",value:function(e){return this.addScalar(-e)}},{key:"multiplyScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}},{key:"divideScalar",value:function(e){return this.scale(1/e)}},{key:"clampScalar",value:function(e,t){for(var A=0;A<this.ELEMENTS;++A)this[A]=Math.min(Math.max(this[A],e),t);return this.check()}},{key:"multiplyByScalar",value:function(e){return this.scale(e)}},{key:"check",value:function(){if(Oe.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}},{key:"validate",value:function(){for(var e=this.length===this.ELEMENTS,t=0;t<this.ELEMENTS;++t)e=e&&Number.isFinite(this[t]);return e}},{key:"ELEMENTS",get:function(){return Ue(!1),0}},{key:"elements",get:function(){return this}}]),A}(function(e){function t(){var t=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(t,Object.getPrototypeOf(this)),t}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}(Array));function Ve(e,t){if(e.length!==t)return!1;for(var A=0;A<e.length;++A)if(!Number.isFinite(e[A]))return!1;return!0}function Ke(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(e));return e}function We(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(Oe.debug&&!Ve(e,t))throw new Error("math.gl: ".concat(A," some fields set to invalid numbers'"));return e}var Xe={};function qe(e,t){Xe[e]||(Xe[e]=!0,console.warn("".concat(e," has been removed in version ").concat(t,", see upgrade guide for more information")))}function ze(e,t,A){var n=t[0],r=t[1],i=t[2],o=A[3]*n+A[7]*r+A[11]*i||1;return e[0]=(A[0]*n+A[4]*r+A[8]*i)/o,e[1]=(A[1]*n+A[5]*r+A[9]*i)/o,e[2]=(A[2]*n+A[6]*r+A[10]*i)/o,e}var $e=[0,0,0],et={},tt=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Object(n.a)(this,A),e=t.call(this,-0,-0,-0),1===arguments.length&&Ze(r)?e.copy(r):(Oe.debug&&(Ke(r),Ke(i),Ke(o)),e[0]=r,e[1]=i,e[2]=o),e}return Object(a.a)(A,null,[{key:"ZERO",get:function(){return et.ZERO=et.ZERO||Object.freeze(new A(0,0,0,0))}}]),Object(a.a)(A,[{key:"set",value:function(e,t,A){return this[0]=e,this[1]=t,this[2]=A,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return Oe.debug&&(Ke(e.x),Ke(e.y),Ke(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"angle",value:function(e){return be.a(this,e)}},{key:"cross",value:function(e){return be.c(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?$e:A;return be.j(this,this,n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?$e:A;return be.k(this,this,n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?$e:A;return be.l(this,this,n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return be.p(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return ze(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return be.o(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return function(e,t,A){var n=t[0],r=t[1];e[0]=A[0]*n+A[2]*r,e[1]=A[1]*n+A[3]*r,e[2]=t[2]}(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return be.q(this,this,e),this.check()}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=Ke(e)}}]),A}(function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"copy",value:function(e){return Ue(!1),this}},{key:"len",value:function(){return Math.sqrt(this.lengthSquared())}},{key:"magnitude",value:function(){return this.len()}},{key:"lengthSquared",value:function(){for(var e=0,t=0;t<this.ELEMENTS;++t)e+=this[t]*this[t];return e}},{key:"magnitudeSquared",value:function(){return this.lengthSquared()}},{key:"distance",value:function(e){return Math.sqrt(this.distanceSquared(e))}},{key:"distanceSquared",value:function(e){for(var t=0,A=0;A<this.ELEMENTS;++A){var n=this[A]-e[A];t+=n*n}return Ke(t)}},{key:"dot",value:function(e){for(var t=0,A=0;A<this.ELEMENTS;++A)t+=this[A]*e[A];return Ke(t)}},{key:"normalize",value:function(){var e=this.magnitude();if(0!==e)for(var t=0;t<this.ELEMENTS;++t)this[t]/=e;return this.check()}},{key:"multiply",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]*=i[o];return this.check()}},{key:"divide",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]/=i[o];return this.check()}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"distanceTo",value:function(e){return this.distance(e)}},{key:"distanceToSquared",value:function(e){return this.distanceSquared(e)}},{key:"getComponent",value:function(e){return Ue(e>=0&&e<this.ELEMENTS,"index is out of range"),Ke(this[e])}},{key:"setComponent",value:function(e,t){return Ue(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=t,this.check()}},{key:"addVectors",value:function(e,t){return this.copy(e).add(t)}},{key:"subVectors",value:function(e,t){return this.copy(e).subtract(t)}},{key:"multiplyVectors",value:function(e,t){return this.copy(e).multiply(t)}},{key:"addScaledVector",value:function(e,t){return this.add(new this.constructor(e).multiplyScalar(t))}},{key:"ELEMENTS",get:function(){return Ue(!1),0}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=Ke(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=Ke(e)}}]),A}(Pe)),At=.1,nt=1e-12,rt=1e-15,it=(Math.PI,Math.PI,Math.PI,Math.PI,function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"toString",value:function(){var e="[";if(Oe.printRowMajor){e+="row-major:";for(var t=0;t<this.RANK;++t)for(var A=0;A<this.RANK;++A)e+=" ".concat(this[A*this.RANK+t])}else{e+="column-major:";for(var n=0;n<this.ELEMENTS;++n)e+=" ".concat(this[n])}return e+="]"}},{key:"getElementIndex",value:function(e,t){return t*this.RANK+e}},{key:"getElement",value:function(e,t){return this[t*this.RANK+e]}},{key:"setElement",value:function(e,t,A){return this[t*this.RANK+e]=Ke(A),this}},{key:"getColumn",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),A=e*this.RANK,n=0;n<this.RANK;++n)t[n]=this[A+n];return t}},{key:"setColumn",value:function(e,t){for(var A=e*this.RANK,n=0;n<this.RANK;++n)this[A+n]=t[n];return this}},{key:"ELEMENTS",get:function(){return Ue(!1),0}},{key:"RANK",get:function(){return Ue(!1),0}}]),A}(Pe)),ot=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),at=Object.freeze([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),st=Object.freeze({COL0ROW0:0,COL0ROW1:1,COL0ROW2:2,COL0ROW3:3,COL1ROW0:4,COL1ROW1:5,COL1ROW2:6,COL1ROW3:7,COL2ROW0:8,COL2ROW1:9,COL2ROW2:10,COL2ROW3:11,COL3ROW0:12,COL3ROW1:13,COL3ROW2:14,COL3ROW3:15}),gt={},ct=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(e){var r;return Object(n.a)(this,A),r=t.call(this,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),1===arguments.length&&Array.isArray(e)?r.copy(e):r.identity(),r}return Object(a.a)(A,[{key:"INDICES",get:function(){return st}},{key:"ELEMENTS",get:function(){return 16}},{key:"RANK",get:function(){return 4}}],[{key:"IDENTITY",get:function(){return gt.IDENTITY=gt.IDENTITY||Object.freeze(new A(ot)),gt.IDENTITY}},{key:"ZERO",get:function(){return gt.ZERO=gt.ZERO||Object.freeze(new A(at)),gt.ZERO}}]),Object(a.a)(A,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}},{key:"set",value:function(e,t,A,n,r,i,o,a,s,g,c,u,l,I,C,h){return this[0]=e,this[1]=t,this[2]=A,this[3]=n,this[4]=r,this[5]=i,this[6]=o,this[7]=a,this[8]=s,this[9]=g,this[10]=c,this[11]=u,this[12]=l,this[13]=I,this[14]=C,this[15]=h,this.check()}},{key:"setRowMajor",value:function(e,t,A,n,r,i,o,a,s,g,c,u,l,I,C,h){return this[0]=e,this[1]=r,this[2]=s,this[3]=l,this[4]=t,this[5]=i,this[6]=g,this[7]=I,this[8]=A,this[9]=o,this[10]=c,this[11]=C,this[12]=n,this[13]=a,this[14]=u,this[15]=h,this.check()}},{key:"toRowMajor",value:function(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}},{key:"identity",value:function(){return this.copy(ot)}},{key:"fromQuaternion",value:function(e){return ve.b(this,e),this.check()}},{key:"frustum",value:function(e){var t=e.left,n=e.right,r=e.bottom,i=e.top,o=e.near,a=e.far;return a===1/0?A._computeInfinitePerspectiveOffCenter(this,t,n,r,i,o):ve.c(this,t,n,r,i,o,a),this.check()}},{key:"lookAt",value:function(e,t,A){if(1===arguments.length){var n=e;e=n.eye,t=n.center,A=n.up}return t=t||[0,0,0],A=A||[0,1,0],ve.f(this,e,t,A),this.check()}},{key:"ortho",value:function(e){var t=e.left,A=e.right,n=e.bottom,r=e.top,i=e.near,o=void 0===i?.1:i,a=e.far,s=void 0===a?500:a;return ve.h(this,t,A,n,r,o,s),this.check()}},{key:"orthographic",value:function(e){var t=e.fovy,n=void 0===t?45*Math.PI/180:t,r=e.aspect,i=void 0===r?1:r,o=e.focalDistance,a=void 0===o?1:o,s=e.near,g=void 0===s?.1:s,c=e.far,u=void 0===c?500:c;if(n>2*Math.PI)throw Error("radians");var l=n/2,I=a*Math.tan(l),C=I*i;return(new A).ortho({left:-C,right:C,bottom:-I,top:I,near:g,far:u})}},{key:"perspective",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fovy,A=void 0===t?void 0:t,n=e.fov,r=void 0===n?45*Math.PI/180:n,i=e.aspect,o=void 0===i?1:i,a=e.near,s=void 0===a?.1:a,g=e.far,c=void 0===g?500:g;if((A=A||r)>2*Math.PI)throw Error("radians");return ve.i(this,A,o,s,c),this.check()}},{key:"determinant",value:function(){return ve.a(this)}},{key:"getScale",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}},{key:"getTranslation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}},{key:"getRotation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,A=this.getScale(t||[-0,-0,-0]),n=1/A[0],r=1/A[1],i=1/A[2];return e[0]=this[0]*n,e[1]=this[1]*r,e[2]=this[2]*i,e[3]=0,e[4]=this[4]*n,e[5]=this[5]*r,e[6]=this[6]*i,e[7]=0,e[8]=this[8]*n,e[9]=this[9]*r,e[10]=this[10]*i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},{key:"getRotationMatrix3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,A=this.getScale(t||[-0,-0,-0]),n=1/A[0],r=1/A[1],i=1/A[2];return e[0]=this[0]*n,e[1]=this[1]*r,e[2]=this[2]*i,e[3]=this[4]*n,e[4]=this[5]*r,e[5]=this[6]*i,e[6]=this[8]*n,e[7]=this[9]*r,e[8]=this[10]*i,e}},{key:"transpose",value:function(){return ve.p(this,this),this.check()}},{key:"invert",value:function(){return ve.e(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return ve.g(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return ve.g(this,this,e),this.check()}},{key:"rotateX",value:function(e){return ve.k(this,this,e),this.check()}},{key:"rotateY",value:function(e){return ve.l(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return ve.m(this,this,e),this.check()}},{key:"rotateXYZ",value:function(e){var t=Object(u.a)(e,3),A=t[0],n=t[1],r=t[2];return this.rotateX(A).rotateY(n).rotateZ(r)}},{key:"rotateAxis",value:function(e,t){return ve.j(this,this,e,t),this.check()}},{key:"scale",value:function(e){return Array.isArray(e)?ve.n(this,this,e):ve.n(this,this,[e,e,e]),this.check()}},{key:"translate",value:function(e){return ve.o(this,this,e),this.check()}},{key:"transform",value:function(e,t){return 4===e.length?(We(t=we.n(t||[-0,-0,-0,-0],e,this),4),t):this.transformAsPoint(e,t)}},{key:"transformAsPoint",value:function(e,t){switch(e.length){case 2:t=me.f(t||[-0,-0],e,this);break;case 3:t=be.p(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return We(t,e.length),t}},{key:"transformAsVector",value:function(e,t){switch(e.length){case 2:t=function(e,t,A){var n=t[0],r=t[1],i=A[3]*n+A[7]*r||1;return e[0]=(A[0]*n+A[4]*r)/i,e[1]=(A[1]*n+A[5]*r)/i,e}(t||[-0,-0],e,this);break;case 3:t=ze(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return We(t,e.length),t}},{key:"makeRotationX",value:function(e){return this.identity().rotateX(e)}},{key:"makeTranslation",value:function(e,t,A){return this.identity().translate([e,t,A])}},{key:"transformPoint",value:function(e,t){return qe("Matrix4.transformPoint","3.0"),this.transformAsPoint(e,t)}},{key:"transformVector",value:function(e,t){return qe("Matrix4.transformVector","3.0"),this.transformAsPoint(e,t)}},{key:"transformDirection",value:function(e,t){return qe("Matrix4.transformDirection","3.0"),this.transformAsVector(e,t)}}],[{key:"_computeInfinitePerspectiveOffCenter",value:function(e,t,A,n,r,i){var o=2*i/(A-t),a=2*i/(r-n),s=(A+t)/(A-t),g=(r+n)/(r-n),c=-2*i;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=s,e[9]=g,e[10]=-1,e[11]=-1,e[12]=0,e[13]=0,e[14]=c,e[15]=0,e}}]),A}(it),ut=(Math.max(6378137,6378137,6356752.314245179),function(e){return e}),lt=new tt;function It(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ut;return Ze(e)?(t[0]=A(e[0]),t[1]=A(e[1]),t[2]=e[2]):"longitude"in e?(t[0]=A(e.longitude),t[1]=A(e.latitude),t[2]=e.height):(t[0]=A(e.x),t[1]=A(e.y),t[2]=e.z),t}function Ct(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:lt;return It(e,t,Oe._cartographicRadians?ut:Ye)}function ht(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ut;return Ze(t)?(t[0]=A(e[0]),t[1]=A(e[1]),t[2]=e[2]):"longitude"in t?(t.longitude=A(e[0]),t.latitude=A(e[1]),t.height=e[2]):(t.x=A(e[0]),t.y=A(e[1]),t.z=e[2]),t}function ft(e,t){return ht(e,t,Oe._cartographicRadians?ut:Je)}var dt=new tt,Bt=new tt,pt=new tt;var Et=new tt,Qt={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},yt={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},vt={east:new tt,north:new tt,up:new tt,west:new tt,south:new tt,down:new tt},mt=new tt,bt=new tt,wt=new tt;function St(e,t,A,n,r,i){var o,a,s,g=Qt[t]&&Qt[t][A];Ue(g&&(!n||n===g));var c=Et.copy(r);if(je(c.x,0,1e-14)&&je(c.y,0,1e-14)){var u=Math.sign(c.z);o=mt.fromArray(yt[t]),"east"!==t&&"west"!==t&&o.scale(u),a=bt.fromArray(yt[A]),"east"!==A&&"west"!==A&&a.scale(u),s=wt.fromArray(yt[n]),"east"!==n&&"west"!==n&&s.scale(u)}else{var l=vt.up,I=vt.east,C=vt.north;I.set(-c.y,c.x,0).normalize(),e.geodeticSurfaceNormal(c,l),C.copy(l).cross(I);var h=vt.west,f=vt.south;vt.down.copy(l).scale(-1),h.copy(I).scale(-1),f.copy(C).scale(-1),o=vt[t],a=vt[A],s=vt[n]}return i[0]=o.x,i[1]=o.y,i[2]=o.z,i[3]=0,i[4]=a.x,i[5]=a.y,i[6]=a.z,i[7]=0,i[8]=s.x,i[9]=s.y,i[10]=s.z,i[11]=0,i[12]=c.x,i[13]=c.y,i[14]=c.z,i[15]=1,i}var Ft,Rt=new tt,Dt=new tt,Gt=new tt,kt=new tt,xt=new tt,Nt=new tt,Ut=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;Object(n.a)(this,e),Ue(t>=0),Ue(A>=0),Ue(r>=0),this.radii=new tt(t,A,r),this.radiiSquared=new tt(t*t,A*A,r*r),this.radiiToTheFourth=new tt(t*t*t*t,A*A*A*A,r*r*r*r),this.oneOverRadii=new tt(0===t?0:1/t,0===A?0:1/A,0===r?0:1/r),this.oneOverRadiiSquared=new tt(0===t?0:1/(t*t),0===A?0:1/(A*A),0===r?0:1/(r*r)),this.minimumRadius=Math.min(t,A,r),this.maximumRadius=Math.max(t,A,r),this.centerToleranceSquared=At,0!==this.radiiSquared.z&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}return Object(a.a)(e,null,[{key:"WGS84",get:function(){return Ft=Ft||new e(6378137,6378137,6356752.314245179)}}]),Object(a.a)(e,[{key:"equals",value:function(e){return this===e||Boolean(e&&this.radii.equals(e.radii))}},{key:"toString",value:function(){return this.radii.toString()}},{key:"cartographicToCartesian",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0],A=Dt,n=Gt,r=Object(u.a)(e,3),i=r[2];this.geodeticSurfaceNormalCartographic(e,A),n.copy(this.radiiSquared).scale(A);var o=Math.sqrt(A.dot(n));return n.scale(1/o),A.scale(i),n.add(A),n.to(t)}},{key:"cartesianToCartographic",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];Nt.from(e);var A=this.scaleToGeodeticSurface(Nt,kt);if(A){var n=this.geodeticSurfaceNormal(A,Dt),r=xt;r.copy(Nt).subtract(A);var i=Math.atan2(n.y,n.x),o=Math.asin(n.z),a=Math.sign(be.d(r,Nt))*be.g(r);return ft([i,o,a],t)}}},{key:"eastNorthUpToFixedFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new ct;return St(this,"east","north","up",e,t)}},{key:"localFrameToFixedFrame",value:function(e,t,A,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:new ct;return St(this,e,t,A,n,r)}},{key:"geocentricSurfaceNormal",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return Rt.from(e).normalize().to(t)}},{key:"geodeticSurfaceNormalCartographic",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0],A=Ct(e),n=A[0],r=A[1],i=Math.cos(r);return Rt.set(i*Math.cos(n),i*Math.sin(n),Math.sin(r)).normalize(),Rt.to(t)}},{key:"geodeticSurfaceNormal",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return Rt.from(e).scale(this.oneOverRadiiSquared).normalize().to(t)}},{key:"scaleToGeodeticSurface",value:function(e,t){return function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new tt,n=t.oneOverRadii,r=t.oneOverRadiiSquared,i=t.centerToleranceSquared;dt.from(e);var o=e.x,a=e.y,s=e.z,g=n.x,c=n.y,u=n.z,l=o*o*g*g,I=a*a*c*c,C=s*s*u*u,h=l+I+C,f=Math.sqrt(1/h);if(Number.isFinite(f)){var d=Bt;if(d.copy(e).scale(f),h<i)return d.to(A);var B=r.x,p=r.y,E=r.z,Q=pt;Q.set(d.x*B*2,d.y*p*2,d.z*E*2);var y,v,m,b,w=(1-f)*e.len()/(.5*Q.len()),S=0;do{var F=(y=1/(1+(w-=S)*B))*y,R=(v=1/(1+w*p))*v,D=(m=1/(1+w*E))*m,G=F*y,k=R*v,x=D*m,N=l*G*B+I*k*p+C*x*E,U=-2*N;S=(b=l*F+I*R+C*D-1)/U}while(Math.abs(b)>nt);return dt.scale([y,v,m]).to(A)}}(e,this,t)}},{key:"scaleToGeocentricSurface",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];kt.from(e);var A=kt.x,n=kt.y,r=kt.z,i=this.oneOverRadiiSquared,o=1/Math.sqrt(A*A*i.x+n*n*i.y+r*r*i.z);return kt.multiplyScalar(o).to(t)}},{key:"transformPositionToScaledSpace",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return kt.from(e).scale(this.oneOverRadii).to(t)}},{key:"transformPositionFromScaledSpace",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return kt.from(e).scale(this.radii).to(t)}},{key:"getSurfaceNormalIntersectionWithZAxis",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[0,0,0];Ue(je(this.radii.x,this.radii.y,rt)),Ue(this.radii.z>0),kt.from(e);var n=kt.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(n)>=this.radii.z-t))return kt.set(0,0,n).to(A)}}]),e}(),_t=A(423),Mt=A(227),Ot=A(76),Lt=A(578),Tt=function e(t,A,r){Object(n.a)(this,e),this.item=t,this.previous=A,this.next=r},Zt=function(){function e(){Object(n.a)(this,e),this.head=null,this.tail=null,this._length=0}return Object(a.a)(e,[{key:"add",value:function(e){var t=new Tt(e,this.tail,null);return this.tail?(this.tail.next=t,this.tail=t):(this.head=t,this.tail=t),++this._length,t}},{key:"remove",value:function(e){e&&(e.previous&&e.next?(e.previous.next=e.next,e.next.previous=e.previous):e.previous?(e.previous.next=null,this.tail=e.previous):e.next?(e.next.previous=null,this.head=e.next):(this.head=null,this.tail=null),e.next=null,e.previous=null,--this._length)}},{key:"splice",value:function(e,t){e!==t&&(this.remove(t),this._insert(e,t))}},{key:"_insert",value:function(e,t){var A=e.next;e.next=t,this.tail===e?this.tail=t:A.previous=t,t.next=A,t.previous=e,++this._length}},{key:"length",get:function(){return this._length}}]),e}();function Ht(e){return void 0!==e&&null!==e}var Yt=function(){function e(){Object(n.a)(this,e),Ae(this,"_list",void 0),Ae(this,"_sentinel",void 0),Ae(this,"_trimTiles",void 0),this._list=new Zt,this._sentinel=this._list.add("sentinel"),this._trimTiles=!1}return Object(a.a)(e,[{key:"reset",value:function(){this._list.splice(this._list.tail,this._sentinel)}},{key:"touch",value:function(e){var t=e._cacheNode;Ht(t)&&this._list.splice(this._sentinel,t)}},{key:"add",value:function(e,t,A){Ht(t._cacheNode)||(t._cacheNode=this._list.add(t),A&&A(e,t))}},{key:"unloadTile",value:function(e,t,A){var n=t._cacheNode;Ht(n)&&(this._list.remove(n),t._cacheNode=void 0,A&&A(e,t))}},{key:"unloadTiles",value:function(e,t){var A=this._trimTiles;this._trimTiles=!1;for(var n=this._list,r=1024*e.maximumMemoryUsage*1024,i=this._sentinel,o=n.head;o!==i&&(e.gpuMemoryUsageInBytes>r||A);){var a=o.item;o=o.next,this.unloadTile(e,a,t)}}},{key:"trim",value:function(){this._trimTiles=!0}}]),e}();var Jt=A(81),jt=new Ne,Pt=new Ne,Vt=new Jt.c([new Jt.e,new Jt.e,new Jt.e,new Jt.e,new Jt.e,new Jt.e]);function Kt(e,t){var A=e.cameraDirection,n=e.cameraUp,r=e.height,i=e.distanceScales.metersPerUnit,o=[e.longitude,e.latitude,0],a=Ut.WGS84.cartographicToCartesian(o,new Ne),s=Ut.WGS84.eastNorthUpToFixedFrame(a),g=e.unprojectPosition(e.cameraPosition),c=Ut.WGS84.cartographicToCartesian(g,new Ne),u=new Ne(s.transformAsVector(new Ne(A).scale(i))).normalize(),l=new Ne(s.transformAsVector(new Ne(n).scale(i))).normalize();return function(e,t){var A=e.getFrustumPlanes(),n=0;for(var r in A){var i=A[r],o=i.normal.dot(e.center);Pt.copy(i.normal).scale(i.distance-o).add(e.center);var a=e.unprojectPosition(Pt),s=Ut.WGS84.cartographicToCartesian(a,new Ne);Vt.planes[n++].fromPointNormal(s,jt.copy(t).subtract(s))}}(e,a),{camera:{position:c,direction:u,up:l},viewport:e,height:r,cullingVolume:Vt,frameNumber:t,sseDenominator:1.15}}var Wt=new Ne;function Xt(e){var t=e.halfAxes,A=e.radius,n=e.width,r=e.height;if(t){var i=function(e){e.getColumn(0,Wt);var t=e.getColumn(1),A=e.getColumn(2);return Wt.add(t).add(A).len()}(t);return Math.log2(6356752.314245179/i)}return A?Math.log2(6356752.314245179/A):r&&n?(Math.log2(6378137/n)+Math.log2(6378137/r))/2:1}var qt=A(2),zt=0,$t=1,eA=3,tA=4,AA=5,nA=1,rA=2,iA="empty",oA="scenegraph",aA="pointcloud",sA="mesh",gA="I3S",cA="TILES3D",uA="geometricError",lA=1,IA=A(34),CA=[0,0,0,1],hA=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return Object(n.a)(this,A),e=t.call(this,-0,-0,-0,-0),Array.isArray(r)&&1===arguments.length?e.copy(r):e.set(r,i,o,a),e}return Object(a.a)(A,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,A,n){return this[0]=e,this[1]=t,this[2]=A,this[3]=n,this.check()}},{key:"fromMatrix3",value:function(e){return IA.e(this,e),this.check()}},{key:"identity",value:function(){return IA.f(this),this.check()}},{key:"fromAxisRotation",value:function(e,t){return IA.p(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"len",value:function(){return IA.h(this)}},{key:"lengthSquared",value:function(){return IA.r(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return IA.d(this,e)}},{key:"rotationTo",value:function(e,t){return IA.n(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return IA.a(this,this,e),this.check()}},{key:"calculateW",value:function(){return IA.b(this,this),this.check()}},{key:"conjugate",value:function(){return IA.c(this,this),this.check()}},{key:"invert",value:function(){return IA.g(this,this),this.check()}},{key:"lerp",value:function(e,t,A){return IA.i(this,e,t,A),this.check()}},{key:"multiplyRight",value:function(e,t){return re(!t),IA.j(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return re(!t),IA.j(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return IA.k(this,this,e),this.check()}},{key:"rotateY",value:function(e){return IA.l(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return IA.m(this,this,e),this.check()}},{key:"scale",value:function(e){return IA.o(this,this,e),this.check()}},{key:"slerp",value:function(e,t,A){switch(arguments.length){case 1:var n=arguments[0],r=n.start;e=void 0===r?CA:r,t=n.target,A=n.ratio;break;case 2:var i=Array.prototype.slice.call(arguments);t=i[0],A=i[1],e=this}return IA.q(this,e,t,A),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return we.o(t,e,this),de(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=fe(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=fe(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=fe(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=fe(e)}}]),A}(Ee),fA=A(58),dA=Object.freeze([1,0,0,0,1,0,0,0,1]),BA=Object.freeze([0,0,0,0,0,0,0,0,0]),pA=Object.freeze({COL0ROW0:0,COL0ROW1:1,COL0ROW2:2,COL1ROW0:3,COL1ROW1:4,COL1ROW2:5,COL2ROW0:6,COL2ROW1:7,COL2ROW2:8}),EA={},QA=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(e){var r;return Object(n.a)(this,A),r=t.call(this,-0,-0,-0,-0,-0,-0,-0,-0,-0),1===arguments.length&&Array.isArray(e)?r.copy(e):r.identity(),r}return Object(a.a)(A,[{key:"ELEMENTS",get:function(){return 9}},{key:"RANK",get:function(){return 3}},{key:"INDICES",get:function(){return pA}}],[{key:"IDENTITY",get:function(){return EA.IDENTITY=EA.IDENTITY||Object.freeze(new A(dA)),EA.IDENTITY}},{key:"ZERO",get:function(){return EA.ZERO=EA.ZERO||Object.freeze(new A(BA)),EA.ZERO}}]),Object(a.a)(A,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this.check()}},{key:"set",value:function(e,t,A,n,r,i,o,a,s){return this[0]=e,this[1]=t,this[2]=A,this[3]=n,this[4]=r,this[5]=i,this[6]=o,this[7]=a,this[8]=s,this.check()}},{key:"setRowMajor",value:function(e,t,A,n,r,i,o,a,s){return this[0]=e,this[1]=n,this[2]=o,this[3]=t,this[4]=r,this[5]=a,this[6]=A,this[7]=i,this[8]=s,this.check()}},{key:"determinant",value:function(){return fA.b(this)}},{key:"identity",value:function(){return this.copy(dA)}},{key:"fromQuaternion",value:function(e){return fA.c(this,e),this.check()}},{key:"transpose",value:function(){return fA.i(this,this),this.check()}},{key:"invert",value:function(){return fA.d(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return fA.e(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return fA.e(this,this,e),this.check()}},{key:"rotate",value:function(e){return fA.f(this,this,e),this.check()}},{key:"scale",value:function(e){return Array.isArray(e)?fA.g(this,this,e):fA.g(this,this,[e,e,e]),this.check()}},{key:"translate",value:function(e){return fA.h(this,this,e),this.check()}},{key:"transform",value:function(e,t){switch(e.length){case 2:t=me.e(t||[-0,-0],e,this);break;case 3:t=be.o(t||[-0,-0,-0],e,this);break;case 4:t=function(e,t,A){var n=t[0],r=t[1],i=t[2];return e[0]=A[0]*n+A[3]*r+A[6]*i,e[1]=A[1]*n+A[4]*r+A[7]*i,e[2]=A[2]*n+A[5]*r+A[8]*i,e[3]=t[3],e}(t||[-0,-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return de(t,e.length),t}},{key:"transformVector",value:function(e,t){return pe("Matrix3.transformVector"),this.transform(e,t)}},{key:"transformVector2",value:function(e,t){return pe("Matrix3.transformVector"),this.transform(e,t)}},{key:"transformVector3",value:function(e,t){return pe("Matrix3.transformVector"),this.transform(e,t)}}]),A}(Qe);function yA(e){return void 0!==e&&null!==e}var vA=new Ne,mA=new Ne,bA=new Ne;function wA(e,t,A){if(Object(Mt.a)(e,"3D Tile: boundingVolume must be defined"),e.box)return function(e,t,A){var n=new Ne(e[0],e[1],e[2]);t.transform(n,n);var r=[];if(10===e.length){var i=e.slice(3,6),o=new hA;o.fromArray(e,6);var a=new Ne([1,0,0]),s=new Ne([0,1,0]),g=new Ne([0,0,1]);a.transformByQuaternion(o),a.scale(i[0]),s.transformByQuaternion(o),s.scale(i[1]),g.transformByQuaternion(o),g.scale(i[2]),r=[].concat(Object(ne.a)(a.toArray()),Object(ne.a)(s.toArray()),Object(ne.a)(g.toArray()))}else r=[].concat(Object(ne.a)(e.slice(3,6)),Object(ne.a)(e.slice(6,9)),Object(ne.a)(e.slice(9,12)));var c=t.transformAsVector(r.slice(0,3)),u=t.transformAsVector(r.slice(3,6)),l=t.transformAsVector(r.slice(6,9)),I=new QA([c[0],c[1],c[2],u[0],u[1],u[2],l[0],l[1],l[2]]);if(yA(A))return A.center=n,A.halfAxes=I,A;return new Jt.d(n,I)}(e.box,t,A);if(e.region){var n=Object(u.a)(e.region,6),r=n[0],i=n[1],o=n[2],a=n[3],s=n[4],g=n[5],c=Ut.WGS84.cartographicToCartesian([Ie(r),Ie(a),s],mA),l=Ut.WGS84.cartographicToCartesian([Ie(o),Ie(i),g],bA),I=(new Ne).addVectors(c,l).multiplyScalar(.5),C=(new Ne).subVectors(c,l).len()/2;return SA([I[0],I[1],I[2],C],new Ge)}if(e.sphere)return SA(e.sphere,t,A);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function SA(e,t,A){var n=new Ne(e[0],e[1],e[2]);t.transform(n,n);var r=t.getScale(vA),i=Math.max(Math.max(r[0],r[1]),r[2]),o=e[3]*i;return yA(A)?(A.center=n,A.radius=o,A):new Jt.b(n,o)}new Ne,new Ne,new Ge,new Ne,new Ne,new Ne;function FA(e,t){if(e.dynamicScreenSpaceError&&e.dynamicScreenSpaceErrorComputedDensity){var A=e.dynamicScreenSpaceErrorComputedDensity,n=e.dynamicScreenSpaceErrorFactor;return function(e,t){var A=e*t;return 1-Math.exp(-A*A)}(t,A)*n}return 0}var RA=Math.PI/2;function DA(e){var t=Object(u.a)(e,3),A=t[0],n=t[1],r=t[2],i=le(A),o=le(n),a=1+r/6378137,s=a*Math.cos(o);return[A=s*Math.cos(i),n=s*Math.sin(i),r=a*Math.sin(o)]}function GA(e,t){var A=Object(u.a)(e,3),n=A[0],r=A[1],i=A[2],o=void 0===i?0:i,a=Object(u.a)(t,3),s=a[0],g=a[1],c=a[2],l=DA([s,g,void 0===c?0:c]),I=DA([n,r,o]),C=I[0]-l[0],h=I[1]-l[1],f=I[2]-l[2];return C*C+h*h+f*f}function kA(e,t){var A=t.viewport,n=e.header.mbs[1],r=[e.header.mbs[0],n,e.header.mbs[2]],i=e.header.mbs[3]/6378137,o=GA(A.unprojectPosition(A.cameraPosition),r)-i*i;return o<=0?170141175e30:function(e){return e.viewport.projectionMatrix[5]}(t)*i/Math.sqrt(o)*300}var xA=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;Object(n.a)(this,e),this._array=new Array(t),this._map=new Map,this._length=t}return Object(a.a)(e,[{key:"get",value:function(e){return Object(Mt.a)(e<this._array.length),this._array[e]}},{key:"set",value:function(e,t){Object(Mt.a)(e>=0),e>=this.length&&(this.length=e+1),this._map.has(this._array[e])&&this._map.delete(this._array[e]),this._array[e]=t,this._map.set(t,e)}},{key:"delete",value:function(e){var t=this._map.get(e);t>=0&&(this._array.splice(t,1),this._map.delete(e),this.length--)}},{key:"peek",value:function(){return this._array[this._length-1]}},{key:"push",value:function(e){if(!this._map.has(e)){var t=this.length++;this._array[t]=e,this._map.set(e,t)}}},{key:"pop",value:function(){var e=this._array[--this.length];return this._map.delete(e),e}},{key:"reserve",value:function(e){Object(Mt.a)(e>=0),e>this._array.length&&(this._array.length=e)}},{key:"resize",value:function(e){Object(Mt.a)(e>=0),this.length=e}},{key:"trim",value:function(e){null!==e&&void 0!==e||(e=this.length),this._array.length=e}},{key:"reset",value:function(){this._array=[],this._map=new Map,this._length=0}},{key:"find",value:function(e){return this._map.has(e)}},{key:"length",get:function(){return this._length},set:function(e){this._length=e,e>this._array.length&&(this._array.length=e)}},{key:"values",get:function(){return this._array}}]),e}(),NA={loadSiblings:!1,skipLevelOfDetail:!1,maximumScreenSpaceError:2,updateTransforms:!0,onTraversalEnd:function(){},viewportTraversersMap:{},basePath:""},UA=function(){function e(t){Object(n.a)(this,e),Ae(this,"options",void 0),Ae(this,"root",void 0),Ae(this,"requestedTiles",void 0),Ae(this,"selectedTiles",void 0),Ae(this,"emptyTiles",void 0),Ae(this,"_traversalStack",void 0),Ae(this,"_emptyTraversalStack",void 0),Ae(this,"_frameNumber",void 0),this.options=Object(s.a)({},NA,{},t),this._traversalStack=new xA,this._emptyTraversalStack=new xA,this._frameNumber=null,this.root=null,this.selectedTiles={},this.requestedTiles={},this.emptyTiles={}}return Object(a.a)(e,[{key:"traverse",value:function(e,t,A){this.root=e,this.options=Object(s.a)({},this.options,{},A),this.reset(),this.updateTile(e,t),this._frameNumber=t.frameNumber,this.executeTraversal(e,t)}},{key:"reset",value:function(){this.requestedTiles={},this.selectedTiles={},this.emptyTiles={},this._traversalStack.reset(),this._emptyTraversalStack.reset()}},{key:"executeTraversal",value:function(e,t){var A=this._traversalStack;for(e._selectionDepth=1,A.push(e);A.length>0;){var n=A.pop(),r=!1;this.canTraverse(n,t)&&(this.updateChildTiles(n,t),r=this.updateAndPushChildren(n,t,A,n.hasRenderContent?n._selectionDepth+1:n._selectionDepth));var i=n.parent,o=Boolean(!i||i._shouldRefine),a=!r;n.hasRenderContent?n.refine===nA?(this.loadTile(n,t),this.selectTile(n,t)):n.refine===rA&&(this.loadTile(n,t),a&&this.selectTile(n,t)):(this.emptyTiles[n.id]=n,this.loadTile(n,t),a&&this.selectTile(n,t)),this.touchTile(n,t),n._shouldRefine=r&&o}this.options.onTraversalEnd(t)}},{key:"updateChildTiles",value:function(e,t){var A,n=e.children,r=Object(R.a)(n);try{for(r.s();!(A=r.n()).done;){var i=A.value;this.updateTile(i,t)}}catch(o){r.e(o)}finally{r.f()}return!0}},{key:"updateAndPushChildren",value:function(e,t,A,n){var r=this.options,i=r.loadSiblings,o=r.skipLevelOfDetail,a=e.children;a.sort(this.compareDistanceToCamera.bind(this));var s,g=e.refine===rA&&e.hasRenderContent&&!o,c=!1,u=!0,l=Object(R.a)(a);try{for(l.s();!(s=l.n()).done;){var I=s.value;if(I._selectionDepth=n,I.isVisibleAndInRequestVolume?(A.find(I)&&A.delete(I),A.push(I),c=!0):(g||i)&&(this.loadTile(I,t),this.touchTile(I,t)),g){var C=void 0;if(C=!!I._inRequestVolume&&(I.hasRenderContent?I.contentAvailable:this.executeEmptyTraversal(I,t)),!(u=u&&C))return!1}}}catch(h){l.e(h)}finally{l.f()}return c||(u=!1),u}},{key:"updateTile",value:function(e,t){this.updateTileVisibility(e,t)}},{key:"selectTile",value:function(e,t){this.shouldSelectTile(e)&&(e._selectedFrame=t.frameNumber,this.selectedTiles[e.id]=e)}},{key:"loadTile",value:function(e,t){this.shouldLoadTile(e)&&(e._requestedFrame=t.frameNumber,e._priority=e._getPriority(),this.requestedTiles[e.id]=e)}},{key:"touchTile",value:function(e,t){e.tileset._cache.touch(e),e._touchedFrame=t.frameNumber}},{key:"canTraverse",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return!!e.hasChildren&&(e.hasTilesetContent?!e.contentExpired:!(!n&&!e.isVisibleAndInRequestVolume)&&this.shouldRefine(e,t,A))}},{key:"shouldLoadTile",value:function(e){return e.hasUnloadedContent||e.contentExpired}},{key:"shouldSelectTile",value:function(e){return e.contentAvailable&&!this.options.skipLevelOfDetail}},{key:"shouldRefine",value:function(e,t,A){var n=e._screenSpaceError;return A&&(n=e.getScreenSpaceError(t,!0)),n>this.options.maximumScreenSpaceError}},{key:"updateTileVisibility",value:function(e,t){var A=[];if(this.options.viewportTraversersMap)for(var n in this.options.viewportTraversersMap){this.options.viewportTraversersMap[n]===t.viewport.id&&A.push(n)}else A.push(t.viewport.id);e.updateVisibility(t,A)}},{key:"compareDistanceToCamera",value:function(e,t){return e._distanceToCamera-t._distanceToCamera}},{key:"anyChildrenVisible",value:function(e,t){var A,n=!1,r=Object(R.a)(e.children);try{for(r.s();!(A=r.n()).done;){var i=A.value;i.updateVisibility(t),n=n||i.isVisibleAndInRequestVolume}}catch(o){r.e(o)}finally{r.f()}return n}},{key:"executeEmptyTraversal",value:function(e,t){var A=!0,n=this._emptyTraversalStack;for(n.push(e);n.length>0&&A;){var r=n.pop();if(this.updateTile(r,t),r.isVisibleAndInRequestVolume||this.loadTile(r,t),this.touchTile(r,t),!r.hasRenderContent&&this.canTraverse(r,t,!1,!0)){var i,o=r.children,a=Object(R.a)(o);try{for(a.s();!(i=a.n()).done;){var s=i.value;n.find(s)&&n.delete(s),n.push(s)}}catch(g){a.e(g)}finally{a.f()}}else r.contentAvailable||(A=!1)}return A}}]),e}(),_A=new Ne;var MA=function(){function e(t,A,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";Object(n.a)(this,e),Ae(this,"tileset",void 0),Ae(this,"header",void 0),Ae(this,"id",void 0),Ae(this,"url",void 0),Ae(this,"parent",void 0),Ae(this,"refine",void 0),Ae(this,"type",void 0),Ae(this,"contentUrl",void 0),Ae(this,"lodMetricType",void 0),Ae(this,"lodMetricValue",void 0),Ae(this,"boundingVolume",void 0),Ae(this,"content",void 0),Ae(this,"contentState",void 0),Ae(this,"gpuMemoryUsageInBytes",void 0),Ae(this,"children",void 0),Ae(this,"depth",void 0),Ae(this,"viewportIds",void 0),Ae(this,"transform",void 0),Ae(this,"userData",void 0),Ae(this,"computedTransform",void 0),Ae(this,"hasEmptyContent",void 0),Ae(this,"hasTilesetContent",void 0),Ae(this,"traverser",void 0),Ae(this,"_cacheNode",void 0),Ae(this,"_frameNumber",void 0),Ae(this,"_lodJudge",void 0),Ae(this,"_expireDate",void 0),Ae(this,"_expiredContent",void 0),Ae(this,"_shouldRefine",void 0),Ae(this,"_distanceToCamera",void 0),Ae(this,"_centerZDepth",void 0),Ae(this,"_screenSpaceError",void 0),Ae(this,"_visibilityPlaneMask",void 0),Ae(this,"_visible",void 0),Ae(this,"_inRequestVolume",void 0),Ae(this,"_stackLength",void 0),Ae(this,"_selectionDepth",void 0),Ae(this,"_touchedFrame",void 0),Ae(this,"_visitedFrame",void 0),Ae(this,"_selectedFrame",void 0),Ae(this,"_requestedFrame",void 0),Ae(this,"_priority",void 0),Ae(this,"_contentBoundingVolume",void 0),Ae(this,"_viewerRequestVolume",void 0),Ae(this,"_initialTransform",void 0),this.header=A,this.tileset=t,this.id=i||A.id,this.url=A.url,this.parent=r,this.refine=this._getRefine(A.refine),this.type=A.type,this.contentUrl=A.contentUrl,this.lodMetricType="geometricError",this.lodMetricValue=0,this.boundingVolume=null,this.content=null,this.contentState=zt,this.gpuMemoryUsageInBytes=0,this.children=[],this.hasEmptyContent=!1,this.hasTilesetContent=!1,this.depth=0,this.viewportIds=[],this.userData={},this._priority=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._screenSpaceError=0,this._cacheNode=null,this._frameNumber=null,this._cacheNode=null,this.traverser=new UA({}),this._shouldRefine=!1,this._distanceToCamera=0,this._centerZDepth=0,this._visible=void 0,this._inRequestVolume=!1,this._stackLength=0,this._selectionDepth=0,this._initialTransform=new Ge,this.transform=new Ge,this._initializeLodMetric(A),this._initializeTransforms(A),this._initializeBoundingVolumes(A),this._initializeContent(A),this._initializeRenderingState(A),this._lodJudge=null,this._expireDate=null,this._expiredContent=null,Object.seal(this)}return Object(a.a)(e,[{key:"destroy",value:function(){this.header=null}},{key:"isDestroyed",value:function(){return null===this.header}},{key:"getScreenSpaceError",value:function(e,t){switch(this.tileset.type){case gA:return kA(this,e);case cA:return function(e,t,A){var n=e.tileset,r=e.parent&&e.parent.lodMetricValue||e.lodMetricValue,i=A?r:e.lodMetricValue;if(0===i)return 0;var o=Math.max(e._distanceToCamera,1e-7),a=t.height,s=t.sseDenominator,g=i*a*(n.options.viewDistanceScale||1)/(o*s);return g-=FA(n,o)}(this,e,t);default:throw new Error("Unsupported tileset type")}}},{key:"_getPriority",value:function(){var e=this.tileset._traverser,t=e.options.skipLevelOfDetail,A=this.refine===nA||t;if(A&&!this.isVisible&&void 0!==this._visible)return-1;if(this.tileset._frameNumber-this._touchedFrame>=1)return-1;if(this.contentState===zt)return-1;var n=this.parent,r=n&&(!A||0===this._screenSpaceError||n.hasTilesetContent)?n._screenSpaceError:this._screenSpaceError,i=e.root?e.root._screenSpaceError:0;return Math.max(i-r,0)}},{key:"loadContent",value:function(){var e=Object(J.a)(Y.a.mark((function e(){var t,A,n,r;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.hasEmptyContent){e.next=2;break}return e.abrupt("return",!1);case 2:if(!this.content){e.next=4;break}return e.abrupt("return",!0);case 4:return this.contentExpired&&(this._expireDate=null),this.contentState=$t,e.next=9,this.tileset._requestScheduler.scheduleRequest(this.id,this._getPriority.bind(this));case 9:if(t=e.sent){e.next=13;break}return this.contentState=zt,e.abrupt("return",!1);case 13:return e.prev=13,A=this.tileset.getTileUrl(this.contentUrl),n=this.tileset.loader,r=Object(s.a)({},this.tileset.loadOptions,Object(qt.a)({},n.id,Object(s.a)({},this.tileset.loadOptions[n.id],{isTileset:"json"===this.type},this._getLoaderSpecificOptions(n.id)))),e.next=19,Object(te.a)(A,n,r);case 19:if(this.content=e.sent,!this.tileset.options.contentLoader){e.next=23;break}return e.next=23,this.tileset.options.contentLoader(this);case 23:return this._isTileset()&&this.tileset._initializeTileHeaders(this.content,this),this.contentState=eA,this._onContentLoaded(),e.abrupt("return",!0);case 29:throw e.prev=29,e.t0=e.catch(13),this.contentState=AA,e.t0;case 33:return e.prev=33,t.done(),e.finish(33);case 36:case"end":return e.stop()}}),e,this,[[13,29,33,36]])})));return function(){return e.apply(this,arguments)}}()},{key:"unloadContent",value:function(){return this.content&&this.content.destroy&&this.content.destroy(),this.content=null,this.header.content&&this.header.content.destroy&&this.header.content.destroy(),this.header.content=null,this.contentState=zt,!0}},{key:"updateVisibility",value:function(e,t){if(this._frameNumber!==e.frameNumber){var A=this.parent,n=A?A._visibilityPlaneMask:Jt.c.MASK_INDETERMINATE;if(this.tileset._traverser.options.updateTransforms){var r=A?A.computedTransform:this.tileset.modelMatrix;this._updateTransform(r)}this._distanceToCamera=this.distanceToTile(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._visibilityPlaneMask=this.visibility(e,n),this._visible=this._visibilityPlaneMask!==Jt.c.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._frameNumber=e.frameNumber,this.viewportIds=t}}},{key:"visibility",value:function(e,t){var A=e.cullingVolume,n=this.boundingVolume;return A.computeVisibilityWithPlaneMask(n,t)}},{key:"contentVisibility",value:function(){return!0}},{key:"distanceToTile",value:function(e){var t=this.boundingVolume;return Math.sqrt(Math.max(t.distanceSquaredTo(e.camera.position),0))}},{key:"cameraSpaceZDepth",value:function(e){var t=e.camera,A=this.boundingVolume;return _A.subVectors(A.center,t.position),t.direction.dot(_A)}},{key:"insideViewerRequestVolume",value:function(e){var t=this._viewerRequestVolume;return!t||t.distanceSquaredTo(e.camera.position)<=0}},{key:"updateExpiration",value:function(){if(void 0!==(t=this._expireDate)&&null!==t&&this.contentReady&&!this.hasEmptyContent){var e=Date.now();Date.lessThan(this._expireDate,e)&&(this.contentState=tA,this._expiredContent=this.content)}var t}},{key:"_initializeLodMetric",value:function(e){"lodMetricType"in e?this.lodMetricType=e.lodMetricType:(this.lodMetricType=this.parent&&this.parent.lodMetricType||this.tileset.lodMetricType,console.warn("3D Tile: Required prop lodMetricType is undefined. Using parent lodMetricType")),"lodMetricValue"in e?this.lodMetricValue=e.lodMetricValue:(this.lodMetricValue=this.parent&&this.parent.lodMetricValue||this.tileset.lodMetricValue,console.warn("3D Tile: Required prop lodMetricValue is undefined. Using parent lodMetricValue"))}},{key:"_initializeTransforms",value:function(e){this.transform=e.transform?new Ge(e.transform):new Ge;var t=this.parent,A=this.tileset,n=t&&t.computedTransform?t.computedTransform.clone():A.modelMatrix.clone();this.computedTransform=new Ge(n).multiplyRight(this.transform);var r=t&&t._initialTransform?t._initialTransform.clone():new Ge;this._initialTransform=new Ge(r).multiplyRight(this.transform)}},{key:"_initializeBoundingVolumes",value:function(e){this._contentBoundingVolume=null,this._viewerRequestVolume=null,this._updateBoundingVolume(e)}},{key:"_initializeContent",value:function(e){this.content={_tileset:this.tileset,_tile:this},this.hasEmptyContent=!0,this.contentState=zt,this.hasTilesetContent=!1,e.contentUrl&&(this.content=null,this.hasEmptyContent=!1)}},{key:"_initializeRenderingState",value:function(e){this.depth=e.level||(this.parent?this.parent.depth+1:0),this._shouldRefine=!1,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._visibilityPlaneMask=Jt.c.MASK_INDETERMINATE,this._visible=void 0,this._inRequestVolume=!1,this._stackLength=0,this._selectionDepth=0,this._frameNumber=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._priority=0}},{key:"_getRefine",value:function(e){return e||this.parent&&this.parent.refine||rA}},{key:"_isTileset",value:function(){return-1!==this.contentUrl.indexOf(".json")}},{key:"_onContentLoaded",value:function(){switch(this.content&&this.content.type){case"vctr":case"geom":this.tileset._traverser.disableSkipLevelOfDetail=!0}this._isTileset()&&(this.hasTilesetContent=!0)}},{key:"_updateBoundingVolume",value:function(e){this.boundingVolume=wA(e.boundingVolume,this.computedTransform,this.boundingVolume);var t=e.content;t&&(t.boundingVolume&&(this._contentBoundingVolume=wA(t.boundingVolume,this.computedTransform,this._contentBoundingVolume)),e.viewerRequestVolume&&(this._viewerRequestVolume=wA(e.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)))}},{key:"_updateTransform",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Ge,t=e.clone().multiplyRight(this.transform),A=!t.equals(this.computedTransform);A&&(this.computedTransform=t,this._updateBoundingVolume(this.header))}},{key:"_getLoaderSpecificOptions",value:function(e){switch(e){case"i3s":return Object(s.a)({},this.tileset.options.i3s,{tile:this.header,tileset:this.tileset.tileset,isTileHeader:!1});case"3d-tiles":case"cesium-ion":default:return{assetGltfUpAxis:(t=this.tileset.tileset).asset&&t.asset.gltfUpAxis||"Y"}}var t}},{key:"selected",get:function(){return this._selectedFrame===this.tileset._frameNumber}},{key:"isVisible",get:function(){return this._visible}},{key:"isVisibleAndInRequestVolume",get:function(){return this._visible&&this._inRequestVolume}},{key:"hasRenderContent",get:function(){return!this.hasEmptyContent&&!this.hasTilesetContent}},{key:"hasChildren",get:function(){return this.children.length>0||this.header.children&&this.header.children.length>0}},{key:"contentReady",get:function(){return this.contentState===eA||this.hasEmptyContent}},{key:"contentAvailable",get:function(){return Boolean(this.contentReady&&this.hasRenderContent||this._expiredContent&&!this.contentFailed)}},{key:"hasUnloadedContent",get:function(){return this.hasRenderContent&&this.contentUnloaded}},{key:"contentUnloaded",get:function(){return this.contentState===zt}},{key:"contentExpired",get:function(){return this.contentState===tA}},{key:"contentFailed",get:function(){return this.contentState===AA}},{key:"extras",get:function(){return this.header.extras}}]),e}(),OA=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"compareDistanceToCamera",value:function(e,t){return 0===t._distanceToCamera&&0===e._distanceToCamera?t._centerZDepth-e._centerZDepth:t._distanceToCamera-e._distanceToCamera}},{key:"updateTileVisibility",value:function(e,t){if(Object(S.a)(Object(w.a)(A.prototype),"updateTileVisibility",this).call(this,e,t),e.isVisibleAndInRequestVolume){var n=e.children.length>0;if(e.hasTilesetContent&&n){var r=e.children[0];return this.updateTileVisibility(r,t),void(e._visible=r._visible)}if(this.meetsScreenSpaceErrorEarly(e,t))e._visible=!1;else{var i=e.refine===rA,o=e._optimChildrenWithinParent===lA;i&&o&&n&&!this.anyChildrenVisible(e,t)&&(e._visible=!1)}}}},{key:"meetsScreenSpaceErrorEarly",value:function(e,t){var A=e.parent;return!(!A||A.hasTilesetContent||A.refine!==nA)&&!this.shouldRefine(e,t,!0)}}]),A}(UA),LA=A(24),TA="REQUESTED",ZA="COMPLETED",HA="ERROR",YA=function(){function e(){Object(n.a)(this,e),Ae(this,"_statusMap",void 0),this._statusMap={}}return Object(a.a)(e,[{key:"add",value:function(e,t,A,n){var r=this;this._statusMap[t]||(this._statusMap[t]={request:e,callback:A,key:t,frameState:n,status:TA},e().then((function(e){r._statusMap[t].status=ZA,r._statusMap[t].callback(e,n)})).catch((function(e){r._statusMap[t].status=HA,A(e)})))}},{key:"update",value:function(e,t){this._statusMap[e]&&(this._statusMap[e].frameState=t)}},{key:"find",value:function(e){return this._statusMap[e]}}]),e}(),JA=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(e){var r;return Object(n.a)(this,A),r=t.call(this,e),Ae(Object(LA.a)(r),"_tileManager",void 0),r._tileManager=new YA,r}return Object(a.a)(A,[{key:"shouldRefine",value:function(e,t){return e._lodJudge=function(e,t){var A=t.viewport,n=A.metersPerPixel,r=e.header.mbs[1],i=e.header.mbs[0],o=e.header.mbs[2],a=e.header.mbs[3],s=A.height,g=A.width,c=A.latitude,u=A.longitude,l=[u,c],I=[i,r,o],C=[u,r],h=[i,c],f=Math.sqrt(s*s+g*g)*n[0],d=.5*s+a/6378137,B=.5*g+a/6378137;if(GA(l,I)>f+a/6378137)return"OUT";if(GA(l,C)>d)return"OUT";if(GA(l,h)>B)return"OUT";if(0===e.lodMetricValue)return"DIG";var p=kA(e,t);return(p*=RA)<.5?"OUT":!e.header.children||p<=e.lodMetricValue?"DRAW":e.header.children?"DIG":"OUT"}(e,t),"DIG"===e._lodJudge}},{key:"updateChildTiles",value:function(e,t){var A,n=this,r=e.header.children||[],i=e.children,o=e.tileset,a=Object(R.a)(r);try{var s=function(){var r=A.value,a="".concat(r.id,"-").concat(t.viewport.id),s=i&&i.find((function(e){return e.id===a}));if(s)s&&n.updateTile(s,t);else{var g=function(){return n._loadTile(r.id,o)};n._tileManager.find(a)?n._tileManager.update(a,t):(o.tileset.nodePages&&(g=function(){return o.tileset.nodePagesTile.formTileFromNodePages(r.id)}),n._tileManager.add(g,a,(function(t){return n._onTileLoad(t,e,a)}),t))}};for(a.s();!(A=a.n()).done;)s()}catch(g){a.e(g)}finally{a.f()}return!1}},{key:"_loadTile",value:function(){var e=Object(J.a)(Y.a.mark((function e(t,A){var n,r,i;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=A.loader,r=A.getTileUrl("".concat(A.url,"/nodes/").concat(t)),i=Object(s.a)({},A.loadOptions,{i3s:Object(s.a)({},A.loadOptions.i3s,{isTileHeader:!0,loadContent:!1})}),e.next=5,Object(te.a)(r,n,i);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})));return function(t,A){return e.apply(this,arguments)}}()},{key:"_onTileLoad",value:function(e,t,A){var n=new MA(t.tileset,e,t,A);t.children.push(n);var r=this._tileManager.find(n.id).frameState;this.updateTile(n,r),this._frameNumber===r.frameNumber&&this.executeTraversal(n,r)}}]),A}(UA),jA={description:"",ellipsoid:Ut.WGS84,modelMatrix:new Ge,throttleRequests:!0,maxRequests:64,maximumMemoryUsage:32,onTileLoad:function(){},onTileUnload:function(){},onTileError:function(){},onTraversalComplete:function(e){return e},contentLoader:void 0,viewDistanceScale:1,maximumScreenSpaceError:8,loadTiles:!0,updateTransforms:!0,viewportTraversersMap:null,loadOptions:{fetch:{}},attributions:[],basePath:"",i3s:{}},PA=function(){function e(t,A){Object(n.a)(this,e),Ae(this,"options",void 0),Ae(this,"loadOptions",void 0),Ae(this,"type",void 0),Ae(this,"tileset",void 0),Ae(this,"loader",void 0),Ae(this,"url",void 0),Ae(this,"basePath",void 0),Ae(this,"modelMatrix",void 0),Ae(this,"ellipsoid",void 0),Ae(this,"lodMetricType",void 0),Ae(this,"lodMetricValue",void 0),Ae(this,"refine",void 0),Ae(this,"root",void 0),Ae(this,"roots",void 0),Ae(this,"asset",void 0),Ae(this,"description",void 0),Ae(this,"properties",void 0),Ae(this,"extras",void 0),Ae(this,"attributions",void 0),Ae(this,"credits",void 0),Ae(this,"stats",void 0),Ae(this,"traverseCounter",void 0),Ae(this,"geometricError",void 0),Ae(this,"selectedTiles",void 0),Ae(this,"cartographicCenter",void 0),Ae(this,"cartesianCenter",void 0),Ae(this,"zoom",void 0),Ae(this,"boundingVolume",void 0),Ae(this,"gpuMemoryUsageInBytes",void 0),Ae(this,"dynamicScreenSpaceErrorComputedDensity",void 0),Ae(this,"_traverser",void 0),Ae(this,"_cache",void 0),Ae(this,"_requestScheduler",void 0),Ae(this,"_frameNumber",void 0),Ae(this,"_queryParamsString",void 0),Ae(this,"_queryParams",void 0),Ae(this,"_extensionsUsed",void 0),Ae(this,"_tiles",void 0),Ae(this,"_pendingCount",void 0),Ae(this,"lastUpdatedVieports",void 0),Ae(this,"_requestedTiles",void 0),Ae(this,"_emptyTiles",void 0),Ae(this,"frameStateData",void 0),Ae(this,"maximumMemoryUsage",void 0),Object(Mt.a)(t),this.options=Object(s.a)({},jA,{},A),this.tileset=t,this.loader=t.loader,this.type=t.type,this.url=t.url,this.basePath=t.basePath||Ot.a.dirname(this.url),this.modelMatrix=this.options.modelMatrix,this.ellipsoid=this.options.ellipsoid,this.lodMetricType=t.lodMetricType,this.lodMetricValue=t.lodMetricValue,this.refine=t.root.refine,this.loadOptions=this.options.loadOptions||{},this.root=null,this.roots={},this.cartographicCenter=null,this.cartesianCenter=null,this.zoom=1,this.boundingVolume=null,this.traverseCounter=0,this.geometricError=0,this._traverser=this._initializeTraverser(),this._cache=new Yt,this._requestScheduler=new Lt.a({throttleRequests:this.options.throttleRequests,maxRequests:this.options.maxRequests}),this._frameNumber=0,this._pendingCount=0,this._tiles={},this.selectedTiles=[],this._emptyTiles=[],this._requestedTiles=[],this.frameStateData={},this.lastUpdatedVieports=null,this._queryParams={},this._queryParamsString="",this.maximumMemoryUsage=this.options.maximumMemoryUsage||32,this.gpuMemoryUsageInBytes=0,this.stats=new _t.a({id:this.url}),this._initializeStats(),this._extensionsUsed=void 0,this.dynamicScreenSpaceErrorComputedDensity=0,this.extras=null,this.asset={},this.credits={},this.description=this.options.description||"",this._initializeTileSet(t)}return Object(a.a)(e,[{key:"destroy",value:function(){this._destroy()}},{key:"isLoaded",value:function(){return 0===this._pendingCount&&0!==this._frameNumber}},{key:"setProps",value:function(e){this.options=Object(s.a)({},this.options,{},e)}},{key:"setOptions",value:function(e){this.options=Object(s.a)({},this.options,{},e)}},{key:"getTileUrl",value:function(e){return e.startsWith("data:")?e:"".concat(e).concat(this.queryParams)}},{key:"hasExtension",value:function(e){return Boolean(this._extensionsUsed&&this._extensionsUsed.indexOf(e)>-1)}},{key:"update",value:function(e){if((!("loadTiles"in this.options)||this.options.loadTiles)&&!(this.traverseCounter>0)){!e&&this.lastUpdatedVieports?e=this.lastUpdatedVieports:this.lastUpdatedVieports=e,e instanceof Array||(e=[e]),this._cache.reset(),this._frameNumber++,this.traverseCounter=e.length;var t,A=[],n=Object(R.a)(e);try{for(n.s();!(t=n.n()).done;){var r=t.value.id;this._needTraverse(r)?A.push(r):this.traverseCounter--}}catch(c){n.e(c)}finally{n.f()}var i,o=Object(R.a)(e);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=a.id;if(this.roots[s]||(this.roots[s]=this._initializeTileHeaders(this.tileset,null)),A.includes(s)){var g=Kt(a,this._frameNumber);this._traverser.traverse(this.roots[s],g,this.options)}}}catch(c){o.e(c)}finally{o.f()}}}},{key:"_needTraverse",value:function(e){var t=e;return this.options.viewportTraversersMap&&(t=this.options.viewportTraversersMap[e]),t===e}},{key:"_onTraversalEnd",value:function(e){var t=e.viewport.id;this.frameStateData[t]||(this.frameStateData[t]={selectedTiles:[],_requestedTiles:[],_emptyTiles:[]});var A=this.frameStateData[t],n=Object.values(this._traverser.selectedTiles);A.selectedTiles=n,A._requestedTiles=Object.values(this._traverser.requestedTiles),A._emptyTiles=Object.values(this._traverser.emptyTiles),this.traverseCounter--,this.traverseCounter>0||this._updateTiles()}},{key:"_updateTiles",value:function(){for(var e in this.selectedTiles=[],this._requestedTiles=[],this._emptyTiles=[],this.frameStateData){var t=this.frameStateData[e];this.selectedTiles=this.selectedTiles.concat(t.selectedTiles),this._requestedTiles=this._requestedTiles.concat(t._requestedTiles),this._emptyTiles=this._emptyTiles.concat(t._emptyTiles)}this.selectedTiles=this.options.onTraversalComplete(this.selectedTiles);var A,n=Object(R.a)(this.selectedTiles);try{for(n.s();!(A=n.n()).done;){var r=A.value;this._tiles[r.id]=r}}catch(i){n.e(i)}finally{n.f()}this._loadTiles(),this._unloadTiles(),this._updateStats()}},{key:"_tilesChanged",value:function(e,t){if(e.length!==t.length)return!0;var A=new Set(e.map((function(e){return e.id}))),n=new Set(t.map((function(e){return e.id}))),r=e.filter((function(e){return!n.has(e.id)})).length>0;return r=r||t.filter((function(e){return!A.has(e.id)})).length>0}},{key:"_loadTiles",value:function(){var e,t=Object(R.a)(this._requestedTiles);try{for(t.s();!(e=t.n()).done;){var A=e.value;A.contentUnloaded&&this._loadTile(A)}}catch(n){t.e(n)}finally{t.f()}}},{key:"_unloadTiles",value:function(){this._cache.unloadTiles(this,(function(e,t){return e._unloadTile(t)}))}},{key:"_updateStats",value:function(){var e,t=0,A=0,n=Object(R.a)(this.selectedTiles);try{for(n.s();!(e=n.n()).done;){var r=e.value;r.contentAvailable&&r.content&&(t++,r.content.pointCount&&(A+=r.content.pointCount))}}catch(i){n.e(i)}finally{n.f()}this.stats.get("Tiles In View").count=this.selectedTiles.length,this.stats.get("Tiles To Render").count=t,this.stats.get("Points").count=A}},{key:"_initializeTileSet",value:function(e){this.root=this._initializeTileHeaders(e,null),this.type===cA&&this._initializeCesiumTileset(e),this.type===gA&&this._initializeI3STileset(),this._calculateViewProps()}},{key:"_calculateViewProps",value:function(){var e=this.root;Object(Mt.a)(e);var t=e.boundingVolume.center;if(!t)return console.warn("center was not pre-calculated for the root tile"),this.cartographicCenter=new Ne,void(this.zoom=1);this.cartographicCenter=Ut.WGS84.cartesianToCartographic(t,new Ne),this.cartesianCenter=t,this.zoom=Xt(e.boundingVolume)}},{key:"_initializeStats",value:function(){this.stats.get("Tiles In Tileset(s)"),this.stats.get("Tiles Loading"),this.stats.get("Tiles In Memory"),this.stats.get("Tiles In View"),this.stats.get("Tiles To Render"),this.stats.get("Tiles Loaded"),this.stats.get("Tiles Unloaded"),this.stats.get("Failed Tile Loads"),this.stats.get("Points","memory"),this.stats.get("Tile Memory Use","memory")}},{key:"_initializeTileHeaders",value:function(e,t){var A=new MA(this,e.root,t);if(t&&(t.children.push(A),A.depth=t.depth+1),this.type===cA){var n=[];for(n.push(A);n.length>0;){var r=n.pop();this.stats.get("Tiles In Tileset(s)").incrementCount();var i,o=r.header.children||[],a=Object(R.a)(o);try{for(a.s();!(i=a.n()).done;){var s=i.value,g=new MA(this,s,r);r.children.push(g),g.depth=r.depth+1,n.push(g)}}catch(c){a.e(c)}finally{a.f()}}}return A}},{key:"_initializeTraverser",value:function(){var e;switch(this.type){case cA:e=OA;break;case gA:e=JA;break;default:e=UA}return new e({basePath:this.basePath,onTraversalEnd:this._onTraversalEnd.bind(this)})}},{key:"_destroyTileHeaders",value:function(e){this._destroySubtree(e)}},{key:"_loadTile",value:function(){var e=Object(J.a)(Y.a.mark((function e(t){var A;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this._onStartTileLoading(),e.next=4,t.loadContent();case 4:A=e.sent,e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),this._onTileLoadError(t,e.t0);case 10:return e.prev=10,this._onEndTileLoading(),this._onTileLoad(t,A),e.finish(10);case 14:case"end":return e.stop()}}),e,this,[[0,7,10,14]])})));return function(t){return e.apply(this,arguments)}}()},{key:"_onTileLoadError",value:function(e,t){this.stats.get("Failed Tile Loads").incrementCount();var A=t.message||t.toString(),n=e.url;console.error("A 3D tile failed to load: ".concat(e.url," ").concat(A)),this.options.onTileError(e,A,n)}},{key:"_onTileLoad",value:function(e,t){t&&(e&&e.content&&function(e,t){Object(Mt.a)(e),Object(Mt.a)(t);var A=t.rtcCenter,n=t.gltfUpAxis,r=e.computedTransform,i=e.boundingVolume.center,o=new Ge(r);switch(A&&o.translate(A),n){case"Z":break;case"Y":var a=(new Ge).rotateX(Math.PI/2);o=o.multiplyRight(a);break;case"X":var s=(new Ge).rotateY(-Math.PI/2);o=o.multiplyRight(s)}t.isQuantized&&o.translate(t.quantizedVolumeOffset).scale(t.quantizedVolumeScale);var g=new Ne(i);t.cartesianModelMatrix=o,t.cartesianOrigin=g;var c=Ut.WGS84.cartesianToCartographic(g,new Ne),u=Ut.WGS84.eastNorthUpToFixedFrame(g).invert();t.cartographicModelMatrix=u.multiplyRight(o),t.cartographicOrigin=c,t.modelMatrix=t.cartographicModelMatrix}(e,e.content),this._addTileToCache(e),this.options.onTileLoad(e))}},{key:"_onStartTileLoading",value:function(){this._pendingCount++,this.stats.get("Tiles Loading").incrementCount()}},{key:"_onEndTileLoading",value:function(){this._pendingCount--,this.stats.get("Tiles Loading").decrementCount()}},{key:"_addTileToCache",value:function(e){this._cache.add(this,e,(function(t){return t._updateCacheStats(e)}))}},{key:"_updateCacheStats",value:function(e){this.stats.get("Tiles Loaded").incrementCount(),this.stats.get("Tiles In Memory").incrementCount(),this.gpuMemoryUsageInBytes+=e.content.byteLength||0,this.stats.get("Tile Memory Use").count=this.gpuMemoryUsageInBytes}},{key:"_unloadTile",value:function(e){this.gpuMemoryUsageInBytes-=e.content&&e.content.byteLength||0,this.stats.get("Tiles In Memory").decrementCount(),this.stats.get("Tiles Unloaded").incrementCount(),this.stats.get("Tile Memory Use").count=this.gpuMemoryUsageInBytes,this.options.onTileUnload(e),e.unloadContent()}},{key:"_destroy",value:function(){var e=[];for(this.root&&e.push(this.root);e.length>0;){var t,A=e.pop(),n=Object(R.a)(A.children);try{for(n.s();!(t=n.n()).done;){var r=t.value;e.push(r)}}catch(i){n.e(i)}finally{n.f()}this._destroyTile(A)}this.root=null}},{key:"_destroySubtree",value:function(e){var t=e,A=[];for(A.push(t);A.length>0;){e=A.pop();var n,r=Object(R.a)(e.children);try{for(r.s();!(n=r.n()).done;){var i=n.value;A.push(i)}}catch(o){r.e(o)}finally{r.f()}e!==t&&this._destroyTile(e)}t.children=[]}},{key:"_destroyTile",value:function(e){this._cache.unloadTile(this,e),this._unloadTile(e),e.destroy()}},{key:"_initializeCesiumTileset",value:function(e){if(this.asset=e.asset,!this.asset)throw new Error("Tileset must have an asset property.");if("0.0"!==this.asset.version&&"1.0"!==this.asset.version)throw new Error("The tileset must be 3D Tiles version 0.0 or 1.0.");"tilesetVersion"in this.asset&&(this._queryParams.v=this.asset.tilesetVersion),this.credits={attributions:this.options.attributions||[]},this.description=this.options.description||"",this.properties=e.properties,this.geometricError=e.geometricError,this._extensionsUsed=e.extensionsUsed,this.extras=e.extras}},{key:"_initializeI3STileset",value:function(){this.loadOptions.i3s&&"token"in this.loadOptions.i3s&&(this._queryParams.token=this.loadOptions.i3s.token)}},{key:"tiles",get:function(){return Object.values(this._tiles)}},{key:"frameNumber",get:function(){return this._frameNumber}},{key:"queryParams",get:function(){return this._queryParamsString||(this._queryParamsString=function(e){for(var t=[],A=0,n=Object.keys(e);A<n.length;A++){var r=n[A];t.push("".concat(r,"=").concat(e[r]))}switch(t.length){case 0:return"";case 1:return"?".concat(t[0]);default:return"?".concat(t.join("&"))}}(this._queryParams)),this._queryParamsString}}]),e}();var VA={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect"};Object.keys(VA);function KA(e,t,A){Object(Mt.a)(e instanceof ArrayBuffer);var n=new TextDecoder("utf8"),r=new Uint8Array(e,t,A);return n.decode(r)}function WA(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=new DataView(e);return"".concat(String.fromCharCode(A.getUint8(t+0))).concat(String.fromCharCode(A.getUint8(t+1))).concat(String.fromCharCode(A.getUint8(t+2))).concat(String.fromCharCode(A.getUint8(t+3)))}var XA=A(421),qA={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},zA=Object(s.a)({},{POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},{},qA);function $A(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}Math.PI,Math.PI;var en={};function tn(e){return Math.round(e/en.EPSILON)*en.EPSILON}function An(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.precision,n=void 0===A?en.precision||4:A;return e=tn(e),"".concat(parseFloat(e.toPrecision(n)))}function nn(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function rn(e,t,A){var n=en.EPSILON;A&&(en.EPSILON=A);try{if(e===t)return!0;if(nn(e)&&nn(t)){if(e.length!==t.length)return!1;for(var r=0;r<e.length;++r)if(!rn(e[r],t[r]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):!(!Number.isFinite(e)||!Number.isFinite(t))&&Math.abs(e-t)<=en.EPSILON*Math.max(1,Math.abs(e),Math.abs(t))}finally{en.EPSILON=n}}en.EPSILON=1e-12,en.debug=!1,en.precision=4,en.printTypes=!1,en.printDegrees=!1,en.printRowMajor=!0;var on=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"clone",value:function(){return(new this.constructor).copy(this)}},{key:"from",value:function(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}},{key:"fromArray",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=0;A<this.ELEMENTS;++A)this[A]=e[A+t];return this.check()}},{key:"to",value:function(e){return e===this?this:nn(e)?this.toArray(e):this.toObject(e)}},{key:"toTarget",value:function(e){return e?this.to(e):this}},{key:"toArray",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=0;A<this.ELEMENTS;++A)e[t+A]=this[A];return e}},{key:"toFloat32Array",value:function(){return new Float32Array(this)}},{key:"toString",value:function(){return this.formatString(en)}},{key:"formatString",value:function(e){for(var t="",A=0;A<this.ELEMENTS;++A)t+=(A>0?", ":"")+An(this[A],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t<this.ELEMENTS;++t)if(!rn(this[t],e[t]))return!1;return!0}},{key:"exactEquals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t<this.ELEMENTS;++t)if(this[t]!==e[t])return!1;return!0}},{key:"negate",value:function(){for(var e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}},{key:"lerp",value:function(e,t,A){void 0===A&&(A=t,t=e,e=this);for(var n=0;n<this.ELEMENTS;++n){var r=e[n];this[n]=r+A*(t[n]-r)}return this.check()}},{key:"min",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=Math.min(e[t],this[t]);return this.check()}},{key:"max",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=Math.max(e[t],this[t]);return this.check()}},{key:"clamp",value:function(e,t){for(var A=0;A<this.ELEMENTS;++A)this[A]=Math.min(Math.max(this[A],e[A]),t[A]);return this.check()}},{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]+=i[o];return this.check()}},{key:"subtract",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]-=i[o];return this.check()}},{key:"scale",value:function(e){if(Array.isArray(e))return this.multiply(e);for(var t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}},{key:"sub",value:function(e){return this.subtract(e)}},{key:"setScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=e;return this.check()}},{key:"addScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]+=e;return this.check()}},{key:"subScalar",value:function(e){return this.addScalar(-e)}},{key:"multiplyScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}},{key:"divideScalar",value:function(e){return this.scale(1/e)}},{key:"clampScalar",value:function(e,t){for(var A=0;A<this.ELEMENTS;++A)this[A]=Math.min(Math.max(this[A],e),t);return this.check()}},{key:"multiplyByScalar",value:function(e){return this.scale(e)}},{key:"check",value:function(){if(en.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}},{key:"validate",value:function(){for(var e=this.length===this.ELEMENTS,t=0;t<this.ELEMENTS;++t)e=e&&Number.isFinite(this[t]);return e}},{key:"ELEMENTS",get:function(){return $A(!1),0}},{key:"elements",get:function(){return this}}]),A}(function(e){function t(){var t=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(t,Object.getPrototypeOf(this)),t}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}(Array));function an(e,t){if(e.length!==t)return!1;for(var A=0;A<e.length;++A)if(!Number.isFinite(e[A]))return!1;return!0}function sn(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(e));return e}function gn(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(en.debug&&!an(e,t))throw new Error("math.gl: ".concat(A," some fields set to invalid numbers'"));return e}var cn={};function un(e,t){cn[e]||(cn[e]=!0,console.warn("".concat(e," has been removed in version ").concat(t,", see upgrade guide for more information")))}function ln(e,t,A){var n=t[0],r=t[1],i=t[2],o=A[3]*n+A[7]*r+A[11]*i||1;return e[0]=(A[0]*n+A[4]*r+A[8]*i)/o,e[1]=(A[1]*n+A[5]*r+A[9]*i)/o,e[2]=(A[2]*n+A[6]*r+A[10]*i)/o,e}var In,Cn=[0,0,0],hn={},fn=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Object(n.a)(this,A),e=t.call(this,-0,-0,-0),1===arguments.length&&nn(r)?e.copy(r):(en.debug&&(sn(r),sn(i),sn(o)),e[0]=r,e[1]=i,e[2]=o),e}return Object(a.a)(A,null,[{key:"ZERO",get:function(){return hn.ZERO=hn.ZERO||Object.freeze(new A(0,0,0,0))}}]),Object(a.a)(A,[{key:"set",value:function(e,t,A){return this[0]=e,this[1]=t,this[2]=A,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return en.debug&&(sn(e.x),sn(e.y),sn(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"angle",value:function(e){return be.a(this,e)}},{key:"cross",value:function(e){return be.c(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?Cn:A;return be.j(this,this,n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?Cn:A;return be.k(this,this,n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?Cn:A;return be.l(this,this,n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return be.p(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return ln(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return be.o(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return function(e,t,A){var n=t[0],r=t[1];e[0]=A[0]*n+A[2]*r,e[1]=A[1]*n+A[3]*r,e[2]=t[2]}(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return be.q(this,this,e),this.check()}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=sn(e)}}]),A}(function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"copy",value:function(e){return $A(!1),this}},{key:"len",value:function(){return Math.sqrt(this.lengthSquared())}},{key:"magnitude",value:function(){return this.len()}},{key:"lengthSquared",value:function(){for(var e=0,t=0;t<this.ELEMENTS;++t)e+=this[t]*this[t];return e}},{key:"magnitudeSquared",value:function(){return this.lengthSquared()}},{key:"distance",value:function(e){return Math.sqrt(this.distanceSquared(e))}},{key:"distanceSquared",value:function(e){for(var t=0,A=0;A<this.ELEMENTS;++A){var n=this[A]-e[A];t+=n*n}return sn(t)}},{key:"dot",value:function(e){for(var t=0,A=0;A<this.ELEMENTS;++A)t+=this[A]*e[A];return sn(t)}},{key:"normalize",value:function(){var e=this.magnitude();if(0!==e)for(var t=0;t<this.ELEMENTS;++t)this[t]/=e;return this.check()}},{key:"multiply",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]*=i[o];return this.check()}},{key:"divide",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]/=i[o];return this.check()}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"distanceTo",value:function(e){return this.distance(e)}},{key:"distanceToSquared",value:function(e){return this.distanceSquared(e)}},{key:"getComponent",value:function(e){return $A(e>=0&&e<this.ELEMENTS,"index is out of range"),sn(this[e])}},{key:"setComponent",value:function(e,t){return $A(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=t,this.check()}},{key:"addVectors",value:function(e,t){return this.copy(e).add(t)}},{key:"subVectors",value:function(e,t){return this.copy(e).subtract(t)}},{key:"multiplyVectors",value:function(e,t){return this.copy(e).multiply(t)}},{key:"addScaledVector",value:function(e,t){return this.add(new this.constructor(e).multiplyScalar(t))}},{key:"ELEMENTS",get:function(){return $A(!1),0}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=sn(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=sn(e)}}]),A}(on)),dn=(In={},Object(qt.a)(In,qA.DOUBLE,Float64Array),Object(qt.a)(In,qA.FLOAT,Float32Array),Object(qt.a)(In,qA.UNSIGNED_SHORT,Uint16Array),Object(qt.a)(In,qA.UNSIGNED_INT,Uint32Array),Object(qt.a)(In,qA.UNSIGNED_BYTE,Uint8Array),Object(qt.a)(In,qA.BYTE,Int8Array),Object(qt.a)(In,qA.SHORT,Int16Array),Object(qt.a)(In,qA.INT,Int32Array),In),Bn={DOUBLE:qA.DOUBLE,FLOAT:qA.FLOAT,UNSIGNED_SHORT:qA.UNSIGNED_SHORT,UNSIGNED_INT:qA.UNSIGNED_INT,UNSIGNED_BYTE:qA.UNSIGNED_BYTE,BYTE:qA.BYTE,SHORT:qA.SHORT,INT:qA.INT},pn=function(){function e(){Object(n.a)(this,e)}return Object(a.a)(e,null,[{key:"fromTypedArray",value:function(e){for(var t in e=ArrayBuffer.isView(e)?e.constructor:e,dn){if(dn[t]===e)return t}throw new Error("Failed to convert GL type")}},{key:"fromName",value:function(e){var t=Bn[e];if(!t)throw new Error("Failed to convert GL type");return t}},{key:"getArrayType",value:function(e){switch(e){case qA.UNSIGNED_SHORT_5_6_5:case qA.UNSIGNED_SHORT_4_4_4_4:case qA.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:var t=dn[e];if(!t)throw new Error("Failed to convert GL type");return t}}},{key:"getByteSize",value:function(t){return e.getArrayType(t).BYTES_PER_ELEMENT}},{key:"validate",value:function(t){return Boolean(e.getArrayType(t))}},{key:"createTypedArray",value:function(t,A){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0;void 0===r&&(r=(A.byteLength-n)/e.getByteSize(t));var i=e.getArrayType(t);return new i(A,n,r)}}]),e}(),En=function(){function e(t,A){Object(n.a)(this,e),this.json=t,this.buffer=A,this.featuresLength=0,this._cachedTypedArrays={}}return Object(a.a)(e,[{key:"getExtension",value:function(e){return this.json.extensions&&this.json.extensions[e]}},{key:"hasProperty",value:function(e){return Boolean(this.json[e])}},{key:"getGlobalProperty",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:zA.UNSIGNED_INT,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=this.json[e];return n&&Number.isFinite(n.byteOffset)?this._getTypedArrayFromBinary(e,t,A,1,n.byteOffset):n}},{key:"getPropertyArray",value:function(e,t,A){var n=this.json[e];return n&&Number.isFinite(n.byteOffset)?("componentType"in n&&(t=pn.fromName(n.componentType)),this._getTypedArrayFromBinary(e,t,A,this.featuresLength,n.byteOffset)):this._getTypedArrayFromArray(e,t,n)}},{key:"getProperty",value:function(e,t,A,n,r){var i=this.json[e];if(!i)return i;var o=this.getPropertyArray(e,t,A);if(1===A)return o[n];for(var a=0;a<A;++a)r[a]=o[A*n+a];return r}},{key:"_getTypedArrayFromBinary",value:function(e,t,A,n,r){var i=this._cachedTypedArrays,o=i[e];return o||(o=pn.createTypedArray(t,this.buffer.buffer,this.buffer.byteOffset+r,n*A),i[e]=o),o}},{key:"_getTypedArrayFromArray",value:function(e,t,A){var n=this._cachedTypedArrays,r=n[e];return r||(r=pn.createTypedArray(t,A),n[e]=r),r}}]),e}(),Qn={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},yn={SCALAR:function(e,t){return e[t]},VEC2:function(e,t){return[e[2*t+0],e[2*t+1]]},VEC3:function(e,t){return[e[3*t+0],e[3*t+1],e[3*t+2]]},VEC4:function(e,t){return[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]]},MAT2:function(e,t){return[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]]},MAT3:function(e,t){return[e[9*t+0],e[9*t+1],e[9*t+2],e[9*t+3],e[9*t+4],e[9*t+5],e[9*t+6],e[9*t+7],e[9*t+8]]},MAT4:function(e,t){return[e[16*t+0],e[16*t+1],e[16*t+2],e[16*t+3],e[16*t+4],e[16*t+5],e[16*t+6],e[16*t+7],e[16*t+8],e[16*t+9],e[16*t+10],e[16*t+11],e[16*t+12],e[16*t+13],e[16*t+14],e[16*t+15]]}},vn={SCALAR:function(e,t,A){t[A]=e},VEC2:function(e,t,A){t[2*A+0]=e[0],t[2*A+1]=e[1]},VEC3:function(e,t,A){t[3*A+0]=e[0],t[3*A+1]=e[1],t[3*A+2]=e[2]},VEC4:function(e,t,A){t[4*A+0]=e[0],t[4*A+1]=e[1],t[4*A+2]=e[2],t[4*A+3]=e[3]},MAT2:function(e,t,A){t[4*A+0]=e[0],t[4*A+1]=e[1],t[4*A+2]=e[2],t[4*A+3]=e[3]},MAT3:function(e,t,A){t[9*A+0]=e[0],t[9*A+1]=e[1],t[9*A+2]=e[2],t[9*A+3]=e[3],t[9*A+4]=e[4],t[9*A+5]=e[5],t[9*A+6]=e[6],t[9*A+7]=e[7],t[9*A+8]=e[8],t[9*A+9]=e[9]},MAT4:function(e,t,A){t[16*A+0]=e[0],t[16*A+1]=e[1],t[16*A+2]=e[2],t[16*A+3]=e[3],t[16*A+4]=e[4],t[16*A+5]=e[5],t[16*A+6]=e[6],t[16*A+7]=e[7],t[16*A+8]=e[8],t[16*A+9]=e[9],t[16*A+10]=e[10],t[16*A+11]=e[11],t[16*A+12]=e[12],t[16*A+13]=e[13],t[16*A+14]=e[14],t[16*A+15]=e[15]}};var mn=function(e){return void 0!==e};function bn(e,t,A){if(!t)return null;var n=e.getExtension("3DTILES_batch_table_hierarchy"),r=t.HIERARCHY;return r&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=r,n=r),n?function(e,t){var A,n,r,i,o=e.instancesLength,a=e.classes,s=e.classIds,g=e.parentCounts,c=e.parentIds,u=o;mn(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,GL.UNSIGNED_SHORT),s.type=AttributeType.SCALAR,r=getBinaryAccessor(s),s=r.createArrayBufferView(t.buffer,t.byteOffset+s.byteOffset,o));if(mn(g))for(mn(g.byteOffset)&&(g.componentType=defaultValue(g.componentType,GL.UNSIGNED_SHORT),g.type=AttributeType.SCALAR,r=getBinaryAccessor(g),g=r.createArrayBufferView(t.buffer,t.byteOffset+g.byteOffset,o)),i=new Uint16Array(o),u=0,A=0;A<o;++A)i[A]=u,u+=g[A];mn(c)&&mn(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,r=getBinaryAccessor(c),c=r.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,u));var l=a.length;for(A=0;A<l;++A){var I=a[A].length,C=a[A].instances,h=getBinaryProperties(I,C,t);a[A].instances=combine(h,C)}var f=new Array(l).fill(0),d=new Uint16Array(o);for(A=0;A<o;++A)n=s[A],d[A]=f[n],++f[n];var B={classes:a,classIds:s,classIndexes:d,parentCounts:g,parentIndexes:i,parentIds:c};return function(e){for(var t=e.classIds.length,A=0;A<t;++A)Sn(e,A,stack)}(B),B}(n,A):null}function wn(e,t,A){if(e){var n=e.parentCounts;return e.parentIds?A(e,t):n>0?function(e,t,A){var n=e.classIds,r=e.parentCounts,i=e.parentIds,o=e.parentIndexes,a=n.length,s=scratchVisited;s.length=Math.max(s.length,a);var g=++marker,c=scratchStack;c.length=0,c.push(t);for(;c.length>0;)if(t=c.pop(),s[t]!==g){s[t]=g;var u=A(e,t);if(mn(u))return u;for(var l=r[t],I=o[t],C=0;C<l;++C){var h=i[I+C];h!==t&&c.push(h)}}return null}(e,t,A):function(e,t,A){var n=!0;for(;n;){var r=A(e,t);if(mn(r))return r;var i=e.parentIds[t];n=i!==t,t=i}throw new Error("traverseHierarchySingleParent")}(e,t,A)}}function Sn(e,t,A){var n=e.parentCounts,r=e.parentIds,i=e.parentIndexes,o=e.classIds.length;if(mn(r)){assert(t<o,"Parent index ".concat(t," exceeds the total number of instances: ").concat(o)),assert(-1===A.indexOf(t),"Circular dependency detected in the batch table hierarchy."),A.push(t);for(var a=mn(n)?n[t]:1,s=mn(n)?i[t]:t,g=0;g<a;++g){var c=r[s+g];c!==t&&Sn(e,c,A)}A.pop(t)}}function Fn(e){return void 0!==e&&null!==e}var Rn=function(e,t){return e},Dn={HIERARCHY:!0,extensions:!0,extras:!0},Gn=function(){function e(t,A,r){var i,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};for(var a in Object(n.a)(this,e),Object(Mt.a)(r>=0),this.json=t||{},this.binary=A,this.featureCount=r,this._extensions=(null===(i=this.json)||void 0===i?void 0:i.extensions)||{},this._properties={},this.json)Dn[a]||(this._properties[a]=this.json[a]);this._binaryProperties=this._initializeBinaryProperties(),o["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=bn(this,this.json,this.binary))}return Object(a.a)(e,[{key:"getExtension",value:function(e){return this.json&&this.json.extensions&&this.json.extensions[e]}},{key:"memorySizeInBytes",value:function(){return 0}},{key:"isClass",value:function(e,t){return this._checkBatchId(e),Object(Mt.a)("string"===typeof t,t),!!this._hierarchy&&Fn(wn(this._hierarchy,e,(function(e,A){var n=e.classIds[A];return e.classes[n].name===t})))}},{key:"isExactClass",value:function(e,t){return Object(Mt.a)("string"===typeof t,t),this.getExactClassName(e)===t}},{key:"getExactClassName",value:function(e){if(this._checkBatchId(e),this._hierarchy){var t=this._hierarchy.classIds[e];return this._hierarchy.classes[t].name}}},{key:"hasProperty",value:function(e,t){return this._checkBatchId(e),Object(Mt.a)("string"===typeof t,t),Fn(this._properties[t])||this._hasPropertyInHierarchy(e,t)}},{key:"getPropertyNames",value:function(e,t){var A;this._checkBatchId(e),(t=Fn(t)?t:[]).length=0;var n=Object.keys(this._properties);return(A=t).push.apply(A,Object(ne.a)(n)),this._hierarchy&&this._getPropertyNamesInHierarchy(e,t),t}},{key:"getProperty",value:function(e,t){if(this._checkBatchId(e),Object(Mt.a)("string"===typeof t,t),this._binaryProperties){var A=this._binaryProperties[t];if(Fn(A))return this._getBinaryProperty(A,e)}var n=this._properties[t];if(Fn(n))return Rn(n[e]);if(this._hierarchy){var r=this._getHierarchyProperty(e,t);if(Fn(r))return r}}},{key:"setProperty",value:function(e,t,A){var n=this.featureCount;if(this._checkBatchId(e),Object(Mt.a)("string"===typeof t,t),this._binaryProperties){var r=this._binaryProperties[t];if(r)return void this._setBinaryProperty(r,e,A)}if(!this._hierarchy||!this._setHierarchyProperty(this,e,t,A)){var i=this._properties[t];Fn(i)||(this._properties[t]=new Array(n),i=this._properties[t]),i[e]=Rn(A)}}},{key:"_checkBatchId",value:function(e){if(!(e>=0&&e<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}},{key:"_getBinaryProperty",value:function(e,t){return e.unpack(e.typedArray,t)}},{key:"_setBinaryProperty",value:function(e,t,A){e.pack(A,e.typedArray,t)}},{key:"_initializeBinaryProperties",value:function(){var e=null;for(var t in this._properties){var A=this._properties[t],n=this._initializeBinaryProperty(t,A);n&&((e=e||{})[t]=n)}return e}},{key:"_initializeBinaryProperty",value:function(e,t){if("byteOffset"in t){var A=t;Object(Mt.a)(this.binary,"Property ".concat(e," requires a batch table binary.")),Object(Mt.a)(A.type,"Property ".concat(e," requires a type."));var n=function(e,t,A,n){var r=e.componentType;Object(Mt.a)(e.componentType);var i="string"===typeof r?pn.fromName(r):r,o=Qn[e.type],a=yn[e.type],s=vn[e.type];return A+=e.byteOffset,{values:pn.createTypedArray(i,t,A,o*n),type:i,size:o,unpacker:a,packer:s}}(A,this.binary.buffer,0|this.binary.byteOffset,this.featureCount);return{typedArray:n.values,componentCount:n.size,unpack:n.unpacker,pack:n.packer}}return null}},{key:"_hasPropertyInHierarchy",value:function(e,t){if(!this._hierarchy)return!1;var A=wn(this._hierarchy,e,(function(e,A){var n=e.classIds[A];return Fn(e.classes[n].instances[t])}));return Fn(A)}},{key:"_getPropertyNamesInHierarchy",value:function(e,t){wn(this._hierarchy,e,(function(e,A){var n=e.classIds[A],r=e.classes[n].instances;for(var i in r)r.hasOwnProperty(i)&&-1===t.indexOf(i)&&t.push(i)}))}},{key:"_getHierarchyProperty",value:function(e,t){var A=this;return wn(this._hierarchy,e,(function(e,n){var r=e.classIds[n],i=e.classes[r],o=e.classIndexes[n],a=i.instances[t];return Fn(a)?Fn(a.typedArray)?A._getBinaryProperty(a,o):Rn(a[o]):null}))}},{key:"_setHierarchyProperty",value:function(e,t,A,n){var r=this,i=wn(this._hierarchy,t,(function(e,i){var o=e.classIds[i],a=e.classes[o],s=e.classIndexes[i],g=a.instances[A];return!!Fn(g)&&(Object(Mt.a)(i===t,'Inherited property "'.concat(A,'" is read-only.')),Fn(g.typedArray)?r._setBinaryProperty(g,s,n):g[s]=Rn(n),!0)}));return Fn(i)}}]),e}();function kn(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=new DataView(t);if(e.magic=n.getUint32(A,!0),A+=4,e.version=n.getUint32(A,!0),A+=4,e.byteLength=n.getUint32(A,!0),A+=4,1!==e.version)throw new Error("3D Tile Version ".concat(e.version," not supported"));return A}function xn(e,t,A){var n,r=new DataView(t);e.header=e.header||{};var i=r.getUint32(A,!0);A+=4;var o=r.getUint32(A,!0);A+=4;var a=r.getUint32(A,!0);A+=4;var s=r.getUint32(A,!0);return A+=4,a>=570425344?(A-=8,n=i,a=o,s=0,i=0,o=0,console.warn("b3dm tile in legacy format.")):s>=570425344&&(A-=4,n=a,a=i,s=o,i=0,o=0,console.warn("b3dm tile in legacy format.")),e.header.featureTableJsonByteLength=i,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=a,e.header.batchTableBinaryByteLength=s,e.header.batchLength=n,A}function Nn(e,t,A,n){return A=function(e,t,A,n){var r=e.header,i=r.featureTableJsonByteLength,o=r.featureTableBinaryByteLength,a=r.batchLength;if(e.featureTableJson={BATCH_LENGTH:a||0},i>0){var s=KA(t,A,i);e.featureTableJson=JSON.parse(s)}return A+=i,e.featureTableBinary=new Uint8Array(t,A,o),A+=o}(e,t,A),A=function(e,t,A,n){var r=e.header,i=r.batchTableJsonByteLength,o=r.batchTableBinaryByteLength;if(i>0){var a=KA(t,A,i);e.batchTableJson=JSON.parse(a),A+=i,o>0&&(e.batchTableBinary=new Uint8Array(t,A,o),e.batchTableBinary=new Uint8Array(e.batchTableBinary),A+=o)}return A}(e,t,A)}function Un(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0],A=e>>11&31,n=e>>5&63,r=31&e;return t[0]=A<<3,t[1]=n<<2,t[2]=r<<3,t}function _n(e,t,A){if(!t&&(!e||!e.batchIds||!A))return null;var n=e.batchIds,r=e.isRGB565,i=e.pointCount;if(n&&A){for(var o=new Uint8ClampedArray(3*i),a=0;a<i;a++){var s=n[a],g=A.getProperty(s,"dimensions").map((function(e){return 255*e}));o[3*a]=g[0],o[3*a+1]=g[1],o[3*a+2]=g[2]}return{type:zA.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(r){for(var c=new Uint8ClampedArray(3*i),u=0;u<i;u++){var l=Un(t[u]);c[3*u]=l[0],c[3*u+1]=l[1],c[3*u+2]=l[2]}return{type:zA.UNSIGNED_BYTE,value:c,size:3,normalized:!0}}return t&&t.length===3*i?{type:zA.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:zA.UNSIGNED_BYTE,value:t,size:4,normalized:!0}}function Mn(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}Math.PI,Math.PI;var On={};function Ln(e){return Math.round(e/On.EPSILON)*On.EPSILON}function Tn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.precision,n=void 0===A?On.precision||4:A;return e=Ln(e),"".concat(parseFloat(e.toPrecision(n)))}function Zn(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Hn(e,t,A){if(Zn(e)){A=A||((r=e).clone?r.clone():new Array(r.length));for(var n=0;n<A.length&&n<e.length;++n)A[n]=t(e[n],n,A);return A}var r;return t(e)}function Yn(e,t,A){return Hn(e,(function(e){return Math.max(t,Math.min(A,e))}))}function Jn(e,t,A){var n=On.EPSILON;A&&(On.EPSILON=A);try{if(e===t)return!0;if(Zn(e)&&Zn(t)){if(e.length!==t.length)return!1;for(var r=0;r<e.length;++r)if(!Jn(e[r],t[r]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):!(!Number.isFinite(e)||!Number.isFinite(t))&&Math.abs(e-t)<=On.EPSILON*Math.max(1,Math.abs(e),Math.abs(t))}finally{On.EPSILON=n}}On.EPSILON=1e-12,On.debug=!1,On.precision=4,On.printTypes=!1,On.printDegrees=!1,On.printRowMajor=!0;var jn=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"clone",value:function(){return(new this.constructor).copy(this)}},{key:"from",value:function(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}},{key:"fromArray",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=0;A<this.ELEMENTS;++A)this[A]=e[A+t];return this.check()}},{key:"to",value:function(e){return e===this?this:Zn(e)?this.toArray(e):this.toObject(e)}},{key:"toTarget",value:function(e){return e?this.to(e):this}},{key:"toArray",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=0;A<this.ELEMENTS;++A)e[t+A]=this[A];return e}},{key:"toFloat32Array",value:function(){return new Float32Array(this)}},{key:"toString",value:function(){return this.formatString(On)}},{key:"formatString",value:function(e){for(var t="",A=0;A<this.ELEMENTS;++A)t+=(A>0?", ":"")+Tn(this[A],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t<this.ELEMENTS;++t)if(!Jn(this[t],e[t]))return!1;return!0}},{key:"exactEquals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t<this.ELEMENTS;++t)if(this[t]!==e[t])return!1;return!0}},{key:"negate",value:function(){for(var e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}},{key:"lerp",value:function(e,t,A){void 0===A&&(A=t,t=e,e=this);for(var n=0;n<this.ELEMENTS;++n){var r=e[n];this[n]=r+A*(t[n]-r)}return this.check()}},{key:"min",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=Math.min(e[t],this[t]);return this.check()}},{key:"max",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=Math.max(e[t],this[t]);return this.check()}},{key:"clamp",value:function(e,t){for(var A=0;A<this.ELEMENTS;++A)this[A]=Math.min(Math.max(this[A],e[A]),t[A]);return this.check()}},{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]+=i[o];return this.check()}},{key:"subtract",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]-=i[o];return this.check()}},{key:"scale",value:function(e){if(Array.isArray(e))return this.multiply(e);for(var t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}},{key:"sub",value:function(e){return this.subtract(e)}},{key:"setScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]=e;return this.check()}},{key:"addScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]+=e;return this.check()}},{key:"subScalar",value:function(e){return this.addScalar(-e)}},{key:"multiplyScalar",value:function(e){for(var t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}},{key:"divideScalar",value:function(e){return this.scale(1/e)}},{key:"clampScalar",value:function(e,t){for(var A=0;A<this.ELEMENTS;++A)this[A]=Math.min(Math.max(this[A],e),t);return this.check()}},{key:"multiplyByScalar",value:function(e){return this.scale(e)}},{key:"check",value:function(){if(On.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}},{key:"validate",value:function(){for(var e=this.length===this.ELEMENTS,t=0;t<this.ELEMENTS;++t)e=e&&Number.isFinite(this[t]);return e}},{key:"ELEMENTS",get:function(){return Mn(!1),0}},{key:"elements",get:function(){return this}}]),A}(function(e){function t(){var t=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(t,Object.getPrototypeOf(this)),t}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}(Array));function Pn(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(e));return e}var Vn=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"copy",value:function(e){return Mn(!1),this}},{key:"len",value:function(){return Math.sqrt(this.lengthSquared())}},{key:"magnitude",value:function(){return this.len()}},{key:"lengthSquared",value:function(){for(var e=0,t=0;t<this.ELEMENTS;++t)e+=this[t]*this[t];return e}},{key:"magnitudeSquared",value:function(){return this.lengthSquared()}},{key:"distance",value:function(e){return Math.sqrt(this.distanceSquared(e))}},{key:"distanceSquared",value:function(e){for(var t=0,A=0;A<this.ELEMENTS;++A){var n=this[A]-e[A];t+=n*n}return Pn(t)}},{key:"dot",value:function(e){for(var t=0,A=0;A<this.ELEMENTS;++A)t+=this[A]*e[A];return Pn(t)}},{key:"normalize",value:function(){var e=this.magnitude();if(0!==e)for(var t=0;t<this.ELEMENTS;++t)this[t]/=e;return this.check()}},{key:"multiply",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]*=i[o];return this.check()}},{key:"divide",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++)for(var i=r[n],o=0;o<this.ELEMENTS;++o)this[o]/=i[o];return this.check()}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"distanceTo",value:function(e){return this.distance(e)}},{key:"distanceToSquared",value:function(e){return this.distanceSquared(e)}},{key:"getComponent",value:function(e){return Mn(e>=0&&e<this.ELEMENTS,"index is out of range"),Pn(this[e])}},{key:"setComponent",value:function(e,t){return Mn(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=t,this.check()}},{key:"addVectors",value:function(e,t){return this.copy(e).add(t)}},{key:"subVectors",value:function(e,t){return this.copy(e).subtract(t)}},{key:"multiplyVectors",value:function(e,t){return this.copy(e).multiply(t)}},{key:"addScaledVector",value:function(e,t){return this.add(new this.constructor(e).multiplyScalar(t))}},{key:"ELEMENTS",get:function(){return Mn(!1),0}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=Pn(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=Pn(e)}}]),A}(jn);var Kn=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Object(n.a)(this,A),e=t.call(this,2),Zn(r)&&1===arguments.length?e.copy(r):(On.debug&&(Pn(r),Pn(i)),e[0]=r,e[1]=i),e}return Object(a.a)(A,[{key:"set",value:function(e,t){return this[0]=e,this[1]=t,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this.check()}},{key:"fromObject",value:function(e){return On.debug&&(Pn(e.x),Pn(e.y)),this[0]=e.x,this[1]=e.y,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e}},{key:"horizontalAngle",value:function(){return Math.atan2(this.y,this.x)}},{key:"verticalAngle",value:function(){return Math.atan2(this.x,this.y)}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return me.f(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return function(e,t,A){var n=t[0],r=t[1],i=A[3]*n+A[7]*r||1;e[0]=(A[0]*n+A[4]*r)/i,e[1]=(A[1]*n+A[5]*r)/i}(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return me.e(this,this,e),this.check()}},{key:"transformByMatrix2x3",value:function(e){return me.d(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return me.c(this,this,e),this.check()}},{key:"ELEMENTS",get:function(){return 2}}]),A}(Vn),Wn=[0,0,0],Xn={},qn=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Object(n.a)(this,A),e=t.call(this,-0,-0,-0),1===arguments.length&&Zn(r)?e.copy(r):(On.debug&&(Pn(r),Pn(i),Pn(o)),e[0]=r,e[1]=i,e[2]=o),e}return Object(a.a)(A,null,[{key:"ZERO",get:function(){return Xn.ZERO=Xn.ZERO||Object.freeze(new A(0,0,0,0))}}]),Object(a.a)(A,[{key:"set",value:function(e,t,A){return this[0]=e,this[1]=t,this[2]=A,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return On.debug&&(Pn(e.x),Pn(e.y),Pn(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"angle",value:function(e){return be.a(this,e)}},{key:"cross",value:function(e){return be.c(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?Wn:A;return be.j(this,this,n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?Wn:A;return be.k(this,this,n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,A=e.origin,n=void 0===A?Wn:A;return be.l(this,this,n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return be.p(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return function(e,t,A){var n=t[0],r=t[1],i=t[2],o=A[3]*n+A[7]*r+A[11]*i||1;e[0]=(A[0]*n+A[4]*r+A[8]*i)/o,e[1]=(A[1]*n+A[5]*r+A[9]*i)/o,e[2]=(A[2]*n+A[6]*r+A[10]*i)/o}(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return be.o(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return function(e,t,A){var n=t[0],r=t[1];e[0]=A[0]*n+A[2]*r,e[1]=A[1]*n+A[3]*r,e[2]=t[2]}(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return be.q(this,this,e),this.check()}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=Pn(e)}}]),A}(Vn);Math.PI,Math.PI,Math.PI,Math.PI;function zn(e,t){if(!e)throw new Error("math.gl assertion failed. ".concat(t))}new Kn,new qn,new Kn,new Kn,new Uint8Array(1);function $n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:255;return Yn(e,0,t)/t*2-1}function er(e){return e<0?-1:1}function tr(e,t,A,n){if(zn(n),e<0||e>A||t<0||t>A)throw new Error("x and y must be unsigned normalized integers between 0 and ".concat(A));if(n.x=$n(e,A),n.y=$n(t,A),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){var r=n.x;n.x=(1-Math.abs(n.y))*er(r),n.y=(1-Math.abs(r))*er(n.y)}return n.normalize()}function Ar(e,t,A){return tr(e,t,255,A)}var nr=new fn;function rr(e,t,A){return e.isQuantized?A["3d-tiles"]&&A["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,function(e,t){for(var A=new fn,n=new Float32Array(3*e.pointCount),r=0;r<e.pointCount;r++)A.set(t[3*r],t[3*r+1],t[3*r+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,3*r);return n}(e,t)):{type:zA.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function ir(e,t,A,n,r){return or.apply(this,arguments)}function or(){return(or=Object(J.a)(Y.a.mark((function e(t,A,n,r,i){var o,a,s;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=kn(t,A,n),n=xn(t,A,n),n=Nn(t,A,n),ar(t),o=sr(t),a=o.featureTable,s=o.batchTable,e.next=7,lr(t,a,s,r,i);case 7:return gr(t,a,r),cr(t,a,s),ur(t,a),e.abrupt("return",n);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ar(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function sr(e){var t=new En(e.featureTableJson,e.featureTableBinary),A=t.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(A))throw new Error("POINTS_LENGTH must be defined");t.featuresLength=A,e.featuresLength=A,e.pointsLength=A,e.pointCount=A,e.rtcCenter=t.getGlobalProperty("RTC_CENTER",zA.FLOAT,3);var n=function(e,t){var A=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",zA.UNSIGNED_SHORT,1),e.batchIds)){var n=t.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");var r=e.batchTableJson,i=e.batchTableBinary;A=new Gn(r,i,n)}return A}(e,t);return{featureTable:t,batchTable:n}}function gr(e,t,A){if(!e.attributes.positions)if(t.hasProperty("POSITION"))e.attributes.positions=t.getPropertyArray("POSITION",zA.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){var n=t.getPropertyArray("POSITION_QUANTIZED",zA.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=65535,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",zA.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",zA.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=rr(e,n,A)}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function cr(e,t,A){if(!e.attributes.colors){var n=null;t.hasProperty("RGBA")?(n=t.getPropertyArray("RGBA",zA.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",zA.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",zA.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=_n(e,n,A)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",zA.UNSIGNED_BYTE,4))}function ur(e,t){if(!e.attributes.normals){var A=null;t.hasProperty("NORMAL")?A=t.getPropertyArray("NORMAL",zA.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(A=t.getPropertyArray("NORMAL_OCT16P",zA.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=function(e,t){if(!t)return null;if(e.isOctEncoded16P){for(var A=new Float32Array(3*e.pointsLength),n=0;n<e.pointsLength;n++)Ar(t[2*n],t[2*n+1],nr),nr.toArray(A,3*n);return{type:zA.FLOAT,size:2,value:A}}return{type:zA.FLOAT,size:2,value:t}}(e,A)}}function lr(e,t,A,n,r){return Ir.apply(this,arguments)}function Ir(){return(Ir=Object(J.a)(Y.a.mark((function e(t,A,n,r,i){var o,a,g,c,u,l,I,C;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((c=t.batchTableJson&&t.batchTableJson.extensions&&t.batchTableJson.extensions["3DTILES_draco_point_compression"])&&(g=c.properties),!(u=A.getExtension("3DTILES_draco_point_compression"))){e.next=15;break}if(a=u.properties,l=u.byteOffset,I=u.byteLength,a&&Number.isFinite(l)&&I){e.next=9;break}throw new Error("Draco properties, byteOffset, and byteLength must be defined");case 9:o=t.featureTableBinary.slice(l,l+I),t.hasPositions=Number.isFinite(a.POSITION),t.hasColors=Number.isFinite(a.RGB)||Number.isFinite(a.RGBA),t.hasNormals=Number.isFinite(a.NORMAL),t.hasBatchIds=Number.isFinite(a.BATCH_ID),t.isTranslucent=Number.isFinite(a.RGBA);case 15:if(o){e.next=17;break}return e.abrupt("return",!0);case 17:return C={buffer:o,properties:Object(s.a)({},a,{},g),featureTableProperties:a,batchTableProperties:g,dequantizeInShader:!1},e.next=20,Cr(t,C,r,i);case 20:return e.abrupt("return",e.sent);case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Cr(e,t,A,n){return hr.apply(this,arguments)}function hr(){return(hr=Object(J.a)(Y.a.mark((function e(t,A,n,r){var i,o,a,g,c,u,l,I,C,h,f,d,B,p,E;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=r.parse,delete(o=Object(s.a)({},n,{draco:Object(s.a)({},n.draco,{extraAttributes:A.batchTableProperties||{}})}))["3d-tiles"],e.next=5,i(A.buffer,XA.a,o);case 5:if(a=e.sent,g=a.attributes.POSITION&&a.attributes.POSITION.value,c=a.attributes.COLOR_0&&a.attributes.COLOR_0.value,u=a.attributes.NORMAL&&a.attributes.NORMAL.value,l=a.attributes.BATCH_ID&&a.attributes.BATCH_ID.value,I=g&&a.attributes.POSITION.value.quantization,C=u&&a.attributes.NORMAL.value.quantization,I&&(h=a.POSITION.data.quantization,f=h.range,t.quantizedVolumeScale=new fn(f,f,f),t.quantizedVolumeOffset=new fn(h.minValues),t.quantizedRange=(1<<h.quantizationBits)-1,t.isQuantizedDraco=!0),C&&(t.octEncodedRange=(1<<a.NORMAL.data.quantization.quantizationBits)-1,t.isOctEncodedDraco=!0),d={},A.batchTableProperties)for(B=0,p=Object.keys(A.batchTableProperties);B<p.length;B++)E=p[B],a.attributes[E]&&a.attributes[E].value&&(d[E.toLowerCase()]=a.attributes[E].value);t.attributes=Object(s.a)({positions:g,colors:_n(t,c),normals:u,batchIds:l},d);case 17:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var fr=A(1281),dr=A(194),Br=0,pr=1;function Er(e,t,A,n){e.rotateYtoZ=!0;var r=e.byteOffset+e.byteLength-A;if(0===r)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=Object(dr.c)(t,A,r),e.gltfByteOffset=0,e.gltfByteLength=r,A%4===0||console.warn("".concat(e.type,": embedded glb is not aligned to a 4-byte boundary.")),e.byteOffset+e.byteLength}function Qr(e,t,A,n){return yr.apply(this,arguments)}function yr(){return(yr=Object(J.a)(Y.a.mark((function e(t,A,n,r){var i,o,a;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=n["3d-tiles"]||{},vr(t,A,n),!i.loadGLTF){e.next=16;break}if(o=r.parse,a=r.fetch,!t.gltfUrl){e.next=9;break}return e.next=7,a(t.gltfUrl,n);case 7:t.gltfArrayBuffer=e.sent,t.gltfByteOffset=0;case 9:if(!t.gltfArrayBuffer){e.next=16;break}return e.next=12,o(t.gltfArrayBuffer,fr.a,n,r);case 12:t.gltf=e.sent,delete t.gltfArrayBuffer,delete t.gltfByteOffset,delete t.gltfByteLength;case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function vr(e,t,A){switch(t){case Br:var n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),r=(new TextDecoder).decode(n);e.gltfUrl=r.replace(/[\s\0]+$/,""),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case pr:break;default:throw new Error("b3dm: Illegal glTF format field")}}function mr(e,t,A,n,r){return br.apply(this,arguments)}function br(){return(br=Object(J.a)(Y.a.mark((function e(t,A,n,r,i){var o,a;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=wr(t,A,n,r,i),e.next=3,Qr(t,pr,r,i);case 3:return(a=null===t||void 0===t||null===(o=t.gltf)||void 0===o?void 0:o.extensions)&&a.CESIUM_RTC&&(t.rtcCenter=a.CESIUM_RTC.center),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function wr(e,t,A,n,r){A=Er(e,t,A=Nn(e,t,A=xn(e,t,A=kn(e,t,A))),n);var i=new En(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=i.getGlobalProperty("RTC_CENTER",zA.FLOAT,3),A}var Sr=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"toString",value:function(){var e="[";if(en.printRowMajor){e+="row-major:";for(var t=0;t<this.RANK;++t)for(var A=0;A<this.RANK;++A)e+=" ".concat(this[A*this.RANK+t])}else{e+="column-major:";for(var n=0;n<this.ELEMENTS;++n)e+=" ".concat(this[n])}return e+="]"}},{key:"getElementIndex",value:function(e,t){return t*this.RANK+e}},{key:"getElement",value:function(e,t){return this[t*this.RANK+e]}},{key:"setElement",value:function(e,t,A){return this[t*this.RANK+e]=sn(A),this}},{key:"getColumn",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),A=e*this.RANK,n=0;n<this.RANK;++n)t[n]=this[A+n];return t}},{key:"setColumn",value:function(e,t){for(var A=e*this.RANK,n=0;n<this.RANK;++n)this[A+n]=t[n];return this}},{key:"ELEMENTS",get:function(){return $A(!1),0}},{key:"RANK",get:function(){return $A(!1),0}}]),A}(on),Fr=Object.freeze([1,0,0,0,1,0,0,0,1]),Rr=Object.freeze([0,0,0,0,0,0,0,0,0]),Dr=Object.freeze({COL0ROW0:0,COL0ROW1:1,COL0ROW2:2,COL1ROW0:3,COL1ROW1:4,COL1ROW2:5,COL2ROW0:6,COL2ROW1:7,COL2ROW2:8}),Gr={},kr=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(e){var r;return Object(n.a)(this,A),r=t.call(this,-0,-0,-0,-0,-0,-0,-0,-0,-0),1===arguments.length&&Array.isArray(e)?r.copy(e):r.identity(),r}return Object(a.a)(A,[{key:"ELEMENTS",get:function(){return 9}},{key:"RANK",get:function(){return 3}},{key:"INDICES",get:function(){return Dr}}],[{key:"IDENTITY",get:function(){return Gr.IDENTITY=Gr.IDENTITY||Object.freeze(new A(Fr)),Gr.IDENTITY}},{key:"ZERO",get:function(){return Gr.ZERO=Gr.ZERO||Object.freeze(new A(Rr)),Gr.ZERO}}]),Object(a.a)(A,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this.check()}},{key:"set",value:function(e,t,A,n,r,i,o,a,s){return this[0]=e,this[1]=t,this[2]=A,this[3]=n,this[4]=r,this[5]=i,this[6]=o,this[7]=a,this[8]=s,this.check()}},{key:"setRowMajor",value:function(e,t,A,n,r,i,o,a,s){return this[0]=e,this[1]=n,this[2]=o,this[3]=t,this[4]=r,this[5]=a,this[6]=A,this[7]=i,this[8]=s,this.check()}},{key:"determinant",value:function(){return fA.b(this)}},{key:"identity",value:function(){return this.copy(Fr)}},{key:"fromQuaternion",value:function(e){return fA.c(this,e),this.check()}},{key:"transpose",value:function(){return fA.i(this,this),this.check()}},{key:"invert",value:function(){return fA.d(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return fA.e(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return fA.e(this,this,e),this.check()}},{key:"rotate",value:function(e){return fA.f(this,this,e),this.check()}},{key:"scale",value:function(e){return Array.isArray(e)?fA.g(this,this,e):fA.g(this,this,[e,e,e]),this.check()}},{key:"translate",value:function(e){return fA.h(this,this,e),this.check()}},{key:"transform",value:function(e,t){switch(e.length){case 2:t=me.e(t||[-0,-0],e,this);break;case 3:t=be.o(t||[-0,-0,-0],e,this);break;case 4:t=function(e,t,A){var n=t[0],r=t[1],i=t[2];return e[0]=A[0]*n+A[3]*r+A[6]*i,e[1]=A[1]*n+A[4]*r+A[7]*i,e[2]=A[2]*n+A[5]*r+A[8]*i,e[3]=t[3],e}(t||[-0,-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return gn(t,e.length),t}},{key:"transformVector",value:function(e,t){return un("Matrix3.transformVector"),this.transform(e,t)}},{key:"transformVector2",value:function(e,t){return un("Matrix3.transformVector"),this.transform(e,t)}},{key:"transformVector3",value:function(e,t){return un("Matrix3.transformVector"),this.transform(e,t)}}]),A}(Sr),xr=[0,0,0,1],Nr=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return Object(n.a)(this,A),e=t.call(this,-0,-0,-0,-0),Array.isArray(r)&&1===arguments.length?e.copy(r):e.set(r,i,o,a),e}return Object(a.a)(A,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,A,n){return this[0]=e,this[1]=t,this[2]=A,this[3]=n,this.check()}},{key:"fromMatrix3",value:function(e){return IA.e(this,e),this.check()}},{key:"identity",value:function(){return IA.f(this),this.check()}},{key:"fromAxisRotation",value:function(e,t){return IA.p(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"len",value:function(){return IA.h(this)}},{key:"lengthSquared",value:function(){return IA.r(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return IA.d(this,e)}},{key:"rotationTo",value:function(e,t){return IA.n(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return IA.a(this,this,e),this.check()}},{key:"calculateW",value:function(){return IA.b(this,this),this.check()}},{key:"conjugate",value:function(){return IA.c(this,this),this.check()}},{key:"invert",value:function(){return IA.g(this,this),this.check()}},{key:"lerp",value:function(e,t,A){return IA.i(this,e,t,A),this.check()}},{key:"multiplyRight",value:function(e,t){return $A(!t),IA.j(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return $A(!t),IA.j(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return IA.k(this,this,e),this.check()}},{key:"rotateY",value:function(e){return IA.l(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return IA.m(this,this,e),this.check()}},{key:"scale",value:function(e){return IA.o(this,this,e),this.check()}},{key:"slerp",value:function(e,t,A){switch(arguments.length){case 1:var n=arguments[0],r=n.start;e=void 0===r?xr:r,t=n.target,A=n.ratio;break;case 2:var i=Array.prototype.slice.call(arguments);t=i[0],A=i[1],e=this}return IA.q(this,e,t,A),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return we.o(t,e,this),gn(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=sn(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=sn(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=sn(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=sn(e)}}]),A}(on),Ur=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),_r=Object.freeze([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Mr=Object.freeze({COL0ROW0:0,COL0ROW1:1,COL0ROW2:2,COL0ROW3:3,COL1ROW0:4,COL1ROW1:5,COL1ROW2:6,COL1ROW3:7,COL2ROW0:8,COL2ROW1:9,COL2ROW2:10,COL2ROW3:11,COL3ROW0:12,COL3ROW1:13,COL3ROW2:14,COL3ROW3:15}),Or={},Lr=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(e){var r;return Object(n.a)(this,A),r=t.call(this,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),1===arguments.length&&Array.isArray(e)?r.copy(e):r.identity(),r}return Object(a.a)(A,[{key:"INDICES",get:function(){return Mr}},{key:"ELEMENTS",get:function(){return 16}},{key:"RANK",get:function(){return 4}}],[{key:"IDENTITY",get:function(){return Or.IDENTITY=Or.IDENTITY||Object.freeze(new A(Ur)),Or.IDENTITY}},{key:"ZERO",get:function(){return Or.ZERO=Or.ZERO||Object.freeze(new A(_r)),Or.ZERO}}]),Object(a.a)(A,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}},{key:"set",value:function(e,t,A,n,r,i,o,a,s,g,c,u,l,I,C,h){return this[0]=e,this[1]=t,this[2]=A,this[3]=n,this[4]=r,this[5]=i,this[6]=o,this[7]=a,this[8]=s,this[9]=g,this[10]=c,this[11]=u,this[12]=l,this[13]=I,this[14]=C,this[15]=h,this.check()}},{key:"setRowMajor",value:function(e,t,A,n,r,i,o,a,s,g,c,u,l,I,C,h){return this[0]=e,this[1]=r,this[2]=s,this[3]=l,this[4]=t,this[5]=i,this[6]=g,this[7]=I,this[8]=A,this[9]=o,this[10]=c,this[11]=C,this[12]=n,this[13]=a,this[14]=u,this[15]=h,this.check()}},{key:"toRowMajor",value:function(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}},{key:"identity",value:function(){return this.copy(Ur)}},{key:"fromQuaternion",value:function(e){return ve.b(this,e),this.check()}},{key:"frustum",value:function(e){var t=e.left,n=e.right,r=e.bottom,i=e.top,o=e.near,a=e.far;return a===1/0?A._computeInfinitePerspectiveOffCenter(this,t,n,r,i,o):ve.c(this,t,n,r,i,o,a),this.check()}},{key:"lookAt",value:function(e,t,A){if(1===arguments.length){var n=e;e=n.eye,t=n.center,A=n.up}return t=t||[0,0,0],A=A||[0,1,0],ve.f(this,e,t,A),this.check()}},{key:"ortho",value:function(e){var t=e.left,A=e.right,n=e.bottom,r=e.top,i=e.near,o=void 0===i?.1:i,a=e.far,s=void 0===a?500:a;return ve.h(this,t,A,n,r,o,s),this.check()}},{key:"orthographic",value:function(e){var t=e.fovy,n=void 0===t?45*Math.PI/180:t,r=e.aspect,i=void 0===r?1:r,o=e.focalDistance,a=void 0===o?1:o,s=e.near,g=void 0===s?.1:s,c=e.far,u=void 0===c?500:c;if(n>2*Math.PI)throw Error("radians");var l=n/2,I=a*Math.tan(l),C=I*i;return(new A).ortho({left:-C,right:C,bottom:-I,top:I,near:g,far:u})}},{key:"perspective",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fovy,A=void 0===t?void 0:t,n=e.fov,r=void 0===n?45*Math.PI/180:n,i=e.aspect,o=void 0===i?1:i,a=e.near,s=void 0===a?.1:a,g=e.far,c=void 0===g?500:g;if((A=A||r)>2*Math.PI)throw Error("radians");return ve.i(this,A,o,s,c),this.check()}},{key:"determinant",value:function(){return ve.a(this)}},{key:"getScale",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}},{key:"getTranslation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}},{key:"getRotation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,A=this.getScale(t||[-0,-0,-0]),n=1/A[0],r=1/A[1],i=1/A[2];return e[0]=this[0]*n,e[1]=this[1]*r,e[2]=this[2]*i,e[3]=0,e[4]=this[4]*n,e[5]=this[5]*r,e[6]=this[6]*i,e[7]=0,e[8]=this[8]*n,e[9]=this[9]*r,e[10]=this[10]*i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},{key:"getRotationMatrix3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,A=this.getScale(t||[-0,-0,-0]),n=1/A[0],r=1/A[1],i=1/A[2];return e[0]=this[0]*n,e[1]=this[1]*r,e[2]=this[2]*i,e[3]=this[4]*n,e[4]=this[5]*r,e[5]=this[6]*i,e[6]=this[8]*n,e[7]=this[9]*r,e[8]=this[10]*i,e}},{key:"transpose",value:function(){return ve.p(this,this),this.check()}},{key:"invert",value:function(){return ve.e(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return ve.g(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return ve.g(this,this,e),this.check()}},{key:"rotateX",value:function(e){return ve.k(this,this,e),this.check()}},{key:"rotateY",value:function(e){return ve.l(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return ve.m(this,this,e),this.check()}},{key:"rotateXYZ",value:function(e){var t=Object(u.a)(e,3),A=t[0],n=t[1],r=t[2];return this.rotateX(A).rotateY(n).rotateZ(r)}},{key:"rotateAxis",value:function(e,t){return ve.j(this,this,e,t),this.check()}},{key:"scale",value:function(e){return Array.isArray(e)?ve.n(this,this,e):ve.n(this,this,[e,e,e]),this.check()}},{key:"translate",value:function(e){return ve.o(this,this,e),this.check()}},{key:"transform",value:function(e,t){return 4===e.length?(gn(t=we.n(t||[-0,-0,-0,-0],e,this),4),t):this.transformAsPoint(e,t)}},{key:"transformAsPoint",value:function(e,t){switch(e.length){case 2:t=me.f(t||[-0,-0],e,this);break;case 3:t=be.p(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return gn(t,e.length),t}},{key:"transformAsVector",value:function(e,t){switch(e.length){case 2:t=function(e,t,A){var n=t[0],r=t[1],i=A[3]*n+A[7]*r||1;return e[0]=(A[0]*n+A[4]*r)/i,e[1]=(A[1]*n+A[5]*r)/i,e}(t||[-0,-0],e,this);break;case 3:t=ln(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return gn(t,e.length),t}},{key:"makeRotationX",value:function(e){return this.identity().rotateX(e)}},{key:"makeTranslation",value:function(e,t,A){return this.identity().translate([e,t,A])}},{key:"transformPoint",value:function(e,t){return un("Matrix4.transformPoint","3.0"),this.transformAsPoint(e,t)}},{key:"transformVector",value:function(e,t){return un("Matrix4.transformVector","3.0"),this.transformAsPoint(e,t)}},{key:"transformDirection",value:function(e,t){return un("Matrix4.transformDirection","3.0"),this.transformAsVector(e,t)}}],[{key:"_computeInfinitePerspectiveOffCenter",value:function(e,t,A,n,r,i){var o=2*i/(A-t),a=2*i/(r-n),s=(A+t)/(A-t),g=(r+n)/(r-n),c=-2*i;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=s,e[9]=g,e[10]=-1,e[11]=-1,e[12]=0,e[13]=0,e[14]=c,e[15]=0,e}}]),A}(Sr);function Tr(e,t,A,n,r){return Zr.apply(this,arguments)}function Zr(){return(Zr=Object(J.a)(Y.a.mark((function e(t,A,n,r,i){return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=Hr(t,A,n,r,i),e.next=3,Qr(t,t.gltfFormat,r,i);case 3:return e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Hr(e,t,A,n,r){if(A=kn(e,t,A),1!==e.version)throw new Error("Instanced 3D Model version ".concat(e.version," is not supported"));A=xn(e,t,A);var i=new DataView(t);if(e.gltfFormat=i.getUint32(A,!0),A=Er(e,t,A=Nn(e,t,A+=4),n),0===e.featureTableJsonByteLength)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");var o=new En(e.featureTableJson,e.featureTableBinary),a=o.getGlobalProperty("INSTANCES_LENGTH");if(o.featuresLength=a,!Number.isFinite(a))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=o.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=o.getGlobalProperty("RTC_CENTER",zA.FLOAT,3);new Gn(e.batchTableJson,e.batchTableBinary,a);return function(e,t,A,n){for(var r=[new Array(n),e._batchTable][0],i=new fn,o=(new fn,new fn,new fn,new kr),a=new Nr,s=new fn,g={},c=new Lr,u=[],l=[],I=new fn,C=new fn,h=0;h<n;h++){var f=void 0;if(t.hasProperty("POSITION"))f=t.getProperty("POSITION",zA.FLOAT,3,h,i);else if(t.hasProperty("POSITION_QUANTIZED")){f=t.getProperty("POSITION_QUANTIZED",zA.UNSIGNED_SHORT,3,h,i);var d=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",zA.FLOAT,3,I);if(!d)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");var B=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",zA.FLOAT,3,C);if(!B)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");for(var p=0;p<3;p++)f[p]=f[p]/65535*B[p]+d[p]}if(!f)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");i.copy(f),g.translation=i,e.normalUp=t.getProperty("NORMAL_UP",zA.FLOAT,3,h,u),e.normalRight=t.getProperty("NORMAL_RIGHT",zA.FLOAT,3,h,l);if(e.normalUp){if(!e.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");e.hasCustomOrientation=!0}else{if(e.octNormalUp=t.getProperty("NORMAL_UP_OCT32P",zA.UNSIGNED_SHORT,2,u),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",zA.UNSIGNED_SHORT,2,l),e.octNormalUp){if(!e.octNormalRight)throw new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");throw new Error("i3dm: oct-encoded orientation not implemented")}e.eastNorthUp?(Ut.WGS84.eastNorthUpToFixedFrame(i,c),c.getRotationMatrix3(o)):o.identity()}!1,a.fromMatrix3(o),g.rotation=a,s.set(1,1,1);var E=t.getProperty("SCALE",zA.FLOAT,1,h);Number.isFinite(E)&&s.multiplyByScalar(E);var Q=t.getProperty("SCALE_NON_UNIFORM",zA.FLOAT,3,h,u);Q&&s.scale(Q),g.scale=s;var y=t.getProperty("BATCH_ID",zA.UNSIGNED_SHORT,1,h);void 0===y&&(y=h);var v=(new Lr).fromQuaternion(g.rotation);c.identity(),c.translate(g.translation),c.multiplyRight(v),c.scale(g.scale);var m=c.clone();r[h]={modelMatrix:m,batchId:y}}e.instances=r}(e,o,0,a),A}function Yr(e,t,A,n,r,i){return Jr.apply(this,arguments)}function Jr(){return(Jr=Object(J.a)(Y.a.mark((function e(t,A,n,r,i,o){var a,s;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=kn(t,A,n),a=new DataView(A),t.tilesLength=a.getUint32(n,!0),n+=4,t.tiles=[];case 5:if(!(t.tiles.length<t.tilesLength&&t.byteLength-n>12)){e.next=13;break}return s={},t.tiles.push(s),e.next=10,o(A,n,r,i,s);case 10:n=e.sent,e.next=5;break;case 13:return e.abrupt("return",n);case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function jr(e){return Pr.apply(this,arguments)}function Pr(){return(Pr=Object(J.a)(Y.a.mark((function e(t){var A,n,r,i,o=arguments;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:A=o.length>1&&void 0!==o[1]?o[1]:0,n=o.length>2?o[2]:void 0,r=o.length>3?o[3]:void 0,(i=o.length>4&&void 0!==o[4]?o[4]:{}).byteOffset=A,i.type=WA(t,A),e.t0=i.type,e.next=e.t0===VA.COMPOSITE?9:e.t0===VA.BATCHED_3D_MODEL?12:e.t0===VA.INSTANCED_3D_MODEL?15:e.t0===VA.POINT_CLOUD?18:21;break;case 9:return e.next=11,Yr(i,t,A,n,r,jr);case 11:return e.abrupt("return",e.sent);case 12:return e.next=14,mr(i,t,A,n,r);case 14:return e.abrupt("return",e.sent);case 15:return e.next=17,Tr(i,t,A,n,r);case 17:return e.abrupt("return",e.sent);case 18:return e.next=20,ir(i,t,A,n,r);case 20:return e.abrupt("return",e.sent);case 21:throw new Error("3DTileLoader: unknown type ".concat(i.type));case 22:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Vr(e,t){if(e.content){var A=e.content.uri||e.content.url;e.contentUrl="".concat(t.basePath,"/").concat(A)}return e.id=e.contentUrl,e.lodMetricType=uA,e.lodMetricValue=e.geometricError,e.transformMatrix=e.transform,e.type=function(e){if(!e.contentUrl)return iA;var t=e.contentUrl.split(".").pop();switch(t){case"pnts":return aA;case"i3dm":case"b3dm":return oA;default:return t}}(e),e.refine=function(e){switch(e){case"REPLACE":case"replace":return rA;case"ADD":case"add":return nA;default:return e}}(e.refine),e}function Kr(e){var t=e.basePath,A=Vr(e.root,e),n=[];for(n.push(A);n.length>0;){var r,i=n.pop().children||[],o=Object(R.a)(i);try{for(o.s();!(r=o.n()).done;){var a=r.value;Vr(a,{basePath:t}),n.push(a)}}catch(s){o.e(s)}finally{o.f()}}return A}var Wr={id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:"3.0.12",extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:function(e,t,A){return ti.apply(this,arguments)},options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};function Xr(e){return Ot.a.dirname(e.url)}function qr(e,t,A){return zr.apply(this,arguments)}function zr(){return(zr=Object(J.a)(Y.a.mark((function e(t,A,n){var r;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={content:{featureIds:null}},0,e.next=4,jr(t,0,A,n,r.content);case 4:return e.abrupt("return",r.content);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function $r(e,t,A){return ei.apply(this,arguments)}function ei(){return(ei=Object(J.a)(Y.a.mark((function e(t,A,n){var r;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(r=JSON.parse((new TextDecoder).decode(t))).loader=A.loader||Wr,r.url=n.url,r.basePath=Xr(r),r.root=Kr(r),r.type=cA,r.lodMetricType=uA,r.lodMetricValue=r.root.lodMetricValue,e.abrupt("return",r);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ti(){return(ti=Object(J.a)(Y.a.mark((function e(t,A,n){var r;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=A["3d-tiles"]||{},!("auto"===r.isTileset?n.url&&-1!==n.url.indexOf(".json"):r.isTileset)){e.next=8;break}return e.next=5,$r(t,A,n);case 5:t=e.sent,e.next=11;break;case 8:return e.next=10,qr(t,A,n);case 10:t=e.sent;case 11:return e.abrupt("return",t);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ai=[0],ni={getPointColor:{type:"accessor",value:[0,0,0,255]},pointSize:1,data:null,loader:Wr,onTilesetLoad:{type:"function",value:function(e){},compare:!1},onTileLoad:{type:"function",value:function(e){},compare:!1},onTileUnload:{type:"function",value:function(e){},compare:!1},onTileError:{type:"function",value:function(e,t,A){},compare:!1},_getMeshColor:{type:"function",value:function(e){return[255,255,255]},compare:!1}},ri=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"initializeState",value:function(){"onTileLoadFail"in this.props&&ee.a.removed("onTileLoadFail","onTileError")(),this.state={layerMap:{},tileset3d:null,activeViewports:{},lastUpdatedViewports:null}}},{key:"shouldUpdateState",value:function(e){return e.changeFlags.somethingChanged}},{key:"updateState",value:function(e){var t=e.props,A=e.oldProps,n=e.changeFlags;if(t.data&&t.data!==A.data&&this._loadTileset(t.data),n.viewportChanged){var r=this.state.activeViewports;Object.keys(r).length&&(this._updateTileset(r),this.state.lastUpdatedViewports=r,this.state.activeViewports={})}if(n.propsChanged){var i=this.state.layerMap;for(var o in i)i[o].needsUpdate=!0}}},{key:"activateViewport",value:function(e){var t=this.state,A=t.activeViewports,n=t.lastUpdatedViewports;this.internalState.viewport=e,A[e.id]=e;var r=null===n||void 0===n?void 0:n[e.id];r&&e.equals(r)||(this.setChangeFlags({viewportChanged:!0}),this.setNeedsUpdate())}},{key:"getPickingInfo",value:function(e){var t=e.info,A=e.sourceLayer,n=this.state.layerMap,r=A&&A.id;if(r){var i=r.substring(this.id.length+1),o=i.substring(i.indexOf("-")+1);t.object=n[o]&&n[o].tile}return t}},{key:"filterSubLayer",value:function(e){var t=e.layer,A=e.viewport,n=t.props.tile,r=A.id;return n.selected&&n.viewportIds.includes(r)}},{key:"_updateAutoHighlight",value:function(e){e.sourceLayer&&e.sourceLayer.updateAutoHighlight(e)}},{key:"_loadTileset",value:function(){var e=Object(J.a)(Y.a.mark((function e(t){var A,n,r,i,o,a,g;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=this.props.loadOptions,n=void 0===A?{}:A,r=this.props.loader||this.props.loaders,Array.isArray(r)&&(r=r[0]),i={loadOptions:Object(s.a)({},n)},!r.preload){e.next=10;break}return e.next=7,r.preload(t,n);case 7:(o=e.sent).headers&&(i.loadOptions.fetch=Object(s.a)({},i.loadOptions.fetch,{headers:o.headers})),Object.assign(i,o);case 10:return e.next=12,Object(te.a)(t,r,i.loadOptions);case 12:a=e.sent,g=new PA(a,Object(s.a)({onTileLoad:this._onTileLoad.bind(this),onTileUnload:this._onTileUnload.bind(this),onTileLoadFail:this.props.onTileError},i)),this.setState({tileset3d:g,layerMap:{}}),this._updateTileset(this.state.activeViewports),this.props.onTilesetLoad(g);case 17:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"_onTileLoad",value:function(e){var t=this.state.lastUpdatedViewports;this.props.onTileLoad(e),this._updateTileset(t),this.setNeedsUpdate()}},{key:"_onTileUnload",value:function(e){delete this.state.layerMap[e.id],this.props.onTileUnload(e)}},{key:"_updateTileset",value:function(e){var t=this.state.tileset3d,A=this.context.timeline,n=Object.keys(e).length;if(A&&n&&t){var r=t.update(Object.values(e));this.state.frameNumber!==r&&this.setState({frameNumber:r})}}},{key:"_getSubLayer",value:function(e,t){if(!e.content)return null;switch(e.type){case aA:return this._makePointCloudLayer(e,t);case oA:return this._make3DModelLayer(e,t);case sA:return this._makeSimpleMeshLayer(e,t);default:throw new Error("Tile3DLayer: Failed to render layer of type ".concat(e.content.type))}}},{key:"_makePointCloudLayer",value:function(e,t){var A=e.content,n=A.attributes,r=A.pointCount,i=A.constantRGBA,o=A.cartographicOrigin,a=A.modelMatrix,s=n.positions,g=n.normals,c=n.colors;if(!s)return null;var u=t&&t.props.data||{header:{vertexCount:r},attributes:{POSITION:s,NORMAL:g,COLOR_0:c}},l=this.props,I=l.pointSize,C=l.getPointColor;return new(this.getSubLayerClass("pointcloud",V.a))({pointSize:I},this.getSubLayerProps({id:"pointcloud"}),{id:"".concat(this.id,"-pointcloud-").concat(e.id),tile:e,data:u,coordinateSystem:P.a.METER_OFFSETS,coordinateOrigin:o,modelMatrix:a,getColor:i||C,_offset:0})}},{key:"_make3DModelLayer",value:function(e){var t=e.content,A=t.gltf,n=t.instances,r=t.cartographicOrigin,i=t.modelMatrix;return new(this.getSubLayerClass("scenegraph",K.a))({_lighting:"pbr"},this.getSubLayerProps({id:"scenegraph"}),{id:"".concat(this.id,"-scenegraph-").concat(e.id),tile:e,data:n||Ai,scenegraph:A,coordinateSystem:P.a.METER_OFFSETS,coordinateOrigin:r,modelMatrix:i,getTransformMatrix:function(e){return e.modelMatrix},getPosition:[0,0,0],_offset:0})}},{key:"_makeSimpleMeshLayer",value:function(e,t){var A=e.content,n=A.attributes,r=A.indices,i=A.modelMatrix,o=A.cartographicOrigin,a=A.material,s=A.featureIds,g=this.props._getMeshColor,c=t&&t.props.mesh||new j.a({drawMode:4,attributes:ii(n),indices:r});return new(this.getSubLayerClass("mesh",$))(this.getSubLayerProps({id:"mesh"}),{id:"".concat(this.id,"-mesh-").concat(e.id),tile:e,mesh:c,data:Ai,getColor:g(e),pbrMaterial:a,modelMatrix:i,coordinateOrigin:o,coordinateSystem:P.a.METER_OFFSETS,featureIds:s,_offset:0})}},{key:"renderLayers",value:function(){var e=this,t=this.state,A=t.tileset3d,n=t.layerMap;return A?A.tiles.map((function(t){var A=n[t.id]=n[t.id]||{tile:t},r=A.layer;return t.selected&&(r?A.needsUpdate&&(r=e._getSubLayer(t,r),A.needsUpdate=!1):r=e._getSubLayer(t)),A.layer=r,r})).filter(Boolean):null}},{key:"isLoaded",get:function(){var e=this.state.tileset3d;return e&&e.isLoaded()}}]),A}(g.a);function ii(e){var t={};return t.positions=Object(s.a)({},e.positions,{value:new Float32Array(e.positions.value)}),e.normals&&(t.normals=e.normals),e.texCoords&&(t.texCoords=e.texCoords),e.colors&&(t.colors=e.colors),e.uvRegions&&(t.uvRegions=e.uvRegions),t}ri.layerName="Tile3DLayer",ri.defaultProps=ni;var oi=A(263),ai={name:"Terrain",id:"terrain",module:"terrain",version:"3.0.14",worker:!0,extensions:["png","pngraw"],mimeTypes:["image/png"],options:{terrain:{tesselator:"auto",bounds:null,meshMaxError:10,elevationDecoder:{rScaler:1,gScaler:0,bScaler:0,offset:0},skirtHeight:null}}},si=A(120),gi=[1],ci=Object(s.a)({},b.a.defaultProps,{elevationData:si.f,texture:Object(s.a)({},si.f,{optional:!0}),meshMaxError:{type:"number",value:4},bounds:{type:"array",value:null,optional:!0,compare:!0},color:{type:"color",value:[255,255,255]},elevationDecoder:{type:"object",value:{rScaler:1,gScaler:0,bScaler:0,offset:0}},workerUrl:{type:"string",value:null},wireframe:!1,material:!0,loaders:[ai]});function ui(e){return Array.isArray(e)?e.join(";"):e}var li=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"updateState",value:function(e){var t=e.props,A=e.oldProps,n=t.elevationData!==A.elevationData;if(n){var r=t.elevationData,i=r&&(Array.isArray(r)||r.includes("{x}")&&r.includes("{y}"));this.setState({isTiled:i})}var o=n||t.meshMaxError!==A.meshMaxError||t.elevationDecoder!==A.elevationDecoder||t.bounds!==A.bounds;if(!this.state.isTiled&&o){var a=this.loadTerrain(t);this.setState({terrain:a})}t.workerUrl&&ee.a.removed("workerUrl","loadOptions.terrain.workerUrl")()}},{key:"loadTerrain",value:function(e){var t,A=e.elevationData,n=e.bounds,r=e.elevationDecoder,i=e.meshMaxError,o=e.signal;if(!A)return null;var a=this.getLoadOptions();return a=Object(s.a)({},a,{terrain:Object(s.a)({skirtHeight:this.state.isTiled?2*i:0},null===(t=a)||void 0===t?void 0:t.terrain,{bounds:n,meshMaxError:i,elevationDecoder:r})}),(0,this.props.fetch)(A,{propName:"elevationData",layer:this,loadOptions:a,signal:o})}},{key:"getTiledTerrainData",value:function(e){var t=this.props,A=t.elevationData,n=t.fetch,r=t.texture,i=t.elevationDecoder,o=t.meshMaxError,a=Object(si.b)(A,e),s=Object(si.b)(r,e),g=e.bbox,c=e.signal,u=e.z,l=new oi.a({longitude:(g.west+g.east)/2,latitude:(g.north+g.south)/2,zoom:u}),I=l.projectFlat([g.west,g.south]),C=l.projectFlat([g.east,g.north]),h=[I[0],I[1],C[0],C[1]],f=this.loadTerrain({elevationData:a,bounds:h,elevationDecoder:i,meshMaxError:o,signal:c}),d=s?n(s,{propName:"texture",layer:this,loaders:[],signal:c}).catch((function(e){return null})):Promise.resolve(null);return Promise.all([f,d])}},{key:"renderSubLayers",value:function(e){var t=this.getSubLayerClass("mesh",z.a),A=e.data,n=e.color;if(!A)return null;var r=Object(u.a)(A,2),i=r[0],o=r[1];return new t(e,{data:gi,mesh:i,texture:o,coordinateSystem:P.a.CARTESIAN,getPosition:function(e){return[0,0,0]},getColor:n})}},{key:"onViewportLoad",value:function(e){if(e){var t=this.state.zRange,A=e.map((function(e){return e.content})).filter(Boolean).map((function(e){return e[0].header.boundingBox.map((function(e){return e[2]}))}));if(0!==A.length){var n=Math.min.apply(Math,Object(ne.a)(A.map((function(e){return e[0]})))),r=Math.max.apply(Math,Object(ne.a)(A.map((function(e){return e[1]}))));(!t||n<t[0]||r>t[1])&&this.setState({zRange:[n,r]})}}}},{key:"renderLayers",value:function(){var e=this.props,t=e.color,A=e.material,n=e.elevationData,r=e.texture,i=e.wireframe,o=e.meshMaxError,a=e.elevationDecoder,s=e.tileSize,g=e.maxZoom,c=e.minZoom,u=e.extent,l=e.maxRequests,I=e.onTileLoad,C=e.onTileUnload,h=e.onTileError,f=e.maxCacheSize,d=e.maxCacheByteSize,B=e.refinementStrategy;return this.state.isTiled?new b.a(this.getSubLayerProps({id:"tiles"}),{wireframe:i,color:t,material:A,getTileData:this.getTiledTerrainData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:{elevationData:ui(n),texture:ui(r),meshMaxError:o,elevationDecoder:a}},onViewportLoad:this.onViewportLoad.bind(this),zRange:this.state.zRange||null,tileSize:s,maxZoom:g,minZoom:c,extent:u,maxRequests:l,onTileLoad:I,onTileUnload:C,onTileError:h,maxCacheSize:f,maxCacheByteSize:d,refinementStrategy:B}):new(this.getSubLayerClass("mesh",z.a))(this.getSubLayerProps({id:"mesh"}),{data:gi,mesh:this.state.terrain,texture:r,_instanced:!1,getPosition:function(e){return[0,0,0]},getColor:t,material:A,wireframe:i})}}]),A}(g.a);li.layerName="TerrainLayer",li.defaultProps=ci;var Ii=function(){function e(t,A,r,i,o){Object(n.a)(this,e),this.properties={},this.extent=r,this.type=0,this.id=null,this._pbf=t,this._geometry=-1,this._keys=i,this._values=o,t.readFields(hi,this,A)}return Object(a.a)(e,null,[{key:"types",get:function(){return["Unknown","Point","LineString","Polygon"]}}]),Object(a.a)(e,[{key:"loadGeometry",value:function(){var e=this._pbf;e.pos=this._geometry;for(var t,A=e.readVarint()+e.pos,n=1,r=0,i=0,o=0,a=[];e.pos<A;){if(r<=0){var s=e.readVarint();n=7&s,r=s>>3}if(r--,1===n||2===n)i+=e.readSVarint(),o+=e.readSVarint(),1===n&&(t&&a.push(t),t=[]),t.push([i,o]);else{if(7!==n)throw new Error("unknown command ".concat(n));t&&t.push(t[0].slice())}}return t&&a.push(t),a}},{key:"bbox",value:function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,A=1,n=0,r=0,i=0,o=1/0,a=-1/0,s=1/0,g=-1/0;e.pos<t;){if(n<=0){var c=e.readVarint();A=7&c,n=c>>3}if(n--,1===A||2===A)(r+=e.readSVarint())<o&&(o=r),r>a&&(a=r),(i+=e.readSVarint())<s&&(s=i),i>g&&(g=i);else if(7!==A)throw new Error("unknown command ".concat(A))}return[o,s,a,g]}},{key:"_toGeoJSON",value:function(t){var A,n,r=this.loadGeometry(),i=e.types[this.type];switch(this.type){case 1:var o=[];for(A=0;A<r.length;A++)o[A]=r[A][0];t(r=o,this);break;case 2:for(A=0;A<r.length;A++)t(r[A],this);break;case 3:for(r=function(e){var t=e.length;if(t<=1)return[e];for(var A,n,r=[],i=0;i<t;i++){var o=Ci(e[i]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(A&&r.push(A),A=[e[i]]):A.push(e[i]))}A&&r.push(A);return r}(r),A=0;A<r.length;A++)for(n=0;n<r[A].length;n++)t(r[A][n],this)}1===r.length?r=r[0]:i="Multi".concat(i);var a={type:"Feature",geometry:{type:i,coordinates:r},properties:this.properties};return null!==this.id&&(a.id=this.id),a}},{key:"toGeoJSON",value:function(e){if("function"===typeof e)return this._toGeoJSON(e);var t=e.x,A=e.y,n=e.z,r=this.extent*Math.pow(2,n),i=this.extent*t,o=this.extent*A;return this._toGeoJSON((function(e){for(var t=0;t<e.length;t++){var A=e[t];A[0]=360*(A[0]+i)/r-180;var n=180-360*(A[1]+o)/r;A[1]=360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90}}))}}]),e}();function Ci(e){for(var t,A,n=0,r=0,i=e.length-1;r<e.length;i=r++)t=e[r],n+=((A=e[i])[0]-t[0])*(t[1]+A[1]);return n}function hi(e,t,A){1===e?t.id=A.readVarint():2===e?function(e,t){var A=e.readVarint()+e.pos;for(;e.pos<A;){var n=t._keys[e.readVarint()],r=t._values[e.readVarint()];t.properties[n]=r}}(A,t):3===e?t.type=A.readVarint():4===e&&(t._geometry=A.pos)}var fi=function(){function e(t,A){Object(n.a)(this,e),this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(di,this,A),this.length=this._features.length}return Object(a.a)(e,[{key:"feature",value:function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new Ii(this._pbf,t,this.extent,this._keys,this._values)}}]),e}();function di(e,t,A){15===e?t.version=A.readVarint():1===e?t.name=A.readString():5===e?t.extent=A.readVarint():2===e?t._features.push(A.pos):3===e?t._keys.push(A.readString()):4===e&&t._values.push(function(e){var t=null,A=e.readVarint()+e.pos;for(;e.pos<A;){var n=e.readVarint()>>3;t=1===n?e.readString():2===n?e.readFloat():3===n?e.readDouble():4===n?e.readVarint64():5===n?e.readVarint():6===n?e.readSVarint():7===n?e.readBoolean():null}return t}(A))}var Bi=function e(t,A){Object(n.a)(this,e),this.layers=t.readFields(pi,{},A)};function pi(e,t,A){if(3===e){var n=new fi(A,A.readVarint()+A.pos);n.length&&(t[n.name]=n)}}var Ei,Qi,yi,vi,mi,bi,wi,Si=A(89),Fi=function(){function e(t,A,r,i,o,a){Object(n.a)(this,e),this.properties={},this.extent=r,this.type=0,this.id=null,this._pbf=t,this._geometry=-1,this._keys=i,this._values=o,this._firstPassData=a,t.readFields(Di,this,A)}return Object(a.a)(e,null,[{key:"types",get:function(){return["Unknown","Point","LineString","Polygon"]}}]),Object(a.a)(e,[{key:"loadGeometry",value:function(){var e=this._pbf;e.pos=this._geometry,Ei=e.readVarint()+e.pos,Qi=1,vi=0,mi=0,bi=0,wi=0;for(var t=[],A=[];e.pos<Ei;)if(vi<=0&&(yi=e.readVarint(),Qi=7&yi,vi=yi>>3),vi--,1===Qi||2===Qi)mi+=e.readSVarint(),bi+=e.readSVarint(),1===Qi&&t.push(wi),A.push(mi,bi),wi+=2;else{if(7!==Qi)throw new Error("unknown command ".concat(Qi));if(wi>0){var n=t[t.length-1];A.push(A[n],A[n+1]),wi+=2}}return{data:A,lines:t}}},{key:"_toBinaryCoordinates",value:function(t){var A=this.loadGeometry();t(A.data,this);switch(this.type){case 1:this._firstPassData.pointFeaturesCount++,this._firstPassData.pointPositionsCount+=A.lines.length;break;case 2:this._firstPassData.lineFeaturesCount++,this._firstPassData.linePathsCount+=A.lines.length,this._firstPassData.linePositionsCount+=A.data.length/2;break;case 3:var n=Ri(A);this._firstPassData.polygonFeaturesCount++,this._firstPassData.polygonObjectsCount+=n.lines.length;var r,i=Object(R.a)(n.lines);try{for(i.s();!(r=i.n()).done;){var o=r.value;this._firstPassData.polygonRingsCount+=o.length}}catch(s){i.e(s)}finally{i.f()}this._firstPassData.polygonPositionsCount+=n.data.length/2,A=n}A.type=e.types[this.type],A.lines.length>1&&(A.type="Multi".concat(A.type));var a={type:"Feature",geometry:A,properties:this.properties};return null!==this.id&&(a.id=this.id),a}},{key:"toBinaryCoordinates",value:function(e){if("function"===typeof e)return this._toBinaryCoordinates(e);var t=e.x,A=e.y,n=e.z,r=this.extent*Math.pow(2,n),i=this.extent*t,o=this.extent*A;return this._toBinaryCoordinates((function(e){for(var t=0,A=e.length;t<A;t+=2){e[t]=360*(e[t]+i)/r-180;var n=180-360*(e[t+1]+o)/r;e[t+1]=360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90}}))}}]),e}();function Ri(e){var t=e.lines.length;if(t<=1)return{data:e.data,areas:[[Object(Si.g)(e.data)]],lines:[e.lines]};for(var A,n,r,i,o,a=[],s=[],g=0,c=0;c<t;c++){i=e.lines[c]-g,o=e.lines[c+1]-g||e.data.length;var u=e.data.slice(i,o),l=Object(Si.g)(u);if(0!==l)void 0===r&&(r=l<0),r===l<0?(n&&(a.push(A),s.push(n)),n=[i],A=[l]):(A.push(l),n.push(i));else{var I=e.data.slice(0,i),C=e.data.slice(o);e.data=I.concat(C),g+=o-i}}return A&&a.push(A),n&&s.push(n),{areas:a,lines:s,data:e.data}}function Di(e,t,A){1===e?t.id=A.readVarint():2===e?function(e,t){var A=e.readVarint()+e.pos;for(;e.pos<A;){var n=t._keys[e.readVarint()],r=t._values[e.readVarint()];t.properties[n]=r}}(A,t):3===e?t.type=A.readVarint():4===e&&(t._geometry=A.pos)}var Gi=function(){function e(t,A){Object(n.a)(this,e),this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(ki,this,A),this.length=this._features.length}return Object(a.a)(e,[{key:"feature",value:function(e,t){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var A=this._pbf.readVarint()+this._pbf.pos;return new Fi(this._pbf,A,this.extent,this._keys,this._values,t)}}]),e}();function ki(e,t,A){15===e?t.version=A.readVarint():1===e?t.name=A.readString():5===e?t.extent=A.readVarint():2===e?t._features.push(A.pos):3===e?t._keys.push(A.readString()):4===e&&t._values.push(function(e){var t=null,A=e.readVarint()+e.pos;for(;e.pos<A;){var n=e.readVarint()>>3;t=1===n?e.readString():2===n?e.readFloat():3===n?e.readDouble():4===n?e.readVarint64():5===n?e.readVarint():6===n?e.readSVarint():7===n?e.readBoolean():null}return t}(A))}var xi=function e(t,A){Object(n.a)(this,e),this.layers=t.readFields(Ni,{},A)};function Ni(e,t,A){if(3===e){var n=new Gi(A,A.readVarint()+A.pos);n.length&&(t[n.name]=n)}}function Ui(e){var t,A,n={},r=Object(R.a)(e);try{for(r.s();!(t=r.n()).done;){var i=t.value;if(i.properties)for(var o in i.properties){var a=n[o];if(a||void 0===a){var s=i.properties[o];n[o]=(A=s,Number.isFinite(A))}}}}catch(g){r.e(g)}finally{r.f()}return Object.keys(n).filter((function(e){return n[e]}))}function _i(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=t.pointPositionsCount,r=t.pointFeaturesCount,i=t.linePositionsCount,o=t.linePathsCount,a=t.lineFeaturesCount,s=t.polygonPositionsCount,g=t.polygonObjectsCount,c=t.polygonRingsCount,u=t.polygonFeaturesCount,l=A.numericPropKeys,I=A.PositionDataType,C=void 0===I?Float32Array:I,h=(e[0]&&"id"in e[0]),f=2,d=e.length>65535?Uint32Array:Uint16Array,B={positions:new C(n*f),globalFeatureIds:new d(n),featureIds:r>65535?new Uint32Array(n):new Uint16Array(n),numericProps:{},properties:[],fields:[]},p={pathIndices:i>65535?new Uint32Array(o+1):new Uint16Array(o+1),positions:new C(i*f),globalFeatureIds:new d(i),featureIds:a>65535?new Uint32Array(i):new Uint16Array(i),numericProps:{},properties:[],fields:[]},E={polygonIndices:s>65535?new Uint32Array(g+1):new Uint16Array(g+1),primitivePolygonIndices:s>65535?new Uint32Array(c+1):new Uint16Array(c+1),positions:new C(s*f),triangles:[],globalFeatureIds:new d(s),featureIds:u>65535?new Uint32Array(s):new Uint16Array(s),numericProps:{},properties:[],fields:[]},Q=0,y=[B,p,E];Q<y.length;Q++){var v,m=y[Q],b=Object(R.a)(l);try{for(b.s();!(v=b.n()).done;){var w=v.value;m.numericProps[w]=new Float32Array(m.positions.length/f)}}catch(N){b.e(N)}finally{b.f()}}p.pathIndices[o]=i,E.polygonIndices[g]=s,E.primitivePolygonIndices[c]=s;var S,F={pointPosition:0,pointFeature:0,linePosition:0,linePath:0,lineFeature:0,polygonPosition:0,polygonObject:0,polygonRing:0,polygonFeature:0,feature:0},D=Object(R.a)(e);try{for(D.s();!(S=D.n()).done;){var G=S.value,k=G.geometry,x=G.properties||{};switch(k.type){case"Point":case"MultiPoint":Mi(k,B,F,f,x),B.properties.push(Yi(x,l)),h&&B.fields.push({id:G.id}),F.pointFeature++;break;case"LineString":case"MultiLineString":Oi(k,p,F,f,x),p.properties.push(Yi(x,l)),h&&p.fields.push({id:G.id}),F.lineFeature++;break;case"Polygon":case"MultiPolygon":Li(k,E,F,f,x),E.properties.push(Yi(x,l)),h&&E.fields.push({id:G.id}),F.polygonFeature++;break;default:throw new Error("Invalid geometry type")}F.feature++}}catch(N){D.e(N)}finally{D.f()}return Zi(B,p,E,f)}function Mi(e,t,A,n,r){t.positions.set(e.data,A.pointPosition*n);var i=e.data.length/n;Hi(t,r,A.pointPosition,i),t.globalFeatureIds.fill(A.feature,A.pointPosition,A.pointPosition+i),t.featureIds.fill(A.pointFeature,A.pointPosition,A.pointPosition+i),A.pointPosition+=i}function Oi(e,t,A,n,r){t.positions.set(e.data,A.linePosition*n);var i=e.data.length/n;Hi(t,r,A.linePosition,i),t.globalFeatureIds.fill(A.feature,A.linePosition,A.linePosition+i),t.featureIds.fill(A.lineFeature,A.linePosition,A.linePosition+i);for(var o=0,a=e.lines.length;o<a;++o){var s=e.lines[o],g=o===a-1?e.data.length:e.lines[o+1];t.pathIndices[A.linePath++]=A.linePosition,A.linePosition+=(g-s)/n}}function Li(e,t,A,n,r){t.positions.set(e.data,A.polygonPosition*n);var i=e.data.length/n;Hi(t,r,A.polygonPosition,i),t.globalFeatureIds.fill(A.feature,A.polygonPosition,A.polygonPosition+i),t.featureIds.fill(A.polygonFeature,A.polygonPosition,A.polygonPosition+i);for(var o=0,a=e.lines.length;o<a;++o){var s=A.polygonPosition;t.polygonIndices[A.polygonObject++]=s;for(var g=e.areas[o],c=e.lines[o],u=e.lines[o+1],l=0,I=c.length;l<I;++l){var C=c[l],h=l===I-1?void 0===u?e.data.length:u[0]:c[l+1];t.primitivePolygonIndices[A.polygonRing++]=A.polygonPosition,A.polygonPosition+=(h-C)/n}Ti(t,g,c,{startPosition:s,endPosition:A.polygonPosition,coordLength:n})}}function Ti(e,t,A,n){for(var r=n.startPosition,i=n.endPosition,o=n.coordLength,a=r*o,s=i*o,g=e.positions.subarray(a,s),c=A[0],u=A.slice(1).map((function(e){return(e-c)/o})),l=Object(Si.f)(g,u,o,t),I=0,C=l.length;I<C;++I)e.triangles.push(r+l[I])}function Zi(e,t,A,n){var r={points:Object(s.a)({},e,{positions:{value:e.positions,size:n},globalFeatureIds:{value:e.globalFeatureIds,size:1},featureIds:{value:e.featureIds,size:1}}),lines:Object(s.a)({},t,{pathIndices:{value:t.pathIndices,size:1},positions:{value:t.positions,size:n},globalFeatureIds:{value:t.globalFeatureIds,size:1},featureIds:{value:t.featureIds,size:1}}),polygons:Object(s.a)({},A,{polygonIndices:{value:A.polygonIndices,size:1},primitivePolygonIndices:{value:A.primitivePolygonIndices,size:1},positions:{value:A.positions,size:n},triangles:{value:new Uint32Array(A.triangles),size:1},globalFeatureIds:{value:A.globalFeatureIds,size:1},featureIds:{value:A.featureIds,size:1}})};for(var i in r)for(var o in r[i].numericProps)r[i].numericProps[o]={value:r[i].numericProps[o],size:1};return r}function Hi(e,t,A,n){for(var r in e.numericProps)r in t&&e.numericProps[r].fill(t[r],A,A+n)}function Yi(e,t){var A={};for(var n in e)t.includes(n)||(A[n]=e[n]);return A}var Ji=A(521),ji=A.n(Ji);function Pi(e,t){var A="binary"===(t=function(e){var t="wgs84"===(e=Object(s.a)({},e,{mvt:e.mvt||{},gis:e.gis||{}})).coordinates,A=e.tileIndex,n=A&&Number.isFinite(A.x)&&Number.isFinite(A.y)&&Number.isFinite(A.z);if(t&&!n)throw new Error("MVT Loader: WGS84 coordinates need tileIndex property. Check documentation.");return e}(t)).gis.format,n=[],r={pointPositionsCount:0,pointFeaturesCount:0,linePositionsCount:0,linePathsCount:0,lineFeaturesCount:0,polygonPositionsCount:0,polygonObjectsCount:0,polygonRingsCount:0,polygonFeaturesCount:0};if(e.byteLength>0){var i=A?new xi(new ji.a(e)):new Bi(new ji.a(e)),o=t.mvt;(Array.isArray(o.layers)?o.layers:Object.keys(i.layers)).forEach((function(e){var t=i.layers[e],a=Object(s.a)({},o,{layerName:e});if(t)for(var g=0;g<t.length;g++){var c=t.feature(g,r),u=A?Ki(c,a):Vi(c,a);n.push(u)}}))}if(A){var a=function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return _i(e,t,{numericPropKeys:A.numericPropKeys||Ui(e),PositionDataType:A.PositionDataType||Float32Array})}(n,r,t.gis);return a.byteLength=e.byteLength,a}return n}function Vi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=e.toGeoJSON("wgs84"===t.coordinates?t.tileIndex:Wi);return t.layerProperty&&(A.properties[t.layerProperty]=t.layerName),A}function Ki(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=e.toBinaryCoordinates("wgs84"===t.coordinates?t.tileIndex:Xi);return t.layerProperty&&(A.properties[t.layerProperty]=t.layerName),A}function Wi(e,t){for(var A=t.extent,n=0;n<e.length;n++){var r=e[n];r[0]/=A,r[1]/=A}}function Xi(e,t){for(var A=t.extent,n=0,r=e.length;n<r;++n)e[n]/=A}var qi={name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:"3.0.14",extensions:["mvt","pbf"],mimeTypes:["application/vnd.mapbox-vector-tile","application/x-protobuf"],worker:!0,category:"geometry",options:{mvt:{coordinates:"local",layerProperty:"layerName",layers:null,tileIndex:null}}};Object(s.a)({},qi,{parse:function(){var e=Object(J.a)(Y.a.mark((function e(t,A){return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Pi(t,A));case 1:case"end":return e.stop()}}),e)})));return function(t,A){return e.apply(this,arguments)}}(),parseSync:Pi,binary:!0});function zi(e,t){var A=null===t||void 0===t?void 0:t.globalFeatureId;return void 0!==A?function(e,t){var A,n=to(e),r=Object(R.a)(n);try{for(r.s();!(A=r.n()).done;){for(var i=A.value,o=0,a=i.featureIds.value[0],s=0;s<i.featureIds.value.length;s++){var g=i.featureIds.value[s];if(g!==a){if(t===i.globalFeatureIds.value[o])return Ao(i,o,s);o=s,a=g}}if(t===i.globalFeatureIds.value[o])return Ao(i,o,i.featureIds.value.length)}}catch(c){r.e(c)}finally{r.f()}throw new Error("featureId:".concat(t," not found"))}(e,A):$i(e,null===t||void 0===t?void 0:t.type)}function $i(e,t){return function(e){var t,A=[],n=Object(R.a)(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(0!==r.featureIds.value.length){for(var i=0,o=r.featureIds.value[0],a=0;a<r.featureIds.value.length;a++){var s=r.featureIds.value[a];s!==o&&(A.push(Ao(r,i,a)),i=a,o=s)}A.push(Ao(r,i,r.featureIds.value.length))}}}catch(g){n.e(g)}finally{n.f()}return A}(to(e,t))}function eo(e,t,A){switch(e.type){case"Point":return function(e,t,A){var n=no(e.positions,t,A);if(n.length>1)return{type:"MultiPoint",coordinates:n};return{type:"Point",coordinates:n[0]}}(e,t,A);case"LineString":return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1/0,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,n=e.positions,r=e.pathIndices.value.filter((function(e){return e>=t&&e<=A})),i=r.length>2;if(!i){var o=no(n,r[0],r[1]);return{type:"LineString",coordinates:o}}for(var a=[],s=0;s<r.length-1;s++){var g=no(n,r[s],r[s+1]);a.push(g)}return{type:"MultiLineString",coordinates:a}}(e,t,A);case"Polygon":return function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1/0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,r=t.positions,i=t.polygonIndices.value.filter((function(e){return e>=A&&e<=n})),o=t.primitivePolygonIndices.value.filter((function(e){return e>=A&&e<=n})),a=i.length>2;if(!a){for(var s=[],g=0;g<o.length-1;g++){var c=o[g],u=o[g+1],l=no(r,c,u);s.push(l)}return{type:"Polygon",coordinates:s}}for(var I=[],C=0;C<i.length-1;C++){var h=i[C],f=i[C+1],d=e(t,h,f).coordinates;I.push(d)}return{type:"MultiPolygon",coordinates:I}}(e,t,A);default:throw new Error("Unsupported geometry type: ".concat(null===e||void 0===e?void 0:e.type))}}function to(e,t){if(!Boolean(e.points||e.lines||e.polygons))return e.type=t||function(e){if(e.pathIndices)return"LineString";if(e.polygonIndices)return"Polygon";return"Point"}(e),[e];var A=[];return e.points&&(e.points.type="Point",A.push(e.points)),e.lines&&(e.lines.type="LineString",A.push(e.lines)),e.polygons&&(e.polygons.type="Polygon",A.push(e.polygons)),A}function Ao(e,t,A){var n=eo(e,t,A),r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=(arguments.length>2&&arguments[2],Object.assign({},e.properties[e.featureIds.value[t]]));for(var n in e.numericProps)A[n]=e.numericProps[n].value[t];return A}(e,t,A),i=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;arguments.length>2&&arguments[2];return e.fields&&e.fields[e.featureIds.value[t]]}(e,t,A);return Object(s.a)({type:"Feature",geometry:n,properties:r},i)}function no(e,t,A){t=t||0,A=A||e.value.length/e.size;for(var n=[],r=t;r<A;r++){for(var i=Array(),o=r*e.size;o<(r+1)*e.size;o++)i.push(Number(e.value[o]));n.push(i)}return n}var ro=A(579),io={clipBounds:[0,0,1,1]},oo="\nuniform vec4 clip_bounds;\n\nbool clip_isInBounds(vec2 position) {\n return position.x >= clip_bounds[0] && position.y >= clip_bounds[1] && position.x < clip_bounds[2] && position.y < clip_bounds[3];\n}\n",ao={name:"clip-vs",vs:oo},so={"vs:#decl":"\nvarying float clip_isVisible;\n","vs:DECKGL_FILTER_GL_POSITION":"\n clip_isVisible = float(clip_isInBounds(geometry.worldPosition.xy));\n","fs:#decl":"\nvarying float clip_isVisible;\n","fs:DECKGL_FILTER_COLOR":"\n if (clip_isVisible < 0.5) discard;\n"},go={name:"clip-fs",fs:oo},co={"vs:#decl":"\nvarying vec2 clip_commonPosition;\n","vs:DECKGL_FILTER_GL_POSITION":"\n clip_commonPosition = geometry.position.xy;\n","fs:#decl":"\nvarying vec2 clip_commonPosition;\n","fs:DECKGL_FILTER_COLOR":"\n if (!clip_isInBounds(clip_commonPosition)) discard;\n"},uo=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"getShaders",value:function(){var e="instancePositions"in this.getAttributeManager().attributes;return"clipByInstance"in this.props&&(e=this.props.clipByInstance),this.state.clipByInstance=e,e?{modules:[ao],inject:so}:{modules:[go],inject:co}}},{key:"draw",value:function(e){var t=e.uniforms,A=this.props.clipBounds,n=void 0===A?io.clipBounds:A;if(this.state.clipByInstance)t.clip_bounds=n;else{var r=this.projectPosition([n[0],n[1],0]),i=this.projectPosition([n[2],n[3],0]);t.clip_bounds=[Math.min(r[0],i[0]),Math.min(r[1],i[1]),Math.max(r[0],i[0]),Math.max(r[1],i[1])]}}}]),A}(ro.a);uo.extensionName="ClipExtension",uo.defaultProps=io;var lo={Point:Io,MultiPoint:function(e,t,A){return Co(e,t,A)},LineString:ho,MultiLineString:function(e,t,A){return e.map((function(e){return ho(e,t,A)}))},Polygon:fo,MultiPolygon:function(e,t,A){return e.map((function(e){return fo(e,t,A)}))}};function Io(e,t,A){var n=Object(u.a)(e,2),r=n[0],i=n[1],o=Object(u.a)(t,2),a=o[0],s=o[1],g=Object(N.lerp)(a[0],s[0],r),c=Object(N.lerp)(a[1],s[1],i);return A.unprojectFlat([g,c])}function Co(e,t,A){return e.map((function(e){return Io(e,t,A)}))}function ho(e,t,A){return Co(e,t,A)}function fo(e,t,A){return e.map((function(e){return Co(e,t,A)}))}var Bo=["points","lines","polygons"];function po(e,t,A,n){var r=e.featureIds.value;if(!r.length)return-1;var i=0,o=r[r.length-1]+1;if(n){var a=function(e,t){if(!e.__layers){for(var A={},n=e.properties,r=0;r<n.length;r++){var i=n[r].layerName;i&&(A[i]?A[i][1]=r:A[i]=[r,r])}e.__layers=A}return e.__layers[t]}(e,n);if(!a)return-1;i=a[0],o=a[1]+1}var s=-1;if(t in e.numericProps){var g=e.numericProps[t].value.findIndex((function(e,t){return e===A&&r[t]>=i&&r[t]<o}));return g>=0?e.globalFeatureIds.value[g]:-1}return(s=t?Eo(e.properties,(function(e){return e[t]===A}),i,o):Eo(e.fields,(function(e){return e.id===A}),i,o))>=0?function(e,t){if(!e.__ids){for(var A=[],n=e.featureIds.value,r=e.globalFeatureIds.value,i=0;i<n.length;i++)A[n[i]]=r[i];e.__ids=A}return e.__ids[t]}(e,s):-1}function Eo(e,t,A,n){for(var r=A;r<n;r++)if(t(e[r],r))return r;return-1}var Qo=A(646),yo={uniqueIdProperty:{type:"string",value:""},highlightedFeatureId:null,loaders:[qi],binary:!0},vo=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(){return Object(n.a)(this,A),t.apply(this,arguments)}return Object(a.a)(A,[{key:"initializeState",value:function(){Object(S.a)(Object(w.a)(A.prototype),"initializeState",this).call(this),this.setState({data:null,tileJSON:null})}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,r=e.context,i=e.changeFlags;i.dataChanged&&this._updateTileData(),this.state.data&&(Object(S.a)(Object(w.a)(A.prototype),"updateState",this).call(this,{props:t,oldProps:n,context:r,changeFlags:i}),this._setWGS84PropertyForTiles())}},{key:"_updateTileData",value:function(){var e=Object(J.a)(Y.a.mark((function e(){var t,A,n,r,i;return Y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.props.data,A=null,"string"!==typeof t||Object(si.c)(t)){e.next=18;break}return n=this.props,r=n.onDataLoad,i=n.fetch,this.setState({data:null,tileJSON:null}),e.prev=5,e.next=8,i(t,{propName:"data",layer:this,loaders:[]});case 8:A=e.sent,e.next=15;break;case 11:e.prev=11,e.t0=e.catch(5),this.raiseError(e.t0,"loading TileJSON"),t=null;case 15:r&&r(A),e.next=19;break;case 18:t.tilejson&&(A=t);case 19:A&&(t=A.tiles),this.setState({data:t,tileJSON:A});case 21:case"end":return e.stop()}}),e,this,[[5,11]])})));return function(){return e.apply(this,arguments)}}()},{key:"_getTilesetOptions",value:function(e){var t=Object(S.a)(Object(w.a)(A.prototype),"_getTilesetOptions",this).call(this,e),n=this.state.tileJSON;return n&&(Number.isFinite(n.minzoom)&&n.minzoom>e.minZoom&&(t.minZoom=n.minzoom),Number.isFinite(n.maxzoom)&&(!Number.isFinite(e.maxZoom)||n.maxzoom<e.maxZoom)&&(t.maxZoom=n.maxzoom)),t}},{key:"renderLayers",value:function(){return this.state.data?Object(S.a)(Object(w.a)(A.prototype),"renderLayers",this).call(this):null}},{key:"getTileData",value:function(e){var t,A=Object(si.b)(this.state.data,e);if(!A)return Promise.reject("Invalid URL");var n=this.getLoadOptions(),r=this.props,i=r.binary,o=r.fetch,a=e.signal,g=e.x,c=e.y,u=e.z;return o(A,{propName:"data",layer:this,loadOptions:n=Object(s.a)({},n,{mimeType:"application/x-protobuf",mvt:Object(s.a)({},null===(t=n)||void 0===t?void 0:t.mvt,{coordinates:this.context.viewport.resolution?"wgs84":"local",tileIndex:{x:g,y:c,z:u}}),gis:i?{format:"binary"}:{}}),signal:a})}},{key:"renderSubLayers",value:function(e){var t=e.tile,n=Math.pow(2,t.z),r=512/n,i=-r,o=512*t.x/n,a=512*(1-t.y/n),s=(new N.Matrix4).scale([r,i,1]);e.autoHighlight=!1,this.context.viewport.resolution||(e.modelMatrix=s,e.coordinateOrigin=[o,a,0],e.coordinateSystem=P.a.CARTESIAN,e.extensions=[].concat(Object(ne.a)(e.extensions||[]),[new uo]));var g=Object(S.a)(Object(w.a)(A.prototype),"renderSubLayers",this).call(this,e);return!this.props.binary||g instanceof Qo.a||ee.a.warn("renderSubLayers() must return GeoJsonLayer when using binary:true")(),g}},{key:"_updateAutoHighlight",value:function(e){var t,A,n=this.props.uniqueIdProperty,r=this.state,i=r.hoveredFeatureId,o=r.hoveredFeatureLayerName,a=e.object;a&&(t=mo(a,n),A=bo(a)),i===t&&o===A||this.setState({hoveredFeatureId:t,hoveredFeatureLayerName:A})}},{key:"getPickingInfo",value:function(e){var t=Object(S.a)(Object(w.a)(A.prototype),"getPickingInfo",this).call(this,e),n=this.context.viewport.resolution;if(this.props.binary&&-1!==t.index){var r=e.sourceLayer.props.data;t.object=zi(r,{globalFeatureId:t.index})}return t.object&&!n&&(t.object=So(t.object,t.tile.bbox,this.context.viewport)),t}},{key:"getHighlightedObjectIndex",value:function(e){var t=this.state,A=t.hoveredFeatureId,n=t.hoveredFeatureLayerName,r=this.props,i=r.uniqueIdProperty,o=r.highlightedFeatureId,a=r.binary,s=e.content,g=wo(o);if(!(wo(A)||g))return-1;var c=g?o:A;return Array.isArray(s)?s.findIndex((function(e){var t=mo(e,i)===c,A=g||bo(e)===n;return t&&A})):s&&a?function(e,t,A,n){var r,i=Object(R.a)(Bo);try{for(i.s();!(r=i.n()).done;){var o=r.value,a=e[o]&&po(e[o],t,A,n);if(a>=0)return a}}catch(s){i.e(s)}finally{i.f()}return-1}(s,i,c,g?"":n):-1}},{key:"_pickObjects",value:function(e){var t=this.context,A=t.deck,n=t.viewport,r=n.width,i=n.height,o=n.x,a=n.y,s=[this.id];return A.pickObjects({x:o,y:a,width:r,height:i,layerIds:s,maxObjects:e})}},{key:"getRenderedFeatures",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,A=this._pickObjects(t),n=new Set,r=[],i=Object(R.a)(A);try{for(i.s();!(e=i.n()).done;){var o=e.value,a=mo(o.object,this.props.uniqueIdProperty);void 0===a?r.push(o.object):n.has(a)||(n.add(a),r.push(o.object))}}catch(s){i.e(s)}finally{i.f()}return r}},{key:"_setWGS84PropertyForTiles",value:function(){var e=this;this.state.tileset.selectedTiles.forEach((function(t){t.hasOwnProperty("dataInWGS84")||Object.defineProperty(t,"dataInWGS84",{get:function(){if(!t.content)return null;if(e.props.binary&&Array.isArray(t.content)&&!t.content.length)return[];if(void 0===t._contentWGS84){var A=e.props.binary?zi(t.content):t.content;t._contentWGS84=A.map((function(A){return So(A,t.bbox,e.context.viewport)}))}return t._contentWGS84}})}))}},{key:"isLoaded",get:function(){return this.state.data&&this.state.tileset&&Object(S.a)(Object(w.a)(A.prototype),"isLoaded",this)}}]),A}(b.a);function mo(e,t){return t?e.properties[t]:"id"in e?e.id:void 0}function bo(e){var t;return(null===(t=e.properties)||void 0===t?void 0:t.layerName)||null}function wo(e){return void 0!==e&&null!==e&&""!==e}function So(e,t,A){var n=Object(s.a)({},e,{geometry:{type:e.geometry.type}});return Object.defineProperty(n.geometry,"coordinates",{get:function(){return function(e,t,A){var n=[A.projectFlat([t.west,t.north]),A.projectFlat([t.east,t.south])];return Object(s.a)({},e,{coordinates:lo[e.type](e.coordinates,n,A)})}(e.geometry,t,A).coordinates}}),n}vo.layerName="MVTLayer",vo.defaultProps=yo,A.d(t,"GreatCircleLayer",(function(){return o})),A.d(t,"S2Layer",(function(){return m})),A.d(t,"TileLayer",(function(){return b.a})),A.d(t,"TripsLayer",(function(){return F})),A.d(t,"H3ClusterLayer",(function(){return x})),A.d(t,"H3HexagonLayer",(function(){return Z})),A.d(t,"Tile3DLayer",(function(){return ri})),A.d(t,"TerrainLayer",(function(){return li})),A.d(t,"MVTLayer",(function(){return vo}))},function(e,t,A){"use strict";var n=A(2),r=A(6),i=A(7),o=A(1),a=A(4),s=A(390),g=A(163),c=A(41),u=A(147),l=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(o.a)(this,e),this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}return Object(a.a)(e,[{key:"finalize",value:function(){for(var e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}},{key:"updateViewStates",value:function(){for(var e in this.controllers){var t=this.controllers[e];t&&t.updateTransition()}}},{key:"getViewports",value:function(e){return e?this._viewports.filter((function(t){return t.containsPixel(e)})):this._viewports}},{key:"getViews",value:function(){var e={};return this.views.forEach((function(t){e[t.id]=t})),e}},{key:"getView",value:function(e){return"string"===typeof e?this.views.find((function(t){return t.id===e})):e}},{key:"getViewState",value:function(e){var t=this.getView(e),A=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(A):A}},{key:"getViewport",value:function(e){return this._viewportMap[e]}},{key:"unproject",value:function(e,t){for(var A=this.getViewports(),n={x:e[0],y:e[1]},r=A.length-1;r>=0;--r){var i=A[r];if(i.containsPixel(n)){var o=e.slice();return o[0]-=i.x,o[1]-=i.y,i.unproject(o,t)}}return null}},{key:"setProps",value:function(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}},{key:"_update",value:function(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}},{key:"_setSize",value:function(e,t){e===this.width&&t===this.height||(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}},{key:"_setViews",value:function(e){e=Object(u.b)(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}},{key:"_setViewState",value:function(e){e?(!Object(g.a)(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):c.a.warn("missing `viewState` or `initialViewState`")()}},{key:"_onViewStateChange",value:function(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}},{key:"_createController",value:function(e,t){return new(0,t.type)(Object(i.a)({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:function(t){return e._getViewport(t,{width:t.width,height:t.height})}},t))}},{key:"_updateController",value:function(e,t,A,n){var r=e.controller;return r?(r=Object(i.a)({},t,{},e.props,{},r,{id:e.id,x:A.x,y:A.y,width:A.width,height:A.height}),n?n.setProps(r):n=this._createController(e,r),n):null}},{key:"_rebuildViewports",value:function(){var e=this.width,t=this.height,A=this.views,n=this.controllers;this._viewports=[],this.controllers={};for(var r=!1,i=A.length;i--;){var o=A[i],a=this.getViewState(o),s=o.makeViewport({width:e,height:t,viewState:a}),g=n[o.id];o.controller&&!g&&(r=!0),!r&&o.controller||!g||(g.finalize(),g=null),this.controllers[o.id]=this._updateController(o,a,s,g),this._viewports.unshift(s)}for(var c in n)n[c]&&!this.controllers[c]&&n[c].finalize();this._buildViewportMap()}},{key:"_buildViewportMap",value:function(){var e=this;this._viewportMap={},this._viewports.forEach((function(t){t.id&&(e._viewportMap[t.id]=e._viewportMap[t.id]||t)}))}},{key:"_diffViews",value:function(e,t){return e.length!==t.length||e.some((function(A,n){return!e[n].equals(t[n])}))}}]),e}(),I=A(381),C=A(318),h=new C.a,f=function(){function e(){Object(o.a)(this,e),this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}return Object(a.a)(e,[{key:"setProps",value:function(e){"effects"in e&&(e.effects.length===this.effects.length&&Object(g.a)(e.effects,this.effects)||(this.setEffects(e.effects),this._needsRedraw="effects changed"))}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"getEffects",value:function(){return this._internalEffects}},{key:"finalize",value:function(){this.cleanup()}},{key:"setEffects",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.cleanup(),this.effects=e,this._createInternalEffects()}},{key:"cleanup",value:function(){var e,t=Object(r.a)(this.effects);try{for(t.s();!(e=t.n()).done;){e.value.cleanup()}}catch(i){t.e(i)}finally{t.f()}var A,n=Object(r.a)(this._internalEffects);try{for(n.s();!(A=n.n()).done;){A.value.cleanup()}}catch(i){n.e(i)}finally{n.f()}this.effects.length=0,this._internalEffects.length=0}},{key:"_createInternalEffects",value:function(){this._internalEffects=this.effects.slice(),this.effects.some((function(e){return e instanceof C.a}))||this._internalEffects.push(h)}}]),e}(),d=A(198),B=A(392),p=A(161),E=A(232),Q=A(18),y=A(530),v=A(411),m={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function b(e){var t=e.pickedColors,A=e.decodePickingColor,n=e.deviceX,r=e.deviceY,o=e.deviceRadius,a=e.deviceRect;if(t){for(var s=a.x,g=a.y,u=a.width,l=a.height,I=o*o,C=-1,h=0,f=0;f<l;f++){var d=f+g-r,B=d*d;if(B>I)h+=4*u;else for(var p=0;p<u;p++){if(t[h+3]-1>=0){var E=p+s-n,Q=E*E+B;Q<=I&&(I=Q,C=h)}h+=4}}if(C>=0){var y=t.slice(C,C+4),v=A(y);if(v){var b=Math.floor(C/4/u),w=C/4-b*u;return Object(i.a)({},v,{pickedColor:y,pickedX:s+w,pickedY:g+b})}c.a.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return m}function w(e){var t=e.pickInfo,A=e.viewports,n=e.pixelRatio,r=e.x,i=e.y,o=e.z,a=A[0];A.length>1&&(a=function(e,t){for(var A=e.length-1;A>=0;A--){var n=e[A];if(n.containsPixel(t))return n}return e[0]}((null===t||void 0===t?void 0:t.pickedViewports)||A,{x:r,y:i}));var s=a&&a.unproject([r-a.x,i-a.y],{targetZ:o});return{color:null,layer:null,viewport:a,index:-1,picked:!1,x:r,y:i,pixel:[r,i],coordinate:s,devicePixel:t&&[t.pickedX,t.pickedY],pixelRatio:n}}function S(e){var t=e.pickInfo,A=e.lastPickedInfo,n=e.mode,r=e.layers,o=t.pickedColor,a=t.pickedLayer,s=t.pickedObjectIndex,g=a?[a]:[];if("hover"===n){var c=A.index,u=A.layerId,l=a&&a.props.id;if(l!==u||s!==c){if(l!==u){var I=r.find((function(e){return e.props.id===u}));I&&g.unshift(I)}A.layerId=l,A.index=s,A.info=null}}var C=w(e),h=new Map;return h.set(null,C),g.forEach((function(e){var t=Object(i.a)({},C);e===a&&(t.color=o,t.index=s,t.picked=!0),t=F({layer:e,info:t,mode:n}),e===a&&"hover"===n&&(A.info=t),h.set(t.layer.id,t),"hover"===n&&t.layer.updateAutoHighlight(t)})),h}function F(e){for(var t=e.layer,A=e.info,n=e.mode;t&&A;){var r=A.layer||null;A.sourceLayer=r,A.layer=t,A=t.getPickingInfo({info:A,mode:n,sourceLayer:r}),t=t.parent}return A}var R=function(){function e(t){Object(o.a)(this,e),this.gl=t,this.pickingFBO=null,this.pickLayersPass=new v.a(t),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}return Object(a.a)(e,[{key:"setProps",value:function(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}},{key:"finalize",value:function(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}},{key:"pickObject",value:function(e){return this._pickClosestObject(e)}},{key:"pickObjects",value:function(e){return this._pickVisibleObjects(e)}},{key:"getLastPickedObject",value:function(e){var t=e.x,A=e.y,n=e.layers,r=e.viewports,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.lastPickedInfo.info,a=o&&o.layer&&o.layer.id,s=o&&o.viewport&&o.viewport.id,g=a?n.find((function(e){return e.id===a})):null,c=s&&r.find((function(e){return e.id===s}))||r[0],u=c&&c.unproject([t-c.x,A-c.y]),l={x:t,y:A,viewport:c,coordinate:u,layer:g};return g?Object(i.a)({},o,{},l):Object.assign(l,{color:null,object:null,index:-1})}},{key:"_resizeBuffer",value:function(){var e=this.gl;return this.pickingFBO||(this.pickingFBO=new p.a(e),p.a.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new p.a(e),this.depthFBO.attach(Object(n.a)({},36064,new E.a(e,{format:Object(Q.j)(e)?34836:6408,type:5126}))))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}},{key:"_getPickable",value:function(e){if(!1===this._pickable)return null;var t=e.filter((function(e){return e.isPickable()&&!e.isComposite}));return t.length?t:null}},{key:"_pickClosestObject",value:function(e){var t=e.layers,A=e.views,n=e.viewports,o=e.x,a=e.y,s=e.radius,g=void 0===s?0:s,c=e.depth,u=void 0===c?1:c,l=e.mode,I=void 0===l?"query":l,C=e.unproject3D,h=e.onViewportActive;if(!(t=this._getPickable(t)))return{result:[],emptyInfo:w({viewports:n,x:o,y:a})};this._resizeBuffer();for(var f,d=Object(Q.e)(this.gl),B=Object(Q.d)(this.gl,[o,a],!0),p=[B.x+Math.floor(B.width/2),B.y+Math.floor(B.height/2)],E=Math.round(g*d),y=this.pickingFBO,v=y.width,m=y.height,F=this._getPickingRect({deviceX:p[0],deviceY:p[1],deviceRadius:E,deviceWidth:v,deviceHeight:m}),R=[],D={},G=0;G<u;G++){var k=F&&this._drawAndSample({layers:t,views:A,viewports:n,onViewportActive:h,deviceRect:F,pass:"picking:".concat(I),redrawReason:I}),x=b(Object(i.a)({},k,{deviceX:p[0],deviceY:p[1],deviceRadius:E,deviceRect:F})),N=void 0;if(x.pickedLayer&&C&&this.depthFBO)N=this._drawAndSample({layers:[x.pickedLayer],views:A,viewports:n,onViewportActive:h,deviceRect:{x:x.pickedX,y:x.pickedY,width:1,height:1},pass:"picking:".concat(I),redrawReason:"pick-z",pickZ:!0}).pickedColors[0]*n[0].distanceScales.metersPerUnit[2]+n[0].position[2];if(x.pickedColor&&G+1<u){var U=x.pickedColor[3]-1;D[U]=!0,t[U].disablePickingIndex(x.pickedObjectIndex)}f=S({pickInfo:x,lastPickedInfo:this.lastPickedInfo,mode:I,layers:t,viewports:n,x:o,y:a,z:N,pixelRatio:d});var _,M=Object(r.a)(f.values());try{for(M.s();!(_=M.n()).done;){var O=_.value;O.layer&&R.push(O)}}catch(T){M.e(T)}finally{M.f()}if(!x.pickedColor)break}for(var L in D)t[L].restorePickingColors();return{result:R,emptyInfo:f&&f.get(null)}}},{key:"_pickVisibleObjects",value:function(e){var t=e.layers,A=e.views,n=e.viewports,r=e.x,o=e.y,a=e.width,s=void 0===a?1:a,g=e.height,u=void 0===g?1:g,l=e.mode,I=void 0===l?"query":l,C=e.maxObjects,h=void 0===C?null:C,f=e.onViewportActive;if(!(t=this._getPickable(t)))return[];this._resizeBuffer();for(var d=Object(Q.e)(this.gl),B=Object(Q.d)(this.gl,[r,o],!0),p=B.x,E=B.y+B.height,y=Object(Q.d)(this.gl,[r+s,o+u],!0),v=y.x+y.width,m=y.y,b={x:p,y:m,width:v-p,height:E-m},w=function(e){var t=e.pickedColors,A=e.decodePickingColor,n=new Map;if(t)for(var r=0;r<t.length;r+=4){if(t[r+3]-1>=0){var o=t.slice(r,r+4),a=o.join(",");if(!n.has(a)){var s=A(o);s?n.set(a,Object(i.a)({},s,{pickedColor:o})):c.a.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(n.values())}(this._drawAndSample({layers:t,views:A,viewports:n,onViewportActive:f,deviceRect:b,pass:"picking:".concat(I),redrawReason:I})),S=new Map,R=Number.isFinite(h),D=0;D<w.length&&!(R&&S.size>=h);D++){var G=w[D],k={color:G.pickedColor,layer:null,index:G.pickedObjectIndex,picked:!0,x:r,y:o,width:s,height:u,pixelRatio:d};k=F({layer:G.pickedLayer,info:k,mode:I}),S.has(k.object)||S.set(k.object,k)}return Array.from(S.values())}},{key:"_drawAndSample",value:function(e){var t=e.layers,A=e.views,n=e.viewports,r=e.onViewportActive,i=e.deviceRect,o=e.pass,a=e.redrawReason,s=e.pickZ,g=s?this.depthFBO:this.pickingFBO,c=this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:A,viewports:n,onViewportActive:r,pickingFBO:g,deviceRect:i,pass:o,redrawReason:a,pickZ:s}).decodePickingColor,u=i.x,l=i.y,I=i.width,C=i.height,h=new(s?Float32Array:Uint8Array)(I*C*4);return Object(y.c)(g,{sourceX:u,sourceY:l,sourceWidth:I,sourceHeight:C,target:h}),{pickedColors:h,decodePickingColor:c}}},{key:"_getPickingRect",value:function(e){var t=e.deviceX,A=e.deviceY,n=e.deviceRadius,r=e.deviceWidth,i=e.deviceHeight,o=Math.max(0,t-n),a=Math.max(0,A-n),s=Math.min(r,t+n+1)-o,g=Math.min(i,A+n+1)-a;return s<=0||g<=0?null:{x:o,y:a,width:s,height:g}}}]),e}(),D={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"},G=function(){function e(t){Object(o.a)(this,e);var A=t.parentElement;A&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,D),A.appendChild(this.el)),this.isVisible=!1}return Object(a.a)(e,[{key:"setTooltip",value:function(e,t,A){var n=this.el;if("string"===typeof e)n.innerText=e;else{if(!e)return this.isVisible=!1,void(n.style.display="none");"text"in e&&(n.innerText=e.text),"html"in e&&(n.innerHTML=e.html),"className"in e&&(n.className=e.className),Object.assign(n.style,e.style)}this.isVisible=!0,n.style.display="block",n.style.transform="translate(".concat(t,"px, ").concat(A,"px)")}},{key:"remove",value:function(){this.el&&this.el.remove()}}]),e}(),k=A(150),x=A(513),N=A(62),U=A(1293),_=A(1247),M=A(330),O=A(1165),L=A(8),T=A(332),Z=A.n(T),H={mousedown:1,mousemove:2,mouseup:4};!function(e){var t=e.prototype.handler;e.prototype.handler=function(e){var A=this.store;e.button>0&&"pointerdown"===e.type&&(function(e,t){for(var A=0;A<e.length;A++)if(t(e[A]))return!0;return!1}(A,(function(t){return t.pointerId===e.pointerId}))||A.push(e)),t.call(this,e)}}(Z.a.PointerEventInput),Z.a.MouseInput.prototype.handler=function(e){var t=H[e.type];1&t&&e.button>=0&&(this.pressed=!0),2&t&&0===e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:"mouse",srcEvent:e}))};var Y=Z.a.Manager,J=Z.a,j=J?[[J.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[J.Rotate,{enable:!1}],[J.Pinch,{enable:!1}],[J.Swipe,{enable:!1}],[J.Pan,{threshold:0,enable:!1}],[J.Press,{enable:!1}],[J.Tap,{event:"doubletap",taps:2,enable:!1}],[J.Tap,{event:"anytap",enable:!1}],[J.Tap,{enable:!1}]]:null,P={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},V={doubletap:["tap"]},K={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},W=["keydown","keyup"],X=["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],q=["wheel","mousewheel"],z={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},$={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},ee=A(240),te=-1!==ee.b.indexOf("firefox"),Ae=q,ne=function(){function e(t,A){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(o.a)(this,e),this.element=t,this.callback=A,this.options=Object.assign({enable:!0},r),this.events=Ae.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach((function(e){return t.addEventListener(e,n.handleEvent,!!ee.a&&{passive:!1})}))}return Object(a.a)(e,[{key:"destroy",value:function(){var e=this;this.events.forEach((function(t){return e.element.removeEventListener(t,e.handleEvent)}))}},{key:"enableEventType",value:function(e,t){"wheel"===e&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){if(this.options.enable){var t=e.deltaY;ee.c.WheelEvent&&(te&&e.deltaMode===ee.c.WheelEvent.DOM_DELTA_PIXEL&&(t/=ee.c.devicePixelRatio),e.deltaMode===ee.c.WheelEvent.DOM_DELTA_LINE&&(t*=40));var A={x:e.clientX,y:e.clientY};0!==t&&t%4.000244140625===0&&(t=Math.floor(t/4.000244140625)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,A)}}},{key:"_onWheel",value:function(e,t,A){this.callback({type:"wheel",center:A,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}(),re=X,ie=function(){function e(t,A){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(o.a)(this,e),this.element=t,this.callback=A,this.pressed=!1,this.options=Object.assign({enable:!0},r),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=re.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach((function(e){return t.addEventListener(e,n.handleEvent)}))}return Object(a.a)(e,[{key:"destroy",value:function(){var e=this;this.events.forEach((function(t){return e.element.removeEventListener(t,e.handleEvent)}))}},{key:"enableEventType",value:function(e,t){"pointermove"===e&&(this.enableMoveEvent=t),"pointerover"===e&&(this.enableOverEvent=t),"pointerout"===e&&(this.enableOutEvent=t),"pointerleave"===e&&(this.enableLeaveEvent=t)}},{key:"handleEvent",value:function(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}},{key:"handleOverEvent",value:function(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:"pointerover",srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleOutEvent",value:function(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:"pointerout",srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleLeaveEvent",value:function(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:"pointerleave",srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleMoveEvent",value:function(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:"pointermove",srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}]),e}(),oe=W,ae=function(){function e(t,A){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(o.a)(this,e),this.element=t,this.callback=A,this.options=Object.assign({enable:!0},r),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=oe.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=r.tabIndex||0,t.style.outline="none",this.events.forEach((function(e){return t.addEventListener(e,n.handleEvent)}))}return Object(a.a)(e,[{key:"destroy",value:function(){var e=this;this.events.forEach((function(t){return e.element.removeEventListener(t,e.handleEvent)}))}},{key:"enableEventType",value:function(e,t){"keydown"===e&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}},{key:"handleEvent",value:function(e){var t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:"keydown",srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}]),e}(),se=function(){function e(t,A){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(o.a)(this,e),this.element=t,this.callback=A,this.options=Object.assign({enable:!0},n),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}return Object(a.a)(e,[{key:"destroy",value:function(){this.element.removeEventListener("contextmenu",this.handleEvent)}},{key:"enableEventType",value:function(e,t){"contextmenu"===e&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){this.options.enable&&this.callback({type:"contextmenu",center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}(),ge={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4};var ce={srcElement:"root",priority:0},ue=function(){function e(t){Object(o.a)(this,e),this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}return Object(a.a)(e,[{key:"isEmpty",value:function(){return!this._active}},{key:"add",value:function(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=this.handlers,o=this.handlersByElement;A&&("object"!==typeof A||A.addEventListener)&&(A={srcElement:A}),A=A?Object.assign({},ce,A):ce;var a=o.get(A.srcElement);a||(a=[],o.set(A.srcElement,a));var s={type:e,handler:t,srcElement:A.srcElement,priority:A.priority};n&&(s.once=!0),r&&(s.passive=!0),i.push(s),this._active=this._active||!s.passive;for(var g=a.length-1;g>=0&&!(a[g].priority>=s.priority);)g--;a.splice(g+1,0,s)}},{key:"remove",value:function(e,t){for(var A=this.handlers,n=this.handlersByElement,r=A.length-1;r>=0;r--){var i=A[r];if(i.type===e&&i.handler===t){A.splice(r,1);var o=n.get(i.srcElement);o.splice(o.indexOf(i),1),0===o.length&&n.delete(i.srcElement)}}this._active=A.some((function(e){return!e.passive}))}},{key:"handleEvent",value:function(e){if(!this.isEmpty()){for(var t=this._normalizeEvent(e),A=e.srcEvent.target;A&&A!==t.rootElement;){if(this._emit(t,A),t.handled)return;A=A.parentNode}this._emit(t,"root")}}},{key:"_emit",value:function(e,t){var A=this.handlersByElement.get(t);if(A){for(var n=!1,r=function(){e.handled=!0},i=function(){e.handled=!0,n=!0},o=[],a=0;a<A.length;a++){var s=A[a],g=s.type,c=s.handler,u=s.once;if(c(Object.assign({},e,{type:g,stopPropagation:r,stopImmediatePropagation:i})),u&&o.push(A[a]),n)break}for(var l=0;l<o.length;l++){var I=o[l],C=I.type,h=I.handler;this.remove(C,h)}}}},{key:"_normalizeEvent",value:function(e){var t=this.eventManager.element;return Object.assign({},e,function(e){var t=ge[e.srcEvent.type];if(!t)return null;var A=e.srcEvent,n=A.buttons,r=A.button,i=A.which,o=!1,a=!1,s=!1;return 4===t||2===t&&!Number.isFinite(n)?(o=1===i,a=2===i,s=3===i):2===t?(o=Boolean(1&n),a=Boolean(4&n),s=Boolean(2&n)):1===t&&(o=0===r,a=1===r,s=2===r),{leftButton:o,middleButton:a,rightButton:s}}(e),function(e,t){var A=e.srcEvent;if(!e.center&&!Number.isFinite(A.clientX))return null;var n=e.center||{x:A.clientX,y:A.clientY},r=t.getBoundingClientRect(),i=r.width/t.offsetWidth||1,o=r.height/t.offsetHeight||1;return{center:n,offsetCenter:{x:(n.x-r.left-t.clientLeft)/i,y:(n.y-r.top-t.clientTop)/o}}}(e,t),{handled:!1,rootElement:t})}}]),e}(),le={events:null,recognizers:null,recognizerOptions:{},Manager:Y,touchAction:"none",tabIndex:0},Ie=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(o.a)(this,e),this.options=Object.assign({},le,A),this.events=new Map,this._onBasicInput=this._onBasicInput.bind(this),this._onOtherEvent=this._onOtherEvent.bind(this),this.setElement(t);var n=A.events;n&&this.on(n)}return Object(a.a)(e,[{key:"setElement",value:function(e){var t=this;if(this.element&&this.destroy(),this.element=e,e){var A=this.options,n=A.Manager;for(var i in this.manager=new n(e,{touchAction:A.touchAction,recognizers:A.recognizers||j}).on("hammer.input",this._onBasicInput),A.recognizers||Object.keys(P).forEach((function(e){var A=t.manager.get(e);A&&P[e].forEach((function(e){A.recognizeWith(e)}))})),A.recognizerOptions){var o=this.manager.get(i);if(o){var a=A.recognizerOptions[i];delete a.enable,o.set(a)}}this.wheelInput=new ne(e,this._onOtherEvent,{enable:!1}),this.moveInput=new ie(e,this._onOtherEvent,{enable:!1}),this.keyInput=new ae(e,this._onOtherEvent,{enable:!1,tabIndex:A.tabIndex}),this.contextmenuInput=new se(e,this._onOtherEvent,{enable:!1});var s,g=Object(r.a)(this.events);try{for(g.s();!(s=g.n()).done;){var c=Object(L.a)(s.value,2),u=c[0],l=c[1];l.isEmpty()||(this._toggleRecognizer(l.recognizerName,!0),this.manager.on(u,l.handleEvent))}}catch(I){g.e(I)}finally{g.f()}}}},{key:"destroy",value:function(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}},{key:"on",value:function(e,t,A){this._addEventHandler(e,t,A,!1)}},{key:"once",value:function(e,t,A){this._addEventHandler(e,t,A,!0)}},{key:"watch",value:function(e,t,A){this._addEventHandler(e,t,A,!1,!0)}},{key:"off",value:function(e,t){this._removeEventHandler(e,t)}},{key:"_toggleRecognizer",value:function(e,t){var A=this.manager;if(A){var n=A.get(e);if(n&&n.options.enable!==t){n.set({enable:t});var r=V[e];r&&!this.options.recognizers&&r.forEach((function(r){var i=A.get(r);t?(i.requireFailure(e),n.dropRequireFailure(r)):i.dropRequireFailure(e)}))}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}}},{key:"_addEventHandler",value:function(e,t,A,n,r){if("string"===typeof e){var i=this.manager,o=this.events,a=$[e]||e,s=o.get(a);s||(s=new ue(this),o.set(a,s),s.recognizerName=z[a]||a,i&&i.on(a,s.handleEvent)),s.add(e,t,A,n,r),s.isEmpty()||this._toggleRecognizer(s.recognizerName,!0)}else for(var g in A=t,e)this._addEventHandler(g,e[g],A,n,r)}},{key:"_removeEventHandler",value:function(e,t){if("string"===typeof e){var A=this.events,n=$[e]||e,i=A.get(n);if(i&&(i.remove(e,t),i.isEmpty())){var o,a=i.recognizerName,s=!1,g=Object(r.a)(A.values());try{for(g.s();!(o=g.n()).done;){var c=o.value;if(c.recognizerName===a&&!c.isEmpty()){s=!0;break}}}catch(l){g.e(l)}finally{g.f()}s||this._toggleRecognizer(a,!1)}}else for(var u in e)this._removeEventHandler(u,e[u])}},{key:"_onBasicInput",value:function(e){var t=e.srcEvent,A=K[t.type];A&&this.manager.emit(A,e)}},{key:"_onOtherEvent",value:function(e){this.manager.emit(e.type,e)}}]),e}(),Ce=A(87),he=A(36);function fe(){}A.d(t,"a",(function(){return Be}));var de={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:fe,onResize:fe,onViewStateChange:fe,onInteractionStateChange:fe,onBeforeRender:fe,onAfterRender:fe,onLoad:fe,onError:function(e,t){return c.a.error(e)()},_onMetrics:null,getCursor:function(e){return e.isDragging?"grabbing":"grab"},debug:!1,drawPickingColors:!1},Be=function(){function e(t){Object(o.a)(this,e),t=Object(i.a)({},de,{},t),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),t.viewState&&t.initialViewState&&c.a.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===Object(N.getBrowser)()&&c.a.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!==typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new O.a({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&k.a.setProps(t._typedArrayManagerProps),this.animationLoop.start()}return Object(a.a)(e,[{key:"finalize",value:function(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),this.props.canvas||this.props.gl||!this.canvas||(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}},{key:"setProps",value:function(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&c.a.removed("onLayerHover","onHover")(),"onLayerClick"in e&&c.a.removed("onLayerClick","onClick")(),e.initialViewState&&!Object(g.a)(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);var t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};if(this.props._animate)return"Deck._animate";var t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var A=this.viewManager.needsRedraw(e),n=this.layerManager.needsRedraw(e),r=this.effectManager.needsRedraw(e),i=this.deckRenderer.needsRedraw(e);return t=t||A||n||r||i}},{key:"redraw",value:function(e){if(this.layerManager){var t=e||this.needsRedraw({clearRedrawFlags:!0});t&&(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}}},{key:"getViews",value:function(){return this.viewManager.views}},{key:"getViewports",value:function(e){return this.viewManager.getViewports(e)}},{key:"pickObject",value:function(e){var t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}},{key:"pickMultipleObjects",value:function(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}},{key:"pickObjects",value:function(e){return this._pick("pickObjects","pickObjects Time",e)}},{key:"_addResources",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(var A in e)this.layerManager.resourceManager.add({resourceId:A,data:e[A],forceUpdate:t})}},{key:"_removeResources",value:function(e){var t,A=Object(r.a)(e);try{for(A.s();!(t=A.n()).done;){var n=t.value;this.layerManager.resourceManager.remove(n)}}catch(i){A.e(i)}finally{A.f()}}},{key:"_pick",value:function(e,t,A){var n=this.stats;n.get("Pick Count").incrementCount(),n.get(t).timeStart();var r=this.deckPicker[e](Object(i.a)({layers:this.layerManager.getLayers(A),views:this.viewManager.getViews(),viewports:this.getViewports(A),onViewportActive:this.layerManager.activateViewport},A));return n.get(t).timeEnd(),r}},{key:"_createCanvas",value:function(e){var t=e.canvas;("string"===typeof t&&(t=document.getElementById(t),Object(Ce.a)(t)),t)||((t=document.createElement("canvas")).id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t));return Object.assign(t.style,e.style),t}},{key:"_setCanvasSize",value:function(e){if(this.canvas){var t=e.width,A=e.height;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(A||0===A)&&(A=Number.isFinite(A)?"".concat(A,"px"):A,this.canvas.style.position="absolute",this.canvas.style.height=A)}}},{key:"_updateCanvasSize",value:function(){if(this._checkForCanvasSizeChange()){var e=this.width,t=this.height;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}},{key:"_checkForCanvasSizeChange",value:function(){var e=this.canvas;if(!e)return!1;var t=e.clientWidth||e.width,A=e.clientHeight||e.height;return(t!==this.width||A!==this.height)&&(this.width=t,this.height=A,!0)}},{key:"_createAnimationLoop",value:function(e){var t=this,A=e.width,n=e.height,r=e.gl,o=e.glOptions,a=e.debug,s=e.onError,g=e.onBeforeRender,c=e.onAfterRender,u=e.useDevicePixels,l=e.autoResizeDrawingBuffer;return new U.a({width:A,height:n,useDevicePixels:u,autoResizeDrawingBuffer:l,autoResizeViewport:!1,gl:r,onCreateContext:function(e){return Object(Q.c)(Object(i.a)({},o,{},e,{canvas:t.canvas,debug:a,onContextLost:function(){return t._onContextLost()}}))},onInitialize:function(e){return t._setGLContext(e.gl)},onRender:this._onRenderFrame.bind(this),onBeforeRender:g,onAfterRender:c,onError:s})}},{key:"_getViewState",value:function(){return this.props.viewState||this.viewState}},{key:"_getViews",value:function(){var e=this.props.views||[new I.a({id:"default-view"})];return(e=Array.isArray(e)?e:[e]).length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}},{key:"_onContextLost",value:function(){var e=this.props.onError;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}},{key:"_onPointerMove",value:function(e){var t=this._pickRequest;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;var A=e.offsetCenter;if(!A)return;t.x=A.x,t.y=A.y,t.radius=this.props.pickingRadius}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}},{key:"_pickAndCallback",value:function(){var e=this._pickRequest;if(e.event){var t=this._pick("pickObject","pickObject Time",e),A=t.result,n=t.emptyInfo;this.interactiveState.isHovering=A.length>0;var i,o=n,a=!1,s=Object(r.a)(A);try{for(s.s();!(i=s.n()).done;){var g=i.value;o=g,a=g.layer.onHover(g,e.event)}}catch(u){s.e(u)}finally{s.f()}if(!a&&this.props.onHover&&this.props.onHover(o,e.event),this.props.getTooltip){var c=this.props.getTooltip(o);this.tooltip.setTooltip(c,o.x,o.y)}e.event=null}}},{key:"_updateCursor",value:function(){var e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}},{key:"_setGLContext",value:function(e){if(!this.layerManager){this.canvas||(this.canvas=e.canvas,Object(Q.h)(e,{enable:!0,copyState:!0})),this.tooltip=new G(this.canvas),Object(Q.n)(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);var t=new _.a;for(var A in t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new Ie(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}}),he.b)this.eventManager.on(A,this._onEvent);this.viewManager=new l({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});var n=this.viewManager.getViewports()[0];this.layerManager=new s.a(e,{deck:this,stats:this.stats,viewport:n,timeline:t}),this.effectManager=new f,this.deckRenderer=new B.a(e),this.deckPicker=new R(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}}},{key:"_drawLayers",value:function(e,t){var A=this.layerManager.context.gl;Object(Q.n)(A,this.props.parameters),this.props.onBeforeRender({gl:A}),this.deckRenderer.renderLayers(Object(i.a)({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:A})}},{key:"_onRenderFrame",value:function(e){this._getFrameStats(),this._metricsCounter++%60===0&&(this._getMetrics(),this.stats.reset(),c.a.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}},{key:"_onViewStateChange",value:function(e){var t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Object(i.a)({},this.viewState,Object(n.a)({},e.viewId,t)),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}},{key:"_onInteractionStateChange",value:function(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}},{key:"_onEvent",value:function(e){var t=he.b[e.type],A=e.offsetCenter;if(t&&A){var n=this.layerManager.getLayers(),r=this.deckPicker.getLastPickedObject({x:A.x,y:A.y,layers:n,viewports:this.getViewports(A)},this._lastPointerDownInfo),i=r.layer,o=i&&(i[t.handler]||i.props[t.handler]),a=this.props[t.handler],s=!1;o&&(s=o.call(i,r,e)),!s&&a&&a(r,e)}}},{key:"_onPointerDown",value:function(e){var t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}},{key:"_getFrameStats",value:function(){var e=this.stats;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();var t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}},{key:"_getMetrics",value:function(){var e=this.metrics,t=this.stats;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();var A=M.a.get("Memory Usage");e.bufferMemory=A.get("Buffer Memory").count,e.textureMemory=A.get("Texture Memory").count,e.renderbufferMemory=A.get("Renderbuffer Memory").count,e.gpuMemory=A.get("GPU Memory").count}}]),e}();Be.getPropTypes=function(e){return{id:e.string,width:e.oneOfType([e.number,e.string]),height:e.oneOfType([e.number,e.string]),layers:e.oneOfType([e.object,e.array]),layerFilter:e.func,views:e.oneOfType([e.object,e.array]),viewState:e.object,effects:e.arrayOf(e.instanceOf(d.a)),controller:e.oneOfType([e.func,e.bool,e.object]),gl:e.object,glOptions:e.object,parameters:e.object,pickingRadius:e.number,useDevicePixels:e.oneOfType([e.bool,e.number]),touchAction:e.string,eventRecognizerOptions:e.object,onWebGLInitialized:e.func,onResize:e.func,onViewStateChange:e.func,onInteractionStateChange:e.func,onBeforeRender:e.func,onAfterRender:e.func,onLoad:e.func,onError:e.func,debug:e.bool,drawPickingColors:e.bool,_framebuffer:e.object,_animate:e.bool,_pickable:e.bool,_typedArrayManagerProps:e.object}},Be.defaultProps=de,Be.VERSION=x.a.VERSION},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(16),a=A(17),s=A(9),g=A(10),c=A(575),u=A(576),l=A(41),I=A(384),C=A(18),h=A(1295),f=A(221),d=A(286),B=A(108),p=A(26),E=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(r.a)(this,e);var A=t.id;this.id=A||Object(B.c)(this.constructor.name),this.display=!0,this.position=new f.a,this.rotation=new f.a,this.scale=new f.a(1,1,1),this.matrix=new d.a,this.userData={},this.props={},this._setScenegraphNodeProps(t)}return Object(i.a)(e,[{key:"delete",value:function(){}},{key:"setProps",value:function(e){return this._setScenegraphNodeProps(e),this}},{key:"toString",value:function(){return"{type: ScenegraphNode, id: ".concat(this.id,")}")}},{key:"setPosition",value:function(e){return Object(p.a)(3===e.length,"setPosition requires vector argument"),this.position=e,this}},{key:"setRotation",value:function(e){return Object(p.a)(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}},{key:"setScale",value:function(e){return Object(p.a)(3===e.length,"setScale requires vector argument"),this.scale=e,this}},{key:"setMatrix",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t?this.matrix.copy(e):this.matrix=e}},{key:"setMatrixComponents",value:function(e){var t=e.position,A=e.rotation,n=e.scale,r=e.update,i=void 0===r||r;return t&&this.setPosition(t),A&&this.setRotation(A),n&&this.setScale(n),i&&this.updateMatrix(),this}},{key:"updateMatrix",value:function(){var e=this.position,t=this.rotation,A=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(A),this}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.position,A=e.rotation,n=e.scale;return t&&this.setPosition(t),A&&this.setRotation(A),n&&this.setScale(n),this.updateMatrix(),this}},{key:"getCoordinateUniforms",value:function(e,t){Object(p.a)(e),t=t||this.matrix;var A=new d.a(e).multiplyRight(t),n=A.invert(),r=n.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:A,worldInverseMatrix:n,worldInverseTransposeMatrix:r}}},{key:"_setScenegraphNodeProps",value:function(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}]),e}(),Q=A(80),y=A(139),v=A(6),m=A(11),b=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(r.a)(this,A);var i=n=Array.isArray(n)?{children:n}:n,o=i.children,a=void 0===o?[]:o;return C.k.assert(a.every((function(e){return e instanceof E})),"every child must an instance of ScenegraphNode"),(e=t.call(this,n)).children=a,e}return Object(i.a)(A,[{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++){var i=r[n];Array.isArray(i)?this.add.apply(this,Object(m.a)(i)):this.children.push(i)}return this}},{key:"remove",value:function(e){var t=this.children,A=t.indexOf(e);return A>-1&&t.splice(A,1),this}},{key:"removeAll",value:function(){return this.children=[],this}},{key:"delete",value:function(){this.children.forEach((function(e){return e.delete()})),this.removeAll(),Object(a.a)(Object(o.a)(A.prototype),"delete",this).call(this)}},{key:"traverse",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.worldMatrix,i=void 0===r?new d.a:r,o=new d.a(i).multiplyRight(this.matrix),a=Object(v.a)(this.children);try{for(a.s();!(t=a.n()).done;){var s=t.value;s instanceof A?s.traverse(e,{worldMatrix:o}):e(s,{worldMatrix:o})}}catch(g){a.e(g)}finally{a.f()}}}]),A}(E),w=A(319),S={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},F={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function R(e){if(!e._animation){var t=F[e.componentType],A=S[e.type],n=A*e.count,r=e.bufferView.data,i=new t(r.buffer,r.byteOffset+(e.byteOffset||0),n);if(1===A)e._animation=Array.from(i);else{for(var o=[],a=0;a<i.length;a+=A)o.push(Array.from(i.slice(a,a+A)));e._animation=o}}return e._animation}var D=new d.a;var G=new w.a;function k(e,t,A,n){var r=t.input,i=t.interpolation,o=t.output,a=e%r[r.length-1],s=r.findIndex((function(e){return e>=a})),g=Math.max(0,s-1);if(!Array.isArray(A[n]))switch(n){case"translation":A[n]=[0,0,0];break;case"rotation":A[n]=[0,0,0,1];break;case"scale":A[n]=[1,1,1];break;default:C.k.warn("Bad animation path ".concat(n))()}Object(p.a)(A[n].length===o[g].length);var c=r[g],u=r[s];switch(i){case"STEP":!function(e,t,A){for(var n=0;n<A.length;n++)e[t][n]=A[n]}(A,n,o[g]);break;case"LINEAR":if(u>c){var l=(a-c)/(u-c);!function(e,t,A,n,r){if("rotation"===t){G.slerp({start:A,target:n,ratio:r});for(var i=0;i<G.length;i++)e[t][i]=G[i]}else for(var o=0;o<A.length;o++)e[t][o]=r*n[o]+(1-r)*A[o]}(A,n,o[g],o[s],l)}break;case"CUBICSPLINE":if(u>c){var I=(a-c)/(u-c),h=u-c;!function(e,t,A){for(var n=A.p0,r=A.outTangent0,i=A.inTangent1,o=A.p1,a=A.tDiff,s=A.ratio,g=0;g<e[t].length;g++){var c=r[g]*a,u=i[g]*a;e[t][g]=(2*Math.pow(s,3)-3*Math.pow(s,2)+1)*n[g]+(Math.pow(s,3)-2*Math.pow(s,2)+s)*c+(-2*Math.pow(s,3)+3*Math.pow(s,2))*o[g]+(Math.pow(s,3)-Math.pow(s,2))*u}}(A,n,{p0:o[3*g+1],outTangent0:o[3*g+2],inTangent1:o[3*s+0],p1:o[3*s+1],tDiff:h,ratio:I})}break;default:C.k.warn("Interpolation ".concat(i," not supported"))()}}var x=function(){function e(t){Object(r.a)(this,e),this.startTime=0,this.playing=!0,this.speed=1,this.channels=[],Object.assign(this,t)}return Object(i.a)(e,[{key:"animate",value:function(e){if(this.playing){var t=(e/1e3-this.startTime)*this.speed;this.channels.forEach((function(e){var A=e.sampler,n=e.target,r=e.path;k(t,A,n,r),function(e,t){if(t.matrix.identity(),e.translation&&t.matrix.translate(e.translation),e.rotation){var A=D.fromQuaternion(e.rotation);t.matrix.multiplyRight(A)}e.scale&&t.matrix.scale(e.scale)}(n,n._node)}))}}}]),e}(),N=function(){function e(t){Object(r.a)(this,e),this.animations=t.animations.map((function(e,A){var n=e.name||"Animation-".concat(A),r=e.samplers.map((function(e){var A=e.input,n=e.interpolation,r=void 0===n?"LINEAR":n,i=e.output;return{input:R(t.accessors[A]),interpolation:r,output:R(t.accessors[i])}})),i=e.channels.map((function(e){var A=e.sampler,n=e.target;return{sampler:r[A],target:t.nodes[n.node],path:n.path}}));return new x({name:n,channels:i})}))}return Object(i.a)(e,[{key:"animate",value:function(e){this.setTime(e)}},{key:"setTime",value:function(e){this.animations.forEach((function(t){return t.animate(e)}))}},{key:"getAnimations",value:function(){return this.animations}}]),e}(),U=A(422),_=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(e){var n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(r.a)(this,A),(n=t.call(this,i)).onBeforeRender=null,n.AfterRender=null,e instanceof U.a?(n.model=e,n._setModelNodeProps(i)):n.model=new U.a(e,i),n.managedResources=i.managedResources||[],n}return Object(i.a)(A,[{key:"setProps",value:function(e){return Object(a.a)(Object(o.a)(A.prototype),"setProps",this).call(this,e),this._setModelNodeProps(e),this}},{key:"delete",value:function(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach((function(e){return e.delete()})),this.managedResources=[]}},{key:"draw",value:function(){var e;return(e=this.model).draw.apply(e,arguments)}},{key:"setUniforms",value:function(){var e;return(e=this.model).setUniforms.apply(e,arguments),this}},{key:"setAttributes",value:function(){var e;return(e=this.model).setAttributes.apply(e,arguments),this}},{key:"updateModuleSettings",value:function(){var e;return(e=this.model).updateModuleSettings.apply(e,arguments),this}},{key:"_setModelNodeProps",value:function(e){this.model.setProps(e)}}]),A}(E),M=A(703);function O(e,t){return Object(C.j)(e)?"#version 300 es\n".concat(t):t}var L={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},T={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1},Z=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(r.a)(this,e),this.gl=t,this.options=Object.assign({},T,A)}return Object(i.a)(e,[{key:"instantiate",value:function(e){var t=this;return this.gltf=e,(e.scenes||[]).map((function(e){return t.createScene(e)}))}},{key:"createAnimator",value:function(){return Array.isArray(this.gltf.animations)?new N(this.gltf):null}},{key:"createScene",value:function(e){var t=this,A=(e.nodes||[]).map((function(e){return t.createNode(e)}));return new b({id:e.name||e.id,children:A})}},{key:"createNode",value:function(e){var t=this;if(!e._node){var A=(e.children||[]).map((function(e){return t.createNode(e)}));e.mesh&&A.push(this.createMesh(e.mesh));var n=new b({id:e.name||e.id,children:A});if(e.matrix)n.setMatrix(e.matrix);else{if(n.matrix.identity(),e.translation&&n.matrix.translate(e.translation),e.rotation){var r=(new d.a).fromQuaternion(e.rotation);n.matrix.multiplyRight(r)}e.scale&&n.matrix.scale(e.scale)}e._node=n}return e._node}},{key:"createMesh",value:function(e){var t=this;if(!e._mesh){var A=(e.primitives||[]).map((function(A,n){return t.createPrimitive(A,n,e)})),n=new b({id:e.name||e.id,children:A});e._mesh=n}return e._mesh}},{key:"getVertexCount",value:function(e){C.k.warn("getVertexCount() not found")()}},{key:"createPrimitive",value:function(e,t,A){return function(e,t){var A=t.id,n=t.drawMode,r=t.vertexCount,i=t.attributes,o=t.modelOptions,a=new M.a(e,t);C.k.info(4,"createGLTFModel defines: ",a.defines)();var s=[];s.push.apply(s,Object(m.a)(a.generatedTextures)),s.push.apply(s,Object(m.a)(Object.values(i).map((function(e){return e.buffer}))));var g=new _(e,Object.assign({id:A,drawMode:n,vertexCount:r,modules:[h.a],defines:a.defines,parameters:a.parameters,vs:O(e,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:O(e,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:s},o));return g.setProps({attributes:i}),g.setUniforms(a.uniforms),g}(this.gl,Object.assign({id:e.name||"".concat(A.name||A.id,"-primitive-").concat(t),drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}},{key:"createAttributes",value:function(e,t){var A=this,n={};return Object.keys(e).forEach((function(t){n[t]=A.createAccessor(e[t],A.createBuffer(e[t],A.gl.ARRAY_BUFFER))})),t&&(n.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),C.k.info(4,"glTF Attributes",{attributes:e,indices:t,generated:n})(),n}},{key:"createBuffer",value:function(e,t){e.bufferView||(e.bufferView={});var A=e.bufferView;return A.lumaBuffers||(A.lumaBuffers={}),A.lumaBuffers[t]||(A.lumaBuffers[t]=new Q.a(this.gl,{id:"from-".concat(A.id),data:A.data||e.value,target:t})),A.lumaBuffers[t]}},{key:"createAccessor",value:function(e,t){return new y.a({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:L[e.type]})}},{key:"createSampler",value:function(e){return e}},{key:"needsPOT",value:function(){return!1}}]),e}();var H=A(1281),Y=A(3),J=A.n(Y),j=A(12);function P(){return(P=Object(j.a)(J.a.mark((function e(t){var A;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=[],t.scenes.forEach((function(e){e.traverse((function(e){Object.values(e.model.getUniforms()).forEach((function(e){!1===e.loaded&&A.push(e)}))}))})),e.next=4,V((function(){return A.some((function(e){return!e.loaded}))}));case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function V(e){return K.apply(this,arguments)}function K(){return(K=Object(j.a)(J.a.mark((function e(t){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t()){e.next=5;break}return e.next=3,new Promise((function(e){return requestAnimationFrame(e)}));case 3:e.next=0;break;case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var W=A(291);A.d(t,"a",(function(){return z}));var X=[255,255,255,255],q={scenegraph:{type:"object",value:null,async:!0},getScene:function(e){return e&&e.scenes?"object"===typeof e.scene?e.scene:e.scenes[e.scene||0]:e},getAnimator:function(e){return e&&e.animator},_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:X},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[H.a]},z=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"getShaders",value:function(){var e=[c.a,u.a];return"pbr"===this.props._lighting&&e.push(h.a),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:e}}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:X,transition:!0},instanceModelMatrix:W.a})}},{key:"updateState",value:function(e){Object(a.a)(Object(o.a)(A.prototype),"updateState",this).call(this,e);var t=e.props,n=e.oldProps;t.scenegraph!==n.scenegraph?this._updateScenegraph(t):t._animations!==n._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,t._animations)}},{key:"finalizeState",value:function(){Object(a.a)(Object(o.a)(A.prototype),"finalizeState",this).call(this),this._deleteScenegraph()}},{key:"_updateScenegraph",value:function(e){var t=this,A=this.context.gl,r=null;if(e.scenegraph instanceof E)r={scenes:[e.scenegraph]};else if(e.scenegraph&&!e.scenegraph.gltf){var i=e.scenegraph,o=function(e,t,A){var n=new Z(e,A);return{scenes:n.instantiate(t),animator:n.createAnimator()}}(A,i,this._getModelOptions());r=Object(n.a)({gltf:i},o),function(e){return P.apply(this,arguments)}(o).then((function(){return t.setNeedsRedraw()}))}else e.scenegraph&&(l.a.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=e.scenegraph);var a={layer:this,gl:A},s=e.getScene(r,a),g=e.getAnimator(r,a);s instanceof E?(this._deleteScenegraph(),this._applyAllAttributes(s),this._applyAnimationsProp(s,g,e._animations),this.setState({scenegraph:s,animator:g})):null!==s&&l.a.warn("invalid scenegraph:",s)()}},{key:"_applyAllAttributes",value:function(e){var t=this;if(this.state.attributesAvailable){var A=this.getAttributeManager().getAttributes();e.traverse((function(e){t._setModelAttributes(e.model,A)}))}}},{key:"_applyAnimationsProp",value:function(e,t,A){if(e&&t&&A){var n=t.getAnimations();Object.keys(A).sort().forEach((function(e){var t=A[e];if("*"===e)n.forEach((function(e){Object.assign(e,t)}));else if(Number.isFinite(Number(e))){var r=Number(e);r>=0&&r<n.length?Object.assign(n[r],t):l.a.warn("animation ".concat(e," not found"))()}else{var i=n.find((function(t){return t.name===e}));i?Object.assign(i,t):l.a.warn("animation ".concat(e," not found"))()}}))}}},{key:"_deleteScenegraph",value:function(){var e=this.state.scenegraph;e instanceof E&&e.delete()}},{key:"_getModelOptions",value:function(){var e=this.props._imageBasedLightingEnvironment,t=null;return e&&(t="function"===typeof e?e({gl:this.context.gl,layer:this}):e),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:t,modelOptions:Object(n.a)({isInstanced:!0,transpileToGLSL100:!Object(C.j)(this.context.gl)},this.getShaders()),useTangents:!1}}},{key:"updateAttributes",value:function(e){var t=this;this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse((function(A){t._setModelAttributes(A.model,e)}))}},{key:"draw",value:function(e){var t=e.moduleParameters,A=void 0===t?null:t,n=e.parameters,r=void 0===n?{}:n,i=e.context;if(this.state.scenegraph){this.props._animations&&this.state.animator&&(this.state.animator.animate(i.timeline.getTime()),this.setNeedsRedraw());var o=this.context.viewport,a=this.props,s=a.sizeScale,g=a.sizeMinPixels,c=a.sizeMaxPixels,u=a.opacity,l=a.coordinateSystem,I=this.getNumInstances();this.state.scenegraph.traverse((function(e,t){var n=t.worldMatrix;e.model.setInstanceCount(I),e.updateModuleSettings(A),e.draw({parameters:r,uniforms:{sizeScale:s,opacity:u,sizeMinPixels:g,sizeMaxPixels:c,composeModelMatrix:Object(W.b)(o,l),sceneModelMatrix:n,u_Camera:e.model.getUniforms().project_uCameraPosition}})}))}}}]),A}(I.a);z.layerName="ScenegraphLayer",z.defaultProps=q},function(e,t,A){"use strict";var n=A(6),r=A(1),i=A(4),o=A(16),a=A(17),s=A(9),g=A(10),c=A(7),u=A(41),l=A(511),I=A(409);function C(e,t){if(!e)return null;var A="startIndices"in e?e.startIndices[t]:t,n=e.featureIds.value[A];return-1!==A?function(e,t,A){var n={properties:Object(c.a)({},e.properties[t])};for(var r in e.numericProps)n.properties[r]=e.numericProps[r].value[A];return n}(e,n,A):null}var h=A(269),f=A(388),d=A(386),B=A(268),p=A(267),E={circle:{type:f.a,props:{filled:"filled",stroked:"stroked",lineWidthMaxPixels:"lineWidthMaxPixels",lineWidthMinPixels:"lineWidthMinPixels",lineWidthScale:"lineWidthScale",lineWidthUnits:"lineWidthUnits",pointRadiusMaxPixels:"radiusMaxPixels",pointRadiusMinPixels:"radiusMinPixels",pointRadiusScale:"radiusScale",pointRadiusUnits:"radiusUnits",pointAntialiasing:"antialiasing",getFillColor:"getFillColor",getLineColor:"getLineColor",getLineWidth:"getLineWidth",getPointRadius:"getRadius"}},icon:{type:h.a,props:{iconAtlas:"iconAtlas",iconMapping:"iconMapping",iconSizeMaxPixels:"sizeMaxPixels",iconSizeMinPixels:"sizeMinPixels",iconSizeScale:"sizeScale",iconSizeUnits:"sizeUnits",getIcon:"getIcon",getIconAngle:"getAngle",getIconColor:"getColor",getIconPixelOffset:"getPixelOffset",getIconSize:"getSize"}},text:{type:d.a,props:{textSizeMaxPixels:"sizeMaxPixels",textSizeMinPixels:"sizeMinPixels",textSizeScale:"sizeScale",textSizeUnits:"sizeUnits",textBackground:"background",textBackgroundPadding:"backgroundPadding",textFontFamily:"fontFamily",textFontWeight:"fontWeight",textLineHeight:"lineHeight",textMaxWidth:"maxWidth",textOutlineColor:"outlineColor",textOutlineWidth:"outlineWidth",textWordBreak:"wordBreak",textCharacterSet:"characterSet",getText:"getText",getTextAngle:"getAngle",getTextColor:"getColor",getTextPixelOffset:"getPixelOffset",getTextSize:"getSize",getTextAnchor:"getTextAnchor",getTextAlignmentBaseline:"getAlignmentBaseline",getTextBackgroundColor:"getBackgroundColor",getTextBorderColor:"getBorderColor",getTextBorderWidth:"getBorderWidth"}}},Q={type:B.a,props:{lineWidthUnits:"widthUnits",lineWidthScale:"widthScale",lineWidthMinPixels:"widthMinPixels",lineWidthMaxPixels:"widthMaxPixels",lineJointRounded:"jointRounded",lineCapRounded:"capRounded",lineMiterLimit:"miterLimit",getLineColor:"getColor",getLineWidth:"getWidth"}},y={type:p.a,props:{extruded:"extruded",filled:"filled",wireframe:"wireframe",elevationScale:"elevationScale",material:"material",getElevation:"getElevation",getFillColor:"getFillColor",getLineColor:"getLineColor"}};function v(e){var t=e.type,A=e.props,n={};for(var r in A)n[r]=t.defaultProps[A[r]];return n}function m(e,t){var A=e.props,n=A.transitions,r=A.updateTriggers,i={updateTriggers:{},transitions:n&&{getPosition:n.geometry}};for(var o in t){var a=t[o],s=e.props[o];o.startsWith("get")&&(s=e.getSubLayerAccessor(s),i.updateTriggers[a]=r[o],n&&(i.transitions[a]=n[o])),i[a]=s}return i}function b(e,t){for(var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={pointFeatures:[],lineFeatures:[],polygonFeatures:[],polygonOutlineFeatures:[]},r=A.startRow,i=void 0===r?0:r,o=A.endRow,a=void 0===o?e.length:o,s=i;s<a;s++){var g=e[s];u.a.assert(g&&g.geometry,"GeoJSON does not have geometry");var c=g.geometry;if("GeometryCollection"===c.type){u.a.assert(Array.isArray(c.geometries),"GeoJSON does not have geometries array");for(var l=c.geometries,I=0;I<l.length;I++){var C=l[I];w(C,n,t,g,s)}}else w(c,n,t,g,s)}return n}function w(e,t,A,n,r){var i=e.type,o=e.coordinates,a=t.pointFeatures,s=t.lineFeatures,g=t.polygonFeatures,c=t.polygonOutlineFeatures;if(function(e,t){var A=S[e];u.a.assert(A,"Unknown GeoJSON type ".concat(e));for(;t&&--A>0;)t=t[0];return t&&Number.isFinite(t[0])}(i,o))switch(i){case"Point":a.push(A({geometry:e},n,r));break;case"MultiPoint":o.forEach((function(e){a.push(A({geometry:{type:"Point",coordinates:e}},n,r))}));break;case"LineString":s.push(A({geometry:e},n,r));break;case"MultiLineString":o.forEach((function(e){s.push(A({geometry:{type:"LineString",coordinates:e}},n,r))}));break;case"Polygon":g.push(A({geometry:e},n,r)),o.forEach((function(e){c.push(A({geometry:{type:"LineString",coordinates:e}},n,r))}));break;case"MultiPolygon":o.forEach((function(e){g.push(A({geometry:{type:"Polygon",coordinates:e}},n,r)),e.forEach((function(e){c.push(A({geometry:{type:"LineString",coordinates:e}},n,r))}))}))}else u.a.warn("".concat(i," coordinates are malformed"))()}var S={Point:1,MultiPoint:2,LineString:2,MultiLineString:3,Polygon:3,MultiPolygon:4};function F(e){return e.geometry.coordinates}function R(e,t){var A={points:{},lines:{},polygons:{},polygonsOutline:{}},n=e.points,r=e.lines,i=e.polygons,o=function(e,t){var A={points:null,lines:null,polygons:null};for(var n in A){var r=e[n].globalFeatureIds.value;A[n]=new Uint8ClampedArray(3*r.length);for(var i=[],o=0;o<r.length;o++)t(r[o],i),A[n][3*o+0]=i[0],A[n][3*o+1]=i[1],A[n][3*o+2]=i[2]}return A}(e,t);return A.points.data={length:n.positions.value.length/n.positions.size,attributes:{getPosition:n.positions,instancePickingColors:{size:3,value:o.points}},properties:n.properties,numericProps:n.numericProps,featureIds:n.featureIds},A.lines.data={length:r.pathIndices.value.length-1,startIndices:r.pathIndices.value,attributes:{getPath:r.positions,instancePickingColors:{size:3,value:o.lines}},properties:r.properties,numericProps:r.numericProps,featureIds:r.featureIds},A.lines._pathType="open",A.polygons.data={length:i.polygonIndices.value.length-1,startIndices:i.polygonIndices.value,attributes:{getPolygon:i.positions,pickingColors:{size:3,value:o.polygons}},properties:i.properties,numericProps:i.numericProps,featureIds:i.featureIds},A.polygons._normalize=!1,i.triangles&&(A.polygons.data.attributes.indices=i.triangles.value),A.polygonsOutline.data={length:i.primitivePolygonIndices.value.length-1,startIndices:i.primitivePolygonIndices.value,attributes:{getPath:i.positions,instancePickingColors:{size:3,value:o.polygons}},properties:i.properties,numericProps:i.numericProps,featureIds:i.featureIds},A.polygonsOutline._pathType="open",A}A.d(t,"a",(function(){return G}));var D=Object(c.a)({},v(E.circle),{},v(E.icon),{},v(E.text),{},v(Q),{},v(y),{stroked:!0,filled:!0,extruded:!1,wireframe:!1,iconAtlas:{type:"object",value:null},iconMapping:{type:"object",value:{}},getIcon:{type:"accessor",value:function(e){return e.properties.icon}},getText:{type:"accessor",value:function(e){return e.properties.text}},pointType:"circle",getRadius:{deprecatedFor:"getPointRadius"}}),G=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"initializeState",value:function(){this.state={layerProps:{},features:{}},this.props.getLineDashArray&&u.a.removed("getLineDashArray","PathStyleExtension")()}},{key:"updateState",value:function(e){var t=e.props,A=e.changeFlags;if(A.dataChanged){var n=this.props.data,r=n&&"points"in n&&"polygons"in n&&"lines"in n;this.setState({binary:r}),r?this._updateStateBinary({props:t,changeFlags:A}):this._updateStateJSON({props:t,changeFlags:A})}}},{key:"_updateStateBinary",value:function(e){var t=e.props,A=(e.changeFlags,R(t.data,this.encodePickingColor));this.setState({layerProps:A})}},{key:"_updateStateJSON",value:function(e){var t=e.props,A=e.changeFlags,r=function(e){if(Array.isArray(e))return e;switch(u.a.assert(e.type,"GeoJSON does not have type"),e.type){case"Feature":return[e];case"FeatureCollection":return u.a.assert(Array.isArray(e.features),"GeoJSON does not have features array"),e.features;default:return[{geometry:e}]}}(t.data),i=this.getSubLayerRow.bind(this),o={},a={};if(Array.isArray(A.dataChanged)){var s=this.state.features;for(var g in s)o[g]=s[g].slice(),a[g]=[];var c,l=Object(n.a)(A.dataChanged);try{for(l.s();!(c=l.n()).done;){var C=c.value,h=b(r,i,C);for(var f in s)a[f].push(Object(I.a)({data:o[f],getIndex:function(e){return e.__source.index},dataRange:C,replace:h[f]}))}}catch(B){l.e(B)}finally{l.f()}}else o=b(r,i);var d=function(e,t){var A={points:{},lines:{},polygons:{},polygonsOutline:{}},n=e.pointFeatures,r=e.lineFeatures,i=e.polygonFeatures,o=e.polygonOutlineFeatures;return A.points.data=n,A.points._dataDiff=t.pointFeatures&&function(){return t.pointFeatures},A.points.getPosition=F,A.lines.data=r,A.lines._dataDiff=t.lineFeatures&&function(){return t.lineFeatures},A.lines.getPath=F,A.polygons.data=i,A.polygons._dataDiff=t.polygonFeatures&&function(){return t.polygonFeatures},A.polygons.getPolygon=F,A.polygonsOutline.data=o,A.polygonsOutline._dataDiff=t.polygonOutlineFeatures&&function(){return t.polygonOutlineFeatures},A.polygonsOutline.getPath=F,A}(o,a);this.setState({features:o,featuresDiff:a,layerProps:d})}},{key:"_updateAutoHighlight",value:function(e){var t,A="".concat(this.id,"-points-"),r=e.sourceLayer.id.startsWith(A),i=Object(n.a)(this.getSubLayers());try{for(i.s();!(t=i.n()).done;){var o=t.value;o.id.startsWith(A)===r&&o.updateAutoHighlight(e)}}catch(a){i.e(a)}finally{i.f()}}},{key:"_renderPolygonLayer",value:function(){var e=this.props,t=e.extruded,A=e.wireframe,n=this.state.layerProps,r="polygons-fill",i=this.shouldRenderSubLayer(r,n.polygons.data)&&this.getSubLayerClass(r,y.type);if(i){var o=m(this,y.props),a=t&&A;return a||delete o.getLineColor,o.updateTriggers.lineColors=a,new i(o,this.getSubLayerProps({id:r,updateTriggers:o.updateTriggers}),n.polygons)}return null}},{key:"_renderLineLayers",value:function(){var e=this.props,t=e.extruded,A=e.stroked,n=this.state.layerProps,r=!t&&A&&this.shouldRenderSubLayer("polygons-stroke",n.polygonsOutline.data)&&this.getSubLayerClass("polygons-stroke",Q.type),i=this.shouldRenderSubLayer("linestrings",n.lines.data)&&this.getSubLayerClass("linestrings",Q.type);if(r||i){var o=m(this,Q.props);return[r&&new r(o,this.getSubLayerProps({id:"polygons-stroke",updateTriggers:o.updateTriggers}),n.polygonsOutline),i&&new i(o,this.getSubLayerProps({id:"linestrings",updateTriggers:o.updateTriggers}),n.lines)]}return null}},{key:"_renderPointLayers",value:function(){var e=this.props.pointType,t=this.state,A=t.layerProps,r=t.binary,i=this.props.highlightedObjectIndex;!r&&Number.isFinite(i)&&(i=A.points.data.findIndex((function(e){return e.__source.index===i})));var o,a=new Set(e.split("+")),s=[],g=Object(n.a)(a);try{for(g.s();!(o=g.n()).done;){var c=o.value,u="points-".concat(c),l=E[c],I=l&&this.shouldRenderSubLayer(u,A.points.data)&&this.getSubLayerClass(u,l.type);if(I){var C=m(this,l.props);s.push(new I(C,this.getSubLayerProps({id:u,updateTriggers:C.updateTriggers,highlightedObjectIndex:i}),A.points))}}}catch(h){g.e(h)}finally{g.f()}return s}},{key:"renderLayers",value:function(){var e=this.props.extruded,t=this._renderPolygonLayer();return[!e&&t,this._renderLineLayers(),this._renderPointLayers(),e&&t]}},{key:"getSubLayerAccessor",value:function(e){return this.state.binary&&"function"===typeof e?function(t,A){var n=C(A.data,A.index);return e(n,A)}:Object(a.a)(Object(o.a)(A.prototype),"getSubLayerAccessor",this).call(this,e)}}]),A}(l.a);G.layerName="GeoJsonLayer",G.defaultProps=D},function(e,t,A){"use strict";A.r(t);var n={centimeters:637100880,centimetres:637100880,degrees:6371008.8/111325,feet:20902260.511392,inches:6371008.8*39.37,kilometers:6371.0088,kilometres:6371.0088,meters:6371008.8,metres:6371008.8,miles:3958.761333810546,millimeters:6371008800,millimetres:6371008800,nauticalmiles:6371008.8/1852,radians:1,yards:6371008.8*1.0936};function r(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function i(e,t,A){if(void 0===A&&(A={}),!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!c(e[0])||!c(e[1]))throw new Error("coordinates must contain numbers");return r({type:"Point",coordinates:e},t,A)}function o(e,t,A){if(void 0===A&&(A={}),e.length<2)throw new Error("coordinates must be an array of two or more positions");return r({type:"LineString",coordinates:e},t,A)}function a(e,t){void 0===t&&(t="kilometers");var A=n[t];if(!A)throw new Error(t+" units is invalid");return e*A}function s(e,t){void 0===t&&(t="kilometers");var A=n[t];if(!A)throw new Error(t+" units is invalid");return e/A}function g(e){return e%360*Math.PI/180}function c(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)}function u(e){if(!e)throw new Error("coord is required");if(!Array.isArray(e)){if("Feature"===e.type&&null!==e.geometry&&"Point"===e.geometry.type)return e.geometry.coordinates;if("Point"===e.type)return e.coordinates}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return e;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function l(e,t,A){if(!e)throw new Error("No feature passed");if(!A)throw new Error(".featureOf() requires a name");if(!e||"Feature"!==e.type||!e.geometry)throw new Error("Invalid input to "+A+", Feature with geometry required");if(!e.geometry||e.geometry.type!==t)throw new Error("Invalid input to "+A+": must be a "+t+", given "+e.geometry.type)}var I=function(e,t,A){void 0===A&&(A={});var n=u(e),r=u(t),i=g(r[1]-n[1]),o=g(r[0]-n[0]),s=g(n[1]),c=g(r[1]),l=Math.pow(Math.sin(i/2),2)+Math.pow(Math.sin(o/2),2)*Math.cos(s)*Math.cos(c);return a(2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l)),A.units)};function C(e,t,A){if(null!==e)for(var n,r,i,o,a,s,g,c,u=0,l=0,I=e.type,h="FeatureCollection"===I,f="Feature"===I,d=h?e.features.length:1,B=0;B<d;B++){a=(c=!!(g=h?e.features[B].geometry:f?e.geometry:e)&&"GeometryCollection"===g.type)?g.geometries.length:1;for(var p=0;p<a;p++){var E=0,Q=0;if(null!==(o=c?g.geometries[p]:g)){s=o.coordinates;var y=o.type;switch(u=!A||"Polygon"!==y&&"MultiPolygon"!==y?0:1,y){case null:break;case"Point":if(!1===t(s,l,B,E,Q))return!1;l++,E++;break;case"LineString":case"MultiPoint":for(n=0;n<s.length;n++){if(!1===t(s[n],l,B,E,Q))return!1;l++,"MultiPoint"===y&&E++}"LineString"===y&&E++;break;case"Polygon":case"MultiLineString":for(n=0;n<s.length;n++){for(r=0;r<s[n].length-u;r++){if(!1===t(s[n][r],l,B,E,Q))return!1;l++}"MultiLineString"===y&&E++,"Polygon"===y&&Q++}"Polygon"===y&&E++;break;case"MultiPolygon":for(n=0;n<s.length;n++){for(Q=0,r=0;r<s[n].length;r++){for(i=0;i<s[n][r].length-u;i++){if(!1===t(s[n][r][i],l,B,E,Q))return!1;l++}Q++}E++}break;case"GeometryCollection":for(n=0;n<o.geometries.length;n++)if(!1===C(o.geometries[n],t,A))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function h(e,t){var A,n,r,i,o,a,s,g,c,u,l=0,I="FeatureCollection"===e.type,C="Feature"===e.type,h=I?e.features.length:1;for(A=0;A<h;A++){for(a=I?e.features[A].geometry:C?e.geometry:e,g=I?e.features[A].properties:C?e.properties:{},c=I?e.features[A].bbox:C?e.bbox:void 0,u=I?e.features[A].id:C?e.id:void 0,o=(s=!!a&&"GeometryCollection"===a.type)?a.geometries.length:1,r=0;r<o;r++)if(null!==(i=s?a.geometries[r]:a))switch(i.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===t(i,l,g,c,u))return!1;break;case"GeometryCollection":for(n=0;n<i.geometries.length;n++)if(!1===t(i.geometries[n],l,g,c,u))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===t(null,l,g,c,u))return!1;l++}}function f(e,t){h(e,(function(e,A,n,i,o){var a,s=null===e?null:e.type;switch(s){case null:case"Point":case"LineString":case"Polygon":return!1!==t(r(e,n,{bbox:i,id:o}),A,0)&&void 0}switch(s){case"MultiPoint":a="Point";break;case"MultiLineString":a="LineString";break;case"MultiPolygon":a="Polygon"}for(var g=0;g<e.coordinates.length;g++){var c=e.coordinates[g];if(!1===t(r({type:a,coordinates:c},n),A,g))return!1}}))}function d(e,t){f(e,(function(e,A,n){var r=0;if(e.geometry){var i=e.geometry.type;if("Point"!==i&&"MultiPoint"!==i){var a,s=0,g=0,c=0;return!1!==C(e,(function(i,u,l,I,C){if(void 0===a||A>s||I>g||C>c)return a=i,s=A,g=I,c=C,void(r=0);var h=o([a,i],e.properties);if(!1===t(h,A,n,C,r))return!1;r++,a=i}))&&void 0}}}))}var B=A(285);function p(e,t){return e[0]*t[0]+e[1]*t[1]}function E(e,t,A){return"planar"===A.method?Object(B.a)(e,t,A):I(e,t,A)}t.default=function(e,t,A){if(void 0===A&&(A={}),A.method||(A.method="geodesic"),A.units||(A.units="kilometers"),!e)throw new Error("pt is required");if(Array.isArray(e)?e=i(e):"Point"===e.type?e=r(e):l(e,"Point","point"),!t)throw new Error("line is required");Array.isArray(t)?t=o(t):"LineString"===t.type?t=r(t):l(t,"LineString","line");var n=1/0,g=e.geometry.coordinates;return d(t,(function(e){var t=e.geometry.coordinates[0],r=e.geometry.coordinates[1],i=function(e,t,A,n){var r=[A[0]-t[0],A[1]-t[1]],i=p([e[0]-t[0],e[1]-t[1]],r);if(i<=0)return E(e,t,{method:n.method,units:"degrees"});var o=p(r,r);if(o<=i)return E(e,A,{method:n.method,units:"degrees"});var a=i/o,s=[t[0]+a*r[0],t[1]+a*r[1]];return E(e,s,{method:n.method,units:"degrees"})}(g,t,r,A);i<n&&(n=i)})),function(e,t,A){if(void 0===t&&(t="kilometers"),void 0===A&&(A="kilometers"),!(e>=0))throw new Error("length must be a positive number");return a(s(e,t),A)}(n,"degrees",A.units)}},function(e,t,A){"use strict";var n=A(8),r=A(7),i=A(1),o=A(4),a=A(16),s=A(17),g=A(9),c=A(10),u=A(36),l=A(575),I=A(576),C=A(384),h=A(422),f=A(135),d=A(42),B=A(23),p=new Uint16Array([0,2,1,0,3,2]),E=new Float32Array([0,1,0,0,1,0,1,1]);function Q(e,t){if(!t)return function(e){for(var t=new Float64Array(12),A=0;A<e.length;A++)t[3*A+0]=e[A][0],t[3*A+1]=e[A][1],t[3*A+2]=e[A][2]||0;return{vertexCount:6,positions:t,indices:p,texCoords:E}}(e);for(var A=Math.max(Math.abs(e[0][0]-e[3][0]),Math.abs(e[1][0]-e[2][0])),n=Math.max(Math.abs(e[1][1]-e[0][1]),Math.abs(e[2][1]-e[3][1])),r=Math.ceil(A/t)+1,i=Math.ceil(n/t)+1,o=(r-1)*(i-1)*6,a=new Uint32Array(o),s=new Float32Array(r*i*2),g=new Float64Array(r*i*3),c=0,u=0,l=0;l<r;l++)for(var I=l/(r-1),C=0;C<i;C++){var h=C/(i-1),f=y(e,I,h);g[3*c+0]=f[0],g[3*c+1]=f[1],g[3*c+2]=f[2]||0,s[2*c+0]=I,s[2*c+1]=1-h,l>0&&C>0&&(a[u++]=c-i,a[u++]=c-i-1,a[u++]=c-1,a[u++]=c-i,a[u++]=c-1,a[u++]=c),c++}return{vertexCount:o,positions:g,indices:a,texCoords:s}}function y(e,t,A){return Object(B.lerp)(Object(B.lerp)(e[0],e[1],A),Object(B.lerp)(e[3],e[2],A),t)}var v="\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D bitmapTexture;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\nuniform float coordinateConversion;\nuniform vec4 bounds;\n\n/* projection utils */\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / PI / 2.0;\n\n// from degrees to Web Mercator\nvec2 lnglat_to_mercator(vec2 lnglat) {\n float x = lnglat.x;\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\n// from Web Mercator to degrees\nvec2 mercator_to_lnglat(vec2 xy) {\n xy /= WORLD_SCALE;\n return degrees(vec2(\n xy.x - PI,\n atan(exp(xy.y - PI)) * 2.0 - PI * 0.5\n ));\n}\n/* End projection utils */\n\n// apply desaturation\nvec3 color_desaturate(vec3 color) {\n float luminance = (color.r + color.g + color.b) * 0.333333333;\n return mix(color, vec3(luminance), desaturate);\n}\n\n// apply tint\nvec3 color_tint(vec3 color) {\n return color * tintColor;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n return mix(transparentColor, vec4(color, 1.0), alpha);\n}\n\nvec2 getUV(vec2 pos) {\n return vec2(\n (pos.x - bounds[0]) / (bounds[2] - bounds[0]),\n (pos.y - bounds[3]) / (bounds[1] - bounds[3])\n );\n}\n\n".concat("\nvec3 packUVsIntoRGB(vec2 uv) {\n // Extract the top 8 bits. We want values to be truncated down so we can add a fraction\n vec2 uv8bit = floor(uv * 256.);\n\n // Calculate the normalized remainders of u and v parts that do not fit into 8 bits\n // Scale and clamp to 0-1 range\n vec2 uvFraction = fract(uv * 256.);\n vec2 uvFraction4bit = floor(uvFraction * 16.);\n\n // Remainder can be encoded in blue channel, encode as 4 bits for pixel coordinates\n float fractions = uvFraction4bit.x + uvFraction4bit.y * 16.;\n\n return vec3(uv8bit, fractions) / 255.;\n}\n","\n\nvoid main(void) {\n vec2 uv = vTexCoord;\n if (coordinateConversion < -0.5) {\n vec2 lnglat = mercator_to_lnglat(vTexPos);\n uv = getUV(lnglat);\n } else if (coordinateConversion > 0.5) {\n vec2 commonPos = lnglat_to_mercator(vTexPos);\n uv = getUV(commonPos);\n }\n vec4 bitmapColor = texture2D(bitmapTexture, uv);\n\n gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n\n geometry.uv = uv;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n\n if (picking_uActive) {\n // Since instance information is not used, we can use picking color for pixel index\n gl_FragColor.rgb = packUVsIntoRGB(uv);\n }\n}\n");A.d(t,"a",(function(){return b}));var m={image:{type:"image",value:null,async:!0},bounds:{type:"array",value:[1,0,0,1],compare:!0},_imageCoordinateSystem:u.a.DEFAULT,desaturate:{type:"number",min:0,max:1,value:0},transparentColor:{type:"color",value:[0,0,0,0]},tintColor:{type:"color",value:[255,255,255]}},b=function(e){Object(g.a)(A,e);var t=Object(c.a)(A);function A(){return Object(i.a)(this,A),t.apply(this,arguments)}return Object(o.a)(A,[{key:"getShaders",value:function(){return Object(s.a)(Object(a.a)(A.prototype),"getShaders",this).call(this,{vs:"\n#define SHADER_NAME bitmap-layer-vertex-shader\n\nattribute vec2 texCoords;\nattribute vec3 positions;\nattribute vec3 positions64Low;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float coordinateConversion;\n\nconst vec3 pickingColor = vec3(1.0, 0.0, 0.0);\n\nvoid main(void) {\n geometry.worldPosition = positions;\n geometry.uv = texCoords;\n geometry.pickingColor = pickingColor;\n\n gl_Position = project_position_to_clipspace(positions, positions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTexCoord = texCoords;\n\n if (coordinateConversion < -0.5) {\n vTexPos = geometry.position.xy;\n } else if (coordinateConversion > 0.5) {\n vTexPos = geometry.worldPosition.xy;\n }\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n",fs:v,modules:[l.a,I.a]})}},{key:"initializeState",value:function(){var e=this,t=this.getAttributeManager();t.remove(["instancePickingColors"]);t.add({indices:{size:1,isIndexed:!0,update:function(t){return t.value=e.state.mesh.indices},noAlloc:!0},positions:{size:3,type:5130,fp64:this.use64bitPositions(),update:function(t){return t.value=e.state.mesh.positions},noAlloc:!0},texCoords:{size:2,update:function(t){return t.value=e.state.mesh.texCoords},noAlloc:!0}})}},{key:"updateState",value:function(e){var t=e.props,A=e.oldProps;if(e.changeFlags.extensionsChanged){var n,i=this.context.gl;null===(n=this.state.model)||void 0===n||n.delete(),this.state.model=this._getModel(i),this.getAttributeManager().invalidateAll()}var o=this.getAttributeManager();if(t.bounds!==A.bounds){var a=this.state.mesh,s=this._createMesh();for(var g in this.state.model.setVertexCount(s.vertexCount),s)a&&a[g]!==s[g]&&o.invalidate(g);this.setState(Object(r.a)({mesh:s},this._getCoordinateUniforms()))}else t._imageCoordinateSystem!==A._imageCoordinateSystem&&this.setState(this._getCoordinateUniforms())}},{key:"getPickingInfo",value:function(e){var t=e.info,A=this.props.image;if(!t.color||!A)return t.bitmap=null,t;var r=A.width,i=A.height;t.index=0;var o=function(e){var t=Object(n.a)(e,3),A=t[0],r=t[1],i=t[2];return[(A+(15&i)/16)/256,(r+(240&i)/256)/256]}(t.color),a=[Math.floor(o[0]*r),Math.floor(o[1]*i)];return t.bitmap={size:{width:r,height:i},uv:o,pixel:a},t}},{key:"disablePickingIndex",value:function(){this.setState({disablePicking:!0})}},{key:"restorePickingColors",value:function(){this.setState({disablePicking:!1})}},{key:"_updateAutoHighlight",value:function(e){Object(s.a)(Object(a.a)(A.prototype),"_updateAutoHighlight",this).call(this,Object(r.a)({},e,{color:this.encodePickingColor(0)}))}},{key:"_createMesh",value:function(){var e=this.props.bounds,t=e;return Number.isFinite(e[0])&&(t=[[e[0],e[1]],[e[0],e[3]],[e[2],e[3]],[e[2],e[1]]]),Q(t,this.context.viewport.resolution)}},{key:"_getModel",value:function(e){return e?new h.a(e,Object(r.a)({},this.getShaders(),{id:this.props.id,geometry:new f.a({drawMode:4,vertexCount:6}),isInstanced:!1})):null}},{key:"draw",value:function(e){var t=e.uniforms,A=e.moduleParameters,n=this.state,r=n.model,i=n.coordinateConversion,o=n.bounds,a=n.disablePicking,s=this.props,g=s.image,c=s.desaturate,u=s.transparentColor,l=s.tintColor;A.pickingActive&&a||g&&r&&r.setUniforms(t).setUniforms({bitmapTexture:g,desaturate:c,transparentColor:u.map((function(e){return e/255})),tintColor:l.slice(0,3).map((function(e){return e/255})),coordinateConversion:i,bounds:o}).draw()}},{key:"_getCoordinateUniforms",value:function(){var e=u.a.LNGLAT,t=u.a.CARTESIAN,A=u.a.DEFAULT,n=this.props._imageCoordinateSystem;if(n!==A){var r=this.props.bounds;if(!Number.isFinite(r[0]))throw new Error("_imageCoordinateSystem only supports rectangular bounds");var i=this.context.viewport.resolution?e:t;if((n=n===e?e:t)===e&&i===t)return{coordinateConversion:-1,bounds:r};if(n===t&&i===e){var o=Object(d.n)([r[0],r[1]]),a=Object(d.n)([r[2],r[3]]);return{coordinateConversion:1,bounds:[o[0],o[1],a[0],a[1]]}}}return{coordinateConversion:0,bounds:[0,0,0,0]}}}]),A}(C.a);b.layerName="BitmapLayer",b.defaultProps=m},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(16),a=A(17),s=A(9),g=A(10),c=A(575),u=A(576),l=A(36),I=A(384),C=A(422),h=A(135);A.d(t,"a",(function(){return d}));var f={getSourcePosition:{type:"accessor",value:function(e){return e.sourcePosition}},getTargetPosition:{type:"accessor",value:function(e){return e.targetPosition}},getColor:{type:"accessor",value:[0,0,0,255]},getWidth:{type:"accessor",value:1},widthUnits:"pixels",widthScale:{type:"number",value:1,min:0},widthMinPixels:{type:"number",value:0,min:0},widthMaxPixels:{type:"number",value:Number.MAX_SAFE_INTEGER,min:0}},d=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"getShaders",value:function(){return Object(a.a)(Object(o.a)(A.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME line-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 instanceSourcePositions;\nattribute vec3 instanceTargetPositions;\nattribute vec3 instanceSourcePositions64Low;\nattribute vec3 instanceTargetPositions64Low;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute float instanceWidths;\n\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float useShortestPath;\nuniform int widthUnits;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nvec3 splitLine(vec3 a, vec3 b, float x) {\n float t = (x - a.x) / (b.x - a.x);\n return vec3(x, mix(a.yz, b.yz, t));\n}\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n vec3 source_world_64low = instanceSourcePositions64Low;\n vec3 target_world_64low = instanceTargetPositions64Low;\n\n if (useShortestPath > 0.5 || useShortestPath < -0.5) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n float deltaLng = target_world.x - source_world.x;\n\n if (deltaLng * useShortestPath > 180.) {\n source_world.x += 360. * useShortestPath;\n source_world = splitLine(source_world, target_world, 180. * useShortestPath);\n source_world_64low = vec3(0.0);\n } else if (deltaLng * useShortestPath < -180.) {\n target_world.x += 360. * useShortestPath;\n target_world = splitLine(source_world, target_world, 180. * useShortestPath);\n target_world_64low = vec3(0.0);\n } else if (useShortestPath < 0.) {\n gl_Position = vec4(0.);\n return;\n }\n }\n vec4 source_commonspace;\n vec4 target_commonspace;\n vec4 source = project_position_to_clipspace(source_world, source_world_64low, vec3(0.), source_commonspace);\n vec4 target = project_position_to_clipspace(target_world, target_world_64low, vec3(0.), target_commonspace);\n float segmentIndex = positions.x;\n vec4 p = mix(source, target, segmentIndex);\n geometry.position = mix(source_commonspace, target_commonspace, segmentIndex);\n uv = positions.xy;\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset(target.xy - source.xy, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = p + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#define SHADER_NAME line-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[c.a,u.a]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instanceSourcePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getSourcePosition"},instanceTargetPositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getTargetPosition"},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceWidths:{size:1,transition:!0,accessor:"getWidth",defaultValue:1}})}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,r=e.changeFlags;if(Object(a.a)(Object(o.a)(A.prototype),"updateState",this).call(this,{props:t,oldProps:n,changeFlags:r}),r.extensionsChanged){var i,s=this.context.gl;null===(i=this.state.model)||void 0===i||i.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,A=this.props,n=A.widthUnits,r=A.widthScale,i=A.widthMinPixels,o=A.widthMaxPixels,a=A.wrapLongitude;this.state.model.setUniforms(t).setUniforms({widthUnits:l.d[n],widthScale:r,widthMinPixels:i,widthMaxPixels:o,useShortestPath:a?1:0}).draw(),a&&this.state.model.setUniforms({useShortestPath:-1}).draw()}},{key:"_getModel",value:function(e){return new C.a(e,Object(n.a)({},this.getShaders(),{id:this.props.id,geometry:new h.a({drawMode:5,attributes:{positions:new Float32Array([0,-1,0,0,1,0,1,-1,0,1,1,0])}}),isInstanced:!0}))}},{key:"wrapLongitude",get:function(){return!1}}]),A}(I.a);d.layerName="LineLayer",d.defaultProps=f},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(16),a=A(17),s=A(9),g=A(10),c=A(575),u=A(576),l=A(36),I=A(384),C=A(422),h=A(135);A.d(t,"a",(function(){return B}));var f=[0,0,0,255],d={getSourcePosition:{type:"accessor",value:function(e){return e.sourcePosition}},getTargetPosition:{type:"accessor",value:function(e){return e.targetPosition}},getSourceColor:{type:"accessor",value:f},getTargetColor:{type:"accessor",value:f},getWidth:{type:"accessor",value:1},getHeight:{type:"accessor",value:1},getTilt:{type:"accessor",value:0},greatCircle:!1,widthUnits:"pixels",widthScale:{type:"number",value:1,min:0},widthMinPixels:{type:"number",value:0,min:0},widthMaxPixels:{type:"number",value:Number.MAX_SAFE_INTEGER,min:0}},B=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"getShaders",value:function(){return Object(a.a)(Object(o.a)(A.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME arc-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec4 instanceSourceColors;\nattribute vec4 instanceTargetColors;\nattribute vec3 instanceSourcePositions;\nattribute vec3 instanceSourcePositions64Low;\nattribute vec3 instanceTargetPositions;\nattribute vec3 instanceTargetPositions64Low;\nattribute vec3 instancePickingColors;\nattribute float instanceWidths;\nattribute float instanceHeights;\nattribute float instanceTilts;\n\nuniform bool greatCircle;\nuniform bool useShortestPath;\nuniform float numSegments;\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform int widthUnits;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nfloat paraboloid(float distance, float sourceZ, float targetZ, float ratio) {\n\n float deltaZ = targetZ - sourceZ;\n float dh = distance * instanceHeights;\n if (dh == 0.0) {\n return sourceZ + deltaZ * ratio;\n }\n float unitZ = deltaZ / dh;\n float p2 = unitZ * unitZ + 1.0;\n float dir = step(deltaZ, 0.0);\n float z0 = mix(sourceZ, targetZ, dir);\n float r = mix(ratio, 1.0 - ratio, dir);\n return sqrt(r * (p2 - r)) * dh + z0;\n}\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nfloat getSegmentRatio(float index) {\n return smoothstep(0.0, 1.0, index / (numSegments - 1.0));\n}\n\nvec3 interpolateFlat(vec3 source, vec3 target, float segmentRatio) {\n float distance = length(source.xy - target.xy);\n float z = paraboloid(distance, source.z, target.z, segmentRatio);\n\n float tiltAngle = radians(instanceTilts);\n vec2 tiltDirection = normalize(target.xy - source.xy);\n vec2 tilt = vec2(-tiltDirection.y, tiltDirection.x) * z * sin(tiltAngle);\n\n return vec3(\n mix(source.xy, target.xy, segmentRatio) + tilt,\n z * cos(tiltAngle)\n );\n}\nfloat getAngularDist (vec2 source, vec2 target) {\n vec2 sourceRadians = radians(source);\n vec2 targetRadians = radians(target);\n vec2 sin_half_delta = sin((sourceRadians - targetRadians) / 2.0);\n vec2 shd_sq = sin_half_delta * sin_half_delta;\n\n float a = shd_sq.y + cos(sourceRadians.y) * cos(targetRadians.y) * shd_sq.x;\n return 2.0 * asin(sqrt(a));\n}\n\nvec3 interpolateGreatCircle(vec3 source, vec3 target, vec3 source3D, vec3 target3D, float angularDist, float t) {\n vec2 lngLat;\n if(abs(angularDist - PI) < 0.001) {\n lngLat = (1.0 - t) * source.xy + t * target.xy;\n } else {\n float a = sin((1.0 - t) * angularDist);\n float b = sin(t * angularDist);\n vec3 p = source3D.yxz * a + target3D.yxz * b;\n lngLat = degrees(vec2(atan(p.y, -p.x), atan(p.z, length(p.xy))));\n }\n\n float z = paraboloid(angularDist * EARTH_RADIUS, source.z, target.z, t);\n\n return vec3(lngLat, z);\n}\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n float segmentIndex = positions.x;\n float segmentRatio = getSegmentRatio(segmentIndex);\n float prevSegmentRatio = getSegmentRatio(max(0.0, segmentIndex - 1.0));\n float nextSegmentRatio = getSegmentRatio(min(numSegments - 1.0, segmentIndex + 1.0));\n float indexDir = mix(-1.0, 1.0, step(segmentIndex, 0.0));\n isValid = 1.0;\n\n uv = vec2(segmentRatio, positions.y);\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n\n vec4 curr;\n vec4 next;\n vec3 source;\n vec3 target;\n\n if ((greatCircle || project_uProjectionMode == PROJECTION_MODE_GLOBE) && project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n source = project_globe_(vec3(instanceSourcePositions.xy, 0.0));\n target = project_globe_(vec3(instanceTargetPositions.xy, 0.0));\n float angularDist = getAngularDist(instanceSourcePositions.xy, instanceTargetPositions.xy);\n\n vec3 prevPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, prevSegmentRatio);\n vec3 currPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, segmentRatio);\n vec3 nextPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, nextSegmentRatio);\n\n if (abs(currPos.x - prevPos.x) > 180.0) {\n indexDir = -1.0;\n isValid = 0.0;\n } else if (abs(currPos.x - nextPos.x) > 180.0) {\n indexDir = 1.0;\n isValid = 0.0;\n }\n nextPos = indexDir < 0.0 ? prevPos : nextPos;\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n\n if (isValid == 0.0) {\n nextPos.x += nextPos.x > 0.0 ? -360.0 : 360.0;\n float t = ((currPos.x > 0.0 ? 180.0 : -180.0) - currPos.x) / (nextPos.x - currPos.x);\n currPos = mix(currPos, nextPos, t);\n segmentRatio = mix(segmentRatio, nextSegmentRatio, t);\n }\n\n vec3 currPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, segmentRatio);\n vec3 nextPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, nextSegmentRatio);\n \n curr = project_position_to_clipspace(currPos, currPos64Low, vec3(0.0), geometry.position);\n next = project_position_to_clipspace(nextPos, nextPos64Low, vec3(0.0));\n \n } else {\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n if (useShortestPath) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n\n float deltaLng = target_world.x - source_world.x;\n if (deltaLng > 180.) target_world.x -= 360.;\n if (deltaLng < -180.) source_world.x -= 360.;\n }\n source = project_position(source_world, instanceSourcePositions64Low);\n target = project_position(target_world, instanceTargetPositions64Low);\n float antiMeridianX = 0.0;\n\n if (useShortestPath) {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n antiMeridianX = -(project_uCoordinateOrigin.x + 180.) / 360. * TILE_SIZE;\n }\n float thresholdRatio = (antiMeridianX - source.x) / (target.x - source.x);\n\n if (prevSegmentRatio <= thresholdRatio && nextSegmentRatio > thresholdRatio) {\n isValid = 0.0;\n indexDir = sign(segmentRatio - thresholdRatio);\n segmentRatio = thresholdRatio;\n }\n }\n\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n vec3 currPos = interpolateFlat(source, target, segmentRatio);\n vec3 nextPos = interpolateFlat(source, target, nextSegmentRatio);\n\n if (useShortestPath) {\n if (nextPos.x < antiMeridianX) {\n currPos.x += TILE_SIZE;\n nextPos.x += TILE_SIZE;\n }\n }\n\n curr = project_common_position_to_clipspace(vec4(currPos, 1.0));\n next = project_common_position_to_clipspace(vec4(nextPos, 1.0));\n geometry.position = vec4(currPos, 1.0);\n }\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset((next.xy - curr.xy) * indexDir, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = curr + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vec4 color = mix(instanceSourceColors, instanceTargetColors, segmentRatio);\n vColor = vec4(color.rgb, color.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#define SHADER_NAME arc-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nvoid main(void) {\n if (isValid == 0.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n geometry.uv = uv;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[c.a,u.a]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instanceSourcePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getSourcePosition"},instanceTargetPositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getTargetPosition"},instanceSourceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getSourceColor",defaultValue:f},instanceTargetColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getTargetColor",defaultValue:f},instanceWidths:{size:1,transition:!0,accessor:"getWidth",defaultValue:1},instanceHeights:{size:1,transition:!0,accessor:"getHeight",defaultValue:1},instanceTilts:{size:1,transition:!0,accessor:"getTilt",defaultValue:0}})}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,r=e.changeFlags;if(Object(a.a)(Object(o.a)(A.prototype),"updateState",this).call(this,{props:t,oldProps:n,changeFlags:r}),r.extensionsChanged){var i,s=this.context.gl;null===(i=this.state.model)||void 0===i||i.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,A=this.props,n=A.widthUnits,r=A.widthScale,i=A.widthMinPixels,o=A.widthMaxPixels,a=A.greatCircle,s=A.wrapLongitude;this.state.model.setUniforms(t).setUniforms({greatCircle:a,widthUnits:l.d[n],widthScale:r,widthMinPixels:i,widthMaxPixels:o,useShortestPath:s}).draw()}},{key:"_getModel",value:function(e){for(var t=[],A=0;A<50;A++)t=t.concat([A,1,0,A,-1,0]);var r=new C.a(e,Object(n.a)({},this.getShaders(),{id:this.props.id,geometry:new h.a({drawMode:5,attributes:{positions:new Float32Array(t)}}),isInstanced:!0}));return r.setUniforms({numSegments:50}),r}},{key:"wrapLongitude",get:function(){return!1}}]),A}(I.a);B.layerName="ArcLayer",B.defaultProps=d},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(16),a=A(17),s=A(9),g=A(10),c=A(575),u=A(655),l=A(576),I=A(36),C=A(384),h=A(422),f=A(135);A.d(t,"a",(function(){return E}));var d=[0,0,0,255],B=[0,0,1],p={sizeUnits:"pixels",pointSize:{type:"number",min:0,value:10},getPosition:{type:"accessor",value:function(e){return e.position}},getNormal:{type:"accessor",value:B},getColor:{type:"accessor",value:d},material:!0,radiusPixels:{deprecatedFor:"pointSize"}};var E=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"getShaders",value:function(){return Object(a.a)(Object(o.a)(A.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME point-cloud-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 instanceNormals;\nattribute vec4 instanceColors;\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusPixels;\nuniform int sizeUnits;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.normal = project_normal(instanceNormals);\n unitPosition = positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n vec3 offset = vec3(positions.xy * project_size_to_pixel(radiusPixels, sizeUnits), 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.), geometry.position);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 lightColor = lighting_getLightColor(instanceColors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#define SHADER_NAME point-cloud-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition);\n\n if (distToCenter > 1.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[c.a,u.a,l.a]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceNormals:{size:3,transition:!0,accessor:"getNormal",defaultValue:B},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:d}})}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,r=e.changeFlags;if(Object(a.a)(Object(o.a)(A.prototype),"updateState",this).call(this,{props:t,oldProps:n,changeFlags:r}),r.extensionsChanged){var i,s=this.context.gl;null===(i=this.state.model)||void 0===i||i.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}r.dataChanged&&function(e){var t=e.header,A=e.attributes;t&&A&&(e.length=t.vertexCount,A.POSITION&&(A.instancePositions=A.POSITION),A.NORMAL&&(A.instanceNormals=A.NORMAL),A.COLOR_0&&(A.instanceColors=A.COLOR_0))}(t.data)}},{key:"draw",value:function(e){var t=e.uniforms,A=this.props,n=A.pointSize,r=A.sizeUnits;this.state.model.setUniforms(t).setUniforms({sizeUnits:I.d[r],radiusPixels:n}).draw()}},{key:"_getModel",value:function(e){for(var t=[],A=0;A<3;A++){var r=A/3*Math.PI*2;t.push(2*Math.cos(r),2*Math.sin(r),0)}return new h.a(e,Object(n.a)({},this.getShaders(),{id:this.props.id,geometry:new f.a({drawMode:4,attributes:{positions:new Float32Array(t)}}),isInstanced:!0}))}}]),A}(C.a);E.layerName="PointCloudLayer",E.defaultProps=p},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(16),a=A(17),s=A(9),g=A(10),c=A(41),u=A(575),l=A(655),I=A(576),C=A(384),h=A(135),f=A(18),d=A(232),B=A(422),p=A(718),E=A(427),Q=A(291);function y(e,t){(e.COLOR_0||e.colors)&&t||(e.colors={constant:!0,value:new Float32Array([1,1,1])}),c.a.assert(e.positions||e.POSITION,'no "postions" or "POSITION" attribute in mesh')}function v(e,t){if(e.attributes)return y(e.attributes,t),e instanceof h.a?e:new h.a(e);if(e.positions||e.POSITION)return y(e,t),new h.a({attributes:e});throw Error("Invalid mesh")}A.d(t,"a",(function(){return b}));var m={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}},b=function(e){Object(s.a)(A,e);var t=Object(g.a)(A);function A(){return Object(r.a)(this,A),t.apply(this,arguments)}return Object(i.a)(A,[{key:"getShaders",value:function(){var e=!Object(f.j)(this.context.gl),t={};return Object(p.b)(this.context.gl,E.a.GLSL_DERIVATIVES)&&(t.DERIVATIVES_AVAILABLE=1),Object(a.a)(Object(o.a)(A.prototype),"getShaders",this).call(this,{vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[u.a,l.b,I.a],transpileToGLSL100:e,defines:t})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:Q.a}),this.setState({emptyTexture:new d.a(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,r=e.changeFlags;if(Object(a.a)(Object(o.a)(A.prototype),"updateState",this).call(this,{props:t,oldProps:n,changeFlags:r}),t.mesh!==n.mesh||r.extensionsChanged){var i;if(null===(i=this.state.model)||void 0===i||i.delete(),t.mesh){this.state.model=this.getModel(t.mesh);var s=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(s.NORMAL||s.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==n.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}},{key:"finalizeState",value:function(){Object(a.a)(Object(o.a)(A.prototype),"finalizeState",this).call(this),this.state.emptyTexture.delete()}},{key:"draw",value:function(e){var t=e.uniforms;if(this.state.model){var A=this.context.viewport,n=this.props,r=n.sizeScale,i=n.coordinateSystem,o=n._instanced;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||Object(Q.b)(A,i),flatShading:!this.state.hasNormals}).draw()}}},{key:"getModel",value:function(e){var t=new B.a(this.context.gl,Object(n.a)({},this.getShaders(),{id:this.props.id,geometry:v(e,this.props._useMeshColors),isInstanced:!0})),A=this.props.texture,r=this.state.emptyTexture;return t.setUniforms({sampler:A||r,hasTexture:Boolean(A)}),t}},{key:"setTexture",value:function(e){var t=this.state,A=t.emptyTexture,n=t.model;null===n||void 0===n||n.setUniforms({sampler:e||A,hasTexture:Boolean(e)})}}]),A}(C.a);b.layerName="SimpleMeshLayer",b.defaultProps=m},function(e,t,A){"use strict";A.r(t);function n(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function r(e,t,A){void 0===A&&(A={});for(var r=0,i=e;r<i.length;r++){var o=i[r];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var a=0;a<o[o.length-1].length;a++)if(o[o.length-1][a]!==o[0][a])throw new Error("First and last Position are not equivalent.")}return n({type:"Polygon",coordinates:e},t,A)}function i(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)}var o=A(179),a=A(512);function s(e){if(!e)throw new Error("coord is required");if(!Array.isArray(e)){if("Feature"===e.type&&null!==e.geometry&&"Point"===e.geometry.type)return e.geometry.coordinates;if("Point"===e.type)return e.coordinates}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return e;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function g(e){var t=e*Math.PI/180;return Math.tan(t)}t.default=function(e,t,A,n){var c,u=(n=n||{}).steps||64,l=n.units||"kilometers",I=n.angle||0,C=n.pivot||e,h=n.properties||e.properties||{};if(!e)throw new Error("center is required");if(!t)throw new Error("xSemiAxis is required");if(!A)throw new Error("ySemiAxis is required");if(!(c=n)||c.constructor!==Object)throw new Error("options must be an object");if(!i(u))throw new Error("steps must be a number");if(!i(I))throw new Error("angle must be a number");var f=s(e);if("degrees"===l)var d=I%360*Math.PI/180;else t=Object(o.a)(e,t,90,{units:l}),A=Object(o.a)(e,A,0,{units:l}),t=s(t)[0]-f[0],A=s(A)[1]-f[1];for(var B=[],p=0;p<u;p+=1){var E=-360*p/u,Q=t*A/Math.sqrt(Math.pow(A,2)+Math.pow(t,2)*Math.pow(g(E),2)),y=t*A/Math.sqrt(Math.pow(t,2)+Math.pow(A,2)/Math.pow(g(E),2));if(E<-90&&E>=-270&&(Q=-Q),E<-180&&E>=-360&&(y=-y),"degrees"===l){var v=Q*Math.cos(d)+y*Math.sin(d),m=y*Math.cos(d)-Q*Math.sin(d);Q=v,y=m}B.push([Q+f[0],y+f[1]])}return B.push(B[0]),"degrees"===l?r([B],h):Object(a.default)(r([B],h),I,{pivot:C})}},function(e,t,A){"use strict";A.r(t);var n=A(40),r=A(165),i=A(113),o=A(148),a=A(157),s=A(207),g=A(69),c=A(201),u=A(468),l=A(136),I=A(469),C=A(160),h=A(66),f=A(51),d=A(0);function B(e){var t=d.useState(e),A=t[0],n=t[1],r=e||A;return d.useEffect((function(){null==A&&n("mui-".concat(Math.round(1e5*Math.random())))}),[A]),r}var p=A(200);A.d(t,"capitalize",(function(){return n.a})),A.d(t,"createChainedFunction",(function(){return r.a})),A.d(t,"createSvgIcon",(function(){return i.a})),A.d(t,"debounce",(function(){return o.a})),A.d(t,"deprecatedPropType",(function(){return a.a})),A.d(t,"isMuiElement",(function(){return s.a})),A.d(t,"ownerDocument",(function(){return g.a})),A.d(t,"ownerWindow",(function(){return c.a})),A.d(t,"requirePropFactory",(function(){return u.a})),A.d(t,"setRef",(function(){return l.a})),A.d(t,"unsupportedProp",(function(){return I.a})),A.d(t,"useControlled",(function(){return C.a})),A.d(t,"useEventCallback",(function(){return h.a})),A.d(t,"useForkRef",(function(){return f.a})),A.d(t,"unstable_useId",(function(){return B})),A.d(t,"useIsFocusVisible",(function(){return p.a}))},function(e,t,A){"use strict";var n=A(329),r="\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n";A.d(t,"a",(function(){return s})),A.d(t,"b",(function(){return g}));var i={};function o(e){var t=e.ambient,A=void 0===t?.35:t,n=e.diffuse,r=void 0===n?.6:n,i=e.shininess,o=void 0===i?32:i,a=e.specularColor;return{lighting_uAmbient:A,lighting_uDiffuse:r,lighting_uShininess:o,lighting_uSpecularColor:(void 0===a?[30,30,30]:a).map((function(e){return e/255}))}}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;if(!("material"in e))return{};var t=e.material;return t?o(t):{lighting_uEnabled:!1}}var s={name:"gouraud-lighting",dependencies:[n.a],vs:r,defines:{LIGHTING_VERTEX:1},getUniforms:a},g={name:"phong-lighting",dependencies:[n.a],fs:r,defines:{LIGHTING_FRAGMENT:1},getUniforms:a}},,,,,,function(e,t,A){"use strict";var n=A(855),r=A(356),i=A(356),o=A(172).buildOptions,a=A(858);t.parse=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=arguments.length>2?arguments[2]:void 0;if(A){!0===A&&(A={});var s=a.validate(e,A);if(!0!==s)throw Error(s.err.msg)}t.parseTrueNumberOnly&&!1!==t.parseNodeValue&&!t.numParseOptions&&(t.numParseOptions={leadingZeros:!1});var g=o(t,i.defaultOptions,i.props),c=r.getTraversalObj(e,g);return n.convertToJson(c,g)},t.convertTonimn=A(859).convert2nimn,t.getTraversalObj=r.getTraversalObj,t.convertToJson=n.convertToJson,t.convertToJsonString=A(860).convertToJsonString,t.validate=a.validate,t.j2xParser=A(861),t.parseToNimn=function(e,A,n){return t.convertTonimn(t.getTraversalObj(e,n),A,n)}},function(e,t,A){"use strict";A.d(t,"a",(function(){return s}));var n=A(62),r={};function i(e,t){var A;r[e]=!0,void 0!==t&&(A=t,n.global.console&&n.global.console.error&&n.global.console.error(A))}var o=function e(t){var A=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(var n=0;n<this.attribs.length;n++){var r=new e.VertexAttrib(A);this.attribs[n]=r}this.maxAttrib=0};(o.VertexAttrib=function(e){this.enabled=!1,this.buffer=null,this.size=4,this.type=5126,this.normalized=!1,this.stride=16,this.offset=0,this.cached="",this.recache()}).prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var a=function(e){var t=this;this.gl=e,function(e){var t=e.getError;e.getError=function(){var A;do{0!==(A=t.apply(e))&&(r[A]=!0)}while(0!==A);for(A in r)if(r[A])return delete r[A],parseInt(A,10);return 0}}(e);var A=this.original={getParameter:e.getParameter,enableVertexAttribArray:e.enableVertexAttribArray,disableVertexAttribArray:e.disableVertexAttribArray,bindBuffer:e.bindBuffer,getVertexAttrib:e.getVertexAttrib,vertexAttribPointer:e.vertexAttribPointer};e.getParameter=function(e){return e===t.VERTEX_ARRAY_BINDING_OES?t.currentVertexArrayObject===t.defaultVertexArrayObject?null:t.currentVertexArrayObject:A.getParameter.apply(this,arguments)},e.enableVertexAttribArray=function(e){var n=t.currentVertexArrayObject;n.maxAttrib=Math.max(n.maxAttrib,e);var r=n.attribs[e];return r.enabled=!0,A.enableVertexAttribArray.apply(this,arguments)},e.disableVertexAttribArray=function(e){var n=t.currentVertexArrayObject;n.maxAttrib=Math.max(n.maxAttrib,e);var r=n.attribs[e];return r.enabled=!1,A.disableVertexAttribArray.apply(this,arguments)},e.bindBuffer=function(e,n){switch(e){case 34962:t.currentArrayBuffer=n;break;case 34963:t.currentVertexArrayObject.elementArrayBuffer=n}return A.bindBuffer.apply(this,arguments)},e.getVertexAttrib=function(e,n){var r=t.currentVertexArrayObject,i=r.attribs[e];switch(n){case 34975:return i.buffer;case 34338:return i.enabled;case 34339:return i.size;case 34340:return i.stride;case 34341:return i.type;case 34922:return i.normalized;default:return A.getVertexAttrib.apply(this,arguments)}},e.vertexAttribPointer=function(e,n,r,i,o,a){var s=t.currentVertexArrayObject;s.maxAttrib=Math.max(s.maxAttrib,e);var g=s.attribs[e];return g.buffer=t.currentArrayBuffer,g.size=n,g.type=r,g.normalized=i,g.stride=o,g.offset=a,g.recache(),A.vertexAttribPointer.apply(this,arguments)},e.instrumentExtension&&e.instrumentExtension(this,"OES_vertex_array_object"),e.canvas&&e.canvas.addEventListener("webglcontextrestored",(function(){var e;e="OESVertexArrayObject emulation library context restored",n.global.console&&n.global.console.log&&n.global.console.log(e),t.reset_()}),!0),this.reset_()};function s(e){if("function"!==typeof e.createVertexArray){var t=e.getSupportedExtensions;e.getSupportedExtensions=function(){var e=t.call(this)||[];return e.indexOf("OES_vertex_array_object")<0&&e.push("OES_vertex_array_object"),e};var A=e.getExtension;e.getExtension=function(t){var n=A.call(this,t);return n||("OES_vertex_array_object"!==t?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new a(this)),this.__OESVertexArrayObject))}}}a.prototype.VERTEX_ARRAY_BINDING_OES=34229,a.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(var e=0;e<this.vertexArrayObjects.length;++e)this.vertexArrayObjects.isAlive=!1;var t=this.gl;this.maxVertexAttribs=t.getParameter(34921),this.defaultVertexArrayObject=new o(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)},a.prototype.createVertexArrayOES=function(){var e=new o(this);return this.vertexArrayObjects.push(e),e},a.prototype.deleteVertexArrayOES=function(e){e.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(e),1),this.currentVertexArrayObject===e&&this.bindVertexArrayOES(null)},a.prototype.isVertexArrayOES=function(e){return!!(e&&e instanceof o&&e.hasBeenBound&&e.ext===this)},a.prototype.bindVertexArrayOES=function(e){var t=this.gl;if(!e||e.isAlive){var A=this.original,n=this.currentVertexArrayObject;this.currentVertexArrayObject=e||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var r=this.currentVertexArrayObject;if(n!==r){n&&r.elementArrayBuffer===n.elementArrayBuffer||A.bindBuffer.call(t,34963,r.elementArrayBuffer);for(var o=this.currentArrayBuffer,a=Math.max(n?n.maxAttrib:0,r.maxAttrib),s=0;s<=a;s++){var g=r.attribs[s],c=n?n.attribs[s]:null;if(n&&g.enabled===c.enabled||(g.enabled?A.enableVertexAttribArray.call(t,s):A.disableVertexAttribArray.call(t,s)),g.enabled){var u=!1;n&&g.buffer===c.buffer||(o!==g.buffer&&(A.bindBuffer.call(t,34962,g.buffer),o=g.buffer),u=!0),(u||g.cached!==c.cached)&&A.vertexAttribPointer.call(t,s,g.size,g.type,g.normalized,g.stride,g.offset)}}this.currentArrayBuffer!==o&&A.bindBuffer.call(t,34962,this.currentArrayBuffer)}}else i(1282,"bindVertexArrayOES: attempt to bind deleted arrayObject")}},function(e,t,A){"use strict";A.d(t,"a",(function(){return g})),A.d(t,"b",(function(){return c}));var n=A(2),r=A(232),i=A(664),o=A(665),a=A(161),s=A(26);function g(e,t){Object(s.a)(e instanceof r.a||e instanceof i.a||e instanceof o.a);var A=e.constructor,n=e.gl,a=e.width,g=e.height,c=e.format,u=e.type,l=e.dataFormat,I=e.border,C=e.mipmaps;return new A(n,Object.assign({width:a,height:g,format:c,type:u,dataFormat:l,border:I,mipmaps:C},t))}function c(e,t){var A=e.gl,r=e.width,i=e.height,o=e.id;return new a.a(A,Object.assign({},t,{id:"framebuffer-for-".concat(o),width:r,height:i,attachments:Object(n.a)({},36064,e)}))}},function(e,t,A){"use strict";A.d(t,"a",(function(){return C}));var n=A(3),r=A.n(n),i=A(12),o=A(1),a=A(4),s=A(24),g=A(9),c=A(10),u=A(18),l=A(124),I=[34069,34070,34071,34072,34073,34074],C=function(e){Object(g.a)(A,e);var t=Object(c.a)(A);function A(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(o.a)(this,A),Object(u.b)(e),(n=t.call(this,e,Object.assign({},r,{target:34067}))).initialize(r),Object.seal(Object(s.a)(n)),n}return Object(a.a)(A,[{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=t.mipmaps,n=void 0===A||A,r=t.parameters,i=void 0===r?{}:r;return this.opts=t,this.setCubeMapImageData(t).then((function(){e.loaded=!0,n&&e.generateMipmap(t),e.setParameters(i)})),this}},{key:"subImage",value:function(e){var t=e.face,A=e.data,n=e.x,r=void 0===n?0:n,i=e.y,o=void 0===i?0:i,a=e.mipmapLevel,s=void 0===a?0:a;return this._subImage({target:t,data:A,x:r,y:o,mipmapLevel:s})}},{key:"setCubeMapImageData",value:function(){var e=Object(i.a)(r.a.mark((function e(t){var A,n,i,o,a,s,g,c,l,C,h,f,d,B=this;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=t.width,n=t.height,i=t.pixels,o=t.data,a=t.border,s=void 0===a?0:a,g=t.format,c=void 0===g?6408:g,l=t.type,C=void 0===l?5121:l,h=this.gl,f=i||o,e.next=5,Promise.all(I.map((function(e){var t=f[e];return Promise.all(Array.isArray(t)?t:[t])})));case 5:d=e.sent,this.bind(),I.forEach((function(e,t){d[t].length>1&&!1!==B.opts.mipmaps&&u.k.warn("".concat(B.id," has mipmap and multiple LODs."))(),d[t].forEach((function(t,r){A&&n?h.texImage2D(e,r,c,A,n,s,c,C,t):h.texImage2D(e,r,c,c,C,t)}))})),this.unbind();case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"setImageDataForFace",value:function(e){var t=this,A=e.face,n=e.width,r=e.height,i=e.pixels,o=e.data,a=e.border,s=void 0===a?0:a,g=e.format,c=void 0===g?6408:g,u=e.type,l=void 0===u?5121:u,I=this.gl,C=i||o;return this.bind(),C instanceof Promise?C.then((function(n){return t.setImageDataForFace(Object.assign({},e,{face:A,data:n,pixels:n}))})):this.width||this.height?I.texImage2D(A,0,c,n,r,s,c,l,C):I.texImage2D(A,0,c,c,l,C),this}}]),A}(l.a);C.FACES=I},function(e,t,A){"use strict";A.d(t,"a",(function(){return l}));var n=A(1),r=A(24),i=A(4),o=A(9),a=A(10),s=A(18),g=A(124),c=A(184),u=A(80),l=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(e){var i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(n.a)(this,A),Object(s.a)(e),o=Object.assign({depth:1},o,{target:32879,unpackFlipY:!1}),(i=t.call(this,e,o)).initialize(o),Object.seal(Object(r.a)(i)),i}return Object(i.a)(A,null,[{key:"isSupported",value:function(e){return Object(s.j)(e)}}]),Object(i.a)(A,[{key:"setImageData",value:function(e){var t=this,A=e.level,n=void 0===A?0:A,r=e.dataFormat,i=void 0===r?6408:r,o=e.width,a=e.height,g=e.depth,l=void 0===g?1:g,I=e.border,C=void 0===I?0:I,h=e.format,f=e.type,d=void 0===f?5121:f,B=e.offset,p=void 0===B?0:B,E=e.data,Q=e.parameters,y=void 0===Q?{}:Q;if(this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Object(s.o)(this.gl,y,(function(){ArrayBuffer.isView(E)&&t.gl.texImage3D(t.target,n,i,o,a,l,C,h,d,E),E instanceof u.a&&(t.gl.bindBuffer(35052,E.handle),t.gl.texImage3D(t.target,n,i,o,a,l,C,h,d,p))})),E&&E.byteLength)this._trackAllocatedMemory(E.byteLength,"Texture");else{var v=c.a[this.dataFormat]||4,m=c.c[this.type]||1;this._trackAllocatedMemory(this.width*this.height*this.depth*v*m,"Texture")}return this.loaded=!0,this}}]),A}(g.a)},function(e,t,A){"use strict";A.d(t,"b",(function(){return a})),A.d(t,"a",(function(){return s}));var n=A(6),r=A(176),i=A(178),o=function(){var e=Object(i.b)();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function a(e){var t=o();e=Array.isArray(e)?e:[e];var A,i=Object(n.a)(e);try{var a=function(){var e=A.value,n=Object(r.b)(e);t.find((function(e){return n===e}))||t.unshift(n)};for(i.s();!(A=i.n()).done;)a()}catch(s){i.e(s)}finally{i.f()}}function s(){return o()}},function(e,t,A){"use strict";e.exports=r,e.exports.default=r;var n=1e20;function r(e,t,A,n,r,i){this.fontSize=e||24,this.buffer=void 0===t?3:t,this.cutoff=n||.25,this.fontFamily=r||"sans-serif",this.fontWeight=i||"normal",this.radius=A||8;var o=this.size=this.fontSize+2*this.buffer,a=o+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Uint16Array(a),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(o/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function i(e,t,A,n,r,i){for(var a=0;a<t;a++)o(e,a,t,A,n,r,i);for(var s=0;s<A;s++)o(e,s*t,1,t,n,r,i)}function o(e,t,A,r,i,o,a){var s,g,c,u;for(o[0]=0,a[0]=-n,a[1]=n,s=0;s<r;s++)i[s]=e[t+s*A];for(s=1,g=0,c=0;s<r;s++){do{u=o[g],c=(i[s]-i[u]+s*s-u*u)/(s-u)/2}while(c<=a[g]&&--g>-1);o[++g]=s,a[g]=c,a[g+1]=n}for(s=0,g=0;s<r;s++){for(;a[g+1]<s;)g++;u=o[g],e[t+s*A]=i[u]+(s-u)*(s-u)}}r.prototype._draw=function(e,t){var A,r,o,a,s,g,c,u,l,I=this.ctx.measureText(e),C=I.width,h=2*this.buffer;t&&this.useMetrics?(s=Math.floor(I.actualBoundingBoxAscent),u=this.buffer+Math.ceil(I.actualBoundingBoxAscent),g=this.buffer,c=this.buffer,A=(r=Math.min(this.size,Math.ceil(I.actualBoundingBoxRight-I.actualBoundingBoxLeft)))+h,o=(a=Math.min(this.size-g,Math.ceil(I.actualBoundingBoxAscent+I.actualBoundingBoxDescent)))+h,this.ctx.textBaseline="alphabetic"):(A=r=this.size,o=a=this.size,s=19*this.fontSize/24,g=c=0,u=this.middle,this.ctx.textBaseline="middle"),r&&a&&(this.ctx.clearRect(c,g,r,a),this.ctx.fillText(e,this.buffer,u),l=this.ctx.getImageData(c,g,r,a));var f=new Uint8ClampedArray(A*o);return function(e,t,A,r,i,o,a){o.fill(n,0,t*A),a.fill(0,0,t*A);for(var s=(t-r)/2,g=0;g<i;g++)for(var c=0;c<r;c++){var u=(g+s)*t+c+s,l=e.data[4*(g*r+c)+3]/255;if(1===l)o[u]=0,a[u]=n;else if(0===l)o[u]=n,a[u]=0;else{var I=Math.max(0,.5-l),C=Math.max(0,l-.5);o[u]=I*I,a[u]=C*C}}}(l,A,o,r,a,this.gridOuter,this.gridInner),i(this.gridOuter,A,o,this.f,this.v,this.z),i(this.gridInner,A,o,this.f,this.v,this.z),function(e,t,A,n,r,i,o){for(var a=0;a<t*A;a++){var s=Math.sqrt(n[a])-Math.sqrt(r[a]);e[a]=Math.round(255-255*(s/i+o))}}(f,A,o,this.gridOuter,this.gridInner,this.radius,this.cutoff),{data:f,metrics:{width:r,height:a,sdfWidth:A,sdfHeight:o,top:s,left:0,advance:C}}},r.prototype.draw=function(e){return this._draw(e,!1).data},r.prototype.drawWithMetrics=function(e){return this._draw(e,!0)}},function(e,t,A){"use strict";function n(e,t,A){A=A||2;var n,a,s,g,c,I,C,f=t&&t.length,d=f?t[0]*A:e.length,B=r(e,0,d,A,!0),p=[];if(!B||B.next===B.prev)return p;if(f&&(B=function(e,t,A,n){var o,a,s,g,c,I=[];for(o=0,a=t.length;o<a;o++)s=t[o]*n,g=o<a-1?t[o+1]*n:e.length,(c=r(e,s,g,n,!1))===c.next&&(c.steiner=!0),I.push(h(c));for(I.sort(u),o=0;o<I.length;o++)A=i(A=l(I[o],A),A.next);return A}(e,t,B,A)),e.length>80*A){n=s=e[0],a=g=e[1];for(var E=A;E<d;E+=A)(c=e[E])<n&&(n=c),(I=e[E+1])<a&&(a=I),c>s&&(s=c),I>g&&(g=I);C=0!==(C=Math.max(s-n,g-a))?1/C:0}return o(B,p,A,n,a,C),p}function r(e,t,A,n,r){var i,o;if(r===F(e,t,A,n)>0)for(i=t;i<A;i+=n)o=b(i,e[i],e[i+1],o);else for(i=A-n;i>=t;i-=n)o=b(i,e[i],e[i+1],o);return o&&p(o,o.next)&&(w(o),o=o.next),o}function i(e,t){if(!e)return e;t||(t=e);var A,n=e;do{if(A=!1,n.steiner||!p(n,n.next)&&0!==B(n.prev,n,n.next))n=n.next;else{if(w(n),(n=t=n.prev)===n.next)break;A=!0}}while(A||n!==t);return t}function o(e,t,A,n,r,u,l){if(e){!l&&u&&function(e,t,A,n){var r=e;do{null===r.z&&(r.z=C(r.x,r.y,t,A,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==e);r.prevZ.nextZ=null,r.prevZ=null,function(e){var t,A,n,r,i,o,a,s,g=1;do{for(A=e,e=null,i=null,o=0;A;){for(o++,n=A,a=0,t=0;t<g&&(a++,n=n.nextZ);t++);for(s=g;a>0||s>0&&n;)0!==a&&(0===s||!n||A.z<=n.z)?(r=A,A=A.nextZ,a--):(r=n,n=n.nextZ,s--),i?i.nextZ=r:e=r,r.prevZ=i,i=r;A=n}i.nextZ=null,g*=2}while(o>1)}(r)}(e,n,r,u);for(var I,h,f=e;e.prev!==e.next;)if(I=e.prev,h=e.next,u?s(e,n,r,u):a(e))t.push(I.i/A),t.push(e.i/A),t.push(h.i/A),w(e),e=h.next,f=h.next;else if((e=h)===f){l?1===l?o(e=g(i(e),t,A),t,A,n,r,u,2):2===l&&c(e,t,A,n,r,u):o(i(e),t,A,n,r,u,1);break}}}function a(e){var t=e.prev,A=e,n=e.next;if(B(t,A,n)>=0)return!1;for(var r=e.next.next;r!==e.prev;){if(f(t.x,t.y,A.x,A.y,n.x,n.y,r.x,r.y)&&B(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function s(e,t,A,n){var r=e.prev,i=e,o=e.next;if(B(r,i,o)>=0)return!1;for(var a=r.x<i.x?r.x<o.x?r.x:o.x:i.x<o.x?i.x:o.x,s=r.y<i.y?r.y<o.y?r.y:o.y:i.y<o.y?i.y:o.y,g=r.x>i.x?r.x>o.x?r.x:o.x:i.x>o.x?i.x:o.x,c=r.y>i.y?r.y>o.y?r.y:o.y:i.y>o.y?i.y:o.y,u=C(a,s,t,A,n),l=C(g,c,t,A,n),I=e.prevZ,h=e.nextZ;I&&I.z>=u&&h&&h.z<=l;){if(I!==e.prev&&I!==e.next&&f(r.x,r.y,i.x,i.y,o.x,o.y,I.x,I.y)&&B(I.prev,I,I.next)>=0)return!1;if(I=I.prevZ,h!==e.prev&&h!==e.next&&f(r.x,r.y,i.x,i.y,o.x,o.y,h.x,h.y)&&B(h.prev,h,h.next)>=0)return!1;h=h.nextZ}for(;I&&I.z>=u;){if(I!==e.prev&&I!==e.next&&f(r.x,r.y,i.x,i.y,o.x,o.y,I.x,I.y)&&B(I.prev,I,I.next)>=0)return!1;I=I.prevZ}for(;h&&h.z<=l;){if(h!==e.prev&&h!==e.next&&f(r.x,r.y,i.x,i.y,o.x,o.y,h.x,h.y)&&B(h.prev,h,h.next)>=0)return!1;h=h.nextZ}return!0}function g(e,t,A){var n=e;do{var r=n.prev,o=n.next.next;!p(r,o)&&E(r,n,n.next,o)&&v(r,o)&&v(o,r)&&(t.push(r.i/A),t.push(n.i/A),t.push(o.i/A),w(n),w(n.next),n=e=o),n=n.next}while(n!==e);return i(n)}function c(e,t,A,n,r,a){var s=e;do{for(var g=s.next.next;g!==s.prev;){if(s.i!==g.i&&d(s,g)){var c=m(s,g);return s=i(s,s.next),c=i(c,c.next),o(s,t,A,n,r,a),void o(c,t,A,n,r,a)}g=g.next}s=s.next}while(s!==e)}function u(e,t){return e.x-t.x}function l(e,t){var A=function(e,t){var A,n=t,r=e.x,i=e.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var a=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(a<=r&&a>o){if(o=a,a===r){if(i===n.y)return n;if(i===n.next.y)return n.next}A=n.x<n.next.x?n:n.next}}n=n.next}while(n!==t);if(!A)return null;if(r===o)return A;var s,g=A,c=A.x,u=A.y,l=1/0;n=A;do{r>=n.x&&n.x>=c&&r!==n.x&&f(i<u?r:o,i,c,u,i<u?o:r,i,n.x,n.y)&&(s=Math.abs(i-n.y)/(r-n.x),v(n,e)&&(s<l||s===l&&(n.x>A.x||n.x===A.x&&I(A,n)))&&(A=n,l=s)),n=n.next}while(n!==g);return A}(e,t);if(!A)return t;var n=m(A,e),r=i(A,A.next);return i(n,n.next),t===A?r:t}function I(e,t){return B(e.prev,e,t.prev)<0&&B(t.next,e,e.next)<0}function C(e,t,A,n,r){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-A)*r)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*r)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function h(e){var t=e,A=e;do{(t.x<A.x||t.x===A.x&&t.y<A.y)&&(A=t),t=t.next}while(t!==e);return A}function f(e,t,A,n,r,i,o,a){return(r-o)*(t-a)-(e-o)*(i-a)>=0&&(e-o)*(n-a)-(A-o)*(t-a)>=0&&(A-o)*(i-a)-(r-o)*(n-a)>=0}function d(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var A=e;do{if(A.i!==e.i&&A.next.i!==e.i&&A.i!==t.i&&A.next.i!==t.i&&E(A,A.next,e,t))return!0;A=A.next}while(A!==e);return!1}(e,t)&&(v(e,t)&&v(t,e)&&function(e,t){var A=e,n=!1,r=(e.x+t.x)/2,i=(e.y+t.y)/2;do{A.y>i!==A.next.y>i&&A.next.y!==A.y&&r<(A.next.x-A.x)*(i-A.y)/(A.next.y-A.y)+A.x&&(n=!n),A=A.next}while(A!==e);return n}(e,t)&&(B(e.prev,e,t.prev)||B(e,t.prev,t))||p(e,t)&&B(e.prev,e,e.next)>0&&B(t.prev,t,t.next)>0)}function B(e,t,A){return(t.y-e.y)*(A.x-t.x)-(t.x-e.x)*(A.y-t.y)}function p(e,t){return e.x===t.x&&e.y===t.y}function E(e,t,A,n){var r=y(B(e,t,A)),i=y(B(e,t,n)),o=y(B(A,n,e)),a=y(B(A,n,t));return r!==i&&o!==a||(!(0!==r||!Q(e,A,t))||(!(0!==i||!Q(e,n,t))||(!(0!==o||!Q(A,e,n))||!(0!==a||!Q(A,t,n)))))}function Q(e,t,A){return t.x<=Math.max(e.x,A.x)&&t.x>=Math.min(e.x,A.x)&&t.y<=Math.max(e.y,A.y)&&t.y>=Math.min(e.y,A.y)}function y(e){return e>0?1:e<0?-1:0}function v(e,t){return B(e.prev,e,e.next)<0?B(e,t,e.next)>=0&&B(e,e.prev,t)>=0:B(e,t,e.prev)<0||B(e,e.next,t)<0}function m(e,t){var A=new S(e.i,e.x,e.y),n=new S(t.i,t.x,t.y),r=e.next,i=t.prev;return e.next=t,t.prev=e,A.next=r,r.prev=A,n.next=A,A.prev=n,i.next=n,n.prev=i,n}function b(e,t,A,n){var r=new S(e,t,A);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function w(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function S(e,t,A){this.i=e,this.x=t,this.y=A,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function F(e,t,A,n){for(var r=0,i=t,o=A-n;i<A;i+=n)r+=(e[o]-e[i])*(e[i+1]+e[o+1]),o=i;return r}e.exports=n,e.exports.default=n,n.deviation=function(e,t,A,n){var r=t&&t.length,i=r?t[0]*A:e.length,o=Math.abs(F(e,0,i,A));if(r)for(var a=0,s=t.length;a<s;a++){var g=t[a]*A,c=a<s-1?t[a+1]*A:e.length;o-=Math.abs(F(e,g,c,A))}var u=0;for(a=0;a<n.length;a+=3){var l=n[a]*A,I=n[a+1]*A,C=n[a+2]*A;u+=Math.abs((e[l]-e[C])*(e[I+1]-e[l+1])-(e[l]-e[I])*(e[C+1]-e[l+1]))}return 0===o&&0===u?0:Math.abs((u-o)/o)},n.flatten=function(e){for(var t=e[0][0].length,A={vertices:[],holes:[],dimensions:t},n=0,r=0;r<e.length;r++){for(var i=0;i<e[r].length;i++)for(var o=0;o<t;o++)A.vertices.push(e[r][i][o]);r>0&&(n+=e[r-1].length,A.holes.push(n))}return A}},function(e,t,A){var n;!function(){var A=function(){var e={defaultNoDataValue:-34027999387901484e22,decode:function(i,o){var a=(o=o||{}).encodedMaskData||null===o.encodedMaskData,s=r(i,o.inputOffset||0,a),g=null!==o.noDataValue?o.noDataValue:e.defaultNoDataValue,c=t(s,o.pixelType||Float32Array,o.encodedMaskData,g,o.returnMask),u={width:s.width,height:s.height,pixelData:c.resultPixels,minValue:c.minValue,maxValue:s.pixels.maxValue,noDataValue:g};return c.resultMask&&(u.maskData=c.resultMask),o.returnEncodedMask&&s.mask&&(u.encodedMaskData=s.mask.bitset?s.mask.bitset:null),o.returnFileInfo&&(u.fileInfo=A(s),o.computeUsedBitDepths&&(u.fileInfo.bitDepths=n(s))),u}},t=function(e,t,A,n,r){var o,a,s,g=0,c=e.pixels.numBlocksX,u=e.pixels.numBlocksY,l=Math.floor(e.width/c),I=Math.floor(e.height/u),C=2*e.maxZError,h=Number.MAX_VALUE;A=A||(e.mask?e.mask.bitset:null),a=new t(e.width*e.height),r&&A&&(s=new Uint8Array(e.width*e.height));for(var f,d,B=new Float32Array(l*I),p=0;p<=u;p++){var E=p!==u?I:e.height%u;if(0!==E)for(var Q=0;Q<=c;Q++){var y=Q!==c?l:e.width%c;if(0!==y){var v,m,b,w,S=p*e.width*I+Q*l,F=e.width-y,R=e.pixels.blocks[g];if(R.encoding<2?(0===R.encoding?v=R.rawData:(i(R.stuffedData,R.bitsPerPixel,R.numValidPixels,R.offset,C,B,e.pixels.maxValue),v=B),m=0):b=2===R.encoding?0:R.offset,A)for(d=0;d<E;d++){for(7&S&&(w=A[S>>3],w<<=7&S),f=0;f<y;f++)7&S||(w=A[S>>3]),128&w?(s&&(s[S]=1),h=h>(o=R.encoding<2?v[m++]:b)?o:h,a[S++]=o):(s&&(s[S]=0),a[S++]=n),w<<=1;S+=F}else if(R.encoding<2)for(d=0;d<E;d++){for(f=0;f<y;f++)h=h>(o=v[m++])?o:h,a[S++]=o;S+=F}else for(h=h>b?b:h,d=0;d<E;d++){for(f=0;f<y;f++)a[S++]=b;S+=F}if(1===R.encoding&&m!==R.numValidPixels)throw"Block and Mask do not match";g++}}}return{resultPixels:a,resultMask:s,minValue:h}},A=function(e){return{fileIdentifierString:e.fileIdentifierString,fileVersion:e.fileVersion,imageType:e.imageType,height:e.height,width:e.width,maxZError:e.maxZError,eofOffset:e.eofOffset,mask:e.mask?{numBlocksX:e.mask.numBlocksX,numBlocksY:e.mask.numBlocksY,numBytes:e.mask.numBytes,maxValue:e.mask.maxValue}:null,pixels:{numBlocksX:e.pixels.numBlocksX,numBlocksY:e.pixels.numBlocksY,numBytes:e.pixels.numBytes,maxValue:e.pixels.maxValue,noDataValue:e.noDataValue}}},n=function(e){for(var t=e.pixels.numBlocksX*e.pixels.numBlocksY,A={},n=0;n<t;n++){var r=e.pixels.blocks[n];0===r.encoding?A.float32=!0:1===r.encoding?A[r.bitsPerPixel]=!0:A[0]=!0}return Object.keys(A)},r=function(e,t,A){var n={},r=new Uint8Array(e,t,10);if(n.fileIdentifierString=String.fromCharCode.apply(null,r),"CntZImage"!==n.fileIdentifierString.trim())throw"Unexpected file identifier string: "+n.fileIdentifierString;t+=10;var i=new DataView(e,t,24);if(n.fileVersion=i.getInt32(0,!0),n.imageType=i.getInt32(4,!0),n.height=i.getUint32(8,!0),n.width=i.getUint32(12,!0),n.maxZError=i.getFloat64(16,!0),t+=24,!A)if(i=new DataView(e,t,16),n.mask={},n.mask.numBlocksY=i.getUint32(0,!0),n.mask.numBlocksX=i.getUint32(4,!0),n.mask.numBytes=i.getUint32(8,!0),n.mask.maxValue=i.getFloat32(12,!0),t+=16,n.mask.numBytes>0){var o=new Uint8Array(Math.ceil(n.width*n.height/8)),a=(i=new DataView(e,t,n.mask.numBytes)).getInt16(0,!0),s=2,g=0;do{if(a>0)for(;a--;)o[g++]=i.getUint8(s++);else{var c=i.getUint8(s++);for(a=-a;a--;)o[g++]=c}a=i.getInt16(s,!0),s+=2}while(s<n.mask.numBytes);if(-32768!==a||g<o.length)throw"Unexpected end of mask RLE encoding";n.mask.bitset=o,t+=n.mask.numBytes}else 0===(n.mask.numBytes|n.mask.numBlocksY|n.mask.maxValue)&&(n.mask.bitset=new Uint8Array(Math.ceil(n.width*n.height/8)));i=new DataView(e,t,16),n.pixels={},n.pixels.numBlocksY=i.getUint32(0,!0),n.pixels.numBlocksX=i.getUint32(4,!0),n.pixels.numBytes=i.getUint32(8,!0),n.pixels.maxValue=i.getFloat32(12,!0),t+=16;var u=n.pixels.numBlocksX,l=n.pixels.numBlocksY,I=u+(n.width%u>0?1:0),C=l+(n.height%l>0?1:0);n.pixels.blocks=new Array(I*C);for(var h=0,f=0;f<C;f++)for(var d=0;d<I;d++){var B=0,p=e.byteLength-t;i=new DataView(e,t,Math.min(10,p));var E={};n.pixels.blocks[h++]=E;var Q=i.getUint8(0);if(B++,E.encoding=63&Q,E.encoding>3)throw"Invalid block encoding ("+E.encoding+")";if(2!==E.encoding){if(0!==Q&&2!==Q){if(Q>>=6,E.offsetType=Q,2===Q)E.offset=i.getInt8(1),B++;else if(1===Q)E.offset=i.getInt16(1,!0),B+=2;else{if(0!==Q)throw"Invalid block offset type";E.offset=i.getFloat32(1,!0),B+=4}if(1===E.encoding)if(Q=i.getUint8(B),B++,E.bitsPerPixel=63&Q,Q>>=6,E.numValidPixelsType=Q,2===Q)E.numValidPixels=i.getUint8(B),B++;else if(1===Q)E.numValidPixels=i.getUint16(B,!0),B+=2;else{if(0!==Q)throw"Invalid valid pixel count type";E.numValidPixels=i.getUint32(B,!0),B+=4}}var y;if(t+=B,3!==E.encoding)if(0===E.encoding){var v=(n.pixels.numBytes-1)/4;if(v!==Math.floor(v))throw"uncompressed block has invalid length";y=new ArrayBuffer(4*v),new Uint8Array(y).set(new Uint8Array(e,t,4*v));var m=new Float32Array(y);E.rawData=m,t+=4*v}else if(1===E.encoding){var b=Math.ceil(E.numValidPixels*E.bitsPerPixel/8),w=Math.ceil(b/4);y=new ArrayBuffer(4*w),new Uint8Array(y).set(new Uint8Array(e,t,b)),E.stuffedData=new Uint32Array(y),t+=b}}else t++}return n.eofOffset=t,n},i=function(e,t,A,n,r,i,o){var a,s,g,c=(1<<t)-1,u=0,l=0,I=Math.ceil((o-n)/r),C=4*e.length-Math.ceil(t*A/8);for(e[e.length-1]<<=8*C,a=0;a<A;a++){if(0===l&&(g=e[u++],l=32),l>=t)s=g>>>l-t&c,l-=t;else{var h=t-l;s=(g&c)<<h&c,s+=(g=e[u++])>>>(l=32-h)}i[a]=s<I?n+s*r:o}return i};return e}(),r=function(){"use strict";var e=function(e,t,A,n,r,i,o,a){var s,g,c,u,l,I=(1<<A)-1,C=0,h=0,f=4*e.length-Math.ceil(A*n/8);if(e[e.length-1]<<=8*f,r)for(s=0;s<n;s++)0===h&&(c=e[C++],h=32),h>=A?(g=c>>>h-A&I,h-=A):(g=(c&I)<<(u=A-h)&I,g+=(c=e[C++])>>>(h=32-u)),t[s]=r[g];else for(l=Math.ceil((a-i)/o),s=0;s<n;s++)0===h&&(c=e[C++],h=32),h>=A?(g=c>>>h-A&I,h-=A):(g=(c&I)<<(u=A-h)&I,g+=(c=e[C++])>>>(h=32-u)),t[s]=g<l?i+g*o:a},t=function(e,t,A,n,r,i){var o,a=(1<<t)-1,s=0,g=0,c=0,u=0,l=0,I=[],C=4*e.length-Math.ceil(t*A/8);e[e.length-1]<<=8*C;var h=Math.ceil((i-n)/r);for(g=0;g<A;g++)0===u&&(o=e[s++],u=32),u>=t?(l=o>>>u-t&a,u-=t):(l=(o&a)<<(c=t-u)&a,l+=(o=e[s++])>>>(u=32-c)),I[g]=l<h?n+l*r:i;return I.unshift(n),I},A=function(e,t,A,n,r,i,o,a){var s,g,c,u,l=(1<<A)-1,I=0,C=0,h=0;if(r)for(s=0;s<n;s++)0===C&&(c=e[I++],C=32,h=0),C>=A?(g=c>>>h&l,C-=A,h+=A):(g=c>>>h&l,C=32-(u=A-C),g|=((c=e[I++])&(1<<u)-1)<<A-u,h=u),t[s]=r[g];else{var f=Math.ceil((a-i)/o);for(s=0;s<n;s++)0===C&&(c=e[I++],C=32,h=0),C>=A?(g=c>>>h&l,C-=A,h+=A):(g=c>>>h&l,C=32-(u=A-C),g|=((c=e[I++])&(1<<u)-1)<<A-u,h=u),t[s]=g<f?i+g*o:a}return t},n=function(e,t,A,n,r,i){var o,a=(1<<t)-1,s=0,g=0,c=0,u=0,l=0,I=0,C=[],h=Math.ceil((i-n)/r);for(g=0;g<A;g++)0===u&&(o=e[s++],u=32,I=0),u>=t?(l=o>>>I&a,u-=t,I+=t):(l=o>>>I&a,u=32-(c=t-u),l|=((o=e[s++])&(1<<c)-1)<<t-c,I=c),C[g]=l<h?n+l*r:i;return C.unshift(n),C},r=function(e,t,A,n){var r,i,o,a,s=(1<<A)-1,g=0,c=0,u=4*e.length-Math.ceil(A*n/8);for(e[e.length-1]<<=8*u,r=0;r<n;r++)0===c&&(o=e[g++],c=32),c>=A?(i=o>>>c-A&s,c-=A):(i=(o&s)<<(a=A-c)&s,i+=(o=e[g++])>>>(c=32-a)),t[r]=i;return t},i=function(e,t,A,n){var r,i,o,a,s=(1<<A)-1,g=0,c=0,u=0;for(r=0;r<n;r++)0===c&&(o=e[g++],c=32,u=0),c>=A?(i=o>>>u&s,c-=A,u+=A):(i=o>>>u&s,c=32-(a=A-c),i|=((o=e[g++])&(1<<a)-1)<<A-a,u=a),t[r]=i;return t},o={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(e){for(var t=65535,A=65535,n=e.length,r=Math.floor(n/2),i=0;r;){var o=r>=359?359:r;r-=o;do{t+=e[i++]<<8,A+=t+=e[i++]}while(--o);t=(65535&t)+(t>>>16),A=(65535&A)+(A>>>16)}return 1&n&&(A+=t+=e[i]<<8),((A=(65535&A)+(A>>>16))<<16|(t=(65535&t)+(t>>>16)))>>>0},readHeaderInfo:function(e,t){var A=t.ptr,n=new Uint8Array(e,A,6),r={};if(r.fileIdentifierString=String.fromCharCode.apply(null,n),0!==r.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+r.fileIdentifierString;A+=6;var i,o=new DataView(e,A,8),a=o.getInt32(0,!0);if(r.fileVersion=a,A+=4,a>=3&&(r.checksum=o.getUint32(4,!0),A+=4),o=new DataView(e,A,12),r.height=o.getUint32(0,!0),r.width=o.getUint32(4,!0),A+=8,a>=4?(r.numDims=o.getUint32(8,!0),A+=4):r.numDims=1,o=new DataView(e,A,40),r.numValidPixel=o.getUint32(0,!0),r.microBlockSize=o.getInt32(4,!0),r.blobSize=o.getInt32(8,!0),r.imageType=o.getInt32(12,!0),r.maxZError=o.getFloat64(16,!0),r.zMin=o.getFloat64(24,!0),r.zMax=o.getFloat64(32,!0),A+=40,t.headerInfo=r,t.ptr=A,a>=3&&(i=a>=4?52:48,this.computeChecksumFletcher32(new Uint8Array(e,A-i,r.blobSize-14))!==r.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(e,t){var A=t.headerInfo,n=this.getDataTypeArray(A.imageType),r=A.numDims*this.getDataTypeSize(A.imageType),i=this.readSubArray(e,t.ptr,n,r),o=this.readSubArray(e,t.ptr+r,n,r);t.ptr+=2*r;var a,s=!0;for(a=0;a<A.numDims;a++)if(i[a]!==o[a]){s=!1;break}return A.minValues=i,A.maxValues=o,s},readSubArray:function(e,t,A,n){var r;if(A===Uint8Array)r=new Uint8Array(e,t,n);else{var i=new ArrayBuffer(n);new Uint8Array(i).set(new Uint8Array(e,t,n)),r=new A(i)}return r},readMask:function(e,t){var A,n,r=t.ptr,i=t.headerInfo,o=i.width*i.height,a=i.numValidPixel,s=new DataView(e,r,4),g={};if(g.numBytes=s.getUint32(0,!0),r+=4,(0===a||o===a)&&0!==g.numBytes)throw"invalid mask";if(0===a)A=new Uint8Array(Math.ceil(o/8)),g.bitset=A,n=new Uint8Array(o),t.pixels.resultMask=n,r+=g.numBytes;else if(g.numBytes>0){A=new Uint8Array(Math.ceil(o/8));var c=(s=new DataView(e,r,g.numBytes)).getInt16(0,!0),u=2,l=0,I=0;do{if(c>0)for(;c--;)A[l++]=s.getUint8(u++);else for(I=s.getUint8(u++),c=-c;c--;)A[l++]=I;c=s.getInt16(u,!0),u+=2}while(u<g.numBytes);if(-32768!==c||l<A.length)throw"Unexpected end of mask RLE encoding";n=new Uint8Array(o);var C=0,h=0;for(h=0;h<o;h++)7&h?(C=A[h>>3],C<<=7&h):C=A[h>>3],128&C&&(n[h]=1);t.pixels.resultMask=n,g.bitset=A,r+=g.numBytes}return t.ptr=r,t.mask=g,!0},readDataOneSweep:function(e,t,A){var n,r=t.ptr,i=t.headerInfo,a=i.numDims,s=i.width*i.height,g=i.imageType,c=i.numValidPixel*o.getDataTypeSize(g)*a,u=t.pixels.resultMask;if(A===Uint8Array)n=new Uint8Array(e,r,c);else{var l=new ArrayBuffer(c);new Uint8Array(l).set(new Uint8Array(e,r,c)),n=new A(l)}if(n.length===s*a)t.pixels.resultPixels=n;else{t.pixels.resultPixels=new A(s*a);var I=0,C=0,h=0,f=0;if(a>1)for(h=0;h<a;h++)for(f=h*s,C=0;C<s;C++)u[C]&&(t.pixels.resultPixels[f+C]=n[I++]);else for(C=0;C<s;C++)u[C]&&(t.pixels.resultPixels[C]=n[I++])}return r+=c,t.ptr=r,!0},readHuffmanTree:function(e,t){var A=this.HUFFMAN_LUT_BITS_MAX,n=new DataView(e,t.ptr,16);if(t.ptr+=16,n.getInt32(0,!0)<2)throw"unsupported Huffman version";var r=n.getInt32(4,!0),i=n.getInt32(8,!0),s=n.getInt32(12,!0);if(i>=s)return!1;var g=new Uint32Array(s-i);o.decodeBits(e,t,g);var c,u,l,I,C=[];for(c=i;c<s;c++)C[u=c-(c<r?0:r)]={first:g[c-i],second:null};var h=e.byteLength-t.ptr,f=Math.ceil(h/4),d=new ArrayBuffer(4*f);new Uint8Array(d).set(new Uint8Array(e,t.ptr,h));var B,p=new Uint32Array(d),E=0,Q=0;for(B=p[0],c=i;c<s;c++)(I=C[u=c-(c<r?0:r)].first)>0&&(C[u].second=B<<E>>>32-I,32-E>=I?32===(E+=I)&&(E=0,B=p[++Q]):(E+=I-32,B=p[++Q],C[u].second|=B>>>32-E));var y=0,v=0,m=new a;for(c=0;c<C.length;c++)void 0!==C[c]&&(y=Math.max(y,C[c].first));v=y>=A?A:y,y>=30&&console.log("WARning, large NUM LUT BITS IS "+y);var b,w,S,F,R,D=[];for(c=i;c<s;c++)if((I=C[u=c-(c<r?0:r)].first)>0)if(b=[I,u],I<=v)for(w=C[u].second<<v-I,S=1<<v-I,l=0;l<S;l++)D[w|l]=b;else for(w=C[u].second,R=m,F=I-1;F>=0;F--)w>>>F&1?(R.right||(R.right=new a),R=R.right):(R.left||(R.left=new a),R=R.left),0!==F||R.val||(R.val=b[1]);return{decodeLut:D,numBitsLUTQick:v,numBitsLUT:y,tree:m,stuffedData:p,srcPtr:Q,bitPos:E}},readHuffman:function(e,t,A){var n,r,i,o,a,s,g,c,u,l=t.headerInfo,I=l.numDims,C=t.headerInfo.height,h=t.headerInfo.width,f=h*C,d=this.readHuffmanTree(e,t),B=d.decodeLut,p=d.tree,E=d.stuffedData,Q=d.srcPtr,y=d.bitPos,v=d.numBitsLUTQick,m=d.numBitsLUT,b=0===t.headerInfo.imageType?128:0,w=t.pixels.resultMask,S=0;y>0&&(Q++,y=0);var F,R=E[Q],D=1===t.encodeMode,G=new A(f*I),k=G;for(F=0;F<l.numDims;F++){if(I>1&&(k=new A(G.buffer,f*F,f),S=0),t.headerInfo.numValidPixel===h*C)for(c=0,s=0;s<C;s++)for(g=0;g<h;g++,c++){if(r=0,a=o=R<<y>>>32-v,32-y<v&&(a=o|=E[Q+1]>>>64-y-v),B[a])r=B[a][1],y+=B[a][0];else for(a=o=R<<y>>>32-m,32-y<m&&(a=o|=E[Q+1]>>>64-y-m),n=p,u=0;u<m;u++)if(!(n=o>>>m-u-1&1?n.right:n.left).left&&!n.right){r=n.val,y=y+u+1;break}y>=32&&(y-=32,R=E[++Q]),i=r-b,D?(i+=g>0?S:s>0?k[c-h]:S,i&=255,k[c]=i,S=i):k[c]=i}else for(c=0,s=0;s<C;s++)for(g=0;g<h;g++,c++)if(w[c]){if(r=0,a=o=R<<y>>>32-v,32-y<v&&(a=o|=E[Q+1]>>>64-y-v),B[a])r=B[a][1],y+=B[a][0];else for(a=o=R<<y>>>32-m,32-y<m&&(a=o|=E[Q+1]>>>64-y-m),n=p,u=0;u<m;u++)if(!(n=o>>>m-u-1&1?n.right:n.left).left&&!n.right){r=n.val,y=y+u+1;break}y>=32&&(y-=32,R=E[++Q]),i=r-b,D?(g>0&&w[c-1]?i+=S:s>0&&w[c-h]?i+=k[c-h]:i+=S,i&=255,k[c]=i,S=i):k[c]=i}t.ptr=t.ptr+4*(Q+1)+(y>0?4:0)}t.pixels.resultPixels=G},decodeBits:function(o,a,s,g,c){var u=a.headerInfo,l=u.fileVersion,I=0,C=new DataView(o,a.ptr,5),h=C.getUint8(0);I++;var f=h>>6,d=0===f?4:3-f,B=(32&h)>0,p=31&h,E=0;if(1===d)E=C.getUint8(I),I++;else if(2===d)E=C.getUint16(I,!0),I+=2;else{if(4!==d)throw"Invalid valid pixel count type";E=C.getUint32(I,!0),I+=4}var Q,y,v,m,b,w,S,F,R,D=2*u.maxZError,G=u.numDims>1?u.maxValues[c]:u.zMax;if(B){for(a.counter.lut++,F=C.getUint8(I),p,I++,m=Math.ceil((F-1)*p/8),b=Math.ceil(m/4),y=new ArrayBuffer(4*b),v=new Uint8Array(y),a.ptr+=I,v.set(new Uint8Array(o,a.ptr,m)),S=new Uint32Array(y),a.ptr+=m,R=0;F-1>>>R;)R++;m=Math.ceil(E*R/8),b=Math.ceil(m/4),y=new ArrayBuffer(4*b),(v=new Uint8Array(y)).set(new Uint8Array(o,a.ptr,m)),Q=new Uint32Array(y),a.ptr+=m,w=l>=3?n(S,p,F-1,g,D,G):t(S,p,F-1,g,D,G),l>=3?A(Q,s,R,E,w):e(Q,s,R,E,w)}else a.counter.bitstuffer++,R=p,a.ptr+=I,R>0&&(m=Math.ceil(E*R/8),b=Math.ceil(m/4),y=new ArrayBuffer(4*b),(v=new Uint8Array(y)).set(new Uint8Array(o,a.ptr,m)),Q=new Uint32Array(y),a.ptr+=m,l>=3?null==g?i(Q,s,R,E):A(Q,s,R,E,!1,g,D,G):null==g?r(Q,s,R,E):e(Q,s,R,E,!1,g,D,G))},readTiles:function(e,t,A){var n=t.headerInfo,r=n.width,i=n.height,a=n.microBlockSize,s=n.imageType,g=o.getDataTypeSize(s),c=Math.ceil(r/a),u=Math.ceil(i/a);t.pixels.numBlocksY=u,t.pixels.numBlocksX=c,t.pixels.ptr=0;var l,I,C,h,f,d,B,p,E=0,Q=0,y=0,v=0,m=0,b=0,w=0,S=0,F=0,R=0,D=0,G=0,k=0,x=0,N=0,U=new A(a*a),_=i%a||a,M=r%a||a,O=n.numDims,L=t.pixels.resultMask,T=t.pixels.resultPixels;for(y=0;y<u;y++)for(m=y!==u-1?a:_,v=0;v<c;v++)for(R=y*r*a+v*a,D=r-(b=v!==c-1?a:M),p=0;p<O;p++){if(O>1&&(T=new A(t.pixels.resultPixels.buffer,r*i*p*g,r*i)),w=e.byteLength-t.ptr,I={},N=0,N++,F=(S=(l=new DataView(e,t.ptr,Math.min(10,w))).getUint8(0))>>6&255,(S>>2&15)!==(v*a>>3&15))throw"integrity issue";if((f=3&S)>3)throw t.ptr+=N,"Invalid block encoding ("+f+")";if(2!==f)if(0===f){if(t.counter.uncompressed++,t.ptr+=N,G=(G=m*b*g)<(k=e.byteLength-t.ptr)?G:k,C=new ArrayBuffer(G%g===0?G:G+g-G%g),new Uint8Array(C).set(new Uint8Array(e,t.ptr,G)),h=new A(C),x=0,L)for(E=0;E<m;E++){for(Q=0;Q<b;Q++)L[R]&&(T[R]=h[x++]),R++;R+=D}else for(E=0;E<m;E++){for(Q=0;Q<b;Q++)T[R++]=h[x++];R+=D}t.ptr+=x*g}else if(d=o.getDataTypeUsed(s,F),B=o.getOnePixel(I,N,d,l),N+=o.getDataTypeSize(d),3===f)if(t.ptr+=N,t.counter.constantoffset++,L)for(E=0;E<m;E++){for(Q=0;Q<b;Q++)L[R]&&(T[R]=B),R++;R+=D}else for(E=0;E<m;E++){for(Q=0;Q<b;Q++)T[R++]=B;R+=D}else if(t.ptr+=N,o.decodeBits(e,t,U,B,p),N=0,L)for(E=0;E<m;E++){for(Q=0;Q<b;Q++)L[R]&&(T[R]=U[N++]),R++;R+=D}else for(E=0;E<m;E++){for(Q=0;Q<b;Q++)T[R++]=U[N++];R+=D}else t.counter.constant++,t.ptr+=N}},formatFileInfo:function(e){return{fileIdentifierString:e.headerInfo.fileIdentifierString,fileVersion:e.headerInfo.fileVersion,imageType:e.headerInfo.imageType,height:e.headerInfo.height,width:e.headerInfo.width,numValidPixel:e.headerInfo.numValidPixel,microBlockSize:e.headerInfo.microBlockSize,blobSize:e.headerInfo.blobSize,maxZError:e.headerInfo.maxZError,pixelType:o.getPixelType(e.headerInfo.imageType),eofOffset:e.eofOffset,mask:e.mask?{numBytes:e.mask.numBytes}:null,pixels:{numBlocksX:e.pixels.numBlocksX,numBlocksY:e.pixels.numBlocksY,maxValue:e.headerInfo.zMax,minValue:e.headerInfo.zMin,noDataValue:e.noDataValue}}},constructConstantSurface:function(e){var t=e.headerInfo.zMax,A=e.headerInfo.numDims,n=e.headerInfo.height*e.headerInfo.width,r=n*A,i=0,o=0,a=0,s=e.pixels.resultMask;if(s)if(A>1)for(i=0;i<A;i++)for(a=i*n,o=0;o<n;o++)s[o]&&(e.pixels.resultPixels[a+o]=t);else for(o=0;o<n;o++)s[o]&&(e.pixels.resultPixels[o]=t);else if(e.pixels.resultPixels.fill)e.pixels.resultPixels.fill(t);else for(o=0;o<r;o++)e.pixels.resultPixels[o]=t},getDataTypeArray:function(e){var t;switch(e){case 0:t=Int8Array;break;case 1:t=Uint8Array;break;case 2:t=Int16Array;break;case 3:t=Uint16Array;break;case 4:t=Int32Array;break;case 5:t=Uint32Array;break;case 6:t=Float32Array;break;case 7:t=Float64Array;break;default:t=Float32Array}return t},getPixelType:function(e){var t;switch(e){case 0:t="S8";break;case 1:t="U8";break;case 2:t="S16";break;case 3:t="U16";break;case 4:t="S32";break;case 5:t="U32";break;case 6:t="F32";break;case 7:t="F64";break;default:t="F32"}return t},isValidPixelValue:function(e,t){if(null==t)return!1;var A;switch(e){case 0:A=t>=-128&&t<=127;break;case 1:A=t>=0&&t<=255;break;case 2:A=t>=-32768&&t<=32767;break;case 3:A=t>=0&&t<=65536;break;case 4:A=t>=-2147483648&&t<=2147483647;break;case 5:A=t>=0&&t<=4294967296;break;case 6:A=t>=-34027999387901484e22&&t<=34027999387901484e22;break;case 7:A=t>=5e-324&&t<=17976931348623157e292;break;default:A=!1}return A},getDataTypeSize:function(e){var t=0;switch(e){case 0:case 1:t=1;break;case 2:case 3:t=2;break;case 4:case 5:case 6:t=4;break;case 7:t=8;break;default:t=e}return t},getDataTypeUsed:function(e,t){var A=e;switch(e){case 2:case 4:A=e-t;break;case 3:case 5:A=e-2*t;break;case 6:A=0===t?e:1===t?2:1;break;case 7:A=0===t?e:e-2*t+1;break;default:A=e}return A},getOnePixel:function(e,t,A,n){var r=0;switch(A){case 0:r=n.getInt8(t);break;case 1:r=n.getUint8(t);break;case 2:r=n.getInt16(t,!0);break;case 3:r=n.getUint16(t,!0);break;case 4:r=n.getInt32(t,!0);break;case 5:r=n.getUInt32(t,!0);break;case 6:r=n.getFloat32(t,!0);break;case 7:r=n.getFloat64(t,!0);break;default:throw"the decoder does not understand this pixel type"}return r}},a=function(e,t,A){this.val=e,this.left=t,this.right=A};return{decode:function(e,t){var A=(t=t||{}).noDataValue,n=0,r={};if(r.ptr=t.inputOffset||0,r.pixels={},o.readHeaderInfo(e,r)){var i=r.headerInfo,a=i.fileVersion,s=o.getDataTypeArray(i.imageType);o.readMask(e,r),i.numValidPixel===i.width*i.height||r.pixels.resultMask||(r.pixels.resultMask=t.maskData);var g,c=i.width*i.height;if(r.pixels.resultPixels=new s(c*i.numDims),r.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},0!==i.numValidPixel)if(i.zMax===i.zMin)o.constructConstantSurface(r);else if(a>=4&&o.checkMinMaxRanges(e,r))o.constructConstantSurface(r);else{var u=new DataView(e,r.ptr,2),l=u.getUint8(0);if(r.ptr++,l)o.readDataOneSweep(e,r,s);else if(a>1&&i.imageType<=1&&Math.abs(i.maxZError-.5)<1e-5){var I=u.getUint8(1);if(r.ptr++,r.encodeMode=I,I>2||a<4&&I>1)throw"Invalid Huffman flag "+I;I?o.readHuffman(e,r,s):o.readTiles(e,r,s)}else o.readTiles(e,r,s)}r.eofOffset=r.ptr,t.inputOffset?(g=r.headerInfo.blobSize+t.inputOffset-r.ptr,Math.abs(g)>=1&&(r.eofOffset=t.inputOffset+r.headerInfo.blobSize)):(g=r.headerInfo.blobSize-r.ptr,Math.abs(g)>=1&&(r.eofOffset=r.headerInfo.blobSize));var C={width:i.width,height:i.height,pixelData:r.pixels.resultPixels,minValue:i.zMin,maxValue:i.zMax,validPixelCount:i.numValidPixel,dimCount:i.numDims,dimStats:{minValues:i.minValues,maxValues:i.maxValues},maskData:r.pixels.resultMask};if(r.pixels.resultMask&&o.isValidPixelValue(i.imageType,A)){var h=r.pixels.resultMask;for(n=0;n<c;n++)h[n]||(C.pixelData[n]=A);C.noDataValue=A}return r.noDataValue=A,t.returnFileInfo&&(C.fileInfo=o.formatFileInfo(r)),C}},getBandCount:function(e){for(var t=0,A=0,n={ptr:0,pixels:{}};A<e.byteLength-58;)o.readHeaderInfo(e,n),A+=n.headerInfo.blobSize,t++,n.ptr=A;return t}}}(),i=function(){var e=new ArrayBuffer(4),t=new Uint8Array(e);return new Uint32Array(e)[0]=1,1===t[0]}(),o={decode:function(e,t){if(!i)throw"Big endian system is not supported.";var n,o,a=(t=t||{}).inputOffset||0,s=new Uint8Array(e,a,10),g=String.fromCharCode.apply(null,s);if("CntZImage"===g.trim())n=A,o=1;else{if("Lerc2"!==g.substring(0,5))throw"Unexpected file identifier string: "+g;n=r,o=2}for(var c,u,l,I,C,h,f=0,d=e.byteLength-10,B=[],p={width:0,height:0,pixels:[],pixelType:t.pixelType,mask:null,statistics:[]};a<d;){var E=n.decode(e,{inputOffset:a,encodedMaskData:c,maskData:l,returnMask:0===f,returnEncodedMask:0===f,returnFileInfo:!0,pixelType:t.pixelType||null,noDataValue:t.noDataValue||null});a=E.fileInfo.eofOffset,0===f&&(c=E.encodedMaskData,l=E.maskData,p.width=E.width,p.height=E.height,p.dimCount=E.dimCount||1,p.pixelType=E.pixelType||E.fileInfo.pixelType,p.mask=E.maskData),o>1&&E.fileInfo.mask&&E.fileInfo.mask.numBytes>0&&B.push(E.maskData),f++,p.pixels.push(E.pixelData),p.statistics.push({minValue:E.minValue,maxValue:E.maxValue,noDataValue:E.noDataValue,dimStats:E.dimStats})}if(o>1&&B.length>1){for(h=p.width*p.height,p.bandMasks=B,(l=new Uint8Array(h)).set(B[0]),I=1;I<B.length;I++)for(u=B[I],C=0;C<h;C++)l[C]=l[C]&u[C];p.maskData=l}return p}};void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},function(e,t,A){"use strict";var n=A(299),r=A(300),i=A(866),o=Symbol("max"),a=Symbol("length"),s=Symbol("lengthCalculator"),g=Symbol("allowStale"),c=Symbol("maxAge"),u=Symbol("dispose"),l=Symbol("noDisposeOnSet"),I=Symbol("lruList"),C=Symbol("cache"),h=Symbol("updateAgeOnGet"),f=function(){return 1},d=function(){function e(t){if(n(this,e),"number"===typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!==typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[o]=t.max||1/0;var A=t.length||f;if(this[s]="function"!==typeof A?f:A,this[g]=t.stale||!1,t.maxAge&&"number"!==typeof t.maxAge)throw new TypeError("maxAge must be a number");this[c]=t.maxAge||0,this[u]=t.dispose,this[l]=t.noDisposeOnSet||!1,this[h]=t.updateAgeOnGet||!1,this.reset()}return r(e,[{key:"rforEach",value:function(e,t){t=t||this;for(var A=this[I].tail;null!==A;){var n=A.prev;v(this,e,A,t),A=n}}},{key:"forEach",value:function(e,t){t=t||this;for(var A=this[I].head;null!==A;){var n=A.next;v(this,e,A,t),A=n}}},{key:"keys",value:function(){return this[I].toArray().map((function(e){return e.key}))}},{key:"values",value:function(){return this[I].toArray().map((function(e){return e.value}))}},{key:"reset",value:function(){var e=this;this[u]&&this[I]&&this[I].length&&this[I].forEach((function(t){return e[u](t.key,t.value)})),this[C]=new Map,this[I]=new i,this[a]=0}},{key:"dump",value:function(){var e=this;return this[I].map((function(t){return!p(e,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}})).toArray().filter((function(e){return e}))}},{key:"dumpLru",value:function(){return this[I]}},{key:"set",value:function(e,t,A){if((A=A||this[c])&&"number"!==typeof A)throw new TypeError("maxAge must be a number");var n=A?Date.now():0,r=this[s](t,e);if(this[C].has(e)){if(r>this[o])return Q(this,this[C].get(e)),!1;var i=this[C].get(e).value;return this[u]&&(this[l]||this[u](e,i.value)),i.now=n,i.maxAge=A,i.value=t,this[a]+=r-i.length,i.length=r,this.get(e),E(this),!0}var g=new y(e,t,r,n,A);return g.length>this[o]?(this[u]&&this[u](e,t),!1):(this[a]+=g.length,this[I].unshift(g),this[C].set(e,this[I].head),E(this),!0)}},{key:"has",value:function(e){if(!this[C].has(e))return!1;var t=this[C].get(e).value;return!p(this,t)}},{key:"get",value:function(e){return B(this,e,!0)}},{key:"peek",value:function(e){return B(this,e,!1)}},{key:"pop",value:function(){var e=this[I].tail;return e?(Q(this,e),e.value):null}},{key:"del",value:function(e){Q(this,this[C].get(e))}},{key:"load",value:function(e){this.reset();for(var t=Date.now(),A=e.length-1;A>=0;A--){var n=e[A],r=n.e||0;if(0===r)this.set(n.k,n.v);else{var i=r-t;i>0&&this.set(n.k,n.v,i)}}}},{key:"prune",value:function(){var e=this;this[C].forEach((function(t,A){return B(e,A,!1)}))}},{key:"max",set:function(e){if("number"!==typeof e||e<0)throw new TypeError("max must be a non-negative number");this[o]=e||1/0,E(this)},get:function(){return this[o]}},{key:"allowStale",set:function(e){this[g]=!!e},get:function(){return this[g]}},{key:"maxAge",set:function(e){if("number"!==typeof e)throw new TypeError("maxAge must be a non-negative number");this[c]=e,E(this)},get:function(){return this[c]}},{key:"lengthCalculator",set:function(e){var t=this;"function"!==typeof e&&(e=f),e!==this[s]&&(this[s]=e,this[a]=0,this[I].forEach((function(e){e.length=t[s](e.value,e.key),t[a]+=e.length}))),E(this)},get:function(){return this[s]}},{key:"length",get:function(){return this[a]}},{key:"itemCount",get:function(){return this[I].length}}]),e}(),B=function(e,t,A){var n=e[C].get(t);if(n){var r=n.value;if(p(e,r)){if(Q(e,n),!e[g])return}else A&&(e[h]&&(n.value.now=Date.now()),e[I].unshiftNode(n));return r.value}},p=function(e,t){if(!t||!t.maxAge&&!e[c])return!1;var A=Date.now()-t.now;return t.maxAge?A>t.maxAge:e[c]&&A>e[c]},E=function(e){if(e[a]>e[o])for(var t=e[I].tail;e[a]>e[o]&&null!==t;){var A=t.prev;Q(e,t),t=A}},Q=function(e,t){if(t){var A=t.value;e[u]&&e[u](A.key,A.value),e[a]-=A.length,e[C].delete(A.key),e[I].removeNode(t)}},y=function e(t,A,r,i,o){n(this,e),this.key=t,this.value=A,this.length=r,this.now=i,this.maxAge=o||0},v=function(e,t,A,n){var r=A.value;p(e,r)&&(Q(e,A),e[g]||(r=void 0)),r&&t.call(n,r.value,r.key,e)};e.exports=d},function(e,t,A){"use strict";(function(e){A.d(t,"a",(function(){return E}));var n=A(7),r=A(3),i=A.n(r),o=A(12),a=A(1),s=A(4),g=A(9),c=A(10),u=A(672),l=A.n(u),I=A(673),C=A.n(I),h=A(674),f=A.n(h),d=A(181),B=A(57),p=function(e){Object(g.a)(A,e);var t=Object(c.a)(A);function A(e,n){var r;return Object(a.a)(this,A),(r=t.call(this)).response=e,r.dataPromise=n,r}return Object(s.a)(A,[{key:"getHeader",value:function(e){return this.response.headers[e]}},{key:"getData",value:function(){var e=Object(o.a)(i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.dataPromise;case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"status",get:function(){return this.response.statusCode}}]),A}(d.b),E=function(t){Object(g.a)(r,t);var A=Object(c.a)(r);function r(e){var t;return Object(a.a)(this,r),(t=A.call(this,e)).parsedUrl=f.a.parse(t.url),t.httpApi="http:"===t.parsedUrl.protocol?l.a:C.a,t}return Object(s.a)(r,[{key:"constructRequest",value:function(t,A){var r=this;return new Promise((function(i,o){var a=r.httpApi.get(Object(n.a)({},r.parsedUrl,{headers:t}),(function(t){var A=new Promise((function(A){var n=[];t.on("data",(function(e){n.push(e)})),t.on("end",(function(){var t=e.concat(n).buffer;A(t)})),t.on("error",o)}));i(new p(t,A))}));a.on("error",o),A&&(A.aborted&&a.destroy(new B.a("Request aborted")),A.addEventListener("abort",(function(){return a.destroy(new B.a("Request aborted"))})))}))}},{key:"request",value:function(){var e=Object(o.a)(i.a.mark((function e(){var t,A,n,r,o=arguments;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=o.length>0&&void 0!==o[0]?o[0]:{},A=t.headers,n=t.signal,e.next=3,this.constructRequest(A,n);case 3:return r=e.sent,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()}]),r}(d.a)}).call(this,A(188).Buffer)},,,,function(e,t,A){"use strict";(function(e){A.d(t,"a",(function(){return h}));var n=A(3),r=A.n(n),i=A(12),o=A(1),a=A(4),s=A(9),g=A(10),c=A(333),u=A.n(c);function l(e){return new Promise((function(t,A){u.a.close(e,(function(e){e?A(e):t()}))}))}function I(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];return new Promise((function(e,A){u.a.read.apply(u.a,t.concat([function(t,n,r){t?A(t):e({bytesRead:n,buffer:r})}]))}))}var C=function(t){Object(s.a)(n,t);var A=Object(g.a)(n);function n(e){var t;return Object(o.a)(this,n),(t=A.call(this)).path=e,t.openRequest=function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return new Promise((function(n,r){u.a.open(e,t,A,(function(e,t){e?r(e):n(t)}))}))}(e,"r"),t}return Object(a.a)(n,[{key:"fetchSlice",value:function(){var t=Object(i.a)(r.a.mark((function t(A){var n,i,o;return r.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.openRequest;case 2:return n=t.sent,t.next=5,I(n,e.alloc(A.length),0,A.length,A.offset);case 5:return i=t.sent,o=i.buffer,t.abrupt("return",o.buffer);case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"close",value:function(){var e=Object(i.a)(r.a.mark((function e(){var t;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.openRequest;case 2:return t=e.sent,e.next=5,l(t);case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()}]),n}(A(164).a);function h(e){return new C(e)}}).call(this,A(188).Buffer)},function(e,t,A){e.exports=function(e){"use strict";return function(e){if("number"!==typeof e)throw new TypeError("Expected a number");if(e>1e19)throw new RangeError("Input expected to be < 1e19");if(e<-1e19)throw new RangeError("Input expected to be > 1e19");if(Math.abs(e)<1e3)return e;var t,A,n,r=e<0?"-":"",i={K:6,M:9,B:12,T:16};for(var o in e=Math.abs(e),A=(n=Math.floor(e).toString().length)%3===0?n-3:n-n%3,t=Math.round(e/Math.pow(10,A)*10)/10,i)if(A<i[o]){t+=o;break}return r+t}}()},,function(e,t,A){(function(e){(function(t){"use strict";function A(){}function n(){n.init.call(this)}function r(e){return void 0===e._maxListeners?n.defaultMaxListeners:e._maxListeners}function i(e,t,A){if(t)e.call(A);else for(var n=e.length,r=I(e,n),i=0;i<n;++i)r[i].call(A)}function o(e,t,A,n){if(t)e.call(A,n);else for(var r=e.length,i=I(e,r),o=0;o<r;++o)i[o].call(A,n)}function a(e,t,A,n,r){if(t)e.call(A,n,r);else for(var i=e.length,o=I(e,i),a=0;a<i;++a)o[a].call(A,n,r)}function s(e,t,A,n,r,i){if(t)e.call(A,n,r,i);else for(var o=e.length,a=I(e,o),s=0;s<o;++s)a[s].call(A,n,r,i)}function g(e,t,A,n){if(t)e.apply(A,n);else for(var r=e.length,i=I(e,r),o=0;o<r;++o)i[o].apply(A,n)}function c(e,t,n,i){var o,a,s,g;if("function"!==typeof n)throw new TypeError('"listener" argument must be a function');if((a=e._events)?(a.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),a=e._events),s=a[t]):(a=e._events=new A,e._eventsCount=0),s){if("function"===typeof s?s=a[t]=i?[n,s]:[s,n]:i?s.unshift(n):s.push(n),!s.warned&&(o=r(e))&&o>0&&s.length>o){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,g=c,"function"===typeof console.warn?console.warn(g):console.log(g)}}else s=a[t]=n,++e._eventsCount;return e}function u(e,t,A){var n=!1;function r(){e.removeListener(t,r),n||(n=!0,A.apply(e,arguments))}return r.listener=A,r}function l(e){var t=this._events;if(t){var A=t[e];if("function"===typeof A)return 1;if(A)return A.length}return 0}function I(e,t){for(var A=new Array(t);t--;)A[t]=e[t];return A}A.prototype=Object.create(null),n.EventEmitter=n,n.usingDomains=!1,n.prototype.domain=void 0,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.init=function(){this.domain=null,n.usingDomains&&(void 0).active&&(void 0).Domain,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new A,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},n.prototype.setMaxListeners=function(e){if("number"!==typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},n.prototype.getMaxListeners=function(){return r(this)},n.prototype.emit=function(e){var t,A,n,r,c,u,l,I="error"===e;if(u=this._events)I=I&&null==u.error;else if(!I)return!1;if(l=this.domain,I){if(t=arguments[1],!l){if(t instanceof Error)throw t;var C=new Error('Uncaught, unspecified "error" event. ('+t+")");throw C.context=t,C}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=l,t.domainThrown=!1,l.emit("error",t),!1}if(!(A=u[e]))return!1;var h="function"===typeof A;switch(n=arguments.length){case 1:i(A,h,this);break;case 2:o(A,h,this,arguments[1]);break;case 3:a(A,h,this,arguments[1],arguments[2]);break;case 4:s(A,h,this,arguments[1],arguments[2],arguments[3]);break;default:for(r=new Array(n-1),c=1;c<n;c++)r[c-1]=arguments[c];g(A,h,this,r)}return!0},n.prototype.addListener=function(e,t){return c(this,e,t,!1)},n.prototype.on=n.prototype.addListener,n.prototype.prependListener=function(e,t){return c(this,e,t,!0)},n.prototype.once=function(e,t){if("function"!==typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,u(this,e,t)),this},n.prototype.prependOnceListener=function(e,t){if("function"!==typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,u(this,e,t)),this},n.prototype.removeListener=function(e,t){var n,r,i,o,a;if("function"!==typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0===--this._eventsCount?this._events=new A:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!==typeof n){for(i=-1,o=n.length;o-- >0;)if(n[o]===t||n[o].listener&&n[o].listener===t){a=n[o].listener,i=o;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0===--this._eventsCount)return this._events=new A,this;delete r[e]}else!function(e,t){for(var A=t,n=A+1,r=e.length;n<r;A+=1,n+=1)e[A]=e[n];e.pop()}(n,i);r.removeListener&&this.emit("removeListener",e,a||t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new A,this._eventsCount=0):n[e]&&(0===--this._eventsCount?this._events=new A:delete n[e]),this;if(0===arguments.length){for(var r,i=Object.keys(n),o=0;o<i.length;++o)"removeListener"!==(r=i[o])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new A,this._eventsCount=0,this}if("function"===typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},n.prototype.listeners=function(e){var t,A=this._events;return A&&(t=A[e])?"function"===typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),A=0;A<t.length;++A)t[A]=e[A].listener||e[A];return t}(t):[]},n.listenerCount=function(e,t){return"function"===typeof e.listenerCount?e.listenerCount(t):l.call(e,t)},n.prototype.listenerCount=l,n.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var C="undefined"!==typeof e?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{},h=[],f=[],d="undefined"!==typeof Uint8Array?Uint8Array:Array,B=!1;function p(){B=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,A=e.length;t<A;++t)h[t]=e[t],f[e.charCodeAt(t)]=t;f["-".charCodeAt(0)]=62,f["_".charCodeAt(0)]=63}function E(e,t,A){for(var n,r,i=[],o=t;o<A;o+=3)n=(e[o]<<16)+(e[o+1]<<8)+e[o+2],i.push(h[(r=n)>>18&63]+h[r>>12&63]+h[r>>6&63]+h[63&r]);return i.join("")}function Q(e){var t;B||p();for(var A=e.length,n=A%3,r="",i=[],o=0,a=A-n;o<a;o+=16383)i.push(E(e,o,o+16383>a?a:o+16383));return 1===n?(t=e[A-1],r+=h[t>>2],r+=h[t<<4&63],r+="=="):2===n&&(t=(e[A-2]<<8)+e[A-1],r+=h[t>>10],r+=h[t>>4&63],r+=h[t<<2&63],r+="="),i.push(r),i.join("")}function y(e,t,A,n,r){var i,o,a=8*r-n-1,s=(1<<a)-1,g=s>>1,c=-7,u=A?r-1:0,l=A?-1:1,I=e[t+u];for(u+=l,i=I&(1<<-c)-1,I>>=-c,c+=a;c>0;i=256*i+e[t+u],u+=l,c-=8);for(o=i&(1<<-c)-1,i>>=-c,c+=n;c>0;o=256*o+e[t+u],u+=l,c-=8);if(0===i)i=1-g;else{if(i===s)return o?NaN:1/0*(I?-1:1);o+=Math.pow(2,n),i-=g}return(I?-1:1)*o*Math.pow(2,i-n)}function v(e,t,A,n,r,i){var o,a,s,g=8*i-r-1,c=(1<<g)-1,u=c>>1,l=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,I=n?0:i-1,C=n?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-o))<1&&(o--,s*=2),(t+=o+u>=1?l/s:l*Math.pow(2,1-u))*s>=2&&(o++,s/=2),o+u>=c?(a=0,o=c):o+u>=1?(a=(t*s-1)*Math.pow(2,r),o+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,r),o=0));r>=8;e[A+I]=255&a,I+=C,a/=256,r-=8);for(o=o<<r|a,g+=r;g>0;e[A+I]=255&o,I+=C,o/=256,g-=8);e[A+I-C]|=128*h}var m={}.toString,b=Array.isArray||function(e){return"[object Array]"==m.call(e)};function w(){return F.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function S(e,t){if(w()<t)throw new RangeError("Invalid typed array length");return F.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=F.prototype:(null===e&&(e=new F(t)),e.length=t),e}function F(e,t,A){if(!F.TYPED_ARRAY_SUPPORT&&!(this instanceof F))return new F(e,t,A);if("number"===typeof e){if("string"===typeof t)throw new Error("If encoding is specified then the first argument must be a string");return G(this,e)}return R(this,e,t,A)}function R(e,t,A,n){if("number"===typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!==typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,A,n){if(t.byteLength,A<0||t.byteLength<A)throw new RangeError("'offset' is out of bounds");if(t.byteLength<A+(n||0))throw new RangeError("'length' is out of bounds");return t=void 0===A&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,A):new Uint8Array(t,A,n),F.TYPED_ARRAY_SUPPORT?(e=t).__proto__=F.prototype:e=k(e,t),e}(e,t,A,n):"string"===typeof t?function(e,t,A){if("string"===typeof A&&""!==A||(A="utf8"),!F.isEncoding(A))throw new TypeError('"encoding" must be a valid string encoding');var n=0|U(t,A),r=(e=S(e,n)).write(t,A);return r!==n&&(e=e.slice(0,r)),e}(e,t,A):function(e,t){if(N(t)){var A=0|x(t.length);return 0===(e=S(e,A)).length||t.copy(e,0,0,A),e}if(t){if("undefined"!==typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!==typeof t.length||(n=t.length)!==n?S(e,0):k(e,t);if("Buffer"===t.type&&b(t.data))return k(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function D(e){if("number"!==typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function G(e,t){if(D(t),e=S(e,t<0?0:0|x(t)),!F.TYPED_ARRAY_SUPPORT)for(var A=0;A<t;++A)e[A]=0;return e}function k(e,t){var A=t.length<0?0:0|x(t.length);e=S(e,A);for(var n=0;n<A;n+=1)e[n]=255&t[n];return e}function x(e){if(e>=w())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+w().toString(16)+" bytes");return 0|e}function N(e){return!(null==e||!e._isBuffer)}function U(e,t){if(N(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var A=e.length;if(0===A)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return A;case"utf8":case"utf-8":case void 0:return oe(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*A;case"hex":return A>>>1;case"base64":return ae(e).length;default:if(n)return oe(e).length;t=(""+t).toLowerCase(),n=!0}}function _(e,t,A){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===A||A>this.length)&&(A=this.length),A<=0)return"";if((A>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return X(this,t,A);case"utf8":case"utf-8":return V(this,t,A);case"ascii":return K(this,t,A);case"latin1":case"binary":return W(this,t,A);case"base64":return P(this,t,A);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return q(this,t,A);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function M(e,t,A){var n=e[t];e[t]=e[A],e[A]=n}function O(e,t,A,n,r){if(0===e.length)return-1;if("string"===typeof A?(n=A,A=0):A>2147483647?A=2147483647:A<-2147483648&&(A=-2147483648),A=+A,isNaN(A)&&(A=r?0:e.length-1),A<0&&(A=e.length+A),A>=e.length){if(r)return-1;A=e.length-1}else if(A<0){if(!r)return-1;A=0}if("string"===typeof t&&(t=F.from(t,n)),N(t))return 0===t.length?-1:L(e,t,A,n,r);if("number"===typeof t)return t&=255,F.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,A):Uint8Array.prototype.lastIndexOf.call(e,t,A):L(e,[t],A,n,r);throw new TypeError("val must be string, number or Buffer")}function L(e,t,A,n,r){var i,o=1,a=e.length,s=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,a/=2,s/=2,A/=2}function g(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){var c=-1;for(i=A;i<a;i++)if(g(e,i)===g(t,-1===c?0:i-c)){if(-1===c&&(c=i),i-c+1===s)return c*o}else-1!==c&&(i-=i-c),c=-1}else for(A+s>a&&(A=a-s),i=A;i>=0;i--){for(var u=!0,l=0;l<s;l++)if(g(e,i+l)!==g(t,l)){u=!1;break}if(u)return i}return-1}function T(e,t,A,n){A=Number(A)||0;var r=e.length-A;n?(n=Number(n))>r&&(n=r):n=r;var i=t.length;if(i%2!==0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/2);for(var o=0;o<n;++o){var a=parseInt(t.substr(2*o,2),16);if(isNaN(a))return o;e[A+o]=a}return o}function Z(e,t,A,n){return se(oe(t,e.length-A),e,A,n)}function H(e,t,A,n){return se(function(e){for(var t=[],A=0;A<e.length;++A)t.push(255&e.charCodeAt(A));return t}(t),e,A,n)}function Y(e,t,A,n){return H(e,t,A,n)}function J(e,t,A,n){return se(ae(t),e,A,n)}function j(e,t,A,n){return se(function(e,t){for(var A,n,r,i=[],o=0;o<e.length&&!((t-=2)<0);++o)A=e.charCodeAt(o),n=A>>8,r=A%256,i.push(r),i.push(n);return i}(t,e.length-A),e,A,n)}function P(e,t,A){return 0===t&&A===e.length?Q(e):Q(e.slice(t,A))}function V(e,t,A){A=Math.min(e.length,A);for(var n=[],r=t;r<A;){var i,o,a,s,g=e[r],c=null,u=g>239?4:g>223?3:g>191?2:1;if(r+u<=A)switch(u){case 1:g<128&&(c=g);break;case 2:128===(192&(i=e[r+1]))&&(s=(31&g)<<6|63&i)>127&&(c=s);break;case 3:i=e[r+1],o=e[r+2],128===(192&i)&&128===(192&o)&&(s=(15&g)<<12|(63&i)<<6|63&o)>2047&&(s<55296||s>57343)&&(c=s);break;case 4:i=e[r+1],o=e[r+2],a=e[r+3],128===(192&i)&&128===(192&o)&&128===(192&a)&&(s=(15&g)<<18|(63&i)<<12|(63&o)<<6|63&a)>65535&&s<1114112&&(c=s)}null===c?(c=65533,u=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),r+=u}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var A="",n=0;n<t;)A+=String.fromCharCode.apply(String,e.slice(n,n+=4096));return A}(n)}function K(e,t,A){var n="";A=Math.min(e.length,A);for(var r=t;r<A;++r)n+=String.fromCharCode(127&e[r]);return n}function W(e,t,A){var n="";A=Math.min(e.length,A);for(var r=t;r<A;++r)n+=String.fromCharCode(e[r]);return n}function X(e,t,A){var n,r=e.length;(!t||t<0)&&(t=0),(!A||A<0||A>r)&&(A=r);for(var i="",o=t;o<A;++o)i+=(n=e[o])<16?"0"+n.toString(16):n.toString(16);return i}function q(e,t,A){for(var n=e.slice(t,A),r="",i=0;i<n.length;i+=2)r+=String.fromCharCode(n[i]+256*n[i+1]);return r}function z(e,t,A){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>A)throw new RangeError("Trying to access beyond buffer length")}function $(e,t,A,n,r,i){if(!N(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||t<i)throw new RangeError('"value" argument is out of bounds');if(A+n>e.length)throw new RangeError("Index out of range")}function ee(e,t,A,n){t<0&&(t=65535+t+1);for(var r=0,i=Math.min(e.length-A,2);r<i;++r)e[A+r]=(t&255<<8*(n?r:1-r))>>>8*(n?r:1-r)}function te(e,t,A,n){t<0&&(t=4294967295+t+1);for(var r=0,i=Math.min(e.length-A,4);r<i;++r)e[A+r]=t>>>8*(n?r:3-r)&255}function Ae(e,t,A,n,r,i){if(A+n>e.length)throw new RangeError("Index out of range");if(A<0)throw new RangeError("Index out of range")}function ne(e,t,A,n,r){return r||Ae(e,0,A,4),v(e,t,A,n,23,4),A+4}function re(e,t,A,n,r){return r||Ae(e,0,A,8),v(e,t,A,n,52,8),A+8}F.TYPED_ARRAY_SUPPORT=void 0===C.TYPED_ARRAY_SUPPORT||C.TYPED_ARRAY_SUPPORT,F.poolSize=8192,F._augment=function(e){return e.__proto__=F.prototype,e},F.from=function(e,t,A){return R(null,e,t,A)},F.TYPED_ARRAY_SUPPORT&&(F.prototype.__proto__=Uint8Array.prototype,F.__proto__=Uint8Array),F.alloc=function(e,t,A){return function(e,t,A,n){return D(t),t<=0?S(e,t):void 0!==A?"string"===typeof n?S(e,t).fill(A,n):S(e,t).fill(A):S(e,t)}(null,e,t,A)},F.allocUnsafe=function(e){return G(null,e)},F.allocUnsafeSlow=function(e){return G(null,e)},F.isBuffer=ge,F.compare=function(e,t){if(!N(e)||!N(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var A=e.length,n=t.length,r=0,i=Math.min(A,n);r<i;++r)if(e[r]!==t[r]){A=e[r],n=t[r];break}return A<n?-1:n<A?1:0},F.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},F.concat=function(e,t){if(!b(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return F.alloc(0);var A;if(void 0===t)for(t=0,A=0;A<e.length;++A)t+=e[A].length;var n=F.allocUnsafe(t),r=0;for(A=0;A<e.length;++A){var i=e[A];if(!N(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,r),r+=i.length}return n},F.byteLength=U,F.prototype._isBuffer=!0,F.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)M(this,t,t+1);return this},F.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)M(this,t,t+3),M(this,t+1,t+2);return this},F.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)M(this,t,t+7),M(this,t+1,t+6),M(this,t+2,t+5),M(this,t+3,t+4);return this},F.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?V(this,0,e):_.apply(this,arguments)},F.prototype.equals=function(e){if(!N(e))throw new TypeError("Argument must be a Buffer");return this===e||0===F.compare(this,e)},F.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},F.prototype.compare=function(e,t,A,n,r){if(!N(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===A&&(A=e?e.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),t<0||A>e.length||n<0||r>this.length)throw new RangeError("out of range index");if(n>=r&&t>=A)return 0;if(n>=r)return-1;if(t>=A)return 1;if(this===e)return 0;for(var i=(r>>>=0)-(n>>>=0),o=(A>>>=0)-(t>>>=0),a=Math.min(i,o),s=this.slice(n,r),g=e.slice(t,A),c=0;c<a;++c)if(s[c]!==g[c]){i=s[c],o=g[c];break}return i<o?-1:o<i?1:0},F.prototype.includes=function(e,t,A){return-1!==this.indexOf(e,t,A)},F.prototype.indexOf=function(e,t,A){return O(this,e,t,A,!0)},F.prototype.lastIndexOf=function(e,t,A){return O(this,e,t,A,!1)},F.prototype.write=function(e,t,A,n){if(void 0===t)n="utf8",A=this.length,t=0;else if(void 0===A&&"string"===typeof t)n=t,A=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(A)?(A|=0,void 0===n&&(n="utf8")):(n=A,A=void 0)}var r=this.length-t;if((void 0===A||A>r)&&(A=r),e.length>0&&(A<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return T(this,e,t,A);case"utf8":case"utf-8":return Z(this,e,t,A);case"ascii":return H(this,e,t,A);case"latin1":case"binary":return Y(this,e,t,A);case"base64":return J(this,e,t,A);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,A);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},F.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},F.prototype.slice=function(e,t){var A,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),F.TYPED_ARRAY_SUPPORT)(A=this.subarray(e,t)).__proto__=F.prototype;else{var r=t-e;A=new F(r,void 0);for(var i=0;i<r;++i)A[i]=this[i+e]}return A},F.prototype.readUIntLE=function(e,t,A){e|=0,t|=0,A||z(e,t,this.length);for(var n=this[e],r=1,i=0;++i<t&&(r*=256);)n+=this[e+i]*r;return n},F.prototype.readUIntBE=function(e,t,A){e|=0,t|=0,A||z(e,t,this.length);for(var n=this[e+--t],r=1;t>0&&(r*=256);)n+=this[e+--t]*r;return n},F.prototype.readUInt8=function(e,t){return t||z(e,1,this.length),this[e]},F.prototype.readUInt16LE=function(e,t){return t||z(e,2,this.length),this[e]|this[e+1]<<8},F.prototype.readUInt16BE=function(e,t){return t||z(e,2,this.length),this[e]<<8|this[e+1]},F.prototype.readUInt32LE=function(e,t){return t||z(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},F.prototype.readUInt32BE=function(e,t){return t||z(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},F.prototype.readIntLE=function(e,t,A){e|=0,t|=0,A||z(e,t,this.length);for(var n=this[e],r=1,i=0;++i<t&&(r*=256);)n+=this[e+i]*r;return n>=(r*=128)&&(n-=Math.pow(2,8*t)),n},F.prototype.readIntBE=function(e,t,A){e|=0,t|=0,A||z(e,t,this.length);for(var n=t,r=1,i=this[e+--n];n>0&&(r*=256);)i+=this[e+--n]*r;return i>=(r*=128)&&(i-=Math.pow(2,8*t)),i},F.prototype.readInt8=function(e,t){return t||z(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},F.prototype.readInt16LE=function(e,t){t||z(e,2,this.length);var A=this[e]|this[e+1]<<8;return 32768&A?4294901760|A:A},F.prototype.readInt16BE=function(e,t){t||z(e,2,this.length);var A=this[e+1]|this[e]<<8;return 32768&A?4294901760|A:A},F.prototype.readInt32LE=function(e,t){return t||z(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},F.prototype.readInt32BE=function(e,t){return t||z(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},F.prototype.readFloatLE=function(e,t){return t||z(e,4,this.length),y(this,e,!0,23,4)},F.prototype.readFloatBE=function(e,t){return t||z(e,4,this.length),y(this,e,!1,23,4)},F.prototype.readDoubleLE=function(e,t){return t||z(e,8,this.length),y(this,e,!0,52,8)},F.prototype.readDoubleBE=function(e,t){return t||z(e,8,this.length),y(this,e,!1,52,8)},F.prototype.writeUIntLE=function(e,t,A,n){e=+e,t|=0,A|=0,n||$(this,e,t,A,Math.pow(2,8*A)-1,0);var r=1,i=0;for(this[t]=255&e;++i<A&&(r*=256);)this[t+i]=e/r&255;return t+A},F.prototype.writeUIntBE=function(e,t,A,n){e=+e,t|=0,A|=0,n||$(this,e,t,A,Math.pow(2,8*A)-1,0);var r=A-1,i=1;for(this[t+r]=255&e;--r>=0&&(i*=256);)this[t+r]=e/i&255;return t+A},F.prototype.writeUInt8=function(e,t,A){return e=+e,t|=0,A||$(this,e,t,1,255,0),F.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},F.prototype.writeUInt16LE=function(e,t,A){return e=+e,t|=0,A||$(this,e,t,2,65535,0),F.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):ee(this,e,t,!0),t+2},F.prototype.writeUInt16BE=function(e,t,A){return e=+e,t|=0,A||$(this,e,t,2,65535,0),F.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):ee(this,e,t,!1),t+2},F.prototype.writeUInt32LE=function(e,t,A){return e=+e,t|=0,A||$(this,e,t,4,4294967295,0),F.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):te(this,e,t,!0),t+4},F.prototype.writeUInt32BE=function(e,t,A){return e=+e,t|=0,A||$(this,e,t,4,4294967295,0),F.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):te(this,e,t,!1),t+4},F.prototype.writeIntLE=function(e,t,A,n){if(e=+e,t|=0,!n){var r=Math.pow(2,8*A-1);$(this,e,t,A,r-1,-r)}var i=0,o=1,a=0;for(this[t]=255&e;++i<A&&(o*=256);)e<0&&0===a&&0!==this[t+i-1]&&(a=1),this[t+i]=(e/o>>0)-a&255;return t+A},F.prototype.writeIntBE=function(e,t,A,n){if(e=+e,t|=0,!n){var r=Math.pow(2,8*A-1);$(this,e,t,A,r-1,-r)}var i=A-1,o=1,a=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/o>>0)-a&255;return t+A},F.prototype.writeInt8=function(e,t,A){return e=+e,t|=0,A||$(this,e,t,1,127,-128),F.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},F.prototype.writeInt16LE=function(e,t,A){return e=+e,t|=0,A||$(this,e,t,2,32767,-32768),F.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):ee(this,e,t,!0),t+2},F.prototype.writeInt16BE=function(e,t,A){return e=+e,t|=0,A||$(this,e,t,2,32767,-32768),F.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):ee(this,e,t,!1),t+2},F.prototype.writeInt32LE=function(e,t,A){return e=+e,t|=0,A||$(this,e,t,4,2147483647,-2147483648),F.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):te(this,e,t,!0),t+4},F.prototype.writeInt32BE=function(e,t,A){return e=+e,t|=0,A||$(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),F.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):te(this,e,t,!1),t+4},F.prototype.writeFloatLE=function(e,t,A){return ne(this,e,t,!0,A)},F.prototype.writeFloatBE=function(e,t,A){return ne(this,e,t,!1,A)},F.prototype.writeDoubleLE=function(e,t,A){return re(this,e,t,!0,A)},F.prototype.writeDoubleBE=function(e,t,A){return re(this,e,t,!1,A)},F.prototype.copy=function(e,t,A,n){if(A||(A=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<A&&(n=A),n===A)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(A<0||A>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-A&&(n=e.length-t+A);var r,i=n-A;if(this===e&&A<t&&t<n)for(r=i-1;r>=0;--r)e[r+t]=this[r+A];else if(i<1e3||!F.TYPED_ARRAY_SUPPORT)for(r=0;r<i;++r)e[r+t]=this[r+A];else Uint8Array.prototype.set.call(e,this.subarray(A,A+i),t);return i},F.prototype.fill=function(e,t,A,n){if("string"===typeof e){if("string"===typeof t?(n=t,t=0,A=this.length):"string"===typeof A&&(n=A,A=this.length),1===e.length){var r=e.charCodeAt(0);r<256&&(e=r)}if(void 0!==n&&"string"!==typeof n)throw new TypeError("encoding must be a string");if("string"===typeof n&&!F.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"===typeof e&&(e&=255);if(t<0||this.length<t||this.length<A)throw new RangeError("Out of range index");if(A<=t)return this;var i;if(t>>>=0,A=void 0===A?this.length:A>>>0,e||(e=0),"number"===typeof e)for(i=t;i<A;++i)this[i]=e;else{var o=N(e)?e:oe(new F(e,n).toString()),a=o.length;for(i=0;i<A-t;++i)this[i+t]=o[i%a]}return this};var ie=/[^+\/0-9A-Za-z-_]/g;function oe(e,t){var A;t=t||1/0;for(var n=e.length,r=null,i=[],o=0;o<n;++o){if((A=e.charCodeAt(o))>55295&&A<57344){if(!r){if(A>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}r=A;continue}if(A<56320){(t-=3)>-1&&i.push(239,191,189),r=A;continue}A=65536+(r-55296<<10|A-56320)}else r&&(t-=3)>-1&&i.push(239,191,189);if(r=null,A<128){if((t-=1)<0)break;i.push(A)}else if(A<2048){if((t-=2)<0)break;i.push(A>>6|192,63&A|128)}else if(A<65536){if((t-=3)<0)break;i.push(A>>12|224,A>>6&63|128,63&A|128)}else{if(!(A<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(A>>18|240,A>>12&63|128,A>>6&63|128,63&A|128)}}return i}function ae(e){return function(e){var t,A,n,r,i,o;B||p();var a=e.length;if(a%4>0)throw new Error("Invalid string. Length must be a multiple of 4");i="="===e[a-2]?2:"="===e[a-1]?1:0,o=new d(3*a/4-i),n=i>0?a-4:a;var s=0;for(t=0,A=0;t<n;t+=4,A+=3)r=f[e.charCodeAt(t)]<<18|f[e.charCodeAt(t+1)]<<12|f[e.charCodeAt(t+2)]<<6|f[e.charCodeAt(t+3)],o[s++]=r>>16&255,o[s++]=r>>8&255,o[s++]=255&r;return 2===i?(r=f[e.charCodeAt(t)]<<2|f[e.charCodeAt(t+1)]>>4,o[s++]=255&r):1===i&&(r=f[e.charCodeAt(t)]<<10|f[e.charCodeAt(t+1)]<<4|f[e.charCodeAt(t+2)]>>2,o[s++]=r>>8&255,o[s++]=255&r),o}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(ie,"")).length<2)return"";for(;e.length%4!==0;)e+="=";return e}(e))}function se(e,t,A,n){for(var r=0;r<n&&!(r+A>=t.length||r>=e.length);++r)t[r+A]=e[r];return r}function ge(e){return null!=e&&(!!e._isBuffer||ce(e)||function(e){return"function"===typeof e.readFloatLE&&"function"===typeof e.slice&&ce(e.slice(0,0))}(e))}function ce(e){return!!e.constructor&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function ue(){throw new Error("setTimeout has not been defined")}function le(){throw new Error("clearTimeout has not been defined")}var Ie=ue,Ce=le;function he(e){if(Ie===setTimeout)return setTimeout(e,0);if((Ie===ue||!Ie)&&setTimeout)return Ie=setTimeout,setTimeout(e,0);try{return Ie(e,0)}catch(t){try{return Ie.call(null,e,0)}catch(t){return Ie.call(this,e,0)}}}"function"===typeof C.setTimeout&&(Ie=setTimeout),"function"===typeof C.clearTimeout&&(Ce=clearTimeout);var fe,de=[],Be=!1,pe=-1;function Ee(){Be&&fe&&(Be=!1,fe.length?de=fe.concat(de):pe=-1,de.length&&Qe())}function Qe(){if(!Be){var e=he(Ee);Be=!0;for(var t=de.length;t;){for(fe=de,de=[];++pe<t;)fe&&fe[pe].run();pe=-1,t=de.length}fe=null,Be=!1,function(e){if(Ce===clearTimeout)return clearTimeout(e);if((Ce===le||!Ce)&&clearTimeout)return Ce=clearTimeout,clearTimeout(e);try{Ce(e)}catch(t){try{return Ce.call(null,e)}catch(t){return Ce.call(this,e)}}}(e)}}function ye(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var A=1;A<arguments.length;A++)t[A-1]=arguments[A];de.push(new ve(e,t)),1!==de.length||Be||he(Qe)}function ve(e,t){this.fun=e,this.array=t}function me(){}ve.prototype.run=function(){this.fun.apply(null,this.array)};var be=me,we=me,Se=me,Fe=me,Re=me,De=me,Ge=me,ke=C.performance||{},xe=ke.now||ke.mozNow||ke.msNow||ke.oNow||ke.webkitNow||function(){return(new Date).getTime()},Ne=new Date,Ue={nextTick:ye,title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:be,addListener:we,once:Se,off:Fe,removeListener:Re,removeAllListeners:De,emit:Ge,binding:function(e){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(e){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(e){var t=.001*xe.call(ke),A=Math.floor(t),n=Math.floor(t%1*1e9);return e&&(A-=e[0],(n-=e[1])<0&&(A--,n+=1e9)),[A,n]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-Ne)/1e3}},_e="function"===typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var A=function(){};A.prototype=t.prototype,e.prototype=new A,e.prototype.constructor=e},Me=/%[sdj%]/g;function Oe(e){if(!Xe(e)){for(var t=[],A=0;A<arguments.length;A++)t.push(He(arguments[A]));return t.join(" ")}A=1;for(var n=arguments,r=n.length,i=String(e).replace(Me,(function(e){if("%%"===e)return"%";if(A>=r)return e;switch(e){case"%s":return String(n[A++]);case"%d":return Number(n[A++]);case"%j":try{return JSON.stringify(n[A++])}catch(t){return"[Circular]"}default:return e}})),o=n[A];A<r;o=n[++A])We(o)||!$e(o)?i+=" "+o:i+=" "+He(o);return i}function Le(e,t){if(qe(C.process))return function(){return Le(e,t).apply(this,arguments)};var A=!1;return function(){return A||(console.error(t),A=!0),e.apply(this,arguments)}}var Te,Ze={};function He(e,t){var A={seen:[],stylize:Je};return arguments.length>=3&&(A.depth=arguments[2]),arguments.length>=4&&(A.colors=arguments[3]),Ke(t)?A.showHidden=t:t&&rt(A,t),qe(A.showHidden)&&(A.showHidden=!1),qe(A.depth)&&(A.depth=2),qe(A.colors)&&(A.colors=!1),qe(A.customInspect)&&(A.customInspect=!0),A.colors&&(A.stylize=Ye),je(A,e,A.depth)}function Ye(e,t){var A=He.styles[t];return A?"\x1b["+He.colors[A][0]+"m"+e+"\x1b["+He.colors[A][1]+"m":e}function Je(e,t){return e}function je(e,t,A){if(e.customInspect&&t&&At(t.inspect)&&t.inspect!==He&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(A,e);return Xe(n)||(n=je(e,n,A)),n}var r=function(e,t){if(qe(t))return e.stylize("undefined","undefined");if(Xe(t)){var A="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(A,"string")}return"number"===typeof t?e.stylize(""+t,"number"):Ke(t)?e.stylize(""+t,"boolean"):We(t)?e.stylize("null","null"):void 0}(e,t);if(r)return r;var i=Object.keys(t),o=function(e){var t={};return e.forEach((function(e,A){t[e]=!0})),t}(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),tt(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Pe(t);if(0===i.length){if(At(t)){var a=t.name?": "+t.name:"";return e.stylize("[Function"+a+"]","special")}if(ze(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(et(t))return e.stylize(Date.prototype.toString.call(t),"date");if(tt(t))return Pe(t)}var s,g,c="",u=!1,l=["{","}"];return s=t,Array.isArray(s)&&(u=!0,l=["[","]"]),At(t)&&(c=" [Function"+(t.name?": "+t.name:"")+"]"),ze(t)&&(c=" "+RegExp.prototype.toString.call(t)),et(t)&&(c=" "+Date.prototype.toUTCString.call(t)),tt(t)&&(c=" "+Pe(t)),0!==i.length||u&&0!=t.length?A<0?ze(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),g=u?function(e,t,A,n,r){for(var i=[],o=0,a=t.length;o<a;++o)it(t,String(o))?i.push(Ve(e,t,A,n,String(o),!0)):i.push("");return r.forEach((function(r){r.match(/^\d+$/)||i.push(Ve(e,t,A,n,r,!0))})),i}(e,t,A,o,i):i.map((function(n){return Ve(e,t,A,o,n,u)})),e.seen.pop(),function(e,t,A){return e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60?A[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+A[1]:A[0]+t+" "+e.join(", ")+" "+A[1]}(g,c,l)):l[0]+c+l[1]}function Pe(e){return"["+Error.prototype.toString.call(e)+"]"}function Ve(e,t,A,n,r,i){var o,a,s;if((s=Object.getOwnPropertyDescriptor(t,r)||{value:t[r]}).get?a=s.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):s.set&&(a=e.stylize("[Setter]","special")),it(n,r)||(o="["+r+"]"),a||(e.seen.indexOf(s.value)<0?(a=We(A)?je(e,s.value,null):je(e,s.value,A-1)).indexOf("\n")>-1&&(a=i?a.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+a.split("\n").map((function(e){return" "+e})).join("\n")):a=e.stylize("[Circular]","special")),qe(o)){if(i&&r.match(/^\d+$/))return a;(o=JSON.stringify(""+r)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+a}function Ke(e){return"boolean"===typeof e}function We(e){return null===e}function Xe(e){return"string"===typeof e}function qe(e){return void 0===e}function ze(e){return $e(e)&&"[object RegExp]"===nt(e)}function $e(e){return"object"===typeof e&&null!==e}function et(e){return $e(e)&&"[object Date]"===nt(e)}function tt(e){return $e(e)&&("[object Error]"===nt(e)||e instanceof Error)}function At(e){return"function"===typeof e}function nt(e){return Object.prototype.toString.call(e)}function rt(e,t){if(!t||!$e(t))return e;for(var A=Object.keys(t),n=A.length;n--;)e[A[n]]=t[A[n]];return e}function it(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ot(){this.head=null,this.tail=null,this.length=0}He.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},He.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},ot.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},ot.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},ot.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},ot.prototype.clear=function(){this.head=this.tail=null,this.length=0},ot.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,A=""+t.data;t=t.next;)A+=e+t.data;return A},ot.prototype.concat=function(e){if(0===this.length)return F.alloc(0);if(1===this.length)return this.head.data;for(var t=F.allocUnsafe(e>>>0),A=this.head,n=0;A;)A.data.copy(t,n),n+=A.data.length,A=A.next;return t};var at=F.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function st(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!at(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=ct;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=ut;break;default:return void(this.write=gt)}this.charBuffer=new F(6),this.charReceived=0,this.charLength=0}function gt(e){return e.toString(this.encoding)}function ct(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function ut(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}st.prototype.write=function(e){for(var t="";this.charLength;){var A=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,A),this.charReceived+=A,this.charReceived<this.charLength)return"";if(e=e.slice(A,e.length),!((n=(t=this.charBuffer.slice(0,this.charLength).toString(this.encoding)).charCodeAt(t.length-1))>=55296&&n<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var n,r=e.length;if(this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,r),r-=this.charReceived),r=(t+=e.toString(this.encoding,0,r)).length-1,(n=t.charCodeAt(r))>=55296&&n<=56319){var i=this.surrogateSize;return this.charLength+=i,this.charReceived+=i,this.charBuffer.copy(this.charBuffer,i,0,i),e.copy(this.charBuffer,0,0,i),t.substring(0,r)}return t},st.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var A=e[e.length-t];if(1==t&&A>>5==6){this.charLength=2;break}if(t<=2&&A>>4==14){this.charLength=3;break}if(t<=3&&A>>3==30){this.charLength=4;break}}this.charReceived=t},st.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var A=this.charReceived,n=this.charBuffer,r=this.encoding;t+=n.slice(0,A).toString(r)}return t},ht.ReadableState=Ct;var lt,It=(lt="stream",qe(Te)&&(Te=Ue.env.NODE_DEBUG||""),lt=lt.toUpperCase(),Ze[lt]||(new RegExp("\\b"+lt+"\\b","i").test(Te)?Ze[lt]=function(){var e=Oe.apply(null,arguments);console.error("%s %d: %s",lt,0,e)}:Ze[lt]=function(){}),Ze[lt]);function Ct(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof Ht&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var A=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=A||0===A?A:n,this.highWaterMark=~~this.highWaterMark,this.buffer=new ot,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new st(e.encoding),this.encoding=e.encoding)}function ht(e){if(!(this instanceof ht))return new ht(e);this._readableState=new Ct(e,this),this.readable=!0,e&&"function"===typeof e.read&&(this._read=e.read),n.call(this)}function ft(e,t,A,n,r){var i=function(e,t){var A=null;return ge(t)||"string"===typeof t||null===t||void 0===t||e.objectMode||(A=new TypeError("Invalid non-string/buffer chunk")),A}(t,A);if(i)e.emit("error",i);else if(null===A)t.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var A=t.decoder.end();A&&A.length&&(t.buffer.push(A),t.length+=t.objectMode?1:A.length)}t.ended=!0,Bt(e)}}(e,t);else if(t.objectMode||A&&A.length>0)if(t.ended&&!r){var o=new Error("stream.push() after EOF");e.emit("error",o)}else if(t.endEmitted&&r){var a=new Error("stream.unshift() after end event");e.emit("error",a)}else{var s;!t.decoder||r||n||(A=t.decoder.write(A),s=!t.objectMode&&0===A.length),r||(t.reading=!1),s||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",A),e.read(0)):(t.length+=t.objectMode?1:A.length,r?t.buffer.unshift(A):t.buffer.push(A),t.needReadable&&Bt(e))),function(e,t){t.readingMore||(t.readingMore=!0,ye(Et,e,t))}(e,t)}else r||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(t)}function dt(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function Bt(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(It("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?ye(pt,e):pt(e))}function pt(e){It("emit readable"),e.emit("readable"),vt(e)}function Et(e,t){for(var A=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(It("maybeReadMore read 0"),e.read(0),A!==t.length);)A=t.length;t.readingMore=!1}function Qt(e){It("readable nexttick read 0"),e.read(0)}function yt(e,t){t.reading||(It("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),vt(e),t.flowing&&!t.reading&&e.read(0)}function vt(e){var t=e._readableState;for(It("flow",t.flowing);t.flowing&&null!==e.read(););}function mt(e,t){return 0===t.length?null:(t.objectMode?A=t.buffer.shift():!e||e>=t.length?(A=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):A=function(e,t,A){var n;return e<t.head.data.length?(n=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):n=e===t.head.data.length?t.shift():A?function(e,t){var A=t.head,n=1,r=A.data;for(e-=r.length;A=A.next;){var i=A.data,o=e>i.length?i.length:e;if(o===i.length?r+=i:r+=i.slice(0,e),0===(e-=o)){o===i.length?(++n,A.next?t.head=A.next:t.head=t.tail=null):(t.head=A,A.data=i.slice(o));break}++n}return t.length-=n,r}(e,t):function(e,t){var A=F.allocUnsafe(e),n=t.head,r=1;for(n.data.copy(A),e-=n.data.length;n=n.next;){var i=n.data,o=e>i.length?i.length:e;if(i.copy(A,A.length-e,0,o),0===(e-=o)){o===i.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=i.slice(o));break}++r}return t.length-=r,A}(e,t),n}(e,t.buffer,t.decoder),A);var A}function bt(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,ye(wt,t,e))}function wt(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function St(e,t){for(var A=0,n=e.length;A<n;A++)if(e[A]===t)return A;return-1}function Ft(){}function Rt(e,t,A){this.chunk=e,this.encoding=t,this.callback=A,this.next=null}function Dt(e,t){Object.defineProperty(this,"buffer",{get:Le((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),e=e||{},this.objectMode=!!e.objectMode,t instanceof Ht&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var A=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=A||0===A?A:n,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var r=!1===e.decodeStrings;this.decodeStrings=!r,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var A=e._writableState,n=A.sync,r=A.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(A),t)!function(e,t,A,n,r){--t.pendingcb,A?ye(r,n):r(n),e._writableState.errorEmitted=!0,e.emit("error",n)}(e,A,n,t,r);else{var i=Ut(A);i||A.corked||A.bufferProcessing||!A.bufferedRequest||Nt(e,A),n?ye(xt,e,A,i,r):xt(e,A,i,r)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new Ot(this)}function Gt(e){if(!(this instanceof Gt)&&!(this instanceof Ht))return new Gt(e);this._writableState=new Dt(e,this),this.writable=!0,e&&("function"===typeof e.write&&(this._write=e.write),"function"===typeof e.writev&&(this._writev=e.writev)),n.call(this)}function kt(e,t,A,n,r,i,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,A?e._writev(r,t.onwrite):e._write(r,i,t.onwrite),t.sync=!1}function xt(e,t,A,n){A||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),Mt(e,t)}function Nt(e,t){t.bufferProcessing=!0;var A=t.bufferedRequest;if(e._writev&&A&&A.next){var n=t.bufferedRequestCount,r=new Array(n),i=t.corkedRequestsFree;i.entry=A;for(var o=0;A;)r[o]=A,A=A.next,o+=1;kt(e,t,!0,t.length,r,"",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new Ot(t)}else{for(;A;){var a=A.chunk,s=A.encoding,g=A.callback;if(kt(e,t,!1,t.objectMode?1:a.length,a,s,g),A=A.next,t.writing)break}null===A&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=A,t.bufferProcessing=!1}function Ut(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function _t(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function Mt(e,t){var A=Ut(t);return A&&(0===t.pendingcb?(_t(e,t),t.finished=!0,e.emit("finish")):_t(e,t)),A}function Ot(e){var t=this;this.next=null,this.entry=null,this.finish=function(A){var n=t.entry;for(t.entry=null;n;){var r=n.callback;e.pendingcb--,r(A),n=n.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}_e(ht,n),ht.prototype.push=function(e,t){var A=this._readableState;return A.objectMode||"string"!==typeof e||(t=t||A.defaultEncoding)!==A.encoding&&(e=F.from(e,t),t=""),ft(this,A,e,t,!1)},ht.prototype.unshift=function(e){return ft(this,this._readableState,e,"",!0)},ht.prototype.isPaused=function(){return!1===this._readableState.flowing},ht.prototype.setEncoding=function(e){return this._readableState.decoder=new st(e),this._readableState.encoding=e,this},ht.prototype.read=function(e){It("read",e),e=parseInt(e,10);var t=this._readableState,A=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return It("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?bt(this):Bt(this),null;if(0===(e=dt(e,t))&&t.ended)return 0===t.length&&bt(this),null;var n,r=t.needReadable;return It("need readable",r),(0===t.length||t.length-e<t.highWaterMark)&&It("length less than watermark",r=!0),t.ended||t.reading?It("reading or ended",r=!1):r&&(It("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=dt(A,t))),null===(n=e>0?mt(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),A!==e&&t.ended&&bt(this)),null!==n&&this.emit("data",n),n},ht.prototype._read=function(e){this.emit("error",new Error("not implemented"))},ht.prototype.pipe=function(e,t){var A=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,It("pipe count=%d opts=%j",n.pipesCount,t);var r=t&&!1===t.end?g:o;function i(e){It("onunpipe"),e===A&&g()}function o(){It("onend"),e.end()}n.endEmitted?ye(r):A.once("end",r),e.on("unpipe",i);var a=function(e){return function(){var t=e._readableState;It("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners("data").length&&(t.flowing=!0,vt(e))}}(A);e.on("drain",a);var s=!1;function g(){It("cleanup"),e.removeListener("close",I),e.removeListener("finish",C),e.removeListener("drain",a),e.removeListener("error",l),e.removeListener("unpipe",i),A.removeListener("end",o),A.removeListener("end",g),A.removeListener("data",u),s=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||a()}var c=!1;function u(t){It("ondata"),c=!1,!1!==e.write(t)||c||((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==St(n.pipes,e))&&!s&&(It("false write response, pause",A._readableState.awaitDrain),A._readableState.awaitDrain++,c=!0),A.pause())}function l(t){It("onerror",t),h(),e.removeListener("error",l),0===function(e,t){return e.listeners(t).length}(e,"error")&&e.emit("error",t)}function I(){e.removeListener("finish",C),h()}function C(){It("onfinish"),e.removeListener("close",I),h()}function h(){It("unpipe"),A.unpipe(e)}return A.on("data",u),function(e,t,A){if("function"===typeof e.prependListener)return e.prependListener(t,A);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(A):e._events[t]=[A,e._events[t]]:e.on(t,A)}(e,"error",l),e.once("close",I),e.once("finish",C),e.emit("pipe",A),n.flowing||(It("pipe resume"),A.resume()),e},ht.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var A=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var r=0;r<n;r++)A[r].emit("unpipe",this);return this}var i=St(t.pipes,e);return-1===i||(t.pipes.splice(i,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this)),this},ht.prototype.on=function(e,t){var A=n.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&Bt(this):ye(Qt,this))}return A},ht.prototype.addListener=ht.prototype.on,ht.prototype.resume=function(){var e=this._readableState;return e.flowing||(It("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,ye(yt,e,t))}(this,e)),this},ht.prototype.pause=function(){return It("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(It("pause"),this._readableState.flowing=!1,this.emit("pause")),this},ht.prototype.wrap=function(e){var t=this._readableState,A=!1,n=this;for(var r in e.on("end",(function(){if(It("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&n.push(e)}n.push(null)})),e.on("data",(function(r){It("wrapped data"),t.decoder&&(r=t.decoder.write(r)),(!t.objectMode||null!==r&&void 0!==r)&&(t.objectMode||r&&r.length)&&(n.push(r)||(A=!0,e.pause()))})),e)void 0===this[r]&&"function"===typeof e[r]&&(this[r]=function(t){return function(){return e[t].apply(e,arguments)}}(r));return function(e,t){for(var A=0,n=e.length;A<n;A++)t(e[A],A)}(["error","close","destroy","pause","resume"],(function(t){e.on(t,n.emit.bind(n,t))})),n._read=function(t){It("wrapped _read",t),A&&(A=!1,e.resume())},n},ht._fromList=mt,Gt.WritableState=Dt,_e(Gt,n),Dt.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},Gt.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},Gt.prototype.write=function(e,t,A){var n=this._writableState,r=!1;return"function"===typeof t&&(A=t,t=null),F.isBuffer(e)?t="buffer":t||(t=n.defaultEncoding),"function"!==typeof A&&(A=Ft),n.ended?function(e,t){var A=new Error("write after end");e.emit("error",A),ye(t,A)}(this,A):function(e,t,A,n){var r=!0,i=!1;return null===A?i=new TypeError("May not write null values to stream"):F.isBuffer(A)||"string"===typeof A||void 0===A||t.objectMode||(i=new TypeError("Invalid non-string/buffer chunk")),i&&(e.emit("error",i),ye(n,i),r=!1),r}(this,n,e,A)&&(n.pendingcb++,r=function(e,t,A,n,r){A=function(e,t,A){return e.objectMode||!1===e.decodeStrings||"string"!==typeof t||(t=F.from(t,A)),t}(t,A,n),F.isBuffer(A)&&(n="buffer");var i=t.objectMode?1:A.length;t.length+=i;var o=t.length<t.highWaterMark;if(o||(t.needDrain=!0),t.writing||t.corked){var a=t.lastBufferedRequest;t.lastBufferedRequest=new Rt(A,n,r),a?a.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else kt(e,t,!1,i,A,n,r);return o}(this,n,e,t,A)),r},Gt.prototype.cork=function(){this._writableState.corked++},Gt.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||Nt(this,e))},Gt.prototype.setDefaultEncoding=function(e){if("string"===typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Gt.prototype._write=function(e,t,A){A(new Error("not implemented"))},Gt.prototype._writev=null,Gt.prototype.end=function(e,t,A){var n=this._writableState;"function"===typeof e?(A=e,e=null,t=null):"function"===typeof t&&(A=t,t=null),null!==e&&void 0!==e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,A){t.ending=!0,Mt(e,t),A&&(t.finished?ye(A):e.once("finish",A)),t.ended=!0,e.writable=!1}(this,n,A)},_e(Ht,ht);for(var Lt=Object.keys(Gt.prototype),Tt=0;Tt<Lt.length;Tt++){var Zt=Lt[Tt];Ht.prototype[Zt]||(Ht.prototype[Zt]=Gt.prototype[Zt])}function Ht(e){if(!(this instanceof Ht))return new Ht(e);ht.call(this,e),Gt.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",Yt)}function Yt(){this.allowHalfOpen||this._writableState.ended||ye(Jt,this)}function Jt(e){e.end()}function jt(e){this.afterTransform=function(t,A){return function(e,t,A){var n=e._transformState;n.transforming=!1;var r=n.writecb;if(!r)return e.emit("error",new Error("no writecb in Transform class"));n.writechunk=null,n.writecb=null,null!==A&&void 0!==A&&e.push(A),r(t);var i=e._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&e._read(i.highWaterMark)}(e,t,A)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function Pt(e){if(!(this instanceof Pt))return new Pt(e);Ht.call(this,e),this._transformState=new jt(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"===typeof e.transform&&(this._transform=e.transform),"function"===typeof e.flush&&(this._flush=e.flush)),this.once("prefinish",(function(){"function"===typeof this._flush?this._flush((function(e){Vt(t,e)})):Vt(t)}))}function Vt(e,t){if(t)return e.emit("error",t);var A=e._writableState,n=e._transformState;if(A.length)throw new Error("Calling transform done when ws.length != 0");if(n.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}function Kt(e){if(!(this instanceof Kt))return new Kt(e);Pt.call(this,e)}function Wt(){n.call(this)}function Xt(e){return(Xt="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function qt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function zt(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function $t(e,t,A){return t&&zt(e.prototype,t),A&&zt(e,A),e}function eA(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&AA(e,t)}function tA(e){return(tA=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function AA(e,t){return(AA=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function nA(e,t){return!t||"object"!==typeof t&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function rA(e){return function(e){if(Array.isArray(e)){for(var t=0,A=new Array(e.length);t<e.length;t++)A[t]=e[t];return A}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}_e(Pt,Ht),Pt.prototype.push=function(e,t){return this._transformState.needTransform=!1,Ht.prototype.push.call(this,e,t)},Pt.prototype._transform=function(e,t,A){throw new Error("Not implemented")},Pt.prototype._write=function(e,t,A){var n=this._transformState;if(n.writecb=A,n.writechunk=e,n.writeencoding=t,!n.transforming){var r=this._readableState;(n.needTransform||r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}},Pt.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},_e(Kt,Pt),Kt.prototype._transform=function(e,t,A){A(null,e)},_e(Wt,n),Wt.Readable=ht,Wt.Writable=Gt,Wt.Duplex=Ht,Wt.Transform=Pt,Wt.PassThrough=Kt,Wt.Stream=Wt,Wt.prototype.pipe=function(e,t){var A=this;function r(t){e.writable&&!1===e.write(t)&&A.pause&&A.pause()}function i(){A.readable&&A.resume&&A.resume()}A.on("data",r),e.on("drain",i),e._isStdio||t&&!1===t.end||(A.on("end",a),A.on("close",s));var o=!1;function a(){o||(o=!0,e.end())}function s(){o||(o=!0,"function"===typeof e.destroy&&e.destroy())}function g(e){if(c(),0===n.listenerCount(this,"error"))throw e}function c(){A.removeListener("data",r),e.removeListener("drain",i),A.removeListener("end",a),A.removeListener("close",s),A.removeListener("error",g),e.removeListener("error",g),A.removeListener("end",c),A.removeListener("close",c),e.removeListener("close",c)}return A.on("error",g),e.on("error",g),A.on("end",c),A.on("close",c),e.on("close",c),e.emit("pipe",A),e};var iA="\n",oA="undefined"!==typeof window?window:"undefined"!==typeof e?e:"undefined"!==typeof self?self:{},aA=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,sA=/^\w*$/,gA=/^\./,cA=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,uA=/\\(\\)?/g,lA=/^\[object .+?Constructor\]$/,IA="object"==typeof oA&&oA&&oA.Object===Object&&oA,CA="object"==typeof self&&self&&self.Object===Object&&self,hA=IA||CA||Function("return this")(),fA=Array.prototype,dA=Function.prototype,BA=Object.prototype,pA=hA["__core-js_shared__"],EA=function(){var e=/[^.]+$/.exec(pA&&pA.keys&&pA.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),QA=dA.toString,yA=BA.hasOwnProperty,vA=BA.toString,mA=RegExp("^"+QA.call(yA).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),bA=hA.Symbol,wA=fA.splice,SA=OA(hA,"Map"),FA=OA(Object,"create"),RA=bA?bA.prototype:void 0,DA=RA?RA.toString:void 0;function GA(e){var t=-1,A=e?e.length:0;for(this.clear();++t<A;){var n=e[t];this.set(n[0],n[1])}}function kA(e){var t=-1,A=e?e.length:0;for(this.clear();++t<A;){var n=e[t];this.set(n[0],n[1])}}function xA(e){var t=-1,A=e?e.length:0;for(this.clear();++t<A;){var n=e[t];this.set(n[0],n[1])}}function NA(e,t){for(var A,n,r=e.length;r--;)if((A=e[r][0])===(n=t)||A!==A&&n!==n)return r;return-1}function UA(e,t){for(var A,n=0,r=(t=function(e,t){if(HA(e))return!1;var A=typeof e;return!("number"!=A&&"symbol"!=A&&"boolean"!=A&&null!=e&&!JA(e))||(sA.test(e)||!aA.test(e)||null!=t&&e in Object(t))}(t,e)?[t]:HA(A=t)?A:LA(A)).length;null!=e&&n<r;)e=e[TA(t[n++])];return n&&n==r?e:void 0}function _A(e){return!(!YA(e)||(t=e,EA&&EA in t))&&(function(e){var t=YA(e)?vA.call(e):"";return"[object Function]"==t||"[object GeneratorFunction]"==t}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(A){}return t}(e)?mA:lA).test(function(e){if(null!=e){try{return QA.call(e)}catch(t){}try{return e+""}catch(t){}}return""}(e));var t}function MA(e,t){var A=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?A["string"==typeof t?"string":"hash"]:A.map}function OA(e,t){var A=function(e,t){return null==e?void 0:e[t]}(e,t);return _A(A)?A:void 0}GA.prototype.clear=function(){this.__data__=FA?FA(null):{}},GA.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},GA.prototype.get=function(e){var t=this.__data__;if(FA){var A=t[e];return"__lodash_hash_undefined__"===A?void 0:A}return yA.call(t,e)?t[e]:void 0},GA.prototype.has=function(e){var t=this.__data__;return FA?void 0!==t[e]:yA.call(t,e)},GA.prototype.set=function(e,t){return this.__data__[e]=FA&&void 0===t?"__lodash_hash_undefined__":t,this},kA.prototype.clear=function(){this.__data__=[]},kA.prototype.delete=function(e){var t=this.__data__,A=NA(t,e);return!(A<0)&&(A==t.length-1?t.pop():wA.call(t,A,1),!0)},kA.prototype.get=function(e){var t=this.__data__,A=NA(t,e);return A<0?void 0:t[A][1]},kA.prototype.has=function(e){return NA(this.__data__,e)>-1},kA.prototype.set=function(e,t){var A=this.__data__,n=NA(A,e);return n<0?A.push([e,t]):A[n][1]=t,this},xA.prototype.clear=function(){this.__data__={hash:new GA,map:new(SA||kA),string:new GA}},xA.prototype.delete=function(e){return MA(this,e).delete(e)},xA.prototype.get=function(e){return MA(this,e).get(e)},xA.prototype.has=function(e){return MA(this,e).has(e)},xA.prototype.set=function(e,t){return MA(this,e).set(e,t),this};var LA=ZA((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(JA(e))return DA?DA.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var A=[];return gA.test(e)&&A.push(""),e.replace(cA,(function(e,t,n,r){A.push(n?r.replace(uA,"$1"):t||e)})),A}));function TA(e){if("string"==typeof e||JA(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function ZA(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var A=function A(){var n=arguments,r=t?t.apply(this,n):n[0],i=A.cache;if(i.has(r))return i.get(r);var o=e.apply(this,n);return A.cache=i.set(r,o),o};return A.cache=new(ZA.Cache||xA),A}ZA.Cache=xA;var HA=Array.isArray;function YA(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function JA(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==vA.call(e)}var jA=function(e,t,A){var n=null==e?void 0:UA(e,t);return void 0===n?A:n},PA=function(e,t){var A=!0;return e.reduce((function(e,n){return null!==n&&void 0!==n||(n=""),A?(A=!1,"".concat(n)):"".concat(e).concat(t).concat(n)}),"")},VA=function(e,t){try{return e.push.apply(e,rA(t)),e}catch(A){return e.concat(t)}},KA=function(e,t,A){return void 0===e[t]||null===e[t]?A:e[t]},WA=function e(t,A,n){var r=Array.isArray(A)?A:A.split("."),i=r[0],o=r.length>1?e(t[i]||{},r.slice(1),n):n;return Object.assign({},t,function(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}({},i,o))},XA=PA,qA=VA,zA=function(){function e(t){qt(this,e),this.opts=this.preprocessOpts(t),this.preprocessRow=this.memoizePreprocessRow()}return $t(e,[{key:"preprocessOpts",value:function(e){var t=Object.assign({},e);return t.unwind=Array.isArray(t.unwind)?t.unwind:t.unwind?[t.unwind]:[],t.delimiter=t.delimiter||",",t.flattenSeparator=t.flattenSeparator||".",t.eol=t.eol||iA,t.quote="string"===typeof t.quote?e.quote:'"',t.doubleQuote="string"===typeof t.doubleQuote?t.doubleQuote:t.quote+t.quote,t.header=!1!==t.header,t.includeEmptyRows=t.includeEmptyRows||!1,t.withBOM=t.withBOM||!1,t}},{key:"preprocessFieldsInfo",value:function(e){var t=this;return e.map((function(e){if("string"===typeof e)return{label:e,value:e.includes(".")||e.includes("[")?function(A){return jA(A,e,t.opts.defaultValue)}:function(A){return KA(A,e,t.opts.defaultValue)},stringify:!0};if("object"===Xt(e)){var A="default"in e?e.default:t.opts.defaultValue;if("string"===typeof e.value)return{label:e.label||e.value,value:e.value.includes(".")||e.value.includes("[")?function(t){return jA(t,e.value,A)}:function(t){return KA(t,e.value,A)},stringify:void 0===e.stringify||e.stringify};if("function"===typeof e.value){var n=e.label||e.value.name||"",r={label:n,default:A};return{label:n,value:function(t){var n=e.value(t,r);return null===n||void 0===n?A:n},stringify:void 0===e.stringify||e.stringify}}}throw new Error("Invalid field info option. "+JSON.stringify(e))}))}},{key:"getHeader",value:function(){var e=this;return XA(this.opts.fields.map((function(t){return e.processValue(t.label,!0)})),this.opts.delimiter)}},{key:"memoizePreprocessRow",value:function(){return this.opts.unwind&&this.opts.unwind.length?this.opts.flatten?function(e){var t=this;return this.unwindData(e,this.opts.unwind).map((function(e){return t.flatten(e,t.opts.flattenSeparator)}))}:function(e){return this.unwindData(e,this.opts.unwind)}:this.opts.flatten?function(e){return[this.flatten(e,this.opts.flattenSeparator)]}:function(e){return[e]}}},{key:"preprocessRow",value:function(){}},{key:"processRow",value:function(e){var t=this;if(e){var A=this.opts.fields.map((function(A){return t.processCell(e,A)}));if(this.opts.includeEmptyRows||!A.every((function(e){return void 0===e})))return XA(A,this.opts.delimiter)}}},{key:"processCell",value:function(e,t){return this.processValue(t.value(e),t.stringify)}},{key:"processValue",value:function(e,t){if(null!==e&&void 0!==e){var A=Xt(e);if("boolean"!==A&&"number"!==A&&"string"!==A){if(void 0===(e=JSON.stringify(e)))return;'"'===e[0]&&(e=e.replace(/^"(.+)"$/,"$1"))}return"string"===typeof e&&(e.includes(this.opts.quote)&&(e=e.replace(new RegExp(this.opts.quote,"g"),this.opts.doubleQuote)),e=t?"".concat(this.opts.quote).concat(e).concat(this.opts.quote):e.replace(new RegExp("^".concat(this.opts.doubleQuote)),this.opts.quote).replace(new RegExp("".concat(this.opts.doubleQuote,"$")),this.opts.quote),this.opts.excelStrings&&(e='"="'.concat(e,'""'))),e}}},{key:"flatten",value:function(e,t){return function e(A,n,r){return Object.keys(A).forEach((function(i){var o=A[i],a=r?"".concat(r).concat(t).concat(i):i;"object"===Xt(o)&&null!==o&&!Array.isArray(o)&&"[object Function]"!==Object.prototype.toString.call(o.toJSON)&&Object.keys(o).length?e(o,n,a):n[a]=o})),n}(e,{})}},{key:"unwindData",value:function(e,t){var A=this;return t.reduce((function(e,t){return e.map((function(e){var n=jA(e,t);return Array.isArray(n)?n.length?n.map((function(n,r){var i=A.opts.unwindBlank&&r>0?{}:e;return WA(i,t,n)})):WA(e,t,void 0):e})).reduce(qA,[])}),[e])}}]),e}(),$A=PA,en=VA,tn=function(e){function t(e){var A;return qt(this,t),(A=nA(this,tA(t).call(this,e))).opts.fields&&(A.opts.fields=A.preprocessFieldsInfo(A.opts.fields)),A}return eA(t,e),$t(t,[{key:"parse",value:function(e){var t=this.preprocessData(e);this.opts.fields||(this.opts.fields=t.reduce((function(e,t){return Object.keys(t).forEach((function(t){e.includes(t)||e.push(t)})),e}),[]),this.opts.fields=this.preprocessFieldsInfo(this.opts.fields));var A=this.opts.header?this.getHeader():"",n=this.processData(t);return(this.opts.withBOM?"\ufeff":"")+A+(A&&n?this.opts.eol:"")+n}},{key:"preprocessData",value:function(e){var t=this,A=Array.isArray(e)?e:[e];if(!this.opts.fields&&(0===A.length||"object"!==Xt(A[0])))throw new Error('Data should not be empty or the "fields" option should be included');return this.opts.unwind&&this.opts.unwind.length||this.opts.flatten?A.map((function(e){return t.preprocessRow(e)})).reduce(en,[]):A}},{key:"processData",value:function(e){var t=this;return $A(e.map((function(e){return t.processRow(e)})).filter((function(e){return e})),this.opts.eol)}}]),t}(zA),An={},nn=An.LEFT_BRACE=1,rn=An.RIGHT_BRACE=2,on=An.LEFT_BRACKET=3,an=An.RIGHT_BRACKET=4,sn=An.COLON=5,gn=An.COMMA=6,cn=An.TRUE=7,un=An.FALSE=8,ln=An.NULL=9,In=An.STRING=10,Cn=An.NUMBER=11,hn=An.START=17,fn=An.STOP=18,dn=An.TRUE1=33,Bn=An.TRUE2=34,pn=An.TRUE3=35,En=An.FALSE1=49,Qn=An.FALSE2=50,yn=An.FALSE3=51,vn=An.FALSE4=52,mn=An.NULL1=65,bn=An.NULL2=66,wn=An.NULL3=67,Sn=An.NUMBER1=81,Fn=An.NUMBER3=83,Rn=An.STRING1=97,Dn=An.STRING2=98,Gn=An.STRING3=99,kn=An.STRING4=100,xn=An.STRING5=101,Nn=An.STRING6=102,Un=An.VALUE=113,_n=An.KEY=114,Mn=An.OBJECT=129,On=An.ARRAY=130,Ln="\\".charCodeAt(0),Tn="/".charCodeAt(0),Zn="\b".charCodeAt(0),Hn="\f".charCodeAt(0),Yn="\n".charCodeAt(0),Jn="\r".charCodeAt(0),jn="\t".charCodeAt(0);function Pn(){this.tState=hn,this.value=void 0,this.string=void 0,this.stringBuffer=F.alloc?F.alloc(65536):new F(65536),this.stringBufferOffset=0,this.unicode=void 0,this.highSurrogate=void 0,this.key=void 0,this.mode=void 0,this.stack=[],this.state=Un,this.bytes_remaining=0,this.bytes_in_sequence=0,this.temp_buffs={2:new F(2),3:new F(3),4:new F(4)},this.offset=-1}Pn.toknam=function(e){for(var t=Object.keys(An),A=0,n=t.length;A<n;A++){var r=t[A];if(An[r]===e)return r}return e&&"0x"+e.toString(16)};var Vn=Pn.prototype;Vn.onError=function(e){throw e},Vn.charError=function(e,t){this.tState=fn,this.onError(new Error("Unexpected "+JSON.stringify(String.fromCharCode(e[t]))+" at position "+t+" in state "+Pn.toknam(this.tState)))},Vn.appendStringChar=function(e){this.stringBufferOffset>=65536&&(this.string+=this.stringBuffer.toString("utf8"),this.stringBufferOffset=0),this.stringBuffer[this.stringBufferOffset++]=e},Vn.appendStringBuf=function(e,t,A){var n=e.length;"number"===typeof t&&(n="number"===typeof A?A<0?e.length-t+A:A-t:e.length-t),n<0&&(n=0),this.stringBufferOffset+n>65536&&(this.string+=this.stringBuffer.toString("utf8",0,this.stringBufferOffset),this.stringBufferOffset=0),e.copy(this.stringBuffer,this.stringBufferOffset,t,A),this.stringBufferOffset+=n},Vn.write=function(e){var t;"string"===typeof e&&(e=new F(e));for(var A=0,n=e.length;A<n;A++)if(this.tState===hn){if(t=e[A],this.offset++,123===t)this.onToken(nn,"{");else if(125===t)this.onToken(rn,"}");else if(91===t)this.onToken(on,"[");else if(93===t)this.onToken(an,"]");else if(58===t)this.onToken(sn,":");else if(44===t)this.onToken(gn,",");else if(116===t)this.tState=dn;else if(102===t)this.tState=En;else if(110===t)this.tState=mn;else if(34===t)this.string="",this.stringBufferOffset=0,this.tState=Rn;else if(45===t)this.string="-",this.tState=Sn;else if(t>=48&&t<64)this.string=String.fromCharCode(t),this.tState=Fn;else if(32!==t&&9!==t&&10!==t&&13!==t)return this.charError(e,A)}else if(this.tState===Rn)if(t=e[A],this.bytes_remaining>0){for(var r=0;r<this.bytes_remaining;r++)this.temp_buffs[this.bytes_in_sequence][this.bytes_in_sequence-this.bytes_remaining+r]=e[r];this.appendStringBuf(this.temp_buffs[this.bytes_in_sequence]),this.bytes_in_sequence=this.bytes_remaining=0,A=A+r-1}else if(0===this.bytes_remaining&&t>=128){if(t<=193||t>244)return this.onError(new Error("Invalid UTF-8 character at position "+A+" in state "+Pn.toknam(this.tState)));if(t>=194&&t<=223&&(this.bytes_in_sequence=2),t>=224&&t<=239&&(this.bytes_in_sequence=3),t>=240&&t<=244&&(this.bytes_in_sequence=4),this.bytes_in_sequence+A>e.length){for(var i=0;i<=e.length-1-A;i++)this.temp_buffs[this.bytes_in_sequence][i]=e[A+i];this.bytes_remaining=A+this.bytes_in_sequence-e.length,A=e.length-1}else this.appendStringBuf(e,A,A+this.bytes_in_sequence),A=A+this.bytes_in_sequence-1}else if(34===t)this.tState=hn,this.string+=this.stringBuffer.toString("utf8",0,this.stringBufferOffset),this.stringBufferOffset=0,this.onToken(In,this.string),this.offset+=F.byteLength(this.string,"utf8")+1,this.string=void 0;else if(92===t)this.tState=Dn;else{if(!(t>=32))return this.charError(e,A);this.appendStringChar(t)}else if(this.tState===Dn)if(34===(t=e[A]))this.appendStringChar(t),this.tState=Rn;else if(92===t)this.appendStringChar(Ln),this.tState=Rn;else if(47===t)this.appendStringChar(Tn),this.tState=Rn;else if(98===t)this.appendStringChar(Zn),this.tState=Rn;else if(102===t)this.appendStringChar(Hn),this.tState=Rn;else if(110===t)this.appendStringChar(Yn),this.tState=Rn;else if(114===t)this.appendStringChar(Jn),this.tState=Rn;else if(116===t)this.appendStringChar(jn),this.tState=Rn;else{if(117!==t)return this.charError(e,A);this.unicode="",this.tState=Gn}else if(this.tState===Gn||this.tState===kn||this.tState===xn||this.tState===Nn){if(!((t=e[A])>=48&&t<64||t>64&&t<=70||t>96&&t<=102))return this.charError(e,A);if(this.unicode+=String.fromCharCode(t),this.tState++===Nn){var o=parseInt(this.unicode,16);this.unicode=void 0,void 0!==this.highSurrogate&&o>=56320&&o<57344?(this.appendStringBuf(new F(String.fromCharCode(this.highSurrogate,o))),this.highSurrogate=void 0):void 0===this.highSurrogate&&o>=55296&&o<56320?this.highSurrogate=o:(void 0!==this.highSurrogate&&(this.appendStringBuf(new F(String.fromCharCode(this.highSurrogate))),this.highSurrogate=void 0),this.appendStringBuf(new F(String.fromCharCode(o)))),this.tState=Rn}}else if(this.tState===Sn||this.tState===Fn)switch(t=e[A]){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 46:case 101:case 69:case 43:case 45:this.string+=String.fromCharCode(t),this.tState=Fn;break;default:this.tState=hn;var a=Number(this.string);if(isNaN(a))return this.charError(e,A);this.string.match(/[0-9]+/)==this.string&&a.toString()!=this.string?this.onToken(In,this.string):this.onToken(Cn,a),this.offset+=this.string.length-1,this.string=void 0,A--}else if(this.tState===dn){if(114!==e[A])return this.charError(e,A);this.tState=Bn}else if(this.tState===Bn){if(117!==e[A])return this.charError(e,A);this.tState=pn}else if(this.tState===pn){if(101!==e[A])return this.charError(e,A);this.tState=hn,this.onToken(cn,!0),this.offset+=3}else if(this.tState===En){if(97!==e[A])return this.charError(e,A);this.tState=Qn}else if(this.tState===Qn){if(108!==e[A])return this.charError(e,A);this.tState=yn}else if(this.tState===yn){if(115!==e[A])return this.charError(e,A);this.tState=vn}else if(this.tState===vn){if(101!==e[A])return this.charError(e,A);this.tState=hn,this.onToken(un,!1),this.offset+=4}else if(this.tState===mn){if(117!==e[A])return this.charError(e,A);this.tState=bn}else if(this.tState===bn){if(108!==e[A])return this.charError(e,A);this.tState=wn}else if(this.tState===wn){if(108!==e[A])return this.charError(e,A);this.tState=hn,this.onToken(ln,null),this.offset+=3}},Vn.onToken=function(e,t){},Vn.parseError=function(e,t){this.tState=fn,this.onError(new Error("Unexpected "+Pn.toknam(e)+(t?"("+JSON.stringify(t)+")":"")+" in state "+Pn.toknam(this.state)))},Vn.push=function(){this.stack.push({value:this.value,key:this.key,mode:this.mode})},Vn.pop=function(){var e=this.value,t=this.stack.pop();this.value=t.value,this.key=t.key,this.mode=t.mode,this.emit(e),this.mode||(this.state=Un)},Vn.emit=function(e){this.mode&&(this.state=gn),this.onValue(e)},Vn.onValue=function(e){},Vn.onToken=function(e,t){if(this.state===Un)if(e===In||e===Cn||e===cn||e===un||e===ln)this.value&&(this.value[this.key]=t),this.emit(t);else if(e===nn)this.push(),this.value?this.value=this.value[this.key]={}:this.value={},this.key=void 0,this.state=_n,this.mode=Mn;else if(e===on)this.push(),this.value?this.value=this.value[this.key]=[]:this.value=[],this.key=0,this.mode=On,this.state=Un;else if(e===rn){if(this.mode!==Mn)return this.parseError(e,t);this.pop()}else{if(e!==an)return this.parseError(e,t);if(this.mode!==On)return this.parseError(e,t);this.pop()}else if(this.state===_n)if(e===In)this.key=t,this.state=sn;else{if(e!==rn)return this.parseError(e,t);this.pop()}else if(this.state===sn){if(e!==sn)return this.parseError(e,t);this.state=Un}else{if(this.state!==gn)return this.parseError(e,t);if(e===gn)this.mode===On?(this.key++,this.state=Un):this.mode===Mn&&(this.state=_n);else{if(!(e===an&&this.mode===On||e===rn&&this.mode===Mn))return this.parseError(e,t);this.pop()}}},Pn.C=An;var Kn=Pn,Wn=function(e){function t(e,A){var n;return qt(this,t),n=nA(this,tA(t).call(this,A)),Object.getOwnPropertyNames(zA.prototype).forEach((function(e){return n[e]=zA.prototype[e]})),n.opts=n.preprocessOpts(e),n.preprocessRow=n.memoizePreprocessRow(),n._data="",n._hasWritten=!1,n._readableState.objectMode?n.initObjectModeParse():n.opts.ndjson?n.initNDJSONParse():n.initJSONParser(),n.opts.withBOM&&n.push("\ufeff"),n.opts.fields&&(n.opts.fields=n.preprocessFieldsInfo(n.opts.fields),n.pushHeader()),n}return eA(t,e),$t(t,[{key:"initObjectModeParse",value:function(){var e=this;this.parser={write:function(t){e.pushLine(t)},getPendingData:function(){}}}},{key:"initNDJSONParse",value:function(){var e=this;this.parser={_data:"",write:function(t){this._data+=t.toString();var A=this._data.split("\n").map((function(e){return e.trim()})).filter((function(e){return""!==e})),n=!1;A.forEach((function(t,r){try{e.pushLine(JSON.parse(t))}catch(i){r===A.length-1?n=!0:(i.message="Invalid JSON ("+t+")",e.emit("error",i))}})),this._data=n?this._data.slice(this._data.lastIndexOf("\n")):""},getPendingData:function(){return this._data}}}},{key:"initJSONParser",value:function(){var e=this;this.parser=new Kn,this.parser.onValue=function(t){this.stack.length===this.depthToEmit&&e.pushLine(t)},this.parser._onToken=this.parser.onToken,this.parser.onToken=function(t,A){e.parser._onToken(t,A),0!==this.stack.length||e.opts.fields||this.mode===Kn.C.ARRAY||this.mode===Kn.C.OBJECT||this.onError(new Error('Data should not be empty or the "fields" option should be included')),1===this.stack.length&&(void 0===this.depthToEmit&&(this.depthToEmit=this.mode===Kn.C.ARRAY?1:0),0!==this.depthToEmit&&1===this.stack.length&&(this.value=void 0))},this.parser.getPendingData=function(){return this.value},this.parser.onError=function(t){t.message.includes("Unexpected")&&(t.message="Invalid JSON ("+t.message+")"),e.emit("error",t)}}},{key:"_transform",value:function(e,t,A){this.parser.write(e),A()}},{key:"_flush",value:function(e){this.parser.getPendingData()&&e(new Error("Invalid data received from stdin",this.parser.getPendingData())),e()}},{key:"pushHeader",value:function(){if(this.opts.header){var e=this.getHeader();this.emit("header",e),this.push(e),this._hasWritten=!0}}},{key:"pushLine",value:function(e){var t=this,A=this.preprocessRow(e);this._hasWritten||(this.opts.fields=this.opts.fields||this.preprocessFieldsInfo(Object.keys(A[0])),this.pushHeader()),A.forEach((function(e){var A=t.processRow(e,t.opts);void 0!==A&&(t.emit("line",A),t.push(t._hasWritten?t.opts.eol+A:A),t._hasWritten=!0)}))}}]),t}(Wt.Transform),Xn=Wt.Transform,qn=PA,zn=function(){function e(t,A){qt(this,e),this.input=new Xn(A),this.input._read=function(){},this.transform=new Wn(t,A),this.processor=this.input.pipe(this.transform)}return $t(e,[{key:"fromInput",value:function(e){if(this._input)throw new Error("Async parser already has an input.");return this._input=e,this.input=this._input.pipe(this.processor),this}},{key:"throughTransform",value:function(e){if(this._output)throw new Error("Can't add transforms once an output has been added.");return this.processor=this.processor.pipe(e),this}},{key:"toOutput",value:function(e){if(this._output)throw new Error("Async parser already has an output.");return this._output=e,this.processor=this.processor.pipe(e),this}},{key:"promise",value:function(){var e=this;return new Promise((function(t,A){var n=[];e.processor.on("data",(function(e){return n.push(e.toString())})).on("finish",(function(){return t(qn(n,""))})).on("error",(function(e){return A(e)}))}))}}]),e}(),$n=Wt.Readable,er=tn,tr=zn,Ar=Wn,nr=function(e,t){return new tn(t).parse(e)},rr=function(e,t,A){try{e instanceof $n||(A=Object.assign({},A,{objectMode:!0}));var n=new zn(t,A),r=n.promise();return Array.isArray(e)?(e.forEach((function(e){return n.input.push(e)})),n.input.push(null)):e instanceof $n?n.fromInput(e):(n.input.push(e),n.input.push(null)),r}catch(i){return Promise.reject(i)}},ir={Parser:er,AsyncParser:tr,Transform:Ar,parse:nr,parseAsync:rr};t.default=ir,t.Parser=er,t.AsyncParser=tr,t.Transform=Ar,t.parse=nr,t.parseAsync=rr,Object.defineProperty(t,"__esModule",{value:!0})})(t)}).call(this,A(86))},function(e,t,A){"use strict";var n=A(876),r=A(877),i=A(878),o=A(881).orient2d;function a(e,t,A){t=Math.max(0,void 0===t?2:t),A=A||0;var r=function(e){for(var t=e[0],A=e[0],n=e[0],r=e[0],o=0;o<e.length;o++){var a=e[o];a[0]<t[0]&&(t=a),a[0]>n[0]&&(n=a),a[1]<A[1]&&(A=a),a[1]>r[1]&&(r=a)}var s=[t,A,n,r],g=s.slice();for(o=0;o<e.length;o++)i(e[o],s)||g.push(e[o]);return function(e){e.sort(p);for(var t=[],A=0;A<e.length;A++){for(;t.length>=2&&I(t[t.length-2],t[t.length-1],e[A])<=0;)t.pop();t.push(e[A])}for(var n=[],r=e.length-1;r>=0;r--){for(;n.length>=2&&I(n[n.length-2],n[n.length-1],e[r])<=0;)n.pop();n.push(e[r])}return n.pop(),t.pop(),t.concat(n)}(g)}(e),o=new n(16);o.toBBox=function(e){return{minX:e[0],minY:e[1],maxX:e[0],maxY:e[1]}},o.compareMinX=function(e,t){return e[0]-t[0]},o.compareMinY=function(e,t){return e[1]-t[1]},o.load(e);for(var a,g=[],c=0;c<r.length;c++){var u=r[c];o.remove(u),a=h(u,a),g.push(a)}var l=new n(16);for(c=0;c<g.length;c++)l.insert(C(g[c]));for(var d=t*t,B=A*A;g.length;){var E=g.shift(),Q=E.p,y=E.next.p,v=f(Q,y);if(!(v<B)){var m=v/d;(u=s(o,E.prev.p,Q,y,E.next.next.p,m,l))&&Math.min(f(u,Q),f(u,y))<=m&&(g.push(E),g.push(h(u,E)),o.remove(u),l.remove(E),l.insert(C(E)),l.insert(C(E.next)))}}E=a;var b=[];do{b.push(E.p),E=E.next}while(E!==a);return b.push(E.p),b}function s(e,t,A,n,i,o,a){for(var s=new r([],g),u=e.data;u;){for(var I=0;I<u.children.length;I++){var C=u.children[I],h=u.leaf?d(C,A,n):c(A,n,C);h>o||s.push({node:C,dist:h})}for(;s.length&&!s.peek().node.children;){var f=s.pop(),B=f.node,p=d(B,t,A),E=d(B,n,i);if(f.dist<p&&f.dist<E&&l(A,B,a)&&l(n,B,a))return B}(u=s.pop())&&(u=u.node)}return null}function g(e,t){return e.dist-t.dist}function c(e,t,A){if(u(e,A)||u(t,A))return 0;var n=B(e[0],e[1],t[0],t[1],A.minX,A.minY,A.maxX,A.minY);if(0===n)return 0;var r=B(e[0],e[1],t[0],t[1],A.minX,A.minY,A.minX,A.maxY);if(0===r)return 0;var i=B(e[0],e[1],t[0],t[1],A.maxX,A.minY,A.maxX,A.maxY);if(0===i)return 0;var o=B(e[0],e[1],t[0],t[1],A.minX,A.maxY,A.maxX,A.maxY);return 0===o?0:Math.min(n,r,i,o)}function u(e,t){return e[0]>=t.minX&&e[0]<=t.maxX&&e[1]>=t.minY&&e[1]<=t.maxY}function l(e,t,A){for(var n,r,i,o,a=Math.min(e[0],t[0]),s=Math.min(e[1],t[1]),g=Math.max(e[0],t[0]),c=Math.max(e[1],t[1]),u=A.search({minX:a,minY:s,maxX:g,maxY:c}),l=0;l<u.length;l++)if(n=u[l].p,r=u[l].next.p,i=e,n!==(o=t)&&r!==i&&I(n,r,i)>0!==I(n,r,o)>0&&I(i,o,n)>0!==I(i,o,r)>0)return!1;return!0}function I(e,t,A){return o(e[0],e[1],t[0],t[1],A[0],A[1])}function C(e){var t=e.p,A=e.next.p;return e.minX=Math.min(t[0],A[0]),e.minY=Math.min(t[1],A[1]),e.maxX=Math.max(t[0],A[0]),e.maxY=Math.max(t[1],A[1]),e}function h(e,t){var A={p:e,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return t?(A.next=t.next,A.prev=t,t.next.prev=A,t.next=A):(A.prev=A,A.next=A),A}function f(e,t){var A=e[0]-t[0],n=e[1]-t[1];return A*A+n*n}function d(e,t,A){var n=t[0],r=t[1],i=A[0]-n,o=A[1]-r;if(0!==i||0!==o){var a=((e[0]-n)*i+(e[1]-r)*o)/(i*i+o*o);a>1?(n=A[0],r=A[1]):a>0&&(n+=i*a,r+=o*a)}return(i=e[0]-n)*i+(o=e[1]-r)*o}function B(e,t,A,n,r,i,o,a){var s,g,c,u,l=A-e,I=n-t,C=o-r,h=a-i,f=e-r,d=t-i,B=l*l+I*I,p=l*C+I*h,E=C*C+h*h,Q=l*f+I*d,y=C*f+h*d,v=B*E-p*p,m=v,b=v;0===v?(g=0,m=1,u=y,b=E):(u=B*y-p*Q,(g=p*y-E*Q)<0?(g=0,u=y,b=E):g>m&&(g=m,u=y+p,b=E)),u<0?(u=0,-Q<0?g=0:-Q>B?g=m:(g=-Q,m=B)):u>b&&(u=b,-Q+p<0?g=0:-Q+p>B?g=m:(g=-Q+p,m=B));var w=(1-(c=0===u?0:u/b))*r+c*o-((1-(s=0===g?0:g/m))*e+s*A),S=(1-c)*i+c*a-((1-s)*t+s*n);return w*w+S*S}function p(e,t){return e[0]===t[0]?e[1]-t[1]:e[0]-t[0]}r.default&&(r=r.default),e.exports=a,e.exports.default=a},function(e,t,A){"use strict";A.d(t,"a",(function(){return I}));var n=A(8),r=A(6),i=A(1),o=A(4),a=A(24),s=A(16),g=A(17),c=A(9),u=A(10),l=A(54),I=function(e){Object(c.a)(A,e);var t=Object(u.a)(A);function A(e){var o,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d;if(Object(i.a)(this,A),o=t.call(this),Object.defineProperties(Object(a.a)(o),{_intern:{value:new Map},_key:{value:s}}),null!=e){var g,c=Object(r.a)(e);try{for(c.s();!(g=c.n()).done;){var u=Object(n.a)(g.value,2),l=u[0],I=u[1];o.set(l,I)}}catch(C){c.e(C)}finally{c.f()}}return o}return Object(o.a)(A,[{key:"get",value:function(e){return Object(g.a)(Object(s.a)(A.prototype),"get",this).call(this,C(this,e))}},{key:"has",value:function(e){return Object(g.a)(Object(s.a)(A.prototype),"has",this).call(this,C(this,e))}},{key:"set",value:function(e,t){return Object(g.a)(Object(s.a)(A.prototype),"set",this).call(this,h(this,e),t)}},{key:"delete",value:function(e){return Object(g.a)(Object(s.a)(A.prototype),"delete",this).call(this,f(this,e))}}]),A}(Object(l.a)(Map));Set;function C(e,t){var A=e._intern,n=(0,e._key)(t);return A.has(n)?A.get(n):t}function h(e,t){var A=e._intern,n=(0,e._key)(t);return A.has(n)?A.get(n):(A.set(n,t),t)}function f(e,t){var A=e._intern,n=(0,e._key)(t);return A.has(n)&&(t=A.get(n),A.delete(n)),t}function d(e){return null!==e&&"object"===typeof e?e.valueOf():e}},,,,,,,,,function(e,t,A){"use strict";(function(e){var A="undefined"!==typeof window&&"undefined"!==typeof document&&"undefined"!==typeof navigator,n=function(){for(var e=["Edge","Trident","Firefox"],t=0;t<e.length;t+=1)if(A&&navigator.userAgent.indexOf(e[t])>=0)return 1;return 0}();var r=A&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then((function(){t=!1,e()})))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout((function(){t=!1,e()}),n))}};function i(e){return e&&"[object Function]"==={}.toString.call(e)}function o(e,t){if(1!==e.nodeType)return[];var A=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?A[t]:A}function a(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function s(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=o(e),A=t.overflow,n=t.overflowX,r=t.overflowY;return/(auto|scroll|overlay)/.test(A+r+n)?e:s(a(e))}function g(e){return e&&e.referenceNode?e.referenceNode:e}var c=A&&!(!window.MSInputMethodContext||!document.documentMode),u=A&&/MSIE 10/.test(navigator.userAgent);function l(e){return 11===e?c:10===e?u:c||u}function I(e){if(!e)return document.documentElement;for(var t=l(10)?document.body:null,A=e.offsetParent||null;A===t&&e.nextElementSibling;)A=(e=e.nextElementSibling).offsetParent;var n=A&&A.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TH","TD","TABLE"].indexOf(A.nodeName)&&"static"===o(A,"position")?I(A):A:e?e.ownerDocument.documentElement:document.documentElement}function C(e){return null!==e.parentNode?C(e.parentNode):e}function h(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var A=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=A?e:t,r=A?t:e,i=document.createRange();i.setStart(n,0),i.setEnd(r,0);var o=i.commonAncestorContainer;if(e!==o&&t!==o||n.contains(r))return function(e){var t=e.nodeName;return"BODY"!==t&&("HTML"===t||I(e.firstElementChild)===e)}(o)?o:I(o);var a=C(e);return a.host?h(a.host,t):h(e,C(t).host)}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",A="top"===t?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var r=e.ownerDocument.documentElement,i=e.ownerDocument.scrollingElement||r;return i[A]}return e[A]}function d(e,t){var A=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=f(t,"top"),r=f(t,"left"),i=A?-1:1;return e.top+=n*i,e.bottom+=n*i,e.left+=r*i,e.right+=r*i,e}function B(e,t){var A="x"===t?"Left":"Top",n="Left"===A?"Right":"Bottom";return parseFloat(e["border"+A+"Width"])+parseFloat(e["border"+n+"Width"])}function p(e,t,A,n){return Math.max(t["offset"+e],t["scroll"+e],A["client"+e],A["offset"+e],A["scroll"+e],l(10)?parseInt(A["offset"+e])+parseInt(n["margin"+("Height"===e?"Top":"Left")])+parseInt(n["margin"+("Height"===e?"Bottom":"Right")]):0)}function E(e){var t=e.body,A=e.documentElement,n=l(10)&&getComputedStyle(A);return{height:p("Height",t,A,n),width:p("Width",t,A,n)}}var Q=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},y=function(){function e(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,A,n){return A&&e(t.prototype,A),n&&e(t,n),t}}(),v=function(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e},m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e};function b(e){return m({},e,{right:e.left+e.width,bottom:e.top+e.height})}function w(e){var t={};try{if(l(10)){t=e.getBoundingClientRect();var A=f(e,"top"),n=f(e,"left");t.top+=A,t.left+=n,t.bottom+=A,t.right+=n}else t=e.getBoundingClientRect()}catch(I){}var r={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},i="HTML"===e.nodeName?E(e.ownerDocument):{},a=i.width||e.clientWidth||r.width,s=i.height||e.clientHeight||r.height,g=e.offsetWidth-a,c=e.offsetHeight-s;if(g||c){var u=o(e);g-=B(u,"x"),c-=B(u,"y"),r.width-=g,r.height-=c}return b(r)}function S(e,t){var A=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=l(10),r="HTML"===t.nodeName,i=w(e),a=w(t),g=s(e),c=o(t),u=parseFloat(c.borderTopWidth),I=parseFloat(c.borderLeftWidth);A&&r&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var C=b({top:i.top-a.top-u,left:i.left-a.left-I,width:i.width,height:i.height});if(C.marginTop=0,C.marginLeft=0,!n&&r){var h=parseFloat(c.marginTop),f=parseFloat(c.marginLeft);C.top-=u-h,C.bottom-=u-h,C.left-=I-f,C.right-=I-f,C.marginTop=h,C.marginLeft=f}return(n&&!A?t.contains(g):t===g&&"BODY"!==g.nodeName)&&(C=d(C,t)),C}function F(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],A=e.ownerDocument.documentElement,n=S(e,A),r=Math.max(A.clientWidth,window.innerWidth||0),i=Math.max(A.clientHeight,window.innerHeight||0),o=t?0:f(A),a=t?0:f(A,"left"),s={top:o-n.top+n.marginTop,left:a-n.left+n.marginLeft,width:r,height:i};return b(s)}function R(e){var t=e.nodeName;if("BODY"===t||"HTML"===t)return!1;if("fixed"===o(e,"position"))return!0;var A=a(e);return!!A&&R(A)}function D(e){if(!e||!e.parentElement||l())return document.documentElement;for(var t=e.parentElement;t&&"none"===o(t,"transform");)t=t.parentElement;return t||document.documentElement}function G(e,t,A,n){var r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i={top:0,left:0},o=r?D(e):h(e,g(t));if("viewport"===n)i=F(o,r);else{var c=void 0;"scrollParent"===n?"BODY"===(c=s(a(t))).nodeName&&(c=e.ownerDocument.documentElement):c="window"===n?e.ownerDocument.documentElement:n;var u=S(c,o,r);if("HTML"!==c.nodeName||R(o))i=u;else{var l=E(e.ownerDocument),I=l.height,C=l.width;i.top+=u.top-u.marginTop,i.bottom=I+u.top,i.left+=u.left-u.marginLeft,i.right=C+u.left}}var f="number"===typeof(A=A||0);return i.left+=f?A:A.left||0,i.top+=f?A:A.top||0,i.right-=f?A:A.right||0,i.bottom-=f?A:A.bottom||0,i}function k(e){return e.width*e.height}function x(e,t,A,n,r){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var o=G(A,n,i,r),a={top:{width:o.width,height:t.top-o.top},right:{width:o.right-t.right,height:o.height},bottom:{width:o.width,height:o.bottom-t.bottom},left:{width:t.left-o.left,height:o.height}},s=Object.keys(a).map((function(e){return m({key:e},a[e],{area:k(a[e])})})).sort((function(e,t){return t.area-e.area})),g=s.filter((function(e){var t=e.width,n=e.height;return t>=A.clientWidth&&n>=A.clientHeight})),c=g.length>0?g[0].key:s[0].key,u=e.split("-")[1];return c+(u?"-"+u:"")}function N(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,r=n?D(t):h(t,g(A));return S(A,r,n)}function U(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),A=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),n=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+n,height:e.offsetHeight+A}}function _(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,(function(e){return t[e]}))}function M(e,t,A){A=A.split("-")[0];var n=U(e),r={width:n.width,height:n.height},i=-1!==["right","left"].indexOf(A),o=i?"top":"left",a=i?"left":"top",s=i?"height":"width",g=i?"width":"height";return r[o]=t[o]+t[s]/2-n[s]/2,r[a]=A===a?t[a]-n[g]:t[_(a)],r}function O(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function L(e,t,A){return(void 0===A?e:e.slice(0,function(e,t,A){if(Array.prototype.findIndex)return e.findIndex((function(e){return e[t]===A}));var n=O(e,(function(e){return e[t]===A}));return e.indexOf(n)}(e,"name",A))).forEach((function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var A=e.function||e.fn;e.enabled&&i(A)&&(t.offsets.popper=b(t.offsets.popper),t.offsets.reference=b(t.offsets.reference),t=A(t,e))})),t}function T(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=N(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=x(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=M(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=L(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function Z(e,t){return e.some((function(e){var A=e.name;return e.enabled&&A===t}))}function H(e){for(var t=[!1,"ms","Webkit","Moz","O"],A=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<t.length;n++){var r=t[n],i=r?""+r+A:e;if("undefined"!==typeof document.body.style[i])return i}return null}function Y(){return this.state.isDestroyed=!0,Z(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[H("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function J(e){var t=e.ownerDocument;return t?t.defaultView:window}function j(e,t,A,n){A.updateBound=n,J(e).addEventListener("resize",A.updateBound,{passive:!0});var r=s(e);return function e(t,A,n,r){var i="BODY"===t.nodeName,o=i?t.ownerDocument.defaultView:t;o.addEventListener(A,n,{passive:!0}),i||e(s(o.parentNode),A,n,r),r.push(o)}(r,"scroll",A.updateBound,A.scrollParents),A.scrollElement=r,A.eventsEnabled=!0,A}function P(){this.state.eventsEnabled||(this.state=j(this.reference,this.options,this.state,this.scheduleUpdate))}function V(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(e=this.reference,t=this.state,J(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach((function(e){e.removeEventListener("scroll",t.updateBound)})),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t))}function K(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function W(e,t){Object.keys(t).forEach((function(A){var n="";-1!==["width","height","top","right","bottom","left"].indexOf(A)&&K(t[A])&&(n="px"),e.style[A]=t[A]+n}))}var X=A&&/Firefox/i.test(navigator.userAgent);function q(e,t,A){var n=O(e,(function(e){return e.name===t})),r=!!n&&e.some((function(e){return e.name===A&&e.enabled&&e.order<n.order}));if(!r){var i="`"+t+"`",o="`"+A+"`";console.warn(o+" modifier is required by "+i+" modifier in order to work, be sure to include it before "+i+"!")}return r}var z=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],$=z.slice(3);function ee(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],A=$.indexOf(e),n=$.slice(A+1).concat($.slice(0,A));return t?n.reverse():n}var te="flip",Ae="clockwise",ne="counterclockwise";function re(e,t,A,n){var r=[0,0],i=-1!==["right","left"].indexOf(n),o=e.split(/(\+|\-)/).map((function(e){return e.trim()})),a=o.indexOf(O(o,(function(e){return-1!==e.search(/,|\s/)})));o[a]&&-1===o[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var s=/\s*,\s*|\s+/,g=-1!==a?[o.slice(0,a).concat([o[a].split(s)[0]]),[o[a].split(s)[1]].concat(o.slice(a+1))]:[o];return(g=g.map((function(e,n){var r=(1===n?!i:i)?"height":"width",o=!1;return e.reduce((function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,o=!0,e):o?(e[e.length-1]+=t,o=!1,e):e.concat(t)}),[]).map((function(e){return function(e,t,A,n){var r=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),i=+r[1],o=r[2];if(!i)return e;if(0===o.indexOf("%")){var a=void 0;switch(o){case"%p":a=A;break;case"%":case"%r":default:a=n}return b(a)[t]/100*i}if("vh"===o||"vw"===o){return("vh"===o?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*i}return i}(e,r,t,A)}))}))).forEach((function(e,t){e.forEach((function(A,n){K(A)&&(r[t]+=A*("-"===e[n-1]?-1:1))}))})),r}var ie={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,A=t.split("-")[0],n=t.split("-")[1];if(n){var r=e.offsets,i=r.reference,o=r.popper,a=-1!==["bottom","top"].indexOf(A),s=a?"left":"top",g=a?"width":"height",c={start:v({},s,i[s]),end:v({},s,i[s]+i[g]-o[g])};e.offsets.popper=m({},o,c[n])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var A=t.offset,n=e.placement,r=e.offsets,i=r.popper,o=r.reference,a=n.split("-")[0],s=void 0;return s=K(+A)?[+A,0]:re(A,i,o,a),"left"===a?(i.top+=s[0],i.left-=s[1]):"right"===a?(i.top+=s[0],i.left+=s[1]):"top"===a?(i.left+=s[0],i.top-=s[1]):"bottom"===a&&(i.left+=s[0],i.top+=s[1]),e.popper=i,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var A=t.boundariesElement||I(e.instance.popper);e.instance.reference===A&&(A=I(A));var n=H("transform"),r=e.instance.popper.style,i=r.top,o=r.left,a=r[n];r.top="",r.left="",r[n]="";var s=G(e.instance.popper,e.instance.reference,t.padding,A,e.positionFixed);r.top=i,r.left=o,r[n]=a,t.boundaries=s;var g=t.priority,c=e.offsets.popper,u={primary:function(e){var A=c[e];return c[e]<s[e]&&!t.escapeWithReference&&(A=Math.max(c[e],s[e])),v({},e,A)},secondary:function(e){var A="right"===e?"left":"top",n=c[A];return c[e]>s[e]&&!t.escapeWithReference&&(n=Math.min(c[A],s[e]-("right"===e?c.width:c.height))),v({},A,n)}};return g.forEach((function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";c=m({},c,u[t](e))})),e.offsets.popper=c,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,A=t.popper,n=t.reference,r=e.placement.split("-")[0],i=Math.floor,o=-1!==["top","bottom"].indexOf(r),a=o?"right":"bottom",s=o?"left":"top",g=o?"width":"height";return A[a]<i(n[s])&&(e.offsets.popper[s]=i(n[s])-A[g]),A[s]>i(n[a])&&(e.offsets.popper[s]=i(n[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var A;if(!q(e.instance.modifiers,"arrow","keepTogether"))return e;var n=t.element;if("string"===typeof n){if(!(n=e.instance.popper.querySelector(n)))return e}else if(!e.instance.popper.contains(n))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var r=e.placement.split("-")[0],i=e.offsets,a=i.popper,s=i.reference,g=-1!==["left","right"].indexOf(r),c=g?"height":"width",u=g?"Top":"Left",l=u.toLowerCase(),I=g?"left":"top",C=g?"bottom":"right",h=U(n)[c];s[C]-h<a[l]&&(e.offsets.popper[l]-=a[l]-(s[C]-h)),s[l]+h>a[C]&&(e.offsets.popper[l]+=s[l]+h-a[C]),e.offsets.popper=b(e.offsets.popper);var f=s[l]+s[c]/2-h/2,d=o(e.instance.popper),B=parseFloat(d["margin"+u]),p=parseFloat(d["border"+u+"Width"]),E=f-e.offsets.popper[l]-B-p;return E=Math.max(Math.min(a[c]-h,E),0),e.arrowElement=n,e.offsets.arrow=(v(A={},l,Math.round(E)),v(A,I,""),A),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(Z(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var A=G(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split("-")[0],r=_(n),i=e.placement.split("-")[1]||"",o=[];switch(t.behavior){case te:o=[n,r];break;case Ae:o=ee(n);break;case ne:o=ee(n,!0);break;default:o=t.behavior}return o.forEach((function(a,s){if(n!==a||o.length===s+1)return e;n=e.placement.split("-")[0],r=_(n);var g=e.offsets.popper,c=e.offsets.reference,u=Math.floor,l="left"===n&&u(g.right)>u(c.left)||"right"===n&&u(g.left)<u(c.right)||"top"===n&&u(g.bottom)>u(c.top)||"bottom"===n&&u(g.top)<u(c.bottom),I=u(g.left)<u(A.left),C=u(g.right)>u(A.right),h=u(g.top)<u(A.top),f=u(g.bottom)>u(A.bottom),d="left"===n&&I||"right"===n&&C||"top"===n&&h||"bottom"===n&&f,B=-1!==["top","bottom"].indexOf(n),p=!!t.flipVariations&&(B&&"start"===i&&I||B&&"end"===i&&C||!B&&"start"===i&&h||!B&&"end"===i&&f),E=!!t.flipVariationsByContent&&(B&&"start"===i&&C||B&&"end"===i&&I||!B&&"start"===i&&f||!B&&"end"===i&&h),Q=p||E;(l||d||Q)&&(e.flipped=!0,(l||d)&&(n=o[s+1]),Q&&(i=function(e){return"end"===e?"start":"start"===e?"end":e}(i)),e.placement=n+(i?"-"+i:""),e.offsets.popper=m({},e.offsets.popper,M(e.instance.popper,e.offsets.reference,e.placement)),e=L(e.instance.modifiers,e,"flip"))})),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,A=t.split("-")[0],n=e.offsets,r=n.popper,i=n.reference,o=-1!==["left","right"].indexOf(A),a=-1===["top","left"].indexOf(A);return r[o?"left":"top"]=i[A]-(a?r[o?"width":"height"]:0),e.placement=_(t),e.offsets.popper=b(r),e}},hide:{order:800,enabled:!0,fn:function(e){if(!q(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,A=O(e.instance.modifiers,(function(e){return"preventOverflow"===e.name})).boundaries;if(t.bottom<A.top||t.left>A.right||t.top>A.bottom||t.right<A.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var A=t.x,n=t.y,r=e.offsets.popper,i=O(e.instance.modifiers,(function(e){return"applyStyle"===e.name})).gpuAcceleration;void 0!==i&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var o=void 0!==i?i:t.gpuAcceleration,a=I(e.instance.popper),s=w(a),g={position:r.position},c=function(e,t){var A=e.offsets,n=A.popper,r=A.reference,i=Math.round,o=Math.floor,a=function(e){return e},s=i(r.width),g=i(n.width),c=-1!==["left","right"].indexOf(e.placement),u=-1!==e.placement.indexOf("-"),l=t?c||u||s%2===g%2?i:o:a,I=t?i:a;return{left:l(s%2===1&&g%2===1&&!u&&t?n.left-1:n.left),top:I(n.top),bottom:I(n.bottom),right:l(n.right)}}(e,window.devicePixelRatio<2||!X),u="bottom"===A?"top":"bottom",l="right"===n?"left":"right",C=H("transform"),h=void 0,f=void 0;if(f="bottom"===u?"HTML"===a.nodeName?-a.clientHeight+c.bottom:-s.height+c.bottom:c.top,h="right"===l?"HTML"===a.nodeName?-a.clientWidth+c.right:-s.width+c.right:c.left,o&&C)g[C]="translate3d("+h+"px, "+f+"px, 0)",g[u]=0,g[l]=0,g.willChange="transform";else{var d="bottom"===u?-1:1,B="right"===l?-1:1;g[u]=f*d,g[l]=h*B,g.willChange=u+", "+l}var p={"x-placement":e.placement};return e.attributes=m({},p,e.attributes),e.styles=m({},g,e.styles),e.arrowStyles=m({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){var t,A;return W(e.instance.popper,e.styles),t=e.instance.popper,A=e.attributes,Object.keys(A).forEach((function(e){!1!==A[e]?t.setAttribute(e,A[e]):t.removeAttribute(e)})),e.arrowElement&&Object.keys(e.arrowStyles).length&&W(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,A,n,r){var i=N(r,t,e,A.positionFixed),o=x(A.placement,i,t,e,A.modifiers.flip.boundariesElement,A.modifiers.flip.padding);return t.setAttribute("x-placement",o),W(t,{position:A.positionFixed?"fixed":"absolute"}),A},gpuAcceleration:void 0}}},oe=function(){function e(t,A){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Q(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=r(this.update.bind(this)),this.options=m({},e.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=A&&A.jquery?A[0]:A,this.options.modifiers={},Object.keys(m({},e.Defaults.modifiers,o.modifiers)).forEach((function(t){n.options.modifiers[t]=m({},e.Defaults.modifiers[t]||{},o.modifiers?o.modifiers[t]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(e){return m({name:e},n.options.modifiers[e])})).sort((function(e,t){return e.order-t.order})),this.modifiers.forEach((function(e){e.enabled&&i(e.onLoad)&&e.onLoad(n.reference,n.popper,n.options,e,n.state)})),this.update();var a=this.options.eventsEnabled;a&&this.enableEventListeners(),this.state.eventsEnabled=a}return y(e,[{key:"update",value:function(){return T.call(this)}},{key:"destroy",value:function(){return Y.call(this)}},{key:"enableEventListeners",value:function(){return P.call(this)}},{key:"disableEventListeners",value:function(){return V.call(this)}}]),e}();oe.Utils=("undefined"!==typeof window?window:e).PopperUtils,oe.placements=z,oe.Defaults=ie,t.a=oe}).call(this,A(86))},function(e,t,A){"use strict";var n=A(95),r=A(129);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(A(0)),o=(0,n(A(130)).default)(i.createElement("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"}),"Settings");t.default=o},function(e,t,A){"use strict";var n=A(95),r=A(129);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(A(0)),o=(0,n(A(130)).default)(i.createElement("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM17 13l-5 5-5-5h3V9h4v4h3z"}),"CloudDownload");t.default=o},function(e,t,A){"use strict";var n=A(95),r=A(129);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(A(0)),o=(0,n(A(130)).default)(i.createElement("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");t.default=o},function(e,t,A){var n=A(904),r=A(905),i=A(906);e.exports=function(e){return n(e)||r(e)||i()}},function(e,t,A){var n=A(907),r=A(908),i=A(909);e.exports=function(e,t){return n(e)||r(e,t)||i()}},function(e,t,A){var n=A(591),r=A(470),i=A(917),o=A(471),a=r((function(e){return i(n(e,1,o,!0))}));e.exports=a},function(e,t,A){var n=A(924),r=A(591),i=A(470),o=A(471),a=i((function(e,t){return o(e)?n(e,r(t,1,o,!0)):[]}));e.exports=a},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CustomPicker=t.TwitterPicker=t.SwatchesPicker=t.SliderPicker=t.SketchPicker=t.PhotoshopPicker=t.MaterialPicker=t.HuePicker=t.GithubPicker=t.CompactPicker=t.ChromePicker=t.default=t.CirclePicker=t.BlockPicker=t.AlphaPicker=void 0;var n=A(965);Object.defineProperty(t,"AlphaPicker",{enumerable:!0,get:function(){return B(n).default}});var r=A(1012);Object.defineProperty(t,"BlockPicker",{enumerable:!0,get:function(){return B(r).default}});var i=A(1014);Object.defineProperty(t,"CirclePicker",{enumerable:!0,get:function(){return B(i).default}});var o=A(1016);Object.defineProperty(t,"ChromePicker",{enumerable:!0,get:function(){return B(o).default}});var a=A(1021);Object.defineProperty(t,"CompactPicker",{enumerable:!0,get:function(){return B(a).default}});var s=A(1024);Object.defineProperty(t,"GithubPicker",{enumerable:!0,get:function(){return B(s).default}});var g=A(1026);Object.defineProperty(t,"HuePicker",{enumerable:!0,get:function(){return B(g).default}});var c=A(1028);Object.defineProperty(t,"MaterialPicker",{enumerable:!0,get:function(){return B(c).default}});var u=A(1029);Object.defineProperty(t,"PhotoshopPicker",{enumerable:!0,get:function(){return B(u).default}});var l=A(1035);Object.defineProperty(t,"SketchPicker",{enumerable:!0,get:function(){return B(l).default}});var I=A(1038);Object.defineProperty(t,"SliderPicker",{enumerable:!0,get:function(){return B(I).default}});var C=A(1042);Object.defineProperty(t,"SwatchesPicker",{enumerable:!0,get:function(){return B(C).default}});var h=A(1046);Object.defineProperty(t,"TwitterPicker",{enumerable:!0,get:function(){return B(h).default}});var f=A(617);Object.defineProperty(t,"CustomPicker",{enumerable:!0,get:function(){return B(f).default}});var d=B(o);function B(e){return e&&e.__esModule?e:{default:e}}t.default=d.default},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,A,n){function r(t){var n=new i.default(t);A.call(e,n)}if(e.addEventListener){var o=function(){var A=!1;return"object"===typeof n?A=n.capture||!1:"boolean"===typeof n&&(A=n),e.addEventListener(t,r,n||!1),{v:{remove:function(){e.removeEventListener(t,r,A)}}}}();if("object"===typeof o)return o.v}else if(e.attachEvent)return e.attachEvent("on"+t,r),{remove:function(){e.detachEvent("on"+t,r)}}};var n,r=A(1047),i=(n=r)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,A){"use strict";(function(e){var A=function(){if("undefined"!==typeof Map)return Map;function e(e,t){var A=-1;return e.some((function(e,n){return e[0]===t&&(A=n,!0)})),A}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var A=e(this.__entries__,t),n=this.__entries__[A];return n&&n[1]},t.prototype.set=function(t,A){var n=e(this.__entries__,t);~n?this.__entries__[n][1]=A:this.__entries__.push([t,A])},t.prototype.delete=function(t){var A=this.__entries__,n=e(A,t);~n&&A.splice(n,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var A=0,n=this.__entries__;A<n.length;A++){var r=n[A];e.call(t,r[1],r[0])}},t}()}(),n="undefined"!==typeof window&&"undefined"!==typeof document&&window.document===document,r="undefined"!==typeof e&&e.Math===Math?e:"undefined"!==typeof self&&self.Math===Math?self:"undefined"!==typeof window&&window.Math===Math?window:Function("return this")(),i="function"===typeof requestAnimationFrame?requestAnimationFrame.bind(r):function(e){return setTimeout((function(){return e(Date.now())}),1e3/60)};var o=["top","right","bottom","left","width","height","size","weight"],a="undefined"!==typeof MutationObserver,s=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(e,t){var A=!1,n=!1,r=0;function o(){A&&(A=!1,e()),n&&s()}function a(){i(o)}function s(){var e=Date.now();if(A){if(e-r<2)return;n=!0}else A=!0,n=!1,setTimeout(a,t);r=e}return s}(this.refresh.bind(this),20)}return e.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},e.prototype.removeObserver=function(e){var t=this.observers_,A=t.indexOf(e);~A&&t.splice(A,1),!t.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},e.prototype.updateObservers_=function(){var e=this.observers_.filter((function(e){return e.gatherActive(),e.hasActive()}));return e.forEach((function(e){return e.broadcastActive()})),e.length>0},e.prototype.connect_=function(){n&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),a?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){n&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,A=void 0===t?"":t;o.some((function(e){return!!~A.indexOf(e)}))&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),g=function(e,t){for(var A=0,n=Object.keys(t);A<n.length;A++){var r=n[A];Object.defineProperty(e,r,{value:t[r],enumerable:!1,writable:!1,configurable:!0})}return e},c=function(e){return e&&e.ownerDocument&&e.ownerDocument.defaultView||r},u=d(0,0,0,0);function l(e){return parseFloat(e)||0}function I(e){for(var t=[],A=1;A<arguments.length;A++)t[A-1]=arguments[A];return t.reduce((function(t,A){return t+l(e["border-"+A+"-width"])}),0)}function C(e){var t=e.clientWidth,A=e.clientHeight;if(!t&&!A)return u;var n=c(e).getComputedStyle(e),r=function(e){for(var t={},A=0,n=["top","right","bottom","left"];A<n.length;A++){var r=n[A],i=e["padding-"+r];t[r]=l(i)}return t}(n),i=r.left+r.right,o=r.top+r.bottom,a=l(n.width),s=l(n.height);if("border-box"===n.boxSizing&&(Math.round(a+i)!==t&&(a-=I(n,"left","right")+i),Math.round(s+o)!==A&&(s-=I(n,"top","bottom")+o)),!function(e){return e===c(e).document.documentElement}(e)){var g=Math.round(a+i)-t,C=Math.round(s+o)-A;1!==Math.abs(g)&&(a-=g),1!==Math.abs(C)&&(s-=C)}return d(r.left,r.top,a,s)}var h="undefined"!==typeof SVGGraphicsElement?function(e){return e instanceof c(e).SVGGraphicsElement}:function(e){return e instanceof c(e).SVGElement&&"function"===typeof e.getBBox};function f(e){return n?h(e)?function(e){var t=e.getBBox();return d(0,0,t.width,t.height)}(e):C(e):u}function d(e,t,A,n){return{x:e,y:t,width:A,height:n}}var B=function(){function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=d(0,0,0,0),this.target=e}return e.prototype.isActive=function(){var e=f(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},e}(),p=function(e,t){var A=function(e){var t=e.x,A=e.y,n=e.width,r=e.height,i="undefined"!==typeof DOMRectReadOnly?DOMRectReadOnly:Object,o=Object.create(i.prototype);return g(o,{x:t,y:A,width:n,height:r,top:A,right:t+n,bottom:r+A,left:t}),o}(t);g(this,{target:e,contentRect:A})},E=function(){function e(e,t,n){if(this.activeObservations_=[],this.observations_=new A,"function"!==typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=n}return e.prototype.observe=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!==typeof Element&&Element instanceof Object){if(!(e instanceof c(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new B(e)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!==typeof Element&&Element instanceof Object){if(!(e instanceof c(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach((function(t){t.isActive()&&e.activeObservations_.push(t)}))},e.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map((function(e){return new p(e.target,e.broadcastRect())}));this.callback_.call(e,t,e),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),Q="undefined"!==typeof WeakMap?new WeakMap:new A,y=function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var A=s.getInstance(),n=new E(t,A,this);Q.set(this,n)};["observe","unobserve","disconnect"].forEach((function(e){y.prototype[e]=function(){var t;return(t=Q.get(this))[e].apply(t,arguments)}}));var v="undefined"!==typeof r.ResizeObserver?r.ResizeObserver:y;t.a=v}).call(this,A(86))},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(259),r=A(489),i=A(308),o=A(105);function a(e,t){return!(e[0]>t[0])&&(!(e[2]<t[2])&&(!(e[1]>t[1])&&!(e[3]<t[3])))}function s(e,t){return e[0]===t[0]&&e[1]===t[1]}t.default=function(e,t){var A=o.getType(e),g=o.getType(t),c=o.getGeom(e),u=o.getGeom(t);switch(A){case"Point":switch(g){case"MultiPoint":return function(e,t){var A,n=!1;for(A=0;A<t.coordinates.length;A++)if(s(t.coordinates[A],e.coordinates)){n=!0;break}return n}(c,u);case"LineString":return r.default(c,u,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return i.default(c,u,{ignoreBoundary:!0});default:throw new Error("feature2 "+g+" geometry not supported")}case"MultiPoint":switch(g){case"MultiPoint":return function(e,t){for(var A=0;A<e.coordinates.length;A++){for(var n=!1,r=0;r<t.coordinates.length;r++)s(e.coordinates[A],t.coordinates[r])&&(n=!0);if(!n)return!1}return!0}(c,u);case"LineString":return function(e,t){for(var A=!1,n=0;n<e.coordinates.length;n++){if(!r.default(e.coordinates[n],t))return!1;A||(A=r.default(e.coordinates[n],t,{ignoreEndVertices:!0}))}return A}(c,u);case"Polygon":case"MultiPolygon":return function(e,t){for(var A=!0,n=0;n<e.coordinates.length;n++){var r=i.default(e.coordinates[1],t);if(!r){A=!1;break}r=i.default(e.coordinates[1],t,{ignoreBoundary:!0})}return A&&r}(c,u);default:throw new Error("feature2 "+g+" geometry not supported")}case"LineString":switch(g){case"LineString":return function(e,t){for(var A=0;A<e.coordinates.length;A++)if(!r.default(e.coordinates[A],t))return!1;return!0}(c,u);case"Polygon":case"MultiPolygon":return function(e,t){var A=n.default(t),r=n.default(e);if(!a(A,r))return!1;for(var o=!1,s=0;s<e.coordinates.length-1;s++){if(!i.default(e.coordinates[s],t))return!1;if(o||(o=i.default(e.coordinates[s],t,{ignoreBoundary:!0})),!o){var g=(c=e.coordinates[s],u=e.coordinates[s+1],[(c[0]+u[0])/2,(c[1]+u[1])/2]);o=i.default(g,t,{ignoreBoundary:!0})}}var c,u;return o}(c,u);default:throw new Error("feature2 "+g+" geometry not supported")}case"Polygon":switch(g){case"Polygon":case"MultiPolygon":return function(e,t){var A=n.default(e);if(!a(n.default(t),A))return!1;for(var r=0;r<e.coordinates[0].length;r++)if(!i.default(e.coordinates[0][r],t))return!1;return!0}(c,u);default:throw new Error("feature2 "+g+" geometry not supported")}default:throw new Error("feature1 "+A+" geometry not supported")}}},function(e,t,A){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=n(A(259)),i=n(A(308)),o=n(A(489)),a=A(105);function s(e,t){var A,n=!1;for(A=0;A<e.coordinates.length;A++)if(f(e.coordinates[A],t.coordinates)){n=!0;break}return n}function g(e,t){for(var A=0,n=t.coordinates;A<n.length;A++){for(var r=n[A],i=!1,o=0,a=e.coordinates;o<a.length;o++){if(f(r,a[o])){i=!0;break}}if(!i)return!1}return!0}function c(e,t){for(var A=!1,n=0,r=t.coordinates;n<r.length;n++){var i=r[n];if(o.default(i,e,{ignoreEndVertices:!0})&&(A=!0),!o.default(i,e))return!1}return!!A}function u(e,t){for(var A=0,n=t.coordinates;A<n.length;A++){var r=n[A];if(!i.default(r,e,{ignoreBoundary:!0}))return!1}return!0}function l(e,t){for(var A=!1,n=0,r=t.coordinates;n<r.length;n++){var i=r[n];if(o.default({type:"Point",coordinates:i},e,{ignoreEndVertices:!0})&&(A=!0),!o.default({type:"Point",coordinates:i},e,{ignoreEndVertices:!1}))return!1}return A}function I(e,t){var A=!1,n=0;if(!h(r.default(e),r.default(t)))return!1;for(;n<t.coordinates.length-1;n++){var o=d(t.coordinates[n],t.coordinates[n+1]);if(i.default({type:"Point",coordinates:o},e,{ignoreBoundary:!0})){A=!0;break}}return A}function C(e,t){if("Feature"===e.type&&null===e.geometry)return!1;if("Feature"===t.type&&null===t.geometry)return!1;if(!h(r.default(e),r.default(t)))return!1;for(var A=0,n=a.getGeom(t).coordinates;A<n.length;A++)for(var o=0,s=n[A];o<s.length;o++){var g=s[o];if(!i.default(g,e))return!1}return!0}function h(e,t){return!(e[0]>t[0])&&(!(e[2]<t[2])&&(!(e[1]>t[1])&&!(e[3]<t[3])))}function f(e,t){return e[0]===t[0]&&e[1]===t[1]}function d(e,t){return[(e[0]+t[0])/2,(e[1]+t[1])/2]}t.default=function(e,t){var A=a.getGeom(e),n=a.getGeom(t),r=a.getType(e),h=a.getType(t),d=a.getCoords(e),B=a.getCoords(t);switch(r){case"Point":switch(h){case"Point":return f(d,B);default:throw new Error("feature2 "+h+" geometry not supported")}case"MultiPoint":switch(h){case"Point":return s(A,n);case"MultiPoint":return g(A,n);default:throw new Error("feature2 "+h+" geometry not supported")}case"LineString":switch(h){case"Point":return o.default(n,A,{ignoreEndVertices:!0});case"LineString":return l(A,n);case"MultiPoint":return c(A,n);default:throw new Error("feature2 "+h+" geometry not supported")}case"Polygon":switch(h){case"Point":return i.default(n,A,{ignoreBoundary:!0});case"LineString":return I(A,n);case"Polygon":return C(A,n);case"MultiPoint":return u(A,n);default:throw new Error("feature2 "+h+" geometry not supported")}default:throw new Error("feature1 "+r+" geometry not supported")}},t.isPointInMultiPoint=s,t.isMultiPointInMultiPoint=g,t.isMultiPointOnLine=c,t.isMultiPointInPoly=u,t.isLineOnLine=l,t.isLineInPoly=I,t.isPolyInPoly=C,t.doBBoxOverlap=h,t.compareCoords=f,t.getMidpoint=d},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(141),r=A(105),i=A(1049),o=A(365),a=A(1065);t.default=function(e,t){if(!e)throw new Error("feature1 is required");if(!t)throw new Error("feature2 is required");var A=r.getType(e);if(A!==r.getType(t))throw new Error("features must be of the same type");if("Point"===A)throw new Error("Point geometry not supported");if(new a({precision:6}).compare(e,t))return!1;var s=0;switch(A){case"MultiPoint":var g=n.coordAll(e),c=n.coordAll(t);g.forEach((function(e){c.forEach((function(t){e[0]===t[0]&&e[1]===t[1]&&s++}))}));break;case"LineString":case"MultiLineString":n.segmentEach(e,(function(e){n.segmentEach(t,(function(t){i.default(e,t).features.length&&s++}))}));break;case"Polygon":case"MultiPolygon":n.segmentEach(e,(function(e){n.segmentEach(t,(function(t){o.default(e,t).features.length&&s++}))}))}return s>0}},function(e,t,A){"use strict";A.d(t,"a",(function(){return u}));var n=A(7),r=A(2),i=A(1),o=A(4),a=A(718),s=A(427),g=A(232),c=A(18),u=function(){function e(t,A){var n=A.attributes,r=A.material,o=A.pbrDebug,g=A.imageBasedLightingEnvironment,c=A.lights,u=A.useTangents;Object(i.a)(this,e),this.gl=t,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},Object(a.b)(t,s.a.GLSL_TEXTURE_LOD)&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],g&&(this.uniforms.u_DiffuseEnvSampler=g.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=g.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=g.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),o&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(n.NORMAL,"HAS_NORMALS"),this.defineIfPresent(n.TANGENT&&u,"HAS_TANGENTS"),this.defineIfPresent(n.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(g,"USE_IBL"),this.defineIfPresent(c,"USE_LIGHTS"),this.defineIfPresent(o,"PBR_DEBUG"),r&&this.parseMaterial(r)}return Object(o.a)(e,[{key:"defineIfPresent",value:function(e,t){e&&(this.defines[t]=1)}},{key:"parseTexture",value:function(e,t){var A,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{},a=e.texture.source.image,s={};a.compressed?(A=a,s=Object(r.a)({},this.gl.TEXTURE_MIN_FILTER,a.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR)):A={data:a};var c=new g.a(this.gl,Object(n.a)({id:e.name||e.id,parameters:Object(n.a)({},o,{},s),pixelStore:Object(r.a)({},this.gl.UNPACK_FLIP_Y_WEBGL,!1)},A));this.uniforms[t]=c,this.defineIfPresent(i,i),this.generatedTextures.push(c)}},{key:"parsePbrMetallicRoughness",value:function(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");var t=e.metallicFactor,A=void 0===t?1:t,n=e.roughnessFactor,r=void 0===n?1:n;this.uniforms.u_MetallicRoughnessValues=[A,r]}},{key:"parseMaterial",value:function(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");var t=e.normalTexture.scale,A=void 0===t?1:t;this.uniforms.u_NormalScale=A}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");var n=e.occlusionTexture.strength,r=void 0===n?1:n;this.uniforms.u_OcclusionStrength=r}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){var i=e.alphaCutoff,o=void 0===i?.5:i;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=o}else"BLEND"===e.alphaMode&&(c.k.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}]),e}()},,function(e,t,A){"use strict";var n=A(95),r=A(129);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(A(0)),o=(0,n(A(130)).default)(i.createElement("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z"}),"Lens");t.default=o},function(e,t,A){"use strict";var n=A(95),r=A(129);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(A(0)),o=(0,n(A(130)).default)(i.createElement("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"MoreVert");t.default=o},function(e,t,A){"use strict";var n=A(95),r=A(129);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(A(0)),o=(0,n(A(130)).default)(i.createElement("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z"}),"RemoveCircle");t.default=o},function(e,t,A){"use strict";var n=A(95),r=A(129);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(A(0)),o=(0,n(A(130)).default)(i.createElement("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"}),"Visibility");t.default=o},function(e,t,A){"use strict";var n=A(95),r=A(129);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(A(0)),o=(0,n(A(130)).default)(i.createElement("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff");t.default=o},function(e,t,A){"use strict";var n=A(95),r=A(129);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(A(0)),o=(0,n(A(130)).default)(i.createElement("path",{d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore");t.default=o},function(e,t,A){"use strict";window.higlassTracks=window.higlassTracks||{},window.higlassTracksByType=window.higlassTracksByType||{},window.higlassDataFetchersByType=window.higlassDataFetchersByType||{};var n=function(){return Math.random().toString(36).substring(2,8)},r=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.force,r=void 0!==A&&A,i=n();window.higlassTracks[i];)i=n();e.name=i,window.higlassTracks[e.name]=e,window.higlassTracksByType[e.config.type]&&!r?console.warn("A track with the same type (".concat(e.config.type,") was already ")+"registered. To override it, set force to true."):window.higlassTracksByType[e.config.type]=e},i=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.force,n=void 0!==A&&A;window.higlassDataFetchersByType[e.config.type]&&!n?console.warn("A data fetcher with the same type (".concat(e.config.type,") was already ")+"registered. To override it, set force to true."):window.higlassDataFetchersByType[e.config.type]=e};t.a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.pluginType,n=void 0===A?"track":A;"track"===n?r(e,t):"dataFetcher"===n&&i(e,t)}},function(e){e.exports=JSON.parse('{"name":"vega-lite","author":"Dominik Moritz, Kanit \\"Ham\\" Wongsuphasawat, Arvind Satyanarayan, Jeffrey Heer","version":"5.1.1","collaborators":["Kanit Wongsuphasawat (http://kanitw.yellowpigz.com)","Dominik Moritz (https://www.domoritz.de)","Arvind Satyanarayan (https://arvindsatya.com)","Jeffrey Heer (https://jheer.org)"],"homepage":"https://vega.github.io/vega-lite/","description":"Vega-Lite is a concise high-level language for interactive visualization.","main":"build/vega-lite.js","unpkg":"build/vega-lite.min.js","jsdelivr":"build/vega-lite.min.js","module":"build/src/index","types":"build/src/index.d.ts","bin":{"vl2png":"./bin/vl2png","vl2svg":"./bin/vl2svg","vl2pdf":"./bin/vl2pdf","vl2vg":"./bin/vl2vg"},"directories":{"test":"test"},"files":["bin","build","src","vega-lite*","tsconfig.json"],"scripts":{"changelog":"conventional-changelog -p angular -r 2","prebuild":"yarn clean:build","build":"yarn build:only","build:only":"tsc -p tsconfig.build.json && rollup -c","prebuild:examples":"yarn build:only","build:examples":"yarn data && TZ=America/Los_Angeles scripts/build-examples.sh","prebuild:examples-full":"yarn build:only","build:examples-full":"TZ=America/Los_Angeles scripts/build-examples.sh 1","build:example":"TZ=America/Los_Angeles scripts/build-example.sh","build:toc":"yarn build:jekyll && scripts/generate-toc","build:site":"rollup -c site/rollup.config.js","build:jekyll":"pushd site && bundle exec jekyll build -q && popd","build:versions":"scripts/update-version.sh","clean":"yarn clean:build && del-cli \'site/data/*\' \'examples/compiled/*.png\' && find site/examples ! -name \'index.md\' ! -name \'data\' -type f -delete","clean:build":"del-cli \'build/*\' !build/vega-lite-schema.json","predeploy:site":"yarn presite","deploy:site":"gh-pages -d site","data":"rsync -r node_modules/vega-datasets/data/* site/data","schema":"mkdir -p build && ts-json-schema-generator -f tsconfig.json -p src/index.ts -t TopLevelSpec --no-type-check --no-ref-encode > build/vega-lite-schema.json && yarn renameschema && cp build/vega-lite-schema.json site/_data/","renameschema":"scripts/rename-schema.sh","presite":"yarn data && yarn schema && yarn build:site && yarn build:versions && scripts/create-example-pages.sh","site":"yarn site:only","site:only":"pushd site && bundle exec jekyll serve -I -l && popd","prettierbase":"prettier \'**/*.{md,css,yml}\'","eslintbase":"eslint .","format":"yarn eslintbase --fix && yarn prettierbase --write","lint":"yarn eslintbase && yarn prettierbase --check","jest":"NODE_OPTIONS=--experimental-vm-modules npx jest","test":"yarn jest test/ && yarn lint && yarn schema && yarn jest examples/ && yarn test:runtime","test:cover":"yarn jest --collectCoverage test/","test:inspect":"node --inspect-brk --experimental-vm-modules ./node_modules/.bin/jest --runInBand test","test:runtime":"NODE_OPTIONS=--experimental-vm-modules TZ=America/Los_Angeles npx jest test-runtime/ --config test-runtime/jest-config.json","test:runtime:generate":"yarn build:only && del-cli test-runtime/resources && VL_GENERATE_TESTS=true yarn test:runtime","watch":"tsc -p tsconfig.build.json -w","watch:site":"yarn build:site -w","watch:test":"yarn jest --watch test/"},"repository":{"type":"git","url":"https://github.com/vega/vega-lite.git"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/vega/vega-lite/issues"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.0.4","@types/chai":"^4.2.21","@types/d3":"^7.0.0","@types/jest":"^27.0.1","@types/mkdirp":"^1.0.2","@types/pako":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.29.2","@typescript-eslint/parser":"^4.29.2","ajv":"^8.6.2","ajv-formats":"^2.1.1","chai":"^4.3.4","cheerio":"^1.0.0-rc.10","conventional-changelog-cli":"^2.1.1","d3":"^7.0.1","del-cli":"^4.0.1","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^24.4.0","eslint-plugin-prettier":"^4.0.0","gh-pages":"^3.2.3","highlight.js":"^11.2.0","jest":"^27.0.6","jest-dev-server":"^5.0.3","mkdirp":"^1.0.4","pako":"^2.0.4","prettier":"^2.3.2","puppeteer":"^10.2.0","rollup":"^2.56.3","rollup-plugin-bundle-size":"^1.0.3","rollup-plugin-sourcemaps":"^0.6.3","rollup-plugin-terser":"^7.0.2","serve":"^12.0.0","terser":"^5.7.1","ts-jest":"^27.0.5","ts-json-schema-generator":"^0.95.0","typescript":"~4.4.2","vega-cli":"^5.20.2","vega-datasets":"~2.2.0","vega-embed":"^6.18.2","vega-tooltip":"^0.27.0","yaml-front-matter":"^4.1.1"},"dependencies":{"@types/clone":"~2.1.1","array-flat-polyfill":"^1.0.1","clone":"~2.1.2","fast-deep-equal":"~3.1.3","fast-json-stable-stringify":"~2.1.0","json-stringify-pretty-compact":"~3.0.0","tslib":"~2.3.1","vega-event-selector":"~2.0.6","vega-expression":"~4.0.1","vega-util":"~1.16.1","yargs":"~17.1.1"},"peerDependencies":{"vega":"^5.20.2"},"engines":{"node":">=12"}}')},function(e,t,A){(function(t){var A=function(){"use strict";function e(e,t){return null!=t&&e instanceof t}var A,n,r;try{A=Map}catch(s){A=function(){}}try{n=Set}catch(s){n=function(){}}try{r=Promise}catch(s){r=function(){}}function i(o,s,g,c,u){"object"===typeof s&&(g=s.depth,c=s.prototype,u=s.includeNonEnumerable,s=s.circular);var l=[],I=[],C="undefined"!=typeof t;return"undefined"==typeof s&&(s=!0),"undefined"==typeof g&&(g=1/0),function o(g,h){if(null===g)return null;if(0===h)return g;var f,d;if("object"!=typeof g)return g;if(e(g,A))f=new A;else if(e(g,n))f=new n;else if(e(g,r))f=new r((function(e,t){g.then((function(t){e(o(t,h-1))}),(function(e){t(o(e,h-1))}))}));else if(i.__isArray(g))f=[];else if(i.__isRegExp(g))f=new RegExp(g.source,a(g)),g.lastIndex&&(f.lastIndex=g.lastIndex);else if(i.__isDate(g))f=new Date(g.getTime());else{if(C&&t.isBuffer(g))return f=t.allocUnsafe?t.allocUnsafe(g.length):new t(g.length),g.copy(f),f;e(g,Error)?f=Object.create(g):"undefined"==typeof c?(d=Object.getPrototypeOf(g),f=Object.create(d)):(f=Object.create(c),d=c)}if(s){var B=l.indexOf(g);if(-1!=B)return I[B];l.push(g),I.push(f)}for(var p in e(g,A)&&g.forEach((function(e,t){var A=o(t,h-1),n=o(e,h-1);f.set(A,n)})),e(g,n)&&g.forEach((function(e){var t=o(e,h-1);f.add(t)})),g){var E;d&&(E=Object.getOwnPropertyDescriptor(d,p)),E&&null==E.set||(f[p]=o(g[p],h-1))}if(Object.getOwnPropertySymbols){var Q=Object.getOwnPropertySymbols(g);for(p=0;p<Q.length;p++){var y=Q[p];(!(m=Object.getOwnPropertyDescriptor(g,y))||m.enumerable||u)&&(f[y]=o(g[y],h-1),m.enumerable||Object.defineProperty(f,y,{enumerable:!1}))}}if(u){var v=Object.getOwnPropertyNames(g);for(p=0;p<v.length;p++){var m,b=v[p];(m=Object.getOwnPropertyDescriptor(g,b))&&m.enumerable||(f[b]=o(g[b],h-1),Object.defineProperty(f,b,{enumerable:!1}))}}return f}(o,g)}function o(e){return Object.prototype.toString.call(e)}function a(e){var t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),t}return i.clonePrototype=function(e){if(null===e)return null;var t=function(){};return t.prototype=e,new t},i.__objToStr=o,i.__isDate=function(e){return"object"===typeof e&&"[object Date]"===o(e)},i.__isArray=function(e){return"object"===typeof e&&"[object Array]"===o(e)},i.__isRegExp=function(e){return"object"===typeof e&&"[object RegExp]"===o(e)},i.__getRegExpFlags=a,i}();e.exports&&(e.exports=A)}).call(this,A(188).Buffer)},function(e,t,A){e.exports=function(e){var t={};function A(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,A),r.l=!0,r.exports}return A.m=e,A.c=t,A.d=function(e,t,n){A.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},A.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},A.t=function(e,t){if(1&t&&(e=A(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(A.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)A.d(n,r,function(t){return e[t]}.bind(null,r));return n},A.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return A.d(t,"a",t),t},A.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},A.p="",A(A.s=90)}({17:function(e,t,A){"use strict";t.__esModule=!0,t.default=void 0;var n=A(18),r=function(){function e(){}return e.getFirstMatch=function(e,t){var A=t.match(e);return A&&A.length>0&&A[1]||""},e.getSecondMatch=function(e,t){var A=t.match(e);return A&&A.length>1&&A[2]||""},e.matchAndReturnConst=function(e,t,A){if(e.test(t))return A},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,A,n){void 0===n&&(n=!1);var r=e.getVersionPrecision(t),i=e.getVersionPrecision(A),o=Math.max(r,i),a=0,s=e.map([t,A],(function(t){var A=o-e.getVersionPrecision(t),n=t+new Array(A+1).join(".0");return e.map(n.split("."),(function(e){return new Array(20-e.length).join("0")+e})).reverse()}));for(n&&(a=o-Math.min(r,i)),o-=1;o>=a;){if(s[0][o]>s[1][o])return 1;if(s[0][o]===s[1][o]){if(o===a)return 0;o-=1}else if(s[0][o]<s[1][o])return-1}},e.map=function(e,t){var A,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(A=0;A<e.length;A+=1)n.push(t(e[A]));return n},e.find=function(e,t){var A,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(A=0,n=e.length;A<n;A+=1){var r=e[A];if(t(r,A))return r}},e.assign=function(e){for(var t,A,n=e,r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];if(Object.assign)return Object.assign.apply(Object,[e].concat(i));var a=function(){var e=i[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){n[t]=e[t]}))};for(t=0,A=i.length;t<A;t+=1)a();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||""},e}();t.default=r,e.exports=t.default},18:function(e,t,A){"use strict";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},t.BROWSER_MAP={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},t.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},t.OS_MAP={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},t.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(e,t,A){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=A(91))&&n.__esModule?n:{default:n},i=A(18);function o(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var a=function(){function e(){}var t,A;return e.getParser=function(e,t){if(void 0===t&&(t=!1),"string"!=typeof e)throw new Error("UserAgent should be a string");return new r.default(e,t)},e.parse=function(e){return new r.default(e).getResult()},t=e,(A=[{key:"BROWSER_MAP",get:function(){return i.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return i.ENGINE_MAP}},{key:"OS_MAP",get:function(){return i.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return i.PLATFORMS_MAP}}])&&o(t,A),e}();t.default=a,e.exports=t.default},91:function(e,t,A){"use strict";t.__esModule=!0,t.default=void 0;var n=s(A(92)),r=s(A(93)),i=s(A(94)),o=s(A(95)),a=s(A(17));function s(e){return e&&e.__esModule?e:{default:e}}var g=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=a.default.find(n.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=a.default.find(r.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=a.default.find(i.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=a.default.find(o.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return a.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,A={},n=0,r={},i=0;if(Object.keys(e).forEach((function(t){var o=e[t];"string"==typeof o?(r[t]=o,i+=1):"object"==typeof o&&(A[t]=o,n+=1)})),n>0){var o=Object.keys(A),s=a.default.find(o,(function(e){return t.isOS(e)}));if(s){var g=this.satisfies(A[s]);if(void 0!==g)return g}var c=a.default.find(o,(function(e){return t.isPlatform(e)}));if(c){var u=this.satisfies(A[c]);if(void 0!==u)return u}}if(i>0){var l=Object.keys(r),I=a.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==I)return this.compareVersion(r[I])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var A=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),r=a.default.getBrowserTypeByAlias(n);return t&&r&&(n=r.toLowerCase()),n===A},t.compareVersion=function(e){var t=[0],A=e,n=!1,r=this.getBrowserVersion();if("string"==typeof r)return">"===e[0]||"<"===e[0]?(A=e.substr(1),"="===e[1]?(n=!0,A=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?A=e.substr(1):"~"===e[0]&&(n=!0,A=e.substr(1)),t.indexOf(a.default.compareVersions(r,A,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=g,e.exports=t.default},92:function(e,t,A){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=A(17))&&n.__esModule?n:{default:n},i=/version\/(\d+(\.?_?\d+)+)/i,o=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},A=r.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},A=r.default.getFirstMatch(i,e)||r.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},A=r.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},A=r.default.getFirstMatch(i,e)||r.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},A=r.default.getFirstMatch(i,e)||r.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},A=r.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},A=r.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},A=r.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},A=r.default.getFirstMatch(i,e)||r.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},A=r.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},A=r.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},A=r.default.getFirstMatch(i,e)||r.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},A=r.default.getFirstMatch(i,e)||r.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},A=r.default.getFirstMatch(i,e)||r.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},A=r.default.getFirstMatch(i,e)||r.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},A=r.default.getFirstMatch(i,e)||r.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},A=r.default.getFirstMatch(i,e)||r.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},A=r.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},A=r.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},A=r.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},A=r.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},A=r.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},A=r.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},A=r.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},A=r.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return A&&(t.version=A),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},A=r.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},A=r.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},A=r.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},A=r.default.getFirstMatch(i,e)||r.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},A=r.default.getFirstMatch(i,e)||r.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},A=r.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},A=r.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},A=r.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},A=r.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},A=r.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},A=r.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},A=r.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},A=r.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},A=r.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:function(e){var t=!e.test(/like android/i),A=e.test(/android/i);return t&&A},describe:function(e){var t={name:"Android Browser"},A=r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},A=r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},A=r.default.getFirstMatch(i,e);return A&&(t.version=A),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:r.default.getFirstMatch(t,e),version:r.default.getSecondMatch(t,e)}}}];t.default=o,e.exports=t.default},93:function(e,t,A){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=A(17))&&n.__esModule?n:{default:n},i=A(18),o=[{test:[/Roku\/DVP/],describe:function(e){var t=r.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:i.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=r.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=r.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),A=r.default.getWindowsVersionName(t);return{name:i.OS_MAP.Windows,version:t,versionName:A}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:i.OS_MAP.iOS},A=r.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return A&&(t.version=A),t}},{test:[/macintosh/i],describe:function(e){var t=r.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),A=r.default.getMacOSVersionName(t),n={name:i.OS_MAP.MacOS,version:t};return A&&(n.versionName=A),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=r.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:i.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),A=e.test(/android/i);return t&&A},describe:function(e){var t=r.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),A=r.default.getAndroidVersionName(t),n={name:i.OS_MAP.Android,version:t};return A&&(n.versionName=A),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=r.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),A={name:i.OS_MAP.WebOS};return t&&t.length&&(A.version=t),A}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=r.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||r.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||r.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:i.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=r.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=r.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:i.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:i.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=r.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.PlayStation4,version:t}}}];t.default=o,e.exports=t.default},94:function(e,t,A){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=A(17))&&n.__esModule?n:{default:n},i=A(18),o=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=r.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",A={type:i.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(A.model=t),A}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),A=e.test(/like (ipod|iphone)/i);return t&&!A},describe:function(e){var t=r.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:i.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}}];t.default=o,e.exports=t.default},95:function(e,t,A){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=A(17))&&n.__esModule?n:{default:n},i=A(18),o=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:i.ENGINE_MAP.Blink};var t=r.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:i.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:i.ENGINE_MAP.Trident},A=r.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:i.ENGINE_MAP.Presto},A=r.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:function(e){var t=e.test(/gecko/i),A=e.test(/like gecko/i);return t&&!A},describe:function(e){var t={name:i.ENGINE_MAP.Gecko},A=r.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:i.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:i.ENGINE_MAP.WebKit},A=r.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return A&&(t.version=A),t}}];t.default=o,e.exports=t.default}})},function(e,t,A){"use strict";var n=A(0),r=A.n(n),i=A(39),o=A.n(i);function a(e,t){for(var A=t;A;){if(A===e)return!0;A=A.parentNode}return!1}var s=A(282);function g(e){return(g="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){"function"===typeof e?e(t):"object"===g(e)&&e&&"current"in e&&(e.current=t)}function u(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];return function(e){t.forEach((function(t){c(t,e)}))}}var l=A(698),I=A.n(l);function C(e,t,A,n){var r=o.a.unstable_batchedUpdates?function(e){o.a.unstable_batchedUpdates(A,e)}:A;return I()(e,t,r,n)}var h=A(13),f=A.n(h);function d(e){return(d="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function B(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function E(e,t){return!t||"object"!==d(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Q(e){return(Q=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e,t){return(y=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var v=function(e){function t(){return B(this,t),E(this,Q(t).apply(this,arguments))}var A,n,r;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&y(e,t)}(t,e),A=t,(n=[{key:"componentDidMount",value:function(){this.createContainer()}},{key:"componentDidUpdate",value:function(e){var t=this.props.didUpdate;t&&t(e)}},{key:"componentWillUnmount",value:function(){this.removeContainer()}},{key:"createContainer",value:function(){this._container=this.props.getContainer(),this.forceUpdate()}},{key:"removeContainer",value:function(){this._container&&this._container.parentNode.removeChild(this._container)}},{key:"render",value:function(){return this._container?o.a.createPortal(this.props.children,this._container):null}}])&&p(A.prototype,n),r&&p(A,r),t}(r.a.Component);v.propTypes={getContainer:f.a.func.isRequired,children:f.a.node.isRequired,didUpdate:f.a.func};var m=A(61),b=A.n(m);function w(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function S(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?w(Object(A),!0).forEach((function(t){F(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):w(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function F(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function R(e,t,A){return A?e[0]===t[0]:e[0]===t[0]&&e[1]===t[1]}var D,G=A(183),k=A.n(G);function x(e){return(x="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function N(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function U(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}var _={Webkit:"-webkit-",Moz:"-moz-",ms:"-ms-",O:"-o-"};function M(){if(void 0!==D)return D;D="";var e=document.createElement("p").style;for(var t in _)t+"Transform"in e&&(D=t);return D}function O(){return M()?"".concat(M(),"TransitionProperty"):"transitionProperty"}function L(){return M()?"".concat(M(),"Transform"):"transform"}function T(e,t){var A=O();A&&(e.style[A]=t,"transitionProperty"!==A&&(e.style.transitionProperty=t))}function Z(e,t){var A=L();A&&(e.style[A]=t,"transform"!==A&&(e.style.transform=t))}var H,Y=/matrix\((.*)\)/,J=/matrix3d\((.*)\)/;function j(e){var t=e.style.display;e.style.display="none",e.offsetHeight,e.style.display=t}function P(e,t,A){var n=A;if("object"!==x(t))return"undefined"!==typeof n?("number"===typeof n&&(n="".concat(n,"px")),void(e.style[t]=n)):H(e,t);for(var r in t)t.hasOwnProperty(r)&&P(e,r,t[r])}function V(e,t){var A=e["page".concat(t?"Y":"X","Offset")],n="scroll".concat(t?"Top":"Left");if("number"!==typeof A){var r=e.document;"number"!==typeof(A=r.documentElement[n])&&(A=r.body[n])}return A}function K(e){return V(e)}function W(e){return V(e,!0)}function X(e){var t=function(e){var t,A,n,r=e.ownerDocument,i=r.body,o=r&&r.documentElement;return A=(t=e.getBoundingClientRect()).left,n=t.top,{left:A-=o.clientLeft||i.clientLeft||0,top:n-=o.clientTop||i.clientTop||0}}(e),A=e.ownerDocument,n=A.defaultView||A.parentWindow;return t.left+=K(n),t.top+=W(n),t}function q(e){return null!==e&&void 0!==e&&e==e.window}function z(e){return q(e)?e.document:9===e.nodeType?e:e.ownerDocument}var $=new RegExp("^(".concat(/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,")(?!px)[a-z%]+$"),"i"),ee=/^(top|right|bottom|left)$/,te="left";function Ae(e,t){return"left"===e?t.useCssRight?"right":e:t.useCssBottom?"bottom":e}function ne(e){return"left"===e?"right":"right"===e?"left":"top"===e?"bottom":"bottom"===e?"top":void 0}function re(e,t,A){"static"===P(e,"position")&&(e.style.position="relative");var n=-999,r=-999,i=Ae("left",A),o=Ae("top",A),a=ne(i),s=ne(o);"left"!==i&&(n=999),"top"!==o&&(r=999);var g,c="",u=X(e);("left"in t||"top"in t)&&(c=(g=e).style.transitionProperty||g.style[O()]||"",T(e,"none")),"left"in t&&(e.style[a]="",e.style[i]="".concat(n,"px")),"top"in t&&(e.style[s]="",e.style[o]="".concat(r,"px")),j(e);var l=X(e),I={};for(var C in t)if(t.hasOwnProperty(C)){var h=Ae(C,A),f="left"===C?n:r,d=u[C]-l[C];I[h]=h===C?f+d:f-d}P(e,I),j(e),("left"in t||"top"in t)&&T(e,c);var B={};for(var p in t)if(t.hasOwnProperty(p)){var E=Ae(p,A),Q=t[p]-u[p];B[E]=p===E?I[E]+Q:I[E]-Q}P(e,B)}function ie(e,t){var A=X(e),n=function(e){var t=window.getComputedStyle(e,null),A=t.getPropertyValue("transform")||t.getPropertyValue(L());if(A&&"none"!==A){var n=A.replace(/[^0-9\-.,]/g,"").split(",");return{x:parseFloat(n[12]||n[4],0),y:parseFloat(n[13]||n[5],0)}}return{x:0,y:0}}(e),r={x:n.x,y:n.y};"left"in t&&(r.x=n.x+t.left-A.left),"top"in t&&(r.y=n.y+t.top-A.top),function(e,t){var A=window.getComputedStyle(e,null),n=A.getPropertyValue("transform")||A.getPropertyValue(L());if(n&&"none"!==n){var r,i=n.match(Y);if(i)(r=(i=i[1]).split(",").map((function(e){return parseFloat(e,10)})))[4]=t.x,r[5]=t.y,Z(e,"matrix(".concat(r.join(","),")"));else(r=n.match(J)[1].split(",").map((function(e){return parseFloat(e,10)})))[12]=t.x,r[13]=t.y,Z(e,"matrix3d(".concat(r.join(","),")"))}else Z(e,"translateX(".concat(t.x,"px) translateY(").concat(t.y,"px) translateZ(0)"))}(e,r)}function oe(e,t){for(var A=0;A<e.length;A++)t(e[A])}function ae(e){return"border-box"===H(e,"boxSizing")}"undefined"!==typeof window&&(H=window.getComputedStyle?function(e,t,A){var n=A,r="",i=z(e);return(n=n||i.defaultView.getComputedStyle(e,null))&&(r=n.getPropertyValue(t)||n[t]),r}:function(e,t){var A=e.currentStyle&&e.currentStyle[t];if($.test(A)&&!ee.test(t)){var n=e.style,r=n[te],i=e.runtimeStyle[te];e.runtimeStyle[te]=e.currentStyle[te],n[te]="fontSize"===t?"1em":A||0,A=n.pixelLeft+"px",n[te]=r,e.runtimeStyle[te]=i}return""===A?"auto":A});var se=["margin","border","padding"];function ge(e,t,A){var n,r={},i=e.style;for(n in t)t.hasOwnProperty(n)&&(r[n]=i[n],i[n]=t[n]);for(n in A.call(e),t)t.hasOwnProperty(n)&&(i[n]=r[n])}function ce(e,t,A){var n,r,i,o=0;for(r=0;r<t.length;r++)if(n=t[r])for(i=0;i<A.length;i++){var a=void 0;a="border"===n?"".concat(n).concat(A[i],"Width"):n+A[i],o+=parseFloat(H(e,a))||0}return o}var ue={getParent:function(e){var t=e;do{t=11===t.nodeType&&t.host?t.host:t.parentNode}while(t&&1!==t.nodeType&&9!==t.nodeType);return t}};function le(e,t,A){var n=A;if(q(e))return"width"===t?ue.viewportWidth(e):ue.viewportHeight(e);if(9===e.nodeType)return"width"===t?ue.docWidth(e):ue.docHeight(e);var r="width"===t?["Left","Right"]:["Top","Bottom"],i="width"===t?e.getBoundingClientRect().width:e.getBoundingClientRect().height,o=(H(e),ae(e)),a=0;(null===i||void 0===i||i<=0)&&(i=void 0,(null===(a=H(e,t))||void 0===a||Number(a)<0)&&(a=e.style[t]||0),a=parseFloat(a)||0),void 0===n&&(n=o?1:-1);var s=void 0!==i||o,g=i||a;return-1===n?s?g-ce(e,["border","padding"],r):a:s?1===n?g:g+(2===n?-ce(e,["border"],r):ce(e,["margin"],r)):a+ce(e,se.slice(n),r)}oe(["Width","Height"],(function(e){ue["doc".concat(e)]=function(t){var A=t.document;return Math.max(A.documentElement["scroll".concat(e)],A.body["scroll".concat(e)],ue["viewport".concat(e)](A))},ue["viewport".concat(e)]=function(t){var A="client".concat(e),n=t.document,r=n.body,i=n.documentElement[A];return"CSS1Compat"===n.compatMode&&i||r&&r[A]||i}}));var Ie={position:"absolute",visibility:"hidden",display:"block"};function Ce(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];var n,r=t[0];return 0!==r.offsetWidth?n=le.apply(void 0,t):ge(r,Ie,(function(){n=le.apply(void 0,t)})),n}function he(e,t){for(var A in t)t.hasOwnProperty(A)&&(e[A]=t[A]);return e}oe(["width","height"],(function(e){var t=e.charAt(0).toUpperCase()+e.slice(1);ue["outer".concat(t)]=function(t,A){return t&&Ce(t,e,A?0:1)};var A="width"===e?["Left","Right"]:["Top","Bottom"];ue[e]=function(t,n){var r=n;if(void 0===r)return t&&Ce(t,e,-1);if(t){H(t);return ae(t)&&(r+=ce(t,["padding","border"],A)),P(t,e,r)}}}));var fe={getWindow:function(e){if(e&&e.document&&e.setTimeout)return e;var t=e.ownerDocument||e;return t.defaultView||t.parentWindow},getDocument:z,offset:function(e,t,A){if("undefined"===typeof t)return X(e);!function(e,t,A){if(A.ignoreShake){var n=X(e),r=n.left.toFixed(0),i=n.top.toFixed(0),o=t.left.toFixed(0),a=t.top.toFixed(0);if(r===o&&i===a)return}A.useCssRight||A.useCssBottom?re(e,t,A):A.useCssTransform&&L()in document.body.style?ie(e,t):re(e,t,A)}(e,t,A||{})},isWindow:q,each:oe,css:P,clone:function(e){var t,A={};for(t in e)e.hasOwnProperty(t)&&(A[t]=e[t]);if(e.overflow)for(t in e)e.hasOwnProperty(t)&&(A.overflow[t]=e.overflow[t]);return A},mix:he,getWindowScrollLeft:function(e){return K(e)},getWindowScrollTop:function(e){return W(e)},merge:function(){for(var e={},t=0;t<arguments.length;t++)fe.mix(e,t<0||arguments.length<=t?void 0:arguments[t]);return e},viewportWidth:0,viewportHeight:0};he(fe,ue);var de=fe.getParent;function Be(e){if(fe.isWindow(e)||9===e.nodeType)return null;var t,A=fe.getDocument(e).body,n=fe.css(e,"position");if(!("fixed"===n||"absolute"===n))return"html"===e.nodeName.toLowerCase()?null:de(e);for(t=de(e);t&&t!==A&&9!==t.nodeType;t=de(t))if("static"!==(n=fe.css(t,"position")))return t;return null}var pe=fe.getParent;function Ee(e,t){for(var A={left:0,right:1/0,top:0,bottom:1/0},n=Be(e),r=fe.getDocument(e),i=r.defaultView||r.parentWindow,o=r.body,a=r.documentElement;n;){if(-1!==navigator.userAgent.indexOf("MSIE")&&0===n.clientWidth||n===o||n===a||"visible"===fe.css(n,"overflow")){if(n===o||n===a)break}else{var s=fe.offset(n);s.left+=n.clientLeft,s.top+=n.clientTop,A.top=Math.max(A.top,s.top),A.right=Math.min(A.right,s.left+n.clientWidth),A.bottom=Math.min(A.bottom,s.top+n.clientHeight),A.left=Math.max(A.left,s.left)}n=Be(n)}var g=null;fe.isWindow(e)||9===e.nodeType||(g=e.style.position,"absolute"===fe.css(e,"position")&&(e.style.position="fixed"));var c=fe.getWindowScrollLeft(i),u=fe.getWindowScrollTop(i),l=fe.viewportWidth(i),I=fe.viewportHeight(i),C=a.scrollWidth,h=a.scrollHeight,f=window.getComputedStyle(o);if("hidden"===f.overflowX&&(C=i.innerWidth),"hidden"===f.overflowY&&(h=i.innerHeight),e.style&&(e.style.position=g),t||function(e){if(fe.isWindow(e)||9===e.nodeType)return!1;var t=fe.getDocument(e).body,A=null;for(A=pe(e);A&&A!==t;A=pe(A)){if("fixed"===fe.css(A,"position"))return!0}return!1}(e))A.left=Math.max(A.left,c),A.top=Math.max(A.top,u),A.right=Math.min(A.right,c+l),A.bottom=Math.min(A.bottom,u+I);else{var d=Math.max(C,c+l);A.right=Math.min(A.right,d);var B=Math.max(h,u+I);A.bottom=Math.min(A.bottom,B)}return A.top>=0&&A.left>=0&&A.bottom>A.top&&A.right>A.left?A:null}function Qe(e){var t,A,n;if(fe.isWindow(e)||9===e.nodeType){var r=fe.getWindow(e);t={left:fe.getWindowScrollLeft(r),top:fe.getWindowScrollTop(r)},A=fe.viewportWidth(r),n=fe.viewportHeight(r)}else t=fe.offset(e),A=fe.outerWidth(e),n=fe.outerHeight(e);return t.width=A,t.height=n,t}function ye(e,t){var A=t.charAt(0),n=t.charAt(1),r=e.width,i=e.height,o=e.left,a=e.top;return"c"===A?a+=i/2:"b"===A&&(a+=i),"c"===n?o+=r/2:"r"===n&&(o+=r),{left:o,top:a}}function ve(e,t,A,n,r){var i=ye(t,A[1]),o=ye(e,A[0]),a=[o.left-i.left,o.top-i.top];return{left:Math.round(e.left-a[0]+n[0]-r[0]),top:Math.round(e.top-a[1]+n[1]-r[1])}}function me(e,t,A){return e.left<A.left||e.left+t.width>A.right}function be(e,t,A){return e.top<A.top||e.top+t.height>A.bottom}function we(e,t,A){var n=[];return fe.each(e,(function(e){n.push(e.replace(t,(function(e){return A[e]})))})),n}function Se(e,t){return e[t]=-e[t],e}function Fe(e,t){return(/%$/.test(e)?parseInt(e.substring(0,e.length-1),10)/100*t:parseInt(e,10))||0}function Re(e,t){e[0]=Fe(e[0],t.width),e[1]=Fe(e[1],t.height)}function De(e,t,A,n){var r=A.points,i=A.offset||[0,0],o=A.targetOffset||[0,0],a=A.overflow,s=A.source||e;i=[].concat(i),o=[].concat(o);var g={},c=0,u=Ee(s,!(!(a=a||{})||!a.alwaysByViewport)),l=Qe(s);Re(i,l),Re(o,t);var I=ve(l,t,r,i,o),C=fe.merge(l,I);if(u&&(a.adjustX||a.adjustY)&&n){if(a.adjustX&&me(I,l,u)){var h=we(r,/[lr]/gi,{l:"r",r:"l"}),f=Se(i,0),d=Se(o,0);(function(e,t,A){return e.left>A.right||e.left+t.width<A.left})(ve(l,t,h,f,d),l,u)||(c=1,r=h,i=f,o=d)}if(a.adjustY&&be(I,l,u)){var B=we(r,/[tb]/gi,{t:"b",b:"t"}),p=Se(i,1),E=Se(o,1);(function(e,t,A){return e.top>A.bottom||e.top+t.height<A.top})(ve(l,t,B,p,E),l,u)||(c=1,r=B,i=p,o=E)}c&&(I=ve(l,t,r,i,o),fe.mix(C,I));var Q=me(I,l,u),y=be(I,l,u);(Q||y)&&(r=A.points,i=A.offset||[0,0],o=A.targetOffset||[0,0]),g.adjustX=a.adjustX&&Q,g.adjustY=a.adjustY&&y,(g.adjustX||g.adjustY)&&(C=function(e,t,A,n){var r=fe.clone(e),i={width:t.width,height:t.height};return n.adjustX&&r.left<A.left&&(r.left=A.left),n.resizeWidth&&r.left>=A.left&&r.left+i.width>A.right&&(i.width-=r.left+i.width-A.right),n.adjustX&&r.left+i.width>A.right&&(r.left=Math.max(A.right-i.width,A.left)),n.adjustY&&r.top<A.top&&(r.top=A.top),n.resizeHeight&&r.top>=A.top&&r.top+i.height>A.bottom&&(i.height-=r.top+i.height-A.bottom),n.adjustY&&r.top+i.height>A.bottom&&(r.top=Math.max(A.bottom-i.height,A.top)),fe.mix(r,i)}(I,l,u,g))}return C.width!==l.width&&fe.css(s,"width",fe.width(s)+C.width-l.width),C.height!==l.height&&fe.css(s,"height",fe.height(s)+C.height-l.height),fe.offset(s,{left:C.left,top:C.top},{useCssRight:A.useCssRight,useCssBottom:A.useCssBottom,useCssTransform:A.useCssTransform,ignoreShake:A.ignoreShake}),{points:r,offset:i,targetOffset:o,overflow:g}}function Ge(e,t,A){var n=A.target||t;return De(e,Qe(n),A,!function(e,t){var A=Ee(e,t),n=Qe(e);return!A||n.left+n.width<=A.left||n.top+n.height<=A.top||n.left>=A.right||n.top>=A.bottom}(n,A.overflow&&A.overflow.alwaysByViewport))}function ke(e,t,A){var n,r,i=fe.getDocument(e),o=i.defaultView||i.parentWindow,a=fe.getWindowScrollLeft(o),s=fe.getWindowScrollTop(o),g=fe.viewportWidth(o),c=fe.viewportHeight(o);n="pageX"in t?t.pageX:a+t.clientX,r="pageY"in t?t.pageY:s+t.clientY;var u=n>=0&&n<=a+g&&r>=0&&r<=s+c;return De(e,{left:n,top:r,width:0,height:0},function(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?U(A,!0).forEach((function(t){N(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):U(A).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}({},A,{points:[A.points[0],"cc"]}),u)}Ge.__getOffsetParent=Be,Ge.__getVisibleRectForElement=Ee;var xe=A(699);function Ne(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||function(e,t){if(!e)return;if("string"===typeof e)return Ue(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(e);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return Ue(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ue(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function _e(e,t){var A=null,n=null;var r=new xe.a((function(e){var r=Ne(e,1)[0].target.getBoundingClientRect(),i=r.width,o=r.height,a=Math.floor(i),s=Math.floor(o);A===a&&n===s||t({width:a,height:s}),A=a,n=s}));return e&&r.observe(e),function(){r.disconnect()}}function Me(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||function(e,t){if(!e)return;if("string"===typeof e)return Oe(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(e);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return Oe(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Oe(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function Le(e){return(Le="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Te(e){return"function"!==typeof e?null:e()}function Ze(e){return"object"===Le(e)&&e?e:null}var He=r.a.forwardRef((function(e,t){var A=e.children,n=e.disabled,i=e.target,o=e.align,s=e.onAlign,g=e.monitorWindowResize,c=e.monitorBufferTime,l=void 0===c?0:c,I=r.a.useRef({}),h=r.a.useRef(),f=r.a.Children.only(A),d=r.a.useRef({});d.current.disabled=n,d.current.target=i,d.current.onAlign=s;var B=Me(function(e,t){var A=r.a.useRef(!1),n=r.a.useRef(null);function i(){window.clearTimeout(n.current)}return[function r(o){if(A.current&&!0!==o)i(),n.current=window.setTimeout((function(){A.current=!1,r()}),t);else{if(!1===e())return;A.current=!0,i(),n.current=window.setTimeout((function(){A.current=!1}),t)}},function(){A.current=!1,i()}]}((function(){var e=d.current,t=e.disabled,A=e.target;if(!t&&A){var n,r=h.current,i=Te(A),g=Ze(A);I.current.element=i,I.current.point=g;var c=document.activeElement;return i?n=Ge(r,i,o):g&&(n=ke(r,g,o)),function(e,t){e!==document.activeElement&&a(t,e)&&e.focus()}(c,r),s&&s(r,n),!0}return!1}),l),2),p=B[0],E=B[1],Q=r.a.useRef({cancel:function(){}}),y=r.a.useRef({cancel:function(){}});r.a.useEffect((function(){var e,t,A=Te(i),n=Ze(i);h.current!==y.current.element&&(y.current.cancel(),y.current.element=h.current,y.current.cancel=_e(h.current,p)),I.current.element===A&&((e=I.current.point)===(t=n)||e&&t&&("pageX"in t&&"pageY"in t?e.pageX===t.pageX&&e.pageY===t.pageY:"clientX"in t&&"clientY"in t&&e.clientX===t.clientX&&e.clientY===t.clientY))||(p(),Q.current.element!==A&&(Q.current.cancel(),Q.current.element=A,Q.current.cancel=_e(A,p)))})),r.a.useEffect((function(){n?E():p()}),[n]);var v=r.a.useRef(null);return r.a.useEffect((function(){g?v.current||(v.current=C(window,"resize",p)):v.current&&(v.current.remove(),v.current=null)}),[g]),r.a.useEffect((function(){return function(){Q.current.cancel(),y.current.cancel(),v.current&&v.current.remove(),E()}}),[]),r.a.useImperativeHandle(t,(function(){return{forceAlign:function(){return p(!0)}}})),r.a.isValidElement(f)&&(f=r.a.cloneElement(f,{ref:u(f.ref,h)})),f}));He.displayName="Align";var Ye=He,Je=!("undefined"===typeof window||!window.document||!window.document.createElement);function je(e,t){var A={};return A[e.toLowerCase()]=t.toLowerCase(),A["Webkit"+e]="webkit"+t,A["Moz"+e]="moz"+t,A["ms"+e]="MS"+t,A["O"+e]="o"+t.toLowerCase(),A}var Pe=function(e,t){var A={animationend:je("Animation","AnimationEnd"),transitionend:je("Transition","TransitionEnd")};return e&&("AnimationEvent"in t||delete A.animationend.animation,"TransitionEvent"in t||delete A.transitionend.transition),A}(Je,"undefined"!==typeof window?window:{}),Ve={};Je&&(Ve=document.createElement("div").style);var Ke={};function We(e){if(Ke[e])return Ke[e];var t=Pe[e];if(t)for(var A=Object.keys(t),n=A.length,r=0;r<n;r+=1){var i=A[r];if(Object.prototype.hasOwnProperty.call(t,i)&&i in Ve)return Ke[e]=t[i],Ke[e]}return""}var Xe=We("animationend"),qe=We("transitionend"),ze=!(!Xe||!qe);function $e(e,t){return e?"object"===typeof e?e[t.replace(/-\w/g,(function(e){return e[1].toUpperCase()}))]:e+"-"+t:null}var et=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},tt=function(){function e(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,A,n){return A&&e(t.prototype,A),n&&e(t,n),t}}();function At(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var nt=function(e){var t=e,A=!!r.a.forwardRef;function n(e){return!(!e.motionName||!t)}"object"===typeof e&&(t=e.transitionSupport,A="forwardRef"in e?e.forwardRef:A);var i=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onDomUpdate=function(){var t=e.state,A=t.status,r=t.newStatus,i=e.props,o=i.onAppearStart,a=i.onEnterStart,s=i.onLeaveStart,g=i.onAppearActive,c=i.onEnterActive,u=i.onLeaveActive,l=i.motionAppear,I=i.motionEnter,C=i.motionLeave;if(n(e.props)){var h=e.getElement();e.$cacheEle!==h&&(e.removeEventListener(e.$cacheEle),e.addEventListener(h),e.$cacheEle=h),r&&"appear"===A&&l?e.updateStatus(o,null,null,(function(){e.updateActiveStatus(g,"appear")})):r&&"enter"===A&&I?e.updateStatus(a,null,null,(function(){e.updateActiveStatus(c,"enter")})):r&&"leave"===A&&C&&e.updateStatus(s,null,null,(function(){e.updateActiveStatus(u,"leave")}))}},e.onMotionEnd=function(t){var A=e.state,n=A.status,r=A.statusActive,i=e.props,o=i.onAppearEnd,a=i.onEnterEnd,s=i.onLeaveEnd;"appear"===n&&r?e.updateStatus(o,{status:"none"},t):"enter"===n&&r?e.updateStatus(a,{status:"none"},t):"leave"===n&&r&&e.updateStatus(s,{status:"none"},t)},e.setNodeRef=function(t){var A=e.props.internalRef;e.node=t,"function"===typeof A?A(t):A&&"current"in A&&(A.current=t)},e.getElement=function(){try{return Object(s.a)(e.node||e)}catch(t){return e.$cacheEle}},e.addEventListener=function(t){t&&(t.addEventListener(qe,e.onMotionEnd),t.addEventListener(Xe,e.onMotionEnd))},e.removeEventListener=function(t){t&&(t.removeEventListener(qe,e.onMotionEnd),t.removeEventListener(Xe,e.onMotionEnd))},e.updateStatus=function(t,A,n,r){var i=t?t(e.getElement(),n):null;if(!1!==i&&!e._destroyed){var o=void 0;r&&(o=function(){e.nextFrame(r)}),e.setState(et({statusStyle:"object"===typeof i?i:null,newStatus:!1},A),o)}},e.updateActiveStatus=function(t,A){e.nextFrame((function(){if(e.state.status===A){var n=e.props.motionDeadline;e.updateStatus(t,{statusActive:!0}),n>0&&setTimeout((function(){e.onMotionEnd({deadline:!0})}),n)}}))},e.nextFrame=function(t){e.cancelNextFrame(),e.raf=k()(t)},e.cancelNextFrame=function(){e.raf&&(k.a.cancel(e.raf),e.raf=null)},e.state={status:"none",statusActive:!1,newStatus:!1,statusStyle:null},e.$cacheEle=null,e.node=null,e.raf=null,e}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),tt(t,[{key:"componentDidMount",value:function(){this.onDomUpdate()}},{key:"componentDidUpdate",value:function(){this.onDomUpdate()}},{key:"componentWillUnmount",value:function(){this._destroyed=!0,this.removeEventListener(this.$cacheEle),this.cancelNextFrame()}},{key:"render",value:function(){var e,t=this.state,A=t.status,r=t.statusActive,i=t.statusStyle,o=this.props,a=o.children,s=o.motionName,g=o.visible,c=o.removeOnLeave,u=o.leavedClassName,l=o.eventProps;return a?"none"!==A&&n(this.props)?a(et({},l,{className:b()((e={},At(e,$e(s,A),"none"!==A),At(e,$e(s,A+"-active"),"none"!==A&&r),At(e,s,"string"===typeof s),e)),style:i}),this.setNodeRef):g?a(et({},l),this.setNodeRef):c?null:a(et({},l,{className:u}),this.setNodeRef):null}}],[{key:"getDerivedStateFromProps",value:function(e,t){var A=t.prevProps,r=t.status;if(!n(e))return{};var i=e.visible,o=e.motionAppear,a=e.motionEnter,s=e.motionLeave,g=e.motionLeaveImmediately,c={prevProps:e};return("appear"===r&&!o||"enter"===r&&!a||"leave"===r&&!s)&&(c.status="none",c.statusActive=!1,c.newStatus=!1),!A&&i&&o&&(c.status="appear",c.statusActive=!1,c.newStatus=!0),A&&!A.visible&&i&&a&&(c.status="enter",c.statusActive=!1,c.newStatus=!0),(A&&A.visible&&!i&&s||!A&&g&&!i&&s)&&(c.status="leave",c.statusActive=!1,c.newStatus=!0),c}}]),t}(r.a.Component);return i.defaultProps={visible:!0,motionEnter:!0,motionAppear:!0,motionLeave:!0,removeOnLeave:!0},A?r.a.forwardRef((function(e,t){return r.a.createElement(i,et({internalRef:t},e))})):i}(ze),rt=r.a.forwardRef((function(e,t){var A=e.prefixCls,n=e.className,i=e.visible,o=e.style,a=e.children,s=e.onMouseEnter,g=e.onMouseLeave,c=e.onMouseDown,u=e.onTouchStart,l=a;return r.a.Children.count(a)>1&&(l=r.a.createElement("div",{className:"".concat(A,"-content")},a)),r.a.createElement("div",{ref:t,className:b()(n,!i&&"".concat(e.hiddenClassName)),onMouseEnter:s,onMouseLeave:g,onMouseDown:c,onTouchStart:u,style:o},l)}));rt.displayName="PopupInner";var it=rt;function ot(e){var t=e.prefixCls,A=e.motion,n=e.animation,r=e.transitionName;return A||(n?{motionName:"".concat(t,"-").concat(n)}:r?{motionName:r}:null)}function at(e){return(at="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function st(e,t){if(null==e)return{};var A,n,r=function(e,t){if(null==e)return{};var A,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||Object.prototype.propertyIsEnumerable.call(e,A)&&(r[A]=e[A])}return r}function gt(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function ct(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?gt(Object(A),!0).forEach((function(t){ut(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):gt(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function ut(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function lt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function It(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Ct(e,t){return(Ct=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ht(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var A,n=dt(e);if(t){var r=dt(this).constructor;A=Reflect.construct(n,arguments,r)}else A=n.apply(this,arguments);return ft(this,A)}}function ft(e,t){return!t||"object"!==at(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function dt(e){return(dt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Bt=nt;function pt(e){return e&&e.motionName}var Et=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ct(e,t)}(o,e);var t,A,n,i=ht(o);function o(){var e;return lt(this,o),(e=i.apply(this,arguments)).state={targetWidth:void 0,targetHeight:void 0,status:null,prevVisible:null,alignClassName:null},e.popupRef=r.a.createRef(),e.alignRef=r.a.createRef(),e.nextFrameState=null,e.nextFrameId=null,e.onAlign=function(t,A){var n=e.state.status,r=e.props,i=r.getClassNameFromAlign,o=r.onAlign,a=i(A);"align"===n?e.setState({alignClassName:a,status:"aligned"},(function(){e.alignRef.current.forceAlign()})):"aligned"===n?(e.setState({alignClassName:a,status:"afterAlign"}),o(t,A)):e.setState({alignClassName:a})},e.onMotionEnd=function(){var t=e.props.visible;e.setState({status:t?"AfterMotion":"stable"})},e.setStateOnNextFrame=function(t){e.cancelFrameState(),e.nextFrameState=ct(ct({},e.nextFrameState),t),e.nextFrameId=k()((function(){var t=ct({},e.nextFrameState);e.nextFrameState=null,e.setState(t)}))},e.getMotion=function(){return ct({},ot(e.props))},e.getAlignTarget=function(){var t=e.props,A=t.point,n=t.getRootDomNode;return A||n},e.cancelFrameState=function(){k.a.cancel(e.nextFrameId)},e.renderPopupElement=function(){var t=e.state,A=t.status,n=t.targetHeight,i=t.targetWidth,o=t.alignClassName,a=e.props,s=a.prefixCls,g=a.className,c=a.style,l=a.stretch,I=a.visible,C=a.align,h=a.destroyPopupOnHide,f=a.onMouseEnter,d=a.onMouseLeave,B=a.onMouseDown,p=a.onTouchStart,E=a.children,Q=b()(s,g,o),y="".concat(s,"-hidden"),v={};l&&(-1!==l.indexOf("height")?v.height=n:-1!==l.indexOf("minHeight")&&(v.minHeight=n),-1!==l.indexOf("width")?v.width=i:-1!==l.indexOf("minWidth")&&(v.minWidth=i));var m=ct(ct(ct(ct({},v),e.getZIndexStyle()),c),{},{opacity:"stable"!==A&&I?0:void 0}),w=e.getMotion(),S=I;I&&"beforeMotion"!==A&&"motion"!==A&&"stable"!==A&&(w.motionAppear=!1,w.motionEnter=!1,w.motionLeave=!1),"afterAlign"!==A&&"beforeMotion"!==A||(S=!1);var F=!I||"align"!==A&&"aligned"!==A&&"stable"!==A,R=!0;return"stable"===A&&(R=I),h&&!R?null:r.a.createElement(Bt,Object.assign({visible:S},w,{removeOnLeave:!1,onEnterEnd:e.onMotionEnd,onLeaveEnd:e.onMotionEnd}),(function(t,A){var n=t.style,i=t.className;return r.a.createElement(Ye,{target:e.getAlignTarget(),key:"popup",ref:e.alignRef,monitorWindowResize:!0,disabled:F,align:C,onAlign:e.onAlign},r.a.createElement(it,{prefixCls:s,visible:R,hiddenClassName:y,className:b()(Q,i),ref:u(A,e.popupRef),onMouseEnter:f,onMouseLeave:d,onMouseDown:B,onTouchStart:p,style:ct(ct({},m),n)},E))}))},e.renderMaskElement=function(){var t=e.props,A=t.mask,n=t.maskMotion,i=t.maskTransitionName,o=t.maskAnimation,a=t.prefixCls,s=t.visible;if(!A)return null;var g={};return n&&n.motionName&&(g=ct({motionAppear:!0},ot({motion:n,prefixCls:a,transitionName:i,animation:o}))),r.a.createElement(Bt,Object.assign({},g,{visible:s,removeOnLeave:!0}),(function(t){var A=t.className;return r.a.createElement("div",{style:e.getZIndexStyle(),key:"mask",className:b()("".concat(a,"-mask"),A)})}))},e}return t=o,n=[{key:"getDerivedStateFromProps",value:function(e,t){var A=e.visible,n=st(e,["visible"]),r=t.prevVisible,i=t.status,o={prevVisible:A,status:i},a=ot(n);return null===r&&!1===A?o.status="stable":A!==r&&(A||pt(a)&&["motion","AfterMotion","stable"].includes(i)?o.status=null:o.status="stable",A&&(o.alignClassName=null)),o}}],(A=[{key:"componentDidMount",value:function(){this.componentDidUpdate()}},{key:"componentDidUpdate",value:function(){var e=this.state.status,t=this.props,A=t.getRootDomNode,n=t.visible,r=t.stretch;if(this.cancelFrameState(),n&&"stable"!==e)switch(e){case null:this.setStateOnNextFrame({status:r?"measure":"align"});break;case"afterAlign":this.setStateOnNextFrame({status:pt(this.getMotion())?"beforeMotion":"stable"});break;case"AfterMotion":this.setStateOnNextFrame({status:"stable"});break;default:var i=["measure","align",null,"beforeMotion","motion"],o=i.indexOf(e),a=i[o+1];-1!==o&&a&&this.setStateOnNextFrame({status:a})}if("measure"===e){var s=A();s&&this.setStateOnNextFrame({targetHeight:s.offsetHeight,targetWidth:s.offsetWidth})}}},{key:"componentWillUnmount",value:function(){this.cancelFrameState()}},{key:"getZIndexStyle",value:function(){return{zIndex:this.props.zIndex}}},{key:"render",value:function(){return r.a.createElement("div",null,this.renderMaskElement(),this.renderPopupElement())}}])&&It(t.prototype,A),n&&It(t,n),o}(n.Component),Qt=r.a.createContext(null);function yt(e){return(yt="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function vt(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function mt(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function bt(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function wt(e,t){return(wt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function St(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var A,n=Dt(e);if(t){var r=Dt(this).constructor;A=Reflect.construct(n,arguments,r)}else A=n.apply(this,arguments);return Ft(this,A)}}function Ft(e,t){return!t||"object"!==yt(t)&&"function"!==typeof t?Rt(e):t}function Rt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Dt(e){return(Dt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Gt(){}function kt(){return""}function xt(){return window.document}var Nt=["onClick","onMouseDown","onTouchStart","onMouseEnter","onMouseLeave","onFocus","onBlur","onContextMenu"];var Ut=function(e){var t=function(t){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&wt(e,t)}(c,t);var A,n,i,g=St(c);function c(e){var t,A;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=g.call(this,e)).popupRef=r.a.createRef(),t.triggerRef=r.a.createRef(),t.onMouseEnter=function(e){var A=t.props.mouseEnterDelay;t.fireEvents("onMouseEnter",e),t.delaySetPopupVisible(!0,A,A?null:e)},t.onMouseMove=function(e){t.fireEvents("onMouseMove",e),t.setPoint(e)},t.onMouseLeave=function(e){t.fireEvents("onMouseLeave",e),t.delaySetPopupVisible(!1,t.props.mouseLeaveDelay)},t.onPopupMouseEnter=function(){t.clearDelayTimer()},t.onPopupMouseLeave=function(e){e.relatedTarget&&!e.relatedTarget.setTimeout&&t.popupRef.current&&t.popupRef.current.popupRef.current&&a(t.popupRef.current.popupRef.current,e.relatedTarget)||t.delaySetPopupVisible(!1,t.props.mouseLeaveDelay)},t.onFocus=function(e){t.fireEvents("onFocus",e),t.clearDelayTimer(),t.isFocusToShow()&&(t.focusTime=Date.now(),t.delaySetPopupVisible(!0,t.props.focusDelay))},t.onMouseDown=function(e){t.fireEvents("onMouseDown",e),t.preClickTime=Date.now()},t.onTouchStart=function(e){t.fireEvents("onTouchStart",e),t.preTouchTime=Date.now()},t.onBlur=function(e){t.fireEvents("onBlur",e),t.clearDelayTimer(),t.isBlurToHide()&&t.delaySetPopupVisible(!1,t.props.blurDelay)},t.onContextMenu=function(e){e.preventDefault(),t.fireEvents("onContextMenu",e),t.setPopupVisible(!0,e)},t.onContextMenuClose=function(){t.isContextMenuToShow()&&t.close()},t.onClick=function(e){if(t.fireEvents("onClick",e),t.focusTime){var A;if(t.preClickTime&&t.preTouchTime?A=Math.min(t.preClickTime,t.preTouchTime):t.preClickTime?A=t.preClickTime:t.preTouchTime&&(A=t.preTouchTime),Math.abs(A-t.focusTime)<20)return;t.focusTime=0}t.preClickTime=0,t.preTouchTime=0,t.isClickToShow()&&(t.isClickToHide()||t.isBlurToHide())&&e&&e.preventDefault&&e.preventDefault();var n=!t.state.popupVisible;(t.isClickToHide()&&!n||n&&t.isClickToShow())&&t.setPopupVisible(!t.state.popupVisible,e)},t.onPopupMouseDown=function(){var e;(t.hasPopupMouseDown=!0,clearTimeout(t.mouseDownTimeout),t.mouseDownTimeout=window.setTimeout((function(){t.hasPopupMouseDown=!1}),0),t.context)&&(e=t.context).onPopupMouseDown.apply(e,arguments)},t.onDocumentClick=function(e){if(!t.props.mask||t.props.maskClosable){var A=e.target,n=t.getRootDomNode(),r=t.getPopupDomNode();a(n,A)||a(r,A)||t.hasPopupMouseDown||t.close()}},t.getRootDomNode=function(){var e=t.props.getTriggerDOMNode;if(e)return e(t.triggerRef.current);try{var A=Object(s.a)(t.triggerRef.current);if(A)return A}catch(n){}return o.a.findDOMNode(Rt(t))},t.getPopupClassNameFromAlign=function(e){var A=[],n=t.props,r=n.popupPlacement,i=n.builtinPlacements,o=n.prefixCls,a=n.alignPoint,s=n.getPopupClassNameFromAlign;return r&&i&&A.push(function(e,t,A,n){for(var r=A.points,i=Object.keys(e),o=0;o<i.length;o+=1){var a=i[o];if(R(e[a].points,r,n))return"".concat(t,"-placement-").concat(a)}return""}(i,o,e,a)),s&&A.push(s(e)),A.join(" ")},t.getComponent=function(){var e=t.props,A=e.prefixCls,n=e.destroyPopupOnHide,i=e.popupClassName,o=e.onPopupAlign,a=e.popupMotion,s=e.popupAnimation,g=e.popupTransitionName,c=e.popupStyle,u=e.mask,l=e.maskAnimation,I=e.maskTransitionName,C=e.maskMotion,h=e.zIndex,f=e.popup,d=e.stretch,B=e.alignPoint,p=t.state,E=p.popupVisible,Q=p.point,y=t.getPopupAlign(),v={};return t.isMouseEnterToShow()&&(v.onMouseEnter=t.onPopupMouseEnter),t.isMouseLeaveToHide()&&(v.onMouseLeave=t.onPopupMouseLeave),v.onMouseDown=t.onPopupMouseDown,v.onTouchStart=t.onPopupMouseDown,r.a.createElement(Et,Object.assign({prefixCls:A,destroyPopupOnHide:n,visible:E,point:B&&Q,className:i,align:y,onAlign:o,animation:s,getClassNameFromAlign:t.getPopupClassNameFromAlign},v,{stretch:d,getRootDomNode:t.getRootDomNode,style:c,mask:u,zIndex:h,transitionName:g,maskAnimation:l,maskTransitionName:I,maskMotion:C,ref:t.popupRef,motion:a}),"function"===typeof f?f():f)},t.getContainer=function(){var e=Rt(t).props,A=document.createElement("div");return A.style.position="absolute",A.style.top="0",A.style.left="0",A.style.width="100%",(e.getPopupContainer?e.getPopupContainer(t.getRootDomNode()):e.getDocument().body).appendChild(A),A},t.setPoint=function(e){t.props.alignPoint&&e&&t.setState({point:{pageX:e.pageX,pageY:e.pageY}})},t.handlePortalUpdate=function(){t.state.prevPopupVisible!==t.state.popupVisible&&t.props.afterPopupVisibleChange(t.state.popupVisible)},A="popupVisible"in e?!!e.popupVisible:!!e.defaultPopupVisible,t.state={prevPopupVisible:A,popupVisible:A},Nt.forEach((function(e){t["fire".concat(e)]=function(A){t.fireEvents(e,A)}})),t}return A=c,i=[{key:"getDerivedStateFromProps",value:function(e,t){var A=e.popupVisible,n={};return void 0!==A&&t.popupVisible!==A&&(n.popupVisible=A,n.prevPopupVisible=t.popupVisible),n}}],(n=[{key:"componentDidMount",value:function(){this.componentDidUpdate()}},{key:"componentDidUpdate",value:function(){var e,t=this.props;if(this.state.popupVisible)return this.clickOutsideHandler||!this.isClickToHide()&&!this.isContextMenuToShow()||(e=t.getDocument(),this.clickOutsideHandler=C(e,"mousedown",this.onDocumentClick)),this.touchOutsideHandler||(e=e||t.getDocument(),this.touchOutsideHandler=C(e,"touchstart",this.onDocumentClick)),!this.contextMenuOutsideHandler1&&this.isContextMenuToShow()&&(e=e||t.getDocument(),this.contextMenuOutsideHandler1=C(e,"scroll",this.onContextMenuClose)),void(!this.contextMenuOutsideHandler2&&this.isContextMenuToShow()&&(this.contextMenuOutsideHandler2=C(window,"blur",this.onContextMenuClose)));this.clearOutsideHandler()}},{key:"componentWillUnmount",value:function(){this.clearDelayTimer(),this.clearOutsideHandler(),clearTimeout(this.mouseDownTimeout)}},{key:"getPopupDomNode",value:function(){return this.popupRef.current&&this.popupRef.current.popupRef.current?this.popupRef.current.popupRef.current:null}},{key:"getPopupAlign",value:function(){var e=this.props,t=e.popupPlacement,A=e.popupAlign,n=e.builtinPlacements;return t&&n?function(e,t,A){return S(S({},e[t]||{}),A)}(n,t,A):A}},{key:"setPopupVisible",value:function(e,t){var A=this.props.alignPoint,n=this.state.popupVisible;this.clearDelayTimer(),n!==e&&("popupVisible"in this.props||this.setState({popupVisible:e,prevPopupVisible:n}),this.props.onPopupVisibleChange(e)),A&&t&&this.setPoint(t)}},{key:"delaySetPopupVisible",value:function(e,t,A){var n=this,r=1e3*t;if(this.clearDelayTimer(),r){var i=A?{pageX:A.pageX,pageY:A.pageY}:null;this.delayTimer=window.setTimeout((function(){n.setPopupVisible(e,i),n.clearDelayTimer()}),r)}else this.setPopupVisible(e,A)}},{key:"clearDelayTimer",value:function(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=null)}},{key:"clearOutsideHandler",value:function(){this.clickOutsideHandler&&(this.clickOutsideHandler.remove(),this.clickOutsideHandler=null),this.contextMenuOutsideHandler1&&(this.contextMenuOutsideHandler1.remove(),this.contextMenuOutsideHandler1=null),this.contextMenuOutsideHandler2&&(this.contextMenuOutsideHandler2.remove(),this.contextMenuOutsideHandler2=null),this.touchOutsideHandler&&(this.touchOutsideHandler.remove(),this.touchOutsideHandler=null)}},{key:"createTwoChains",value:function(e){var t=this.props.children.props,A=this.props;return t[e]&&A[e]?this["fire".concat(e)]:t[e]||A[e]}},{key:"isClickToShow",value:function(){var e=this.props,t=e.action,A=e.showAction;return-1!==t.indexOf("click")||-1!==A.indexOf("click")}},{key:"isContextMenuToShow",value:function(){var e=this.props,t=e.action,A=e.showAction;return-1!==t.indexOf("contextMenu")||-1!==A.indexOf("contextMenu")}},{key:"isClickToHide",value:function(){var e=this.props,t=e.action,A=e.hideAction;return-1!==t.indexOf("click")||-1!==A.indexOf("click")}},{key:"isMouseEnterToShow",value:function(){var e=this.props,t=e.action,A=e.showAction;return-1!==t.indexOf("hover")||-1!==A.indexOf("mouseEnter")}},{key:"isMouseLeaveToHide",value:function(){var e=this.props,t=e.action,A=e.hideAction;return-1!==t.indexOf("hover")||-1!==A.indexOf("mouseLeave")}},{key:"isFocusToShow",value:function(){var e=this.props,t=e.action,A=e.showAction;return-1!==t.indexOf("focus")||-1!==A.indexOf("focus")}},{key:"isBlurToHide",value:function(){var e=this.props,t=e.action,A=e.hideAction;return-1!==t.indexOf("focus")||-1!==A.indexOf("blur")}},{key:"forcePopupAlign",value:function(){this.state.popupVisible&&this.popupRef.current&&this.popupRef.current.alignRef.current&&this.popupRef.current.alignRef.current.forceAlign()}},{key:"fireEvents",value:function(e,t){var A=this.props.children.props[e];A&&A(t);var n=this.props[e];n&&n(t)}},{key:"close",value:function(){this.setPopupVisible(!1)}},{key:"render",value:function(){var t=this.state.popupVisible,A=this.props,n=A.children,i=A.forceRender,o=A.alignPoint,a=A.className,s=r.a.Children.only(n),g={key:"trigger"};this.isContextMenuToShow()?g.onContextMenu=this.onContextMenu:g.onContextMenu=this.createTwoChains("onContextMenu"),this.isClickToHide()||this.isClickToShow()?(g.onClick=this.onClick,g.onMouseDown=this.onMouseDown,g.onTouchStart=this.onTouchStart):(g.onClick=this.createTwoChains("onClick"),g.onMouseDown=this.createTwoChains("onMouseDown"),g.onTouchStart=this.createTwoChains("onTouchStart")),this.isMouseEnterToShow()?(g.onMouseEnter=this.onMouseEnter,o&&(g.onMouseMove=this.onMouseMove)):g.onMouseEnter=this.createTwoChains("onMouseEnter"),this.isMouseLeaveToHide()?g.onMouseLeave=this.onMouseLeave:g.onMouseLeave=this.createTwoChains("onMouseLeave"),this.isFocusToShow()||this.isBlurToHide()?(g.onFocus=this.onFocus,g.onBlur=this.onBlur):(g.onFocus=this.createTwoChains("onFocus"),g.onBlur=this.createTwoChains("onBlur"));var c=b()(s&&s.props&&s.props.className,a);c&&(g.className=c);var l,I=function(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?vt(Object(A),!0).forEach((function(t){mt(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):vt(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}({},g);(l=s).type&&l.type.prototype&&!l.type.prototype.render||"function"===typeof l&&l.prototype&&!l.prototype.render||(I.ref=u(this.triggerRef,s.ref));var C,h=r.a.cloneElement(s,I);return(t||this.popupRef.current||i)&&(C=r.a.createElement(e,{key:"portal",getContainer:this.getContainer,didUpdate:this.handlePortalUpdate},this.getComponent())),r.a.createElement(Qt.Provider,{value:{onPopupMouseDown:this.onPopupMouseDown}},h,C)}}])&&bt(A.prototype,n),i&&bt(A,i),c}(r.a.Component);return t.contextType=Qt,t.defaultProps={prefixCls:"rc-trigger-popup",getPopupClassNameFromAlign:kt,getDocument:xt,onPopupVisibleChange:Gt,afterPopupVisibleChange:Gt,onPopupAlign:Gt,popupClassName:"",mouseEnterDelay:0,mouseLeaveDelay:.1,focusDelay:0,blurDelay:.15,popupStyle:{},destroyPopupOnHide:!1,popupAlign:{},defaultPopupVisible:!1,mask:!1,maskClosable:!0,action:[],showAction:[],hideAction:[]},t}(v),_t={adjustX:1,adjustY:1},Mt=[0,0],Ot={left:{points:["cr","cl"],overflow:_t,offset:[-4,0],targetOffset:Mt},right:{points:["cl","cr"],overflow:_t,offset:[4,0],targetOffset:Mt},top:{points:["bc","tc"],overflow:_t,offset:[0,-4],targetOffset:Mt},bottom:{points:["tc","bc"],overflow:_t,offset:[0,4],targetOffset:Mt},topLeft:{points:["bl","tl"],overflow:_t,offset:[0,-4],targetOffset:Mt},leftTop:{points:["tr","tl"],overflow:_t,offset:[-4,0],targetOffset:Mt},topRight:{points:["br","tr"],overflow:_t,offset:[0,-4],targetOffset:Mt},rightTop:{points:["tl","tr"],overflow:_t,offset:[4,0],targetOffset:Mt},bottomRight:{points:["tr","br"],overflow:_t,offset:[0,4],targetOffset:Mt},rightBottom:{points:["bl","br"],overflow:_t,offset:[4,0],targetOffset:Mt},bottomLeft:{points:["tl","bl"],overflow:_t,offset:[0,4],targetOffset:Mt},leftBottom:{points:["br","bl"],overflow:_t,offset:[-4,0],targetOffset:Mt}},Lt=function(e){var t=e.overlay,A=e.prefixCls,n=e.id;return r.a.createElement("div",{className:"".concat(A,"-inner"),id:n,role:"tooltip"},"function"===typeof t?t():t)};function Tt(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function Zt(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function Ht(e,t){if(null==e)return{};var A,n,r=function(e,t){if(null==e)return{};var A,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||Object.prototype.propertyIsEnumerable.call(e,A)&&(r[A]=e[A])}return r}var Yt=Object(n.forwardRef)((function(e,t){var A=e.overlayClassName,i=e.trigger,o=void 0===i?["hover"]:i,a=e.mouseEnterDelay,s=void 0===a?0:a,g=e.mouseLeaveDelay,c=void 0===g?.1:g,u=e.overlayStyle,l=e.prefixCls,I=void 0===l?"rc-tooltip":l,C=e.children,h=e.onVisibleChange,f=e.afterVisibleChange,d=e.transitionName,B=e.animation,p=e.placement,E=void 0===p?"right":p,Q=e.align,y=void 0===Q?{}:Q,v=e.destroyTooltipOnHide,m=void 0!==v&&v,b=e.defaultVisible,w=e.getTooltipContainer,S=Ht(e,["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer"]),F=Object(n.useRef)(null);Object(n.useImperativeHandle)(t,(function(){return F.current}));var R=function(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?Tt(Object(A),!0).forEach((function(t){Zt(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):Tt(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}({},S);"visible"in e&&(R.popupVisible=e.visible);return r.a.createElement(Ut,Object.assign({popupClassName:A,prefixCls:I,popup:function(){var t=e.arrowContent,A=void 0===t?null:t,n=e.overlay,i=e.id;return[r.a.createElement("div",{className:"".concat(I,"-arrow"),key:"arrow"},A),r.a.createElement(Lt,{key:"content",prefixCls:I,id:i,overlay:n})]},action:o,builtinPlacements:Ot,popupPlacement:E,ref:F,popupAlign:y,getPopupContainer:w,onPopupVisibleChange:h,afterPopupVisibleChange:f,popupTransitionName:d,popupAnimation:B,defaultPopupVisible:b,destroyPopupOnHide:m,mouseLeaveDelay:c,popupStyle:u,mouseEnterDelay:s},R),C)}));t.a=Yt},function(e,t,A){"use strict";var n=A(25),r=A(21),i=A(1157),o=A(14),a=["xs","sm","md","lg","xl"];function s(e){var t=e.values,A=void 0===t?{xs:0,sm:600,md:960,lg:1280,xl:1920}:t,n=e.unit,i=void 0===n?"px":n,s=e.step,g=void 0===s?5:s,c=Object(r.a)(e,["values","unit","step"]);function u(e){var t="number"===typeof A[e]?A[e]:e;return"@media (min-width:".concat(t).concat(i,")")}function l(e,t){var n=a.indexOf(t);return n===a.length-1?u(e):"@media (min-width:".concat("number"===typeof A[e]?A[e]:e).concat(i,") and ")+"(max-width:".concat((-1!==n&&"number"===typeof A[a[n+1]]?A[a[n+1]]:t)-g/100).concat(i,")")}return Object(o.a)({keys:a,values:A,up:u,down:function(e){var t=a.indexOf(e)+1,n=A[a[t]];return t===a.length?u("xs"):"@media (max-width:".concat(("number"===typeof n&&t>0?n:e)-g/100).concat(i,")")},between:l,only:function(e){return l(e,e)},width:function(e){return A[e]}},c)}function g(e,t,A){var r;return Object(o.a)({gutters:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return console.warn(["Material-UI: theme.mixins.gutters() is deprecated.","You can use the source of the mixin directly:","\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3),\n },\n "].join("\n")),Object(o.a)({paddingLeft:t(2),paddingRight:t(2)},A,Object(n.a)({},e.up("sm"),Object(o.a)({paddingLeft:t(3),paddingRight:t(3)},A[e.up("sm")])))},toolbar:(r={minHeight:56},Object(n.a)(r,"".concat(e.up("xs")," and (orientation: landscape)"),{minHeight:48}),Object(n.a)(r,e.up("sm"),{minHeight:64}),r)},A)}var c=A(717),u={black:"#000",white:"#fff"},l=A(426),I={50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",A100:"#8c9eff",A200:"#536dfe",A400:"#3d5afe",A700:"#304ffe"},C={50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",A100:"#ff80ab",A200:"#ff4081",A400:"#f50057",A700:"#c51162"},h={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},f={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},d={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},B={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},p=A(60),E={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.54)",disabled:"rgba(0, 0, 0, 0.38)",hint:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:u.white,default:l.a[50]},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},Q={text:{primary:u.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",hint:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:l.a[800],default:"#303030"},action:{active:u.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function y(e,t,A,n){var r=n.light||n,i=n.dark||1.5*n;e[t]||(e.hasOwnProperty(A)?e[t]=e[A]:"light"===t?e.light=Object(p.d)(e.main,r):"dark"===t&&(e.dark=Object(p.b)(e.main,i)))}function v(e){var t=e.primary,A=void 0===t?{light:I[300],main:I[500],dark:I[700]}:t,n=e.secondary,a=void 0===n?{light:C.A200,main:C.A400,dark:C.A700}:n,s=e.error,g=void 0===s?{light:h[300],main:h[500],dark:h[700]}:s,v=e.warning,m=void 0===v?{light:f[300],main:f[500],dark:f[700]}:v,b=e.info,w=void 0===b?{light:d[300],main:d[500],dark:d[700]}:b,S=e.success,F=void 0===S?{light:B[300],main:B[500],dark:B[700]}:S,R=e.type,D=void 0===R?"light":R,G=e.contrastThreshold,k=void 0===G?3:G,x=e.tonalOffset,N=void 0===x?.2:x,U=Object(r.a)(e,["primary","secondary","error","warning","info","success","type","contrastThreshold","tonalOffset"]);function _(e){return Object(p.c)(e,Q.text.primary)>=k?Q.text.primary:E.text.primary}var M=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:300,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:700;if(!(e=Object(o.a)({},e)).main&&e[t]&&(e.main=e[t]),!e.main)throw new Error(Object(c.a)(4,t));if("string"!==typeof e.main)throw new Error(Object(c.a)(5,JSON.stringify(e.main)));return y(e,"light",A,N),y(e,"dark",n,N),e.contrastText||(e.contrastText=_(e.main)),e},O={dark:Q,light:E};return Object(i.a)(Object(o.a)({common:u,type:D,primary:M(A),secondary:M(a,"A400","A200","A700"),error:M(g),warning:M(m),info:M(w),success:M(F),grey:l.a,contrastThreshold:k,getContrastText:_,augmentColor:M,tonalOffset:N},O[D]),U)}function m(e){return Math.round(1e5*e)/1e5}function b(e){return m(e)}var w={textTransform:"uppercase"};function S(e,t){var A="function"===typeof t?t(e):t,n=A.fontFamily,a=void 0===n?'"Roboto", "Helvetica", "Arial", sans-serif':n,s=A.fontSize,g=void 0===s?14:s,c=A.fontWeightLight,u=void 0===c?300:c,l=A.fontWeightRegular,I=void 0===l?400:l,C=A.fontWeightMedium,h=void 0===C?500:C,f=A.fontWeightBold,d=void 0===f?700:f,B=A.htmlFontSize,p=void 0===B?16:B,E=A.allVariants,Q=A.pxToRem,y=Object(r.a)(A,["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"]);var v=g/14,S=Q||function(e){return"".concat(e/p*v,"rem")},F=function(e,t,A,n,r){return Object(o.a)({fontFamily:a,fontWeight:e,fontSize:S(t),lineHeight:A},'"Roboto", "Helvetica", "Arial", sans-serif'===a?{letterSpacing:"".concat(m(n/t),"em")}:{},r,E)},R={h1:F(u,96,1.167,-1.5),h2:F(u,60,1.2,-.5),h3:F(I,48,1.167,0),h4:F(I,34,1.235,.25),h5:F(I,24,1.334,0),h6:F(h,20,1.6,.15),subtitle1:F(I,16,1.75,.15),subtitle2:F(h,14,1.57,.1),body1:F(I,16,1.5,.15),body2:F(I,14,1.43,.15),button:F(h,14,1.75,.4,w),caption:F(I,12,1.66,.4),overline:F(I,12,2.66,1,w)};return Object(i.a)(Object(o.a)({htmlFontSize:p,pxToRem:S,round:b,fontFamily:a,fontSize:g,fontWeightLight:u,fontWeightRegular:I,fontWeightMedium:h,fontWeightBold:d},R),y,{clone:!1})}function F(){return["".concat(arguments.length<=0?void 0:arguments[0],"px ").concat(arguments.length<=1?void 0:arguments[1],"px ").concat(arguments.length<=2?void 0:arguments[2],"px ").concat(arguments.length<=3?void 0:arguments[3],"px rgba(0,0,0,").concat(.2,")"),"".concat(arguments.length<=4?void 0:arguments[4],"px ").concat(arguments.length<=5?void 0:arguments[5],"px ").concat(arguments.length<=6?void 0:arguments[6],"px ").concat(arguments.length<=7?void 0:arguments[7],"px rgba(0,0,0,").concat(.14,")"),"".concat(arguments.length<=8?void 0:arguments[8],"px ").concat(arguments.length<=9?void 0:arguments[9],"px ").concat(arguments.length<=10?void 0:arguments[10],"px ").concat(arguments.length<=11?void 0:arguments[11],"px rgba(0,0,0,").concat(.12,")")].join(",")}var R=["none",F(0,2,1,-1,0,1,1,0,0,1,3,0),F(0,3,1,-2,0,2,2,0,0,1,5,0),F(0,3,3,-2,0,3,4,0,0,1,8,0),F(0,2,4,-1,0,4,5,0,0,1,10,0),F(0,3,5,-1,0,5,8,0,0,1,14,0),F(0,3,5,-1,0,6,10,0,0,1,18,0),F(0,4,5,-2,0,7,10,1,0,2,16,1),F(0,5,5,-3,0,8,10,1,0,3,14,2),F(0,5,6,-3,0,9,12,1,0,3,16,2),F(0,6,6,-3,0,10,14,1,0,4,18,3),F(0,6,7,-4,0,11,15,1,0,4,20,3),F(0,7,8,-4,0,12,17,2,0,5,22,4),F(0,7,8,-4,0,13,19,2,0,5,24,4),F(0,7,9,-4,0,14,21,2,0,5,26,4),F(0,8,9,-5,0,15,22,2,0,6,28,5),F(0,8,10,-5,0,16,24,2,0,6,30,5),F(0,8,11,-5,0,17,26,2,0,6,32,5),F(0,9,11,-5,0,18,28,2,0,7,34,6),F(0,9,12,-6,0,19,29,2,0,7,36,6),F(0,10,13,-6,0,20,31,3,0,8,38,7),F(0,10,13,-6,0,21,33,3,0,8,40,7),F(0,10,14,-6,0,22,35,3,0,8,42,7),F(0,11,14,-7,0,23,36,3,0,9,44,8),F(0,11,15,-7,0,24,38,3,0,9,46,8)],D={borderRadius:4},G=A(1297);function k(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8;if(e.mui)return e;var t=Object(G.a)({spacing:e}),A=function(){for(var e=arguments.length,A=new Array(e),n=0;n<e;n++)A[n]=arguments[n];return 0===A.length?t(1):1===A.length?t(A[0]):A.map((function(e){if("string"===typeof e)return e;var A=t(e);return"number"===typeof A?"".concat(A,"px"):A})).join(" ")};return Object.defineProperty(A,"unit",{get:function(){return e}}),A.mui=!0,A}var x=A(226),N=A(402);function U(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.breakpoints,A=void 0===t?{}:t,n=e.mixins,o=void 0===n?{}:n,a=e.palette,c=void 0===a?{}:a,u=e.spacing,l=e.typography,I=void 0===l?{}:l,C=Object(r.a)(e,["breakpoints","mixins","palette","spacing","typography"]),h=v(c),f=s(A),d=k(u),B=Object(i.a)({breakpoints:f,direction:"ltr",mixins:g(f,d,o),overrides:{},palette:h,props:{},shadows:R,typography:S(h,I),spacing:d,shape:D,transitions:x.a,zIndex:N.a},C),p=arguments.length,E=new Array(p>1?p-1:0),Q=1;Q<p;Q++)E[Q-1]=arguments[Q];return B=E.reduce((function(e,t){return Object(i.a)(e,t)}),B)}t.a=U},function(e,t,A){"use strict";function n(e){for(var t="https://material-ui.com/production-error/?code="+e,A=1;A<arguments.length;A+=1)t+="&args[]="+encodeURIComponent(arguments[A]);return"Minified Material-UI error #"+e+"; visit "+t+" for the full message."}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"b",(function(){return a})),A.d(t,"c",(function(){return s})),A.d(t,"a",(function(){return g}));var n=A(6),r=A(427),i=A(18),o=A(26);function a(e,t){return s(e,t)}function s(e,t){return(t=Array.isArray(t)?t:[t]).every((function(t){return c(e,t)}))}function g(e){for(var t in e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},r.b)void 0===e.luma.caps[t]&&(e.luma.caps[t]=c(e,t));return e.luma.caps}function c(e,t){return e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},void 0===e.luma.caps[t]&&(e.luma.caps[t]=function(e,t){var A,a=r.b[t];Object(o.a)(a,t);var s=Object(i.j)(e)&&a[1]||a[0];if("function"===typeof s)A=s(e);else if(Array.isArray(s)){A=!0;var g,c=Object(n.a)(s);try{for(c.s();!(g=c.n()).done;){var u=g.value;A=A&&Boolean(e.getExtension(u))}}catch(l){c.e(l)}finally{c.f()}}else"string"===typeof s?A=Boolean(e.getExtension(s)):"boolean"===typeof s?A=s:Object(o.a)(!1);return A}(e,t)),e.luma.caps[t]||i.k.log(2,"Feature: ".concat(t," not supported"))(),e.luma.caps[t]}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,A){"use strict";var n="URLSearchParams"in self,r="Symbol"in self&&"iterator"in Symbol,i="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(e){return!1}}(),o="FormData"in self,a="ArrayBuffer"in self;if(a)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],g=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function c(e){if("string"!==typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function u(e){return"string"!==typeof e&&(e=String(e)),e}function l(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return r&&(t[Symbol.iterator]=function(){return t}),t}function I(e){this.map={},e instanceof I?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function C(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function h(e){return new Promise((function(t,A){e.onload=function(){t(e.result)},e.onerror=function(){A(e.error)}}))}function f(e){var t=new FileReader,A=h(t);return t.readAsArrayBuffer(e),A}function d(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function B(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?"string"===typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:o&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:n&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a&&i&&((t=e)&&DataView.prototype.isPrototypeOf(t))?(this._bodyArrayBuffer=d(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(e)||g(e))?this._bodyArrayBuffer=d(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"===typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var e=C(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?C(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(f)}),this.text=function(){var e=C(this);if(e)return e;if(this._bodyBlob)return function(e){var t=new FileReader,A=h(t);return t.readAsText(e),A}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),A=new Array(t.length),n=0;n<t.length;n++)A[n]=String.fromCharCode(t[n]);return A.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},o&&(this.formData=function(){return this.text().then(Q)}),this.json=function(){return this.text().then(JSON.parse)},this}I.prototype.append=function(e,t){e=c(e),t=u(t);var A=this.map[e];this.map[e]=A?A+", "+t:t},I.prototype.delete=function(e){delete this.map[c(e)]},I.prototype.get=function(e){return e=c(e),this.has(e)?this.map[e]:null},I.prototype.has=function(e){return this.map.hasOwnProperty(c(e))},I.prototype.set=function(e,t){this.map[c(e)]=u(t)},I.prototype.forEach=function(e,t){for(var A in this.map)this.map.hasOwnProperty(A)&&e.call(t,this.map[A],A,this)},I.prototype.keys=function(){var e=[];return this.forEach((function(t,A){e.push(A)})),l(e)},I.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),l(e)},I.prototype.entries=function(){var e=[];return this.forEach((function(t,A){e.push([A,t])})),l(e)},r&&(I.prototype[Symbol.iterator]=I.prototype.entries);var p=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function E(e,t){var A=(t=t||{}).body;if(e instanceof E){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new I(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,A||null==e._bodyInit||(A=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new I(t.headers)),this.method=function(e){var t=e.toUpperCase();return p.indexOf(t)>-1?t:e}(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&A)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(A)}function Q(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var A=e.split("="),n=A.shift().replace(/\+/g," "),r=A.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(r))}})),t}function y(e){var t=new I;return e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var A=e.split(":"),n=A.shift().trim();if(n){var r=A.join(":").trim();t.append(n,r)}})),t}function v(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new I(t.headers),this.url=t.url||"",this._initBody(e)}E.prototype.clone=function(){return new E(this,{body:this._bodyInit})},B.call(E.prototype),B.call(v.prototype),v.prototype.clone=function(){return new v(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new I(this.headers),url:this.url})},v.error=function(){var e=new v(null,{status:0,statusText:""});return e.type="error",e};var m=[301,302,303,307,308];v.redirect=function(e,t){if(-1===m.indexOf(t))throw new RangeError("Invalid status code");return new v(null,{status:t,headers:{location:e}})};var b=self.DOMException;try{new b}catch(S){(b=function(e,t){this.message=e,this.name=t;var A=Error(e);this.stack=A.stack}).prototype=Object.create(Error.prototype),b.prototype.constructor=b}function w(e,t){return new Promise((function(A,n){var r=new E(e,t);if(r.signal&&r.signal.aborted)return n(new b("Aborted","AbortError"));var o=new XMLHttpRequest;function a(){o.abort()}o.onload=function(){var e={status:o.status,statusText:o.statusText,headers:y(o.getAllResponseHeaders()||"")};e.url="responseURL"in o?o.responseURL:e.headers.get("X-Request-URL");var t="response"in o?o.response:o.responseText;A(new v(t,e))},o.onerror=function(){n(new TypeError("Network request failed"))},o.ontimeout=function(){n(new TypeError("Network request failed"))},o.onabort=function(){n(new b("Aborted","AbortError"))},o.open(r.method,r.url,!0),"include"===r.credentials?o.withCredentials=!0:"omit"===r.credentials&&(o.withCredentials=!1),"responseType"in o&&i&&(o.responseType="blob"),r.headers.forEach((function(e,t){o.setRequestHeader(t,e)})),r.signal&&(r.signal.addEventListener("abort",a),o.onreadystatechange=function(){4===o.readyState&&r.signal.removeEventListener("abort",a)}),o.send("undefined"===typeof r._bodyInit?null:r._bodyInit)}))}w.polyfill=!0,self.fetch||(self.fetch=w,self.Headers=I,self.Request=E,self.Response=v)},function(e,t,A){"use strict";var n=A(0),r=A(443),i=A(751);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,A=1;A<arguments.length;A++)t+="&args[]="+encodeURIComponent(arguments[A]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!n)throw Error(o(227));function a(e,t,A,n,r,i,o,a,s){var g=Array.prototype.slice.call(arguments,3);try{t.apply(A,g)}catch(c){this.onError(c)}}var s=!1,g=null,c=!1,u=null,l={onError:function(e){s=!0,g=e}};function I(e,t,A,n,r,i,o,c,u){s=!1,g=null,a.apply(l,arguments)}var C=null,h=null,f=null;function d(e,t,A){var n=e.type||"unknown-event";e.currentTarget=f(A),function(e,t,A,n,r,i,a,l,C){if(I.apply(this,arguments),s){if(!s)throw Error(o(198));var h=g;s=!1,g=null,c||(c=!0,u=h)}}(n,t,void 0,e),e.currentTarget=null}var B=null,p={};function E(){if(B)for(var e in p){var t=p[e],A=B.indexOf(e);if(!(-1<A))throw Error(o(96,e));if(!y[A]){if(!t.extractEvents)throw Error(o(97,e));for(var n in y[A]=t,A=t.eventTypes){var r=void 0,i=A[n],a=t,s=n;if(v.hasOwnProperty(s))throw Error(o(99,s));v[s]=i;var g=i.phasedRegistrationNames;if(g){for(r in g)g.hasOwnProperty(r)&&Q(g[r],a,s);r=!0}else i.registrationName?(Q(i.registrationName,a,s),r=!0):r=!1;if(!r)throw Error(o(98,n,e))}}}}function Q(e,t,A){if(m[e])throw Error(o(100,e));m[e]=t,b[e]=t.eventTypes[A].dependencies}var y=[],v={},m={},b={};function w(e){var t,A=!1;for(t in e)if(e.hasOwnProperty(t)){var n=e[t];if(!p.hasOwnProperty(t)||p[t]!==n){if(p[t])throw Error(o(102,t));p[t]=n,A=!0}}A&&E()}var S=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),F=null,R=null,D=null;function G(e){if(e=h(e)){if("function"!==typeof F)throw Error(o(280));var t=e.stateNode;t&&(t=C(t),F(e.stateNode,e.type,t))}}function k(e){R?D?D.push(e):D=[e]:R=e}function x(){if(R){var e=R,t=D;if(D=R=null,G(e),t)for(e=0;e<t.length;e++)G(t[e])}}function N(e,t){return e(t)}function U(e,t,A,n,r){return e(t,A,n,r)}function _(){}var M=N,O=!1,L=!1;function T(){null===R&&null===D||(_(),x())}function Z(e,t,A){if(L)return e(t,A);L=!0;try{return M(e,t,A)}finally{L=!1,T()}}var H=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Y=Object.prototype.hasOwnProperty,J={},j={};function P(e,t,A,n,r,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=n,this.attributeNamespace=r,this.mustUseProperty=A,this.propertyName=e,this.type=t,this.sanitizeURL=i}var V={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){V[e]=new P(e,0,!1,e,null,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];V[t]=new P(t,1,!1,e[1],null,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){V[e]=new P(e,2,!1,e.toLowerCase(),null,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){V[e]=new P(e,2,!1,e,null,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){V[e]=new P(e,3,!1,e.toLowerCase(),null,!1)})),["checked","multiple","muted","selected"].forEach((function(e){V[e]=new P(e,3,!0,e,null,!1)})),["capture","download"].forEach((function(e){V[e]=new P(e,4,!1,e,null,!1)})),["cols","rows","size","span"].forEach((function(e){V[e]=new P(e,6,!1,e,null,!1)})),["rowSpan","start"].forEach((function(e){V[e]=new P(e,5,!1,e.toLowerCase(),null,!1)}));var K=/[\-:]([a-z])/g;function W(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(K,W);V[t]=new P(t,1,!1,e,null,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(K,W);V[t]=new P(t,1,!1,e,"http://www.w3.org/1999/xlink",!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(K,W);V[t]=new P(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1)})),["tabIndex","crossOrigin"].forEach((function(e){V[e]=new P(e,1,!1,e.toLowerCase(),null,!1)})),V.xlinkHref=new P("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0),["src","href","action","formAction"].forEach((function(e){V[e]=new P(e,1,!1,e.toLowerCase(),null,!0)}));var X=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function q(e,t,A,n){var r=V.hasOwnProperty(t)?V[t]:null;(null!==r?0===r.type:!n&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,A,n){if(null===t||"undefined"===typeof t||function(e,t,A,n){if(null!==A&&0===A.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!n&&(null!==A?!A.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,A,n))return!0;if(n)return!1;if(null!==A)switch(A.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,A,r,n)&&(A=null),n||null===r?function(e){return!!Y.call(j,e)||!Y.call(J,e)&&(H.test(e)?j[e]=!0:(J[e]=!0,!1))}(t)&&(null===A?e.removeAttribute(t):e.setAttribute(t,""+A)):r.mustUseProperty?e[r.propertyName]=null===A?3!==r.type&&"":A:(t=r.attributeName,n=r.attributeNamespace,null===A?e.removeAttribute(t):(A=3===(r=r.type)||4===r&&!0===A?"":""+A,n?e.setAttributeNS(n,t,A):e.setAttribute(t,A))))}X.hasOwnProperty("ReactCurrentDispatcher")||(X.ReactCurrentDispatcher={current:null}),X.hasOwnProperty("ReactCurrentBatchConfig")||(X.ReactCurrentBatchConfig={suspense:null});var z=/^(.*)[\\\/]/,$="function"===typeof Symbol&&Symbol.for,ee=$?Symbol.for("react.element"):60103,te=$?Symbol.for("react.portal"):60106,Ae=$?Symbol.for("react.fragment"):60107,ne=$?Symbol.for("react.strict_mode"):60108,re=$?Symbol.for("react.profiler"):60114,ie=$?Symbol.for("react.provider"):60109,oe=$?Symbol.for("react.context"):60110,ae=$?Symbol.for("react.concurrent_mode"):60111,se=$?Symbol.for("react.forward_ref"):60112,ge=$?Symbol.for("react.suspense"):60113,ce=$?Symbol.for("react.suspense_list"):60120,ue=$?Symbol.for("react.memo"):60115,le=$?Symbol.for("react.lazy"):60116,Ie=$?Symbol.for("react.block"):60121,Ce="function"===typeof Symbol&&Symbol.iterator;function he(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=Ce&&e[Ce]||e["@@iterator"])?e:null}function fe(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case Ae:return"Fragment";case te:return"Portal";case re:return"Profiler";case ne:return"StrictMode";case ge:return"Suspense";case ce:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case oe:return"Context.Consumer";case ie:return"Context.Provider";case se:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case ue:return fe(e.type);case Ie:return fe(e.render);case le:if(e=1===e._status?e._result:null)return fe(e)}return null}function de(e){var t="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var A="";break e;default:var n=e._debugOwner,r=e._debugSource,i=fe(e.type);A=null,n&&(A=fe(n.type)),n=i,i="",r?i=" (at "+r.fileName.replace(z,"")+":"+r.lineNumber+")":A&&(i=" (created by "+A+")"),A="\n in "+(n||"Unknown")+i}t+=A,e=e.return}while(e);return t}function Be(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function pe(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Ee(e){e._valueTracker||(e._valueTracker=function(e){var t=pe(e)?"checked":"value",A=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof A&&"function"===typeof A.get&&"function"===typeof A.set){var r=A.get,i=A.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(e){n=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:A.enumerable}),{getValue:function(){return n},setValue:function(e){n=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Qe(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var A=t.getValue(),n="";return e&&(n=pe(e)?e.checked?"true":"false":e.value),(e=n)!==A&&(t.setValue(e),!0)}function ye(e,t){var A=t.checked;return r({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=A?A:e._wrapperState.initialChecked})}function ve(e,t){var A=null==t.defaultValue?"":t.defaultValue,n=null!=t.checked?t.checked:t.defaultChecked;A=Be(null!=t.value?t.value:A),e._wrapperState={initialChecked:n,initialValue:A,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function me(e,t){null!=(t=t.checked)&&q(e,"checked",t,!1)}function be(e,t){me(e,t);var A=Be(t.value),n=t.type;if(null!=A)"number"===n?(0===A&&""===e.value||e.value!=A)&&(e.value=""+A):e.value!==""+A&&(e.value=""+A);else if("submit"===n||"reset"===n)return void e.removeAttribute("value");t.hasOwnProperty("value")?Se(e,t.type,A):t.hasOwnProperty("defaultValue")&&Se(e,t.type,Be(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function we(e,t,A){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!("submit"!==n&&"reset"!==n||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,A||t===e.value||(e.value=t),e.defaultValue=t}""!==(A=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==A&&(e.name=A)}function Se(e,t,A){"number"===t&&e.ownerDocument.activeElement===e||(null==A?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+A&&(e.defaultValue=""+A))}function Fe(e,t){return e=r({children:void 0},t),(t=function(e){var t="";return n.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function Re(e,t,A,n){if(e=e.options,t){t={};for(var r=0;r<A.length;r++)t["$"+A[r]]=!0;for(A=0;A<e.length;A++)r=t.hasOwnProperty("$"+e[A].value),e[A].selected!==r&&(e[A].selected=r),r&&n&&(e[A].defaultSelected=!0)}else{for(A=""+Be(A),t=null,r=0;r<e.length;r++){if(e[r].value===A)return e[r].selected=!0,void(n&&(e[r].defaultSelected=!0));null!==t||e[r].disabled||(t=e[r])}null!==t&&(t.selected=!0)}}function De(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return r({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Ge(e,t){var A=t.value;if(null==A){if(A=t.children,t=t.defaultValue,null!=A){if(null!=t)throw Error(o(92));if(Array.isArray(A)){if(!(1>=A.length))throw Error(o(93));A=A[0]}t=A}null==t&&(t=""),A=t}e._wrapperState={initialValue:Be(A)}}function ke(e,t){var A=Be(t.value),n=Be(t.defaultValue);null!=A&&((A=""+A)!==e.value&&(e.value=A),null==t.defaultValue&&e.defaultValue!==A&&(e.defaultValue=A)),null!=n&&(e.defaultValue=""+n)}function xe(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var Ne="http://www.w3.org/1999/xhtml",Ue="http://www.w3.org/2000/svg";function _e(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Me(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?_e(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var Oe,Le=function(e){return"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,A,n,r){MSApp.execUnsafeLocalFunction((function(){return e(t,A)}))}:e}((function(e,t){if(e.namespaceURI!==Ue||"innerHTML"in e)e.innerHTML=t;else{for((Oe=Oe||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Oe.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function Te(e,t){if(t){var A=e.firstChild;if(A&&A===e.lastChild&&3===A.nodeType)return void(A.nodeValue=t)}e.textContent=t}function Ze(e,t){var A={};return A[e.toLowerCase()]=t.toLowerCase(),A["Webkit"+e]="webkit"+t,A["Moz"+e]="moz"+t,A}var He={animationend:Ze("Animation","AnimationEnd"),animationiteration:Ze("Animation","AnimationIteration"),animationstart:Ze("Animation","AnimationStart"),transitionend:Ze("Transition","TransitionEnd")},Ye={},Je={};function je(e){if(Ye[e])return Ye[e];if(!He[e])return e;var t,A=He[e];for(t in A)if(A.hasOwnProperty(t)&&t in Je)return Ye[e]=A[t];return e}S&&(Je=document.createElement("div").style,"AnimationEvent"in window||(delete He.animationend.animation,delete He.animationiteration.animation,delete He.animationstart.animation),"TransitionEvent"in window||delete He.transitionend.transition);var Pe=je("animationend"),Ve=je("animationiteration"),Ke=je("animationstart"),We=je("transitionend"),Xe="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),qe=new("function"===typeof WeakMap?WeakMap:Map);function ze(e){var t=qe.get(e);return void 0===t&&(t=new Map,qe.set(e,t)),t}function $e(e){var t=e,A=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(1026&(t=e).effectTag)&&(A=t.return),e=t.return}while(e)}return 3===t.tag?A:null}function et(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function tt(e){if($e(e)!==e)throw Error(o(188))}function At(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=$e(e)))throw Error(o(188));return t!==e?null:e}for(var A=e,n=t;;){var r=A.return;if(null===r)break;var i=r.alternate;if(null===i){if(null!==(n=r.return)){A=n;continue}break}if(r.child===i.child){for(i=r.child;i;){if(i===A)return tt(r),e;if(i===n)return tt(r),t;i=i.sibling}throw Error(o(188))}if(A.return!==n.return)A=r,n=i;else{for(var a=!1,s=r.child;s;){if(s===A){a=!0,A=r,n=i;break}if(s===n){a=!0,n=r,A=i;break}s=s.sibling}if(!a){for(s=i.child;s;){if(s===A){a=!0,A=i,n=r;break}if(s===n){a=!0,n=i,A=r;break}s=s.sibling}if(!a)throw Error(o(189))}}if(A.alternate!==n)throw Error(o(190))}if(3!==A.tag)throw Error(o(188));return A.stateNode.current===A?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function nt(e,t){if(null==t)throw Error(o(30));return null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function rt(e,t,A){Array.isArray(e)?e.forEach(t,A):e&&t.call(A,e)}var it=null;function ot(e){if(e){var t=e._dispatchListeners,A=e._dispatchInstances;if(Array.isArray(t))for(var n=0;n<t.length&&!e.isPropagationStopped();n++)d(e,t[n],A[n]);else t&&d(e,t,A);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function at(e){if(null!==e&&(it=nt(it,e)),e=it,it=null,e){if(rt(e,ot),it)throw Error(o(95));if(c)throw e=u,c=!1,u=null,e}}function st(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function gt(e){if(!S)return!1;var t=(e="on"+e)in document;return t||((t=document.createElement("div")).setAttribute(e,"return;"),t="function"===typeof t[e]),t}var ct=[];function ut(e){e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,10>ct.length&&ct.push(e)}function lt(e,t,A,n){if(ct.length){var r=ct.pop();return r.topLevelType=e,r.eventSystemFlags=n,r.nativeEvent=t,r.targetInst=A,r}return{topLevelType:e,eventSystemFlags:n,nativeEvent:t,targetInst:A,ancestors:[]}}function It(e){var t=e.targetInst,A=t;do{if(!A){e.ancestors.push(A);break}var n=A;if(3===n.tag)n=n.stateNode.containerInfo;else{for(;n.return;)n=n.return;n=3!==n.tag?null:n.stateNode.containerInfo}if(!n)break;5!==(t=A.tag)&&6!==t||e.ancestors.push(A),A=wA(n)}while(A);for(A=0;A<e.ancestors.length;A++){t=e.ancestors[A];var r=st(e.nativeEvent);n=e.topLevelType;var i=e.nativeEvent,o=e.eventSystemFlags;0===A&&(o|=64);for(var a=null,s=0;s<y.length;s++){var g=y[s];g&&(g=g.extractEvents(n,t,i,r,o))&&(a=nt(a,g))}at(a)}}function Ct(e,t,A){if(!A.has(e)){switch(e){case"scroll":Kt(t,"scroll",!0);break;case"focus":case"blur":Kt(t,"focus",!0),Kt(t,"blur",!0),A.set("blur",null),A.set("focus",null);break;case"cancel":case"close":gt(e)&&Kt(t,e,!0);break;case"invalid":case"submit":case"reset":break;default:-1===Xe.indexOf(e)&&Vt(e,t)}A.set(e,null)}}var ht,ft,dt,Bt=!1,pt=[],Et=null,Qt=null,yt=null,vt=new Map,mt=new Map,bt=[],wt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit".split(" "),St="focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");function Ft(e,t,A,n,r){return{blockedOn:e,topLevelType:t,eventSystemFlags:32|A,nativeEvent:r,container:n}}function Rt(e,t){switch(e){case"focus":case"blur":Et=null;break;case"dragenter":case"dragleave":Qt=null;break;case"mouseover":case"mouseout":yt=null;break;case"pointerover":case"pointerout":vt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":mt.delete(t.pointerId)}}function Dt(e,t,A,n,r,i){return null===e||e.nativeEvent!==i?(e=Ft(t,A,n,r,i),null!==t&&(null!==(t=SA(t))&&ft(t)),e):(e.eventSystemFlags|=n,e)}function Gt(e){var t=wA(e.target);if(null!==t){var A=$e(t);if(null!==A)if(13===(t=A.tag)){if(null!==(t=et(A)))return e.blockedOn=t,void i.unstable_runWithPriority(e.priority,(function(){dt(A)}))}else if(3===t&&A.stateNode.hydrate)return void(e.blockedOn=3===A.tag?A.stateNode.containerInfo:null)}e.blockedOn=null}function kt(e){if(null!==e.blockedOn)return!1;var t=zt(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);if(null!==t){var A=SA(t);return null!==A&&ft(A),e.blockedOn=t,!1}return!0}function xt(e,t,A){kt(e)&&A.delete(t)}function Nt(){for(Bt=!1;0<pt.length;){var e=pt[0];if(null!==e.blockedOn){null!==(e=SA(e.blockedOn))&&ht(e);break}var t=zt(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);null!==t?e.blockedOn=t:pt.shift()}null!==Et&&kt(Et)&&(Et=null),null!==Qt&&kt(Qt)&&(Qt=null),null!==yt&&kt(yt)&&(yt=null),vt.forEach(xt),mt.forEach(xt)}function Ut(e,t){e.blockedOn===t&&(e.blockedOn=null,Bt||(Bt=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,Nt)))}function _t(e){function t(t){return Ut(t,e)}if(0<pt.length){Ut(pt[0],e);for(var A=1;A<pt.length;A++){var n=pt[A];n.blockedOn===e&&(n.blockedOn=null)}}for(null!==Et&&Ut(Et,e),null!==Qt&&Ut(Qt,e),null!==yt&&Ut(yt,e),vt.forEach(t),mt.forEach(t),A=0;A<bt.length;A++)(n=bt[A]).blockedOn===e&&(n.blockedOn=null);for(;0<bt.length&&null===(A=bt[0]).blockedOn;)Gt(A),null===A.blockedOn&&bt.shift()}var Mt={},Ot=new Map,Lt=new Map,Tt=["abort","abort",Pe,"animationEnd",Ve,"animationIteration",Ke,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",We,"transitionEnd","waiting","waiting"];function Zt(e,t){for(var A=0;A<e.length;A+=2){var n=e[A],r=e[A+1],i="on"+(r[0].toUpperCase()+r.slice(1));i={phasedRegistrationNames:{bubbled:i,captured:i+"Capture"},dependencies:[n],eventPriority:t},Lt.set(n,t),Ot.set(n,i),Mt[r]=i}}Zt("blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Zt("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Zt(Tt,2);for(var Ht="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),Yt=0;Yt<Ht.length;Yt++)Lt.set(Ht[Yt],0);var Jt=i.unstable_UserBlockingPriority,jt=i.unstable_runWithPriority,Pt=!0;function Vt(e,t){Kt(t,e,!1)}function Kt(e,t,A){var n=Lt.get(t);switch(void 0===n?2:n){case 0:n=Wt.bind(null,t,1,e);break;case 1:n=Xt.bind(null,t,1,e);break;default:n=qt.bind(null,t,1,e)}A?e.addEventListener(t,n,!0):e.addEventListener(t,n,!1)}function Wt(e,t,A,n){O||_();var r=qt,i=O;O=!0;try{U(r,e,t,A,n)}finally{(O=i)||T()}}function Xt(e,t,A,n){jt(Jt,qt.bind(null,e,t,A,n))}function qt(e,t,A,n){if(Pt)if(0<pt.length&&-1<wt.indexOf(e))e=Ft(null,e,t,A,n),pt.push(e);else{var r=zt(e,t,A,n);if(null===r)Rt(e,n);else if(-1<wt.indexOf(e))e=Ft(r,e,t,A,n),pt.push(e);else if(!function(e,t,A,n,r){switch(t){case"focus":return Et=Dt(Et,e,t,A,n,r),!0;case"dragenter":return Qt=Dt(Qt,e,t,A,n,r),!0;case"mouseover":return yt=Dt(yt,e,t,A,n,r),!0;case"pointerover":var i=r.pointerId;return vt.set(i,Dt(vt.get(i)||null,e,t,A,n,r)),!0;case"gotpointercapture":return i=r.pointerId,mt.set(i,Dt(mt.get(i)||null,e,t,A,n,r)),!0}return!1}(r,e,t,A,n)){Rt(e,n),e=lt(e,n,null,t);try{Z(It,e)}finally{ut(e)}}}}function zt(e,t,A,n){if(null!==(A=wA(A=st(n)))){var r=$e(A);if(null===r)A=null;else{var i=r.tag;if(13===i){if(null!==(A=et(r)))return A;A=null}else if(3===i){if(r.stateNode.hydrate)return 3===r.tag?r.stateNode.containerInfo:null;A=null}else r!==A&&(A=null)}}e=lt(e,n,A,t);try{Z(It,e)}finally{ut(e)}return null}var $t={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},eA=["Webkit","ms","Moz","O"];function tA(e,t,A){return null==t||"boolean"===typeof t||""===t?"":A||"number"!==typeof t||0===t||$t.hasOwnProperty(e)&&$t[e]?(""+t).trim():t+"px"}function AA(e,t){for(var A in e=e.style,t)if(t.hasOwnProperty(A)){var n=0===A.indexOf("--"),r=tA(A,t[A],n);"float"===A&&(A="cssFloat"),n?e.setProperty(A,r):e[A]=r}}Object.keys($t).forEach((function(e){eA.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),$t[t]=$t[e]}))}));var nA=r({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function rA(e,t){if(t){if(nA[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e,""));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(o(62,""))}}function iA(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var oA=Ne;function aA(e,t){var A=ze(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=b[t];for(var n=0;n<t.length;n++)Ct(t[n],e,A)}function sA(){}function gA(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function cA(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function uA(e,t){var A,n=cA(e);for(e=0;n;){if(3===n.nodeType){if(A=e+n.textContent.length,e<=t&&A>=t)return{node:n,offset:t-e};e=A}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=cA(n)}}function lA(){for(var e=window,t=gA();t instanceof e.HTMLIFrameElement;){try{var A="string"===typeof t.contentWindow.location.href}catch(n){A=!1}if(!A)break;t=gA((e=t.contentWindow).document)}return t}function IA(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var CA=null,hA=null;function fA(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function dA(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var BA="function"===typeof setTimeout?setTimeout:void 0,pA="function"===typeof clearTimeout?clearTimeout:void 0;function EA(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function QA(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var A=e.data;if("$"===A||"$!"===A||"$?"===A){if(0===t)return e;t--}else"/$"===A&&t++}e=e.previousSibling}return null}var yA=Math.random().toString(36).slice(2),vA="__reactInternalInstance$"+yA,mA="__reactEventHandlers$"+yA,bA="__reactContainere$"+yA;function wA(e){var t=e[vA];if(t)return t;for(var A=e.parentNode;A;){if(t=A[bA]||A[vA]){if(A=t.alternate,null!==t.child||null!==A&&null!==A.child)for(e=QA(e);null!==e;){if(A=e[vA])return A;e=QA(e)}return t}A=(e=A).parentNode}return null}function SA(e){return!(e=e[vA]||e[bA])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function FA(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function RA(e){return e[mA]||null}function DA(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function GA(e,t){var A=e.stateNode;if(!A)return null;var n=C(A);if(!n)return null;A=n[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(n=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!n;break e;default:e=!1}if(e)return null;if(A&&"function"!==typeof A)throw Error(o(231,t,typeof A));return A}function kA(e,t,A){(t=GA(e,A.dispatchConfig.phasedRegistrationNames[t]))&&(A._dispatchListeners=nt(A._dispatchListeners,t),A._dispatchInstances=nt(A._dispatchInstances,e))}function xA(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,A=[];t;)A.push(t),t=DA(t);for(t=A.length;0<t--;)kA(A[t],"captured",e);for(t=0;t<A.length;t++)kA(A[t],"bubbled",e)}}function NA(e,t,A){e&&A&&A.dispatchConfig.registrationName&&(t=GA(e,A.dispatchConfig.registrationName))&&(A._dispatchListeners=nt(A._dispatchListeners,t),A._dispatchInstances=nt(A._dispatchInstances,e))}function UA(e){e&&e.dispatchConfig.registrationName&&NA(e._targetInst,null,e)}function _A(e){rt(e,xA)}var MA=null,OA=null,LA=null;function TA(){if(LA)return LA;var e,t,A=OA,n=A.length,r="value"in MA?MA.value:MA.textContent,i=r.length;for(e=0;e<n&&A[e]===r[e];e++);var o=n-e;for(t=1;t<=o&&A[n-t]===r[i-t];t++);return LA=r.slice(e,1<t?1-t:void 0)}function ZA(){return!0}function HA(){return!1}function YA(e,t,A,n){for(var r in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=A,e=this.constructor.Interface)e.hasOwnProperty(r)&&((t=e[r])?this[r]=t(A):"target"===r?this.target=n:this[r]=A[r]);return this.isDefaultPrevented=(null!=A.defaultPrevented?A.defaultPrevented:!1===A.returnValue)?ZA:HA,this.isPropagationStopped=HA,this}function JA(e,t,A,n){if(this.eventPool.length){var r=this.eventPool.pop();return this.call(r,e,t,A,n),r}return new this(e,t,A,n)}function jA(e){if(!(e instanceof this))throw Error(o(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function PA(e){e.eventPool=[],e.getPooled=JA,e.release=jA}r(YA.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ZA)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ZA)},persist:function(){this.isPersistent=ZA},isPersistent:HA,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=HA,this._dispatchInstances=this._dispatchListeners=null}}),YA.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},YA.extend=function(e){function t(){}function A(){return n.apply(this,arguments)}var n=this;t.prototype=n.prototype;var i=new t;return r(i,A.prototype),A.prototype=i,A.prototype.constructor=A,A.Interface=r({},n.Interface,e),A.extend=n.extend,PA(A),A},PA(YA);var VA=YA.extend({data:null}),KA=YA.extend({data:null}),WA=[9,13,27,32],XA=S&&"CompositionEvent"in window,qA=null;S&&"documentMode"in document&&(qA=document.documentMode);var zA=S&&"TextEvent"in window&&!qA,$A=S&&(!XA||qA&&8<qA&&11>=qA),en=String.fromCharCode(32),tn={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},An=!1;function nn(e,t){switch(e){case"keyup":return-1!==WA.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function rn(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var on=!1;var an={eventTypes:tn,extractEvents:function(e,t,A,n){var r;if(XA)e:{switch(e){case"compositionstart":var i=tn.compositionStart;break e;case"compositionend":i=tn.compositionEnd;break e;case"compositionupdate":i=tn.compositionUpdate;break e}i=void 0}else on?nn(e,A)&&(i=tn.compositionEnd):"keydown"===e&&229===A.keyCode&&(i=tn.compositionStart);return i?($A&&"ko"!==A.locale&&(on||i!==tn.compositionStart?i===tn.compositionEnd&&on&&(r=TA()):(OA="value"in(MA=n)?MA.value:MA.textContent,on=!0)),i=VA.getPooled(i,t,A,n),r?i.data=r:null!==(r=rn(A))&&(i.data=r),_A(i),r=i):r=null,(e=zA?function(e,t){switch(e){case"compositionend":return rn(t);case"keypress":return 32!==t.which?null:(An=!0,en);case"textInput":return(e=t.data)===en&&An?null:e;default:return null}}(e,A):function(e,t){if(on)return"compositionend"===e||!XA&&nn(e,t)?(e=TA(),LA=OA=MA=null,on=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return $A&&"ko"!==t.locale?null:t.data;default:return null}}(e,A))?((t=KA.getPooled(tn.beforeInput,t,A,n)).data=e,_A(t)):t=null,null===r?t:null===t?r:[r,t]}},sn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function gn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!sn[e.type]:"textarea"===t}var cn={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function un(e,t,A){return(e=YA.getPooled(cn.change,e,t,A)).type="change",k(A),_A(e),e}var ln=null,In=null;function Cn(e){at(e)}function hn(e){if(Qe(FA(e)))return e}function fn(e,t){if("change"===e)return t}var dn=!1;function Bn(){ln&&(ln.detachEvent("onpropertychange",pn),In=ln=null)}function pn(e){if("value"===e.propertyName&&hn(In))if(e=un(In,e,st(e)),O)at(e);else{O=!0;try{N(Cn,e)}finally{O=!1,T()}}}function En(e,t,A){"focus"===e?(Bn(),In=A,(ln=t).attachEvent("onpropertychange",pn)):"blur"===e&&Bn()}function Qn(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return hn(In)}function yn(e,t){if("click"===e)return hn(t)}function vn(e,t){if("input"===e||"change"===e)return hn(t)}S&&(dn=gt("input")&&(!document.documentMode||9<document.documentMode));var mn={eventTypes:cn,_isInputEventSupported:dn,extractEvents:function(e,t,A,n){var r=t?FA(t):window,i=r.nodeName&&r.nodeName.toLowerCase();if("select"===i||"input"===i&&"file"===r.type)var o=fn;else if(gn(r))if(dn)o=vn;else{o=Qn;var a=En}else(i=r.nodeName)&&"input"===i.toLowerCase()&&("checkbox"===r.type||"radio"===r.type)&&(o=yn);if(o&&(o=o(e,t)))return un(o,A,n);a&&a(e,r,t),"blur"===e&&(e=r._wrapperState)&&e.controlled&&"number"===r.type&&Se(r,"number",r.value)}},bn=YA.extend({view:null,detail:null}),wn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Sn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=wn[e])&&!!t[e]}function Fn(){return Sn}var Rn=0,Dn=0,Gn=!1,kn=!1,xn=bn.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Fn,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if("movementX"in e)return e.movementX;var t=Rn;return Rn=e.screenX,Gn?"mousemove"===e.type?e.screenX-t:0:(Gn=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var t=Dn;return Dn=e.screenY,kn?"mousemove"===e.type?e.screenY-t:0:(kn=!0,0)}}),Nn=xn.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Un={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},_n={eventTypes:Un,extractEvents:function(e,t,A,n,r){var i="mouseover"===e||"pointerover"===e,o="mouseout"===e||"pointerout"===e;if(i&&0===(32&r)&&(A.relatedTarget||A.fromElement)||!o&&!i)return null;(i=n.window===n?n:(i=n.ownerDocument)?i.defaultView||i.parentWindow:window,o)?(o=t,null!==(t=(t=A.relatedTarget||A.toElement)?wA(t):null)&&(t!==$e(t)||5!==t.tag&&6!==t.tag)&&(t=null)):o=null;if(o===t)return null;if("mouseout"===e||"mouseover"===e)var a=xn,s=Un.mouseLeave,g=Un.mouseEnter,c="mouse";else"pointerout"!==e&&"pointerover"!==e||(a=Nn,s=Un.pointerLeave,g=Un.pointerEnter,c="pointer");if(e=null==o?i:FA(o),i=null==t?i:FA(t),(s=a.getPooled(s,o,A,n)).type=c+"leave",s.target=e,s.relatedTarget=i,(A=a.getPooled(g,t,A,n)).type=c+"enter",A.target=i,A.relatedTarget=e,c=t,(n=o)&&c)e:{for(g=c,o=0,e=a=n;e;e=DA(e))o++;for(e=0,t=g;t;t=DA(t))e++;for(;0<o-e;)a=DA(a),o--;for(;0<e-o;)g=DA(g),e--;for(;o--;){if(a===g||a===g.alternate)break e;a=DA(a),g=DA(g)}a=null}else a=null;for(g=a,a=[];n&&n!==g&&(null===(o=n.alternate)||o!==g);)a.push(n),n=DA(n);for(n=[];c&&c!==g&&(null===(o=c.alternate)||o!==g);)n.push(c),c=DA(c);for(c=0;c<a.length;c++)NA(a[c],"bubbled",s);for(c=n.length;0<c--;)NA(n[c],"captured",A);return 0===(64&r)?[s]:[s,A]}};var Mn="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},On=Object.prototype.hasOwnProperty;function Ln(e,t){if(Mn(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var A=Object.keys(e),n=Object.keys(t);if(A.length!==n.length)return!1;for(n=0;n<A.length;n++)if(!On.call(t,A[n])||!Mn(e[A[n]],t[A[n]]))return!1;return!0}var Tn=S&&"documentMode"in document&&11>=document.documentMode,Zn={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},Hn=null,Yn=null,Jn=null,jn=!1;function Pn(e,t){var A=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;return jn||null==Hn||Hn!==gA(A)?null:("selectionStart"in(A=Hn)&&IA(A)?A={start:A.selectionStart,end:A.selectionEnd}:A={anchorNode:(A=(A.ownerDocument&&A.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:A.anchorOffset,focusNode:A.focusNode,focusOffset:A.focusOffset},Jn&&Ln(Jn,A)?null:(Jn=A,(e=YA.getPooled(Zn.select,Yn,e,t)).type="select",e.target=Hn,_A(e),e))}var Vn={eventTypes:Zn,extractEvents:function(e,t,A,n,r,i){if(!(i=!(r=i||(n.window===n?n.document:9===n.nodeType?n:n.ownerDocument)))){e:{r=ze(r),i=b.onSelect;for(var o=0;o<i.length;o++)if(!r.has(i[o])){r=!1;break e}r=!0}i=!r}if(i)return null;switch(r=t?FA(t):window,e){case"focus":(gn(r)||"true"===r.contentEditable)&&(Hn=r,Yn=t,Jn=null);break;case"blur":Jn=Yn=Hn=null;break;case"mousedown":jn=!0;break;case"contextmenu":case"mouseup":case"dragend":return jn=!1,Pn(A,n);case"selectionchange":if(Tn)break;case"keydown":case"keyup":return Pn(A,n)}return null}},Kn=YA.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Wn=YA.extend({clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Xn=bn.extend({relatedTarget:null});function qn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}var zn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},$n={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},er=bn.extend({key:function(e){if(e.key){var t=zn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=qn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?$n[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Fn,charCode:function(e){return"keypress"===e.type?qn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?qn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),tr=xn.extend({dataTransfer:null}),Ar=bn.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Fn}),nr=YA.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),rr=xn.extend({deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),ir={eventTypes:Mt,extractEvents:function(e,t,A,n){var r=Ot.get(e);if(!r)return null;switch(e){case"keypress":if(0===qn(A))return null;case"keydown":case"keyup":e=er;break;case"blur":case"focus":e=Xn;break;case"click":if(2===A.button)return null;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":e=xn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":e=tr;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":e=Ar;break;case Pe:case Ve:case Ke:e=Kn;break;case We:e=nr;break;case"scroll":e=bn;break;case"wheel":e=rr;break;case"copy":case"cut":case"paste":e=Wn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":e=Nn;break;default:e=YA}return _A(t=e.getPooled(r,t,A,n)),t}};if(B)throw Error(o(101));B=Array.prototype.slice.call("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),E(),C=RA,h=SA,f=FA,w({SimpleEventPlugin:ir,EnterLeaveEventPlugin:_n,ChangeEventPlugin:mn,SelectEventPlugin:Vn,BeforeInputEventPlugin:an});var or=[],ar=-1;function sr(e){0>ar||(e.current=or[ar],or[ar]=null,ar--)}function gr(e,t){ar++,or[ar]=e.current,e.current=t}var cr={},ur={current:cr},lr={current:!1},Ir=cr;function Cr(e,t){var A=e.type.contextTypes;if(!A)return cr;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var r,i={};for(r in A)i[r]=t[r];return n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function hr(e){return null!==(e=e.childContextTypes)&&void 0!==e}function fr(){sr(lr),sr(ur)}function dr(e,t,A){if(ur.current!==cr)throw Error(o(168));gr(ur,t),gr(lr,A)}function Br(e,t,A){var n=e.stateNode;if(e=t.childContextTypes,"function"!==typeof n.getChildContext)return A;for(var i in n=n.getChildContext())if(!(i in e))throw Error(o(108,fe(t)||"Unknown",i));return r({},A,{},n)}function pr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||cr,Ir=ur.current,gr(ur,e),gr(lr,lr.current),!0}function Er(e,t,A){var n=e.stateNode;if(!n)throw Error(o(169));A?(e=Br(e,t,Ir),n.__reactInternalMemoizedMergedChildContext=e,sr(lr),sr(ur),gr(ur,e)):sr(lr),gr(lr,A)}var Qr=i.unstable_runWithPriority,yr=i.unstable_scheduleCallback,vr=i.unstable_cancelCallback,mr=i.unstable_requestPaint,br=i.unstable_now,wr=i.unstable_getCurrentPriorityLevel,Sr=i.unstable_ImmediatePriority,Fr=i.unstable_UserBlockingPriority,Rr=i.unstable_NormalPriority,Dr=i.unstable_LowPriority,Gr=i.unstable_IdlePriority,kr={},xr=i.unstable_shouldYield,Nr=void 0!==mr?mr:function(){},Ur=null,_r=null,Mr=!1,Or=br(),Lr=1e4>Or?br:function(){return br()-Or};function Tr(){switch(wr()){case Sr:return 99;case Fr:return 98;case Rr:return 97;case Dr:return 96;case Gr:return 95;default:throw Error(o(332))}}function Zr(e){switch(e){case 99:return Sr;case 98:return Fr;case 97:return Rr;case 96:return Dr;case 95:return Gr;default:throw Error(o(332))}}function Hr(e,t){return e=Zr(e),Qr(e,t)}function Yr(e,t,A){return e=Zr(e),yr(e,t,A)}function Jr(e){return null===Ur?(Ur=[e],_r=yr(Sr,Pr)):Ur.push(e),kr}function jr(){if(null!==_r){var e=_r;_r=null,vr(e)}Pr()}function Pr(){if(!Mr&&null!==Ur){Mr=!0;var e=0;try{var t=Ur;Hr(99,(function(){for(;e<t.length;e++){var A=t[e];do{A=A(!0)}while(null!==A)}})),Ur=null}catch(A){throw null!==Ur&&(Ur=Ur.slice(e+1)),yr(Sr,jr),A}finally{Mr=!1}}}function Vr(e,t,A){return 1073741821-(1+((1073741821-e+t/10)/(A/=10)|0))*A}function Kr(e,t){if(e&&e.defaultProps)for(var A in t=r({},t),e=e.defaultProps)void 0===t[A]&&(t[A]=e[A]);return t}var Wr={current:null},Xr=null,qr=null,zr=null;function $r(){zr=qr=Xr=null}function ei(e){var t=Wr.current;sr(Wr),e.type._context._currentValue=t}function ti(e,t){for(;null!==e;){var A=e.alternate;if(e.childExpirationTime<t)e.childExpirationTime=t,null!==A&&A.childExpirationTime<t&&(A.childExpirationTime=t);else{if(!(null!==A&&A.childExpirationTime<t))break;A.childExpirationTime=t}e=e.return}}function Ai(e,t){Xr=e,zr=qr=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(e.expirationTime>=t&&(Do=!0),e.firstContext=null)}function ni(e,t){if(zr!==e&&!1!==t&&0!==t)if("number"===typeof t&&1073741823!==t||(zr=e,t=1073741823),t={context:e,observedBits:t,next:null},null===qr){if(null===Xr)throw Error(o(308));qr=t,Xr.dependencies={expirationTime:0,firstContext:t,responders:null}}else qr=qr.next=t;return e._currentValue}var ri=!1;function ii(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}function oi(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,baseQueue:e.baseQueue,shared:e.shared,effects:e.effects})}function ai(e,t){return(e={expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null}).next=e}function si(e,t){if(null!==(e=e.updateQueue)){var A=(e=e.shared).pending;null===A?t.next=t:(t.next=A.next,A.next=t),e.pending=t}}function gi(e,t){var A=e.alternate;null!==A&&oi(A,e),null===(A=(e=e.updateQueue).baseQueue)?(e.baseQueue=t.next=t,t.next=t):(t.next=A.next,A.next=t)}function ci(e,t,A,n){var i=e.updateQueue;ri=!1;var o=i.baseQueue,a=i.shared.pending;if(null!==a){if(null!==o){var s=o.next;o.next=a.next,a.next=s}o=a,i.shared.pending=null,null!==(s=e.alternate)&&(null!==(s=s.updateQueue)&&(s.baseQueue=a))}if(null!==o){s=o.next;var g=i.baseState,c=0,u=null,l=null,I=null;if(null!==s)for(var C=s;;){if((a=C.expirationTime)<n){var h={expirationTime:C.expirationTime,suspenseConfig:C.suspenseConfig,tag:C.tag,payload:C.payload,callback:C.callback,next:null};null===I?(l=I=h,u=g):I=I.next=h,a>c&&(c=a)}else{null!==I&&(I=I.next={expirationTime:1073741823,suspenseConfig:C.suspenseConfig,tag:C.tag,payload:C.payload,callback:C.callback,next:null}),is(a,C.suspenseConfig);e:{var f=e,d=C;switch(a=t,h=A,d.tag){case 1:if("function"===typeof(f=d.payload)){g=f.call(h,g,a);break e}g=f;break e;case 3:f.effectTag=-4097&f.effectTag|64;case 0:if(null===(a="function"===typeof(f=d.payload)?f.call(h,g,a):f)||void 0===a)break e;g=r({},g,a);break e;case 2:ri=!0}}null!==C.callback&&(e.effectTag|=32,null===(a=i.effects)?i.effects=[C]:a.push(C))}if(null===(C=C.next)||C===s){if(null===(a=i.shared.pending))break;C=o.next=a.next,a.next=s,i.baseQueue=o=a,i.shared.pending=null}}null===I?u=g:I.next=l,i.baseState=u,i.baseQueue=I,os(c),e.expirationTime=c,e.memoizedState=g}}function ui(e,t,A){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var n=e[t],r=n.callback;if(null!==r){if(n.callback=null,n=r,r=A,"function"!==typeof n)throw Error(o(191,n));n.call(r)}}}var li=X.ReactCurrentBatchConfig,Ii=(new n.Component).refs;function Ci(e,t,A,n){A=null===(A=A(n,t=e.memoizedState))||void 0===A?t:r({},t,A),e.memoizedState=A,0===e.expirationTime&&(e.updateQueue.baseState=A)}var hi={isMounted:function(e){return!!(e=e._reactInternalFiber)&&$e(e)===e},enqueueSetState:function(e,t,A){e=e._reactInternalFiber;var n=Pa(),r=li.suspense;(r=ai(n=Va(n,e,r),r)).payload=t,void 0!==A&&null!==A&&(r.callback=A),si(e,r),Ka(e,n)},enqueueReplaceState:function(e,t,A){e=e._reactInternalFiber;var n=Pa(),r=li.suspense;(r=ai(n=Va(n,e,r),r)).tag=1,r.payload=t,void 0!==A&&null!==A&&(r.callback=A),si(e,r),Ka(e,n)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var A=Pa(),n=li.suspense;(n=ai(A=Va(A,e,n),n)).tag=2,void 0!==t&&null!==t&&(n.callback=t),si(e,n),Ka(e,A)}};function fi(e,t,A,n,r,i,o){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(n,i,o):!t.prototype||!t.prototype.isPureReactComponent||(!Ln(A,n)||!Ln(r,i))}function di(e,t,A){var n=!1,r=cr,i=t.contextType;return"object"===typeof i&&null!==i?i=ni(i):(r=hr(t)?Ir:ur.current,i=(n=null!==(n=t.contextTypes)&&void 0!==n)?Cr(e,r):cr),t=new t(A,i),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=hi,e.stateNode=t,t._reactInternalFiber=e,n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=i),t}function Bi(e,t,A,n){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(A,n),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(A,n),t.state!==e&&hi.enqueueReplaceState(t,t.state,null)}function pi(e,t,A,n){var r=e.stateNode;r.props=A,r.state=e.memoizedState,r.refs=Ii,ii(e);var i=t.contextType;"object"===typeof i&&null!==i?r.context=ni(i):(i=hr(t)?Ir:ur.current,r.context=Cr(e,i)),ci(e,A,r,n),r.state=e.memoizedState,"function"===typeof(i=t.getDerivedStateFromProps)&&(Ci(e,t,i,A),r.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof r.getSnapshotBeforeUpdate||"function"!==typeof r.UNSAFE_componentWillMount&&"function"!==typeof r.componentWillMount||(t=r.state,"function"===typeof r.componentWillMount&&r.componentWillMount(),"function"===typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount(),t!==r.state&&hi.enqueueReplaceState(r,r.state,null),ci(e,A,r,n),r.state=e.memoizedState),"function"===typeof r.componentDidMount&&(e.effectTag|=4)}var Ei=Array.isArray;function Qi(e,t,A){if(null!==(e=A.ref)&&"function"!==typeof e&&"object"!==typeof e){if(A._owner){if(A=A._owner){if(1!==A.tag)throw Error(o(309));var n=A.stateNode}if(!n)throw Error(o(147,e));var r=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===r?t.ref:((t=function(e){var t=n.refs;t===Ii&&(t=n.refs={}),null===e?delete t[r]:t[r]=e})._stringRef=r,t)}if("string"!==typeof e)throw Error(o(284));if(!A._owner)throw Error(o(290,e))}return e}function yi(e,t){if("textarea"!==e.type)throw Error(o(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t,""))}function vi(e){function t(t,A){if(e){var n=t.lastEffect;null!==n?(n.nextEffect=A,t.lastEffect=A):t.firstEffect=t.lastEffect=A,A.nextEffect=null,A.effectTag=8}}function A(A,n){if(!e)return null;for(;null!==n;)t(A,n),n=n.sibling;return null}function n(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function r(e,t){return(e=ws(e,t)).index=0,e.sibling=null,e}function i(t,A,n){return t.index=n,e?null!==(n=t.alternate)?(n=n.index)<A?(t.effectTag=2,A):n:(t.effectTag=2,A):A}function a(t){return e&&null===t.alternate&&(t.effectTag=2),t}function s(e,t,A,n){return null===t||6!==t.tag?((t=Rs(A,e.mode,n)).return=e,t):((t=r(t,A)).return=e,t)}function g(e,t,A,n){return null!==t&&t.elementType===A.type?((n=r(t,A.props)).ref=Qi(e,t,A),n.return=e,n):((n=Ss(A.type,A.key,A.props,null,e.mode,n)).ref=Qi(e,t,A),n.return=e,n)}function c(e,t,A,n){return null===t||4!==t.tag||t.stateNode.containerInfo!==A.containerInfo||t.stateNode.implementation!==A.implementation?((t=Ds(A,e.mode,n)).return=e,t):((t=r(t,A.children||[])).return=e,t)}function u(e,t,A,n,i){return null===t||7!==t.tag?((t=Fs(A,e.mode,n,i)).return=e,t):((t=r(t,A)).return=e,t)}function l(e,t,A){if("string"===typeof t||"number"===typeof t)return(t=Rs(""+t,e.mode,A)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case ee:return(A=Ss(t.type,t.key,t.props,null,e.mode,A)).ref=Qi(e,null,t),A.return=e,A;case te:return(t=Ds(t,e.mode,A)).return=e,t}if(Ei(t)||he(t))return(t=Fs(t,e.mode,A,null)).return=e,t;yi(e,t)}return null}function I(e,t,A,n){var r=null!==t?t.key:null;if("string"===typeof A||"number"===typeof A)return null!==r?null:s(e,t,""+A,n);if("object"===typeof A&&null!==A){switch(A.$$typeof){case ee:return A.key===r?A.type===Ae?u(e,t,A.props.children,n,r):g(e,t,A,n):null;case te:return A.key===r?c(e,t,A,n):null}if(Ei(A)||he(A))return null!==r?null:u(e,t,A,n,null);yi(e,A)}return null}function C(e,t,A,n,r){if("string"===typeof n||"number"===typeof n)return s(t,e=e.get(A)||null,""+n,r);if("object"===typeof n&&null!==n){switch(n.$$typeof){case ee:return e=e.get(null===n.key?A:n.key)||null,n.type===Ae?u(t,e,n.props.children,r,n.key):g(t,e,n,r);case te:return c(t,e=e.get(null===n.key?A:n.key)||null,n,r)}if(Ei(n)||he(n))return u(t,e=e.get(A)||null,n,r,null);yi(t,n)}return null}function h(r,o,a,s){for(var g=null,c=null,u=o,h=o=0,f=null;null!==u&&h<a.length;h++){u.index>h?(f=u,u=null):f=u.sibling;var d=I(r,u,a[h],s);if(null===d){null===u&&(u=f);break}e&&u&&null===d.alternate&&t(r,u),o=i(d,o,h),null===c?g=d:c.sibling=d,c=d,u=f}if(h===a.length)return A(r,u),g;if(null===u){for(;h<a.length;h++)null!==(u=l(r,a[h],s))&&(o=i(u,o,h),null===c?g=u:c.sibling=u,c=u);return g}for(u=n(r,u);h<a.length;h++)null!==(f=C(u,r,h,a[h],s))&&(e&&null!==f.alternate&&u.delete(null===f.key?h:f.key),o=i(f,o,h),null===c?g=f:c.sibling=f,c=f);return e&&u.forEach((function(e){return t(r,e)})),g}function f(r,a,s,g){var c=he(s);if("function"!==typeof c)throw Error(o(150));if(null==(s=c.call(s)))throw Error(o(151));for(var u=c=null,h=a,f=a=0,d=null,B=s.next();null!==h&&!B.done;f++,B=s.next()){h.index>f?(d=h,h=null):d=h.sibling;var p=I(r,h,B.value,g);if(null===p){null===h&&(h=d);break}e&&h&&null===p.alternate&&t(r,h),a=i(p,a,f),null===u?c=p:u.sibling=p,u=p,h=d}if(B.done)return A(r,h),c;if(null===h){for(;!B.done;f++,B=s.next())null!==(B=l(r,B.value,g))&&(a=i(B,a,f),null===u?c=B:u.sibling=B,u=B);return c}for(h=n(r,h);!B.done;f++,B=s.next())null!==(B=C(h,r,f,B.value,g))&&(e&&null!==B.alternate&&h.delete(null===B.key?f:B.key),a=i(B,a,f),null===u?c=B:u.sibling=B,u=B);return e&&h.forEach((function(e){return t(r,e)})),c}return function(e,n,i,s){var g="object"===typeof i&&null!==i&&i.type===Ae&&null===i.key;g&&(i=i.props.children);var c="object"===typeof i&&null!==i;if(c)switch(i.$$typeof){case ee:e:{for(c=i.key,g=n;null!==g;){if(g.key===c){switch(g.tag){case 7:if(i.type===Ae){A(e,g.sibling),(n=r(g,i.props.children)).return=e,e=n;break e}break;default:if(g.elementType===i.type){A(e,g.sibling),(n=r(g,i.props)).ref=Qi(e,g,i),n.return=e,e=n;break e}}A(e,g);break}t(e,g),g=g.sibling}i.type===Ae?((n=Fs(i.props.children,e.mode,s,i.key)).return=e,e=n):((s=Ss(i.type,i.key,i.props,null,e.mode,s)).ref=Qi(e,n,i),s.return=e,e=s)}return a(e);case te:e:{for(g=i.key;null!==n;){if(n.key===g){if(4===n.tag&&n.stateNode.containerInfo===i.containerInfo&&n.stateNode.implementation===i.implementation){A(e,n.sibling),(n=r(n,i.children||[])).return=e,e=n;break e}A(e,n);break}t(e,n),n=n.sibling}(n=Ds(i,e.mode,s)).return=e,e=n}return a(e)}if("string"===typeof i||"number"===typeof i)return i=""+i,null!==n&&6===n.tag?(A(e,n.sibling),(n=r(n,i)).return=e,e=n):(A(e,n),(n=Rs(i,e.mode,s)).return=e,e=n),a(e);if(Ei(i))return h(e,n,i,s);if(he(i))return f(e,n,i,s);if(c&&yi(e,i),"undefined"===typeof i&&!g)switch(e.tag){case 1:case 0:throw e=e.type,Error(o(152,e.displayName||e.name||"Component"))}return A(e,n)}}var mi=vi(!0),bi=vi(!1),wi={},Si={current:wi},Fi={current:wi},Ri={current:wi};function Di(e){if(e===wi)throw Error(o(174));return e}function Gi(e,t){switch(gr(Ri,t),gr(Fi,e),gr(Si,wi),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Me(null,"");break;default:t=Me(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}sr(Si),gr(Si,t)}function ki(){sr(Si),sr(Fi),sr(Ri)}function xi(e){Di(Ri.current);var t=Di(Si.current),A=Me(t,e.type);t!==A&&(gr(Fi,e),gr(Si,A))}function Ni(e){Fi.current===e&&(sr(Si),sr(Fi))}var Ui={current:0};function _i(e){for(var t=e;null!==t;){if(13===t.tag){var A=t.memoizedState;if(null!==A&&(null===(A=A.dehydrated)||"$?"===A.data||"$!"===A.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Mi(e,t){return{responder:e,props:t}}var Oi=X.ReactCurrentDispatcher,Li=X.ReactCurrentBatchConfig,Ti=0,Zi=null,Hi=null,Yi=null,Ji=!1;function ji(){throw Error(o(321))}function Pi(e,t){if(null===t)return!1;for(var A=0;A<t.length&&A<e.length;A++)if(!Mn(e[A],t[A]))return!1;return!0}function Vi(e,t,A,n,r,i){if(Ti=i,Zi=t,t.memoizedState=null,t.updateQueue=null,t.expirationTime=0,Oi.current=null===e||null===e.memoizedState?fo:Bo,e=A(n,r),t.expirationTime===Ti){i=0;do{if(t.expirationTime=0,!(25>i))throw Error(o(301));i+=1,Yi=Hi=null,t.updateQueue=null,Oi.current=po,e=A(n,r)}while(t.expirationTime===Ti)}if(Oi.current=ho,t=null!==Hi&&null!==Hi.next,Ti=0,Yi=Hi=Zi=null,Ji=!1,t)throw Error(o(300));return e}function Ki(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Yi?Zi.memoizedState=Yi=e:Yi=Yi.next=e,Yi}function Wi(){if(null===Hi){var e=Zi.alternate;e=null!==e?e.memoizedState:null}else e=Hi.next;var t=null===Yi?Zi.memoizedState:Yi.next;if(null!==t)Yi=t,Hi=e;else{if(null===e)throw Error(o(310));e={memoizedState:(Hi=e).memoizedState,baseState:Hi.baseState,baseQueue:Hi.baseQueue,queue:Hi.queue,next:null},null===Yi?Zi.memoizedState=Yi=e:Yi=Yi.next=e}return Yi}function Xi(e,t){return"function"===typeof t?t(e):t}function qi(e){var t=Wi(),A=t.queue;if(null===A)throw Error(o(311));A.lastRenderedReducer=e;var n=Hi,r=n.baseQueue,i=A.pending;if(null!==i){if(null!==r){var a=r.next;r.next=i.next,i.next=a}n.baseQueue=r=i,A.pending=null}if(null!==r){r=r.next,n=n.baseState;var s=a=i=null,g=r;do{var c=g.expirationTime;if(c<Ti){var u={expirationTime:g.expirationTime,suspenseConfig:g.suspenseConfig,action:g.action,eagerReducer:g.eagerReducer,eagerState:g.eagerState,next:null};null===s?(a=s=u,i=n):s=s.next=u,c>Zi.expirationTime&&(Zi.expirationTime=c,os(c))}else null!==s&&(s=s.next={expirationTime:1073741823,suspenseConfig:g.suspenseConfig,action:g.action,eagerReducer:g.eagerReducer,eagerState:g.eagerState,next:null}),is(c,g.suspenseConfig),n=g.eagerReducer===e?g.eagerState:e(n,g.action);g=g.next}while(null!==g&&g!==r);null===s?i=n:s.next=a,Mn(n,t.memoizedState)||(Do=!0),t.memoizedState=n,t.baseState=i,t.baseQueue=s,A.lastRenderedState=n}return[t.memoizedState,A.dispatch]}function zi(e){var t=Wi(),A=t.queue;if(null===A)throw Error(o(311));A.lastRenderedReducer=e;var n=A.dispatch,r=A.pending,i=t.memoizedState;if(null!==r){A.pending=null;var a=r=r.next;do{i=e(i,a.action),a=a.next}while(a!==r);Mn(i,t.memoizedState)||(Do=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),A.lastRenderedState=i}return[i,n]}function $i(e){var t=Ki();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:Xi,lastRenderedState:e}).dispatch=Co.bind(null,Zi,e),[t.memoizedState,e]}function eo(e,t,A,n){return e={tag:e,create:t,destroy:A,deps:n,next:null},null===(t=Zi.updateQueue)?(t={lastEffect:null},Zi.updateQueue=t,t.lastEffect=e.next=e):null===(A=t.lastEffect)?t.lastEffect=e.next=e:(n=A.next,A.next=e,e.next=n,t.lastEffect=e),e}function to(){return Wi().memoizedState}function Ao(e,t,A,n){var r=Ki();Zi.effectTag|=e,r.memoizedState=eo(1|t,A,void 0,void 0===n?null:n)}function no(e,t,A,n){var r=Wi();n=void 0===n?null:n;var i=void 0;if(null!==Hi){var o=Hi.memoizedState;if(i=o.destroy,null!==n&&Pi(n,o.deps))return void eo(t,A,i,n)}Zi.effectTag|=e,r.memoizedState=eo(1|t,A,i,n)}function ro(e,t){return Ao(516,4,e,t)}function io(e,t){return no(516,4,e,t)}function oo(e,t){return no(4,2,e,t)}function ao(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function so(e,t,A){return A=null!==A&&void 0!==A?A.concat([e]):null,no(4,2,ao.bind(null,t,e),A)}function go(){}function co(e,t){return Ki().memoizedState=[e,void 0===t?null:t],e}function uo(e,t){var A=Wi();t=void 0===t?null:t;var n=A.memoizedState;return null!==n&&null!==t&&Pi(t,n[1])?n[0]:(A.memoizedState=[e,t],e)}function lo(e,t){var A=Wi();t=void 0===t?null:t;var n=A.memoizedState;return null!==n&&null!==t&&Pi(t,n[1])?n[0]:(e=e(),A.memoizedState=[e,t],e)}function Io(e,t,A){var n=Tr();Hr(98>n?98:n,(function(){e(!0)})),Hr(97<n?97:n,(function(){var n=Li.suspense;Li.suspense=void 0===t?null:t;try{e(!1),A()}finally{Li.suspense=n}}))}function Co(e,t,A){var n=Pa(),r=li.suspense;r={expirationTime:n=Va(n,e,r),suspenseConfig:r,action:A,eagerReducer:null,eagerState:null,next:null};var i=t.pending;if(null===i?r.next=r:(r.next=i.next,i.next=r),t.pending=r,i=e.alternate,e===Zi||null!==i&&i===Zi)Ji=!0,r.expirationTime=Ti,Zi.expirationTime=Ti;else{if(0===e.expirationTime&&(null===i||0===i.expirationTime)&&null!==(i=t.lastRenderedReducer))try{var o=t.lastRenderedState,a=i(o,A);if(r.eagerReducer=i,r.eagerState=a,Mn(a,o))return}catch(s){}Ka(e,n)}}var ho={readContext:ni,useCallback:ji,useContext:ji,useEffect:ji,useImperativeHandle:ji,useLayoutEffect:ji,useMemo:ji,useReducer:ji,useRef:ji,useState:ji,useDebugValue:ji,useResponder:ji,useDeferredValue:ji,useTransition:ji},fo={readContext:ni,useCallback:co,useContext:ni,useEffect:ro,useImperativeHandle:function(e,t,A){return A=null!==A&&void 0!==A?A.concat([e]):null,Ao(4,2,ao.bind(null,t,e),A)},useLayoutEffect:function(e,t){return Ao(4,2,e,t)},useMemo:function(e,t){var A=Ki();return t=void 0===t?null:t,e=e(),A.memoizedState=[e,t],e},useReducer:function(e,t,A){var n=Ki();return t=void 0!==A?A(t):t,n.memoizedState=n.baseState=t,e=(e=n.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Co.bind(null,Zi,e),[n.memoizedState,e]},useRef:function(e){return e={current:e},Ki().memoizedState=e},useState:$i,useDebugValue:go,useResponder:Mi,useDeferredValue:function(e,t){var A=$i(e),n=A[0],r=A[1];return ro((function(){var A=Li.suspense;Li.suspense=void 0===t?null:t;try{r(e)}finally{Li.suspense=A}}),[e,t]),n},useTransition:function(e){var t=$i(!1),A=t[0];return t=t[1],[co(Io.bind(null,t,e),[t,e]),A]}},Bo={readContext:ni,useCallback:uo,useContext:ni,useEffect:io,useImperativeHandle:so,useLayoutEffect:oo,useMemo:lo,useReducer:qi,useRef:to,useState:function(){return qi(Xi)},useDebugValue:go,useResponder:Mi,useDeferredValue:function(e,t){var A=qi(Xi),n=A[0],r=A[1];return io((function(){var A=Li.suspense;Li.suspense=void 0===t?null:t;try{r(e)}finally{Li.suspense=A}}),[e,t]),n},useTransition:function(e){var t=qi(Xi),A=t[0];return t=t[1],[uo(Io.bind(null,t,e),[t,e]),A]}},po={readContext:ni,useCallback:uo,useContext:ni,useEffect:io,useImperativeHandle:so,useLayoutEffect:oo,useMemo:lo,useReducer:zi,useRef:to,useState:function(){return zi(Xi)},useDebugValue:go,useResponder:Mi,useDeferredValue:function(e,t){var A=zi(Xi),n=A[0],r=A[1];return io((function(){var A=Li.suspense;Li.suspense=void 0===t?null:t;try{r(e)}finally{Li.suspense=A}}),[e,t]),n},useTransition:function(e){var t=zi(Xi),A=t[0];return t=t[1],[uo(Io.bind(null,t,e),[t,e]),A]}},Eo=null,Qo=null,yo=!1;function vo(e,t){var A=ms(5,null,null,0);A.elementType="DELETED",A.type="DELETED",A.stateNode=t,A.return=e,A.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=A,e.lastEffect=A):e.firstEffect=e.lastEffect=A}function mo(e,t){switch(e.tag){case 5:var A=e.type;return null!==(t=1!==t.nodeType||A.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function bo(e){if(yo){var t=Qo;if(t){var A=t;if(!mo(e,t)){if(!(t=EA(A.nextSibling))||!mo(e,t))return e.effectTag=-1025&e.effectTag|2,yo=!1,void(Eo=e);vo(Eo,A)}Eo=e,Qo=EA(t.firstChild)}else e.effectTag=-1025&e.effectTag|2,yo=!1,Eo=e}}function wo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Eo=e}function So(e){if(e!==Eo)return!1;if(!yo)return wo(e),yo=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!dA(t,e.memoizedProps))for(t=Qo;t;)vo(e,t),t=EA(t.nextSibling);if(wo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var A=e.data;if("/$"===A){if(0===t){Qo=EA(e.nextSibling);break e}t--}else"$"!==A&&"$!"!==A&&"$?"!==A||t++}e=e.nextSibling}Qo=null}}else Qo=Eo?EA(e.stateNode.nextSibling):null;return!0}function Fo(){Qo=Eo=null,yo=!1}var Ro=X.ReactCurrentOwner,Do=!1;function Go(e,t,A,n){t.child=null===e?bi(t,null,A,n):mi(t,e.child,A,n)}function ko(e,t,A,n,r){A=A.render;var i=t.ref;return Ai(t,r),n=Vi(e,t,A,n,i,r),null===e||Do?(t.effectTag|=1,Go(e,t,n,r),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=r&&(e.expirationTime=0),Ko(e,t,r))}function xo(e,t,A,n,r,i){if(null===e){var o=A.type;return"function"!==typeof o||bs(o)||void 0!==o.defaultProps||null!==A.compare||void 0!==A.defaultProps?((e=Ss(A.type,null,n,null,t.mode,i)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,No(e,t,o,n,r,i))}return o=e.child,r<i&&(r=o.memoizedProps,(A=null!==(A=A.compare)?A:Ln)(r,n)&&e.ref===t.ref)?Ko(e,t,i):(t.effectTag|=1,(e=ws(o,n)).ref=t.ref,e.return=t,t.child=e)}function No(e,t,A,n,r,i){return null!==e&&Ln(e.memoizedProps,n)&&e.ref===t.ref&&(Do=!1,r<i)?(t.expirationTime=e.expirationTime,Ko(e,t,i)):_o(e,t,A,n,i)}function Uo(e,t){var A=t.ref;(null===e&&null!==A||null!==e&&e.ref!==A)&&(t.effectTag|=128)}function _o(e,t,A,n,r){var i=hr(A)?Ir:ur.current;return i=Cr(t,i),Ai(t,r),A=Vi(e,t,A,n,i,r),null===e||Do?(t.effectTag|=1,Go(e,t,A,r),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=r&&(e.expirationTime=0),Ko(e,t,r))}function Mo(e,t,A,n,r){if(hr(A)){var i=!0;pr(t)}else i=!1;if(Ai(t,r),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),di(t,A,n),pi(t,A,n,r),n=!0;else if(null===e){var o=t.stateNode,a=t.memoizedProps;o.props=a;var s=o.context,g=A.contextType;"object"===typeof g&&null!==g?g=ni(g):g=Cr(t,g=hr(A)?Ir:ur.current);var c=A.getDerivedStateFromProps,u="function"===typeof c||"function"===typeof o.getSnapshotBeforeUpdate;u||"function"!==typeof o.UNSAFE_componentWillReceiveProps&&"function"!==typeof o.componentWillReceiveProps||(a!==n||s!==g)&&Bi(t,o,n,g),ri=!1;var l=t.memoizedState;o.state=l,ci(t,n,o,r),s=t.memoizedState,a!==n||l!==s||lr.current||ri?("function"===typeof c&&(Ci(t,A,c,n),s=t.memoizedState),(a=ri||fi(t,A,a,n,l,s,g))?(u||"function"!==typeof o.UNSAFE_componentWillMount&&"function"!==typeof o.componentWillMount||("function"===typeof o.componentWillMount&&o.componentWillMount(),"function"===typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"===typeof o.componentDidMount&&(t.effectTag|=4)):("function"===typeof o.componentDidMount&&(t.effectTag|=4),t.memoizedProps=n,t.memoizedState=s),o.props=n,o.state=s,o.context=g,n=a):("function"===typeof o.componentDidMount&&(t.effectTag|=4),n=!1)}else o=t.stateNode,oi(e,t),a=t.memoizedProps,o.props=t.type===t.elementType?a:Kr(t.type,a),s=o.context,"object"===typeof(g=A.contextType)&&null!==g?g=ni(g):g=Cr(t,g=hr(A)?Ir:ur.current),(u="function"===typeof(c=A.getDerivedStateFromProps)||"function"===typeof o.getSnapshotBeforeUpdate)||"function"!==typeof o.UNSAFE_componentWillReceiveProps&&"function"!==typeof o.componentWillReceiveProps||(a!==n||s!==g)&&Bi(t,o,n,g),ri=!1,s=t.memoizedState,o.state=s,ci(t,n,o,r),l=t.memoizedState,a!==n||s!==l||lr.current||ri?("function"===typeof c&&(Ci(t,A,c,n),l=t.memoizedState),(c=ri||fi(t,A,a,n,s,l,g))?(u||"function"!==typeof o.UNSAFE_componentWillUpdate&&"function"!==typeof o.componentWillUpdate||("function"===typeof o.componentWillUpdate&&o.componentWillUpdate(n,l,g),"function"===typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(n,l,g)),"function"===typeof o.componentDidUpdate&&(t.effectTag|=4),"function"===typeof o.getSnapshotBeforeUpdate&&(t.effectTag|=256)):("function"!==typeof o.componentDidUpdate||a===e.memoizedProps&&s===e.memoizedState||(t.effectTag|=4),"function"!==typeof o.getSnapshotBeforeUpdate||a===e.memoizedProps&&s===e.memoizedState||(t.effectTag|=256),t.memoizedProps=n,t.memoizedState=l),o.props=n,o.state=l,o.context=g,n=c):("function"!==typeof o.componentDidUpdate||a===e.memoizedProps&&s===e.memoizedState||(t.effectTag|=4),"function"!==typeof o.getSnapshotBeforeUpdate||a===e.memoizedProps&&s===e.memoizedState||(t.effectTag|=256),n=!1);return Oo(e,t,A,n,i,r)}function Oo(e,t,A,n,r,i){Uo(e,t);var o=0!==(64&t.effectTag);if(!n&&!o)return r&&Er(t,A,!1),Ko(e,t,i);n=t.stateNode,Ro.current=t;var a=o&&"function"!==typeof A.getDerivedStateFromError?null:n.render();return t.effectTag|=1,null!==e&&o?(t.child=mi(t,e.child,null,i),t.child=mi(t,null,a,i)):Go(e,t,a,i),t.memoizedState=n.state,r&&Er(t,A,!0),t.child}function Lo(e){var t=e.stateNode;t.pendingContext?dr(0,t.pendingContext,t.pendingContext!==t.context):t.context&&dr(0,t.context,!1),Gi(e,t.containerInfo)}var To,Zo,Ho,Yo={dehydrated:null,retryTime:0};function Jo(e,t,A){var n,r=t.mode,i=t.pendingProps,o=Ui.current,a=!1;if((n=0!==(64&t.effectTag))||(n=0!==(2&o)&&(null===e||null!==e.memoizedState)),n?(a=!0,t.effectTag&=-65):null!==e&&null===e.memoizedState||void 0===i.fallback||!0===i.unstable_avoidThisFallback||(o|=1),gr(Ui,1&o),null===e){if(void 0!==i.fallback&&bo(t),a){if(a=i.fallback,(i=Fs(null,r,0,null)).return=t,0===(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,i.child=e;null!==e;)e.return=i,e=e.sibling;return(A=Fs(a,r,A,null)).return=t,i.sibling=A,t.memoizedState=Yo,t.child=i,A}return r=i.children,t.memoizedState=null,t.child=bi(t,null,r,A)}if(null!==e.memoizedState){if(r=(e=e.child).sibling,a){if(i=i.fallback,(A=ws(e,e.pendingProps)).return=t,0===(2&t.mode)&&(a=null!==t.memoizedState?t.child.child:t.child)!==e.child)for(A.child=a;null!==a;)a.return=A,a=a.sibling;return(r=ws(r,i)).return=t,A.sibling=r,A.childExpirationTime=0,t.memoizedState=Yo,t.child=A,r}return A=mi(t,e.child,i.children,A),t.memoizedState=null,t.child=A}if(e=e.child,a){if(a=i.fallback,(i=Fs(null,r,0,null)).return=t,i.child=e,null!==e&&(e.return=i),0===(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,i.child=e;null!==e;)e.return=i,e=e.sibling;return(A=Fs(a,r,A,null)).return=t,i.sibling=A,A.effectTag|=2,i.childExpirationTime=0,t.memoizedState=Yo,t.child=i,A}return t.memoizedState=null,t.child=mi(t,e,i.children,A)}function jo(e,t){e.expirationTime<t&&(e.expirationTime=t);var A=e.alternate;null!==A&&A.expirationTime<t&&(A.expirationTime=t),ti(e.return,t)}function Po(e,t,A,n,r,i){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:A,tailExpiration:0,tailMode:r,lastEffect:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=n,o.tail=A,o.tailExpiration=0,o.tailMode=r,o.lastEffect=i)}function Vo(e,t,A){var n=t.pendingProps,r=n.revealOrder,i=n.tail;if(Go(e,t,n.children,A),0!==(2&(n=Ui.current)))n=1&n|2,t.effectTag|=64;else{if(null!==e&&0!==(64&e.effectTag))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&jo(e,A);else if(19===e.tag)jo(e,A);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(gr(Ui,n),0===(2&t.mode))t.memoizedState=null;else switch(r){case"forwards":for(A=t.child,r=null;null!==A;)null!==(e=A.alternate)&&null===_i(e)&&(r=A),A=A.sibling;null===(A=r)?(r=t.child,t.child=null):(r=A.sibling,A.sibling=null),Po(t,!1,r,A,i,t.lastEffect);break;case"backwards":for(A=null,r=t.child,t.child=null;null!==r;){if(null!==(e=r.alternate)&&null===_i(e)){t.child=r;break}e=r.sibling,r.sibling=A,A=r,r=e}Po(t,!0,A,null,i,t.lastEffect);break;case"together":Po(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function Ko(e,t,A){null!==e&&(t.dependencies=e.dependencies);var n=t.expirationTime;if(0!==n&&os(n),t.childExpirationTime<A)return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(A=ws(e=t.child,e.pendingProps),t.child=A,A.return=t;null!==e.sibling;)e=e.sibling,(A=A.sibling=ws(e,e.pendingProps)).return=t;A.sibling=null}return t.child}function Wo(e,t){switch(e.tailMode){case"hidden":t=e.tail;for(var A=null;null!==t;)null!==t.alternate&&(A=t),t=t.sibling;null===A?e.tail=null:A.sibling=null;break;case"collapsed":A=e.tail;for(var n=null;null!==A;)null!==A.alternate&&(n=A),A=A.sibling;null===n?t||null===e.tail?e.tail=null:e.tail.sibling=null:n.sibling=null}}function Xo(e,t,A){var n=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return hr(t.type)&&fr(),null;case 3:return ki(),sr(lr),sr(ur),(A=t.stateNode).pendingContext&&(A.context=A.pendingContext,A.pendingContext=null),null!==e&&null!==e.child||!So(t)||(t.effectTag|=4),null;case 5:Ni(t),A=Di(Ri.current);var i=t.type;if(null!==e&&null!=t.stateNode)Zo(e,t,i,n,A),e.ref!==t.ref&&(t.effectTag|=128);else{if(!n){if(null===t.stateNode)throw Error(o(166));return null}if(e=Di(Si.current),So(t)){n=t.stateNode,i=t.type;var a=t.memoizedProps;switch(n[vA]=t,n[mA]=a,i){case"iframe":case"object":case"embed":Vt("load",n);break;case"video":case"audio":for(e=0;e<Xe.length;e++)Vt(Xe[e],n);break;case"source":Vt("error",n);break;case"img":case"image":case"link":Vt("error",n),Vt("load",n);break;case"form":Vt("reset",n),Vt("submit",n);break;case"details":Vt("toggle",n);break;case"input":ve(n,a),Vt("invalid",n),aA(A,"onChange");break;case"select":n._wrapperState={wasMultiple:!!a.multiple},Vt("invalid",n),aA(A,"onChange");break;case"textarea":Ge(n,a),Vt("invalid",n),aA(A,"onChange")}for(var s in rA(i,a),e=null,a)if(a.hasOwnProperty(s)){var g=a[s];"children"===s?"string"===typeof g?n.textContent!==g&&(e=["children",g]):"number"===typeof g&&n.textContent!==""+g&&(e=["children",""+g]):m.hasOwnProperty(s)&&null!=g&&aA(A,s)}switch(i){case"input":Ee(n),we(n,a,!0);break;case"textarea":Ee(n),xe(n);break;case"select":case"option":break;default:"function"===typeof a.onClick&&(n.onclick=sA)}A=e,t.updateQueue=A,null!==A&&(t.effectTag|=4)}else{switch(s=9===A.nodeType?A:A.ownerDocument,e===oA&&(e=_e(i)),e===oA?"script"===i?((e=s.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"===typeof n.is?e=s.createElement(i,{is:n.is}):(e=s.createElement(i),"select"===i&&(s=e,n.multiple?s.multiple=!0:n.size&&(s.size=n.size))):e=s.createElementNS(e,i),e[vA]=t,e[mA]=n,To(e,t),t.stateNode=e,s=iA(i,n),i){case"iframe":case"object":case"embed":Vt("load",e),g=n;break;case"video":case"audio":for(g=0;g<Xe.length;g++)Vt(Xe[g],e);g=n;break;case"source":Vt("error",e),g=n;break;case"img":case"image":case"link":Vt("error",e),Vt("load",e),g=n;break;case"form":Vt("reset",e),Vt("submit",e),g=n;break;case"details":Vt("toggle",e),g=n;break;case"input":ve(e,n),g=ye(e,n),Vt("invalid",e),aA(A,"onChange");break;case"option":g=Fe(e,n);break;case"select":e._wrapperState={wasMultiple:!!n.multiple},g=r({},n,{value:void 0}),Vt("invalid",e),aA(A,"onChange");break;case"textarea":Ge(e,n),g=De(e,n),Vt("invalid",e),aA(A,"onChange");break;default:g=n}rA(i,g);var c=g;for(a in c)if(c.hasOwnProperty(a)){var u=c[a];"style"===a?AA(e,u):"dangerouslySetInnerHTML"===a?null!=(u=u?u.__html:void 0)&&Le(e,u):"children"===a?"string"===typeof u?("textarea"!==i||""!==u)&&Te(e,u):"number"===typeof u&&Te(e,""+u):"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&"autoFocus"!==a&&(m.hasOwnProperty(a)?null!=u&&aA(A,a):null!=u&&q(e,a,u,s))}switch(i){case"input":Ee(e),we(e,n,!1);break;case"textarea":Ee(e),xe(e);break;case"option":null!=n.value&&e.setAttribute("value",""+Be(n.value));break;case"select":e.multiple=!!n.multiple,null!=(A=n.value)?Re(e,!!n.multiple,A,!1):null!=n.defaultValue&&Re(e,!!n.multiple,n.defaultValue,!0);break;default:"function"===typeof g.onClick&&(e.onclick=sA)}fA(i,n)&&(t.effectTag|=4)}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)Ho(0,t,e.memoizedProps,n);else{if("string"!==typeof n&&null===t.stateNode)throw Error(o(166));A=Di(Ri.current),Di(Si.current),So(t)?(A=t.stateNode,n=t.memoizedProps,A[vA]=t,A.nodeValue!==n&&(t.effectTag|=4)):((A=(9===A.nodeType?A:A.ownerDocument).createTextNode(n))[vA]=t,t.stateNode=A)}return null;case 13:return sr(Ui),n=t.memoizedState,0!==(64&t.effectTag)?(t.expirationTime=A,t):(A=null!==n,n=!1,null===e?void 0!==t.memoizedProps.fallback&&So(t):(n=null!==(i=e.memoizedState),A||null===i||null!==(i=e.child.sibling)&&(null!==(a=t.firstEffect)?(t.firstEffect=i,i.nextEffect=a):(t.firstEffect=t.lastEffect=i,i.nextEffect=null),i.effectTag=8)),A&&!n&&0!==(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!==(1&Ui.current)?Sa===Ea&&(Sa=Qa):(Sa!==Ea&&Sa!==Qa||(Sa=ya),0!==ka&&null!==ma&&(xs(ma,wa),Ns(ma,ka)))),(A||n)&&(t.effectTag|=4),null);case 4:return ki(),null;case 10:return ei(t),null;case 17:return hr(t.type)&&fr(),null;case 19:if(sr(Ui),null===(n=t.memoizedState))return null;if(i=0!==(64&t.effectTag),null===(a=n.rendering)){if(i)Wo(n,!1);else if(Sa!==Ea||null!==e&&0!==(64&e.effectTag))for(a=t.child;null!==a;){if(null!==(e=_i(a))){for(t.effectTag|=64,Wo(n,!1),null!==(i=e.updateQueue)&&(t.updateQueue=i,t.effectTag|=4),null===n.lastEffect&&(t.firstEffect=null),t.lastEffect=n.lastEffect,n=t.child;null!==n;)a=A,(i=n).effectTag&=2,i.nextEffect=null,i.firstEffect=null,i.lastEffect=null,null===(e=i.alternate)?(i.childExpirationTime=0,i.expirationTime=a,i.child=null,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null):(i.childExpirationTime=e.childExpirationTime,i.expirationTime=e.expirationTime,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,a=e.dependencies,i.dependencies=null===a?null:{expirationTime:a.expirationTime,firstContext:a.firstContext,responders:a.responders}),n=n.sibling;return gr(Ui,1&Ui.current|2),t.child}a=a.sibling}}else{if(!i)if(null!==(e=_i(a))){if(t.effectTag|=64,i=!0,null!==(A=e.updateQueue)&&(t.updateQueue=A,t.effectTag|=4),Wo(n,!0),null===n.tail&&"hidden"===n.tailMode&&!a.alternate)return null!==(t=t.lastEffect=n.lastEffect)&&(t.nextEffect=null),null}else 2*Lr()-n.renderingStartTime>n.tailExpiration&&1<A&&(t.effectTag|=64,i=!0,Wo(n,!1),t.expirationTime=t.childExpirationTime=A-1);n.isBackwards?(a.sibling=t.child,t.child=a):(null!==(A=n.last)?A.sibling=a:t.child=a,n.last=a)}return null!==n.tail?(0===n.tailExpiration&&(n.tailExpiration=Lr()+500),A=n.tail,n.rendering=A,n.tail=A.sibling,n.lastEffect=t.lastEffect,n.renderingStartTime=Lr(),A.sibling=null,t=Ui.current,gr(Ui,i?1&t|2:1&t),A):null}throw Error(o(156,t.tag))}function qo(e){switch(e.tag){case 1:hr(e.type)&&fr();var t=e.effectTag;return 4096&t?(e.effectTag=-4097&t|64,e):null;case 3:if(ki(),sr(lr),sr(ur),0!==(64&(t=e.effectTag)))throw Error(o(285));return e.effectTag=-4097&t|64,e;case 5:return Ni(e),null;case 13:return sr(Ui),4096&(t=e.effectTag)?(e.effectTag=-4097&t|64,e):null;case 19:return sr(Ui),null;case 4:return ki(),null;case 10:return ei(e),null;default:return null}}function zo(e,t){return{value:e,source:t,stack:de(t)}}To=function(e,t){for(var A=t.child;null!==A;){if(5===A.tag||6===A.tag)e.appendChild(A.stateNode);else if(4!==A.tag&&null!==A.child){A.child.return=A,A=A.child;continue}if(A===t)break;for(;null===A.sibling;){if(null===A.return||A.return===t)return;A=A.return}A.sibling.return=A.return,A=A.sibling}},Zo=function(e,t,A,n,i){var o=e.memoizedProps;if(o!==n){var a,s,g=t.stateNode;switch(Di(Si.current),e=null,A){case"input":o=ye(g,o),n=ye(g,n),e=[];break;case"option":o=Fe(g,o),n=Fe(g,n),e=[];break;case"select":o=r({},o,{value:void 0}),n=r({},n,{value:void 0}),e=[];break;case"textarea":o=De(g,o),n=De(g,n),e=[];break;default:"function"!==typeof o.onClick&&"function"===typeof n.onClick&&(g.onclick=sA)}for(a in rA(A,n),A=null,o)if(!n.hasOwnProperty(a)&&o.hasOwnProperty(a)&&null!=o[a])if("style"===a)for(s in g=o[a])g.hasOwnProperty(s)&&(A||(A={}),A[s]="");else"dangerouslySetInnerHTML"!==a&&"children"!==a&&"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&"autoFocus"!==a&&(m.hasOwnProperty(a)?e||(e=[]):(e=e||[]).push(a,null));for(a in n){var c=n[a];if(g=null!=o?o[a]:void 0,n.hasOwnProperty(a)&&c!==g&&(null!=c||null!=g))if("style"===a)if(g){for(s in g)!g.hasOwnProperty(s)||c&&c.hasOwnProperty(s)||(A||(A={}),A[s]="");for(s in c)c.hasOwnProperty(s)&&g[s]!==c[s]&&(A||(A={}),A[s]=c[s])}else A||(e||(e=[]),e.push(a,A)),A=c;else"dangerouslySetInnerHTML"===a?(c=c?c.__html:void 0,g=g?g.__html:void 0,null!=c&&g!==c&&(e=e||[]).push(a,c)):"children"===a?g===c||"string"!==typeof c&&"number"!==typeof c||(e=e||[]).push(a,""+c):"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&(m.hasOwnProperty(a)?(null!=c&&aA(i,a),e||g===c||(e=[])):(e=e||[]).push(a,c))}A&&(e=e||[]).push("style",A),i=e,(t.updateQueue=i)&&(t.effectTag|=4)}},Ho=function(e,t,A,n){A!==n&&(t.effectTag|=4)};var $o="function"===typeof WeakSet?WeakSet:Set;function ea(e,t){var A=t.source,n=t.stack;null===n&&null!==A&&(n=de(A)),null!==A&&fe(A.type),t=t.value,null!==e&&1===e.tag&&fe(e.type);try{console.error(t)}catch(r){setTimeout((function(){throw r}))}}function ta(e){var t=e.ref;if(null!==t)if("function"===typeof t)try{t(null)}catch(A){Bs(e,A)}else t.current=null}function Aa(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&t.effectTag&&null!==e){var A=e.memoizedProps,n=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?A:Kr(t.type,A),n),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(o(163))}function na(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var A=t=t.next;do{if((A.tag&e)===e){var n=A.destroy;A.destroy=void 0,void 0!==n&&n()}A=A.next}while(A!==t)}}function ra(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var A=t=t.next;do{if((A.tag&e)===e){var n=A.create;A.destroy=n()}A=A.next}while(A!==t)}}function ia(e,t,A){switch(A.tag){case 0:case 11:case 15:case 22:return void ra(3,A);case 1:if(e=A.stateNode,4&A.effectTag)if(null===t)e.componentDidMount();else{var n=A.elementType===A.type?t.memoizedProps:Kr(A.type,t.memoizedProps);e.componentDidUpdate(n,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate)}return void(null!==(t=A.updateQueue)&&ui(A,t,e));case 3:if(null!==(t=A.updateQueue)){if(e=null,null!==A.child)switch(A.child.tag){case 5:e=A.child.stateNode;break;case 1:e=A.child.stateNode}ui(A,t,e)}return;case 5:return e=A.stateNode,void(null===t&&4&A.effectTag&&fA(A.type,A.memoizedProps)&&e.focus());case 6:case 4:case 12:return;case 13:return void(null===A.memoizedState&&(A=A.alternate,null!==A&&(A=A.memoizedState,null!==A&&(A=A.dehydrated,null!==A&&_t(A)))));case 19:case 17:case 20:case 21:return}throw Error(o(163))}function oa(e,t,A){switch("function"===typeof ys&&ys(t),t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e.next;Hr(97<A?97:A,(function(){var e=n;do{var A=e.destroy;if(void 0!==A){var r=t;try{A()}catch(i){Bs(r,i)}}e=e.next}while(e!==n)}))}break;case 1:ta(t),"function"===typeof(A=t.stateNode).componentWillUnmount&&function(e,t){try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(A){Bs(e,A)}}(t,A);break;case 5:ta(t);break;case 4:ca(e,t,A)}}function aa(e){var t=e.alternate;e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.alternate=null,e.firstEffect=null,e.lastEffect=null,e.pendingProps=null,e.memoizedProps=null,e.stateNode=null,null!==t&&aa(t)}function sa(e){return 5===e.tag||3===e.tag||4===e.tag}function ga(e){e:{for(var t=e.return;null!==t;){if(sa(t)){var A=t;break e}t=t.return}throw Error(o(160))}switch(t=A.stateNode,A.tag){case 5:var n=!1;break;case 3:case 4:t=t.containerInfo,n=!0;break;default:throw Error(o(161))}16&A.effectTag&&(Te(t,""),A.effectTag&=-17);e:t:for(A=e;;){for(;null===A.sibling;){if(null===A.return||sa(A.return)){A=null;break e}A=A.return}for(A.sibling.return=A.return,A=A.sibling;5!==A.tag&&6!==A.tag&&18!==A.tag;){if(2&A.effectTag)continue t;if(null===A.child||4===A.tag)continue t;A.child.return=A,A=A.child}if(!(2&A.effectTag)){A=A.stateNode;break e}}n?function e(t,A,n){var r=t.tag,i=5===r||6===r;if(i)t=i?t.stateNode:t.stateNode.instance,A?8===n.nodeType?n.parentNode.insertBefore(t,A):n.insertBefore(t,A):(8===n.nodeType?(A=n.parentNode).insertBefore(t,n):(A=n).appendChild(t),null!==(n=n._reactRootContainer)&&void 0!==n||null!==A.onclick||(A.onclick=sA));else if(4!==r&&null!==(t=t.child))for(e(t,A,n),t=t.sibling;null!==t;)e(t,A,n),t=t.sibling}(e,A,t):function e(t,A,n){var r=t.tag,i=5===r||6===r;if(i)t=i?t.stateNode:t.stateNode.instance,A?n.insertBefore(t,A):n.appendChild(t);else if(4!==r&&null!==(t=t.child))for(e(t,A,n),t=t.sibling;null!==t;)e(t,A,n),t=t.sibling}(e,A,t)}function ca(e,t,A){for(var n,r,i=t,a=!1;;){if(!a){a=i.return;e:for(;;){if(null===a)throw Error(o(160));switch(n=a.stateNode,a.tag){case 5:r=!1;break e;case 3:case 4:n=n.containerInfo,r=!0;break e}a=a.return}a=!0}if(5===i.tag||6===i.tag){e:for(var s=e,g=i,c=A,u=g;;)if(oa(s,u,c),null!==u.child&&4!==u.tag)u.child.return=u,u=u.child;else{if(u===g)break e;for(;null===u.sibling;){if(null===u.return||u.return===g)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}r?(s=n,g=i.stateNode,8===s.nodeType?s.parentNode.removeChild(g):s.removeChild(g)):n.removeChild(i.stateNode)}else if(4===i.tag){if(null!==i.child){n=i.stateNode.containerInfo,r=!0,i.child.return=i,i=i.child;continue}}else if(oa(e,i,A),null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)return;4===(i=i.return).tag&&(a=!1)}i.sibling.return=i.return,i=i.sibling}}function ua(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:return void na(3,t);case 1:return;case 5:var A=t.stateNode;if(null!=A){var n=t.memoizedProps,r=null!==e?e.memoizedProps:n;e=t.type;var i=t.updateQueue;if(t.updateQueue=null,null!==i){for(A[mA]=n,"input"===e&&"radio"===n.type&&null!=n.name&&me(A,n),iA(e,r),t=iA(e,n),r=0;r<i.length;r+=2){var a=i[r],s=i[r+1];"style"===a?AA(A,s):"dangerouslySetInnerHTML"===a?Le(A,s):"children"===a?Te(A,s):q(A,a,s,t)}switch(e){case"input":be(A,n);break;case"textarea":ke(A,n);break;case"select":t=A._wrapperState.wasMultiple,A._wrapperState.wasMultiple=!!n.multiple,null!=(e=n.value)?Re(A,!!n.multiple,e,!1):t!==!!n.multiple&&(null!=n.defaultValue?Re(A,!!n.multiple,n.defaultValue,!0):Re(A,!!n.multiple,n.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(o(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((t=t.stateNode).hydrate&&(t.hydrate=!1,_t(t.containerInfo)));case 12:return;case 13:if(A=t,null===t.memoizedState?n=!1:(n=!0,A=t.child,Na=Lr()),null!==A)e:for(e=A;;){if(5===e.tag)i=e.stateNode,n?"function"===typeof(i=i.style).setProperty?i.setProperty("display","none","important"):i.display="none":(i=e.stateNode,r=void 0!==(r=e.memoizedProps.style)&&null!==r&&r.hasOwnProperty("display")?r.display:null,i.style.display=tA("display",r));else if(6===e.tag)e.stateNode.nodeValue=n?"":e.memoizedProps;else{if(13===e.tag&&null!==e.memoizedState&&null===e.memoizedState.dehydrated){(i=e.child.sibling).return=e,e=i;continue}if(null!==e.child){e.child.return=e,e=e.child;continue}}if(e===A)break;for(;null===e.sibling;){if(null===e.return||e.return===A)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}return void la(t);case 19:return void la(t);case 17:return}throw Error(o(163))}function la(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var A=e.stateNode;null===A&&(A=e.stateNode=new $o),t.forEach((function(t){var n=Es.bind(null,e,t);A.has(t)||(A.add(t),t.then(n,n))}))}}var Ia="function"===typeof WeakMap?WeakMap:Map;function Ca(e,t,A){(A=ai(A,null)).tag=3,A.payload={element:null};var n=t.value;return A.callback=function(){_a||(_a=!0,Ma=n),ea(e,t)},A}function ha(e,t,A){(A=ai(A,null)).tag=3;var n=e.type.getDerivedStateFromError;if("function"===typeof n){var r=t.value;A.payload=function(){return ea(e,t),n(r)}}var i=e.stateNode;return null!==i&&"function"===typeof i.componentDidCatch&&(A.callback=function(){"function"!==typeof n&&(null===Oa?Oa=new Set([this]):Oa.add(this),ea(e,t));var A=t.stack;this.componentDidCatch(t.value,{componentStack:null!==A?A:""})}),A}var fa,da=Math.ceil,Ba=X.ReactCurrentDispatcher,pa=X.ReactCurrentOwner,Ea=0,Qa=3,ya=4,va=0,ma=null,ba=null,wa=0,Sa=Ea,Fa=null,Ra=1073741823,Da=1073741823,Ga=null,ka=0,xa=!1,Na=0,Ua=null,_a=!1,Ma=null,Oa=null,La=!1,Ta=null,Za=90,Ha=null,Ya=0,Ja=null,ja=0;function Pa(){return 0!==(48&va)?1073741821-(Lr()/10|0):0!==ja?ja:ja=1073741821-(Lr()/10|0)}function Va(e,t,A){if(0===(2&(t=t.mode)))return 1073741823;var n=Tr();if(0===(4&t))return 99===n?1073741823:1073741822;if(0!==(16&va))return wa;if(null!==A)e=Vr(e,0|A.timeoutMs||5e3,250);else switch(n){case 99:e=1073741823;break;case 98:e=Vr(e,150,100);break;case 97:case 96:e=Vr(e,5e3,250);break;case 95:e=2;break;default:throw Error(o(326))}return null!==ma&&e===wa&&--e,e}function Ka(e,t){if(50<Ya)throw Ya=0,Ja=null,Error(o(185));if(null!==(e=Wa(e,t))){var A=Tr();1073741823===t?0!==(8&va)&&0===(48&va)?$a(e):(qa(e),0===va&&jr()):qa(e),0===(4&va)||98!==A&&99!==A||(null===Ha?Ha=new Map([[e,t]]):(void 0===(A=Ha.get(e))||A>t)&&Ha.set(e,t))}}function Wa(e,t){e.expirationTime<t&&(e.expirationTime=t);var A=e.alternate;null!==A&&A.expirationTime<t&&(A.expirationTime=t);var n=e.return,r=null;if(null===n&&3===e.tag)r=e.stateNode;else for(;null!==n;){if(A=n.alternate,n.childExpirationTime<t&&(n.childExpirationTime=t),null!==A&&A.childExpirationTime<t&&(A.childExpirationTime=t),null===n.return&&3===n.tag){r=n.stateNode;break}n=n.return}return null!==r&&(ma===r&&(os(t),Sa===ya&&xs(r,wa)),Ns(r,t)),r}function Xa(e){var t=e.lastExpiredTime;if(0!==t)return t;if(!ks(e,t=e.firstPendingTime))return t;var A=e.lastPingedTime;return 2>=(e=A>(e=e.nextKnownPendingLevel)?A:e)&&t!==e?0:e}function qa(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Jr($a.bind(null,e));else{var t=Xa(e),A=e.callbackNode;if(0===t)null!==A&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var n=Pa();if(1073741823===t?n=99:1===t||2===t?n=95:n=0>=(n=10*(1073741821-t)-10*(1073741821-n))?99:250>=n?98:5250>=n?97:95,null!==A){var r=e.callbackPriority;if(e.callbackExpirationTime===t&&r>=n)return;A!==kr&&vr(A)}e.callbackExpirationTime=t,e.callbackPriority=n,t=1073741823===t?Jr($a.bind(null,e)):Yr(n,za.bind(null,e),{timeout:10*(1073741821-t)-Lr()}),e.callbackNode=t}}}function za(e,t){if(ja=0,t)return Us(e,t=Pa()),qa(e),null;var A=Xa(e);if(0!==A){if(t=e.callbackNode,0!==(48&va))throw Error(o(327));if(hs(),e===ma&&A===wa||As(e,A),null!==ba){var n=va;va|=16;for(var r=rs();;)try{ss();break}catch(s){ns(e,s)}if($r(),va=n,Ba.current=r,1===Sa)throw t=Fa,As(e,A),xs(e,A),qa(e),t;if(null===ba)switch(r=e.finishedWork=e.current.alternate,e.finishedExpirationTime=A,n=Sa,ma=null,n){case Ea:case 1:throw Error(o(345));case 2:Us(e,2<A?2:A);break;case Qa:if(xs(e,A),A===(n=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=us(r)),1073741823===Ra&&10<(r=Na+500-Lr())){if(xa){var i=e.lastPingedTime;if(0===i||i>=A){e.lastPingedTime=A,As(e,A);break}}if(0!==(i=Xa(e))&&i!==A)break;if(0!==n&&n!==A){e.lastPingedTime=n;break}e.timeoutHandle=BA(ls.bind(null,e),r);break}ls(e);break;case ya:if(xs(e,A),A===(n=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=us(r)),xa&&(0===(r=e.lastPingedTime)||r>=A)){e.lastPingedTime=A,As(e,A);break}if(0!==(r=Xa(e))&&r!==A)break;if(0!==n&&n!==A){e.lastPingedTime=n;break}if(1073741823!==Da?n=10*(1073741821-Da)-Lr():1073741823===Ra?n=0:(n=10*(1073741821-Ra)-5e3,0>(n=(r=Lr())-n)&&(n=0),(A=10*(1073741821-A)-r)<(n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*da(n/1960))-n)&&(n=A)),10<n){e.timeoutHandle=BA(ls.bind(null,e),n);break}ls(e);break;case 5:if(1073741823!==Ra&&null!==Ga){i=Ra;var a=Ga;if(0>=(n=0|a.busyMinDurationMs)?n=0:(r=0|a.busyDelayMs,n=(i=Lr()-(10*(1073741821-i)-(0|a.timeoutMs||5e3)))<=r?0:r+n-i),10<n){xs(e,A),e.timeoutHandle=BA(ls.bind(null,e),n);break}}ls(e);break;default:throw Error(o(329))}if(qa(e),e.callbackNode===t)return za.bind(null,e)}}return null}function $a(e){var t=e.lastExpiredTime;if(t=0!==t?t:1073741823,0!==(48&va))throw Error(o(327));if(hs(),e===ma&&t===wa||As(e,t),null!==ba){var A=va;va|=16;for(var n=rs();;)try{as();break}catch(r){ns(e,r)}if($r(),va=A,Ba.current=n,1===Sa)throw A=Fa,As(e,t),xs(e,t),qa(e),A;if(null!==ba)throw Error(o(261));e.finishedWork=e.current.alternate,e.finishedExpirationTime=t,ma=null,ls(e),qa(e)}return null}function es(e,t){var A=va;va|=1;try{return e(t)}finally{0===(va=A)&&jr()}}function ts(e,t){var A=va;va&=-2,va|=8;try{return e(t)}finally{0===(va=A)&&jr()}}function As(e,t){e.finishedWork=null,e.finishedExpirationTime=0;var A=e.timeoutHandle;if(-1!==A&&(e.timeoutHandle=-1,pA(A)),null!==ba)for(A=ba.return;null!==A;){var n=A;switch(n.tag){case 1:null!==(n=n.type.childContextTypes)&&void 0!==n&&fr();break;case 3:ki(),sr(lr),sr(ur);break;case 5:Ni(n);break;case 4:ki();break;case 13:case 19:sr(Ui);break;case 10:ei(n)}A=A.return}ma=e,ba=ws(e.current,null),wa=t,Sa=Ea,Fa=null,Da=Ra=1073741823,Ga=null,ka=0,xa=!1}function ns(e,t){for(;;){try{if($r(),Oi.current=ho,Ji)for(var A=Zi.memoizedState;null!==A;){var n=A.queue;null!==n&&(n.pending=null),A=A.next}if(Ti=0,Yi=Hi=Zi=null,Ji=!1,null===ba||null===ba.return)return Sa=1,Fa=t,ba=null;e:{var r=e,i=ba.return,o=ba,a=t;if(t=wa,o.effectTag|=2048,o.firstEffect=o.lastEffect=null,null!==a&&"object"===typeof a&&"function"===typeof a.then){var s=a;if(0===(2&o.mode)){var g=o.alternate;g?(o.updateQueue=g.updateQueue,o.memoizedState=g.memoizedState,o.expirationTime=g.expirationTime):(o.updateQueue=null,o.memoizedState=null)}var c=0!==(1&Ui.current),u=i;do{var l;if(l=13===u.tag){var I=u.memoizedState;if(null!==I)l=null!==I.dehydrated;else{var C=u.memoizedProps;l=void 0!==C.fallback&&(!0!==C.unstable_avoidThisFallback||!c)}}if(l){var h=u.updateQueue;if(null===h){var f=new Set;f.add(s),u.updateQueue=f}else h.add(s);if(0===(2&u.mode)){if(u.effectTag|=64,o.effectTag&=-2981,1===o.tag)if(null===o.alternate)o.tag=17;else{var d=ai(1073741823,null);d.tag=2,si(o,d)}o.expirationTime=1073741823;break e}a=void 0,o=t;var B=r.pingCache;if(null===B?(B=r.pingCache=new Ia,a=new Set,B.set(s,a)):void 0===(a=B.get(s))&&(a=new Set,B.set(s,a)),!a.has(o)){a.add(o);var p=ps.bind(null,r,s,o);s.then(p,p)}u.effectTag|=4096,u.expirationTime=t;break e}u=u.return}while(null!==u);a=Error((fe(o.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+de(o))}5!==Sa&&(Sa=2),a=zo(a,o),u=i;do{switch(u.tag){case 3:s=a,u.effectTag|=4096,u.expirationTime=t,gi(u,Ca(u,s,t));break e;case 1:s=a;var E=u.type,Q=u.stateNode;if(0===(64&u.effectTag)&&("function"===typeof E.getDerivedStateFromError||null!==Q&&"function"===typeof Q.componentDidCatch&&(null===Oa||!Oa.has(Q)))){u.effectTag|=4096,u.expirationTime=t,gi(u,ha(u,s,t));break e}}u=u.return}while(null!==u)}ba=cs(ba)}catch(y){t=y;continue}break}}function rs(){var e=Ba.current;return Ba.current=ho,null===e?ho:e}function is(e,t){e<Ra&&2<e&&(Ra=e),null!==t&&e<Da&&2<e&&(Da=e,Ga=t)}function os(e){e>ka&&(ka=e)}function as(){for(;null!==ba;)ba=gs(ba)}function ss(){for(;null!==ba&&!xr();)ba=gs(ba)}function gs(e){var t=fa(e.alternate,e,wa);return e.memoizedProps=e.pendingProps,null===t&&(t=cs(e)),pa.current=null,t}function cs(e){ba=e;do{var t=ba.alternate;if(e=ba.return,0===(2048&ba.effectTag)){if(t=Xo(t,ba,wa),1===wa||1!==ba.childExpirationTime){for(var A=0,n=ba.child;null!==n;){var r=n.expirationTime,i=n.childExpirationTime;r>A&&(A=r),i>A&&(A=i),n=n.sibling}ba.childExpirationTime=A}if(null!==t)return t;null!==e&&0===(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=ba.firstEffect),null!==ba.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=ba.firstEffect),e.lastEffect=ba.lastEffect),1<ba.effectTag&&(null!==e.lastEffect?e.lastEffect.nextEffect=ba:e.firstEffect=ba,e.lastEffect=ba))}else{if(null!==(t=qo(ba)))return t.effectTag&=2047,t;null!==e&&(e.firstEffect=e.lastEffect=null,e.effectTag|=2048)}if(null!==(t=ba.sibling))return t;ba=e}while(null!==ba);return Sa===Ea&&(Sa=5),null}function us(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)?t:e}function ls(e){var t=Tr();return Hr(99,Is.bind(null,e,t)),null}function Is(e,t){do{hs()}while(null!==Ta);if(0!==(48&va))throw Error(o(327));var A=e.finishedWork,n=e.finishedExpirationTime;if(null===A)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,A===e.current)throw Error(o(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var r=us(A);if(e.firstPendingTime=r,n<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:n<=e.firstSuspendedTime&&(e.firstSuspendedTime=n-1),n<=e.lastPingedTime&&(e.lastPingedTime=0),n<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===ma&&(ba=ma=null,wa=0),1<A.effectTag?null!==A.lastEffect?(A.lastEffect.nextEffect=A,r=A.firstEffect):r=A:r=A.firstEffect,null!==r){var i=va;va|=32,pa.current=null,CA=Pt;var a=lA();if(IA(a)){if("selectionStart"in a)var s={start:a.selectionStart,end:a.selectionEnd};else e:{var g=(s=(s=a.ownerDocument)&&s.defaultView||window).getSelection&&s.getSelection();if(g&&0!==g.rangeCount){s=g.anchorNode;var c=g.anchorOffset,u=g.focusNode;g=g.focusOffset;try{s.nodeType,u.nodeType}catch(w){s=null;break e}var l=0,I=-1,C=-1,h=0,f=0,d=a,B=null;t:for(;;){for(var p;d!==s||0!==c&&3!==d.nodeType||(I=l+c),d!==u||0!==g&&3!==d.nodeType||(C=l+g),3===d.nodeType&&(l+=d.nodeValue.length),null!==(p=d.firstChild);)B=d,d=p;for(;;){if(d===a)break t;if(B===s&&++h===c&&(I=l),B===u&&++f===g&&(C=l),null!==(p=d.nextSibling))break;B=(d=B).parentNode}d=p}s=-1===I||-1===C?null:{start:I,end:C}}else s=null}s=s||{start:0,end:0}}else s=null;hA={activeElementDetached:null,focusedElem:a,selectionRange:s},Pt=!1,Ua=r;do{try{Cs()}catch(w){if(null===Ua)throw Error(o(330));Bs(Ua,w),Ua=Ua.nextEffect}}while(null!==Ua);Ua=r;do{try{for(a=e,s=t;null!==Ua;){var E=Ua.effectTag;if(16&E&&Te(Ua.stateNode,""),128&E){var Q=Ua.alternate;if(null!==Q){var y=Q.ref;null!==y&&("function"===typeof y?y(null):y.current=null)}}switch(1038&E){case 2:ga(Ua),Ua.effectTag&=-3;break;case 6:ga(Ua),Ua.effectTag&=-3,ua(Ua.alternate,Ua);break;case 1024:Ua.effectTag&=-1025;break;case 1028:Ua.effectTag&=-1025,ua(Ua.alternate,Ua);break;case 4:ua(Ua.alternate,Ua);break;case 8:ca(a,c=Ua,s),aa(c)}Ua=Ua.nextEffect}}catch(w){if(null===Ua)throw Error(o(330));Bs(Ua,w),Ua=Ua.nextEffect}}while(null!==Ua);if(y=hA,Q=lA(),E=y.focusedElem,s=y.selectionRange,Q!==E&&E&&E.ownerDocument&&function e(t,A){return!(!t||!A)&&(t===A||(!t||3!==t.nodeType)&&(A&&3===A.nodeType?e(t,A.parentNode):"contains"in t?t.contains(A):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(A))))}(E.ownerDocument.documentElement,E)){null!==s&&IA(E)&&(Q=s.start,void 0===(y=s.end)&&(y=Q),"selectionStart"in E?(E.selectionStart=Q,E.selectionEnd=Math.min(y,E.value.length)):(y=(Q=E.ownerDocument||document)&&Q.defaultView||window).getSelection&&(y=y.getSelection(),c=E.textContent.length,a=Math.min(s.start,c),s=void 0===s.end?a:Math.min(s.end,c),!y.extend&&a>s&&(c=s,s=a,a=c),c=uA(E,a),u=uA(E,s),c&&u&&(1!==y.rangeCount||y.anchorNode!==c.node||y.anchorOffset!==c.offset||y.focusNode!==u.node||y.focusOffset!==u.offset)&&((Q=Q.createRange()).setStart(c.node,c.offset),y.removeAllRanges(),a>s?(y.addRange(Q),y.extend(u.node,u.offset)):(Q.setEnd(u.node,u.offset),y.addRange(Q))))),Q=[];for(y=E;y=y.parentNode;)1===y.nodeType&&Q.push({element:y,left:y.scrollLeft,top:y.scrollTop});for("function"===typeof E.focus&&E.focus(),E=0;E<Q.length;E++)(y=Q[E]).element.scrollLeft=y.left,y.element.scrollTop=y.top}Pt=!!CA,hA=CA=null,e.current=A,Ua=r;do{try{for(E=e;null!==Ua;){var v=Ua.effectTag;if(36&v&&ia(E,Ua.alternate,Ua),128&v){Q=void 0;var m=Ua.ref;if(null!==m){var b=Ua.stateNode;switch(Ua.tag){case 5:Q=b;break;default:Q=b}"function"===typeof m?m(Q):m.current=Q}}Ua=Ua.nextEffect}}catch(w){if(null===Ua)throw Error(o(330));Bs(Ua,w),Ua=Ua.nextEffect}}while(null!==Ua);Ua=null,Nr(),va=i}else e.current=A;if(La)La=!1,Ta=e,Za=t;else for(Ua=r;null!==Ua;)t=Ua.nextEffect,Ua.nextEffect=null,Ua=t;if(0===(t=e.firstPendingTime)&&(Oa=null),1073741823===t?e===Ja?Ya++:(Ya=0,Ja=e):Ya=0,"function"===typeof Qs&&Qs(A.stateNode,n),qa(e),_a)throw _a=!1,e=Ma,Ma=null,e;return 0!==(8&va)||jr(),null}function Cs(){for(;null!==Ua;){var e=Ua.effectTag;0!==(256&e)&&Aa(Ua.alternate,Ua),0===(512&e)||La||(La=!0,Yr(97,(function(){return hs(),null}))),Ua=Ua.nextEffect}}function hs(){if(90!==Za){var e=97<Za?97:Za;return Za=90,Hr(e,fs)}}function fs(){if(null===Ta)return!1;var e=Ta;if(Ta=null,0!==(48&va))throw Error(o(331));var t=va;for(va|=32,e=e.current.firstEffect;null!==e;){try{var A=e;if(0!==(512&A.effectTag))switch(A.tag){case 0:case 11:case 15:case 22:na(5,A),ra(5,A)}}catch(n){if(null===e)throw Error(o(330));Bs(e,n)}A=e.nextEffect,e.nextEffect=null,e=A}return va=t,jr(),!0}function ds(e,t,A){si(e,t=Ca(e,t=zo(A,t),1073741823)),null!==(e=Wa(e,1073741823))&&qa(e)}function Bs(e,t){if(3===e.tag)ds(e,e,t);else for(var A=e.return;null!==A;){if(3===A.tag){ds(A,e,t);break}if(1===A.tag){var n=A.stateNode;if("function"===typeof A.type.getDerivedStateFromError||"function"===typeof n.componentDidCatch&&(null===Oa||!Oa.has(n))){si(A,e=ha(A,e=zo(t,e),1073741823)),null!==(A=Wa(A,1073741823))&&qa(A);break}}A=A.return}}function ps(e,t,A){var n=e.pingCache;null!==n&&n.delete(t),ma===e&&wa===A?Sa===ya||Sa===Qa&&1073741823===Ra&&Lr()-Na<500?As(e,wa):xa=!0:ks(e,A)&&(0!==(t=e.lastPingedTime)&&t<A||(e.lastPingedTime=A,qa(e)))}function Es(e,t){var A=e.stateNode;null!==A&&A.delete(t),0===(t=0)&&(t=Va(t=Pa(),e,null)),null!==(e=Wa(e,t))&&qa(e)}fa=function(e,t,A){var n=t.expirationTime;if(null!==e){var r=t.pendingProps;if(e.memoizedProps!==r||lr.current)Do=!0;else{if(n<A){switch(Do=!1,t.tag){case 3:Lo(t),Fo();break;case 5:if(xi(t),4&t.mode&&1!==A&&r.hidden)return t.expirationTime=t.childExpirationTime=1,null;break;case 1:hr(t.type)&&pr(t);break;case 4:Gi(t,t.stateNode.containerInfo);break;case 10:n=t.memoizedProps.value,r=t.type._context,gr(Wr,r._currentValue),r._currentValue=n;break;case 13:if(null!==t.memoizedState)return 0!==(n=t.child.childExpirationTime)&&n>=A?Jo(e,t,A):(gr(Ui,1&Ui.current),null!==(t=Ko(e,t,A))?t.sibling:null);gr(Ui,1&Ui.current);break;case 19:if(n=t.childExpirationTime>=A,0!==(64&e.effectTag)){if(n)return Vo(e,t,A);t.effectTag|=64}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null),gr(Ui,Ui.current),!n)return null}return Ko(e,t,A)}Do=!1}}else Do=!1;switch(t.expirationTime=0,t.tag){case 2:if(n=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,r=Cr(t,ur.current),Ai(t,A),r=Vi(null,t,n,e,r,A),t.effectTag|=1,"object"===typeof r&&null!==r&&"function"===typeof r.render&&void 0===r.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,hr(n)){var i=!0;pr(t)}else i=!1;t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,ii(t);var a=n.getDerivedStateFromProps;"function"===typeof a&&Ci(t,n,a,e),r.updater=hi,t.stateNode=r,r._reactInternalFiber=t,pi(t,n,e,A),t=Oo(null,t,n,!0,i,A)}else t.tag=0,Go(null,t,r,A),t=t.child;return t;case 16:e:{if(r=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(r),1!==r._status)throw r._result;switch(r=r._result,t.type=r,i=t.tag=function(e){if("function"===typeof e)return bs(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===se)return 11;if(e===ue)return 14}return 2}(r),e=Kr(r,e),i){case 0:t=_o(null,t,r,e,A);break e;case 1:t=Mo(null,t,r,e,A);break e;case 11:t=ko(null,t,r,e,A);break e;case 14:t=xo(null,t,r,Kr(r.type,e),n,A);break e}throw Error(o(306,r,""))}return t;case 0:return n=t.type,r=t.pendingProps,_o(e,t,n,r=t.elementType===n?r:Kr(n,r),A);case 1:return n=t.type,r=t.pendingProps,Mo(e,t,n,r=t.elementType===n?r:Kr(n,r),A);case 3:if(Lo(t),n=t.updateQueue,null===e||null===n)throw Error(o(282));if(n=t.pendingProps,r=null!==(r=t.memoizedState)?r.element:null,oi(e,t),ci(t,n,null,A),(n=t.memoizedState.element)===r)Fo(),t=Ko(e,t,A);else{if((r=t.stateNode.hydrate)&&(Qo=EA(t.stateNode.containerInfo.firstChild),Eo=t,r=yo=!0),r)for(A=bi(t,null,n,A),t.child=A;A;)A.effectTag=-3&A.effectTag|1024,A=A.sibling;else Go(e,t,n,A),Fo();t=t.child}return t;case 5:return xi(t),null===e&&bo(t),n=t.type,r=t.pendingProps,i=null!==e?e.memoizedProps:null,a=r.children,dA(n,r)?a=null:null!==i&&dA(n,i)&&(t.effectTag|=16),Uo(e,t),4&t.mode&&1!==A&&r.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(Go(e,t,a,A),t=t.child),t;case 6:return null===e&&bo(t),null;case 13:return Jo(e,t,A);case 4:return Gi(t,t.stateNode.containerInfo),n=t.pendingProps,null===e?t.child=mi(t,null,n,A):Go(e,t,n,A),t.child;case 11:return n=t.type,r=t.pendingProps,ko(e,t,n,r=t.elementType===n?r:Kr(n,r),A);case 7:return Go(e,t,t.pendingProps,A),t.child;case 8:case 12:return Go(e,t,t.pendingProps.children,A),t.child;case 10:e:{n=t.type._context,r=t.pendingProps,a=t.memoizedProps,i=r.value;var s=t.type._context;if(gr(Wr,s._currentValue),s._currentValue=i,null!==a)if(s=a.value,0===(i=Mn(s,i)?0:0|("function"===typeof n._calculateChangedBits?n._calculateChangedBits(s,i):1073741823))){if(a.children===r.children&&!lr.current){t=Ko(e,t,A);break e}}else for(null!==(s=t.child)&&(s.return=t);null!==s;){var g=s.dependencies;if(null!==g){a=s.child;for(var c=g.firstContext;null!==c;){if(c.context===n&&0!==(c.observedBits&i)){1===s.tag&&((c=ai(A,null)).tag=2,si(s,c)),s.expirationTime<A&&(s.expirationTime=A),null!==(c=s.alternate)&&c.expirationTime<A&&(c.expirationTime=A),ti(s.return,A),g.expirationTime<A&&(g.expirationTime=A);break}c=c.next}}else a=10===s.tag&&s.type===t.type?null:s.child;if(null!==a)a.return=s;else for(a=s;null!==a;){if(a===t){a=null;break}if(null!==(s=a.sibling)){s.return=a.return,a=s;break}a=a.return}s=a}Go(e,t,r.children,A),t=t.child}return t;case 9:return r=t.type,n=(i=t.pendingProps).children,Ai(t,A),n=n(r=ni(r,i.unstable_observedBits)),t.effectTag|=1,Go(e,t,n,A),t.child;case 14:return i=Kr(r=t.type,t.pendingProps),xo(e,t,r,i=Kr(r.type,i),n,A);case 15:return No(e,t,t.type,t.pendingProps,n,A);case 17:return n=t.type,r=t.pendingProps,r=t.elementType===n?r:Kr(n,r),null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,hr(n)?(e=!0,pr(t)):e=!1,Ai(t,A),di(t,n,r),pi(t,n,r,A),Oo(null,t,n,!0,e,A);case 19:return Vo(e,t,A)}throw Error(o(156,t.tag))};var Qs=null,ys=null;function vs(e,t,A,n){this.tag=e,this.key=A,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function ms(e,t,A,n){return new vs(e,t,A,n)}function bs(e){return!(!(e=e.prototype)||!e.isReactComponent)}function ws(e,t){var A=e.alternate;return null===A?((A=ms(e.tag,t,e.key,e.mode)).elementType=e.elementType,A.type=e.type,A.stateNode=e.stateNode,A.alternate=e,e.alternate=A):(A.pendingProps=t,A.effectTag=0,A.nextEffect=null,A.firstEffect=null,A.lastEffect=null),A.childExpirationTime=e.childExpirationTime,A.expirationTime=e.expirationTime,A.child=e.child,A.memoizedProps=e.memoizedProps,A.memoizedState=e.memoizedState,A.updateQueue=e.updateQueue,t=e.dependencies,A.dependencies=null===t?null:{expirationTime:t.expirationTime,firstContext:t.firstContext,responders:t.responders},A.sibling=e.sibling,A.index=e.index,A.ref=e.ref,A}function Ss(e,t,A,n,r,i){var a=2;if(n=e,"function"===typeof e)bs(e)&&(a=1);else if("string"===typeof e)a=5;else e:switch(e){case Ae:return Fs(A.children,r,i,t);case ae:a=8,r|=7;break;case ne:a=8,r|=1;break;case re:return(e=ms(12,A,t,8|r)).elementType=re,e.type=re,e.expirationTime=i,e;case ge:return(e=ms(13,A,t,r)).type=ge,e.elementType=ge,e.expirationTime=i,e;case ce:return(e=ms(19,A,t,r)).elementType=ce,e.expirationTime=i,e;default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case ie:a=10;break e;case oe:a=9;break e;case se:a=11;break e;case ue:a=14;break e;case le:a=16,n=null;break e;case Ie:a=22;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=ms(a,A,t,r)).elementType=e,t.type=n,t.expirationTime=i,t}function Fs(e,t,A,n){return(e=ms(7,e,n,t)).expirationTime=A,e}function Rs(e,t,A){return(e=ms(6,e,null,t)).expirationTime=A,e}function Ds(e,t,A){return(t=ms(4,null!==e.children?e.children:[],e.key,t)).expirationTime=A,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Gs(e,t,A){this.tag=t,this.current=null,this.containerInfo=e,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=A,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function ks(e,t){var A=e.firstSuspendedTime;return e=e.lastSuspendedTime,0!==A&&A>=t&&e<=t}function xs(e,t){var A=e.firstSuspendedTime,n=e.lastSuspendedTime;A<t&&(e.firstSuspendedTime=t),(n>t||0===A)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function Ns(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var A=e.firstSuspendedTime;0!==A&&(t>=A?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function Us(e,t){var A=e.lastExpiredTime;(0===A||A>t)&&(e.lastExpiredTime=t)}function _s(e,t,A,n){var r=t.current,i=Pa(),a=li.suspense;i=Va(i,r,a);e:if(A){t:{if($e(A=A._reactInternalFiber)!==A||1!==A.tag)throw Error(o(170));var s=A;do{switch(s.tag){case 3:s=s.stateNode.context;break t;case 1:if(hr(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break t}}s=s.return}while(null!==s);throw Error(o(171))}if(1===A.tag){var g=A.type;if(hr(g)){A=Br(A,g,s);break e}}A=s}else A=cr;return null===t.context?t.context=A:t.pendingContext=A,(t=ai(i,a)).payload={element:e},null!==(n=void 0===n?null:n)&&(t.callback=n),si(r,t),Ka(r,i),i}function Ms(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Os(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime<t&&(e.retryTime=t)}function Ls(e,t){Os(e,t),(e=e.alternate)&&Os(e,t)}function Ts(e,t,A){var n=new Gs(e,t,A=null!=A&&!0===A.hydrate),r=ms(3,null,null,2===t?7:1===t?3:0);n.current=r,r.stateNode=n,ii(r),e[bA]=n.current,A&&0!==t&&function(e,t){var A=ze(t);wt.forEach((function(e){Ct(e,t,A)})),St.forEach((function(e){Ct(e,t,A)}))}(0,9===e.nodeType?e:e.ownerDocument),this._internalRoot=n}function Zs(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Hs(e,t,A,n,r){var i=A._reactRootContainer;if(i){var o=i._internalRoot;if("function"===typeof r){var a=r;r=function(){var e=Ms(o);a.call(e)}}_s(t,o,e,r)}else{if(i=A._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var A;A=e.lastChild;)e.removeChild(A);return new Ts(e,0,t?{hydrate:!0}:void 0)}(A,n),o=i._internalRoot,"function"===typeof r){var s=r;r=function(){var e=Ms(o);s.call(e)}}ts((function(){_s(t,o,e,r)}))}return Ms(o)}function Ys(e,t,A){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:te,key:null==n?null:""+n,children:e,containerInfo:t,implementation:A}}function Js(e,t){var A=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Zs(t))throw Error(o(200));return Ys(e,t,null,A)}Ts.prototype.render=function(e){_s(e,this._internalRoot,null,null)},Ts.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;_s(null,e,null,(function(){t[bA]=null}))},ht=function(e){if(13===e.tag){var t=Vr(Pa(),150,100);Ka(e,t),Ls(e,t)}},ft=function(e){13===e.tag&&(Ka(e,3),Ls(e,3))},dt=function(e){if(13===e.tag){var t=Pa();Ka(e,t=Va(t,e,null)),Ls(e,t)}},F=function(e,t,A){switch(t){case"input":if(be(e,A),t=A.name,"radio"===A.type&&null!=t){for(A=e;A.parentNode;)A=A.parentNode;for(A=A.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<A.length;t++){var n=A[t];if(n!==e&&n.form===e.form){var r=RA(n);if(!r)throw Error(o(90));Qe(n),be(n,r)}}}break;case"textarea":ke(e,A);break;case"select":null!=(t=A.value)&&Re(e,!!A.multiple,t,!1)}},N=es,U=function(e,t,A,n,r){var i=va;va|=4;try{return Hr(98,e.bind(null,t,A,n,r))}finally{0===(va=i)&&jr()}},_=function(){0===(49&va)&&(function(){if(null!==Ha){var e=Ha;Ha=null,e.forEach((function(e,t){Us(t,e),qa(t)})),jr()}}(),hs())},M=function(e,t){var A=va;va|=2;try{return e(t)}finally{0===(va=A)&&jr()}};var js={Events:[SA,FA,RA,w,v,_A,function(e){rt(e,UA)},k,x,qt,at,hs,{current:!1}]};!function(e){var t=e.findFiberByHostInstance;(function(e){if("undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var A=t.inject(e);Qs=function(e){try{t.onCommitFiberRoot(A,e,void 0,64===(64&e.current.effectTag))}catch(n){}},ys=function(e){try{t.onCommitFiberUnmount(A,e)}catch(n){}}}catch(n){}})(r({},e,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:X.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=At(e))?null:e.stateNode},findFiberByHostInstance:function(e){return t?t(e):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))}({findFiberByHostInstance:wA,bundleType:0,version:"16.14.0",rendererPackageName:"react-dom"}),t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=js,t.createPortal=Js,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternalFiber;if(void 0===t){if("function"===typeof e.render)throw Error(o(188));throw Error(o(268,Object.keys(e)))}return e=null===(e=At(t))?null:e.stateNode},t.flushSync=function(e,t){if(0!==(48&va))throw Error(o(187));var A=va;va|=1;try{return Hr(99,e.bind(null,t))}finally{va=A,jr()}},t.hydrate=function(e,t,A){if(!Zs(t))throw Error(o(200));return Hs(null,e,t,!0,A)},t.render=function(e,t,A){if(!Zs(t))throw Error(o(200));return Hs(null,e,t,!1,A)},t.unmountComponentAtNode=function(e){if(!Zs(e))throw Error(o(40));return!!e._reactRootContainer&&(ts((function(){Hs(null,null,e,!1,(function(){e._reactRootContainer=null,e[bA]=null}))})),!0)},t.unstable_batchedUpdates=es,t.unstable_createPortal=function(e,t){return Js(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,A,n){if(!Zs(A))throw Error(o(200));if(null==e||void 0===e._reactInternalFiber)throw Error(o(38));return Hs(e,t,A,!1,n)},t.version="16.14.0"},function(e,t,A){"use strict";var n=A(443),r="function"===typeof Symbol&&Symbol.for,i=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,a=r?Symbol.for("react.fragment"):60107,s=r?Symbol.for("react.strict_mode"):60108,g=r?Symbol.for("react.profiler"):60114,c=r?Symbol.for("react.provider"):60109,u=r?Symbol.for("react.context"):60110,l=r?Symbol.for("react.forward_ref"):60112,I=r?Symbol.for("react.suspense"):60113,C=r?Symbol.for("react.memo"):60115,h=r?Symbol.for("react.lazy"):60116,f="function"===typeof Symbol&&Symbol.iterator;function d(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,A=1;A<arguments.length;A++)t+="&args[]="+encodeURIComponent(arguments[A]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},p={};function E(e,t,A){this.props=e,this.context=t,this.refs=p,this.updater=A||B}function Q(){}function y(e,t,A){this.props=e,this.context=t,this.refs=p,this.updater=A||B}E.prototype.isReactComponent={},E.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error(d(85));this.updater.enqueueSetState(this,e,t,"setState")},E.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},Q.prototype=E.prototype;var v=y.prototype=new Q;v.constructor=y,n(v,E.prototype),v.isPureReactComponent=!0;var m={current:null},b=Object.prototype.hasOwnProperty,w={key:!0,ref:!0,__self:!0,__source:!0};function S(e,t,A){var n,r={},o=null,a=null;if(null!=t)for(n in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(o=""+t.key),t)b.call(t,n)&&!w.hasOwnProperty(n)&&(r[n]=t[n]);var s=arguments.length-2;if(1===s)r.children=A;else if(1<s){for(var g=Array(s),c=0;c<s;c++)g[c]=arguments[c+2];r.children=g}if(e&&e.defaultProps)for(n in s=e.defaultProps)void 0===r[n]&&(r[n]=s[n]);return{$$typeof:i,type:e,key:o,ref:a,props:r,_owner:m.current}}function F(e){return"object"===typeof e&&null!==e&&e.$$typeof===i}var R=/\/+/g,D=[];function G(e,t,A,n){if(D.length){var r=D.pop();return r.result=e,r.keyPrefix=t,r.func=A,r.context=n,r.count=0,r}return{result:e,keyPrefix:t,func:A,context:n,count:0}}function k(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>D.length&&D.push(e)}function x(e,t,A){return null==e?0:function e(t,A,n,r){var a=typeof t;"undefined"!==a&&"boolean"!==a||(t=null);var s=!1;if(null===t)s=!0;else switch(a){case"string":case"number":s=!0;break;case"object":switch(t.$$typeof){case i:case o:s=!0}}if(s)return n(r,t,""===A?"."+N(t,0):A),1;if(s=0,A=""===A?".":A+":",Array.isArray(t))for(var g=0;g<t.length;g++){var c=A+N(a=t[g],g);s+=e(a,c,n,r)}else if(null===t||"object"!==typeof t?c=null:c="function"===typeof(c=f&&t[f]||t["@@iterator"])?c:null,"function"===typeof c)for(t=c.call(t),g=0;!(a=t.next()).done;)s+=e(a=a.value,c=A+N(a,g++),n,r);else if("object"===a)throw n=""+t,Error(d(31,"[object Object]"===n?"object with keys {"+Object.keys(t).join(", ")+"}":n,""));return s}(e,"",t,A)}function N(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function U(e,t){e.func.call(e.context,t,e.count++)}function _(e,t,A){var n=e.result,r=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?M(e,n,A,(function(e){return e})):null!=e&&(F(e)&&(e=function(e,t){return{$$typeof:i,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,r+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(R,"$&/")+"/")+A)),n.push(e))}function M(e,t,A,n,r){var i="";null!=A&&(i=(""+A).replace(R,"$&/")+"/"),x(e,_,t=G(t,i,n,r)),k(t)}var O={current:null};function L(){var e=O.current;if(null===e)throw Error(d(321));return e}var T={ReactCurrentDispatcher:O,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:m,IsSomeRendererActing:{current:!1},assign:n};t.Children={map:function(e,t,A){if(null==e)return e;var n=[];return M(e,n,null,t,A),n},forEach:function(e,t,A){if(null==e)return e;x(e,U,t=G(null,null,t,A)),k(t)},count:function(e){return x(e,(function(){return null}),null)},toArray:function(e){var t=[];return M(e,t,null,(function(e){return e})),t},only:function(e){if(!F(e))throw Error(d(143));return e}},t.Component=E,t.Fragment=a,t.Profiler=g,t.PureComponent=y,t.StrictMode=s,t.Suspense=I,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=T,t.cloneElement=function(e,t,A){if(null===e||void 0===e)throw Error(d(267,e));var r=n({},e.props),o=e.key,a=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(a=t.ref,s=m.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var g=e.type.defaultProps;for(c in t)b.call(t,c)&&!w.hasOwnProperty(c)&&(r[c]=void 0===t[c]&&void 0!==g?g[c]:t[c])}var c=arguments.length-2;if(1===c)r.children=A;else if(1<c){g=Array(c);for(var u=0;u<c;u++)g[u]=arguments[u+2];r.children=g}return{$$typeof:i,type:e.type,key:o,ref:a,props:r,_owner:s}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:u,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:c,_context:e},e.Consumer=e},t.createElement=S,t.createFactory=function(e){var t=S.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=F,t.lazy=function(e){return{$$typeof:h,_ctor:e,_status:-1,_result:null}},t.memo=function(e,t){return{$$typeof:C,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return L().useCallback(e,t)},t.useContext=function(e,t){return L().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return L().useEffect(e,t)},t.useImperativeHandle=function(e,t,A){return L().useImperativeHandle(e,t,A)},t.useLayoutEffect=function(e,t){return L().useLayoutEffect(e,t)},t.useMemo=function(e,t){return L().useMemo(e,t)},t.useReducer=function(e,t,A){return L().useReducer(e,t,A)},t.useRef=function(e){return L().useRef(e)},t.useState=function(e){return L().useState(e)},t.version="16.14.0"},function(e,t,A){"use strict";e.exports=A(752)},function(e,t,A){"use strict";var n,r,i,o,a;if("undefined"===typeof window||"function"!==typeof MessageChannel){var s=null,g=null,c=function e(){if(null!==s)try{var A=t.unstable_now();s(!0,A),s=null}catch(n){throw setTimeout(e,0),n}},u=Date.now();t.unstable_now=function(){return Date.now()-u},n=function(e){null!==s?setTimeout(n,0,e):(s=e,setTimeout(c,0))},r=function(e,t){g=setTimeout(e,t)},i=function(){clearTimeout(g)},o=function(){return!1},a=t.unstable_forceFrameRate=function(){}}else{var l=window.performance,I=window.Date,C=window.setTimeout,h=window.clearTimeout;if("undefined"!==typeof console){var f=window.cancelAnimationFrame;"function"!==typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!==typeof f&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"===typeof l&&"function"===typeof l.now)t.unstable_now=function(){return l.now()};else{var d=I.now();t.unstable_now=function(){return I.now()-d}}var B=!1,p=null,E=-1,Q=5,y=0;o=function(){return t.unstable_now()>=y},a=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):Q=0<e?Math.floor(1e3/e):5};var v=new MessageChannel,m=v.port2;v.port1.onmessage=function(){if(null!==p){var e=t.unstable_now();y=e+Q;try{p(!0,e)?m.postMessage(null):(B=!1,p=null)}catch(A){throw m.postMessage(null),A}}else B=!1},n=function(e){p=e,B||(B=!0,m.postMessage(null))},r=function(e,A){E=C((function(){e(t.unstable_now())}),A)},i=function(){h(E),E=-1}}function b(e,t){var A=e.length;e.push(t);e:for(;;){var n=A-1>>>1,r=e[n];if(!(void 0!==r&&0<F(r,t)))break e;e[n]=t,e[A]=r,A=n}}function w(e){return void 0===(e=e[0])?null:e}function S(e){var t=e[0];if(void 0!==t){var A=e.pop();if(A!==t){e[0]=A;e:for(var n=0,r=e.length;n<r;){var i=2*(n+1)-1,o=e[i],a=i+1,s=e[a];if(void 0!==o&&0>F(o,A))void 0!==s&&0>F(s,o)?(e[n]=s,e[a]=A,n=a):(e[n]=o,e[i]=A,n=i);else{if(!(void 0!==s&&0>F(s,A)))break e;e[n]=s,e[a]=A,n=a}}}return t}return null}function F(e,t){var A=e.sortIndex-t.sortIndex;return 0!==A?A:e.id-t.id}var R=[],D=[],G=1,k=null,x=3,N=!1,U=!1,_=!1;function M(e){for(var t=w(D);null!==t;){if(null===t.callback)S(D);else{if(!(t.startTime<=e))break;S(D),t.sortIndex=t.expirationTime,b(R,t)}t=w(D)}}function O(e){if(_=!1,M(e),!U)if(null!==w(R))U=!0,n(L);else{var t=w(D);null!==t&&r(O,t.startTime-e)}}function L(e,A){U=!1,_&&(_=!1,i()),N=!0;var n=x;try{for(M(A),k=w(R);null!==k&&(!(k.expirationTime>A)||e&&!o());){var a=k.callback;if(null!==a){k.callback=null,x=k.priorityLevel;var s=a(k.expirationTime<=A);A=t.unstable_now(),"function"===typeof s?k.callback=s:k===w(R)&&S(R),M(A)}else S(R);k=w(R)}if(null!==k)var g=!0;else{var c=w(D);null!==c&&r(O,c.startTime-A),g=!1}return g}finally{k=null,x=n,N=!1}}function T(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var Z=a;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){U||N||(U=!0,n(L))},t.unstable_getCurrentPriorityLevel=function(){return x},t.unstable_getFirstCallbackNode=function(){return w(R)},t.unstable_next=function(e){switch(x){case 1:case 2:case 3:var t=3;break;default:t=x}var A=x;x=t;try{return e()}finally{x=A}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=Z,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var A=x;x=e;try{return t()}finally{x=A}},t.unstable_scheduleCallback=function(e,A,o){var a=t.unstable_now();if("object"===typeof o&&null!==o){var s=o.delay;s="number"===typeof s&&0<s?a+s:a,o="number"===typeof o.timeout?o.timeout:T(e)}else o=T(e),s=a;return e={id:G++,callback:A,priorityLevel:e,startTime:s,expirationTime:o=s+o,sortIndex:-1},s>a?(e.sortIndex=s,b(D,e),null===w(R)&&e===w(D)&&(_?i():_=!0,r(O,s-a))):(e.sortIndex=o,b(R,e),U||N||(U=!0,n(L))),e},t.unstable_shouldYield=function(){var e=t.unstable_now();M(e);var A=w(R);return A!==k&&null!==k&&null!==A&&null!==A.callback&&A.startTime<=e&&A.expirationTime<k.expirationTime||o()},t.unstable_wrapCallback=function(e){var t=x;return function(){var A=x;x=t;try{return e.apply(this,arguments)}finally{x=A}}}},function(e,t,A){var n=A(343),r=A(545),i=A(785),o=A(787),a=A(351),s=A(111),g=A(349),c=A(454),u="[object Object]",l=Object.prototype.hasOwnProperty;e.exports=function(e,t,A,I,C,h){var f=s(e),d=s(t),B=f?"[object Array]":a(e),p=d?"[object Array]":a(t),E=(B="[object Arguments]"==B?u:B)==u,Q=(p="[object Arguments]"==p?u:p)==u,y=B==p;if(y&&g(e)){if(!g(t))return!1;f=!0,E=!1}if(y&&!E)return h||(h=new n),f||c(e)?r(e,t,A,I,C,h):i(e,t,B,A,I,C,h);if(!(1&A)){var v=E&&l.call(e,"__wrapped__"),m=Q&&l.call(t,"__wrapped__");if(v||m){var b=v?e.value():e,w=m?t.value():t;return h||(h=new n),C(b,w,A,I,h)}}return!!y&&(h||(h=new n),o(e,t,A,I,C,h))}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,A){var n=A(345),r=Array.prototype.splice;e.exports=function(e){var t=this.__data__,A=n(t,e);return!(A<0)&&(A==t.length-1?t.pop():r.call(t,A,1),--this.size,!0)}},function(e,t,A){var n=A(345);e.exports=function(e){var t=this.__data__,A=n(t,e);return A<0?void 0:t[A][1]}},function(e,t,A){var n=A(345);e.exports=function(e){return n(this.__data__,e)>-1}},function(e,t,A){var n=A(345);e.exports=function(e,t){var A=this.__data__,r=n(A,e);return r<0?(++this.size,A.push([e,t])):A[r][1]=t,this}},function(e,t,A){var n=A(344);e.exports=function(){this.__data__=new n,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,A=t.delete(e);return this.size=t.size,A}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,A){var n=A(344),r=A(445),i=A(447);e.exports=function(e,t){var A=this.__data__;if(A instanceof n){var o=A.__data__;if(!r||o.length<199)return o.push([e,t]),this.size=++A.size,this;A=this.__data__=new i(o)}return A.set(e,t),this.size=A.size,this}},function(e,t,A){var n=A(446),r=A(767),i=A(127),o=A(544),a=/^\[object .+?Constructor\]$/,s=Function.prototype,g=Object.prototype,c=s.toString,u=g.hasOwnProperty,l=RegExp("^"+c.call(u).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!i(e)||r(e))&&(n(e)?l:a).test(o(e))}},function(e,t,A){var n=A(247),r=Object.prototype,i=r.hasOwnProperty,o=r.toString,a=n?n.toStringTag:void 0;e.exports=function(e){var t=i.call(e,a),A=e[a];try{e[a]=void 0;var n=!0}catch(s){}var r=o.call(e);return n&&(t?e[a]=A:delete e[a]),r}},function(e,t){var A=Object.prototype.toString;e.exports=function(e){return A.call(e)}},function(e,t,A){var n=A(768),r=function(){var e=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();e.exports=function(e){return!!r&&r in e}},function(e,t,A){var n=A(140)["__core-js_shared__"];e.exports=n},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,A){var n=A(771),r=A(344),i=A(445);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(i||r),string:new n}}},function(e,t,A){var n=A(772),r=A(773),i=A(774),o=A(775),a=A(776);function s(e){var t=-1,A=null==e?0:e.length;for(this.clear();++t<A;){var n=e[t];this.set(n[0],n[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=o,s.prototype.set=a,e.exports=s},function(e,t,A){var n=A(346);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,A){var n=A(346),r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var A=t[e];return"__lodash_hash_undefined__"===A?void 0:A}return r.call(t,e)?t[e]:void 0}},function(e,t,A){var n=A(346),r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:r.call(t,e)}},function(e,t,A){var n=A(346);e.exports=function(e,t){var A=this.__data__;return this.size+=this.has(e)?0:1,A[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},function(e,t,A){var n=A(347);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,A){var n=A(347);e.exports=function(e){return n(this,e).get(e)}},function(e,t,A){var n=A(347);e.exports=function(e){return n(this,e).has(e)}},function(e,t,A){var n=A(347);e.exports=function(e,t){var A=n(this,e),r=A.size;return A.set(e,t),this.size+=A.size==r?0:1,this}},function(e,t){e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t){e.exports=function(e,t){for(var A=-1,n=null==e?0:e.length;++A<n;)if(t(e[A],A,e))return!0;return!1}},function(e,t,A){var n=A(247),r=A(546),i=A(297),o=A(545),a=A(786),s=A(450),g=n?n.prototype:void 0,c=g?g.valueOf:void 0;e.exports=function(e,t,A,n,g,u,l){switch(A){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!u(new r(e),new r(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return i(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var I=a;case"[object Set]":var C=1&n;if(I||(I=s),e.size!=t.size&&!C)return!1;var h=l.get(e);if(h)return h==t;n|=2,l.set(e,t);var f=o(I(e),I(t),n,g,u,l);return l.delete(e),f;case"[object Symbol]":if(c)return c.call(e)==c.call(t)}return!1}},function(e,t){e.exports=function(e){var t=-1,A=Array(e.size);return e.forEach((function(e,n){A[++t]=[n,e]})),A}},function(e,t,A){var n=A(547),r=Object.prototype.hasOwnProperty;e.exports=function(e,t,A,i,o,a){var s=1&A,g=n(e),c=g.length;if(c!=n(t).length&&!s)return!1;for(var u=c;u--;){var l=g[u];if(!(s?l in t:r.call(t,l)))return!1}var I=a.get(e);if(I&&a.get(t))return I==t;var C=!0;a.set(e,t),a.set(t,e);for(var h=s;++u<c;){var f=e[l=g[u]],d=t[l];if(i)var B=s?i(d,f,l,t,e,a):i(f,d,l,e,t,a);if(!(void 0===B?f===d||o(f,d,A,i,a):B)){C=!1;break}h||(h="constructor"==l)}if(C&&!h){var p=e.constructor,E=t.constructor;p==E||!("constructor"in e)||!("constructor"in t)||"function"==typeof p&&p instanceof p&&"function"==typeof E&&E instanceof E||(C=!1)}return a.delete(e),a.delete(t),C}},function(e,t){e.exports=function(e,t){for(var A=-1,n=null==e?0:e.length,r=0,i=[];++A<n;){var o=e[A];t(o,A,e)&&(i[r++]=o)}return i}},function(e,t){e.exports=function(e,t){for(var A=-1,n=Array(e);++A<e;)n[A]=t(A);return n}},function(e,t,A){var n=A(216),r=A(154);e.exports=function(e){return r(e)&&"[object Arguments]"==n(e)}},function(e,t){e.exports=function(){return!1}},function(e,t,A){var n=A(216),r=A(455),i=A(154),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1,e.exports=function(e){return i(e)&&r(e.length)&&!!o[n(e)]}},function(e,t,A){var n=A(457),r=A(794),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return r(e);var t=[];for(var A in Object(e))i.call(e,A)&&"constructor"!=A&&t.push(A);return t}},function(e,t,A){var n=A(551)(Object.keys,Object);e.exports=n},function(e,t,A){var n=A(215)(A(140),"DataView");e.exports=n},function(e,t,A){var n=A(215)(A(140),"Promise");e.exports=n},function(e,t,A){var n=A(215)(A(140),"WeakMap");e.exports=n},function(e,t,A){"use strict";var n=A(799);function r(){}function i(){}i.resetWarningCache=r,e.exports=function(){function e(e,t,A,r,i,o){if(o!==n){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var A={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return A.PropTypes=A,A}},function(e,t,A){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){e.exports=function(e,t,A){return e===t||e.className===t.className&&A(e.style,t.style)&&e.width===t.width&&e.autoSize===t.autoSize&&e.cols===t.cols&&e.draggableCancel===t.draggableCancel&&e.draggableHandle===t.draggableHandle&&A(e.verticalCompact,t.verticalCompact)&&A(e.compactType,t.compactType)&&A(e.layout,t.layout)&&A(e.margin,t.margin)&&A(e.containerPadding,t.containerPadding)&&e.rowHeight===t.rowHeight&&e.maxRows===t.maxRows&&e.isBounded===t.isBounded&&e.isDraggable===t.isDraggable&&e.isResizable===t.isResizable&&e.preventCollision===t.preventCollision&&e.useCSSTransforms===t.useCSSTransforms&&e.transformScale===t.transformScale&&e.isDroppable===t.isDroppable&&A(e.resizeHandles,t.resizeHandles)&&e.onLayoutChange===t.onLayoutChange&&e.onDragStart===t.onDragStart&&e.onDrag===t.onDrag&&e.onDragStop===t.onDragStop&&e.onResizeStart===t.onResizeStart&&e.onResize===t.onResize&&e.onResizeStop===t.onResizeStop&&e.onDrop===t.onDrop&&A(e.droppingItem,t.droppingItem)&&A(e.innerRef,t.innerRef)}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=u(A(0)),r=u(A(39)),i=u(A(13)),o=A(802),a=A(806),s=A(249),g=A(554),c=u(A(61));function u(e){return e&&e.__esModule?e:{default:e}}function l(e){return(l="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function I(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function C(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?I(Object(A),!0).forEach((function(t){y(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):I(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function h(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function B(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var A,n=Q(e);if(t){var r=Q(this).constructor;A=Reflect.construct(n,arguments,r)}else A=n.apply(this,arguments);return p(this,A)}}function p(e,t){return!t||"object"!==l(t)&&"function"!==typeof t?E(e):t}function E(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Q(e){return(Q=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var v=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&d(e,t)}(l,e);var t,A,i,u=B(l);function l(){var e;h(this,l);for(var t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return y(E(e=u.call.apply(u,[this].concat(A))),"state",{resizing:null,dragging:null,className:""}),y(E(e),"currentNode",void 0),y(E(e),"onDragStart",(function(t,A){var n=A.node,r=e.props.onDragStart;if(r){var i={top:0,left:0},o=n.offsetParent;if(o){var a=o.getBoundingClientRect(),s=n.getBoundingClientRect(),c=s.left/e.props.transformScale,u=a.left/e.props.transformScale,l=s.top/e.props.transformScale,I=a.top/e.props.transformScale;i.left=c-u+o.scrollLeft,i.top=l-I+o.scrollTop,e.setState({dragging:i});var C=(0,g.calcXY)(e.getPositionParams(),i.top,i.left,e.props.w,e.props.h),h=C.x,f=C.y;return r.call(E(e),e.props.i,h,f,{e:t,node:n,newPosition:i})}}})),y(E(e),"onDrag",(function(t,A){var n=A.node,r=A.deltaX,i=A.deltaY,o=e.props,a=o.onDrag,s=o.transformScale;if(a){if(r/=s,i/=s,!e.state.dragging)throw new Error("onDrag called before onDragStart.");var c=e.state.dragging.top+i,u=e.state.dragging.left+r,l=e.props,I=l.isBounded,C=l.i,h=l.w,f=l.h,d=l.containerWidth,B=e.getPositionParams();if(I){var p=n.offsetParent;if(p){var Q=e.props,y=Q.margin,v=Q.rowHeight,m=p.clientHeight-(0,g.calcGridItemWHPx)(f,v,y[1]);c=(0,g.clamp)(c,0,m);var b=(0,g.calcGridColWidth)(B),w=d-(0,g.calcGridItemWHPx)(h,b,y[0]);u=(0,g.clamp)(u,0,w)}}var S={top:c,left:u};e.setState({dragging:S});var F=(0,g.calcXY)(B,c,u,h,f),R=F.x,D=F.y;return a.call(E(e),C,R,D,{e:t,node:n,newPosition:S})}})),y(E(e),"onDragStop",(function(t,A){var n=A.node,r=e.props.onDragStop;if(r){if(!e.state.dragging)throw new Error("onDragEnd called before onDragStart.");var i=e.props,o=i.w,a=i.h,s=i.i,c=e.state.dragging,u=c.left,l=c.top,I={top:l,left:u};e.setState({dragging:null});var C=(0,g.calcXY)(e.getPositionParams(),l,u,o,a),h=C.x,f=C.y;return r.call(E(e),s,h,f,{e:t,node:n,newPosition:I})}})),y(E(e),"onResizeStop",(function(t,A){e.onResizeHandler(t,A,"onResizeStop")})),y(E(e),"onResizeStart",(function(t,A){e.onResizeHandler(t,A,"onResizeStart")})),y(E(e),"onResize",(function(t,A){e.onResizeHandler(t,A,"onResize")})),e}return t=l,(A=[{key:"shouldComponentUpdate",value:function(e,t){if(this.props.children!==e.children)return!0;if(this.props.droppingPosition!==e.droppingPosition)return!0;var A=(0,g.calcGridItemPosition)(this.getPositionParams(this.props),this.props.x,this.props.y,this.props.w,this.props.h,this.state),n=(0,g.calcGridItemPosition)(this.getPositionParams(e),e.x,e.y,e.w,e.h,t);return!(0,s.fastPositionEqual)(A,n)||this.props.useCSSTransforms!==e.useCSSTransforms}},{key:"componentDidMount",value:function(){this.moveDroppingItem({})}},{key:"componentDidUpdate",value:function(e){this.moveDroppingItem(e)}},{key:"moveDroppingItem",value:function(e){var t=this.props.droppingPosition;if(t){var A=e.droppingPosition||{left:0,top:0},n=this.state.dragging;this.currentNode||(this.currentNode=r.default.findDOMNode(this));var i=n&&t.left!==A.left||t.top!==A.top;if(n){if(i){var o=t.left-n.left,a=t.top-n.top;this.onDrag(t.e,{node:this.currentNode,deltaX:o,deltaY:a})}}else this.onDragStart(t.e,{node:this.currentNode,deltaX:t.left,deltaY:t.top})}}},{key:"getPositionParams",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;return{cols:e.cols,containerPadding:e.containerPadding,containerWidth:e.containerWidth,margin:e.margin,maxRows:e.maxRows,rowHeight:e.rowHeight}}},{key:"createStyle",value:function(e){var t,A=this.props,n=A.usePercentages,r=A.containerWidth;return A.useCSSTransforms?t=(0,s.setTransform)(e):(t=(0,s.setTopLeft)(e),n&&(t.left=(0,s.perc)(e.left/r),t.width=(0,s.perc)(e.width/r))),t}},{key:"mixinDraggable",value:function(e,t){return n.default.createElement(o.DraggableCore,{disabled:!t,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop,handle:this.props.handle,cancel:".react-resizable-handle"+(this.props.cancel?","+this.props.cancel:""),scale:this.props.transformScale},e)}},{key:"mixinResizable",value:function(e,t,A){var r=this.props,i=r.cols,o=r.x,s=r.minW,c=r.minH,u=r.maxW,l=r.maxH,I=r.transformScale,C=r.resizeHandles,h=this.getPositionParams(),f=(0,g.calcGridItemPosition)(h,0,0,i-o,0).width,d=(0,g.calcGridItemPosition)(h,0,0,s,c),B=(0,g.calcGridItemPosition)(h,0,0,u,l),p=[d.width,d.height],E=[Math.min(B.width,f),Math.min(B.height,1/0)];return n.default.createElement(a.Resizable,{draggableOpts:{disabled:!A},className:A?void 0:"react-resizable-hide",width:t.width,height:t.height,minConstraints:p,maxConstraints:E,onResizeStop:this.onResizeStop,onResizeStart:this.onResizeStart,onResize:this.onResize,transformScale:I,resizeHandles:C},e)}},{key:"onResizeHandler",value:function(e,t,A){var n=t.node,r=t.size,i=this.props[A];if(i){var o=this.props,a=o.cols,s=o.x,c=o.y,u=o.i,l=o.maxH,I=o.minH,C=this.props,h=C.minW,f=C.maxW,d=(0,g.calcWH)(this.getPositionParams(),r.width,r.height,s,c),B=d.w,p=d.h;h=Math.max(h,1),f=Math.min(f,a-s),B=(0,g.clamp)(B,h,f),p=(0,g.clamp)(p,I,l),this.setState({resizing:"onResizeStop"===A?null:r}),i.call(this,u,B,p,{e:e,node:n,size:r})}}},{key:"render",value:function(){var e=this.props,t=e.x,A=e.y,r=e.w,i=e.h,o=e.isDraggable,a=e.isResizable,s=e.droppingPosition,u=e.useCSSTransforms,l=(0,g.calcGridItemPosition)(this.getPositionParams(),t,A,r,i,this.state),I=n.default.Children.only(this.props.children),h=n.default.cloneElement(I,{className:(0,c.default)("react-grid-item",I.props.className,this.props.className,{static:this.props.static,resizing:Boolean(this.state.resizing),"react-draggable":o,"react-draggable-dragging":Boolean(this.state.dragging),dropping:Boolean(s),cssTransforms:u}),style:C(C(C({},this.props.style),I.props.style),this.createStyle(l))});return h=this.mixinResizable(h,l,a),h=this.mixinDraggable(h,o)}}])&&f(t.prototype,A),i&&f(t,i),l}(n.default.Component);t.default=v,y(v,"propTypes",{children:i.default.element,cols:i.default.number.isRequired,containerWidth:i.default.number.isRequired,rowHeight:i.default.number.isRequired,margin:i.default.array.isRequired,maxRows:i.default.number.isRequired,containerPadding:i.default.array.isRequired,x:i.default.number.isRequired,y:i.default.number.isRequired,w:i.default.number.isRequired,h:i.default.number.isRequired,minW:function(e,t){var A=e[t];return"number"!==typeof A?new Error("minWidth not Number"):A>e.w||A>e.maxW?new Error("minWidth larger than item width/maxWidth"):void 0},maxW:function(e,t){var A=e[t];return"number"!==typeof A?new Error("maxWidth not Number"):A<e.w||A<e.minW?new Error("maxWidth smaller than item width/minWidth"):void 0},minH:function(e,t){var A=e[t];return"number"!==typeof A?new Error("minHeight not Number"):A>e.h||A>e.maxH?new Error("minHeight larger than item height/maxHeight"):void 0},maxH:function(e,t){var A=e[t];return"number"!==typeof A?new Error("maxHeight not Number"):A<e.h||A<e.minH?new Error("maxHeight smaller than item height/minHeight"):void 0},i:i.default.string.isRequired,onDragStop:i.default.func,onDragStart:i.default.func,onDrag:i.default.func,onResizeStop:i.default.func,onResizeStart:i.default.func,onResize:i.default.func,isDraggable:i.default.bool.isRequired,isResizable:i.default.bool.isRequired,isBounded:i.default.bool.isRequired,static:i.default.bool,useCSSTransforms:i.default.bool.isRequired,transformScale:i.default.number,className:i.default.string,handle:i.default.string,cancel:i.default.string,droppingPosition:i.default.shape({e:i.default.object.isRequired,left:i.default.number.isRequired,top:i.default.number.isRequired})}),y(v,"defaultProps",{className:"",cancel:"",handle:"",minH:1,minW:1,maxH:1/0,maxW:1/0,transformScale:1})},function(e,t,A){"use strict";var n=A(803),r=n.default,i=n.DraggableCore;e.exports=r,e.exports.default=r,e.exports.DraggableCore=i},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return c.default}}),t.default=void 0;var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==C(e)&&"function"!==typeof e)return{default:e};var t=I();if(t&&t.has(e))return t.get(e);var A={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var i=n?Object.getOwnPropertyDescriptor(e,r):null;i&&(i.get||i.set)?Object.defineProperty(A,r,i):A[r]=e[r]}A.default=e,t&&t.set(e,A);return A}(A(0)),r=l(A(13)),i=l(A(39)),o=l(A(61)),a=A(459),s=A(555),g=A(352),c=l(A(805)),u=l(A(556));function l(e){return e&&e.__esModule?e:{default:e}}function I(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return I=function(){return e},e}function C(e){return(C="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function h(){return(h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function f(e,t){if(null==e)return{};var A,n,r=function(e,t){if(null==e)return{};var A,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||Object.prototype.propertyIsEnumerable.call(e,A)&&(r[A]=e[A])}return r}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||function(e,t){if(!e)return;if("string"===typeof e)return B(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(e);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return B(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function p(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function E(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?p(Object(A),!0).forEach((function(t){F(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):p(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function Q(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function y(e,t,A){return t&&Q(e.prototype,t),A&&Q(e,A),e}function v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function m(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var A,n=S(e);if(t){var r=S(this).constructor;A=Reflect.construct(n,arguments,r)}else A=n.apply(this,arguments);return b(this,A)}}function b(e,t){return!t||"object"!==C(t)&&"function"!==typeof t?w(e):t}function w(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function S(e){return(S=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function F(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var R=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&v(e,t)}(A,e);var t=m(A);function A(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,A),F(w(n=t.call(this,e)),"onDragStart",(function(e,t){if((0,u.default)("Draggable: onDragStart: %j",t),!1===n.props.onStart(e,(0,s.createDraggableData)(w(n),t)))return!1;n.setState({dragging:!0,dragged:!0})})),F(w(n),"onDrag",(function(e,t){if(!n.state.dragging)return!1;(0,u.default)("Draggable: onDrag: %j",t);var A=(0,s.createDraggableData)(w(n),t),r={x:A.x,y:A.y};if(n.props.bounds){var i=r.x,o=r.y;r.x+=n.state.slackX,r.y+=n.state.slackY;var a=d((0,s.getBoundPosition)(w(n),r.x,r.y),2),g=a[0],c=a[1];r.x=g,r.y=c,r.slackX=n.state.slackX+(i-r.x),r.slackY=n.state.slackY+(o-r.y),A.x=r.x,A.y=r.y,A.deltaX=r.x-n.state.x,A.deltaY=r.y-n.state.y}if(!1===n.props.onDrag(e,A))return!1;n.setState(r)})),F(w(n),"onDragStop",(function(e,t){if(!n.state.dragging)return!1;if(!1===n.props.onStop(e,(0,s.createDraggableData)(w(n),t)))return!1;(0,u.default)("Draggable: onDragStop: %j",t);var A={dragging:!1,slackX:0,slackY:0};if(Boolean(n.props.position)){var r=n.props.position,i=r.x,o=r.y;A.x=i,A.y=o}n.setState(A)})),n.state={dragging:!1,dragged:!1,x:e.position?e.position.x:e.defaultPosition.x,y:e.position?e.position.y:e.defaultPosition.y,prevPropsPosition:E({},e.position),slackX:0,slackY:0,isElementSVG:!1},!e.position||e.onDrag||e.onStop||console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element."),n}return y(A,null,[{key:"getDerivedStateFromProps",value:function(e,t){var A=e.position,n=t.prevPropsPosition;return!A||n&&A.x===n.x&&A.y===n.y?null:((0,u.default)("Draggable: getDerivedStateFromProps %j",{position:A,prevPropsPosition:n}),{x:A.x,y:A.y,prevPropsPosition:E({},A)})}}]),y(A,[{key:"componentDidMount",value:function(){"undefined"!==typeof window.SVGElement&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}},{key:"componentWillUnmount",value:function(){this.setState({dragging:!1})}},{key:"findDOMNode",value:function(){return this.props.nodeRef?this.props.nodeRef.current:i.default.findDOMNode(this)}},{key:"render",value:function(){var e,t=this.props,A=(t.axis,t.bounds,t.children),r=t.defaultPosition,i=t.defaultClassName,g=t.defaultClassNameDragging,u=t.defaultClassNameDragged,l=t.position,I=t.positionOffset,C=(t.scale,f(t,["axis","bounds","children","defaultPosition","defaultClassName","defaultClassNameDragging","defaultClassNameDragged","position","positionOffset","scale"])),d={},B=null,p=!Boolean(l)||this.state.dragging,Q=l||r,y={x:(0,s.canDragX)(this)&&p?this.state.x:Q.x,y:(0,s.canDragY)(this)&&p?this.state.y:Q.y};this.state.isElementSVG?B=(0,a.createSVGTransform)(y,I):d=(0,a.createCSSTransform)(y,I);var v=(0,o.default)(A.props.className||"",i,(F(e={},g,this.state.dragging),F(e,u,this.state.dragged),e));return n.createElement(c.default,h({},C,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),n.cloneElement(n.Children.only(A),{className:v,style:E(E({},A.props.style),d),transform:B}))}}]),A}(n.Component);t.default=R,F(R,"displayName","Draggable"),F(R,"propTypes",E(E({},c.default.propTypes),{},{axis:r.default.oneOf(["both","x","y","none"]),bounds:r.default.oneOfType([r.default.shape({left:r.default.number,right:r.default.number,top:r.default.number,bottom:r.default.number}),r.default.string,r.default.oneOf([!1])]),defaultClassName:r.default.string,defaultClassNameDragging:r.default.string,defaultClassNameDragged:r.default.string,defaultPosition:r.default.shape({x:r.default.number,y:r.default.number}),positionOffset:r.default.shape({x:r.default.oneOfType([r.default.number,r.default.string]),y:r.default.oneOfType([r.default.number,r.default.string])}),position:r.default.shape({x:r.default.number,y:r.default.number}),className:g.dontSetMe,style:g.dontSetMe,transform:g.dontSetMe})),F(R,"defaultProps",E(E({},c.default.defaultProps),{},{axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},position:null,scale:1}))},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getPrefix=r,t.browserPrefixToKey=i,t.browserPrefixToStyle=function(e,t){return t?"-".concat(t.toLowerCase(),"-").concat(e):e},t.default=void 0;var n=["Moz","Webkit","O","ms"];function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transform";if("undefined"===typeof window||"undefined"===typeof window.document)return"";var t=window.document.documentElement.style;if(e in t)return"";for(var A=0;A<n.length;A++)if(i(e,n[A])in t)return n[A];return""}function i(e,t){return t?"".concat(t).concat(function(e){for(var t="",A=!0,n=0;n<e.length;n++)A?(t+=e[n].toUpperCase(),A=!1):"-"===e[n]?A=!0:t+=e[n];return t}(e)):e}var o=r();t.default=o},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==l(e)&&"function"!==typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var A={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var i=n?Object.getOwnPropertyDescriptor(e,r):null;i&&(i.get||i.set)?Object.defineProperty(A,r,i):A[r]=e[r]}A.default=e,t&&t.set(e,A);return A}(A(0)),r=c(A(13)),i=c(A(39)),o=A(459),a=A(555),s=A(352),g=c(A(556));function c(e){return e&&e.__esModule?e:{default:e}}function u(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e){return(l="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function I(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||function(e,t){if(!e)return;if("string"===typeof e)return C(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(e);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return C(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function h(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function B(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var A,n=Q(e);if(t){var r=Q(this).constructor;A=Reflect.construct(n,arguments,r)}else A=n.apply(this,arguments);return p(this,A)}}function p(e,t){return!t||"object"!==l(t)&&"function"!==typeof t?E(e):t}function E(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Q(e){return(Q=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var v={start:"touchstart",move:"touchmove",stop:"touchend"},m={start:"mousedown",move:"mousemove",stop:"mouseup"},b=m,w=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&d(e,t)}(c,e);var t,A,r,s=B(c);function c(){var e;h(this,c);for(var t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return y(E(e=s.call.apply(s,[this].concat(A))),"state",{dragging:!1,lastX:NaN,lastY:NaN,touchIdentifier:null}),y(E(e),"mounted",!1),y(E(e),"handleDragStart",(function(t){if(e.props.onMouseDown(t),!e.props.allowAnyClick&&"number"===typeof t.button&&0!==t.button)return!1;var A=e.findDOMNode();if(!A||!A.ownerDocument||!A.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");var n=A.ownerDocument;if(!(e.props.disabled||!(t.target instanceof n.defaultView.Node)||e.props.handle&&!(0,o.matchesSelectorAndParentsTo)(t.target,e.props.handle,A)||e.props.cancel&&(0,o.matchesSelectorAndParentsTo)(t.target,e.props.cancel,A))){"touchstart"===t.type&&t.preventDefault();var r=(0,o.getTouchIdentifier)(t);e.setState({touchIdentifier:r});var i=(0,a.getControlPosition)(t,r,E(e));if(null!=i){var s=i.x,c=i.y,u=(0,a.createCoreData)(E(e),s,c);(0,g.default)("DraggableCore: handleDragStart: %j",u),(0,g.default)("calling",e.props.onStart),!1!==e.props.onStart(t,u)&&!1!==e.mounted&&(e.props.enableUserSelectHack&&(0,o.addUserSelectStyles)(n),e.setState({dragging:!0,lastX:s,lastY:c}),(0,o.addEvent)(n,b.move,e.handleDrag),(0,o.addEvent)(n,b.stop,e.handleDragStop))}}})),y(E(e),"handleDrag",(function(t){var A=(0,a.getControlPosition)(t,e.state.touchIdentifier,E(e));if(null!=A){var n=A.x,r=A.y;if(Array.isArray(e.props.grid)){var i=n-e.state.lastX,o=r-e.state.lastY,s=I((0,a.snapToGrid)(e.props.grid,i,o),2);if(i=s[0],o=s[1],!i&&!o)return;n=e.state.lastX+i,r=e.state.lastY+o}var c=(0,a.createCoreData)(E(e),n,r);if((0,g.default)("DraggableCore: handleDrag: %j",c),!1!==e.props.onDrag(t,c)&&!1!==e.mounted)e.setState({lastX:n,lastY:r});else try{e.handleDragStop(new MouseEvent("mouseup"))}catch(l){var u=document.createEvent("MouseEvents");u.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),e.handleDragStop(u)}}})),y(E(e),"handleDragStop",(function(t){if(e.state.dragging){var A=(0,a.getControlPosition)(t,e.state.touchIdentifier,E(e));if(null!=A){var n=A.x,r=A.y,i=(0,a.createCoreData)(E(e),n,r);if(!1===e.props.onStop(t,i)||!1===e.mounted)return!1;var s=e.findDOMNode();s&&e.props.enableUserSelectHack&&(0,o.removeUserSelectStyles)(s.ownerDocument),(0,g.default)("DraggableCore: handleDragStop: %j",i),e.setState({dragging:!1,lastX:NaN,lastY:NaN}),s&&((0,g.default)("DraggableCore: Removing handlers"),(0,o.removeEvent)(s.ownerDocument,b.move,e.handleDrag),(0,o.removeEvent)(s.ownerDocument,b.stop,e.handleDragStop))}}})),y(E(e),"onMouseDown",(function(t){return b=m,e.handleDragStart(t)})),y(E(e),"onMouseUp",(function(t){return b=m,e.handleDragStop(t)})),y(E(e),"onTouchStart",(function(t){return b=v,e.handleDragStart(t)})),y(E(e),"onTouchEnd",(function(t){return b=v,e.handleDragStop(t)})),e}return t=c,(A=[{key:"componentDidMount",value:function(){this.mounted=!0;var e=this.findDOMNode();e&&(0,o.addEvent)(e,v.start,this.onTouchStart,{passive:!1})}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var e=this.findDOMNode();if(e){var t=e.ownerDocument;(0,o.removeEvent)(t,m.move,this.handleDrag),(0,o.removeEvent)(t,v.move,this.handleDrag),(0,o.removeEvent)(t,m.stop,this.handleDragStop),(0,o.removeEvent)(t,v.stop,this.handleDragStop),(0,o.removeEvent)(e,v.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,o.removeUserSelectStyles)(t)}}},{key:"findDOMNode",value:function(){return this.props.nodeRef?this.props.nodeRef.current:i.default.findDOMNode(this)}},{key:"render",value:function(){return n.cloneElement(n.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}}])&&f(t.prototype,A),r&&f(t,r),c}(n.Component);t.default=w,y(w,"displayName","DraggableCore"),y(w,"propTypes",{allowAnyClick:r.default.bool,disabled:r.default.bool,enableUserSelectHack:r.default.bool,offsetParent:function(e,t){if(e[t]&&1!==e[t].nodeType)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:r.default.arrayOf(r.default.number),handle:r.default.string,cancel:r.default.string,nodeRef:r.default.object,onStart:r.default.func,onDrag:r.default.func,onStop:r.default.func,onMouseDown:r.default.func,scale:r.default.number,className:s.dontSetMe,style:s.dontSetMe,transform:s.dontSetMe}),y(w,"defaultProps",{allowAnyClick:!1,cancel:null,disabled:!1,enableUserSelectHack:!0,offsetParent:null,handle:null,grid:null,transform:null,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1})},function(e,t,A){"use strict";e.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")},e.exports.Resizable=A(557).default,e.exports.ResizableBox=A(809).default},function(e,t,A){var n,r;window,e.exports=(n=A(0),r=A(39),function(e){var t={};function A(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,A),r.l=!0,r.exports}return A.m=e,A.c=t,A.d=function(e,t,n){A.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},A.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},A.t=function(e,t){if(1&t&&(e=A(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(A.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)A.d(n,r,function(t){return e[t]}.bind(null,r));return n},A.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return A.d(t,"a",t),t},A.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},A.p="",A(A.s=4)}([function(e,t,A){e.exports=A(5)()},function(e,t){e.exports=n},function(e,t){e.exports=r},function(e,t,A){var n;!function(){"use strict";var A={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var i=typeof n;if("string"===i||"number"===i)e.push(n);else if(Array.isArray(n)&&n.length){var o=r.apply(null,n);o&&e.push(o)}else if("object"===i)for(var a in n)A.call(n,a)&&n[a]&&e.push(a)}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},function(e,t,A){var n=A(7),r=n.default,i=n.DraggableCore;e.exports=r,e.exports.default=r,e.exports.DraggableCore=i},function(e,t,A){"use strict";var n=A(6);function r(){}function i(){}i.resetWarningCache=r,e.exports=function(){function e(e,t,A,r,i,o){if(o!==n){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var A={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return A.PropTypes=A,A}},function(e,t,A){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,A){"use strict";A.r(t);var n=A(1),r=A.n(n),i=A(0),o=A.n(i),a=A(2),s=A.n(a),g=A(3),c=A.n(g);function u(e,t){for(var A=0,n=e.length;A<n;A++)if(t.apply(t,[e[A],A,e]))return e[A]}function l(e){return"function"==typeof e||"[object Function]"===Object.prototype.toString.call(e)}function I(e){return"number"==typeof e&&!isNaN(e)}function C(e){return parseInt(e,10)}function h(e,t,A){if(e[t])return new Error("Invalid prop ".concat(t," passed to ").concat(A," - do not set this, set it on the child."))}var f=["Moz","Webkit","O","ms"];function d(e,t){return t?"".concat(t).concat(function(e){for(var t="",A=!0,n=0;n<e.length;n++)A?(t+=e[n].toUpperCase(),A=!1):"-"===e[n]?A=!0:t+=e[n];return t}(e)):e}var B=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transform";if("undefined"==typeof window||void 0===window.document)return"";var t=window.document.documentElement.style;if(e in t)return"";for(var A=0;A<f.length;A++)if(d(e,f[A])in t)return f[A];return""}();function p(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function E(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var Q="";function y(e,t){return Q||(Q=u(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],(function(t){return l(e[t])}))),!!l(e[Q])&&e[Q](t)}function v(e,t,A){var n=e;do{if(y(n,t))return!0;if(n===A)return!1;n=n.parentNode}while(n);return!1}function m(e,t,A){e&&(e.attachEvent?e.attachEvent("on"+t,A):e.addEventListener?e.addEventListener(t,A,!0):e["on"+t]=A)}function b(e,t,A){e&&(e.detachEvent?e.detachEvent("on"+t,A):e.removeEventListener?e.removeEventListener(t,A,!0):e["on"+t]=null)}function w(e){var t=e.clientHeight,A=e.ownerDocument.defaultView.getComputedStyle(e);return(t+=C(A.borderTopWidth))+C(A.borderBottomWidth)}function S(e){var t=e.clientWidth,A=e.ownerDocument.defaultView.getComputedStyle(e);return(t+=C(A.borderLeftWidth))+C(A.borderRightWidth)}function F(e){var t=e.clientHeight,A=e.ownerDocument.defaultView.getComputedStyle(e);return(t-=C(A.paddingTop))-C(A.paddingBottom)}function R(e){var t=e.clientWidth,A=e.ownerDocument.defaultView.getComputedStyle(e);return(t-=C(A.paddingLeft))-C(A.paddingRight)}function D(e,t,A){var n=e.x,r=e.y,i="translate(".concat(n).concat(A,",").concat(r).concat(A,")");if(t){var o="".concat("string"==typeof t.x?t.x:t.x+A),a="".concat("string"==typeof t.y?t.y:t.y+A);i="translate(".concat(o,", ").concat(a,")")+i}return i}function G(e){if(e){var t,A,n=e.getElementById("react-draggable-style-el");n||((n=e.createElement("style")).type="text/css",n.id="react-draggable-style-el",n.innerHTML=".react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n",n.innerHTML+=".react-draggable-transparent-selection *::selection {all: inherit;}\n",e.getElementsByTagName("head")[0].appendChild(n)),e.body&&(A="react-draggable-transparent-selection",(t=e.body).classList?t.classList.add(A):t.className.match(new RegExp("(?:^|\\s)".concat(A,"(?!\\S)")))||(t.className+=" ".concat(A)))}}function k(e){try{e&&e.body&&(t=e.body,A="react-draggable-transparent-selection",t.classList?t.classList.remove(A):t.className=t.className.replace(new RegExp("(?:^|\\s)".concat(A,"(?!\\S)"),"g"),"")),e.selection?e.selection.empty():window.getSelection().removeAllRanges()}catch(e){}var t,A}function x(){return function(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?p(A,!0).forEach((function(t){E(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):p(A).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}({touchAction:"none"},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}function N(e){return"both"===e.props.axis||"x"===e.props.axis}function U(e){return"both"===e.props.axis||"y"===e.props.axis}function _(e,t,A){var n="number"==typeof t?function(e,t){return e.targetTouches&&u(e.targetTouches,(function(e){return t===e.identifier}))||e.changedTouches&&u(e.changedTouches,(function(e){return t===e.identifier}))}(e,t):null;if("number"==typeof t&&!n)return null;var r=L(A);return function(e,t,A){var n=t===t.ownerDocument.body?{left:0,top:0}:t.getBoundingClientRect();return{x:(e.clientX+t.scrollLeft-n.left)/A,y:(e.clientY+t.scrollTop-n.top)/A}}(n||e,A.props.offsetParent||r.offsetParent||r.ownerDocument.body,A.props.scale)}function M(e,t,A){var n=e.state,r=!I(n.lastX),i=L(e);return r?{node:i,deltaX:0,deltaY:0,lastX:t,lastY:A,x:t,y:A}:{node:i,deltaX:t-n.lastX,deltaY:A-n.lastY,lastX:n.lastX,lastY:n.lastY,x:t,y:A}}function O(e,t){var A=e.props.scale;return{node:t.node,x:e.state.x+t.deltaX/A,y:e.state.y+t.deltaY/A,deltaX:t.deltaX/A,deltaY:t.deltaY/A,lastX:e.state.x,lastY:e.state.y}}function L(e){var t=s.a.findDOMNode(e);if(!t)throw new Error("<DraggableCore>: Unmounted during event!");return t}function T(e){return(T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Z(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(e){r=!0,i=e}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function H(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Y(e){return(Y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function J(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function j(e,t){return(j=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function P(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var V={start:"touchstart",move:"touchmove",stop:"touchend"},K={start:"mousedown",move:"mousemove",stop:"mouseup"},W=K,X=function(e){function t(){var e,A,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=this,r=(e=Y(t)).call.apply(e,[this].concat(o)),A=!r||"object"!==T(r)&&"function"!=typeof r?J(n):r,P(J(A),"state",{dragging:!1,lastX:NaN,lastY:NaN,touchIdentifier:null}),P(J(A),"handleDragStart",(function(e){if(A.props.onMouseDown(e),!A.props.allowAnyClick&&"number"==typeof e.button&&0!==e.button)return!1;var t=s.a.findDOMNode(J(A));if(!t||!t.ownerDocument||!t.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");var n=t.ownerDocument;if(!(A.props.disabled||!(e.target instanceof n.defaultView.Node)||A.props.handle&&!v(e.target,A.props.handle,t)||A.props.cancel&&v(e.target,A.props.cancel,t))){var r=function(e){return e.targetTouches&&e.targetTouches[0]?e.targetTouches[0].identifier:e.changedTouches&&e.changedTouches[0]?e.changedTouches[0].identifier:void 0}(e);A.setState({touchIdentifier:r});var i=_(e,r,J(A));if(null!=i){var o=i.x,a=i.y,g=M(J(A),o,a);A.props.onStart,!1!==A.props.onStart(e,g)&&(A.props.enableUserSelectHack&&G(n),A.setState({dragging:!0,lastX:o,lastY:a}),m(n,W.move,A.handleDrag),m(n,W.stop,A.handleDragStop))}}})),P(J(A),"handleDrag",(function(e){"touchmove"===e.type&&e.preventDefault();var t=_(e,A.state.touchIdentifier,J(A));if(null!=t){var n,r,i,o=t.x,a=t.y;if(Array.isArray(A.props.grid)){var s=o-A.state.lastX,g=a-A.state.lastY,c=Z((n=A.props.grid,r=s,i=g,[Math.round(r/n[0])*n[0],Math.round(i/n[1])*n[1]]),2);if(s=c[0],g=c[1],!s&&!g)return;o=A.state.lastX+s,a=A.state.lastY+g}var u=M(J(A),o,a);if(!1!==A.props.onDrag(e,u))A.setState({lastX:o,lastY:a});else try{A.handleDragStop(new MouseEvent("mouseup"))}catch(e){var l=document.createEvent("MouseEvents");l.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),A.handleDragStop(l)}}})),P(J(A),"handleDragStop",(function(e){if(A.state.dragging){var t=_(e,A.state.touchIdentifier,J(A));if(null!=t){var n=t.x,r=t.y,i=M(J(A),n,r),o=s.a.findDOMNode(J(A));o&&A.props.enableUserSelectHack&&k(o.ownerDocument),A.setState({dragging:!1,lastX:NaN,lastY:NaN}),A.props.onStop(e,i),o&&(b(o.ownerDocument,W.move,A.handleDrag),b(o.ownerDocument,W.stop,A.handleDragStop))}}})),P(J(A),"onMouseDown",(function(e){return W=K,A.handleDragStart(e)})),P(J(A),"onMouseUp",(function(e){return W=K,A.handleDragStop(e)})),P(J(A),"onTouchStart",(function(e){return W=V,A.handleDragStart(e)})),P(J(A),"onTouchEnd",(function(e){return W=V,A.handleDragStop(e)})),A}var A,n;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&j(e,t)}(t,r.a.Component),A=t,(n=[{key:"componentWillUnmount",value:function(){var e=s.a.findDOMNode(this);if(e){var t=e.ownerDocument;b(t,K.move,this.handleDrag),b(t,V.move,this.handleDrag),b(t,K.stop,this.handleDragStop),b(t,V.stop,this.handleDragStop),this.props.enableUserSelectHack&&k(t)}}},{key:"render",value:function(){return r.a.cloneElement(r.a.Children.only(this.props.children),{style:x(this.props.children.props.style),onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}}])&&H(A.prototype,n),t}();function q(e){return(q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function z(){return(z=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function $(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function ee(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?$(A,!0).forEach((function(t){oe(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):$(A).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function te(e){return(te=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ae(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ne(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function re(e,t,A){return t&&ne(e.prototype,t),A&&ne(e,A),e}function ie(e,t){return(ie=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function oe(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}P(X,"displayName","DraggableCore"),P(X,"propTypes",{allowAnyClick:o.a.bool,disabled:o.a.bool,enableUserSelectHack:o.a.bool,offsetParent:function(e,t){if(e[t]&&1!==e[t].nodeType)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:o.a.arrayOf(o.a.number),handle:o.a.string,cancel:o.a.string,onStart:o.a.func,onDrag:o.a.func,onStop:o.a.func,onMouseDown:o.a.func,scale:o.a.number,className:h,style:h,transform:h}),P(X,"defaultProps",{allowAnyClick:!1,cancel:null,disabled:!1,enableUserSelectHack:!0,offsetParent:null,handle:null,grid:null,transform:null,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1}),A.d(t,"default",(function(){return ae})),A.d(t,"DraggableCore",(function(){return X}));var ae=function(e){function t(e){var A,n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=te(t).call(this,e),A=!n||"object"!==q(n)&&"function"!=typeof n?Ae(this):n,oe(Ae(A),"onDragStart",(function(e,t){if(!1===A.props.onStart(e,O(Ae(A),t)))return!1;A.setState({dragging:!0,dragged:!0})})),oe(Ae(A),"onDrag",(function(e,t){if(!A.state.dragging)return!1;var n=O(Ae(A),t),r={x:n.x,y:n.y};if(A.props.bounds){var i=r.x,o=r.y;r.x+=A.state.slackX,r.y+=A.state.slackY;var a=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(e){r=!0,i=e}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}(function(e,t,A){if(!e.props.bounds)return[t,A];var n=e.props.bounds;n="string"==typeof n?n:function(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom}}(n);var r=L(e);if("string"==typeof n){var i,o=r.ownerDocument,a=o.defaultView;if(!((i="parent"===n?r.parentNode:o.querySelector(n))instanceof a.HTMLElement))throw new Error('Bounds selector "'+n+'" could not find an element.');var s=a.getComputedStyle(r),g=a.getComputedStyle(i);n={left:-r.offsetLeft+C(g.paddingLeft)+C(s.marginLeft),top:-r.offsetTop+C(g.paddingTop)+C(s.marginTop),right:R(i)-S(r)-r.offsetLeft+C(g.paddingRight)-C(s.marginRight),bottom:F(i)-w(r)-r.offsetTop+C(g.paddingBottom)-C(s.marginBottom)}}return I(n.right)&&(t=Math.min(t,n.right)),I(n.bottom)&&(A=Math.min(A,n.bottom)),I(n.left)&&(t=Math.max(t,n.left)),I(n.top)&&(A=Math.max(A,n.top)),[t,A]}(Ae(A),r.x,r.y),2),s=a[0],g=a[1];r.x=s,r.y=g,r.slackX=A.state.slackX+(i-r.x),r.slackY=A.state.slackY+(o-r.y),n.x=r.x,n.y=r.y,n.deltaX=r.x-A.state.x,n.deltaY=r.y-A.state.y}if(!1===A.props.onDrag(e,n))return!1;A.setState(r)})),oe(Ae(A),"onDragStop",(function(e,t){if(!A.state.dragging)return!1;if(!1===A.props.onStop(e,O(Ae(A),t)))return!1;var n={dragging:!1,slackX:0,slackY:0};if(Boolean(A.props.position)){var r=A.props.position,i=r.x,o=r.y;n.x=i,n.y=o}A.setState(n)})),A.state={dragging:!1,dragged:!1,x:e.position?e.position.x:e.defaultPosition.x,y:e.position?e.position.y:e.defaultPosition.y,prevPropsPosition:ee({},e.position),slackX:0,slackY:0,isElementSVG:!1},!e.position||e.onDrag||e.onStop||console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element."),A}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ie(e,t)}(t,r.a.Component),re(t,null,[{key:"getDerivedStateFromProps",value:function(e,t){var A=e.position,n=t.prevPropsPosition;return!A||n&&A.x===n.x&&A.y===n.y?null:{x:A.x,y:A.y,prevPropsPosition:ee({},A)}}}]),re(t,[{key:"componentDidMount",value:function(){void 0!==window.SVGElement&&s.a.findDOMNode(this)instanceof window.SVGElement&&this.setState({isElementSVG:!0})}},{key:"componentWillUnmount",value:function(){this.setState({dragging:!1})}},{key:"render",value:function(){var e,t=this.props,A=(t.axis,t.bounds,t.children),n=t.defaultPosition,i=t.defaultClassName,o=t.defaultClassNameDragging,a=t.defaultClassNameDragged,s=t.position,g=t.positionOffset,u=(t.scale,function(e,t){if(null==e)return{};var A,n,r=function(e,t){if(null==e)return{};var A,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||Object.prototype.propertyIsEnumerable.call(e,A)&&(r[A]=e[A])}return r}(t,["axis","bounds","children","defaultPosition","defaultClassName","defaultClassNameDragging","defaultClassNameDragged","position","positionOffset","scale"])),l={},I=null,C=!Boolean(s)||this.state.dragging,h=s||n,f={x:N(this)&&C?this.state.x:h.x,y:U(this)&&C?this.state.y:h.y};this.state.isElementSVG?I=function(e,t){return D(e,t,"")}(f,g):l=function(e,t){var A=D(e,t,"px");return E({},d("transform",B),A)}(f,g);var p=c()(A.props.className||"",i,(oe(e={},o,this.state.dragging),oe(e,a,this.state.dragged),e));return r.a.createElement(X,z({},u,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),r.a.cloneElement(r.a.Children.only(A),{className:p,style:ee({},A.props.style,{},l),transform:I}))}}]),t}();oe(ae,"displayName","Draggable"),oe(ae,"propTypes",ee({},X.propTypes,{axis:o.a.oneOf(["both","x","y","none"]),bounds:o.a.oneOfType([o.a.shape({left:o.a.number,right:o.a.number,top:o.a.number,bottom:o.a.number}),o.a.string,o.a.oneOf([!1])]),defaultClassName:o.a.string,defaultClassNameDragging:o.a.string,defaultClassNameDragged:o.a.string,defaultPosition:o.a.shape({x:o.a.number,y:o.a.number}),positionOffset:o.a.shape({x:o.a.oneOfType([o.a.number,o.a.string]),y:o.a.oneOfType([o.a.number,o.a.string])}),position:o.a.shape({x:o.a.number,y:o.a.number}),className:h,style:h,transform:h})),oe(ae,"defaultProps",ee({},X.defaultProps,{axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},position:null,scale:1}))}]))},function(e,t,A){"use strict";t.__esModule=!0,t.cloneElement=function(e,t){t.style&&e.props.style&&(t.style=function(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?i(A,!0).forEach((function(t){o(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):i(A).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}({},e.props.style,{},t.style));t.className&&e.props.className&&(t.className=e.props.className+" "+t.className);return r.default.cloneElement(e,t)};var n,r=(n=A(0))&&n.__esModule?n:{default:n};function i(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function o(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}},function(e,t,A){"use strict";t.__esModule=!0,t.default=void 0;var n=o(A(0)),r=o(A(13)),i=o(A(557));function o(e){return e&&e.__esModule?e:{default:e}}function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function g(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var c=function(e){var t,A;function r(){for(var t,A=arguments.length,n=new Array(A),r=0;r<A;r++)n[r]=arguments[r];return g(s(t=e.call.apply(e,[this].concat(n))||this),"state",{width:t.props.width,height:t.props.height,propsWidth:t.props.width,propsHeight:t.props.height}),g(s(t),"onResize",(function(e,A){var n=A.size;n.width,n.height;t.props.onResize?(e.persist&&e.persist(),t.setState(n,(function(){return t.props.onResize&&t.props.onResize(e,A)}))):t.setState(n)})),t}return A=e,(t=r).prototype=Object.create(A.prototype),t.prototype.constructor=t,t.__proto__=A,r.getDerivedStateFromProps=function(e,t){return t.propsWidth!==e.width||t.propsHeight!==e.height?{width:e.width,height:e.height,propsWidth:e.width,propsHeight:e.height}:null},r.prototype.render=function(){var e=this.props,t=e.handle,A=e.handleSize,r=(e.onResize,e.onResizeStart),o=e.onResizeStop,s=e.draggableOpts,g=e.minConstraints,c=e.maxConstraints,u=e.lockAspectRatio,l=e.axis,I=(e.width,e.height,e.resizeHandles),C=function(e,t){if(null==e)return{};var A,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles"]);return n.default.createElement(i.default,{handle:t,handleSize:A,width:this.state.width,height:this.state.height,onResizeStart:r,onResize:this.onResize,onResizeStop:o,draggableOpts:s,minConstraints:g,maxConstraints:c,lockAspectRatio:u,axis:l,resizeHandles:I},n.default.createElement("div",a({style:{width:this.state.width+"px",height:this.state.height+"px"}},C)))},r}(n.default.Component);t.default=c,g(c,"propTypes",{height:r.default.number,width:r.default.number}),g(c,"defaultProps",{handleSize:[20,20]})},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(A(13)),r=i(A(0));function i(e){return e&&e.__esModule?e:{default:e}}var o={className:n.default.string,style:n.default.object,width:n.default.number,autoSize:n.default.bool,cols:n.default.number,draggableCancel:n.default.string,draggableHandle:n.default.string,verticalCompact:function(e){e.verticalCompact,0},compactType:n.default.oneOf(["vertical","horizontal"]),layout:function(e){var t=e.layout;void 0!==t&&A(249).validateLayout(t,"layout")},margin:n.default.arrayOf(n.default.number),containerPadding:n.default.arrayOf(n.default.number),rowHeight:n.default.number,maxRows:n.default.number,isBounded:n.default.bool,isDraggable:n.default.bool,isResizable:n.default.bool,preventCollision:n.default.bool,useCSSTransforms:n.default.bool,transformScale:n.default.number,isDroppable:n.default.bool,resizeHandles:n.default.arrayOf(n.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),onLayoutChange:n.default.func,onDragStart:n.default.func,onDrag:n.default.func,onDragStop:n.default.func,onResizeStart:n.default.func,onResize:n.default.func,onResizeStop:n.default.func,onDrop:n.default.func,droppingItem:n.default.shape({i:n.default.string.isRequired,w:n.default.number.isRequired,h:n.default.number.isRequired}),children:function(e,t){var A=e[t],n={};r.default.Children.forEach(A,(function(e){if(n[e.key])throw new Error('Duplicate child key "'+e.key+'" found! This will cause problems in ReactGridLayout.');n[e.key]=!0}))},innerRef:n.default.any};t.default=o},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==u(e)&&"function"!==typeof e)return{default:e};var t=c();if(t&&t.has(e))return t.get(e);var A={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var i=n?Object.getOwnPropertyDescriptor(e,r):null;i&&(i.get||i.set)?Object.defineProperty(A,r,i):A[r]=e[r]}A.default=e,t&&t.set(e,A);return A}(A(0)),r=g(A(13)),i=g(A(458)),o=A(249),a=A(558),s=g(A(553));function g(e){return e&&e.__esModule?e:{default:e}}function c(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return c=function(){return e},e}function u(e){return(u="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function I(e,t){if(null==e)return{};var A,n,r=function(e,t){if(null==e)return{};var A,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||Object.prototype.propertyIsEnumerable.call(e,A)&&(r[A]=e[A])}return r}function C(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function h(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?C(Object(A),!0).forEach((function(t){v(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):C(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function B(e,t){return(B=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var A,n=y(e);if(t){var r=y(this).constructor;A=Reflect.construct(n,arguments,r)}else A=n.apply(this,arguments);return E(this,A)}}function E(e,t){return!t||"object"!==u(t)&&"function"!==typeof t?Q(e):t}function Q(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var m=function(e){return Object.prototype.toString.call(e)};function b(e,t){return null==e?null:Array.isArray(e)?e:e[t]}var w=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&B(e,t)}(c,e);var t,A,r,g=p(c);function c(){var e;f(this,c);for(var t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return v(Q(e=g.call.apply(g,[this].concat(A))),"state",e.generateInitialState()),v(Q(e),"onLayoutChange",(function(t){e.props.onLayoutChange(t,h(h({},e.props.layouts),{},v({},e.state.breakpoint,t)))})),e}return t=c,r=[{key:"getDerivedStateFromProps",value:function(e,t){if(!(0,i.default)(e.layouts,t.layouts)){var A=t.breakpoint,n=t.cols;return{layout:(0,a.findOrGenerateResponsiveLayout)(e.layouts,e.breakpoints,A,A,n,e.compactType),layouts:e.layouts}}return null}}],(A=[{key:"generateInitialState",value:function(){var e=this.props,t=e.width,A=e.breakpoints,n=e.layouts,r=e.cols,i=(0,a.getBreakpointFromWidth)(A,t),o=(0,a.getColsFromBreakpoint)(i,r),s=!1===this.props.verticalCompact?null:this.props.compactType;return{layout:(0,a.findOrGenerateResponsiveLayout)(n,A,i,i,o,s),breakpoint:i,cols:o}}},{key:"componentDidUpdate",value:function(e){this.props.width==e.width&&this.props.breakpoint===e.breakpoint&&(0,i.default)(this.props.breakpoints,e.breakpoints)&&(0,i.default)(this.props.cols,e.cols)||this.onWidthChange(e)}},{key:"onWidthChange",value:function(e){var t=this.props,A=t.breakpoints,n=t.cols,r=t.layouts,i=t.compactType,s=this.props.breakpoint||(0,a.getBreakpointFromWidth)(this.props.breakpoints,this.props.width),g=this.state.breakpoint,c=(0,a.getColsFromBreakpoint)(s,n),u=h({},r);if(g!==s||e.breakpoints!==A||e.cols!==n){g in u||(u[g]=(0,o.cloneLayout)(this.state.layout));var l=(0,a.findOrGenerateResponsiveLayout)(u,A,s,g,c,i);l=(0,o.synchronizeLayoutWithChildren)(l,this.props.children,c,i),u[s]=l,this.props.onLayoutChange(l,u),this.props.onBreakpointChange(s,c),this.setState({breakpoint:s,layout:l,cols:c})}var I=b(this.props.margin,s),C=b(this.props.containerPadding,s);this.props.onWidthChange(this.props.width,I,c,C)}},{key:"render",value:function(){var e=this.props,t=(e.breakpoint,e.breakpoints,e.cols,e.layouts,e.margin),A=e.containerPadding,r=(e.onBreakpointChange,e.onLayoutChange,e.onWidthChange,I(e,["breakpoint","breakpoints","cols","layouts","margin","containerPadding","onBreakpointChange","onLayoutChange","onWidthChange"]));return n.createElement(s.default,l({},r,{margin:b(t,this.state.breakpoint),containerPadding:b(A,this.state.breakpoint),onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))}}])&&d(t.prototype,A),r&&d(t,r),c}(n.Component);t.default=w,v(w,"propTypes",{breakpoint:r.default.string,breakpoints:r.default.object,cols:r.default.object,margin:r.default.oneOfType([r.default.array,r.default.object]),containerPadding:r.default.oneOfType([r.default.array,r.default.object]),layouts:function(e,t){if("[object Object]"!==m(e[t]))throw new Error("Layout property must be an object. Received: "+m(e[t]));Object.keys(e[t]).forEach((function(t){if(!(t in e.breakpoints))throw new Error("Each key in layouts must align with a key in breakpoints.");(0,o.validateLayout)(e.layouts[t],"layouts."+t)}))},width:r.default.number.isRequired,onBreakpointChange:r.default.func,onLayoutChange:r.default.func,onWidthChange:r.default.func}),v(w,"defaultProps",{breakpoints:{lg:1200,md:996,sm:768,xs:480,xxs:0},cols:{lg:12,md:10,sm:6,xs:4,xxs:2},layouts:{},margin:[10,10],containerPadding:{lg:null,md:null,sm:null,xs:null,xxs:null},onBreakpointChange:o.noop,onLayoutChange:o.noop,onWidthChange:o.noop})},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t,A;return A=t=function(t){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(r,t);var A=function(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var A,n=h(e);if(t){var r=h(this).constructor;A=Reflect.construct(n,arguments,r)}else A=n.apply(this,arguments);return I(this,A)}}(r);function r(){var e;c(this,r);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return f(C(e=A.call.apply(A,[this].concat(n))),"state",{width:1280}),f(C(e),"mounted",!1),f(C(e),"onWindowResize",(function(){if(e.mounted){var t=i.default.findDOMNode(C(e));t instanceof HTMLElement&&e.setState({width:t.offsetWidth})}})),e}return function(e,t,A){t&&u(e.prototype,t);A&&u(e,A)}(r,[{key:"componentDidMount",value:function(){this.mounted=!0,window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}},{key:"componentWillUnmount",value:function(){this.mounted=!1,window.removeEventListener("resize",this.onWindowResize)}},{key:"render",value:function(){var t=this.props,A=t.measureBeforeMount,r=function(e,t){if(null==e)return{};var A,n,r=function(e,t){if(null==e)return{};var A,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||Object.prototype.propertyIsEnumerable.call(e,A)&&(r[A]=e[A])}return r}(t,["measureBeforeMount"]);return A&&!this.mounted?n.createElement("div",{className:this.props.className,style:this.props.style}):n.createElement(e,g({},r,this.state))}}]),r}(n.Component),f(t,"defaultProps",{measureBeforeMount:!1}),f(t,"propTypes",{measureBeforeMount:r.default.bool}),A};var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==s(e)&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var A={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var i=n?Object.getOwnPropertyDescriptor(e,r):null;i&&(i.get||i.set)?Object.defineProperty(A,r,i):A[r]=e[r]}A.default=e,t&&t.set(e,A);return A}(A(0)),r=o(A(13)),i=o(A(39));function o(e){return e&&e.__esModule?e:{default:e}}function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(e){return(s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function g(){return(g=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function I(e,t){return!t||"object"!==s(t)&&"function"!==typeof t?C(e):t}function C(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}},function(e,t,A){var n=A(814),r=A(559),i=A(815);e.exports=function(e){return function(t,A,o){return o&&"number"!=typeof o&&r(t,A,o)&&(A=o=void 0),t=i(t),void 0===A?(A=t,t=0):A=i(A),o=void 0===o?t<A?1:-1:i(o),n(t,A,o,e)}}},function(e,t){var A=Math.ceil,n=Math.max;e.exports=function(e,t,r,i){for(var o=-1,a=n(A((t-e)/(r||1)),0),s=Array(a);a--;)s[i?a:++o]=e,e+=r;return s}},function(e,t,A){var n=A(460);e.exports=function(e){return e?(e=n(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e===e?e:0:0===e?e:0}},function(e,t,A){"use strict";var n=A(461),r=A(250),i=A(462),o=A(272),a=A(561),s=r.ucs2length,g=A(146),c=i.Validation;function u(e,t,A){var n=I.call(this,e,t,A);return n>=0?{index:n,compiling:!0}:(n=this._compilations.length,this._compilations[n]={schema:e,root:t,baseId:A},{index:n,compiling:!1})}function l(e,t,A){var n=I.call(this,e,t,A);n>=0&&this._compilations.splice(n,1)}function I(e,t,A){for(var n=0;n<this._compilations.length;n++){var r=this._compilations[n];if(r.schema==e&&r.root==t&&r.baseId==A)return n}return-1}function C(e,t){return"var pattern"+e+" = new RegExp("+r.toQuotedString(t[e])+");"}function h(e){return"var default"+e+" = defaults["+e+"];"}function f(e,t){return void 0===t[e]?"":"var refVal"+e+" = refVal["+e+"];"}function d(e){return"var customRule"+e+" = customRules["+e+"];"}function B(e,t){if(!e.length)return"";for(var A="",n=0;n<e.length;n++)A+=t(n,e);return A}e.exports=function e(t,A,I,p){var E=this,Q=this._opts,y=[void 0],v={},m=[],b={},w=[],S={},F=[];A=A||{schema:t,refVal:y,refs:v};var R=u.call(this,t,A,p),D=this._compilations[R.index];if(R.compiling)return D.callValidate=function e(){var t=D.validate,A=t.apply(this,arguments);return e.errors=t.errors,A};var G=this._formats,k=this.RULES;try{var x=U(t,A,I,p);D.validate=x;var N=D.callValidate;return N&&(N.schema=x.schema,N.errors=null,N.refs=x.refs,N.refVal=x.refVal,N.root=x.root,N.$async=x.$async,Q.sourceCode&&(N.source=x.source)),x}finally{l.call(this,t,A,p)}function U(t,o,u,l){var I=!o||o&&o.schema==t;if(o.schema!=A.schema)return e.call(E,t,o,u,l);var p,b=!0===t.$async,S=a({isTop:!0,schema:t,isRoot:I,baseId:l,root:o,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:i.MissingRef,RULES:k,validate:a,util:r,resolve:n,resolveRef:_,usePattern:L,useDefault:T,useCustomRule:Z,opts:Q,formats:G,logger:E.logger,self:E});S=B(y,f)+B(m,C)+B(w,h)+B(F,d)+S,Q.processCode&&(S=Q.processCode(S));try{p=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",S)(E,k,G,A,y,w,F,g,s,c),y[0]=p}catch(R){throw E.logger.error("Error compiling schema, function code:",S),R}return p.schema=t,p.errors=null,p.refs=v,p.refVal=y,p.root=I?p:o,b&&(p.$async=!0),!0===Q.sourceCode&&(p.source={code:S,patterns:m,defaults:w}),p}function _(t,r,i){r=n.url(t,r);var o,a,s=v[r];if(void 0!==s)return O(o=y[s],a="refVal["+s+"]");if(!i&&A.refs){var g=A.refs[r];if(void 0!==g)return O(o=A.refVal[g],a=M(r,o))}a=M(r);var c=n.call(E,U,A,r);if(void 0===c){var u=I&&I[r];u&&(c=n.inlineRef(u,Q.inlineRefs)?u:e.call(E,u,A,I,t))}if(void 0!==c)return function(e,t){var A=v[e];y[A]=t}(r,c),O(c,a);!function(e){delete v[e]}(r)}function M(e,t){var A=y.length;return y[A]=t,v[e]=A,"refVal"+A}function O(e,t){return"object"==typeof e||"boolean"==typeof e?{code:t,schema:e,inline:!0}:{code:t,$async:e&&!!e.$async}}function L(e){var t=b[e];return void 0===t&&(t=b[e]=m.length,m[t]=e),"pattern"+t}function T(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return r.toQuotedString(e);case"object":if(null===e)return"null";var t=o(e),A=S[t];return void 0===A&&(A=S[t]=w.length,w[A]=e),"default"+A}}function Z(e,t,A,n){if(!1!==E._opts.validateSchema){var r=e.definition.dependencies;if(r&&!r.every((function(e){return Object.prototype.hasOwnProperty.call(A,e)})))throw new Error("parent schema must have all required keywords: "+r.join(","));var i=e.definition.validateSchema;if(i)if(!i(t)){var o="keyword schema is invalid: "+E.errorsText(i.errors);if("log"!=E._opts.validateSchema)throw new Error(o);E.logger.error(o)}}var a,s=e.definition.compile,g=e.definition.inline,c=e.definition.macro;if(s)a=s.call(E,t,A,n);else if(c)a=c.call(E,t,A,n),!1!==Q.validateSchema&&E.validateSchema(a,!0);else if(g)a=g.call(E,n,e.keyword,t,A);else if(!(a=e.definition.validate))return;if(void 0===a)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var u=F.length;return F[u]=a,{code:"customRule"+u,validate:a}}}},function(e,t,A){!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];if(t.length>1){t[0]=t[0].slice(0,-1);for(var n=t.length-1,r=1;r<n;++r)t[r]=t[r].slice(1,-1);return t[n]=t[n].slice(1),t.join("")}return t[0]}function A(e){return"(?:"+e+")"}function n(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function r(e){return e.toUpperCase()}function i(e){var n=t("[0-9]","[A-Fa-f]"),r=A(A("%[EFef]"+n+"%"+n+n+"%"+n+n)+"|"+A("%[89A-Fa-f]"+n+"%"+n+n)+"|"+A("%"+n+n)),i="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",o=t("[\\:\\/\\?\\#\\[\\]\\@]",i),a=e?"[\\uE000-\\uF8FF]":"[]",s=t("[A-Za-z]","[0-9]","[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),g=A("[A-Za-z]"+t("[A-Za-z]","[0-9]","[\\+\\-\\.]")+"*"),c=A(A(r+"|"+t(s,i,"[\\:]"))+"*"),u=(A(A("25[0-5]")+"|"+A("2[0-4][0-9]")+"|"+A("1[0-9][0-9]")+"|"+A("[1-9][0-9]")+"|[0-9]"),A(A("25[0-5]")+"|"+A("2[0-4][0-9]")+"|"+A("1[0-9][0-9]")+"|"+A("0?[1-9][0-9]")+"|0?0?[0-9]")),l=A(u+"\\."+u+"\\."+u+"\\."+u),I=A(n+"{1,4}"),C=A(A(I+"\\:"+I)+"|"+l),h=A(A(I+"\\:")+"{6}"+C),f=A("\\:\\:"+A(I+"\\:")+"{5}"+C),d=A(A(I)+"?\\:\\:"+A(I+"\\:")+"{4}"+C),B=A(A(A(I+"\\:")+"{0,1}"+I)+"?\\:\\:"+A(I+"\\:")+"{3}"+C),p=A(A(A(I+"\\:")+"{0,2}"+I)+"?\\:\\:"+A(I+"\\:")+"{2}"+C),E=A(A(A(I+"\\:")+"{0,3}"+I)+"?\\:\\:"+I+"\\:"+C),Q=A(A(A(I+"\\:")+"{0,4}"+I)+"?\\:\\:"+C),y=A(A(A(I+"\\:")+"{0,5}"+I)+"?\\:\\:"+I),v=A(A(A(I+"\\:")+"{0,6}"+I)+"?\\:\\:"),m=A([h,f,d,B,p,E,Q,y,v].join("|")),b=A(A(s+"|"+r)+"+"),w=(A(m+"\\%25"+b),A(m+A("\\%25|\\%(?!"+n+"{2})")+b)),S=A("[vV]"+n+"+\\."+t(s,i,"[\\:]")+"+"),F=A("\\["+A(w+"|"+m+"|"+S)+"\\]"),R=A(A(r+"|"+t(s,i))+"*"),D=A(F+"|"+l+"(?!"+R+")|"+R),G=A("[0-9]*"),k=A(A(c+"@")+"?"+D+A("\\:"+G)+"?"),x=A(r+"|"+t(s,i,"[\\:\\@]")),N=A(x+"*"),U=A(x+"+"),_=A(A(r+"|"+t(s,i,"[\\@]"))+"+"),M=A(A("\\/"+N)+"*"),O=A("\\/"+A(U+M)+"?"),L=A(_+M),T=A(U+M),Z="(?!"+x+")",H=(A(M+"|"+O+"|"+L+"|"+T+"|"+Z),A(A(x+"|"+t("[\\/\\?]",a))+"*")),Y=A(A(x+"|[\\/\\?]")+"*"),J=A(A("\\/\\/"+k+M)+"|"+O+"|"+T+"|"+Z),j=A(g+"\\:"+J+A("\\?"+H)+"?"+A("\\#"+Y)+"?"),P=A(A("\\/\\/"+k+M)+"|"+O+"|"+L+"|"+Z),V=A(P+A("\\?"+H)+"?"+A("\\#"+Y)+"?");return A(j+"|"+V),A(g+"\\:"+J+A("\\?"+H)+"?"),A(A("\\/\\/("+A("("+c+")@")+"?("+D+")"+A("\\:("+G+")")+"?)")+"?("+M+"|"+O+"|"+T+"|"+Z+")"),A("\\?("+H+")"),A("\\#("+Y+")"),A(A("\\/\\/("+A("("+c+")@")+"?("+D+")"+A("\\:("+G+")")+"?)")+"?("+M+"|"+O+"|"+L+"|"+Z+")"),A("\\?("+H+")"),A("\\#("+Y+")"),A(A("\\/\\/("+A("("+c+")@")+"?("+D+")"+A("\\:("+G+")")+"?)")+"?("+M+"|"+O+"|"+T+"|"+Z+")"),A("\\?("+H+")"),A("\\#("+Y+")"),A("("+c+")@"),A("\\:("+G+")"),{NOT_SCHEME:new RegExp(t("[^]","[A-Za-z]","[0-9]","[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",s,i),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",s,i),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",s,i),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",s,i),"g"),NOT_QUERY:new RegExp(t("[^\\%]",s,i,"[\\:\\@\\/\\?]",a),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",s,i,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",s,i),"g"),UNRESERVED:new RegExp(s,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",s,o),"g"),PCT_ENCODED:new RegExp(r,"g"),IPV4ADDRESS:new RegExp("^("+l+")$"),IPV6ADDRESS:new RegExp("^\\[?("+m+")"+A(A("\\%25|\\%(?!"+n+"{2})")+"("+b+")")+"?\\]?$")}}var o=i(!1),a=i(!0),s=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return A}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},g=2147483647,c=/^xn--/,u=/[^\0-\x7E]/,l=/[\x2E\u3002\uFF0E\uFF61]/g,I={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},C=Math.floor,h=String.fromCharCode;function f(e){throw new RangeError(I[e])}function d(e,t){var A=e.split("@"),n="";A.length>1&&(n=A[0]+"@",e=A[1]);var r=function(e,t){for(var A=[],n=e.length;n--;)A[n]=t(e[n]);return A}((e=e.replace(l,".")).split("."),t).join(".");return n+r}function B(e){for(var t=[],A=0,n=e.length;A<n;){var r=e.charCodeAt(A++);if(r>=55296&&r<=56319&&A<n){var i=e.charCodeAt(A++);56320==(64512&i)?t.push(((1023&r)<<10)+(1023&i)+65536):(t.push(r),A--)}else t.push(r)}return t}var p=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},E=function(e,t,A){var n=0;for(e=A?C(e/700):e>>1,e+=C(e/t);e>455;n+=36)e=C(e/35);return C(n+36*e/(e+38))},Q=function(e){var t,A=[],n=e.length,r=0,i=128,o=72,a=e.lastIndexOf("-");a<0&&(a=0);for(var s=0;s<a;++s)e.charCodeAt(s)>=128&&f("not-basic"),A.push(e.charCodeAt(s));for(var c=a>0?a+1:0;c<n;){for(var u=r,l=1,I=36;;I+=36){c>=n&&f("invalid-input");var h=(t=e.charCodeAt(c++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:36;(h>=36||h>C((g-r)/l))&&f("overflow"),r+=h*l;var d=I<=o?1:I>=o+26?26:I-o;if(h<d)break;var B=36-d;l>C(g/B)&&f("overflow"),l*=B}var p=A.length+1;o=E(r-u,p,0==u),C(r/p)>g-i&&f("overflow"),i+=C(r/p),r%=p,A.splice(r++,0,i)}return String.fromCodePoint.apply(String,A)},y=function(e){var t=[],A=(e=B(e)).length,n=128,r=0,i=72,o=!0,a=!1,s=void 0;try{for(var c,u=e[Symbol.iterator]();!(o=(c=u.next()).done);o=!0){var l=c.value;l<128&&t.push(h(l))}}catch(T){a=!0,s=T}finally{try{!o&&u.return&&u.return()}finally{if(a)throw s}}var I=t.length,d=I;for(I&&t.push("-");d<A;){var Q=g,y=!0,v=!1,m=void 0;try{for(var b,w=e[Symbol.iterator]();!(y=(b=w.next()).done);y=!0){var S=b.value;S>=n&&S<Q&&(Q=S)}}catch(T){v=!0,m=T}finally{try{!y&&w.return&&w.return()}finally{if(v)throw m}}var F=d+1;Q-n>C((g-r)/F)&&f("overflow"),r+=(Q-n)*F,n=Q;var R=!0,D=!1,G=void 0;try{for(var k,x=e[Symbol.iterator]();!(R=(k=x.next()).done);R=!0){var N=k.value;if(N<n&&++r>g&&f("overflow"),N==n){for(var U=r,_=36;;_+=36){var M=_<=i?1:_>=i+26?26:_-i;if(U<M)break;var O=U-M,L=36-M;t.push(h(p(M+O%L,0))),U=C(O/L)}t.push(h(p(U,0))),i=E(r,F,d==I),r=0,++d}}}catch(T){D=!0,G=T}finally{try{!R&&x.return&&x.return()}finally{if(D)throw G}}++r,++n}return t.join("")},v=function(e){return d(e,(function(e){return u.test(e)?"xn--"+y(e):e}))},m=function(e){return d(e,(function(e){return c.test(e)?Q(e.slice(4).toLowerCase()):e}))},b={};function w(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function S(e){for(var t="",A=0,n=e.length;A<n;){var r=parseInt(e.substr(A+1,2),16);if(r<128)t+=String.fromCharCode(r),A+=3;else if(r>=194&&r<224){if(n-A>=6){var i=parseInt(e.substr(A+4,2),16);t+=String.fromCharCode((31&r)<<6|63&i)}else t+=e.substr(A,6);A+=6}else if(r>=224){if(n-A>=9){var o=parseInt(e.substr(A+4,2),16),a=parseInt(e.substr(A+7,2),16);t+=String.fromCharCode((15&r)<<12|(63&o)<<6|63&a)}else t+=e.substr(A,9);A+=9}else t+=e.substr(A,3),A+=3}return t}function F(e,t){function A(e){var A=S(e);return A.match(t.UNRESERVED)?A:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,A).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,A).replace(t.NOT_USERINFO,w).replace(t.PCT_ENCODED,r)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,A).toLowerCase().replace(t.NOT_HOST,w).replace(t.PCT_ENCODED,r)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,A).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,w).replace(t.PCT_ENCODED,r)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,A).replace(t.NOT_QUERY,w).replace(t.PCT_ENCODED,r)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,A).replace(t.NOT_FRAGMENT,w).replace(t.PCT_ENCODED,r)),e}function R(e){return e.replace(/^0*(.*)/,"$1")||"0"}function D(e,t){var A=e.match(t.IPV4ADDRESS)||[],n=s(A,2)[1];return n?n.split(".").map(R).join("."):e}function G(e,t){var A=e.match(t.IPV6ADDRESS)||[],n=s(A,3),r=n[1],i=n[2];if(r){for(var o=r.toLowerCase().split("::").reverse(),a=s(o,2),g=a[0],c=a[1],u=c?c.split(":").map(R):[],l=g.split(":").map(R),I=t.IPV4ADDRESS.test(l[l.length-1]),C=I?7:8,h=l.length-C,f=Array(C),d=0;d<C;++d)f[d]=u[d]||l[h+d]||"";I&&(f[C-1]=D(f[C-1],t));var B=f.reduce((function(e,t,A){if(!t||"0"===t){var n=e[e.length-1];n&&n.index+n.length===A?n.length++:e.push({index:A,length:1})}return e}),[]).sort((function(e,t){return t.length-e.length}))[0],p=void 0;if(B&&B.length>1){var E=f.slice(0,B.index),Q=f.slice(B.index+B.length);p=E.join(":")+"::"+Q.join(":")}else p=f.join(":");return i&&(p+="%"+i),p}return e}var k=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,x=void 0==="".match(/(){0}/)[1];function N(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A={},n=!1!==t.iri?a:o;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var r=e.match(k);if(r){x?(A.scheme=r[1],A.userinfo=r[3],A.host=r[4],A.port=parseInt(r[5],10),A.path=r[6]||"",A.query=r[7],A.fragment=r[8],isNaN(A.port)&&(A.port=r[5])):(A.scheme=r[1]||void 0,A.userinfo=-1!==e.indexOf("@")?r[3]:void 0,A.host=-1!==e.indexOf("//")?r[4]:void 0,A.port=parseInt(r[5],10),A.path=r[6]||"",A.query=-1!==e.indexOf("?")?r[7]:void 0,A.fragment=-1!==e.indexOf("#")?r[8]:void 0,isNaN(A.port)&&(A.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?r[4]:void 0)),A.host&&(A.host=G(D(A.host,n),n)),void 0!==A.scheme||void 0!==A.userinfo||void 0!==A.host||void 0!==A.port||A.path||void 0!==A.query?void 0===A.scheme?A.reference="relative":void 0===A.fragment?A.reference="absolute":A.reference="uri":A.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==A.reference&&(A.error=A.error||"URI is not a "+t.reference+" reference.");var i=b[(t.scheme||A.scheme||"").toLowerCase()];if(t.unicodeSupport||i&&i.unicodeSupport)F(A,n);else{if(A.host&&(t.domainHost||i&&i.domainHost))try{A.host=v(A.host.replace(n.PCT_ENCODED,S).toLowerCase())}catch(s){A.error=A.error||"Host's domain name can not be converted to ASCII via punycode: "+s}F(A,o)}i&&i.parse&&i.parse(A,t)}else A.error=A.error||"URI can not be parsed.";return A}function U(e,t){var A=!1!==t.iri?a:o,n=[];return void 0!==e.userinfo&&(n.push(e.userinfo),n.push("@")),void 0!==e.host&&n.push(G(D(String(e.host),A),A).replace(A.IPV6ADDRESS,(function(e,t,A){return"["+t+(A?"%25"+A:"")+"]"}))),"number"===typeof e.port&&(n.push(":"),n.push(e.port.toString(10))),n.length?n.join(""):void 0}var _=/^\.\.?\//,M=/^\/\.(\/|$)/,O=/^\/\.\.(\/|$)/,L=/^\/?(?:.|\n)*?(?=\/|$)/;function T(e){for(var t=[];e.length;)if(e.match(_))e=e.replace(_,"");else if(e.match(M))e=e.replace(M,"/");else if(e.match(O))e=e.replace(O,"/"),t.pop();else if("."===e||".."===e)e="";else{var A=e.match(L);if(!A)throw new Error("Unexpected dot segment condition");var n=A[0];e=e.slice(n.length),t.push(n)}return t.join("")}function Z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.iri?a:o,n=[],r=b[(t.scheme||e.scheme||"").toLowerCase()];if(r&&r.serialize&&r.serialize(e,t),e.host)if(A.IPV6ADDRESS.test(e.host));else if(t.domainHost||r&&r.domainHost)try{e.host=t.iri?m(e.host):v(e.host.replace(A.PCT_ENCODED,S).toLowerCase())}catch(g){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+g}F(e,A),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var i=U(e,t);if(void 0!==i&&("suffix"!==t.reference&&n.push("//"),n.push(i),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var s=e.path;t.absolutePath||r&&r.absolutePath||(s=T(s)),void 0===i&&(s=s.replace(/^\/\//,"/%2F")),n.push(s)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function H(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments[3],r={};return n||(e=N(Z(e,A),A),t=N(Z(t,A),A)),!(A=A||{}).tolerant&&t.scheme?(r.scheme=t.scheme,r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=T(t.path||""),r.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=T(t.path||""),r.query=t.query):(t.path?("/"===t.path.charAt(0)?r.path=T(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?r.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:r.path=t.path:r.path="/"+t.path,r.path=T(r.path)),r.query=t.query):(r.path=e.path,void 0!==t.query?r.query=t.query:r.query=e.query),r.userinfo=e.userinfo,r.host=e.host,r.port=e.port),r.scheme=e.scheme),r.fragment=t.fragment,r}function Y(e,t){return e&&e.toString().replace(t&&t.iri?a.PCT_ENCODED:o.PCT_ENCODED,S)}var J={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){return e.port!==("https"!==String(e.scheme).toLowerCase()?80:443)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},j={scheme:"https",domainHost:J.domainHost,parse:J.parse,serialize:J.serialize},P={},V="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",K="[0-9A-Fa-f]",W=A(A("%[EFef]"+K+"%"+K+K+"%"+K+K)+"|"+A("%[89A-Fa-f]"+K+"%"+K+K)+"|"+A("%"+K+K)),X=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),q=new RegExp(V,"g"),z=new RegExp(W,"g"),$=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',X),"g"),ee=new RegExp(t("[^]",V,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),te=ee;function Ae(e){var t=S(e);return t.match(q)?t:e}var ne={scheme:"mailto",parse:function(e,t){var A=e,n=A.to=A.path?A.path.split(","):[];if(A.path=void 0,A.query){for(var r=!1,i={},o=A.query.split("&"),a=0,s=o.length;a<s;++a){var g=o[a].split("=");switch(g[0]){case"to":for(var c=g[1].split(","),u=0,l=c.length;u<l;++u)n.push(c[u]);break;case"subject":A.subject=Y(g[1],t);break;case"body":A.body=Y(g[1],t);break;default:r=!0,i[Y(g[0],t)]=Y(g[1],t)}}r&&(A.headers=i)}A.query=void 0;for(var I=0,C=n.length;I<C;++I){var h=n[I].split("@");if(h[0]=Y(h[0]),t.unicodeSupport)h[1]=Y(h[1],t).toLowerCase();else try{h[1]=v(Y(h[1],t).toLowerCase())}catch(f){A.error=A.error||"Email address's domain name can not be converted to ASCII via punycode: "+f}n[I]=h.join("@")}return A},serialize:function(e,t){var A,n=e,i=void 0!==(A=e.to)&&null!==A?A instanceof Array?A:"number"!==typeof A.length||A.split||A.setInterval||A.call?[A]:Array.prototype.slice.call(A):[];if(i){for(var o=0,a=i.length;o<a;++o){var s=String(i[o]),g=s.lastIndexOf("@"),c=s.slice(0,g).replace(z,Ae).replace(z,r).replace($,w),u=s.slice(g+1);try{u=t.iri?m(u):v(Y(u,t).toLowerCase())}catch(h){n.error=n.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+h}i[o]=c+"@"+u}n.path=i.join(",")}var l=e.headers=e.headers||{};e.subject&&(l.subject=e.subject),e.body&&(l.body=e.body);var I=[];for(var C in l)l[C]!==P[C]&&I.push(C.replace(z,Ae).replace(z,r).replace(ee,w)+"="+l[C].replace(z,Ae).replace(z,r).replace(te,w));return I.length&&(n.query=I.join("&")),n}},re=/^([^\:]+)\:(.*)/,ie={scheme:"urn",parse:function(e,t){var A=e.path&&e.path.match(re),n=e;if(A){var r=t.scheme||n.scheme||"urn",i=A[1].toLowerCase(),o=A[2],a=r+":"+(t.nid||i),s=b[a];n.nid=i,n.nss=o,n.path=void 0,s&&(n=s.parse(n,t))}else n.error=n.error||"URN can not be parsed.";return n},serialize:function(e,t){var A=t.scheme||e.scheme||"urn",n=e.nid,r=A+":"+(t.nid||n),i=b[r];i&&(e=i.serialize(e,t));var o=e,a=e.nss;return o.path=(n||t.nid)+":"+a,o}},oe=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,ae={scheme:"urn:uuid",parse:function(e,t){var A=e;return A.uuid=A.nss,A.nss=void 0,t.tolerant||A.uuid&&A.uuid.match(oe)||(A.error=A.error||"UUID is not valid."),A},serialize:function(e,t){var A=e;return A.nss=(e.uuid||"").toLowerCase(),A}};b[J.scheme]=J,b[j.scheme]=j,b[ne.scheme]=ne,b[ie.scheme]=ie,b[ae.scheme]=ae,e.SCHEMES=b,e.pctEncChar=w,e.pctDecChars=S,e.parse=N,e.removeDotSegments=T,e.serialize=Z,e.resolveComponents=H,e.resolve=function(e,t,A){var n=function(e,t){var A=e;if(t)for(var n in t)A[n]=t[n];return A}({scheme:"null"},A);return Z(H(N(e,n),N(t,n),n,!0),n)},e.normalize=function(e,t){return"string"===typeof e?e=Z(N(e,t),t):"object"===n(e)&&(e=N(Z(e,t),t)),e},e.equal=function(e,t,A){return"string"===typeof e?e=Z(N(e,A),A):"object"===n(e)&&(e=Z(e,A)),"string"===typeof t?t=Z(N(t,A),A):"object"===n(t)&&(t=Z(t,A)),e===t},e.escapeComponent=function(e,t){return e&&e.toString().replace(t&&t.iri?a.ESCAPE:o.ESCAPE,w)},e.unescapeComponent=Y,Object.defineProperty(e,"__esModule",{value:!0})}(t)},function(e,t,A){"use strict";e.exports=function(e){for(var t,A=0,n=e.length,r=0;r<n;)A++,(t=e.charCodeAt(r++))>=55296&&t<=56319&&r<n&&56320==(64512&(t=e.charCodeAt(r)))&&r++;return A}},function(e,t,A){"use strict";var n=e.exports=function(e,t,A){"function"==typeof t&&(A=t,t={}),function e(t,A,r,i,o,a,s,g,c,u){if(i&&"object"==typeof i&&!Array.isArray(i)){for(var l in A(i,o,a,s,g,c,u),i){var I=i[l];if(Array.isArray(I)){if(l in n.arrayKeywords)for(var C=0;C<I.length;C++)e(t,A,r,I[C],o+"/"+l+"/"+C,a,o,l,i,C)}else if(l in n.propsKeywords){if(I&&"object"==typeof I)for(var h in I)e(t,A,r,I[h],o+"/"+l+"/"+h.replace(/~/g,"~0").replace(/\//g,"~1"),a,o,l,i,h)}else(l in n.keywords||t.allKeys&&!(l in n.skipKeywords))&&e(t,A,r,I,o+"/"+l,a,o,l,i)}r(i,o,a,s,g,c,u)}}(t,"function"==typeof(A=t.cb||A)?A:A.pre||function(){},A.post||function(){},e,"",e)};n.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},n.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},n.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},n.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},function(e,t,A){"use strict";var n=e.exports=function(){this._cache={}};n.prototype.put=function(e,t){this._cache[e]=t},n.prototype.get=function(e){return this._cache[e]},n.prototype.del=function(e){delete this._cache[e]},n.prototype.clear=function(){this._cache={}}},function(e,t,A){"use strict";var n=A(250),r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31],o=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,a=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,s=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,g=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,c=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,u=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,l=/^(?:\/(?:[^~/]|~0|~1)*)*$/,I=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,C=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function h(e){return e="full"==e?"full":"fast",n.copy(h[e])}function f(e){var t=e.match(r);if(!t)return!1;var A=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(2==n&&function(e){return e%4===0&&(e%100!==0||e%400===0)}(A)?29:i[n])}function d(e,t){var A=e.match(o);if(!A)return!1;var n=A[1],r=A[2],i=A[3],a=A[5];return(n<=23&&r<=59&&i<=59||23==n&&59==r&&60==i)&&(!t||a)}e.exports=h,h.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":g,url:c,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:Q,uuid:u,"json-pointer":l,"json-pointer-uri-fragment":I,"relative-json-pointer":C},h.full={date:f,time:d,"date-time":function(e){var t=e.split(B);return 2==t.length&&f(t[0])&&d(t[1],!0)},uri:function(e){return p.test(e)&&s.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":g,url:c,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:Q,uuid:u,"json-pointer":l,"json-pointer-uri-fragment":I,"relative-json-pointer":C};var B=/t|\s/i;var p=/\/|:/;var E=/[^\\]\\Z/;function Q(e){if(E.test(e))return!1;try{return new RegExp(e),!0}catch(t){return!1}}},function(e,t,A){"use strict";var n=A(823),r=A(250).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=r(t),e.types=r(["number","integer","string","array","object","boolean","null"]),e.forEach((function(A){A.rules=A.rules.map((function(A){var r;if("object"==typeof A){var i=Object.keys(A)[0];r=A[i],A=i,r.forEach((function(A){t.push(A),e.all[A]=!0}))}return t.push(A),e.all[A]={keyword:A,code:n[A],implements:r}})),e.all.$comment={keyword:"$comment",code:n.$comment},A.type&&(e.types[A.type]=A)})),e.keywords=r(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},function(e,t,A){"use strict";e.exports={$ref:A(824),allOf:A(825),anyOf:A(826),$comment:A(827),const:A(828),contains:A(829),dependencies:A(830),enum:A(831),format:A(832),if:A(833),items:A(834),maximum:A(562),minimum:A(562),maxItems:A(563),minItems:A(563),maxLength:A(564),minLength:A(564),maxProperties:A(565),minProperties:A(565),multipleOf:A(835),not:A(836),oneOf:A(837),pattern:A(838),properties:A(839),propertyNames:A(840),required:A(841),uniqueItems:A(842),validate:A(561)}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n,r,i=" ",o=e.level,a=e.dataLevel,s=e.schema[t],g=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),l="valid"+o;if("#"==s||"#/"==s)e.isRoot?(n=e.async,r="validate"):(n=!0===e.root.schema.$async,r="root.refVal[0]");else{var I=e.resolveRef(e.baseId,s,e.isRoot);if(void 0===I){var C=e.MissingRefError.message(e.baseId,s);if("fail"==e.opts.missingRefs){e.logger.error(C),(B=B||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { ref: '"+e.util.escapeQuotes(s)+"' } ",!1!==e.opts.messages&&(i+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(s)+"' "),e.opts.verbose&&(i+=" , schema: "+e.util.toQuotedString(s)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),i+=" } "):i+=" {} ";var h=i;i=B.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+h+"]); ":i+=" validate.errors = ["+h+"]; return false; ":i+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(i+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,s,C);e.logger.warn(C),c&&(i+=" if (true) { ")}}else if(I.inline){var f=e.util.copy(e);f.level++;var d="valid"+f.level;f.schema=I.schema,f.schemaPath="",f.errSchemaPath=s,i+=" "+e.validate(f).replace(/validate\.schema/g,I.code)+" ",c&&(i+=" if ("+d+") { ")}else n=!0===I.$async||e.async&&!1!==I.$async,r=I.code}if(r){var B;(B=B||[]).push(i),i="",e.opts.passContext?i+=" "+r+".call(this, ":i+=" "+r+"( ",i+=" "+u+", (dataPath || '')",'""'!=e.errorPath&&(i+=" + "+e.errorPath);var p=i+=" , "+(a?"data"+(a-1||""):"parentData")+" , "+(a?e.dataPathArr[a]:"parentDataProperty")+", rootData) ";if(i=B.pop(),n){if(!e.async)throw new Error("async schema referenced by sync schema");c&&(i+=" var "+l+"; "),i+=" try { await "+p+"; ",c&&(i+=" "+l+" = true; "),i+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",c&&(i+=" "+l+" = false; "),i+=" } ",c&&(i+=" if ("+l+") { ")}else i+=" if (!"+p+") { if (vErrors === null) vErrors = "+r+".errors; else vErrors = vErrors.concat("+r+".errors); errors = vErrors.length; } ",c&&(i+=" else { ")}return i}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.schema[t],i=e.schemaPath+e.util.getProperty(t),o=e.errSchemaPath+"/"+t,a=!e.opts.allErrors,s=e.util.copy(e),g="";s.level++;var c="valid"+s.level,u=s.baseId,l=!0,I=r;if(I)for(var C,h=-1,f=I.length-1;h<f;)C=I[h+=1],(e.opts.strictKeywords?"object"==typeof C&&Object.keys(C).length>0:e.util.schemaHasRules(C,e.RULES.all))&&(l=!1,s.schema=C,s.schemaPath=i+"["+h+"]",s.errSchemaPath=o+"/"+h,n+=" "+e.validate(s)+" ",s.baseId=u,a&&(n+=" if ("+c+") { ",g+="}"));return a&&(n+=l?" if (true) { ":" "+g.slice(0,-1)+" "),n=e.util.cleanUpCode(n)}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.level,i=e.dataLevel,o=e.schema[t],a=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,c="data"+(i||""),u="valid"+r,l="errs__"+r,I=e.util.copy(e),C="";I.level++;var h="valid"+I.level;if(o.every((function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0:e.util.schemaHasRules(t,e.RULES.all)}))){var f=I.baseId;n+=" var "+l+" = errors; var "+u+" = false; ";var d=e.compositeRule;e.compositeRule=I.compositeRule=!0;var B=o;if(B)for(var p,E=-1,Q=B.length-1;E<Q;)p=B[E+=1],I.schema=p,I.schemaPath=a+"["+E+"]",I.errSchemaPath=s+"/"+E,n+=" "+e.validate(I)+" ",I.baseId=f,n+=" "+u+" = "+u+" || "+h+"; if (!"+u+") { ",C+="}";e.compositeRule=I.compositeRule=d,n+=" "+C+" if (!"+u+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&g&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" } else { errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } "),n=e.util.cleanUpCode(n)}else g&&(n+=" if (true) { ");return n}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.schema[t],i=e.errSchemaPath+"/"+t,o=(e.opts.allErrors,e.util.toQuotedString(r));return!0===e.opts.$comment?n+=" console.log("+o+");":"function"==typeof e.opts.$comment&&(n+=" self._opts.$comment("+o+", "+e.util.toQuotedString(i)+", validate.root.schema);"),n}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.level,i=e.dataLevel,o=e.schema[t],a=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,c="data"+(i||""),u="valid"+r,l=e.opts.$data&&o&&o.$data;l&&(n+=" var schema"+r+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; "),l||(n+=" var schema"+r+" = validate.schema"+a+";"),n+="var "+u+" = equal("+c+", schema"+r+"); if (!"+u+") { ";var I=I||[];I.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { allowedValue: schema"+r+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to constant' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var C=n;return n=I.pop(),!e.compositeRule&&g?e.async?n+=" throw new ValidationError(["+C+"]); ":n+=" validate.errors = ["+C+"]; return false; ":n+=" var err = "+C+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",g&&(n+=" else { "),n}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.level,i=e.dataLevel,o=e.schema[t],a=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,c="data"+(i||""),u="valid"+r,l="errs__"+r,I=e.util.copy(e);I.level++;var C="valid"+I.level,h="i"+r,f=I.dataLevel=e.dataLevel+1,d="data"+f,B=e.baseId,p=e.opts.strictKeywords?"object"==typeof o&&Object.keys(o).length>0:e.util.schemaHasRules(o,e.RULES.all);if(n+="var "+l+" = errors;var "+u+";",p){var E=e.compositeRule;e.compositeRule=I.compositeRule=!0,I.schema=o,I.schemaPath=a,I.errSchemaPath=s,n+=" var "+C+" = false; for (var "+h+" = 0; "+h+" < "+c+".length; "+h+"++) { ",I.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var Q=c+"["+h+"]";I.dataPathArr[f]=h;var y=e.validate(I);I.baseId=B,e.util.varOccurences(y,d)<2?n+=" "+e.util.varReplace(y,d,Q)+" ":n+=" var "+d+" = "+Q+"; "+y+" ",n+=" if ("+C+") break; } ",e.compositeRule=I.compositeRule=E,n+=" if (!"+C+") {"}else n+=" if ("+c+".length == 0) {";var v=v||[];v.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should contain a valid item' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var m=n;return n=v.pop(),!e.compositeRule&&g?e.async?n+=" throw new ValidationError(["+m+"]); ":n+=" validate.errors = ["+m+"]; return false; ":n+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ",p&&(n+=" errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } "),e.opts.allErrors&&(n+=" } "),n=e.util.cleanUpCode(n)}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.level,i=e.dataLevel,o=e.schema[t],a=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,c="data"+(i||""),u="errs__"+r,l=e.util.copy(e),I="";l.level++;var C="valid"+l.level,h={},f={},d=e.opts.ownProperties;for(Q in o){var B=o[Q],p=Array.isArray(B)?f:h;p[Q]=B}n+="var "+u+" = errors;";var E=e.errorPath;for(var Q in n+="var missing"+r+";",f)if((p=f[Q]).length){if(n+=" if ( "+c+e.util.getProperty(Q)+" !== undefined ",d&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(Q)+"') "),g){n+=" && ( ";var y=p;if(y)for(var v=-1,m=y.length-1;v<m;){D=y[v+=1],v&&(n+=" || "),n+=" ( ( "+(N=c+(x=e.util.getProperty(D)))+" === undefined ",d&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(D)+"') "),n+=") && (missing"+r+" = "+e.util.toQuotedString(e.opts.jsonPointers?D:x)+") ) "}n+=")) { ";var b="missing"+r,w="' + "+b+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(E,b,!0):E+" + "+b);var S=S||[];S.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { property: '"+e.util.escapeQuotes(Q)+"', missingProperty: '"+w+"', depsCount: "+p.length+", deps: '"+e.util.escapeQuotes(1==p.length?p[0]:p.join(", "))+"' } ",!1!==e.opts.messages&&(n+=" , message: 'should have ",1==p.length?n+="property "+e.util.escapeQuotes(p[0]):n+="properties "+e.util.escapeQuotes(p.join(", ")),n+=" when property "+e.util.escapeQuotes(Q)+" is present' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var F=n;n=S.pop(),!e.compositeRule&&g?e.async?n+=" throw new ValidationError(["+F+"]); ":n+=" validate.errors = ["+F+"]; return false; ":n+=" var err = "+F+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{n+=" ) { ";var R=p;if(R)for(var D,G=-1,k=R.length-1;G<k;){D=R[G+=1];var x=e.util.getProperty(D),N=(w=e.util.escapeQuotes(D),c+x);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(E,D,e.opts.jsonPointers)),n+=" if ( "+N+" === undefined ",d&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(D)+"') "),n+=") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { property: '"+e.util.escapeQuotes(Q)+"', missingProperty: '"+w+"', depsCount: "+p.length+", deps: '"+e.util.escapeQuotes(1==p.length?p[0]:p.join(", "))+"' } ",!1!==e.opts.messages&&(n+=" , message: 'should have ",1==p.length?n+="property "+e.util.escapeQuotes(p[0]):n+="properties "+e.util.escapeQuotes(p.join(", ")),n+=" when property "+e.util.escapeQuotes(Q)+" is present' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}n+=" } ",g&&(I+="}",n+=" else { ")}e.errorPath=E;var U=l.baseId;for(var Q in h){B=h[Q];(e.opts.strictKeywords?"object"==typeof B&&Object.keys(B).length>0:e.util.schemaHasRules(B,e.RULES.all))&&(n+=" "+C+" = true; if ( "+c+e.util.getProperty(Q)+" !== undefined ",d&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(Q)+"') "),n+=") { ",l.schema=B,l.schemaPath=a+e.util.getProperty(Q),l.errSchemaPath=s+"/"+e.util.escapeFragment(Q),n+=" "+e.validate(l)+" ",l.baseId=U,n+=" } ",g&&(n+=" if ("+C+") { ",I+="}"))}return g&&(n+=" "+I+" if ("+u+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.level,i=e.dataLevel,o=e.schema[t],a=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,c="data"+(i||""),u="valid"+r,l=e.opts.$data&&o&&o.$data;l&&(n+=" var schema"+r+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ");var I="i"+r,C="schema"+r;l||(n+=" var "+C+" = validate.schema"+a+";"),n+="var "+u+";",l&&(n+=" if (schema"+r+" === undefined) "+u+" = true; else if (!Array.isArray(schema"+r+")) "+u+" = false; else {"),n+=u+" = false;for (var "+I+"=0; "+I+"<"+C+".length; "+I+"++) if (equal("+c+", "+C+"["+I+"])) { "+u+" = true; break; }",l&&(n+=" } "),n+=" if (!"+u+") { ";var h=h||[];h.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { allowedValues: schema"+r+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var f=n;return n=h.pop(),!e.compositeRule&&g?e.async?n+=" throw new ValidationError(["+f+"]); ":n+=" validate.errors = ["+f+"]; return false; ":n+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",g&&(n+=" else { "),n}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.level,i=e.dataLevel,o=e.schema[t],a=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,c="data"+(i||"");if(!1===e.opts.format)return g&&(n+=" if (true) { "),n;var u,l=e.opts.$data&&o&&o.$data;l?(n+=" var schema"+r+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",u="schema"+r):u=o;var I=e.opts.unknownFormats,C=Array.isArray(I);if(l){n+=" var "+(h="format"+r)+" = formats["+u+"]; var "+(f="isObject"+r)+" = typeof "+h+" == 'object' && !("+h+" instanceof RegExp) && "+h+".validate; var "+(d="formatType"+r)+" = "+f+" && "+h+".type || 'string'; if ("+f+") { ",e.async&&(n+=" var async"+r+" = "+h+".async; "),n+=" "+h+" = "+h+".validate; } if ( ",l&&(n+=" ("+u+" !== undefined && typeof "+u+" != 'string') || "),n+=" (","ignore"!=I&&(n+=" ("+u+" && !"+h+" ",C&&(n+=" && self._opts.unknownFormats.indexOf("+u+") == -1 "),n+=") || "),n+=" ("+h+" && "+d+" == '"+A+"' && !(typeof "+h+" == 'function' ? ",e.async?n+=" (async"+r+" ? await "+h+"("+c+") : "+h+"("+c+")) ":n+=" "+h+"("+c+") ",n+=" : "+h+".test("+c+"))))) {"}else{var h;if(!(h=e.formats[o])){if("ignore"==I)return e.logger.warn('unknown format "'+o+'" ignored in schema at path "'+e.errSchemaPath+'"'),g&&(n+=" if (true) { "),n;if(C&&I.indexOf(o)>=0)return g&&(n+=" if (true) { "),n;throw new Error('unknown format "'+o+'" is used in schema at path "'+e.errSchemaPath+'"')}var f,d=(f="object"==typeof h&&!(h instanceof RegExp)&&h.validate)&&h.type||"string";if(f){var B=!0===h.async;h=h.validate}if(d!=A)return g&&(n+=" if (true) { "),n;if(B){if(!e.async)throw new Error("async format in sync schema");n+=" if (!(await "+(p="formats"+e.util.getProperty(o)+".validate")+"("+c+"))) { "}else{n+=" if (! ";var p="formats"+e.util.getProperty(o);f&&(p+=".validate"),n+="function"==typeof h?" "+p+"("+c+") ":" "+p+".test("+c+") ",n+=") { "}}var E=E||[];E.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { format: ",n+=l?""+u:""+e.util.toQuotedString(o),n+=" } ",!1!==e.opts.messages&&(n+=" , message: 'should match format \"",n+=l?"' + "+u+" + '":""+e.util.escapeQuotes(o),n+="\"' "),e.opts.verbose&&(n+=" , schema: ",n+=l?"validate.schema"+a:""+e.util.toQuotedString(o),n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var Q=n;return n=E.pop(),!e.compositeRule&&g?e.async?n+=" throw new ValidationError(["+Q+"]); ":n+=" validate.errors = ["+Q+"]; return false; ":n+=" var err = "+Q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",g&&(n+=" else { "),n}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.level,i=e.dataLevel,o=e.schema[t],a=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,c="data"+(i||""),u="valid"+r,l="errs__"+r,I=e.util.copy(e);I.level++;var C="valid"+I.level,h=e.schema.then,f=e.schema.else,d=void 0!==h&&(e.opts.strictKeywords?"object"==typeof h&&Object.keys(h).length>0:e.util.schemaHasRules(h,e.RULES.all)),B=void 0!==f&&(e.opts.strictKeywords?"object"==typeof f&&Object.keys(f).length>0:e.util.schemaHasRules(f,e.RULES.all)),p=I.baseId;if(d||B){var E;I.createErrors=!1,I.schema=o,I.schemaPath=a,I.errSchemaPath=s,n+=" var "+l+" = errors; var "+u+" = true; ";var Q=e.compositeRule;e.compositeRule=I.compositeRule=!0,n+=" "+e.validate(I)+" ",I.baseId=p,I.createErrors=!0,n+=" errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } ",e.compositeRule=I.compositeRule=Q,d?(n+=" if ("+C+") { ",I.schema=e.schema.then,I.schemaPath=e.schemaPath+".then",I.errSchemaPath=e.errSchemaPath+"/then",n+=" "+e.validate(I)+" ",I.baseId=p,n+=" "+u+" = "+C+"; ",d&&B?n+=" var "+(E="ifClause"+r)+" = 'then'; ":E="'then'",n+=" } ",B&&(n+=" else { ")):n+=" if (!"+C+") { ",B&&(I.schema=e.schema.else,I.schemaPath=e.schemaPath+".else",I.errSchemaPath=e.errSchemaPath+"/else",n+=" "+e.validate(I)+" ",I.baseId=p,n+=" "+u+" = "+C+"; ",d&&B?n+=" var "+(E="ifClause"+r)+" = 'else'; ":E="'else'",n+=" } "),n+=" if (!"+u+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { failingKeyword: "+E+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match \"' + "+E+" + '\" schema' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&g&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" } ",g&&(n+=" else { "),n=e.util.cleanUpCode(n)}else g&&(n+=" if (true) { ");return n}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.level,i=e.dataLevel,o=e.schema[t],a=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,c="data"+(i||""),u="valid"+r,l="errs__"+r,I=e.util.copy(e),C="";I.level++;var h="valid"+I.level,f="i"+r,d=I.dataLevel=e.dataLevel+1,B="data"+d,p=e.baseId;if(n+="var "+l+" = errors;var "+u+";",Array.isArray(o)){var E=e.schema.additionalItems;if(!1===E){n+=" "+u+" = "+c+".length <= "+o.length+"; ";var Q=s;s=e.errSchemaPath+"/additionalItems",n+=" if (!"+u+") { ";var y=y||[];y.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { limit: "+o.length+" } ",!1!==e.opts.messages&&(n+=" , message: 'should NOT have more than "+o.length+" items' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var v=n;n=y.pop(),!e.compositeRule&&g?e.async?n+=" throw new ValidationError(["+v+"]); ":n+=" validate.errors = ["+v+"]; return false; ":n+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",s=Q,g&&(C+="}",n+=" else { ")}var m=o;if(m)for(var b,w=-1,S=m.length-1;w<S;)if(b=m[w+=1],e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0:e.util.schemaHasRules(b,e.RULES.all)){n+=" "+h+" = true; if ("+c+".length > "+w+") { ";var F=c+"["+w+"]";I.schema=b,I.schemaPath=a+"["+w+"]",I.errSchemaPath=s+"/"+w,I.errorPath=e.util.getPathExpr(e.errorPath,w,e.opts.jsonPointers,!0),I.dataPathArr[d]=w;var R=e.validate(I);I.baseId=p,e.util.varOccurences(R,B)<2?n+=" "+e.util.varReplace(R,B,F)+" ":n+=" var "+B+" = "+F+"; "+R+" ",n+=" } ",g&&(n+=" if ("+h+") { ",C+="}")}if("object"==typeof E&&(e.opts.strictKeywords?"object"==typeof E&&Object.keys(E).length>0:e.util.schemaHasRules(E,e.RULES.all))){I.schema=E,I.schemaPath=e.schemaPath+".additionalItems",I.errSchemaPath=e.errSchemaPath+"/additionalItems",n+=" "+h+" = true; if ("+c+".length > "+o.length+") { for (var "+f+" = "+o.length+"; "+f+" < "+c+".length; "+f+"++) { ",I.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);F=c+"["+f+"]";I.dataPathArr[d]=f;R=e.validate(I);I.baseId=p,e.util.varOccurences(R,B)<2?n+=" "+e.util.varReplace(R,B,F)+" ":n+=" var "+B+" = "+F+"; "+R+" ",g&&(n+=" if (!"+h+") break; "),n+=" } } ",g&&(n+=" if ("+h+") { ",C+="}")}}else if(e.opts.strictKeywords?"object"==typeof o&&Object.keys(o).length>0:e.util.schemaHasRules(o,e.RULES.all)){I.schema=o,I.schemaPath=a,I.errSchemaPath=s,n+=" for (var "+f+" = 0; "+f+" < "+c+".length; "+f+"++) { ",I.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);F=c+"["+f+"]";I.dataPathArr[d]=f;R=e.validate(I);I.baseId=p,e.util.varOccurences(R,B)<2?n+=" "+e.util.varReplace(R,B,F)+" ":n+=" var "+B+" = "+F+"; "+R+" ",g&&(n+=" if (!"+h+") break; "),n+=" }"}return g&&(n+=" "+C+" if ("+l+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n,r=" ",i=e.level,o=e.dataLevel,a=e.schema[t],s=e.schemaPath+e.util.getProperty(t),g=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(o||""),l=e.opts.$data&&a&&a.$data;l?(r+=" var schema"+i+" = "+e.util.getData(a.$data,o,e.dataPathArr)+"; ",n="schema"+i):n=a,r+="var division"+i+";if (",l&&(r+=" "+n+" !== undefined && ( typeof "+n+" != 'number' || "),r+=" (division"+i+" = "+u+" / "+n+", ",e.opts.multipleOfPrecision?r+=" Math.abs(Math.round(division"+i+") - division"+i+") > 1e-"+e.opts.multipleOfPrecision+" ":r+=" division"+i+" !== parseInt(division"+i+") ",r+=" ) ",l&&(r+=" ) "),r+=" ) { ";var I=I||[];I.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { multipleOf: "+n+" } ",!1!==e.opts.messages&&(r+=" , message: 'should be multiple of ",r+=l?"' + "+n:n+"'"),e.opts.verbose&&(r+=" , schema: ",r+=l?"validate.schema"+s:""+a,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var C=r;return r=I.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+C+"]); ":r+=" validate.errors = ["+C+"]; return false; ":r+=" var err = "+C+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",c&&(r+=" else { "),r}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.level,i=e.dataLevel,o=e.schema[t],a=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,c="data"+(i||""),u="errs__"+r,l=e.util.copy(e);l.level++;var I="valid"+l.level;if(e.opts.strictKeywords?"object"==typeof o&&Object.keys(o).length>0:e.util.schemaHasRules(o,e.RULES.all)){l.schema=o,l.schemaPath=a,l.errSchemaPath=s,n+=" var "+u+" = errors; ";var C,h=e.compositeRule;e.compositeRule=l.compositeRule=!0,l.createErrors=!1,l.opts.allErrors&&(C=l.opts.allErrors,l.opts.allErrors=!1),n+=" "+e.validate(l)+" ",l.createErrors=!0,C&&(l.opts.allErrors=C),e.compositeRule=l.compositeRule=h,n+=" if ("+I+") { ";var f=f||[];f.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var d=n;n=f.pop(),!e.compositeRule&&g?e.async?n+=" throw new ValidationError(["+d+"]); ":n+=" validate.errors = ["+d+"]; return false; ":n+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { errors = "+u+"; if (vErrors !== null) { if ("+u+") vErrors.length = "+u+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } ")}else n+=" var err = ",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",g&&(n+=" if (false) { ");return n}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.level,i=e.dataLevel,o=e.schema[t],a=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,c="data"+(i||""),u="valid"+r,l="errs__"+r,I=e.util.copy(e),C="";I.level++;var h="valid"+I.level,f=I.baseId,d="prevValid"+r,B="passingSchemas"+r;n+="var "+l+" = errors , "+d+" = false , "+u+" = false , "+B+" = null; ";var p=e.compositeRule;e.compositeRule=I.compositeRule=!0;var E=o;if(E)for(var Q,y=-1,v=E.length-1;y<v;)Q=E[y+=1],(e.opts.strictKeywords?"object"==typeof Q&&Object.keys(Q).length>0:e.util.schemaHasRules(Q,e.RULES.all))?(I.schema=Q,I.schemaPath=a+"["+y+"]",I.errSchemaPath=s+"/"+y,n+=" "+e.validate(I)+" ",I.baseId=f):n+=" var "+h+" = true; ",y&&(n+=" if ("+h+" && "+d+") { "+u+" = false; "+B+" = ["+B+", "+y+"]; } else { ",C+="}"),n+=" if ("+h+") { "+u+" = "+d+" = true; "+B+" = "+y+"; }";return e.compositeRule=I.compositeRule=p,n+=C+"if (!"+u+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { passingSchemas: "+B+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&g&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+="} else { errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; }",e.opts.allErrors&&(n+=" } "),n}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n,r=" ",i=e.level,o=e.dataLevel,a=e.schema[t],s=e.schemaPath+e.util.getProperty(t),g=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(o||""),l=e.opts.$data&&a&&a.$data;l?(r+=" var schema"+i+" = "+e.util.getData(a.$data,o,e.dataPathArr)+"; ",n="schema"+i):n=a,r+="if ( ",l&&(r+=" ("+n+" !== undefined && typeof "+n+" != 'string') || "),r+=" !"+(l?"(new RegExp("+n+"))":e.usePattern(a))+".test("+u+") ) { ";var I=I||[];I.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { pattern: ",r+=l?""+n:""+e.util.toQuotedString(a),r+=" } ",!1!==e.opts.messages&&(r+=" , message: 'should match pattern \"",r+=l?"' + "+n+" + '":""+e.util.escapeQuotes(a),r+="\"' "),e.opts.verbose&&(r+=" , schema: ",r+=l?"validate.schema"+s:""+e.util.toQuotedString(a),r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var C=r;return r=I.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+C+"]); ":r+=" validate.errors = ["+C+"]; return false; ":r+=" var err = "+C+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",c&&(r+=" else { "),r}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.level,i=e.dataLevel,o=e.schema[t],a=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,c="data"+(i||""),u="errs__"+r,l=e.util.copy(e),I="";l.level++;var C="valid"+l.level,h="key"+r,f="idx"+r,d=l.dataLevel=e.dataLevel+1,B="data"+d,p="dataProperties"+r,E=Object.keys(o||{}),Q=e.schema.patternProperties||{},y=Object.keys(Q),v=e.schema.additionalProperties,m=E.length||y.length,b=!1===v,w="object"==typeof v&&Object.keys(v).length,S=e.opts.removeAdditional,F=b||w||S,R=e.opts.ownProperties,D=e.baseId,G=e.schema.required;if(G&&(!e.opts.$data||!G.$data)&&G.length<e.opts.loopRequired)var k=e.util.toHash(G);if(n+="var "+u+" = errors;var "+C+" = true;",R&&(n+=" var "+p+" = undefined;"),F){if(n+=R?" "+p+" = "+p+" || Object.keys("+c+"); for (var "+f+"=0; "+f+"<"+p+".length; "+f+"++) { var "+h+" = "+p+"["+f+"]; ":" for (var "+h+" in "+c+") { ",m){if(n+=" var isAdditional"+r+" = !(false ",E.length)if(E.length>8)n+=" || validate.schema"+a+".hasOwnProperty("+h+") ";else{var x=E;if(x)for(var N=-1,U=x.length-1;N<U;)K=x[N+=1],n+=" || "+h+" == "+e.util.toQuotedString(K)+" "}if(y.length){var _=y;if(_)for(var M=-1,O=_.length-1;M<O;)re=_[M+=1],n+=" || "+e.usePattern(re)+".test("+h+") "}n+=" ); if (isAdditional"+r+") { "}if("all"==S)n+=" delete "+c+"["+h+"]; ";else{var L=e.errorPath,T="' + "+h+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers)),b)if(S)n+=" delete "+c+"["+h+"]; ";else{n+=" "+C+" = false; ";var Z=s;s=e.errSchemaPath+"/additionalProperties",(te=te||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { additionalProperty: '"+T+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is an invalid additional property":n+="should NOT have additional properties",n+="' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var H=n;n=te.pop(),!e.compositeRule&&g?e.async?n+=" throw new ValidationError(["+H+"]); ":n+=" validate.errors = ["+H+"]; return false; ":n+=" var err = "+H+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s=Z,g&&(n+=" break; ")}else if(w)if("failing"==S){n+=" var "+u+" = errors; ";var Y=e.compositeRule;e.compositeRule=l.compositeRule=!0,l.schema=v,l.schemaPath=e.schemaPath+".additionalProperties",l.errSchemaPath=e.errSchemaPath+"/additionalProperties",l.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers);var J=c+"["+h+"]";l.dataPathArr[d]=h;var j=e.validate(l);l.baseId=D,e.util.varOccurences(j,B)<2?n+=" "+e.util.varReplace(j,B,J)+" ":n+=" var "+B+" = "+J+"; "+j+" ",n+=" if (!"+C+") { errors = "+u+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+c+"["+h+"]; } ",e.compositeRule=l.compositeRule=Y}else{l.schema=v,l.schemaPath=e.schemaPath+".additionalProperties",l.errSchemaPath=e.errSchemaPath+"/additionalProperties",l.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers);J=c+"["+h+"]";l.dataPathArr[d]=h;j=e.validate(l);l.baseId=D,e.util.varOccurences(j,B)<2?n+=" "+e.util.varReplace(j,B,J)+" ":n+=" var "+B+" = "+J+"; "+j+" ",g&&(n+=" if (!"+C+") break; ")}e.errorPath=L}m&&(n+=" } "),n+=" } ",g&&(n+=" if ("+C+") { ",I+="}")}var P=e.opts.useDefaults&&!e.compositeRule;if(E.length){var V=E;if(V)for(var K,W=-1,X=V.length-1;W<X;){var q=o[K=V[W+=1]];if(e.opts.strictKeywords?"object"==typeof q&&Object.keys(q).length>0:e.util.schemaHasRules(q,e.RULES.all)){var z=e.util.getProperty(K),$=(J=c+z,P&&void 0!==q.default);l.schema=q,l.schemaPath=a+z,l.errSchemaPath=s+"/"+e.util.escapeFragment(K),l.errorPath=e.util.getPath(e.errorPath,K,e.opts.jsonPointers),l.dataPathArr[d]=e.util.toQuotedString(K);j=e.validate(l);if(l.baseId=D,e.util.varOccurences(j,B)<2){j=e.util.varReplace(j,B,J);var ee=J}else{ee=B;n+=" var "+B+" = "+J+"; "}if($)n+=" "+j+" ";else{if(k&&k[K]){n+=" if ( "+ee+" === undefined ",R&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(K)+"') "),n+=") { "+C+" = false; ";L=e.errorPath,Z=s;var te,Ae=e.util.escapeQuotes(K);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(L,K,e.opts.jsonPointers)),s=e.errSchemaPath+"/required",(te=te||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+Ae+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+Ae+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";H=n;n=te.pop(),!e.compositeRule&&g?e.async?n+=" throw new ValidationError(["+H+"]); ":n+=" validate.errors = ["+H+"]; return false; ":n+=" var err = "+H+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s=Z,e.errorPath=L,n+=" } else { "}else g?(n+=" if ( "+ee+" === undefined ",R&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(K)+"') "),n+=") { "+C+" = true; } else { "):(n+=" if ("+ee+" !== undefined ",R&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(K)+"') "),n+=" ) { ");n+=" "+j+" } "}}g&&(n+=" if ("+C+") { ",I+="}")}}if(y.length){var ne=y;if(ne)for(var re,ie=-1,oe=ne.length-1;ie<oe;){q=Q[re=ne[ie+=1]];if(e.opts.strictKeywords?"object"==typeof q&&Object.keys(q).length>0:e.util.schemaHasRules(q,e.RULES.all)){l.schema=q,l.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(re),l.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(re),n+=R?" "+p+" = "+p+" || Object.keys("+c+"); for (var "+f+"=0; "+f+"<"+p+".length; "+f+"++) { var "+h+" = "+p+"["+f+"]; ":" for (var "+h+" in "+c+") { ",n+=" if ("+e.usePattern(re)+".test("+h+")) { ",l.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers);J=c+"["+h+"]";l.dataPathArr[d]=h;j=e.validate(l);l.baseId=D,e.util.varOccurences(j,B)<2?n+=" "+e.util.varReplace(j,B,J)+" ":n+=" var "+B+" = "+J+"; "+j+" ",g&&(n+=" if (!"+C+") break; "),n+=" } ",g&&(n+=" else "+C+" = true; "),n+=" } ",g&&(n+=" if ("+C+") { ",I+="}")}}}return g&&(n+=" "+I+" if ("+u+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.level,i=e.dataLevel,o=e.schema[t],a=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,c="data"+(i||""),u="errs__"+r,l=e.util.copy(e);l.level++;var I="valid"+l.level;if(n+="var "+u+" = errors;",e.opts.strictKeywords?"object"==typeof o&&Object.keys(o).length>0:e.util.schemaHasRules(o,e.RULES.all)){l.schema=o,l.schemaPath=a,l.errSchemaPath=s;var C="key"+r,h="idx"+r,f="i"+r,d="' + "+C+" + '",B="data"+(l.dataLevel=e.dataLevel+1),p="dataProperties"+r,E=e.opts.ownProperties,Q=e.baseId;E&&(n+=" var "+p+" = undefined; "),n+=E?" "+p+" = "+p+" || Object.keys("+c+"); for (var "+h+"=0; "+h+"<"+p+".length; "+h+"++) { var "+C+" = "+p+"["+h+"]; ":" for (var "+C+" in "+c+") { ",n+=" var startErrs"+r+" = errors; ";var y=C,v=e.compositeRule;e.compositeRule=l.compositeRule=!0;var m=e.validate(l);l.baseId=Q,e.util.varOccurences(m,B)<2?n+=" "+e.util.varReplace(m,B,y)+" ":n+=" var "+B+" = "+y+"; "+m+" ",e.compositeRule=l.compositeRule=v,n+=" if (!"+I+") { for (var "+f+"=startErrs"+r+"; "+f+"<errors; "+f+"++) { vErrors["+f+"].propertyName = "+C+"; } var err = ",!1!==e.createErrors?(n+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { propertyName: '"+d+"' } ",!1!==e.opts.messages&&(n+=" , message: 'property name \\'"+d+"\\' is invalid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&g&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),g&&(n+=" break; "),n+=" } }"}return g&&(n+=" if ("+u+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n=" ",r=e.level,i=e.dataLevel,o=e.schema[t],a=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,c="data"+(i||""),u="valid"+r,l=e.opts.$data&&o&&o.$data;l&&(n+=" var schema"+r+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ");var I="schema"+r;if(!l)if(o.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var C=[],h=o;if(h)for(var f,d=-1,B=h.length-1;d<B;){f=h[d+=1];var p=e.schema.properties[f];p&&(e.opts.strictKeywords?"object"==typeof p&&Object.keys(p).length>0:e.util.schemaHasRules(p,e.RULES.all))||(C[C.length]=f)}}else C=o;if(l||C.length){var E=e.errorPath,Q=l||C.length>=e.opts.loopRequired,y=e.opts.ownProperties;if(g)if(n+=" var missing"+r+"; ",Q){l||(n+=" var "+I+" = validate.schema"+a+"; ");var v="' + "+(R="schema"+r+"["+(w="i"+r)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(E,R,e.opts.jsonPointers)),n+=" var "+u+" = true; ",l&&(n+=" if (schema"+r+" === undefined) "+u+" = true; else if (!Array.isArray(schema"+r+")) "+u+" = false; else {"),n+=" for (var "+w+" = 0; "+w+" < "+I+".length; "+w+"++) { "+u+" = "+c+"["+I+"["+w+"]] !== undefined ",y&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", "+I+"["+w+"]) "),n+="; if (!"+u+") break; } ",l&&(n+=" } "),n+=" if (!"+u+") { ",(F=F||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+v+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+v+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var m=n;n=F.pop(),!e.compositeRule&&g?e.async?n+=" throw new ValidationError(["+m+"]); ":n+=" validate.errors = ["+m+"]; return false; ":n+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else{n+=" if ( ";var b=C;if(b)for(var w=-1,S=b.length-1;w<S;){G=b[w+=1],w&&(n+=" || "),n+=" ( ( "+(U=c+(N=e.util.getProperty(G)))+" === undefined ",y&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(G)+"') "),n+=") && (missing"+r+" = "+e.util.toQuotedString(e.opts.jsonPointers?G:N)+") ) "}n+=") { ";var F;v="' + "+(R="missing"+r)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(E,R,!0):E+" + "+R),(F=F||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+v+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+v+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";m=n;n=F.pop(),!e.compositeRule&&g?e.async?n+=" throw new ValidationError(["+m+"]); ":n+=" validate.errors = ["+m+"]; return false; ":n+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else if(Q){l||(n+=" var "+I+" = validate.schema"+a+"; ");var R;v="' + "+(R="schema"+r+"["+(w="i"+r)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(E,R,e.opts.jsonPointers)),l&&(n+=" if ("+I+" && !Array.isArray("+I+")) { var err = ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+v+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+v+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+I+" !== undefined) { "),n+=" for (var "+w+" = 0; "+w+" < "+I+".length; "+w+"++) { if ("+c+"["+I+"["+w+"]] === undefined ",y&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", "+I+"["+w+"]) "),n+=") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+v+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+v+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",l&&(n+=" } ")}else{var D=C;if(D)for(var G,k=-1,x=D.length-1;k<x;){G=D[k+=1];var N=e.util.getProperty(G),U=(v=e.util.escapeQuotes(G),c+N);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(E,G,e.opts.jsonPointers)),n+=" if ( "+U+" === undefined ",y&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(G)+"') "),n+=") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+v+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+v+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=E}else g&&(n+=" if (true) {");return n}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n,r=" ",i=e.level,o=e.dataLevel,a=e.schema[t],s=e.schemaPath+e.util.getProperty(t),g=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(o||""),l="valid"+i,I=e.opts.$data&&a&&a.$data;if(I?(r+=" var schema"+i+" = "+e.util.getData(a.$data,o,e.dataPathArr)+"; ",n="schema"+i):n=a,(a||I)&&!1!==e.opts.uniqueItems){I&&(r+=" var "+l+"; if ("+n+" === false || "+n+" === undefined) "+l+" = true; else if (typeof "+n+" != 'boolean') "+l+" = false; else { "),r+=" var i = "+u+".length , "+l+" = true , j; if (i > 1) { ";var C=e.schema.items&&e.schema.items.type,h=Array.isArray(C);if(!C||"object"==C||"array"==C||h&&(C.indexOf("object")>=0||C.indexOf("array")>=0))r+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+u+"[i], "+u+"[j])) { "+l+" = false; break outer; } } } ";else{r+=" var itemIndices = {}, item; for (;i--;) { var item = "+u+"[i]; ";var f="checkDataType"+(h?"s":"");r+=" if ("+e.util[f](C,"item",!0)+") continue; ",h&&(r+=" if (typeof item == 'string') item = '\"' + item; "),r+=" if (typeof itemIndices[item] == 'number') { "+l+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}r+=" } ",I&&(r+=" } "),r+=" if (!"+l+") { ";var d=d||[];d.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(r+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(r+=" , schema: ",r+=I?"validate.schema"+s:""+a,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var B=r;r=d.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+B+"]); ":r+=" validate.errors = ["+B+"]; return false; ":r+=" var err = "+B+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",c&&(r+=" else { ")}else c&&(r+=" if (true) { ");return r}},function(e,t,A){"use strict";var n=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,t){for(var A=0;A<t.length;A++){e=JSON.parse(JSON.stringify(e));var r,i=t[A].split("/"),o=e;for(r=1;r<i.length;r++)o=o[i[r]];for(r=0;r<n.length;r++){var a=n[r],s=o[a];s&&(o[a]={anyOf:[s,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]})}}return e}},function(e,t,A){"use strict";var n=A(462).MissingRef;e.exports=function e(t,A,r){var i=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof A&&(r=A,A=void 0);var o=a(t).then((function(){var e=i._addSchema(t,void 0,A);return e.validate||function e(t){try{return i._compile(t)}catch(o){if(o instanceof n)return r(o);throw o}function r(n){var r=n.missingSchema;if(g(r))throw new Error("Schema "+r+" is loaded but "+n.missingRef+" cannot be resolved");var o=i._loadingSchemas[r];return o||(o=i._loadingSchemas[r]=i._opts.loadSchema(r)).then(s,s),o.then((function(e){if(!g(r))return a(e).then((function(){g(r)||i.addSchema(e,r,void 0,A)}))})).then((function(){return e(t)}));function s(){delete i._loadingSchemas[r]}function g(e){return i._refs[e]||i._schemas[e]}}}(e)}));r&&o.then((function(e){r(null,e)}),r);return o;function a(t){var A=t.$schema;return A&&!i.getSchema(A)?e.call(i,{$ref:A},!0):Promise.resolve()}}},function(e,t,A){"use strict";var n=/^[a-z_$][a-z0-9_$-]*$/i,r=A(846),i=A(847);e.exports={add:function(e,t){var A=this.RULES;if(A.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!n.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(t){this.validateKeyword(t,!0);var i=t.type;if(Array.isArray(i))for(var o=0;o<i.length;o++)s(e,i[o],t);else s(e,i,t);var a=t.metaSchema;a&&(t.$data&&this._opts.$data&&(a={anyOf:[a,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]}),t.validateSchema=this.compile(a,!0))}function s(e,t,n){for(var i,o=0;o<A.length;o++){var a=A[o];if(a.type==t){i=a;break}}i||(i={type:t,rules:[]},A.push(i));var s={keyword:e,definition:n,custom:!0,code:r,implements:n.implements};i.rules.push(s),A.custom[e]=s}return A.keywords[e]=A.all[e]=!0,this},get:function(e){var t=this.RULES.custom[e];return t?t.definition:this.RULES.keywords[e]||!1},remove:function(e){var t=this.RULES;delete t.keywords[e],delete t.all[e],delete t.custom[e];for(var A=0;A<t.length;A++)for(var n=t[A].rules,r=0;r<n.length;r++)if(n[r].keyword==e){n.splice(r,1);break}return this},validate:function e(t,A){e.errors=null;var n=this._validateKeyword=this._validateKeyword||this.compile(i,!0);if(n(t))return!0;if(e.errors=n.errors,A)throw new Error("custom keyword definition is invalid: "+this.errorsText(n.errors));return!1}}},function(e,t,A){"use strict";e.exports=function(e,t,A){var n,r,i=" ",o=e.level,a=e.dataLevel,s=e.schema[t],g=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(a||""),I="valid"+o,C="errs__"+o,h=e.opts.$data&&s&&s.$data;h?(i+=" var schema"+o+" = "+e.util.getData(s.$data,a,e.dataPathArr)+"; ",r="schema"+o):r=s;var f,d,B,p,E,Q="definition"+o,y=this.definition,v="";if(h&&y.$data){E="keywordValidate"+o;var m=y.validateSchema;i+=" var "+Q+" = RULES.custom['"+t+"'].definition; var "+E+" = "+Q+".validate;"}else{if(!(p=e.useCustomRule(this,s,e.schema,e)))return;r="validate.schema"+g,E=p.code,f=y.compile,d=y.inline,B=y.macro}var b=E+".errors",w="i"+o,S="ruleErr"+o,F=y.async;if(F&&!e.async)throw new Error("async keyword in sync schema");if(d||B||(i+=b+" = null;"),i+="var "+C+" = errors;var "+I+";",h&&y.$data&&(v+="}",i+=" if ("+r+" === undefined) { "+I+" = true; } else { ",m&&(v+="}",i+=" "+I+" = "+Q+".validateSchema("+r+"); if ("+I+") { ")),d)y.statements?i+=" "+p.validate+" ":i+=" "+I+" = "+p.validate+"; ";else if(B){var R=e.util.copy(e);v="";R.level++;var D="valid"+R.level;R.schema=p.validate,R.schemaPath="";var G=e.compositeRule;e.compositeRule=R.compositeRule=!0;var k=e.validate(R).replace(/validate\.schema/g,E);e.compositeRule=R.compositeRule=G,i+=" "+k}else{(_=_||[]).push(i),i="",i+=" "+E+".call( ",e.opts.passContext?i+="this":i+="self",f||!1===y.schema?i+=" , "+l+" ":i+=" , "+r+" , "+l+" , validate.schema"+e.schemaPath+" ",i+=" , (dataPath || '')",'""'!=e.errorPath&&(i+=" + "+e.errorPath);var x=a?"data"+(a-1||""):"parentData",N=a?e.dataPathArr[a]:"parentDataProperty",U=i+=" , "+x+" , "+N+" , rootData ) ";i=_.pop(),!1===y.errors?(i+=" "+I+" = ",F&&(i+="await "),i+=U+"; "):i+=F?" var "+(b="customErrors"+o)+" = null; try { "+I+" = await "+U+"; } catch (e) { "+I+" = false; if (e instanceof ValidationError) "+b+" = e.errors; else throw e; } ":" "+b+" = null; "+I+" = "+U+"; "}if(y.modifying&&(i+=" if ("+x+") "+l+" = "+x+"["+N+"];"),i+=""+v,y.valid)u&&(i+=" if (true) { ");else{var _;i+=" if ( ",void 0===y.valid?(i+=" !",i+=B?""+D:""+I):i+=" "+!y.valid+" ",i+=") { ",n=this.keyword,(_=_||[]).push(i),i="",(_=_||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(n||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+this.keyword+"' } ",!1!==e.opts.messages&&(i+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),e.opts.verbose&&(i+=" , schema: validate.schema"+g+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),i+=" } "):i+=" {} ";var M=i;i=_.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+M+"]); ":i+=" validate.errors = ["+M+"]; return false; ":i+=" var err = "+M+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var O=i;i=_.pop(),d?y.errors?"full"!=y.errors&&(i+=" for (var "+w+"="+C+"; "+w+"<errors; "+w+"++) { var "+S+" = vErrors["+w+"]; if ("+S+".dataPath === undefined) "+S+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+S+".schemaPath === undefined) { "+S+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(i+=" "+S+".schema = "+r+"; "+S+".data = "+l+"; "),i+=" } "):!1===y.errors?i+=" "+O+" ":(i+=" if ("+C+" == errors) { "+O+" } else { for (var "+w+"="+C+"; "+w+"<errors; "+w+"++) { var "+S+" = vErrors["+w+"]; if ("+S+".dataPath === undefined) "+S+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+S+".schemaPath === undefined) { "+S+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(i+=" "+S+".schema = "+r+"; "+S+".data = "+l+"; "),i+=" } } "):B?(i+=" var err = ",!1!==e.createErrors?(i+=" { keyword: '"+(n||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+this.keyword+"' } ",!1!==e.opts.messages&&(i+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),e.opts.verbose&&(i+=" , schema: validate.schema"+g+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),i+=" } "):i+=" {} ",i+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?i+=" throw new ValidationError(vErrors); ":i+=" validate.errors = vErrors; return false; ")):!1===y.errors?i+=" "+O+" ":(i+=" if (Array.isArray("+b+")) { if (vErrors === null) vErrors = "+b+"; else vErrors = vErrors.concat("+b+"); errors = vErrors.length; for (var "+w+"="+C+"; "+w+"<errors; "+w+"++) { var "+S+" = vErrors["+w+"]; if ("+S+".dataPath === undefined) "+S+".dataPath = (dataPath || '') + "+e.errorPath+"; "+S+'.schemaPath = "'+c+'"; ',e.opts.verbose&&(i+=" "+S+".schema = "+r+"; "+S+".data = "+l+"; "),i+=" } } else { "+O+" } "),i+=" } ",u&&(i+=" else { ")}return i}},function(e,t,A){"use strict";var n=A(566);e.exports={$id:"https://github.com/epoberezkin/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:n.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:n.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},function(e,t){var A="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(A){var n=new Uint8Array(16);e.exports=function(){return A(n),n}}else{var r=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0===(3&t)&&(e=4294967296*Math.random()),r[t]=e>>>((3&t)<<3)&255;return r}}},function(e,t){for(var A=[],n=0;n<256;++n)A[n]=(n+256).toString(16).substr(1);e.exports=function(e,t){var n=t||0,r=A;return[r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]]].join("")}},function(e,t,A){"use strict";t.byteLength=function(e){var t=g(e),A=t[0],n=t[1];return 3*(A+n)/4-n},t.toByteArray=function(e){var t,A,n=g(e),o=n[0],a=n[1],s=new i(function(e,t,A){return 3*(t+A)/4-A}(0,o,a)),c=0,u=a>0?o-4:o;for(A=0;A<u;A+=4)t=r[e.charCodeAt(A)]<<18|r[e.charCodeAt(A+1)]<<12|r[e.charCodeAt(A+2)]<<6|r[e.charCodeAt(A+3)],s[c++]=t>>16&255,s[c++]=t>>8&255,s[c++]=255&t;2===a&&(t=r[e.charCodeAt(A)]<<2|r[e.charCodeAt(A+1)]>>4,s[c++]=255&t);1===a&&(t=r[e.charCodeAt(A)]<<10|r[e.charCodeAt(A+1)]<<4|r[e.charCodeAt(A+2)]>>2,s[c++]=t>>8&255,s[c++]=255&t);return s},t.fromByteArray=function(e){for(var t,A=e.length,r=A%3,i=[],o=0,a=A-r;o<a;o+=16383)i.push(c(e,o,o+16383>a?a:o+16383));1===r?(t=e[A-1],i.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[A-2]<<8)+e[A-1],i.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return i.join("")};for(var n=[],r=[],i="undefined"!==typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=o.length;a<s;++a)n[a]=o[a],r[o.charCodeAt(a)]=a;function g(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var A=e.indexOf("=");return-1===A&&(A=t),[A,A===t?0:4-A%4]}function c(e,t,A){for(var r,i,o=[],a=t;a<A;a+=3)r=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),o.push(n[(i=r)>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return o.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},function(e,t){var A={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==A.call(e)}},function(e,t,A){var n=function(e){"use strict";var t=Object.prototype,A=t.hasOwnProperty,n="function"===typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function a(e,t,A,n){var r=t&&t.prototype instanceof c?t:c,i=Object.create(r.prototype),o=new y(n||[]);return i._invoke=function(e,t,A){var n="suspendedStart";return function(r,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===r)throw i;return m()}for(A.method=r,A.arg=i;;){var o=A.delegate;if(o){var a=p(o,A);if(a){if(a===g)continue;return a}}if("next"===A.method)A.sent=A._sent=A.arg;else if("throw"===A.method){if("suspendedStart"===n)throw n="completed",A.arg;A.dispatchException(A.arg)}else"return"===A.method&&A.abrupt("return",A.arg);n="executing";var c=s(e,t,A);if("normal"===c.type){if(n=A.done?"completed":"suspendedYield",c.arg===g)continue;return{value:c.arg,done:A.done}}"throw"===c.type&&(n="completed",A.method="throw",A.arg=c.arg)}}}(e,A,o),i}function s(e,t,A){try{return{type:"normal",arg:e.call(t,A)}}catch(n){return{type:"throw",arg:n}}}e.wrap=a;var g={};function c(){}function u(){}function l(){}var I={};I[r]=function(){return this};var C=Object.getPrototypeOf,h=C&&C(C(v([])));h&&h!==t&&A.call(h,r)&&(I=h);var f=l.prototype=c.prototype=Object.create(I);function d(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function B(e,t){var n;this._invoke=function(r,i){function o(){return new t((function(n,o){!function n(r,i,o,a){var g=s(e[r],e,i);if("throw"!==g.type){var c=g.arg,u=c.value;return u&&"object"===typeof u&&A.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,o,a)}),(function(e){n("throw",e,o,a)})):t.resolve(u).then((function(e){c.value=e,o(c)}),(function(e){return n("throw",e,o,a)}))}a(g.arg)}(r,i,n,o)}))}return n=n?n.then(o,o):o()}}function p(e,t){var A=e.iterator[t.method];if(void 0===A){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,p(e,t),"throw"===t.method))return g;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return g}var n=s(A,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,g;var r=n.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,g):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,g)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function Q(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function y(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function v(e){if(e){var t=e[r];if(t)return t.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(A.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:m}}function m(){return{value:void 0,done:!0}}return u.prototype=f.constructor=l,l.constructor=u,l[o]=u.displayName="GeneratorFunction",e.isGeneratorFunction=function(e){var t="function"===typeof e&&e.constructor;return!!t&&(t===u||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,o in e||(e[o]="GeneratorFunction")),e.prototype=Object.create(f),e},e.awrap=function(e){return{__await:e}},d(B.prototype),B.prototype[i]=function(){return this},e.AsyncIterator=B,e.async=function(t,A,n,r,i){void 0===i&&(i=Promise);var o=new B(a(t,A,n,r),i);return e.isGeneratorFunction(A)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},d(f),f[o]="Generator",f[r]=function(){return this},f.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var A in e)t.push(A);return t.reverse(),function A(){for(;t.length;){var n=t.pop();if(n in e)return A.value=n,A.done=!1,A}return A.done=!0,A}},e.values=v,y.prototype={constructor:y,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(Q),!e)for(var t in this)"t"===t.charAt(0)&&A.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(A,n){return o.type="throw",o.arg=e,t.next=A,n&&(t.method="next",t.arg=void 0),!!n}for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var a=A.call(i,"catchLoc"),s=A.call(i,"finallyLoc");if(a&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&A.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var A=this.tryEntries[t];if(A.finallyLoc===e)return this.complete(A.completion,A.afterLoc),Q(A),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var A=this.tryEntries[t];if(A.tryLoc===e){var n=A.completion;if("throw"===n.type){var r=n.arg;Q(A)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,A){return this.delegate={iterator:v(e),resultName:t,nextLoc:A},"next"===this.method&&(this.arg=void 0),g}},e}(e.exports);try{regeneratorRuntime=n}catch(r){Function("r","regeneratorRuntime = r")(n)}},function(e,t,A){"use strict";if(A(0),t.Fragment=60107,"function"===typeof Symbol&&Symbol.for){var n=Symbol.for;t.Fragment=n("react.fragment")}t.jsxDEV=void 0},function(e,t,A){"use strict";var n=A(172);t.convertToJson=function e(t,A,r){var i={};if(!A.alwaysCreateTextNode&&(!t.child||n.isEmptyObject(t.child))&&(!t.attrsMap||n.isEmptyObject(t.attrsMap)))return n.isExist(t.val)?t.val:"";if(n.isExist(t.val)&&("string"!==typeof t.val||""!==t.val&&t.val!==A.cdataPositionChar)){var o=n.isTagNameInArrayMode(t.tagname,A.arrayMode,r);i[A.textNodeName]=o?[t.val]:t.val}n.merge(i,t.attrsMap,A.arrayMode);for(var a=Object.keys(t.child),s=0;s<a.length;s++){var g=a[s];if(t.child[g]&&t.child[g].length>1)for(var c in i[g]=[],t.child[g])t.child[g].hasOwnProperty(c)&&i[g].push(e(t.child[g][c],A,g));else{var u=e(t.child[g][0],A,g),l=!0===A.arrayMode&&"object"===typeof u||n.isTagNameInArrayMode(g,A.arrayMode,r);i[g]=l?[u]:u}}return i}},function(e,t,A){"use strict";e.exports=function(e,t,A){this.tagname=e,this.parent=t,this.child={},this.attrsMap={},this.val=A,this.addChild=function(e){Array.isArray(this.child[e.tagname])?this.child[e.tagname].push(e):this.child[e.tagname]=[e]}}},function(e,t){var A=/^[-+]?0x[a-fA-F0-9]+$/,n=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var r={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function i(e){return e&&-1!==e.indexOf(".")?("."===(e=e.replace(/0+$/,""))?e="0":"."===e[0]?e="0"+e:"."===e[e.length-1]&&(e=e.substr(0,e.length-1)),e):e}e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t=Object.assign({},r,t),!e||"string"!==typeof e)return e;var o=e.trim();if(void 0!==t.skipLike&&t.skipLike.test(o))return e;if(t.hex&&A.test(o))return Number.parseInt(o,16);var a=n.exec(o);if(a){var s=a[1],g=a[2],c=i(a[3]),u=a[4]||a[6];if(!t.leadingZeros&&g.length>0&&s&&"."!==o[2])return e;if(!t.leadingZeros&&g.length>0&&!s&&"."!==o[1])return e;var l=Number(o),I=""+l;return-1!==I.search(/[eE]/)||u?t.eNotation?l:e:-1!==o.indexOf(".")?"0"===I&&""===c||I===c||s&&I==="-"+c?l:e:g?c===I||s+c===I?l:e:o===I||o===s+I?l:e}return e}},function(e,t,A){"use strict";var n=A(172),r={allowBooleanAttributes:!1},i=["allowBooleanAttributes"];function o(e,t){for(var A=t;t<e.length;t++)if("?"!=e[t]&&" "!=e[t]);else{var n=e.substr(A,t-A);if(t>5&&"xml"===n)return l("InvalidXml","XML declaration allowed only at the start of the document.",C(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}}return t}function a(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t<e.length;t++)if("-"===e[t]&&"-"===e[t+1]&&">"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){var A=1;for(t+=8;t<e.length;t++)if("<"===e[t])A++;else if(">"===e[t]&&0===--A)break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t<e.length;t++)if("]"===e[t]&&"]"===e[t+1]&&">"===e[t+2]){t+=2;break}return t}t.validate=function(e,t){t=n.buildOptions(t,r,i);var A,g=[],I=!1,h=!1;"\ufeff"===e[0]&&(e=e.substr(1));for(var f=0;f<e.length;f++)if("<"===e[f]&&"?"===e[f+1]){if((f=o(e,f+=2)).err)return f}else{if("<"!==e[f]){if(" "===e[f]||"\t"===e[f]||"\n"===e[f]||"\r"===e[f])continue;return l("InvalidChar","char '"+e[f]+"' is not expected.",C(e,f))}var d=f;if("!"===e[++f]){f=a(e,f);continue}var B=!1;"/"===e[f]&&(B=!0,f++);for(var p="";f<e.length&&">"!==e[f]&&" "!==e[f]&&"\t"!==e[f]&&"\n"!==e[f]&&"\r"!==e[f];f++)p+=e[f];if("/"===(p=p.trim())[p.length-1]&&(p=p.substring(0,p.length-1),f--),A=p,!n.isName(A)){return l("InvalidTag",0===p.trim().length?"Invalid space after '<'.":"Tag '"+p+"' is an invalid name.",C(e,f))}var E=s(e,f);if(!1===E)return l("InvalidAttr","Attributes for '"+p+"' have open quote.",C(e,f));var Q=E.value;if(f=E.index,"/"===Q[Q.length-1]){var y=f-Q.length,v=c(Q=Q.substring(0,Q.length-1),t);if(!0!==v)return l(v.err.code,v.err.msg,C(e,y+v.err.line));I=!0}else if(B){if(!E.tagClosed)return l("InvalidTag","Closing tag '"+p+"' doesn't have proper closing.",C(e,f));if(Q.trim().length>0)return l("InvalidTag","Closing tag '"+p+"' can't have attributes or invalid starting.",C(e,d));var m=g.pop();if(p!==m.tagName){var b=C(e,m.tagStartPos);return l("InvalidTag","Expected closing tag '"+m.tagName+"' (opened in line "+b.line+", col "+b.col+") instead of closing tag '"+p+"'.",C(e,d))}0==g.length&&(h=!0)}else{var w=c(Q,t);if(!0!==w)return l(w.err.code,w.err.msg,C(e,f-Q.length+w.err.line));if(!0===h)return l("InvalidXml","Multiple possible root nodes found.",C(e,f));g.push({tagName:p,tagStartPos:d}),I=!0}for(f++;f<e.length;f++)if("<"===e[f]){if("!"===e[f+1]){f=a(e,++f);continue}if("?"!==e[f+1])break;if((f=o(e,++f)).err)return f}else if("&"===e[f]){var S=u(e,f);if(-1==S)return l("InvalidChar","char '&' is not expected.",C(e,f));f=S}"<"===e[f]&&f--}return I?1==g.length?l("InvalidTag","Unclosed tag '"+g[0].tagName+"'.",C(e,g[0].tagStartPos)):!(g.length>0)||l("InvalidXml","Invalid '"+JSON.stringify(g.map((function(e){return e.tagName})),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):l("InvalidXml","Start tag expected.",1)};function s(e,t){for(var A="",n="",r=!1;t<e.length;t++){if('"'===e[t]||"'"===e[t])""===n?n=e[t]:n!==e[t]||(n="");else if(">"===e[t]&&""===n){r=!0;break}A+=e[t]}return""===n&&{value:A,index:t,tagClosed:r}}var g=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function c(e,t){for(var A=n.getAllMatches(e,g),r={},i=0;i<A.length;i++){if(0===A[i][1].length)return l("InvalidAttr","Attribute '"+A[i][2]+"' has no space in starting.",h(A[i]));if(void 0===A[i][3]&&!t.allowBooleanAttributes)return l("InvalidAttr","boolean attribute '"+A[i][2]+"' is not allowed.",h(A[i]));var o=A[i][2];if(!I(o))return l("InvalidAttr","Attribute '"+o+"' is an invalid name.",h(A[i]));if(r.hasOwnProperty(o))return l("InvalidAttr","Attribute '"+o+"' is repeated.",h(A[i]));r[o]=1}return!0}function u(e,t){if(";"===e[++t])return-1;if("#"===e[t])return function(e,t){var A=/\d/;for("x"===e[t]&&(t++,A=/[\da-fA-F]/);t<e.length;t++){if(";"===e[t])return t;if(!e[t].match(A))break}return-1}(e,++t);for(var A=0;t<e.length;t++,A++)if(!(e[t].match(/\w/)&&A<20)){if(";"===e[t])break;return-1}return t}function l(e,t,A){return{err:{code:e,msg:t,line:A.line||A,col:A.col}}}function I(e){return n.isName(e)}function C(e,t){var A=e.substring(0,t).split(/\r?\n/);return{line:A.length,col:A[A.length-1].length+1}}function h(e){return e.startIndex+e[1].length}},function(e,t,A){"use strict";var n=function(e){return String.fromCharCode(e)},r={nilChar:n(176),missingChar:n(201),nilPremitive:n(175),missingPremitive:n(200),emptyChar:n(178),emptyValue:n(177),boundryChar:n(179),objStart:n(198),arrStart:n(204),arrayEnd:n(185)},i=[r.nilChar,r.nilPremitive,r.missingChar,r.missingPremitive,r.boundryChar,r.emptyChar,r.emptyValue,r.arrayEnd,r.objStart,r.arrStart],o=function e(t,A,n){if("string"===typeof A)return t&&t[0]&&void 0!==t[0].val?a(t[0].val,A):a(t,A);var i,o=void 0===(i=t)?r.missingChar:null===i?r.nilChar:!(i.child&&0===Object.keys(i.child).length&&(!i.attrsMap||0===Object.keys(i.attrsMap).length))||r.emptyChar;if(!0===o){var g="";if(Array.isArray(A)){g+=r.arrStart;var c=A[0],u=t.length;if("string"===typeof c)for(var l=0;l<u;l++){var I=a(t[l].val,c);g=s(g,I)}else for(var C=0;C<u;C++){var h=e(t[C],c,n);g=s(g,h)}g+=r.arrayEnd}else{g+=r.objStart;var f=Object.keys(A);for(var d in Array.isArray(t)&&(t=t[0]),f){var B=f[d],p=void 0;p=!n.ignoreAttributes&&t.attrsMap&&t.attrsMap[B]?e(t.attrsMap[B],A[B],n):B===n.textNodeName?e(t.val,A[B],n):e(t.child[B],A[B],n),g=s(g,p)}}return g}return o},a=function(e){switch(e){case void 0:return r.missingPremitive;case null:return r.nilPremitive;case"":return r.emptyValue;default:return e}},s=function(e,t){return g(t[0])||g(e[e.length-1])||(e+=r.boundryChar),e+t},g=function(e){return-1!==i.indexOf(e)};var c=A(356),u=A(172).buildOptions;t.convert2nimn=function(e,t,A){return A=u(A,c.defaultOptions,c.props),o(e,t,A)}},function(e,t,A){"use strict";var n=A(172),r=A(172).buildOptions,i=A(356),o=function e(t,A,r){for(var i,o="{",a=Object.keys(t.child),s=0;s<a.length;s++){var g=a[s];if(t.child[g]&&t.child[g].length>1){for(var c in o+='"'+g+'" : [ ',t.child[g])o+=e(t.child[g][c],A)+" , ";o=o.substr(0,o.length-1)+" ] "}else o+='"'+g+'" : '+e(t.child[g][0],A)+" ,"}return n.merge(o,t.attrsMap),n.isEmptyObject(o)?n.isExist(t.val)?t.val:"":(n.isExist(t.val)&&("string"!==typeof t.val||""!==t.val&&t.val!==A.cdataPositionChar)&&(o+='"'+A.textNodeName+'" : '+(!0!==(i=t.val)&&!1!==i&&isNaN(i)?'"'+i+'"':i)),","===o[o.length-1]&&(o=o.substr(0,o.length-2)),o+"}")};t.convertToJsonString=function(e,t){return(t=r(t,i.defaultOptions,i.props)).indentBy=t.indentBy||"",o(e,t,0)}},function(e,t,A){"use strict";var n=A(862),r=A(172).buildOptions,i={attributeNamePrefix:"@_",attrNodeName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataTagName:!1,cdataPositionChar:"\\c",format:!1,indentBy:" ",supressEmptyNode:!1,tagValueProcessor:function(e){return e},attrValueProcessor:function(e){return e}},o=["attributeNamePrefix","attrNodeName","textNodeName","ignoreAttributes","cdataTagName","cdataPositionChar","format","indentBy","supressEmptyNode","tagValueProcessor","attrValueProcessor","rootNodeName"];function a(e){this.options=r(e,i,o),this.options.ignoreAttributes||this.options.attrNodeName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=f),this.options.cdataTagName?this.isCDATA=d:this.isCDATA=function(){return!1},this.replaceCDATAstr=g,this.replaceCDATAarr=c,this.processTextOrObjNode=s,this.options.format?(this.indentate=h,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine=""),this.options.supressEmptyNode?(this.buildTextNode=C,this.buildObjNode=l):(this.buildTextNode=I,this.buildObjNode=u),this.buildTextValNode=I,this.buildObjectNode=u}function s(e,t,A){var n=this.j2x(e,A+1);return void 0!==e[this.options.textNodeName]&&1===Object.keys(e).length?this.buildTextNode(n.val,t,n.attrStr,A):this.buildObjNode(n.val,t,n.attrStr,A)}function g(e,t){return e=this.options.tagValueProcessor(""+e),""===this.options.cdataPositionChar||""===e?e+"<![CDATA["+t+"]]"+this.tagEndChar:e.replace(this.options.cdataPositionChar,"<![CDATA["+t+"]]"+this.tagEndChar)}function c(e,t){if(e=this.options.tagValueProcessor(""+e),""===this.options.cdataPositionChar||""===e)return e+"<![CDATA["+t.join("]]><![CDATA[")+"]]"+this.tagEndChar;for(var A in t)e=e.replace(this.options.cdataPositionChar,"<![CDATA["+t[A]+"]]>");return e+this.newLine}function u(e,t,A,n){return A&&-1===e.indexOf("<")?this.indentate(n)+"<"+t+A+">"+e+"</"+t+this.tagEndChar:this.indentate(n)+"<"+t+A+this.tagEndChar+e+this.indentate(n)+"</"+t+this.tagEndChar}function l(e,t,A,n){return""!==e?this.buildObjectNode(e,t,A,n):this.indentate(n)+"<"+t+A+"/"+this.tagEndChar}function I(e,t,A,n){return this.indentate(n)+"<"+t+A+">"+this.options.tagValueProcessor(e)+"</"+t+this.tagEndChar}function C(e,t,A,n){return""!==e?this.buildTextValNode(e,t,A,n):this.indentate(n)+"<"+t+A+"/"+this.tagEndChar}function h(e){return this.options.indentBy.repeat(e)}function f(e){return!!e.startsWith(this.options.attributeNamePrefix)&&e.substr(this.attrPrefixLen)}function d(e){return e===this.options.cdataTagName}a.prototype.parse=function(e){return Array.isArray(e)&&this.options.rootNodeName&&this.options.rootNodeName.length>1&&(e=n({},this.options.rootNodeName,e)),this.j2x(e,0).val},a.prototype.j2x=function(e,t){var A="",n="";for(var r in e)if("undefined"===typeof e[r]);else if(null===e[r])n+=this.indentate(t)+"<"+r+"/"+this.tagEndChar;else if(e[r]instanceof Date)n+=this.buildTextNode(e[r],r,"",t);else if("object"!==typeof e[r]){var i=this.isAttribute(r);i?A+=" "+i+'="'+this.options.attrValueProcessor(""+e[r])+'"':this.isCDATA(r)?e[this.options.textNodeName]?n+=this.replaceCDATAstr(e[this.options.textNodeName],e[r]):n+=this.replaceCDATAstr("",e[r]):r===this.options.textNodeName?e[this.options.cdataTagName]||(n+=this.options.tagValueProcessor(""+e[r])):n+=this.buildTextNode(e[r],r,"",t)}else if(Array.isArray(e[r]))if(this.isCDATA(r))n+=this.indentate(t),e[this.options.textNodeName]?n+=this.replaceCDATAarr(e[this.options.textNodeName],e[r]):n+=this.replaceCDATAarr("",e[r]);else for(var o=e[r].length,a=0;a<o;a++){var s=e[r][a];"undefined"===typeof s||(n+=null===s?this.indentate(t)+"<"+r+"/"+this.tagEndChar:"object"===typeof s?this.processTextOrObjNode(s,r,t):this.buildTextNode(s,r,"",t))}else if(this.options.attrNodeName&&r===this.options.attrNodeName)for(var g=Object.keys(e[r]),c=g.length,u=0;u<c;u++)A+=" "+g[u]+'="'+this.options.attrValueProcessor(""+e[r][g[u]])+'"';else n+=this.processTextOrObjNode(e[r],r,t);return{attrStr:A,val:n}},e.exports=a},function(e,t){e.exports=function(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}},,function(e,t,A){"use strict";var n=A(95),r=A(251);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"self",{enumerable:!0,get:function(){return i.self}}),Object.defineProperty(t,"window",{enumerable:!0,get:function(){return i.window}}),Object.defineProperty(t,"global",{enumerable:!0,get:function(){return i.global}}),Object.defineProperty(t,"document",{enumerable:!0,get:function(){return i.document}}),Object.defineProperty(t,"process",{enumerable:!0,get:function(){return i.process}}),Object.defineProperty(t,"console",{enumerable:!0,get:function(){return i.console}}),Object.defineProperty(t,"isBrowser",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"isBrowserMainThread",{enumerable:!0,get:function(){return o.isBrowserMainThread}}),Object.defineProperty(t,"getBrowser",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"isMobile",{enumerable:!0,get:function(){return a.isMobile}}),Object.defineProperty(t,"isElectron",{enumerable:!0,get:function(){return s.default}});var i=A(573),o=c(A(574)),a=c(A(865)),s=n(A(463));function g(e){if("function"!==typeof WeakMap)return null;var t=new WeakMap,A=new WeakMap;return(g=function(e){return e?A:t})(e)}function c(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!==typeof e)return{default:e};var A=g(t);if(A&&A.has(e))return A.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,A&&A.set(e,n),n}},function(e,t,A){"use strict";var n=A(95);Object.defineProperty(t,"__esModule",{value:!0}),t.isMobile=function(){return"undefined"!==typeof r.window.orientation},t.default=function(e){if(!e&&!(0,i.default)())return"Node";if((0,o.default)(e))return"Electron";var t="undefined"!==typeof navigator?navigator:{},A=e||t.userAgent||"";if(A.indexOf("Edge")>-1)return"Edge";var n=-1!==A.indexOf("MSIE "),a=-1!==A.indexOf("Trident/");if(n||a)return"IE";if(r.window.chrome)return"Chrome";if(r.window.safari)return"Safari";if(r.window.mozInnerScreenX)return"Firefox";return"Unknown"};var r=A(573),i=n(A(574)),o=n(A(463))},function(e,t,A){"use strict";function n(e){var t=this;if(t instanceof n||(t=new n),t.tail=null,t.head=null,t.length=0,e&&"function"===typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var A=0,r=arguments.length;A<r;A++)t.push(arguments[A]);return t}function r(e,t,A){var n=t===e.head?new a(A,null,t,e):new a(A,t,t.next,e);return null===n.next&&(e.tail=n),null===n.prev&&(e.head=n),e.length++,n}function i(e,t){e.tail=new a(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++}function o(e,t){e.head=new a(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++}function a(e,t,A,n){if(!(this instanceof a))return new a(e,t,A,n);this.list=n,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,A?(A.prev=this,this.next=A):this.next=null}e.exports=n,n.Node=a,n.create=n,n.prototype.removeNode=function(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");var t=e.next,A=e.prev;return t&&(t.prev=A),A&&(A.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=A),e.list.length--,e.next=null,e.prev=null,e.list=null,t},n.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}},n.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}},n.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)i(this,arguments[e]);return this.length},n.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++)o(this,arguments[e]);return this.length},n.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}},n.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}},n.prototype.forEach=function(e,t){t=t||this;for(var A=this.head,n=0;null!==A;n++)e.call(t,A.value,n,this),A=A.next},n.prototype.forEachReverse=function(e,t){t=t||this;for(var A=this.tail,n=this.length-1;null!==A;n--)e.call(t,A.value,n,this),A=A.prev},n.prototype.get=function(e){for(var t=0,A=this.head;null!==A&&t<e;t++)A=A.next;if(t===e&&null!==A)return A.value},n.prototype.getReverse=function(e){for(var t=0,A=this.tail;null!==A&&t<e;t++)A=A.prev;if(t===e&&null!==A)return A.value},n.prototype.map=function(e,t){t=t||this;for(var A=new n,r=this.head;null!==r;)A.push(e.call(t,r.value,this)),r=r.next;return A},n.prototype.mapReverse=function(e,t){t=t||this;for(var A=new n,r=this.tail;null!==r;)A.push(e.call(t,r.value,this)),r=r.prev;return A},n.prototype.reduce=function(e,t){var A,n=this.head;if(arguments.length>1)A=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");n=this.head.next,A=this.head.value}for(var r=0;null!==n;r++)A=e(A,n.value,r),n=n.next;return A},n.prototype.reduceReverse=function(e,t){var A,n=this.tail;if(arguments.length>1)A=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");n=this.tail.prev,A=this.tail.value}for(var r=this.length-1;null!==n;r--)A=e(A,n.value,r),n=n.prev;return A},n.prototype.toArray=function(){for(var e=new Array(this.length),t=0,A=this.head;null!==A;t++)e[t]=A.value,A=A.next;return e},n.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,A=this.tail;null!==A;t++)e[t]=A.value,A=A.prev;return e},n.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var A=new n;if(t<e||t<0)return A;e<0&&(e=0),t>this.length&&(t=this.length);for(var r=0,i=this.head;null!==i&&r<e;r++)i=i.next;for(;null!==i&&r<t;r++,i=i.next)A.push(i.value);return A},n.prototype.sliceReverse=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var A=new n;if(t<e||t<0)return A;e<0&&(e=0),t>this.length&&(t=this.length);for(var r=this.length,i=this.tail;null!==i&&r>t;r--)i=i.prev;for(;null!==i&&r>e;r--,i=i.prev)A.push(i.value);return A},n.prototype.splice=function(e,t){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var A=0,n=this.head;null!==n&&A<e;A++)n=n.next;var i=[];for(A=0;n&&A<t;A++)i.push(n.value),n=this.removeNode(n);null===n&&(n=this.tail),n!==this.head&&n!==this.tail&&(n=n.prev);for(A=0;A<(arguments.length<=2?0:arguments.length-2);A++)n=r(this,n,A+2<2||arguments.length<=A+2?void 0:arguments[A+2]);return i},n.prototype.reverse=function(){for(var e=this.head,t=this.tail,A=e;null!==A;A=A.prev){var n=A.prev;A.prev=A.next,A.next=n}return this.head=t,this.tail=e,this};try{A(867)(n)}catch(s){}},function(e,t,A){"use strict";var n=A(3);e.exports=function(e){e.prototype[Symbol.iterator]=n.mark((function e(){var t;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.head;case 1:if(!t){e.next=7;break}return e.next=4,t.value;case 4:t=t.next,e.next=1;break;case 7:case"end":return e.stop()}}),e,this)}))}},function(e,t,A){(function(e){var n;!function(e,r,i){function o(e){var t=this,A=function(){var e=4022871197;return function(t){t=String(t);for(var A=0;A<t.length;A++){var n=.02519603282416938*(e+=t.charCodeAt(A));n-=e=n>>>0,e=(n*=e)>>>0,e+=4294967296*(n-=e)}return 2.3283064365386963e-10*(e>>>0)}}();t.next=function(){var e=2091639*t.s0+2.3283064365386963e-10*t.c;return t.s0=t.s1,t.s1=t.s2,t.s2=e-(t.c=0|e)},t.c=1,t.s0=A(" "),t.s1=A(" "),t.s2=A(" "),t.s0-=A(e),t.s0<0&&(t.s0+=1),t.s1-=A(e),t.s1<0&&(t.s1+=1),t.s2-=A(e),t.s2<0&&(t.s2+=1),A=null}function a(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function s(e,t){var A=new o(e),n=t&&t.state,r=A.next;return r.int32=function(){return 4294967296*A.next()|0},r.double=function(){return r()+11102230246251565e-32*(2097152*r()|0)},r.quick=r,n&&("object"==typeof n&&a(n,A),r.state=function(){return a(A,{})}),r}r&&r.exports?r.exports=s:A(128)&&A(253)?void 0===(n=function(){return s}.call(t,A,t,r))||(r.exports=n):this.alea=s}(0,e,A(128))}).call(this,A(155)(e))},function(e,t,A){(function(e){var n;!function(e,r,i){function o(e){var t=this,A="";t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(0|e)?t.x=e:A+=e;for(var n=0;n<A.length+64;n++)t.x^=0|A.charCodeAt(n),t.next()}function a(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t}function s(e,t){var A=new o(e),n=t&&t.state,r=function(){return(A.next()>>>0)/4294967296};return r.double=function(){do{var e=((A.next()>>>11)+(A.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},r.int32=A.next,r.quick=r,n&&("object"==typeof n&&a(n,A),r.state=function(){return a(A,{})}),r}r&&r.exports?r.exports=s:A(128)&&A(253)?void 0===(n=function(){return s}.call(t,A,t,r))||(r.exports=n):this.xor128=s}(0,e,A(128))}).call(this,A(155)(e))},function(e,t,A){(function(e){var n;!function(e,r,i){function o(e){var t=this,A="";t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^e^e<<1)|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(0|e)?t.x=e:A+=e;for(var n=0;n<A.length+64;n++)t.x^=0|A.charCodeAt(n),n==A.length&&(t.d=t.x<<10^t.x>>>4),t.next()}function a(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function s(e,t){var A=new o(e),n=t&&t.state,r=function(){return(A.next()>>>0)/4294967296};return r.double=function(){do{var e=((A.next()>>>11)+(A.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},r.int32=A.next,r.quick=r,n&&("object"==typeof n&&a(n,A),r.state=function(){return a(A,{})}),r}r&&r.exports?r.exports=s:A(128)&&A(253)?void 0===(n=function(){return s}.call(t,A,t,r))||(r.exports=n):this.xorwow=s}(0,e,A(128))}).call(this,A(155)(e))},function(e,t,A){(function(e){var n;!function(e,r,i){function o(e){var t=this;t.next=function(){var e,A,n=t.x,r=t.i;return e=n[r],A=(e^=e>>>7)^e<<24,A^=(e=n[r+1&7])^e>>>10,A^=(e=n[r+3&7])^e>>>3,A^=(e=n[r+4&7])^e<<7,e=n[r+7&7],A^=(e^=e<<13)^e<<9,n[r]=A,t.i=r+1&7,A},function(e,t){var A,n=[];if(t===(0|t))n[0]=t;else for(t=""+t,A=0;A<t.length;++A)n[7&A]=n[7&A]<<15^t.charCodeAt(A)+n[A+1&7]<<13;for(;n.length<8;)n.push(0);for(A=0;A<8&&0===n[A];++A);for(8==A?n[7]=-1:n[A],e.x=n,e.i=0,A=256;A>0;--A)e.next()}(t,e)}function a(e,t){return t.x=e.x.slice(),t.i=e.i,t}function s(e,t){null==e&&(e=+new Date);var A=new o(e),n=t&&t.state,r=function(){return(A.next()>>>0)/4294967296};return r.double=function(){do{var e=((A.next()>>>11)+(A.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},r.int32=A.next,r.quick=r,n&&(n.x&&a(n,A),r.state=function(){return a(A,{})}),r}r&&r.exports?r.exports=s:A(128)&&A(253)?void 0===(n=function(){return s}.call(t,A,t,r))||(r.exports=n):this.xorshift7=s}(0,e,A(128))}).call(this,A(155)(e))},function(e,t,A){(function(e){var n;!function(e,r,i){function o(e){var t=this;t.next=function(){var e,A,n=t.w,r=t.X,i=t.i;return t.w=n=n+1640531527|0,A=r[i+34&127],e=r[i=i+1&127],A^=A<<13,e^=e<<17,A^=A>>>15,e^=e>>>12,A=r[i]=A^e,t.i=i,A+(n^n>>>16)|0},function(e,t){var A,n,r,i,o,a=[],s=128;for(t===(0|t)?(n=t,t=null):(t+="\0",n=0,s=Math.max(s,t.length)),r=0,i=-32;i<s;++i)t&&(n^=t.charCodeAt((i+32)%t.length)),0===i&&(o=n),n^=n<<10,n^=n>>>15,n^=n<<4,n^=n>>>13,i>=0&&(o=o+1640531527|0,r=0==(A=a[127&i]^=n+o)?r+1:0);for(r>=128&&(a[127&(t&&t.length||0)]=-1),r=127,i=512;i>0;--i)n=a[r+34&127],A=a[r=r+1&127],n^=n<<13,A^=A<<17,n^=n>>>15,A^=A>>>12,a[r]=n^A;e.w=o,e.X=a,e.i=r}(t,e)}function a(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function s(e,t){null==e&&(e=+new Date);var A=new o(e),n=t&&t.state,r=function(){return(A.next()>>>0)/4294967296};return r.double=function(){do{var e=((A.next()>>>11)+(A.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},r.int32=A.next,r.quick=r,n&&(n.X&&a(n,A),r.state=function(){return a(A,{})}),r}r&&r.exports?r.exports=s:A(128)&&A(253)?void 0===(n=function(){return s}.call(t,A,t,r))||(r.exports=n):this.xor4096=s}(0,e,A(128))}).call(this,A(155)(e))},function(e,t,A){(function(e){var n;!function(e,r,i){function o(e){var t=this,A="";t.next=function(){var e=t.b,A=t.c,n=t.d,r=t.a;return e=e<<25^e>>>7^A,A=A-n|0,n=n<<24^n>>>8^r,r=r-e|0,t.b=e=e<<20^e>>>12^A,t.c=A=A-n|0,t.d=n<<16^A>>>16^r,t.a=r-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=0|e):A+=e;for(var n=0;n<A.length+20;n++)t.b^=0|A.charCodeAt(n),t.next()}function a(e,t){return t.a=e.a,t.b=e.b,t.c=e.c,t.d=e.d,t}function s(e,t){var A=new o(e),n=t&&t.state,r=function(){return(A.next()>>>0)/4294967296};return r.double=function(){do{var e=((A.next()>>>11)+(A.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},r.int32=A.next,r.quick=r,n&&("object"==typeof n&&a(n,A),r.state=function(){return a(A,{})}),r}r&&r.exports?r.exports=s:A(128)&&A(253)?void 0===(n=function(){return s}.call(t,A,t,r))||(r.exports=n):this.tychei=s}(0,e,A(128))}).call(this,A(155)(e))},function(e,t,A){var n;!function(r,i,o){var a,s=o.pow(256,6),g=o.pow(2,52),c=2*g;function u(e,t,A){var n=[],u=C(function e(t,A){var n,r=[],i=typeof t;if(A&&"object"==i)for(n in t)try{r.push(e(t[n],A-1))}catch(o){}return r.length?r:"string"==i?t:t+"\0"}((t=1==t?{entropy:!0}:t||{}).entropy?[e,h(i)]:null==e?function(){try{var e;return a&&(e=a.randomBytes)?e=e(256):(e=new Uint8Array(256),(r.crypto||r.msCrypto).getRandomValues(e)),h(e)}catch(n){var t=r.navigator,A=t&&t.plugins;return[+new Date,r,A,r.screen,h(i)]}}():e,3),n),f=new l(n),d=function(){for(var e=f.g(6),t=s,A=0;e<g;)e=256*(e+A),t*=256,A=f.g(1);for(;e>=c;)e/=2,t/=2,A>>>=1;return(e+A)/t};return d.int32=function(){return 0|f.g(4)},d.quick=function(){return f.g(4)/4294967296},d.double=d,C(h(f.S),i),(t.pass||A||function(e,t,A,n){return n&&(n.S&&I(n,f),e.state=function(){return I(f,{})}),A?(o.random=e,t):e})(d,u,"global"in t?t.global:this==o,t.state)}function l(e){var t,A=e.length,n=this,r=0,i=n.i=n.j=0,o=n.S=[];for(A||(e=[A++]);r<256;)o[r]=r++;for(r=0;r<256;r++)o[r]=o[i=255&i+e[r%A]+(t=o[r])],o[i]=t;(n.g=function(e){for(var t,A=0,r=n.i,i=n.j,o=n.S;e--;)t=o[r=255&r+1],A=256*A+o[255&(o[r]=o[i=255&i+t])+(o[i]=t)];return n.i=r,n.j=i,A})(256)}function I(e,t){return t.i=e.i,t.j=e.j,t.S=e.S.slice(),t}function C(e,t){for(var A,n=e+"",r=0;r<n.length;)t[255&r]=255&(A^=19*t[255&r])+n.charCodeAt(r++);return h(t)}function h(e){return String.fromCharCode.apply(0,e)}if(C(o.random(),i),e.exports){e.exports=u;try{a=A(875)}catch(f){}}else void 0===(n=function(){return u}.call(t,A,t,e))||(e.exports=n)}("undefined"!==typeof self?self:this,[],Math)},,function(e,t,A){e.exports=function(){"use strict";function e(e,n,r,i,o){!function e(A,n,r,i,o){for(;i>r;){if(i-r>600){var a=i-r+1,s=n-r+1,g=Math.log(a),c=.5*Math.exp(2*g/3),u=.5*Math.sqrt(g*c*(a-c)/a)*(s-a/2<0?-1:1);e(A,n,Math.max(r,Math.floor(n-s*c/a+u)),Math.min(i,Math.floor(n+(a-s)*c/a+u)),o)}var l=A[n],I=r,C=i;for(t(A,r,n),o(A[i],l)>0&&t(A,r,i);I<C;){for(t(A,I,C),I++,C--;o(A[I],l)<0;)I++;for(;o(A[C],l)>0;)C--}0===o(A[r],l)?t(A,r,C):t(A,++C,i),C<=n&&(r=C+1),n<=C&&(i=C-1)}}(e,n,r||0,i||e.length-1,o||A)}function t(e,t,A){var n=e[t];e[t]=e[A],e[A]=n}function A(e,t){return e<t?-1:e>t?1:0}var n=function(e){void 0===e&&(e=9),this._maxEntries=Math.max(4,e),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function r(e,t,A){if(!A)return t.indexOf(e);for(var n=0;n<t.length;n++)if(A(e,t[n]))return n;return-1}function i(e,t){o(e,0,e.children.length,t,e)}function o(e,t,A,n,r){r||(r=C(null)),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(var i=t;i<A;i++){var o=e.children[i];a(r,e.leaf?n(o):o)}return r}function a(e,t){return e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),e}function s(e,t){return e.minX-t.minX}function g(e,t){return e.minY-t.minY}function c(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function u(e){return e.maxX-e.minX+(e.maxY-e.minY)}function l(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function I(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function C(e){return{children:e,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function h(t,A,n,r,i){for(var o=[A,n];o.length;)if(!((n=o.pop())-(A=o.pop())<=r)){var a=A+Math.ceil((n-A)/r/2)*r;e(t,a,A,n,i),o.push(A,a,a,n)}}return n.prototype.all=function(){return this._all(this.data,[])},n.prototype.search=function(e){var t=this.data,A=[];if(!I(e,t))return A;for(var n=this.toBBox,r=[];t;){for(var i=0;i<t.children.length;i++){var o=t.children[i],a=t.leaf?n(o):o;I(e,a)&&(t.leaf?A.push(o):l(e,a)?this._all(o,A):r.push(o))}t=r.pop()}return A},n.prototype.collides=function(e){var t=this.data;if(!I(e,t))return!1;for(var A=[];t;){for(var n=0;n<t.children.length;n++){var r=t.children[n],i=t.leaf?this.toBBox(r):r;if(I(e,i)){if(t.leaf||l(e,i))return!0;A.push(r)}}t=A.pop()}return!1},n.prototype.load=function(e){if(!e||!e.length)return this;if(e.length<this._minEntries){for(var t=0;t<e.length;t++)this.insert(e[t]);return this}var A=this._build(e.slice(),0,e.length-1,0);if(this.data.children.length)if(this.data.height===A.height)this._splitRoot(this.data,A);else{if(this.data.height<A.height){var n=this.data;this.data=A,A=n}this._insert(A,this.data.height-A.height-1,!0)}else this.data=A;return this},n.prototype.insert=function(e){return e&&this._insert(e,this.data.height-1),this},n.prototype.clear=function(){return this.data=C([]),this},n.prototype.remove=function(e,t){if(!e)return this;for(var A,n,i,o=this.data,a=this.toBBox(e),s=[],g=[];o||s.length;){if(o||(o=s.pop(),n=s[s.length-1],A=g.pop(),i=!0),o.leaf){var c=r(e,o.children,t);if(-1!==c)return o.children.splice(c,1),s.push(o),this._condense(s),this}i||o.leaf||!l(o,a)?n?(A++,o=n.children[A],i=!1):o=null:(s.push(o),g.push(A),A=0,n=o,o=o.children[0])}return this},n.prototype.toBBox=function(e){return e},n.prototype.compareMinX=function(e,t){return e.minX-t.minX},n.prototype.compareMinY=function(e,t){return e.minY-t.minY},n.prototype.toJSON=function(){return this.data},n.prototype.fromJSON=function(e){return this.data=e,this},n.prototype._all=function(e,t){for(var A=[];e;)e.leaf?t.push.apply(t,e.children):A.push.apply(A,e.children),e=A.pop();return t},n.prototype._build=function(e,t,A,n){var r,o=A-t+1,a=this._maxEntries;if(o<=a)return i(r=C(e.slice(t,A+1)),this.toBBox),r;n||(n=Math.ceil(Math.log(o)/Math.log(a)),a=Math.ceil(o/Math.pow(a,n-1))),(r=C([])).leaf=!1,r.height=n;var s=Math.ceil(o/a),g=s*Math.ceil(Math.sqrt(a));h(e,t,A,g,this.compareMinX);for(var c=t;c<=A;c+=g){var u=Math.min(c+g-1,A);h(e,c,u,s,this.compareMinY);for(var l=c;l<=u;l+=s){var I=Math.min(l+s-1,u);r.children.push(this._build(e,l,I,n-1))}}return i(r,this.toBBox),r},n.prototype._chooseSubtree=function(e,t,A,n){for(;n.push(t),!t.leaf&&n.length-1!==A;){for(var r=1/0,i=1/0,o=void 0,a=0;a<t.children.length;a++){var s=t.children[a],g=c(s),u=(l=e,I=s,(Math.max(I.maxX,l.maxX)-Math.min(I.minX,l.minX))*(Math.max(I.maxY,l.maxY)-Math.min(I.minY,l.minY))-g);u<i?(i=u,r=g<r?g:r,o=s):u===i&&g<r&&(r=g,o=s)}t=o||t.children[0]}var l,I;return t},n.prototype._insert=function(e,t,A){var n=A?e:this.toBBox(e),r=[],i=this._chooseSubtree(n,this.data,t,r);for(i.children.push(e),a(i,n);t>=0&&r[t].children.length>this._maxEntries;)this._split(r,t),t--;this._adjustParentBBoxes(n,r,t)},n.prototype._split=function(e,t){var A=e[t],n=A.children.length,r=this._minEntries;this._chooseSplitAxis(A,r,n);var o=this._chooseSplitIndex(A,r,n),a=C(A.children.splice(o,A.children.length-o));a.height=A.height,a.leaf=A.leaf,i(A,this.toBBox),i(a,this.toBBox),t?e[t-1].children.push(a):this._splitRoot(A,a)},n.prototype._splitRoot=function(e,t){this.data=C([e,t]),this.data.height=e.height+1,this.data.leaf=!1,i(this.data,this.toBBox)},n.prototype._chooseSplitIndex=function(e,t,A){for(var n,r,i,a,s,g,u,l=1/0,I=1/0,C=t;C<=A-t;C++){var h=o(e,0,C,this.toBBox),f=o(e,C,A,this.toBBox),d=(r=h,i=f,a=Math.max(r.minX,i.minX),s=Math.max(r.minY,i.minY),g=Math.min(r.maxX,i.maxX),u=Math.min(r.maxY,i.maxY),Math.max(0,g-a)*Math.max(0,u-s)),B=c(h)+c(f);d<l?(l=d,n=C,I=B<I?B:I):d===l&&B<I&&(I=B,n=C)}return n||A-t},n.prototype._chooseSplitAxis=function(e,t,A){var n=e.leaf?this.compareMinX:s,r=e.leaf?this.compareMinY:g;this._allDistMargin(e,t,A,n)<this._allDistMargin(e,t,A,r)&&e.children.sort(n)},n.prototype._allDistMargin=function(e,t,A,n){e.children.sort(n);for(var r=this.toBBox,i=o(e,0,t,r),s=o(e,A-t,A,r),g=u(i)+u(s),c=t;c<A-t;c++){var l=e.children[c];a(i,e.leaf?r(l):l),g+=u(i)}for(var I=A-t-1;I>=t;I--){var C=e.children[I];a(s,e.leaf?r(C):C),g+=u(s)}return g},n.prototype._adjustParentBBoxes=function(e,t,A){for(var n=A;n>=0;n--)a(t[n],e)},n.prototype._condense=function(e){for(var t=e.length-1,A=void 0;t>=0;t--)0===e[t].children.length?t>0?(A=e[t-1].children).splice(A.indexOf(e[t]),1):this.clear():i(e[t],this.toBBox)},n}()},function(e,t,A){e.exports=function(){"use strict";var e=function(e,A){if(void 0===e&&(e=[]),void 0===A&&(A=t),this.data=e,this.length=this.data.length,this.compare=A,this.length>0)for(var n=(this.length>>1)-1;n>=0;n--)this._down(n)};function t(e,t){return e<t?-1:e>t?1:0}return e.prototype.push=function(e){this.data.push(e),this.length++,this._up(this.length-1)},e.prototype.pop=function(){if(0!==this.length){var e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}},e.prototype.peek=function(){return this.data[0]},e.prototype._up=function(e){for(var t=this.data,A=this.compare,n=t[e];e>0;){var r=e-1>>1,i=t[r];if(A(n,i)>=0)break;t[e]=i,e=r}t[e]=n},e.prototype._down=function(e){for(var t=this.data,A=this.compare,n=this.length>>1,r=t[e];e<n;){var i=1+(e<<1),o=t[i],a=i+1;if(a<this.length&&A(t[a],o)<0&&(i=a,o=t[a]),A(o,r)>=0)break;t[e]=o,e=i}t[e]=r},e}()},function(e,t,A){var n=A(879),r=A(880);e.exports=function(e,t,A,i){return t.length>0&&Array.isArray(t[0])?r(e,t,A,i):n(e,t,A,i)},e.exports.nested=r,e.exports.flat=n},function(e,t){e.exports=function(e,t,A,n){var r=e[0],i=e[1],o=!1;void 0===A&&(A=0),void 0===n&&(n=t.length);for(var a=(n-A)/2,s=0,g=a-1;s<a;g=s++){var c=t[A+2*s+0],u=t[A+2*s+1],l=t[A+2*g+0],I=t[A+2*g+1];u>i!==I>i&&r<(l-c)*(i-u)/(I-u)+c&&(o=!o)}return o}},function(e,t){e.exports=function(e,t,A,n){var r=e[0],i=e[1],o=!1;void 0===A&&(A=0),void 0===n&&(n=t.length);for(var a=n-A,s=0,g=a-1;s<a;g=s++){var c=t[s+A][0],u=t[s+A][1],l=t[g+A][0],I=t[g+A][1];u>i!==I>i&&r<(l-c)*(i-u)/(I-u)+c&&(o=!o)}return o}},function(e,t,A){!function(e){"use strict";var t=134217729;function A(e,t,A,n,r){var i,o,a,s,g=t[0],c=n[0],u=0,l=0;c>g==c>-g?(i=g,g=t[++u]):(i=c,c=n[++l]);var I=0;if(u<e&&l<A)for(c>g==c>-g?(a=i-((o=g+i)-g),g=t[++u]):(a=i-((o=c+i)-c),c=n[++l]),i=o,0!==a&&(r[I++]=a);u<e&&l<A;)c>g==c>-g?(a=i-((o=i+g)-(s=o-i))+(g-s),g=t[++u]):(a=i-((o=i+c)-(s=o-i))+(c-s),c=n[++l]),i=o,0!==a&&(r[I++]=a);for(;u<e;)a=i-((o=i+g)-(s=o-i))+(g-s),g=t[++u],i=o,0!==a&&(r[I++]=a);for(;l<A;)a=i-((o=i+c)-(s=o-i))+(c-s),c=n[++l],i=o,0!==a&&(r[I++]=a);return 0===i&&0!==I||(r[I++]=i),I}function n(e){return new Float64Array(e)}var r=n(4),i=n(8),o=n(12),a=n(16),s=n(4);e.orient2d=function(e,n,g,c,u,l){var I=(n-l)*(g-u),C=(e-u)*(c-l),h=I-C;if(0===I||0===C||I>0!=C>0)return h;var f=Math.abs(I+C);return Math.abs(h)>=33306690738754716e-32*f?h:-function(e,n,g,c,u,l,I){var C,h,f,d,B,p,E,Q,y,v,m,b,w,S,F,R,D,G,k=e-u,x=g-u,N=n-l,U=c-l;B=(F=(Q=k-(E=(p=t*k)-(p-k)))*(v=U-(y=(p=t*U)-(p-U)))-((S=k*U)-E*y-Q*y-E*v))-(m=F-(D=(Q=N-(E=(p=t*N)-(p-N)))*(v=x-(y=(p=t*x)-(p-x)))-((R=N*x)-E*y-Q*y-E*v))),r[0]=F-(m+B)+(B-D),B=(w=S-((b=S+m)-(B=b-S))+(m-B))-(m=w-R),r[1]=w-(m+B)+(B-R),B=(G=b+m)-b,r[2]=b-(G-B)+(m-B),r[3]=G;var _=function(e,t){for(var A=t[0],n=1;n<4;n++)A+=t[n];return A}(0,r),M=22204460492503146e-32*I;if(_>=M||-_>=M)return _;if(C=e-(k+(B=e-k))+(B-u),f=g-(x+(B=g-x))+(B-u),h=n-(N+(B=n-N))+(B-l),d=c-(U+(B=c-U))+(B-l),0===C&&0===h&&0===f&&0===d)return _;if(M=11093356479670487e-47*I+33306690738754706e-32*Math.abs(_),(_+=k*d+U*C-(N*f+x*h))>=M||-_>=M)return _;B=(F=(Q=C-(E=(p=t*C)-(p-C)))*(v=U-(y=(p=t*U)-(p-U)))-((S=C*U)-E*y-Q*y-E*v))-(m=F-(D=(Q=h-(E=(p=t*h)-(p-h)))*(v=x-(y=(p=t*x)-(p-x)))-((R=h*x)-E*y-Q*y-E*v))),s[0]=F-(m+B)+(B-D),B=(w=S-((b=S+m)-(B=b-S))+(m-B))-(m=w-R),s[1]=w-(m+B)+(B-R),B=(G=b+m)-b,s[2]=b-(G-B)+(m-B),s[3]=G;var O=A(4,r,4,s,i);B=(F=(Q=k-(E=(p=t*k)-(p-k)))*(v=d-(y=(p=t*d)-(p-d)))-((S=k*d)-E*y-Q*y-E*v))-(m=F-(D=(Q=N-(E=(p=t*N)-(p-N)))*(v=f-(y=(p=t*f)-(p-f)))-((R=N*f)-E*y-Q*y-E*v))),s[0]=F-(m+B)+(B-D),B=(w=S-((b=S+m)-(B=b-S))+(m-B))-(m=w-R),s[1]=w-(m+B)+(B-R),B=(G=b+m)-b,s[2]=b-(G-B)+(m-B),s[3]=G;var L=A(O,i,4,s,o);B=(F=(Q=C-(E=(p=t*C)-(p-C)))*(v=d-(y=(p=t*d)-(p-d)))-((S=C*d)-E*y-Q*y-E*v))-(m=F-(D=(Q=h-(E=(p=t*h)-(p-h)))*(v=f-(y=(p=t*f)-(p-f)))-((R=h*f)-E*y-Q*y-E*v))),s[0]=F-(m+B)+(B-D),B=(w=S-((b=S+m)-(B=b-S))+(m-B))-(m=w-R),s[1]=w-(m+B)+(B-R),B=(G=b+m)-b,s[2]=b-(G-B)+(m-B),s[3]=G;var T=A(L,o,4,s,a);return a[T-1]}(e,n,g,c,u,l,f)},e.orient2dfast=function(e,t,A,n,r,i){return(t-i)*(A-r)-(e-r)*(n-i)},Object.defineProperty(e,"__esModule",{value:!0})}(t)},function(e,t,A){var n=A(140);e.exports=function(){return n.Date.now()}},function(e,t,A){var n=A(343),r=A(583),i=A(584),o=A(884),a=A(885),s=A(586),g=A(587),c=A(888),u=A(889),l=A(547),I=A(890),C=A(351),h=A(891),f=A(892),d=A(590),B=A(111),p=A(349),E=A(897),Q=A(127),y=A(899),v=A(298),m={};m["[object Arguments]"]=m["[object Array]"]=m["[object ArrayBuffer]"]=m["[object DataView]"]=m["[object Boolean]"]=m["[object Date]"]=m["[object Float32Array]"]=m["[object Float64Array]"]=m["[object Int8Array]"]=m["[object Int16Array]"]=m["[object Int32Array]"]=m["[object Map]"]=m["[object Number]"]=m["[object Object]"]=m["[object RegExp]"]=m["[object Set]"]=m["[object String]"]=m["[object Symbol]"]=m["[object Uint8Array]"]=m["[object Uint8ClampedArray]"]=m["[object Uint16Array]"]=m["[object Uint32Array]"]=!0,m["[object Error]"]=m["[object Function]"]=m["[object WeakMap]"]=!1,e.exports=function e(t,A,b,w,S,F){var R,D=1&A,G=2&A,k=4&A;if(b&&(R=S?b(t,w,S,F):b(t)),void 0!==R)return R;if(!Q(t))return t;var x=B(t);if(x){if(R=h(t),!D)return g(t,R)}else{var N=C(t),U="[object Function]"==N||"[object GeneratorFunction]"==N;if(p(t))return s(t,D);if("[object Object]"==N||"[object Arguments]"==N||U&&!S){if(R=G||U?{}:d(t),!D)return G?u(t,a(R,t)):c(t,o(R,t))}else{if(!m[N])return S?t:{};R=f(t,N,D)}}F||(F=new n);var _=F.get(t);if(_)return _;F.set(t,R),y(t)?t.forEach((function(n){R.add(e(n,A,b,n,t,F))})):E(t)&&t.forEach((function(n,r){R.set(r,e(n,A,b,r,t,F))}));var M=k?G?I:l:G?keysIn:v,O=x?void 0:M(t);return r(O||t,(function(n,r){O&&(n=t[r=n]),i(R,r,e(n,A,b,r,t,F))})),R}},function(e,t,A){var n=A(301),r=A(298);e.exports=function(e,t){return e&&n(t,r(t),e)}},function(e,t,A){var n=A(301),r=A(357);e.exports=function(e,t){return e&&n(t,r(t),e)}},function(e,t,A){var n=A(127),r=A(457),i=A(887),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return i(e);var t=r(e),A=[];for(var a in e)("constructor"!=a||!t&&o.call(e,a))&&A.push(a);return A}},function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var A in Object(e))t.push(A);return t}},function(e,t,A){var n=A(301),r=A(452);e.exports=function(e,t){return n(e,r(e),t)}},function(e,t,A){var n=A(301),r=A(588);e.exports=function(e,t){return n(e,r(e),t)}},function(e,t,A){var n=A(548),r=A(588),i=A(357);e.exports=function(e){return n(e,i,r)}},function(e,t){var A=Object.prototype.hasOwnProperty;e.exports=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&A.call(e,"index")&&(n.index=e.index,n.input=e.input),n}},function(e,t,A){var n=A(467),r=A(893),i=A(894),o=A(895),a=A(589);e.exports=function(e,t,A){var s=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new s(+e);case"[object DataView]":return r(e,A);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return a(e,A);case"[object Map]":return new s;case"[object Number]":case"[object String]":return new s(e);case"[object RegExp]":return i(e);case"[object Set]":return new s;case"[object Symbol]":return o(e)}}},function(e,t,A){var n=A(467);e.exports=function(e,t){var A=t?n(e.buffer):e.buffer;return new e.constructor(A,e.byteOffset,e.byteLength)}},function(e,t){var A=/\w*$/;e.exports=function(e){var t=new e.constructor(e.source,A.exec(e));return t.lastIndex=e.lastIndex,t}},function(e,t,A){var n=A(247),r=n?n.prototype:void 0,i=r?r.valueOf:void 0;e.exports=function(e){return i?Object(i.call(e)):{}}},function(e,t,A){var n=A(127),r=Object.create,i=function(){function e(){}return function(t){if(!n(t))return{};if(r)return r(t);e.prototype=t;var A=new e;return e.prototype=void 0,A}}();e.exports=i},function(e,t,A){var n=A(898),r=A(350),i=A(456),o=i&&i.isMap,a=o?r(o):n;e.exports=a},function(e,t,A){var n=A(351),r=A(154);e.exports=function(e){return r(e)&&"[object Map]"==n(e)}},function(e,t,A){var n=A(900),r=A(350),i=A(456),o=i&&i.isSet,a=o?r(o):n;e.exports=a},function(e,t,A){var n=A(351),r=A(154);e.exports=function(e){return r(e)&&"[object Set]"==n(e)}},function(e,t,A){"use strict";var n="function"===typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,i=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,a=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,g=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,l=n?Symbol.for("react.concurrent_mode"):60111,I=n?Symbol.for("react.forward_ref"):60112,C=n?Symbol.for("react.suspense"):60113,h=n?Symbol.for("react.suspense_list"):60120,f=n?Symbol.for("react.memo"):60115,d=n?Symbol.for("react.lazy"):60116,B=n?Symbol.for("react.block"):60121,p=n?Symbol.for("react.fundamental"):60117,E=n?Symbol.for("react.responder"):60118,Q=n?Symbol.for("react.scope"):60119;function y(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case l:case o:case s:case a:case C:return e;default:switch(e=e&&e.$$typeof){case c:case I:case d:case f:case g:return e;default:return t}}case i:return t}}}function v(e){return y(e)===l}t.AsyncMode=u,t.ConcurrentMode=l,t.ContextConsumer=c,t.ContextProvider=g,t.Element=r,t.ForwardRef=I,t.Fragment=o,t.Lazy=d,t.Memo=f,t.Portal=i,t.Profiler=s,t.StrictMode=a,t.Suspense=C,t.isAsyncMode=function(e){return v(e)||y(e)===u},t.isConcurrentMode=v,t.isContextConsumer=function(e){return y(e)===c},t.isContextProvider=function(e){return y(e)===g},t.isElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return y(e)===I},t.isFragment=function(e){return y(e)===o},t.isLazy=function(e){return y(e)===d},t.isMemo=function(e){return y(e)===f},t.isPortal=function(e){return y(e)===i},t.isProfiler=function(e){return y(e)===s},t.isStrictMode=function(e){return y(e)===a},t.isSuspense=function(e){return y(e)===C},t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===o||e===l||e===s||e===a||e===C||e===h||"object"===typeof e&&null!==e&&(e.$$typeof===d||e.$$typeof===f||e.$$typeof===g||e.$$typeof===c||e.$$typeof===I||e.$$typeof===p||e.$$typeof===E||e.$$typeof===Q||e.$$typeof===B)},t.typeOf=y},function(e,t){function A(t,n){return e.exports=A=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},A(t,n)}e.exports=A},function(e,t){e.exports=function(e,t){if(null==e)return{};var A,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)A=i[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,A=new Array(e.length);t<e.length;t++)A[t]=e[t];return A}}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,A){var n=A(247),r=A(348),i=A(111),o=n?n.isConcatSpreadable:void 0;e.exports=function(e){return i(e)||r(e)||!!(o&&e&&e[o])}},function(e,t,A){var n=A(912),r=Math.max;e.exports=function(e,t,A){return t=r(void 0===t?e.length-1:t,0),function(){for(var i=arguments,o=-1,a=r(i.length-t,0),s=Array(a);++o<a;)s[o]=i[t+o];o=-1;for(var g=Array(t+1);++o<t;)g[o]=i[o];return g[t]=A(s),n(e,this,g)}}},function(e,t){e.exports=function(e,t,A){switch(A.length){case 0:return e.call(t);case 1:return e.call(t,A[0]);case 2:return e.call(t,A[0],A[1]);case 3:return e.call(t,A[0],A[1],A[2])}return e.apply(t,A)}},function(e,t,A){var n=A(914),r=A(916)(n);e.exports=r},function(e,t,A){var n=A(915),r=A(585),i=A(358),o=r?function(e,t){return r(e,"toString",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:i;e.exports=o},function(e,t){e.exports=function(e){return function(){return e}}},function(e,t){var A=Date.now;e.exports=function(e){var t=0,n=0;return function(){var r=A(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,A){var n=A(448),r=A(592),i=A(593),o=A(449),a=A(922),s=A(450);e.exports=function(e,t,A){var g=-1,c=r,u=e.length,l=!0,I=[],C=I;if(A)l=!1,c=i;else if(u>=200){var h=t?null:a(e);if(h)return s(h);l=!1,c=o,C=new n}else C=t?[]:I;e:for(;++g<u;){var f=e[g],d=t?t(f):f;if(f=A||0!==f?f:0,l&&d===d){for(var B=C.length;B--;)if(C[B]===d)continue e;t&&C.push(d),I.push(f)}else c(C,d,A)||(C!==I&&C.push(d),I.push(f))}return I}},function(e,t,A){var n=A(919),r=A(920),i=A(921);e.exports=function(e,t,A){return t===t?i(e,t,A):n(e,r,A)}},function(e,t){e.exports=function(e,t,A,n){for(var r=e.length,i=A+(n?1:-1);n?i--:++i<r;)if(t(e[i],i,e))return i;return-1}},function(e,t){e.exports=function(e){return e!==e}},function(e,t){e.exports=function(e,t,A){for(var n=A-1,r=e.length;++n<r;)if(e[n]===t)return n;return-1}},function(e,t,A){var n=A(552),r=A(923),i=A(450),o=n&&1/i(new n([,-0]))[1]==1/0?function(e){return new n(e)}:r;e.exports=o},function(e,t){e.exports=function(){}},function(e,t,A){var n=A(448),r=A(592),i=A(593),o=A(472),a=A(350),s=A(449);e.exports=function(e,t,A,g){var c=-1,u=r,l=!0,I=e.length,C=[],h=t.length;if(!I)return C;A&&(t=o(t,a(A))),g?(u=i,l=!1):t.length>=200&&(u=s,l=!1,t=new n(t));e:for(;++c<I;){var f=e[c],d=null==A?f:A(f);if(f=g||0!==f?f:0,l&&d===d){for(var B=h;B--;)if(t[B]===d)continue e;C.push(f)}else u(t,d,g)||C.push(f)}return C}},function(e,t,A){e.exports={default:A(926),__esModule:!0}},function(e,t,A){A(927),e.exports=A(191).Object.assign},function(e,t,A){var n=A(254);n(n.S+n.F,"Object",{assign:A(929)})},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,A){"use strict";var n=A(192),r=A(360),i=A(479),o=A(363),a=A(480),s=A(598),g=Object.assign;e.exports=!g||A(303)((function(){var e={},t={},A=Symbol(),n="abcdefghijklmnopqrst";return e[A]=7,n.split("").forEach((function(e){t[e]=e})),7!=g({},e)[A]||Object.keys(g({},t)).join("")!=n}))?function(e,t){for(var A=a(e),g=arguments.length,c=1,u=i.f,l=o.f;g>c;)for(var I,C=s(arguments[c++]),h=u?r(C).concat(u(C)):r(C),f=h.length,d=0;f>d;)I=h[d++],n&&!l.call(C,I)||(A[I]=C[I]);return A}:g},function(e,t,A){var n=A(257),r=A(931),i=A(932);e.exports=function(e){return function(t,A,o){var a,s=n(t),g=r(s.length),c=i(o,g);if(e&&A!=A){for(;g>c;)if((a=s[c++])!=a)return!0}else for(;g>c;c++)if((e||c in s)&&s[c]===A)return e||c||0;return!e&&-1}}},function(e,t,A){var n=A(475),r=Math.min;e.exports=function(e){return e>0?r(n(e),9007199254740991):0}},function(e,t,A){var n=A(475),r=Math.max,i=Math.min;e.exports=function(e,t){return(e=n(e))<0?r(e+t,0):i(e,t)}},function(e,t,A){A(934);var n=A(191).Object;e.exports=function(e,t,A){return n.defineProperty(e,t,A)}},function(e,t,A){var n=A(254);n(n.S+n.F*!A(192),"Object",{defineProperty:A(217).f})},function(e,t,A){e.exports={default:A(936),__esModule:!0}},function(e,t,A){A(937),A(943),e.exports=A(484).f("iterator")},function(e,t,A){"use strict";var n=A(938)(!0);A(602)(String,"String",(function(e){this._t=String(e),this._i=0}),(function(){var e,t=this._t,A=this._i;return A>=t.length?{value:void 0,done:!0}:(e=n(t,A),this._i+=e.length,{value:e,done:!1})}))},function(e,t,A){var n=A(475),r=A(474);e.exports=function(e){return function(t,A){var i,o,a=String(r(t)),s=n(A),g=a.length;return s<0||s>=g?e?"":void 0:(i=a.charCodeAt(s))<55296||i>56319||s+1===g||(o=a.charCodeAt(s+1))<56320||o>57343?e?a.charAt(s):i:e?a.slice(s,s+2):o-56320+(i-55296<<10)+65536}}},function(e,t,A){"use strict";var n=A(482),r=A(359),i=A(483),o={};A(255)(o,A(258)("iterator"),(function(){return this})),e.exports=function(e,t,A){e.prototype=n(o,{next:r(1,A)}),i(e,t+" Iterator")}},function(e,t,A){var n=A(217),r=A(302),i=A(360);e.exports=A(192)?Object.defineProperties:function(e,t){r(e);for(var A,o=i(t),a=o.length,s=0;a>s;)n.f(e,A=o[s++],t[A]);return e}},function(e,t,A){var n=A(190).document;e.exports=n&&n.documentElement},function(e,t,A){var n=A(218),r=A(480),i=A(476)("IE_PROTO"),o=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=r(e),n(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?o:null}},function(e,t,A){A(944);for(var n=A(190),r=A(255),i=A(481),o=A(258)("toStringTag"),a="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),s=0;s<a.length;s++){var g=a[s],c=n[g],u=c&&c.prototype;u&&!u[o]&&r(u,o,g),i[g]=i.Array}},function(e,t,A){"use strict";var n=A(945),r=A(946),i=A(481),o=A(257);e.exports=A(602)(Array,"Array",(function(e,t){this._t=o(e),this._i=0,this._k=t}),(function(){var e=this._t,t=this._k,A=this._i++;return!e||A>=e.length?(this._t=void 0,r(1)):r(0,"keys"==t?A:"values"==t?e[A]:[A,e[A]])}),"values"),i.Arguments=i.Array,n("keys"),n("values"),n("entries")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,A){e.exports={default:A(948),__esModule:!0}},function(e,t,A){A(949),A(954),A(955),A(956),e.exports=A(191).Symbol},function(e,t,A){"use strict";var n=A(190),r=A(218),i=A(192),o=A(254),a=A(603),s=A(950).KEY,g=A(303),c=A(477),u=A(483),l=A(362),I=A(258),C=A(484),h=A(485),f=A(951),d=A(952),B=A(302),p=A(256),E=A(480),Q=A(257),y=A(473),v=A(359),m=A(482),b=A(953),w=A(605),S=A(479),F=A(217),R=A(360),D=w.f,G=F.f,k=b.f,x=n.Symbol,N=n.JSON,U=N&&N.stringify,_=I("_hidden"),M=I("toPrimitive"),O={}.propertyIsEnumerable,L=c("symbol-registry"),T=c("symbols"),Z=c("op-symbols"),H=Object.prototype,Y="function"==typeof x&&!!S.f,J=n.QObject,j=!J||!J.prototype||!J.prototype.findChild,P=i&&g((function(){return 7!=m(G({},"a",{get:function(){return G(this,"a",{value:7}).a}})).a}))?function(e,t,A){var n=D(H,t);n&&delete H[t],G(e,t,A),n&&e!==H&&G(H,t,n)}:G,V=function(e){var t=T[e]=m(x.prototype);return t._k=e,t},K=Y&&"symbol"==typeof x.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof x},W=function(e,t,A){return e===H&&W(Z,t,A),B(e),t=y(t,!0),B(A),r(T,t)?(A.enumerable?(r(e,_)&&e[_][t]&&(e[_][t]=!1),A=m(A,{enumerable:v(0,!1)})):(r(e,_)||G(e,_,v(1,{})),e[_][t]=!0),P(e,t,A)):G(e,t,A)},X=function(e,t){B(e);for(var A,n=f(t=Q(t)),r=0,i=n.length;i>r;)W(e,A=n[r++],t[A]);return e},q=function(e){var t=O.call(this,e=y(e,!0));return!(this===H&&r(T,e)&&!r(Z,e))&&(!(t||!r(this,e)||!r(T,e)||r(this,_)&&this[_][e])||t)},z=function(e,t){if(e=Q(e),t=y(t,!0),e!==H||!r(T,t)||r(Z,t)){var A=D(e,t);return!A||!r(T,t)||r(e,_)&&e[_][t]||(A.enumerable=!0),A}},$=function(e){for(var t,A=k(Q(e)),n=[],i=0;A.length>i;)r(T,t=A[i++])||t==_||t==s||n.push(t);return n},ee=function(e){for(var t,A=e===H,n=k(A?Z:Q(e)),i=[],o=0;n.length>o;)!r(T,t=n[o++])||A&&!r(H,t)||i.push(T[t]);return i};Y||(a((x=function(){if(this instanceof x)throw TypeError("Symbol is not a constructor!");var e=l(arguments.length>0?arguments[0]:void 0),t=function t(A){this===H&&t.call(Z,A),r(this,_)&&r(this[_],e)&&(this[_][e]=!1),P(this,e,v(1,A))};return i&&j&&P(H,e,{configurable:!0,set:t}),V(e)}).prototype,"toString",(function(){return this._k})),w.f=z,F.f=W,A(604).f=b.f=$,A(363).f=q,S.f=ee,i&&!A(361)&&a(H,"propertyIsEnumerable",q,!0),C.f=function(e){return V(I(e))}),o(o.G+o.W+o.F*!Y,{Symbol:x});for(var te="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),Ae=0;te.length>Ae;)I(te[Ae++]);for(var ne=R(I.store),re=0;ne.length>re;)h(ne[re++]);o(o.S+o.F*!Y,"Symbol",{for:function(e){return r(L,e+="")?L[e]:L[e]=x(e)},keyFor:function(e){if(!K(e))throw TypeError(e+" is not a symbol!");for(var t in L)if(L[t]===e)return t},useSetter:function(){j=!0},useSimple:function(){j=!1}}),o(o.S+o.F*!Y,"Object",{create:function(e,t){return void 0===t?m(e):X(m(e),t)},defineProperty:W,defineProperties:X,getOwnPropertyDescriptor:z,getOwnPropertyNames:$,getOwnPropertySymbols:ee});var ie=g((function(){S.f(1)}));o(o.S+o.F*ie,"Object",{getOwnPropertySymbols:function(e){return S.f(E(e))}}),N&&o(o.S+o.F*(!Y||g((function(){var e=x();return"[null]"!=U([e])||"{}"!=U({a:e})||"{}"!=U(Object(e))}))),"JSON",{stringify:function(e){for(var t,A,n=[e],r=1;arguments.length>r;)n.push(arguments[r++]);if(A=t=n[1],(p(t)||void 0!==e)&&!K(e))return d(t)||(t=function(e,t){if("function"==typeof A&&(t=A.call(this,e,t)),!K(t))return t}),n[1]=t,U.apply(N,n)}}),x.prototype[M]||A(255)(x.prototype,M,x.prototype.valueOf),u(x,"Symbol"),u(Math,"Math",!0),u(n.JSON,"JSON",!0)},function(e,t,A){var n=A(362)("meta"),r=A(256),i=A(218),o=A(217).f,a=0,s=Object.isExtensible||function(){return!0},g=!A(303)((function(){return s(Object.preventExtensions({}))})),c=function(e){o(e,n,{value:{i:"O"+ ++a,w:{}}})},u=e.exports={KEY:n,NEED:!1,fastKey:function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,n)){if(!s(e))return"F";if(!t)return"E";c(e)}return e[n].i},getWeak:function(e,t){if(!i(e,n)){if(!s(e))return!0;if(!t)return!1;c(e)}return e[n].w},onFreeze:function(e){return g&&u.NEED&&s(e)&&!i(e,n)&&c(e),e}}},function(e,t,A){var n=A(360),r=A(479),i=A(363);e.exports=function(e){var t=n(e),A=r.f;if(A)for(var o,a=A(e),s=i.f,g=0;a.length>g;)s.call(e,o=a[g++])&&t.push(o);return t}},function(e,t,A){var n=A(599);e.exports=Array.isArray||function(e){return"Array"==n(e)}},function(e,t,A){var n=A(257),r=A(604).f,i={}.toString,o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return o&&"[object Window]"==i.call(e)?function(e){try{return r(e)}catch(t){return o.slice()}}(e):r(n(e))}},function(e,t){},function(e,t,A){A(485)("asyncIterator")},function(e,t,A){A(485)("observable")},function(e,t,A){e.exports={default:A(958),__esModule:!0}},function(e,t,A){A(959),e.exports=A(191).Object.setPrototypeOf},function(e,t,A){var n=A(254);n(n.S,"Object",{setPrototypeOf:A(960).set})},function(e,t,A){var n=A(256),r=A(302),i=function(e,t){if(r(e),!n(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,n){try{(n=A(594)(Function.call,A(605).f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(r){t=!0}return function(e,A){return i(e,A),t?e.__proto__=A:n(e,A),e}}({},!1):void 0),check:i}},function(e,t,A){e.exports={default:A(962),__esModule:!0}},function(e,t,A){A(963);var n=A(191).Object;e.exports=function(e,t){return n.create(e,t)}},function(e,t,A){var n=A(254);n(n.S,"Object",{create:A(482)})},function(e,t,A){(function(t){(function(){var A,n,r,i,o,a;"undefined"!==typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:"undefined"!==typeof t&&null!==t&&t.hrtime?(e.exports=function(){return(A()-o)/1e6},n=t.hrtime,i=(A=function(){var e;return 1e9*(e=n())[0]+e[1]})(),a=1e9*t.uptime(),o=i-a):Date.now?(e.exports=function(){return Date.now()-r},r=Date.now()):(e.exports=function(){return(new Date).getTime()-r},r=(new Date).getTime())}).call(this)}).call(this,A(90))},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AlphaPicker=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},r=s(A(0)),i=s(A(49)),o=A(74),a=s(A(1011));function s(e){return e&&e.__esModule?e:{default:e}}var g=t.AlphaPicker=function(e){var t=e.rgb,A=e.hsl,a=e.width,s=e.height,g=e.onChange,c=e.direction,u=e.style,l=e.renderers,I=e.pointer,C=e.className,h=void 0===C?"":C,f=(0,i.default)({default:{picker:{position:"relative",width:a,height:s},alpha:{radius:"2px",style:u}}});return r.default.createElement("div",{style:f.picker,className:"alpha-picker "+h},r.default.createElement(o.Alpha,n({},f.alpha,{rgb:t,hsl:A,pointer:I,renderers:l,onChange:g,direction:c})))};g.defaultProps={width:"316px",height:"16px",direction:"horizontal",pointer:a.default},t.default=(0,o.ColorWrap)(g)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.flattenNames=void 0;var n=a(A(967)),r=a(A(486)),i=a(A(609)),o=a(A(193));function a(e){return e&&e.__esModule?e:{default:e}}var s=t.flattenNames=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],A=[];return(0,o.default)(t,(function(t){Array.isArray(t)?e(t).map((function(e){return A.push(e)})):(0,i.default)(t)?(0,r.default)(t,(function(e,t){!0===e&&A.push(t),A.push(t+"-"+e)})):(0,n.default)(t)&&A.push(t)})),A};t.default=s},function(e,t,A){var n=A(216),r=A(111),i=A(154);e.exports=function(e){return"string"==typeof e||!r(e)&&i(e)&&"[object String]"==n(e)}},function(e,t){e.exports=function(e){return function(t,A,n){for(var r=-1,i=Object(t),o=n(t),a=o.length;a--;){var s=o[e?a:++r];if(!1===A(i[s],s,i))break}return t}}},function(e,t,A){var n=A(970),r=A(973),i=A(358),o=A(111),a=A(983);e.exports=function(e){return"function"==typeof e?e:null==e?i:"object"==typeof e?o(e)?r(e[0],e[1]):n(e):a(e)}},function(e,t,A){var n=A(971),r=A(972),i=A(611);e.exports=function(e){var t=r(e);return 1==t.length&&t[0][2]?i(t[0][0],t[0][1]):function(A){return A===e||n(A,e,t)}}},function(e,t,A){var n=A(343),r=A(444);e.exports=function(e,t,A,i){var o=A.length,a=o,s=!i;if(null==e)return!a;for(e=Object(e);o--;){var g=A[o];if(s&&g[2]?g[1]!==e[g[0]]:!(g[0]in e))return!1}for(;++o<a;){var c=(g=A[o])[0],u=e[c],l=g[1];if(s&&g[2]){if(void 0===u&&!(c in e))return!1}else{var I=new n;if(i)var C=i(u,l,c,e,t,I);if(!(void 0===C?r(l,u,3,i,I):C))return!1}}return!0}},function(e,t,A){var n=A(610),r=A(298);e.exports=function(e){for(var t=r(e),A=t.length;A--;){var i=t[A],o=e[i];t[A]=[i,o,n(o)]}return t}},function(e,t,A){var n=A(444),r=A(974),i=A(980),o=A(487),a=A(610),s=A(611),g=A(364);e.exports=function(e,t){return o(e)&&a(t)?s(g(e),t):function(A){var o=r(A,e);return void 0===o&&o===t?i(A,e):n(t,o,3)}}},function(e,t,A){var n=A(612);e.exports=function(e,t,A){var r=null==e?void 0:n(e,t);return void 0===r?A:r}},function(e,t,A){var n=A(976),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,o=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(r,(function(e,A,n,r){t.push(n?r.replace(i,"$1"):A||e)})),t}));e.exports=o},function(e,t,A){var n=A(977);e.exports=function(e){var t=n(e,(function(e){return 500===A.size&&A.clear(),e})),A=t.cache;return t}},function(e,t,A){var n=A(447);function r(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var A=function A(){var n=arguments,r=t?t.apply(this,n):n[0],i=A.cache;if(i.has(r))return i.get(r);var o=e.apply(this,n);return A.cache=i.set(r,o)||i,o};return A.cache=new(r.Cache||n),A}r.Cache=n,e.exports=r},function(e,t,A){var n=A(979);e.exports=function(e){return null==e?"":n(e)}},function(e,t,A){var n=A(247),r=A(472),i=A(111),o=A(353),a=n?n.prototype:void 0,s=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return r(t,e)+"";if(o(t))return s?s.call(t):"";var A=t+"";return"0"==A&&1/t==-1/0?"-0":A}},function(e,t,A){var n=A(981),r=A(982);e.exports=function(e,t){return null!=e&&r(e,t,n)}},function(e,t){e.exports=function(e,t){return null!=e&&t in Object(e)}},function(e,t,A){var n=A(613),r=A(348),i=A(111),o=A(453),a=A(455),s=A(364);e.exports=function(e,t,A){for(var g=-1,c=(t=n(t,e)).length,u=!1;++g<c;){var l=s(t[g]);if(!(u=null!=e&&A(e,l)))break;e=e[l]}return u||++g!=c?u:!!(c=null==e?0:e.length)&&a(c)&&o(l,c)&&(i(e)||r(e))}},function(e,t,A){var n=A(984),r=A(985),i=A(487),o=A(364);e.exports=function(e){return i(e)?n(o(e)):r(e)}},function(e,t){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},function(e,t,A){var n=A(612);e.exports=function(e){return function(t){return n(t,e)}}},function(e,t,A){var n=A(614),r=A(248);e.exports=function(e,t){var A=-1,i=r(e)?Array(e.length):[];return n(e,(function(e,n,r){i[++A]=t(e,n,r)})),i}},function(e,t,A){var n=A(248);e.exports=function(e,t){return function(A,r){if(null==A)return A;if(!n(A))return e(A,r);for(var i=A.length,o=t?i:-1,a=Object(A);(t?o--:++o<i)&&!1!==r(a[o],o,a););return A}}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.mergeClasses=void 0;var n=o(A(486)),r=o(A(235)),i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e};function o(e){return e&&e.__esModule?e:{default:e}}var a=t.mergeClasses=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],A=e.default&&(0,r.default)(e.default)||{};return t.map((function(t){var r=e[t];return r&&(0,n.default)(r,(function(e,t){A[t]||(A[t]={}),A[t]=i({},A[t],r[t])})),t})),A};t.default=a},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.autoprefix=void 0;var n,r=A(486),i=(n=r)&&n.__esModule?n:{default:n},o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e};var a={borderRadius:function(e){return{msBorderRadius:e,MozBorderRadius:e,OBorderRadius:e,WebkitBorderRadius:e,borderRadius:e}},boxShadow:function(e){return{msBoxShadow:e,MozBoxShadow:e,OBoxShadow:e,WebkitBoxShadow:e,boxShadow:e}},userSelect:function(e){return{WebkitTouchCallout:e,KhtmlUserSelect:e,MozUserSelect:e,msUserSelect:e,WebkitUserSelect:e,userSelect:e}},flex:function(e){return{WebkitBoxFlex:e,MozBoxFlex:e,WebkitFlex:e,msFlex:e,flex:e}},flexBasis:function(e){return{WebkitFlexBasis:e,flexBasis:e}},justifyContent:function(e){return{WebkitJustifyContent:e,justifyContent:e}},transition:function(e){return{msTransition:e,MozTransition:e,OTransition:e,WebkitTransition:e,transition:e}},transform:function(e){return{msTransform:e,MozTransform:e,OTransform:e,WebkitTransform:e,transform:e}},absolute:function(e){var t=e&&e.split(" ");return{position:"absolute",top:t&&t[0],right:t&&t[1],bottom:t&&t[2],left:t&&t[3]}},extend:function(e,t){var A=t[e];return A||{extend:e}}},s=t.autoprefix=function(e){var t={};return(0,i.default)(e,(function(e,A){var n={};(0,i.default)(e,(function(e,t){var A=a[t];A?n=o({},n,A(e)):n[t]=e})),t[A]=n})),t};t.default=s},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hover=void 0;var n,r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},i=A(0),o=(n=i)&&n.__esModule?n:{default:n};function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function g(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=t.hover=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"span";return function(A){function n(){var A,i,g;a(this,n);for(var c=arguments.length,u=Array(c),l=0;l<c;l++)u[l]=arguments[l];return i=g=s(this,(A=n.__proto__||Object.getPrototypeOf(n)).call.apply(A,[this].concat(u))),g.state={hover:!1},g.handleMouseOver=function(){return g.setState({hover:!0})},g.handleMouseOut=function(){return g.setState({hover:!1})},g.render=function(){return o.default.createElement(t,{onMouseOver:g.handleMouseOver,onMouseOut:g.handleMouseOut},o.default.createElement(e,r({},g.props,g.state)))},s(g,i)}return g(n,A),n}(o.default.Component)};t.default=c},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.active=void 0;var n,r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},i=A(0),o=(n=i)&&n.__esModule?n:{default:n};function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function g(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=t.active=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"span";return function(A){function n(){var A,i,g;a(this,n);for(var c=arguments.length,u=Array(c),l=0;l<c;l++)u[l]=arguments[l];return i=g=s(this,(A=n.__proto__||Object.getPrototypeOf(n)).call.apply(A,[this].concat(u))),g.state={active:!1},g.handleMouseDown=function(){return g.setState({active:!0})},g.handleMouseUp=function(){return g.setState({active:!1})},g.render=function(){return o.default.createElement(t,{onMouseDown:g.handleMouseDown,onMouseUp:g.handleMouseUp},o.default.createElement(e,r({},g.props,g.state)))},s(g,i)}return g(n,A),n}(o.default.Component)};t.default=c},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e,t){var A={},n=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];A[e]=t};return 0===e&&n("first-child"),e===t-1&&n("last-child"),(0===e||e%2===0)&&n("even"),1===Math.abs(e%2)&&n("odd"),n("nth-child",e),A}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Alpha=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},r=function(){function e(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,A,n){return A&&e(t.prototype,A),n&&e(t,n),t}}(),i=A(0),o=c(i),a=c(A(49)),s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&(t[A]=e[A]);return t.default=e,t}(A(994)),g=c(A(488));function c(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}var I=t.Alpha=function(e){function t(){var e,A,n;u(this,t);for(var r=arguments.length,i=Array(r),o=0;o<r;o++)i[o]=arguments[o];return A=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.handleChange=function(e){var t=s.calculateChange(e,n.props.hsl,n.props.direction,n.props.a,n.container);t&&"function"===typeof n.props.onChange&&n.props.onChange(t,e)},n.handleMouseDown=function(e){n.handleChange(e),window.addEventListener("mousemove",n.handleChange),window.addEventListener("mouseup",n.handleMouseUp)},n.handleMouseUp=function(){n.unbindEventListeners()},n.unbindEventListeners=function(){window.removeEventListener("mousemove",n.handleChange),window.removeEventListener("mouseup",n.handleMouseUp)},l(n,A)}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"render",value:function(){var e=this,t=this.props.rgb,A=(0,a.default)({default:{alpha:{absolute:"0px 0px 0px 0px",borderRadius:this.props.radius},checkboard:{absolute:"0px 0px 0px 0px",overflow:"hidden",borderRadius:this.props.radius},gradient:{absolute:"0px 0px 0px 0px",background:"linear-gradient(to right, rgba("+t.r+","+t.g+","+t.b+", 0) 0%,\n rgba("+t.r+","+t.g+","+t.b+", 1) 100%)",boxShadow:this.props.shadow,borderRadius:this.props.radius},container:{position:"relative",height:"100%",margin:"0 3px"},pointer:{position:"absolute",left:100*t.a+"%"},slider:{width:"4px",borderRadius:"1px",height:"8px",boxShadow:"0 0 2px rgba(0, 0, 0, .6)",background:"#fff",marginTop:"1px",transform:"translateX(-2px)"}},vertical:{gradient:{background:"linear-gradient(to bottom, rgba("+t.r+","+t.g+","+t.b+", 0) 0%,\n rgba("+t.r+","+t.g+","+t.b+", 1) 100%)"},pointer:{left:0,top:100*t.a+"%"}},overwrite:n({},this.props.style)},{vertical:"vertical"===this.props.direction,overwrite:!0});return o.default.createElement("div",{style:A.alpha},o.default.createElement("div",{style:A.checkboard},o.default.createElement(g.default,{renderers:this.props.renderers})),o.default.createElement("div",{style:A.gradient}),o.default.createElement("div",{style:A.container,ref:function(t){return e.container=t},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},o.default.createElement("div",{style:A.pointer},this.props.pointer?o.default.createElement(this.props.pointer,this.props):o.default.createElement("div",{style:A.slider}))))}}]),t}(i.PureComponent||i.Component);t.default=I},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.calculateChange=function(e,t,A,n,r){var i=r.clientWidth,o=r.clientHeight,a="number"===typeof e.pageX?e.pageX:e.touches[0].pageX,s="number"===typeof e.pageY?e.pageY:e.touches[0].pageY,g=a-(r.getBoundingClientRect().left+window.pageXOffset),c=s-(r.getBoundingClientRect().top+window.pageYOffset);if("vertical"===A){var u=void 0;if(u=c<0?0:c>o?1:Math.round(100*c/o)/100,t.a!==u)return{h:t.h,s:t.s,l:t.l,a:u,source:"rgb"}}else{var l=void 0;if(n!==(l=g<0?0:g>i?1:Math.round(100*g/i)/100))return{h:t.h,s:t.s,l:t.l,a:l,source:"rgb"}}return null}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={},r=t.render=function(e,t,A,n){if("undefined"===typeof document&&!n)return null;var r=n?new n:document.createElement("canvas");r.width=2*A,r.height=2*A;var i=r.getContext("2d");return i?(i.fillStyle=e,i.fillRect(0,0,r.width,r.height),i.fillStyle=t,i.fillRect(0,0,A,A),i.translate(A,A),i.fillRect(0,0,A,A),r.toDataURL()):null};t.get=function(e,t,A,i){var o=e+"-"+t+"-"+A+(i?"-server":"");if(n[o])return n[o];var a=r(e,t,A,i);return n[o]=a,a}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditableInput=void 0;var n=function(){function e(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,A,n){return A&&e(t.prototype,A),n&&e(t,n),t}}(),r=A(0),i=a(r),o=a(A(49));function a(e){return e&&e.__esModule?e:{default:e}}var s=[38,40],g=t.EditableInput=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var A=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return A.handleBlur=function(){A.state.blurValue&&A.setState({value:A.state.blurValue,blurValue:null})},A.handleChange=function(e){A.setUpdatedValue(e.target.value,e)},A.handleKeyDown=function(e){var t,n=function(e){return Number(String(e).replace(/%/g,""))}(e.target.value);if(!isNaN(n)&&(t=e.keyCode,s.indexOf(t)>-1)){var r=A.getArrowOffset(),i=38===e.keyCode?n+r:n-r;A.setUpdatedValue(i,e)}},A.handleDrag=function(e){if(A.props.dragLabel){var t=Math.round(A.props.value+e.movementX);t>=0&&t<=A.props.dragMax&&A.props.onChange&&A.props.onChange(A.getValueObjectWithLabel(t),e)}},A.handleMouseDown=function(e){A.props.dragLabel&&(e.preventDefault(),A.handleDrag(e),window.addEventListener("mousemove",A.handleDrag),window.addEventListener("mouseup",A.handleMouseUp))},A.handleMouseUp=function(){A.unbindEventListeners()},A.unbindEventListeners=function(){window.removeEventListener("mousemove",A.handleDrag),window.removeEventListener("mouseup",A.handleMouseUp)},A.state={value:String(e.value).toUpperCase(),blurValue:String(e.value).toUpperCase()},A}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:"componentDidUpdate",value:function(e,t){this.props.value===this.state.value||e.value===this.props.value&&t.value===this.state.value||(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(e){return function(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}({},this.props.label,e)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||1}},{key:"setUpdatedValue",value:function(e,t){var A=this.props.label?this.getValueObjectWithLabel(e):e;this.props.onChange&&this.props.onChange(A,t);var n,r=function(e){return String(e).indexOf("%")>-1}(t.target.value);this.setState({value:r?(n=e,n+"%"):e})}},{key:"render",value:function(){var e=this,t=(0,o.default)({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return i.default.createElement("div",{style:t.wrap},i.default.createElement("input",{style:t.input,ref:function(t){return e.input=t},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?i.default.createElement("span",{style:t.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),t}(r.PureComponent||r.Component);t.default=g},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Hue=void 0;var n=function(){function e(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,A,n){return A&&e(t.prototype,A),n&&e(t,n),t}}(),r=A(0),i=s(r),o=s(A(49)),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&(t[A]=e[A]);return t.default=e,t}(A(998));function s(e){return e&&e.__esModule?e:{default:e}}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}var u=t.Hue=function(e){function t(){var e,A,n;g(this,t);for(var r=arguments.length,i=Array(r),o=0;o<r;o++)i[o]=arguments[o];return A=n=c(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.handleChange=function(e){var t=a.calculateChange(e,n.props.direction,n.props.hsl,n.container);t&&"function"===typeof n.props.onChange&&n.props.onChange(t,e)},n.handleMouseDown=function(e){n.handleChange(e),window.addEventListener("mousemove",n.handleChange),window.addEventListener("mouseup",n.handleMouseUp)},n.handleMouseUp=function(){n.unbindEventListeners()},c(n,A)}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"unbindEventListeners",value:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}},{key:"render",value:function(){var e=this,t=this.props.direction,A=void 0===t?"horizontal":t,n=(0,o.default)({default:{hue:{absolute:"0px 0px 0px 0px",borderRadius:this.props.radius,boxShadow:this.props.shadow},container:{padding:"0 2px",position:"relative",height:"100%",borderRadius:this.props.radius},pointer:{position:"absolute",left:100*this.props.hsl.h/360+"%"},slider:{marginTop:"1px",width:"4px",borderRadius:"1px",height:"8px",boxShadow:"0 0 2px rgba(0, 0, 0, .6)",background:"#fff",transform:"translateX(-2px)"}},vertical:{pointer:{left:"0px",top:-100*this.props.hsl.h/360+100+"%"}}},{vertical:"vertical"===A});return i.default.createElement("div",{style:n.hue},i.default.createElement("div",{className:"hue-"+A,style:n.container,ref:function(t){return e.container=t},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},i.default.createElement("style",null,"\n .hue-horizontal {\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0\n 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n background: -webkit-linear-gradient(to right, #f00 0%, #ff0\n 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n }\n\n .hue-vertical {\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,\n #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n background: -webkit-linear-gradient(to top, #f00 0%, #ff0 17%,\n #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n }\n "),i.default.createElement("div",{style:n.pointer},this.props.pointer?i.default.createElement(this.props.pointer,this.props):i.default.createElement("div",{style:n.slider}))))}}]),t}(r.PureComponent||r.Component);t.default=u},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.calculateChange=function(e,t,A,n){var r=n.clientWidth,i=n.clientHeight,o="number"===typeof e.pageX?e.pageX:e.touches[0].pageX,a="number"===typeof e.pageY?e.pageY:e.touches[0].pageY,s=o-(n.getBoundingClientRect().left+window.pageXOffset),g=a-(n.getBoundingClientRect().top+window.pageYOffset);if("vertical"===t){var c=void 0;if(g<0)c=359;else if(g>i)c=0;else{c=360*(-100*g/i+100)/100}if(A.h!==c)return{h:c,s:A.s,l:A.l,a:A.a,source:"rgb"}}else{var u=void 0;if(s<0)u=0;else if(s>r)u=359;else{u=360*(100*s/r)/100}if(A.h!==u)return{h:u,s:A.s,l:A.l,a:A.a,source:"rgb"}}return null}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Raised=void 0;var n=a(A(0)),r=a(A(13)),i=a(A(49)),o=a(A(123));function a(e){return e&&e.__esModule?e:{default:e}}var s=t.Raised=function(e){var t=e.zDepth,A=e.radius,r=e.background,a=e.children,s=e.styles,g=void 0===s?{}:s,c=(0,i.default)((0,o.default)({default:{wrap:{position:"relative",display:"inline-block"},content:{position:"relative"},bg:{absolute:"0px 0px 0px 0px",boxShadow:"0 "+t+"px "+4*t+"px rgba(0,0,0,.24)",borderRadius:A,background:r}},"zDepth-0":{bg:{boxShadow:"none"}},"zDepth-1":{bg:{boxShadow:"0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16)"}},"zDepth-2":{bg:{boxShadow:"0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2)"}},"zDepth-3":{bg:{boxShadow:"0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24)"}},"zDepth-4":{bg:{boxShadow:"0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22)"}},"zDepth-5":{bg:{boxShadow:"0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2)"}},square:{bg:{borderRadius:"0"}},circle:{bg:{borderRadius:"50%"}}},g),{"zDepth-1":1===t});return n.default.createElement("div",{style:c.wrap},n.default.createElement("div",{style:c.bg}),n.default.createElement("div",{style:c.content},a))};s.propTypes={background:r.default.string,zDepth:r.default.oneOf([0,1,2,3,4,5]),radius:r.default.number,styles:r.default.object},s.defaultProps={background:"#fff",zDepth:1,radius:2,styles:{}},t.default=s},function(e,t,A){var n=A(343),r=A(615),i=A(607),o=A(1001),a=A(127),s=A(357),g=A(616);e.exports=function e(t,A,c,u,l){t!==A&&i(A,(function(i,s){if(l||(l=new n),a(i))o(t,A,s,c,e,u,l);else{var I=u?u(g(t,s),i,s+"",t,A,l):void 0;void 0===I&&(I=i),r(t,s,I)}}),s)}},function(e,t,A){var n=A(615),r=A(586),i=A(589),o=A(587),a=A(590),s=A(348),g=A(111),c=A(471),u=A(349),l=A(446),I=A(127),C=A(609),h=A(454),f=A(616),d=A(1002);e.exports=function(e,t,A,B,p,E,Q){var y=f(e,A),v=f(t,A),m=Q.get(v);if(m)n(e,A,m);else{var b=E?E(y,v,A+"",e,t,Q):void 0,w=void 0===b;if(w){var S=g(v),F=!S&&u(v),R=!S&&!F&&h(v);b=v,S||F||R?g(y)?b=y:c(y)?b=o(y):F?(w=!1,b=r(v,!0)):R?(w=!1,b=i(v,!0)):b=[]:C(v)||s(v)?(b=y,s(y)?b=d(y):I(y)&&!l(y)||(b=a(v))):w=!1}w&&(Q.set(v,b),p(b,v,B,E,Q),Q.delete(v)),n(e,A,b)}}},function(e,t,A){var n=A(301),r=A(357);e.exports=function(e){return n(e,r(e))}},function(e,t,A){var n=A(470),r=A(559);e.exports=function(e){return n((function(t,A){var n=-1,i=A.length,o=i>1?A[i-1]:void 0,a=i>2?A[2]:void 0;for(o=e.length>3&&"function"==typeof o?(i--,o):void 0,a&&r(A[0],A[1],a)&&(o=i<3?void 0:o,i=1),t=Object(t);++n<i;){var s=A[n];s&&e(t,s,n,o)}return t}))}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Saturation=void 0;var n=function(){function e(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,A,n){return A&&e(t.prototype,A),n&&e(t,n),t}}(),r=A(0),i=g(r),o=g(A(49)),a=g(A(1005)),s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&(t[A]=e[A]);return t.default=e,t}(A(1006));function g(e){return e&&e.__esModule?e:{default:e}}var c=t.Saturation=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var A=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return A.handleChange=function(e){"function"===typeof A.props.onChange&&A.throttle(A.props.onChange,s.calculateChange(e,A.props.hsl,A.container),e)},A.handleMouseDown=function(e){A.handleChange(e),window.addEventListener("mousemove",A.handleChange),window.addEventListener("mouseup",A.handleMouseUp)},A.handleMouseUp=function(){A.unbindEventListeners()},A.throttle=(0,a.default)((function(e,t,A){e(t,A)}),50),A}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:"componentWillUnmount",value:function(){this.throttle.cancel(),this.unbindEventListeners()}},{key:"unbindEventListeners",value:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}},{key:"render",value:function(){var e=this,t=this.props.style||{},A=t.color,n=t.white,r=t.black,a=t.pointer,s=t.circle,g=(0,o.default)({default:{color:{absolute:"0px 0px 0px 0px",background:"hsl("+this.props.hsl.h+",100%, 50%)",borderRadius:this.props.radius},white:{absolute:"0px 0px 0px 0px",borderRadius:this.props.radius},black:{absolute:"0px 0px 0px 0px",boxShadow:this.props.shadow,borderRadius:this.props.radius},pointer:{position:"absolute",top:-100*this.props.hsv.v+100+"%",left:100*this.props.hsv.s+"%",cursor:"default"},circle:{width:"4px",height:"4px",boxShadow:"0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3),\n 0 0 1px 2px rgba(0,0,0,.4)",borderRadius:"50%",cursor:"hand",transform:"translate(-2px, -2px)"}},custom:{color:A,white:n,black:r,pointer:a,circle:s}},{custom:!!this.props.style});return i.default.createElement("div",{style:g.color,ref:function(t){return e.container=t},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},i.default.createElement("style",null,"\n .saturation-white {\n background: -webkit-linear-gradient(to right, #fff, rgba(255,255,255,0));\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\n }\n .saturation-black {\n background: -webkit-linear-gradient(to top, #000, rgba(0,0,0,0));\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\n }\n "),i.default.createElement("div",{style:g.white,className:"saturation-white"},i.default.createElement("div",{style:g.black,className:"saturation-black"}),i.default.createElement("div",{style:g.pointer},this.props.pointer?i.default.createElement(this.props.pointer,this.props):i.default.createElement("div",{style:g.circle}))))}}]),t}(r.PureComponent||r.Component);t.default=c},function(e,t,A){var n=A(107),r=A(127);e.exports=function(e,t,A){var i=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return r(A)&&(i="leading"in A?!!A.leading:i,o="trailing"in A?!!A.trailing:o),n(e,t,{leading:i,maxWait:t,trailing:o})}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.calculateChange=function(e,t,A){var n=A.getBoundingClientRect(),r=n.width,i=n.height,o="number"===typeof e.pageX?e.pageX:e.touches[0].pageX,a="number"===typeof e.pageY?e.pageY:e.touches[0].pageY,s=o-(A.getBoundingClientRect().left+window.pageXOffset),g=a-(A.getBoundingClientRect().top+window.pageYOffset);s<0?s=0:s>r&&(s=r),g<0?g=0:g>i&&(g=i);var c=s/r,u=1-g/i;return{h:t.h,s:c,v:u,a:t.a,source:"rgb"}}},function(e,t,A){e.exports=A(1008)},function(e,t,A){var n=A(583),r=A(614),i=A(608),o=A(111);e.exports=function(e,t){return(o(e)?n:r)(e,i(t))}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Swatch=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},r=s(A(0)),i=s(A(49)),o=A(1010),a=s(A(488));function s(e){return e&&e.__esModule?e:{default:e}}var g=t.Swatch=function(e){var t=e.color,A=e.style,o=e.onClick,s=void 0===o?function(){}:o,g=e.onHover,c=e.title,u=void 0===c?t:c,l=e.children,I=e.focus,C=e.focusStyle,h=void 0===C?{}:C,f="transparent"===t,d=(0,i.default)({default:{swatch:n({background:t,height:"100%",width:"100%",cursor:"pointer",position:"relative",outline:"none"},A,I?h:{})}}),B={};return g&&(B.onMouseOver=function(e){return g(t,e)}),r.default.createElement("div",n({style:d.swatch,onClick:function(e){return s(t,e)},title:u,tabIndex:0,onKeyDown:function(e){return 13===e.keyCode&&s(t,e)}},B),l,f&&r.default.createElement(a.default,{borderRadius:d.swatch.borderRadius,boxShadow:"inset 0 0 0 1px rgba(0,0,0,0.1)"}))};t.default=(0,o.handleFocus)(g)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.handleFocus=void 0;var n,r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},i=function(){function e(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,A,n){return A&&e(t.prototype,A),n&&e(t,n),t}}(),o=A(0),a=(n=o)&&n.__esModule?n:{default:n};function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function c(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.handleFocus=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"span";return function(A){function n(){var e,t,A;s(this,n);for(var r=arguments.length,i=Array(r),o=0;o<r;o++)i[o]=arguments[o];return t=A=g(this,(e=n.__proto__||Object.getPrototypeOf(n)).call.apply(e,[this].concat(i))),A.state={focus:!1},A.handleFocus=function(){return A.setState({focus:!0})},A.handleBlur=function(){return A.setState({focus:!1})},g(A,t)}return c(n,A),i(n,[{key:"render",value:function(){return a.default.createElement(t,{onFocus:this.handleFocus,onBlur:this.handleBlur},a.default.createElement(e,r({},this.props,this.state)))}}]),n}(a.default.Component)}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AlphaPointer=void 0;var n=i(A(0)),r=i(A(49));function i(e){return e&&e.__esModule?e:{default:e}}var o=t.AlphaPointer=function(e){var t=e.direction,A=(0,r.default)({default:{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},vertical:{picker:{transform:"translate(-3px, -9px)"}}},{vertical:"vertical"===t});return n.default.createElement("div",{style:A.picker})};t.default=o},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Block=void 0;var n=c(A(0)),r=c(A(13)),i=c(A(49)),o=c(A(123)),a=c(A(142)),s=A(74),g=c(A(1013));function c(e){return e&&e.__esModule?e:{default:e}}var u=t.Block=function(e){var t=e.onChange,A=e.onSwatchHover,r=e.hex,c=e.colors,u=e.width,l=e.triangle,I=e.styles,C=void 0===I?{}:I,h=e.className,f=void 0===h?"":h,d="transparent"===r,B=function(e,A){a.default.isValidHex(e)&&t({hex:e,source:"hex"},A)},p=(0,i.default)((0,o.default)({default:{card:{width:u,background:"#fff",boxShadow:"0 1px rgba(0,0,0,.1)",borderRadius:"6px",position:"relative"},head:{height:"110px",background:r,borderRadius:"6px 6px 0 0",display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},body:{padding:"10px"},label:{fontSize:"18px",color:a.default.getContrastingColor(r),position:"relative"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 10px 10px 10px",borderColor:"transparent transparent "+r+" transparent",position:"absolute",top:"-10px",left:"50%",marginLeft:"-10px"},input:{width:"100%",fontSize:"12px",color:"#666",border:"0px",outline:"none",height:"22px",boxShadow:"inset 0 0 0 1px #ddd",borderRadius:"4px",padding:"0 7px",boxSizing:"border-box"}},"hide-triangle":{triangle:{display:"none"}}},C),{"hide-triangle":"hide"===l});return n.default.createElement("div",{style:p.card,className:"block-picker "+f},n.default.createElement("div",{style:p.triangle}),n.default.createElement("div",{style:p.head},d&&n.default.createElement(s.Checkboard,{borderRadius:"6px 6px 0 0"}),n.default.createElement("div",{style:p.label},r)),n.default.createElement("div",{style:p.body},n.default.createElement(g.default,{colors:c,onClick:B,onSwatchHover:A}),n.default.createElement(s.EditableInput,{style:{input:p.input},value:r,onChange:B})))};u.propTypes={width:r.default.oneOfType([r.default.string,r.default.number]),colors:r.default.arrayOf(r.default.string),triangle:r.default.oneOf(["top","hide"]),styles:r.default.object},u.defaultProps={width:170,colors:["#D9E3F0","#F47373","#697689","#37D67A","#2CCCE4","#555555","#dce775","#ff8a65","#ba68c8"],triangle:"top",styles:{}},t.default=(0,s.ColorWrap)(u)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlockSwatches=void 0;var n=a(A(0)),r=a(A(49)),i=a(A(193)),o=A(74);function a(e){return e&&e.__esModule?e:{default:e}}var s=t.BlockSwatches=function(e){var t=e.colors,A=e.onClick,a=e.onSwatchHover,s=(0,r.default)({default:{swatches:{marginRight:"-10px"},swatch:{width:"22px",height:"22px",float:"left",marginRight:"10px",marginBottom:"10px",borderRadius:"4px"},clear:{clear:"both"}}});return n.default.createElement("div",{style:s.swatches},(0,i.default)(t,(function(e){return n.default.createElement(o.Swatch,{key:e,color:e,style:s.swatch,onClick:A,onHover:a,focusStyle:{boxShadow:"0 0 4px "+e}})})),n.default.createElement("div",{style:s.clear}))};t.default=s},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Circle=void 0;var n=u(A(0)),r=u(A(13)),i=u(A(49)),o=u(A(193)),a=u(A(123)),s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&(t[A]=e[A]);return t.default=e,t}(A(618)),g=A(74),c=u(A(1015));function u(e){return e&&e.__esModule?e:{default:e}}var l=t.Circle=function(e){var t=e.width,A=e.onChange,r=e.onSwatchHover,s=e.colors,g=e.hex,u=e.circleSize,l=e.styles,I=void 0===l?{}:l,C=e.circleSpacing,h=e.className,f=void 0===h?"":h,d=(0,i.default)((0,a.default)({default:{card:{width:t,display:"flex",flexWrap:"wrap",marginRight:-C,marginBottom:-C}}},I)),B=function(e,t){return A({hex:e,source:"hex"},t)};return n.default.createElement("div",{style:d.card,className:"circle-picker "+f},(0,o.default)(s,(function(e){return n.default.createElement(c.default,{key:e,color:e,onClick:B,onSwatchHover:r,active:g===e.toLowerCase(),circleSize:u,circleSpacing:C})})))};l.propTypes={width:r.default.oneOfType([r.default.string,r.default.number]),circleSize:r.default.number,circleSpacing:r.default.number,styles:r.default.object},l.defaultProps={width:252,circleSize:28,circleSpacing:14,colors:[s.red[500],s.pink[500],s.purple[500],s.deepPurple[500],s.indigo[500],s.blue[500],s.lightBlue[500],s.cyan[500],s.teal[500],s.green[500],s.lightGreen[500],s.lime[500],s.yellow[500],s.amber[500],s.orange[500],s.deepOrange[500],s.brown[500],s.blueGrey[500]],styles:{}},t.default=(0,g.ColorWrap)(l)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CircleSwatch=void 0;var n=a(A(0)),r=A(49),i=a(r),o=A(74);function a(e){return e&&e.__esModule?e:{default:e}}var s=t.CircleSwatch=function(e){var t=e.color,A=e.onClick,r=e.onSwatchHover,a=e.hover,s=e.active,g=e.circleSize,c=e.circleSpacing,u=(0,i.default)({default:{swatch:{width:g,height:g,marginRight:c,marginBottom:c,transform:"scale(1)",transition:"100ms transform ease"},Swatch:{borderRadius:"50%",background:"transparent",boxShadow:"inset 0 0 0 "+g/2+"px "+t,transition:"100ms box-shadow ease"}},hover:{swatch:{transform:"scale(1.2)"}},active:{Swatch:{boxShadow:"inset 0 0 0 3px "+t}}},{hover:a,active:s});return n.default.createElement("div",{style:u.swatch},n.default.createElement(o.Swatch,{style:u.Swatch,color:t,onClick:A,onHover:r,focusStyle:{boxShadow:u.Swatch.boxShadow+", 0 0 5px "+t}}))};s.defaultProps={circleSize:28,circleSpacing:14},t.default=(0,r.handleHover)(s)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Chrome=void 0;var n=u(A(0)),r=u(A(13)),i=u(A(49)),o=u(A(123)),a=A(74),s=u(A(1017)),g=u(A(1019)),c=u(A(1020));function u(e){return e&&e.__esModule?e:{default:e}}var l=t.Chrome=function(e){var t=e.width,A=e.onChange,r=e.disableAlpha,u=e.rgb,l=e.hsl,I=e.hsv,C=e.hex,h=e.renderers,f=e.styles,d=void 0===f?{}:f,B=e.className,p=void 0===B?"":B,E=e.defaultView,Q=(0,i.default)((0,o.default)({default:{picker:{width:t,background:"#fff",borderRadius:"2px",boxShadow:"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)",boxSizing:"initial",fontFamily:"Menlo"},saturation:{width:"100%",paddingBottom:"55%",position:"relative",borderRadius:"2px 2px 0 0",overflow:"hidden"},Saturation:{radius:"2px 2px 0 0"},body:{padding:"16px 16px 12px"},controls:{display:"flex"},color:{width:"32px"},swatch:{marginTop:"6px",width:"16px",height:"16px",borderRadius:"8px",position:"relative",overflow:"hidden"},active:{absolute:"0px 0px 0px 0px",borderRadius:"8px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.1)",background:"rgba("+u.r+", "+u.g+", "+u.b+", "+u.a+")",zIndex:"2"},toggles:{flex:"1"},hue:{height:"10px",position:"relative",marginBottom:"8px"},Hue:{radius:"2px"},alpha:{height:"10px",position:"relative"},Alpha:{radius:"2px"}},disableAlpha:{color:{width:"22px"},alpha:{display:"none"},hue:{marginBottom:"0px"},swatch:{width:"10px",height:"10px",marginTop:"0px"}}},d),{disableAlpha:r});return n.default.createElement("div",{style:Q.picker,className:"chrome-picker "+p},n.default.createElement("div",{style:Q.saturation},n.default.createElement(a.Saturation,{style:Q.Saturation,hsl:l,hsv:I,pointer:c.default,onChange:A})),n.default.createElement("div",{style:Q.body},n.default.createElement("div",{style:Q.controls,className:"flexbox-fix"},n.default.createElement("div",{style:Q.color},n.default.createElement("div",{style:Q.swatch},n.default.createElement("div",{style:Q.active}),n.default.createElement(a.Checkboard,{renderers:h}))),n.default.createElement("div",{style:Q.toggles},n.default.createElement("div",{style:Q.hue},n.default.createElement(a.Hue,{style:Q.Hue,hsl:l,pointer:g.default,onChange:A})),n.default.createElement("div",{style:Q.alpha},n.default.createElement(a.Alpha,{style:Q.Alpha,rgb:u,hsl:l,pointer:g.default,renderers:h,onChange:A})))),n.default.createElement(s.default,{rgb:u,hsl:l,hex:C,view:E,onChange:A,disableAlpha:r})))};l.propTypes={width:r.default.oneOfType([r.default.string,r.default.number]),disableAlpha:r.default.bool,styles:r.default.object,defaultView:r.default.oneOf(["hex","rgb","hsl"])},l.defaultProps={width:225,disableAlpha:!1,styles:{}},t.default=(0,a.ColorWrap)(l)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChromeFields=void 0;var n=function(){function e(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,A,n){return A&&e(t.prototype,A),n&&e(t,n),t}}(),r=g(A(0)),i=g(A(49)),o=g(A(142)),a=A(74),s=g(A(1018));function g(e){return e&&e.__esModule?e:{default:e}}var c=t.ChromeFields=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var A=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return A.toggleViews=function(){"hex"===A.state.view?A.setState({view:"rgb"}):"rgb"===A.state.view?A.setState({view:"hsl"}):"hsl"===A.state.view&&(1===A.props.hsl.a?A.setState({view:"hex"}):A.setState({view:"rgb"}))},A.handleChange=function(e,t){e.hex?o.default.isValidHex(e.hex)&&A.props.onChange({hex:e.hex,source:"hex"},t):e.r||e.g||e.b?A.props.onChange({r:e.r||A.props.rgb.r,g:e.g||A.props.rgb.g,b:e.b||A.props.rgb.b,source:"rgb"},t):e.a?(e.a<0?e.a=0:e.a>1&&(e.a=1),A.props.onChange({h:A.props.hsl.h,s:A.props.hsl.s,l:A.props.hsl.l,a:Math.round(100*e.a)/100,source:"rgb"},t)):(e.h||e.s||e.l)&&("string"===typeof e.s&&e.s.includes("%")&&(e.s=e.s.replace("%","")),"string"===typeof e.l&&e.l.includes("%")&&(e.l=e.l.replace("%","")),A.props.onChange({h:e.h||A.props.hsl.h,s:Number(e.s&&e.s||A.props.hsl.s),l:Number(e.l&&e.l||A.props.hsl.l),source:"hsl"},t))},A.showHighlight=function(e){e.currentTarget.style.background="#eee"},A.hideHighlight=function(e){e.currentTarget.style.background="transparent"},1!==e.hsl.a&&"hex"===e.view?A.state={view:"rgb"}:A.state={view:e.view},A}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:"render",value:function(){var e=this,t=(0,i.default)({default:{wrap:{paddingTop:"16px",display:"flex"},fields:{flex:"1",display:"flex",marginLeft:"-6px"},field:{paddingLeft:"6px",width:"100%"},alpha:{paddingLeft:"6px",width:"100%"},toggle:{width:"32px",textAlign:"right",position:"relative"},icon:{marginRight:"-4px",marginTop:"12px",cursor:"pointer",position:"relative"},iconHighlight:{position:"absolute",width:"24px",height:"28px",background:"#eee",borderRadius:"4px",top:"10px",left:"12px",display:"none"},input:{fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px",textAlign:"center"},label:{textTransform:"uppercase",fontSize:"11px",lineHeight:"11px",color:"#969696",textAlign:"center",display:"block",marginTop:"12px"},svg:{fill:"#333",width:"24px",height:"24px",border:"1px transparent solid",borderRadius:"5px"}},disableAlpha:{alpha:{display:"none"}}},this.props,this.state),A=void 0;return"hex"===this.state.view?A=r.default.createElement("div",{style:t.fields,className:"flexbox-fix"},r.default.createElement("div",{style:t.field},r.default.createElement(a.EditableInput,{style:{input:t.input,label:t.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):"rgb"===this.state.view?A=r.default.createElement("div",{style:t.fields,className:"flexbox-fix"},r.default.createElement("div",{style:t.field},r.default.createElement(a.EditableInput,{style:{input:t.input,label:t.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),r.default.createElement("div",{style:t.field},r.default.createElement(a.EditableInput,{style:{input:t.input,label:t.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),r.default.createElement("div",{style:t.field},r.default.createElement(a.EditableInput,{style:{input:t.input,label:t.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),r.default.createElement("div",{style:t.alpha},r.default.createElement(a.EditableInput,{style:{input:t.input,label:t.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):"hsl"===this.state.view&&(A=r.default.createElement("div",{style:t.fields,className:"flexbox-fix"},r.default.createElement("div",{style:t.field},r.default.createElement(a.EditableInput,{style:{input:t.input,label:t.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),r.default.createElement("div",{style:t.field},r.default.createElement(a.EditableInput,{style:{input:t.input,label:t.label},label:"s",value:Math.round(100*this.props.hsl.s)+"%",onChange:this.handleChange})),r.default.createElement("div",{style:t.field},r.default.createElement(a.EditableInput,{style:{input:t.input,label:t.label},label:"l",value:Math.round(100*this.props.hsl.l)+"%",onChange:this.handleChange})),r.default.createElement("div",{style:t.alpha},r.default.createElement(a.EditableInput,{style:{input:t.input,label:t.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),r.default.createElement("div",{style:t.wrap,className:"flexbox-fix"},A,r.default.createElement("div",{style:t.toggle},r.default.createElement("div",{style:t.icon,onClick:this.toggleViews,ref:function(t){return e.icon=t}},r.default.createElement(s.default,{style:t.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:"getDerivedStateFromProps",value:function(e,t){return 1!==e.hsl.a&&"hex"===t.view?{view:"rgb"}:null}}]),t}(r.default.Component);c.defaultProps={view:"hex"},t.default=c},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},i=A(0),o=(n=i)&&n.__esModule?n:{default:n};t.default=function(e){var t=e.fill,A=void 0===t?"currentColor":t,n=e.width,i=void 0===n?24:n,a=e.height,s=void 0===a?24:a,g=e.style,c=void 0===g?{}:g,u=function(e,t){var A={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(A[n]=e[n]);return A}(e,["fill","width","height","style"]);return o.default.createElement("svg",r({viewBox:"0 0 24 24",style:r({fill:A,width:i,height:s},c)},u),o.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}))}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChromePointer=void 0;var n=i(A(0)),r=i(A(49));function i(e){return e&&e.__esModule?e:{default:e}}var o=t.ChromePointer=function(){var e=(0,r.default)({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return n.default.createElement("div",{style:e.picker})};t.default=o},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChromePointerCircle=void 0;var n=i(A(0)),r=i(A(49));function i(e){return e&&e.__esModule?e:{default:e}}var o=t.ChromePointerCircle=function(){var e=(0,r.default)({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return n.default.createElement("div",{style:e.picker})};t.default=o},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Compact=void 0;var n=l(A(0)),r=l(A(13)),i=l(A(49)),o=l(A(193)),a=l(A(123)),s=l(A(142)),g=A(74),c=l(A(1022)),u=l(A(1023));function l(e){return e&&e.__esModule?e:{default:e}}var I=t.Compact=function(e){var t=e.onChange,A=e.onSwatchHover,r=e.colors,l=e.hex,I=e.rgb,C=e.styles,h=void 0===C?{}:C,f=e.className,d=void 0===f?"":f,B=(0,i.default)((0,a.default)({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},h)),p=function(e,A){e.hex?s.default.isValidHex(e.hex)&&t({hex:e.hex,source:"hex"},A):t(e,A)};return n.default.createElement(g.Raised,{style:B.Compact,styles:h},n.default.createElement("div",{style:B.compact,className:"compact-picker "+d},n.default.createElement("div",null,(0,o.default)(r,(function(e){return n.default.createElement(c.default,{key:e,color:e,active:e.toLowerCase()===l,onClick:p,onSwatchHover:A})})),n.default.createElement("div",{style:B.clear})),n.default.createElement(u.default,{hex:l,rgb:I,onChange:p})))};I.propTypes={colors:r.default.arrayOf(r.default.string),styles:r.default.object},I.defaultProps={colors:["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#cccccc","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"],styles:{}},t.default=(0,g.ColorWrap)(I)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CompactColor=void 0;var n=a(A(0)),r=a(A(49)),i=a(A(142)),o=A(74);function a(e){return e&&e.__esModule?e:{default:e}}var s=t.CompactColor=function(e){var t=e.color,A=e.onClick,a=void 0===A?function(){}:A,s=e.onSwatchHover,g=e.active,c=(0,r.default)({default:{color:{background:t,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:i.default.getContrastingColor(t),borderRadius:"50%",opacity:"0"}},active:{dot:{opacity:"1"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},dot:{background:"#000"}},transparent:{dot:{background:"#000"}}},{active:g,"color-#FFFFFF":"#FFFFFF"===t,transparent:"transparent"===t});return n.default.createElement(o.Swatch,{style:c.color,color:t,onClick:a,onHover:s,focusStyle:{boxShadow:"0 0 4px "+t}},n.default.createElement("div",{style:c.dot}))};t.default=s},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CompactFields=void 0;var n=o(A(0)),r=o(A(49)),i=A(74);function o(e){return e&&e.__esModule?e:{default:e}}var a=t.CompactFields=function(e){var t=e.hex,A=e.rgb,o=e.onChange,a=(0,r.default)({default:{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:t},HEXwrap:{flex:"6",position:"relative"},HEXinput:{width:"80%",padding:"0px",paddingLeft:"20%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},HEXlabel:{display:"none"},RGBwrap:{flex:"3",position:"relative"},RGBinput:{width:"70%",padding:"0px",paddingLeft:"30%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},RGBlabel:{position:"absolute",top:"3px",left:"0px",lineHeight:"16px",textTransform:"uppercase",fontSize:"12px",color:"#999"}}}),s=function(e,t){e.r||e.g||e.b?o({r:e.r||A.r,g:e.g||A.g,b:e.b||A.b,source:"rgb"},t):o({hex:e.hex,source:"hex"},t)};return n.default.createElement("div",{style:a.fields,className:"flexbox-fix"},n.default.createElement("div",{style:a.active}),n.default.createElement(i.EditableInput,{style:{wrap:a.HEXwrap,input:a.HEXinput,label:a.HEXlabel},label:"hex",value:t,onChange:s}),n.default.createElement(i.EditableInput,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"r",value:A.r,onChange:s}),n.default.createElement(i.EditableInput,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"g",value:A.g,onChange:s}),n.default.createElement(i.EditableInput,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"b",value:A.b,onChange:s}))};t.default=a},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Github=void 0;var n=c(A(0)),r=c(A(13)),i=c(A(49)),o=c(A(193)),a=c(A(123)),s=A(74),g=c(A(1025));function c(e){return e&&e.__esModule?e:{default:e}}var u=t.Github=function(e){var t=e.width,A=e.colors,r=e.onChange,s=e.onSwatchHover,c=e.triangle,u=e.styles,l=void 0===u?{}:u,I=e.className,C=void 0===I?"":I,h=(0,i.default)((0,a.default)({default:{card:{width:t,background:"#fff",border:"1px solid rgba(0,0,0,0.2)",boxShadow:"0 3px 12px rgba(0,0,0,0.15)",borderRadius:"4px",position:"relative",padding:"5px",display:"flex",flexWrap:"wrap"},triangle:{position:"absolute",border:"7px solid transparent",borderBottomColor:"#fff"},triangleShadow:{position:"absolute",border:"8px solid transparent",borderBottomColor:"rgba(0,0,0,0.15)"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-14px",left:"10px"},triangleShadow:{top:"-16px",left:"9px"}},"top-right-triangle":{triangle:{top:"-14px",right:"10px"},triangleShadow:{top:"-16px",right:"9px"}},"bottom-left-triangle":{triangle:{top:"35px",left:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",left:"9px",transform:"rotate(180deg)"}},"bottom-right-triangle":{triangle:{top:"35px",right:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",right:"9px",transform:"rotate(180deg)"}}},l),{"hide-triangle":"hide"===c,"top-left-triangle":"top-left"===c,"top-right-triangle":"top-right"===c,"bottom-left-triangle":"bottom-left"===c,"bottom-right-triangle":"bottom-right"===c}),f=function(e,t){return r({hex:e,source:"hex"},t)};return n.default.createElement("div",{style:h.card,className:"github-picker "+C},n.default.createElement("div",{style:h.triangleShadow}),n.default.createElement("div",{style:h.triangle}),(0,o.default)(A,(function(e){return n.default.createElement(g.default,{color:e,key:e,onClick:f,onSwatchHover:s})})))};u.propTypes={width:r.default.oneOfType([r.default.string,r.default.number]),colors:r.default.arrayOf(r.default.string),triangle:r.default.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:r.default.object},u.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}},t.default=(0,s.ColorWrap)(u)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GithubSwatch=void 0;var n=a(A(0)),r=A(49),i=a(r),o=A(74);function a(e){return e&&e.__esModule?e:{default:e}}var s=t.GithubSwatch=function(e){var t=e.hover,A=e.color,r=e.onClick,a=e.onSwatchHover,s={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"},g=(0,i.default)({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:s}},{hover:t});return n.default.createElement("div",{style:g.swatch},n.default.createElement(o.Swatch,{color:A,onClick:r,onHover:a,focusStyle:s}))};t.default=(0,r.handleHover)(s)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HuePicker=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},r=c(A(0)),i=c(A(13)),o=c(A(49)),a=c(A(123)),s=A(74),g=c(A(1027));function c(e){return e&&e.__esModule?e:{default:e}}var u=t.HuePicker=function(e){var t=e.width,A=e.height,i=e.onChange,g=e.hsl,c=e.direction,u=e.pointer,l=e.styles,I=void 0===l?{}:l,C=e.className,h=void 0===C?"":C,f=(0,o.default)((0,a.default)({default:{picker:{position:"relative",width:t,height:A},hue:{radius:"2px"}}},I));return r.default.createElement("div",{style:f.picker,className:"hue-picker "+h},r.default.createElement(s.Hue,n({},f.hue,{hsl:g,pointer:u,onChange:function(e){return i({a:1,h:e.h,l:.5,s:1})},direction:c})))};u.propTypes={styles:i.default.object},u.defaultProps={width:"316px",height:"16px",direction:"horizontal",pointer:g.default,styles:{}},t.default=(0,s.ColorWrap)(u)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SliderPointer=void 0;var n=i(A(0)),r=i(A(49));function i(e){return e&&e.__esModule?e:{default:e}}var o=t.SliderPointer=function(e){var t=e.direction,A=(0,r.default)({default:{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},vertical:{picker:{transform:"translate(-3px, -9px)"}}},{vertical:"vertical"===t});return n.default.createElement("div",{style:A.picker})};t.default=o},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Material=void 0;var n=s(A(0)),r=s(A(49)),i=s(A(123)),o=s(A(142)),a=A(74);function s(e){return e&&e.__esModule?e:{default:e}}var g=t.Material=function(e){var t=e.onChange,A=e.hex,s=e.rgb,g=e.styles,c=void 0===g?{}:g,u=e.className,l=void 0===u?"":u,I=(0,r.default)((0,i.default)({default:{material:{width:"98px",height:"98px",padding:"16px",fontFamily:"Roboto"},HEXwrap:{position:"relative"},HEXinput:{width:"100%",marginTop:"12px",fontSize:"15px",color:"#333",padding:"0px",border:"0px",borderBottom:"2px solid "+A,outline:"none",height:"30px"},HEXlabel:{position:"absolute",top:"0px",left:"0px",fontSize:"11px",color:"#999999",textTransform:"capitalize"},Hex:{style:{}},RGBwrap:{position:"relative"},RGBinput:{width:"100%",marginTop:"12px",fontSize:"15px",color:"#333",padding:"0px",border:"0px",borderBottom:"1px solid #eee",outline:"none",height:"30px"},RGBlabel:{position:"absolute",top:"0px",left:"0px",fontSize:"11px",color:"#999999",textTransform:"capitalize"},split:{display:"flex",marginRight:"-10px",paddingTop:"11px"},third:{flex:"1",paddingRight:"10px"}}},c)),C=function(e,A){e.hex?o.default.isValidHex(e.hex)&&t({hex:e.hex,source:"hex"},A):(e.r||e.g||e.b)&&t({r:e.r||s.r,g:e.g||s.g,b:e.b||s.b,source:"rgb"},A)};return n.default.createElement(a.Raised,{styles:c},n.default.createElement("div",{style:I.material,className:"material-picker "+l},n.default.createElement(a.EditableInput,{style:{wrap:I.HEXwrap,input:I.HEXinput,label:I.HEXlabel},label:"hex",value:A,onChange:C}),n.default.createElement("div",{style:I.split,className:"flexbox-fix"},n.default.createElement("div",{style:I.third},n.default.createElement(a.EditableInput,{style:{wrap:I.RGBwrap,input:I.RGBinput,label:I.RGBlabel},label:"r",value:s.r,onChange:C})),n.default.createElement("div",{style:I.third},n.default.createElement(a.EditableInput,{style:{wrap:I.RGBwrap,input:I.RGBinput,label:I.RGBlabel},label:"g",value:s.g,onChange:C})),n.default.createElement("div",{style:I.third},n.default.createElement(a.EditableInput,{style:{wrap:I.RGBwrap,input:I.RGBinput,label:I.RGBlabel},label:"b",value:s.b,onChange:C})))))};t.default=(0,a.ColorWrap)(g)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Photoshop=void 0;var n=function(){function e(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,A,n){return A&&e(t.prototype,A),n&&e(t,n),t}}(),r=C(A(0)),i=C(A(13)),o=C(A(49)),a=C(A(123)),s=A(74),g=C(A(1030)),c=C(A(1031)),u=C(A(1032)),l=C(A(1033)),I=C(A(1034));function C(e){return e&&e.__esModule?e:{default:e}}var h=t.Photoshop=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var A=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return A.state={currentColor:e.hex},A}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:"render",value:function(){var e=this.props,t=e.styles,A=void 0===t?{}:t,n=e.className,i=void 0===n?"":n,C=(0,o.default)((0,a.default)({default:{picker:{background:"#DCDCDC",borderRadius:"4px",boxShadow:"0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15)",boxSizing:"initial",width:"513px"},head:{backgroundImage:"linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%)",borderBottom:"1px solid #B1B1B1",boxShadow:"inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02)",height:"23px",lineHeight:"24px",borderRadius:"4px 4px 0 0",fontSize:"13px",color:"#4D4D4D",textAlign:"center"},body:{padding:"15px 15px 0",display:"flex"},saturation:{width:"256px",height:"256px",position:"relative",border:"2px solid #B3B3B3",borderBottom:"2px solid #F0F0F0",overflow:"hidden"},hue:{position:"relative",height:"256px",width:"19px",marginLeft:"10px",border:"2px solid #B3B3B3",borderBottom:"2px solid #F0F0F0"},controls:{width:"180px",marginLeft:"10px"},top:{display:"flex"},previews:{width:"60px"},actions:{flex:"1",marginLeft:"20px"}}},A));return r.default.createElement("div",{style:C.picker,className:"photoshop-picker "+i},r.default.createElement("div",{style:C.head},this.props.header),r.default.createElement("div",{style:C.body,className:"flexbox-fix"},r.default.createElement("div",{style:C.saturation},r.default.createElement(s.Saturation,{hsl:this.props.hsl,hsv:this.props.hsv,pointer:c.default,onChange:this.props.onChange})),r.default.createElement("div",{style:C.hue},r.default.createElement(s.Hue,{direction:"vertical",hsl:this.props.hsl,pointer:u.default,onChange:this.props.onChange})),r.default.createElement("div",{style:C.controls},r.default.createElement("div",{style:C.top,className:"flexbox-fix"},r.default.createElement("div",{style:C.previews},r.default.createElement(I.default,{rgb:this.props.rgb,currentColor:this.state.currentColor})),r.default.createElement("div",{style:C.actions},r.default.createElement(l.default,{label:"OK",onClick:this.props.onAccept,active:!0}),r.default.createElement(l.default,{label:"Cancel",onClick:this.props.onCancel}),r.default.createElement(g.default,{onChange:this.props.onChange,rgb:this.props.rgb,hsv:this.props.hsv,hex:this.props.hex}))))))}}]),t}(r.default.Component);h.propTypes={header:i.default.string,styles:i.default.object},h.defaultProps={header:"Color Picker",styles:{}},t.default=(0,s.ColorWrap)(h)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PhotoshopPicker=void 0;var n=a(A(0)),r=a(A(49)),i=a(A(142)),o=A(74);function a(e){return e&&e.__esModule?e:{default:e}}var s=t.PhotoshopPicker=function(e){var t=e.onChange,A=e.rgb,a=e.hsv,s=e.hex,g=(0,r.default)({default:{fields:{paddingTop:"5px",paddingBottom:"9px",width:"80px",position:"relative"},divider:{height:"5px"},RGBwrap:{position:"relative"},RGBinput:{marginLeft:"40%",width:"40%",height:"18px",border:"1px solid #888888",boxShadow:"inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC",marginBottom:"5px",fontSize:"13px",paddingLeft:"3px",marginRight:"10px"},RGBlabel:{left:"0px",width:"34px",textTransform:"uppercase",fontSize:"13px",height:"18px",lineHeight:"22px",position:"absolute"},HEXwrap:{position:"relative"},HEXinput:{marginLeft:"20%",width:"80%",height:"18px",border:"1px solid #888888",boxShadow:"inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC",marginBottom:"6px",fontSize:"13px",paddingLeft:"3px"},HEXlabel:{position:"absolute",top:"0px",left:"0px",width:"14px",textTransform:"uppercase",fontSize:"13px",height:"18px",lineHeight:"22px"},fieldSymbols:{position:"absolute",top:"5px",right:"-7px",fontSize:"13px"},symbol:{height:"20px",lineHeight:"22px",paddingBottom:"7px"}}}),c=function(e,n){e["#"]?i.default.isValidHex(e["#"])&&t({hex:e["#"],source:"hex"},n):e.r||e.g||e.b?t({r:e.r||A.r,g:e.g||A.g,b:e.b||A.b,source:"rgb"},n):(e.h||e.s||e.v)&&t({h:e.h||a.h,s:e.s||a.s,v:e.v||a.v,source:"hsv"},n)};return n.default.createElement("div",{style:g.fields},n.default.createElement(o.EditableInput,{style:{wrap:g.RGBwrap,input:g.RGBinput,label:g.RGBlabel},label:"h",value:Math.round(a.h),onChange:c}),n.default.createElement(o.EditableInput,{style:{wrap:g.RGBwrap,input:g.RGBinput,label:g.RGBlabel},label:"s",value:Math.round(100*a.s),onChange:c}),n.default.createElement(o.EditableInput,{style:{wrap:g.RGBwrap,input:g.RGBinput,label:g.RGBlabel},label:"v",value:Math.round(100*a.v),onChange:c}),n.default.createElement("div",{style:g.divider}),n.default.createElement(o.EditableInput,{style:{wrap:g.RGBwrap,input:g.RGBinput,label:g.RGBlabel},label:"r",value:A.r,onChange:c}),n.default.createElement(o.EditableInput,{style:{wrap:g.RGBwrap,input:g.RGBinput,label:g.RGBlabel},label:"g",value:A.g,onChange:c}),n.default.createElement(o.EditableInput,{style:{wrap:g.RGBwrap,input:g.RGBinput,label:g.RGBlabel},label:"b",value:A.b,onChange:c}),n.default.createElement("div",{style:g.divider}),n.default.createElement(o.EditableInput,{style:{wrap:g.HEXwrap,input:g.HEXinput,label:g.HEXlabel},label:"#",value:s.replace("#",""),onChange:c}),n.default.createElement("div",{style:g.fieldSymbols},n.default.createElement("div",{style:g.symbol},"\xb0"),n.default.createElement("div",{style:g.symbol},"%"),n.default.createElement("div",{style:g.symbol},"%")))};t.default=s},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PhotoshopPointerCircle=void 0;var n=i(A(0)),r=i(A(49));function i(e){return e&&e.__esModule?e:{default:e}}var o=t.PhotoshopPointerCircle=function(e){var t=e.hsl,A=(0,r.default)({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}},"black-outline":{picker:{boxShadow:"inset 0 0 0 1px #000"}}},{"black-outline":t.l>.5});return n.default.createElement("div",{style:A.picker})};t.default=o},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PhotoshopPointerCircle=void 0;var n=i(A(0)),r=i(A(49));function i(e){return e&&e.__esModule?e:{default:e}}var o=t.PhotoshopPointerCircle=function(){var e=(0,r.default)({default:{triangle:{width:0,height:0,borderStyle:"solid",borderWidth:"4px 0 4px 6px",borderColor:"transparent transparent transparent #fff",position:"absolute",top:"1px",left:"1px"},triangleBorder:{width:0,height:0,borderStyle:"solid",borderWidth:"5px 0 5px 8px",borderColor:"transparent transparent transparent #555"},left:{Extend:"triangleBorder",transform:"translate(-13px, -4px)"},leftInside:{Extend:"triangle",transform:"translate(-8px, -5px)"},right:{Extend:"triangleBorder",transform:"translate(20px, -14px) rotate(180deg)"},rightInside:{Extend:"triangle",transform:"translate(-8px, -5px)"}}});return n.default.createElement("div",{style:e.pointer},n.default.createElement("div",{style:e.left},n.default.createElement("div",{style:e.leftInside})),n.default.createElement("div",{style:e.right},n.default.createElement("div",{style:e.rightInside})))};t.default=o},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PhotoshopButton=void 0;var n=i(A(0)),r=i(A(49));function i(e){return e&&e.__esModule?e:{default:e}}var o=t.PhotoshopButton=function(e){var t=e.onClick,A=e.label,i=e.children,o=e.active,a=(0,r.default)({default:{button:{backgroundImage:"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)",border:"1px solid #878787",borderRadius:"2px",height:"20px",boxShadow:"0 1px 0 0 #EAEAEA",fontSize:"14px",color:"#000",lineHeight:"20px",textAlign:"center",marginBottom:"10px",cursor:"pointer"}},active:{button:{boxShadow:"0 0 0 1px #878787"}}},{active:o});return n.default.createElement("div",{style:a.button,onClick:t},A||i)};t.default=o},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PhotoshopPreviews=void 0;var n=i(A(0)),r=i(A(49));function i(e){return e&&e.__esModule?e:{default:e}}var o=t.PhotoshopPreviews=function(e){var t=e.rgb,A=e.currentColor,i=(0,r.default)({default:{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+t.r+","+t.g+", "+t.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:A,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return n.default.createElement("div",null,n.default.createElement("div",{style:i.label},"new"),n.default.createElement("div",{style:i.swatches},n.default.createElement("div",{style:i.new}),n.default.createElement("div",{style:i.current})),n.default.createElement("div",{style:i.label},"current"))};t.default=o},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sketch=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},r=u(A(0)),i=u(A(13)),o=u(A(49)),a=u(A(123)),s=A(74),g=u(A(1036)),c=u(A(1037));function u(e){return e&&e.__esModule?e:{default:e}}var l=t.Sketch=function(e){var t=e.width,A=e.rgb,i=e.hex,u=e.hsv,l=e.hsl,I=e.onChange,C=e.onSwatchHover,h=e.disableAlpha,f=e.presetColors,d=e.renderers,B=e.styles,p=void 0===B?{}:B,E=e.className,Q=void 0===E?"":E,y=(0,o.default)((0,a.default)({default:n({picker:{width:t,padding:"10px 10px 0",boxSizing:"initial",background:"#fff",borderRadius:"4px",boxShadow:"0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15)"},saturation:{width:"100%",paddingBottom:"75%",position:"relative",overflow:"hidden"},Saturation:{radius:"3px",shadow:"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)"},controls:{display:"flex"},sliders:{padding:"4px 0",flex:"1"},color:{width:"24px",height:"24px",position:"relative",marginTop:"4px",marginLeft:"4px",borderRadius:"3px"},activeColor:{absolute:"0px 0px 0px 0px",borderRadius:"2px",background:"rgba("+A.r+","+A.g+","+A.b+","+A.a+")",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)"},hue:{position:"relative",height:"10px",overflow:"hidden"},Hue:{radius:"2px",shadow:"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)"},alpha:{position:"relative",height:"10px",marginTop:"4px",overflow:"hidden"},Alpha:{radius:"2px",shadow:"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)"}},p),disableAlpha:{color:{height:"10px"},hue:{height:"10px"},alpha:{display:"none"}}},p),{disableAlpha:h});return r.default.createElement("div",{style:y.picker,className:"sketch-picker "+Q},r.default.createElement("div",{style:y.saturation},r.default.createElement(s.Saturation,{style:y.Saturation,hsl:l,hsv:u,onChange:I})),r.default.createElement("div",{style:y.controls,className:"flexbox-fix"},r.default.createElement("div",{style:y.sliders},r.default.createElement("div",{style:y.hue},r.default.createElement(s.Hue,{style:y.Hue,hsl:l,onChange:I})),r.default.createElement("div",{style:y.alpha},r.default.createElement(s.Alpha,{style:y.Alpha,rgb:A,hsl:l,renderers:d,onChange:I}))),r.default.createElement("div",{style:y.color},r.default.createElement(s.Checkboard,null),r.default.createElement("div",{style:y.activeColor}))),r.default.createElement(g.default,{rgb:A,hsl:l,hex:i,onChange:I,disableAlpha:h}),r.default.createElement(c.default,{colors:f,onClick:I,onSwatchHover:C}))};l.propTypes={disableAlpha:i.default.bool,width:i.default.oneOfType([i.default.string,i.default.number]),styles:i.default.object},l.defaultProps={disableAlpha:!1,width:200,styles:{},presetColors:["#D0021B","#F5A623","#F8E71C","#8B572A","#7ED321","#417505","#BD10E0","#9013FE","#4A90E2","#50E3C2","#B8E986","#000000","#4A4A4A","#9B9B9B","#FFFFFF"]},t.default=(0,s.ColorWrap)(l)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SketchFields=void 0;var n=a(A(0)),r=a(A(49)),i=a(A(142)),o=A(74);function a(e){return e&&e.__esModule?e:{default:e}}var s=t.SketchFields=function(e){var t=e.onChange,A=e.rgb,a=e.hsl,s=e.hex,g=e.disableAlpha,c=(0,r.default)({default:{fields:{display:"flex",paddingTop:"4px"},single:{flex:"1",paddingLeft:"6px"},alpha:{flex:"1",paddingLeft:"6px"},double:{flex:"2"},input:{width:"80%",padding:"4px 10% 3px",border:"none",boxShadow:"inset 0 0 0 1px #ccc",fontSize:"11px"},label:{display:"block",textAlign:"center",fontSize:"11px",color:"#222",paddingTop:"3px",paddingBottom:"4px",textTransform:"capitalize"}},disableAlpha:{alpha:{display:"none"}}},{disableAlpha:g}),u=function(e,n){e.hex?i.default.isValidHex(e.hex)&&t({hex:e.hex,source:"hex"},n):e.r||e.g||e.b?t({r:e.r||A.r,g:e.g||A.g,b:e.b||A.b,a:A.a,source:"rgb"},n):e.a&&(e.a<0?e.a=0:e.a>100&&(e.a=100),e.a/=100,t({h:a.h,s:a.s,l:a.l,a:e.a,source:"rgb"},n))};return n.default.createElement("div",{style:c.fields,className:"flexbox-fix"},n.default.createElement("div",{style:c.double},n.default.createElement(o.EditableInput,{style:{input:c.input,label:c.label},label:"hex",value:s.replace("#",""),onChange:u})),n.default.createElement("div",{style:c.single},n.default.createElement(o.EditableInput,{style:{input:c.input,label:c.label},label:"r",value:A.r,onChange:u,dragLabel:"true",dragMax:"255"})),n.default.createElement("div",{style:c.single},n.default.createElement(o.EditableInput,{style:{input:c.input,label:c.label},label:"g",value:A.g,onChange:u,dragLabel:"true",dragMax:"255"})),n.default.createElement("div",{style:c.single},n.default.createElement(o.EditableInput,{style:{input:c.input,label:c.label},label:"b",value:A.b,onChange:u,dragLabel:"true",dragMax:"255"})),n.default.createElement("div",{style:c.alpha},n.default.createElement(o.EditableInput,{style:{input:c.input,label:c.label},label:"a",value:Math.round(100*A.a),onChange:u,dragLabel:"true",dragMax:"100"})))};t.default=s},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SketchPresetColors=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},r=s(A(0)),i=s(A(13)),o=s(A(49)),a=A(74);function s(e){return e&&e.__esModule?e:{default:e}}var g=t.SketchPresetColors=function(e){var t=e.colors,A=e.onClick,i=void 0===A?function(){}:A,s=e.onSwatchHover,g=(0,o.default)({default:{colors:{margin:"0 -10px",padding:"10px 0 0 10px",borderTop:"1px solid #eee",display:"flex",flexWrap:"wrap",position:"relative"},swatchWrap:{width:"16px",height:"16px",margin:"0 10px 10px 0"},swatch:{borderRadius:"3px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.15)"}},"no-presets":{colors:{display:"none"}}},{"no-presets":!t||!t.length}),c=function(e,t){i({hex:e,source:"hex"},t)};return r.default.createElement("div",{style:g.colors,className:"flexbox-fix"},t.map((function(e){var t="string"===typeof e?{color:e}:e,A=""+t.color+(t.title||"");return r.default.createElement("div",{key:A,style:g.swatchWrap},r.default.createElement(a.Swatch,n({},t,{style:g.swatch,onClick:c,onHover:s,focusStyle:{boxShadow:"inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px "+t.color}})))})))};g.propTypes={colors:i.default.arrayOf(i.default.oneOfType([i.default.string,i.default.shape({color:i.default.string,title:i.default.string})])).isRequired},t.default=g},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Slider=void 0;var n=c(A(0)),r=c(A(13)),i=c(A(49)),o=c(A(123)),a=A(74),s=c(A(1039)),g=c(A(1041));function c(e){return e&&e.__esModule?e:{default:e}}var u=t.Slider=function(e){var t=e.hsl,A=e.onChange,r=e.pointer,g=e.styles,c=void 0===g?{}:g,u=e.className,l=void 0===u?"":u,I=(0,i.default)((0,o.default)({default:{hue:{height:"12px",position:"relative"},Hue:{radius:"2px"}}},c));return n.default.createElement("div",{style:I.wrap||{},className:"slider-picker "+l},n.default.createElement("div",{style:I.hue},n.default.createElement(a.Hue,{style:I.Hue,hsl:t,pointer:r,onChange:A})),n.default.createElement("div",{style:I.swatches},n.default.createElement(s.default,{hsl:t,onClick:A})))};u.propTypes={styles:r.default.object},u.defaultProps={pointer:g.default,styles:{}},t.default=(0,a.ColorWrap)(u)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SliderSwatches=void 0;var n=o(A(0)),r=o(A(49)),i=o(A(1040));function o(e){return e&&e.__esModule?e:{default:e}}var a=t.SliderSwatches=function(e){var t=e.onClick,A=e.hsl,o=(0,r.default)({default:{swatches:{marginTop:"20px"},swatch:{boxSizing:"border-box",width:"20%",paddingRight:"1px",float:"left"},clear:{clear:"both"}}});return n.default.createElement("div",{style:o.swatches},n.default.createElement("div",{style:o.swatch},n.default.createElement(i.default,{hsl:A,offset:".80",active:Math.abs(A.l-.8)<.1&&Math.abs(A.s-.5)<.1,onClick:t,first:!0})),n.default.createElement("div",{style:o.swatch},n.default.createElement(i.default,{hsl:A,offset:".65",active:Math.abs(A.l-.65)<.1&&Math.abs(A.s-.5)<.1,onClick:t})),n.default.createElement("div",{style:o.swatch},n.default.createElement(i.default,{hsl:A,offset:".50",active:Math.abs(A.l-.5)<.1&&Math.abs(A.s-.5)<.1,onClick:t})),n.default.createElement("div",{style:o.swatch},n.default.createElement(i.default,{hsl:A,offset:".35",active:Math.abs(A.l-.35)<.1&&Math.abs(A.s-.5)<.1,onClick:t})),n.default.createElement("div",{style:o.swatch},n.default.createElement(i.default,{hsl:A,offset:".20",active:Math.abs(A.l-.2)<.1&&Math.abs(A.s-.5)<.1,onClick:t,last:!0})),n.default.createElement("div",{style:o.clear}))};t.default=a},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SliderSwatch=void 0;var n=i(A(0)),r=i(A(49));function i(e){return e&&e.__esModule?e:{default:e}}var o=t.SliderSwatch=function(e){var t=e.hsl,A=e.offset,i=e.onClick,o=void 0===i?function(){}:i,a=e.active,s=e.first,g=e.last,c=(0,r.default)({default:{swatch:{height:"12px",background:"hsl("+t.h+", 50%, "+100*A+"%)",cursor:"pointer"}},first:{swatch:{borderRadius:"2px 0 0 2px"}},last:{swatch:{borderRadius:"0 2px 2px 0"}},active:{swatch:{transform:"scaleY(1.8)",borderRadius:"3.6px/2px"}}},{active:a,first:s,last:g});return n.default.createElement("div",{style:c.swatch,onClick:function(e){return o({h:t.h,s:.5,l:A,source:"hsl"},e)}})};t.default=o},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SliderPointer=void 0;var n=i(A(0)),r=i(A(49));function i(e){return e&&e.__esModule?e:{default:e}}var o=t.SliderPointer=function(){var e=(0,r.default)({default:{picker:{width:"14px",height:"14px",borderRadius:"6px",transform:"translate(-7px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return n.default.createElement("div",{style:e.picker})};t.default=o},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Swatches=void 0;var n=l(A(0)),r=l(A(13)),i=l(A(49)),o=l(A(193)),a=l(A(123)),s=l(A(142)),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&(t[A]=e[A]);return t.default=e,t}(A(618)),c=A(74),u=l(A(1043));function l(e){return e&&e.__esModule?e:{default:e}}var I=t.Swatches=function(e){var t=e.width,A=e.height,r=e.onChange,g=e.onSwatchHover,l=e.colors,I=e.hex,C=e.styles,h=void 0===C?{}:C,f=e.className,d=void 0===f?"":f,B=(0,i.default)((0,a.default)({default:{picker:{width:t,height:A},overflow:{height:A,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},h)),p=function(e,t){s.default.isValidHex(e)&&r({hex:e,source:"hex"},t)};return n.default.createElement("div",{style:B.picker,className:"swatches-picker "+d},n.default.createElement(c.Raised,null,n.default.createElement("div",{style:B.overflow},n.default.createElement("div",{style:B.body},(0,o.default)(l,(function(e){return n.default.createElement(u.default,{key:e.toString(),group:e,active:I,onClick:p,onSwatchHover:g})})),n.default.createElement("div",{style:B.clear})))))};I.propTypes={width:r.default.oneOfType([r.default.string,r.default.number]),height:r.default.oneOfType([r.default.string,r.default.number]),colors:r.default.arrayOf(r.default.arrayOf(r.default.string)),styles:r.default.object},I.defaultProps={width:320,height:240,colors:[[g.red[900],g.red[700],g.red[500],g.red[300],g.red[100]],[g.pink[900],g.pink[700],g.pink[500],g.pink[300],g.pink[100]],[g.purple[900],g.purple[700],g.purple[500],g.purple[300],g.purple[100]],[g.deepPurple[900],g.deepPurple[700],g.deepPurple[500],g.deepPurple[300],g.deepPurple[100]],[g.indigo[900],g.indigo[700],g.indigo[500],g.indigo[300],g.indigo[100]],[g.blue[900],g.blue[700],g.blue[500],g.blue[300],g.blue[100]],[g.lightBlue[900],g.lightBlue[700],g.lightBlue[500],g.lightBlue[300],g.lightBlue[100]],[g.cyan[900],g.cyan[700],g.cyan[500],g.cyan[300],g.cyan[100]],[g.teal[900],g.teal[700],g.teal[500],g.teal[300],g.teal[100]],["#194D33",g.green[700],g.green[500],g.green[300],g.green[100]],[g.lightGreen[900],g.lightGreen[700],g.lightGreen[500],g.lightGreen[300],g.lightGreen[100]],[g.lime[900],g.lime[700],g.lime[500],g.lime[300],g.lime[100]],[g.yellow[900],g.yellow[700],g.yellow[500],g.yellow[300],g.yellow[100]],[g.amber[900],g.amber[700],g.amber[500],g.amber[300],g.amber[100]],[g.orange[900],g.orange[700],g.orange[500],g.orange[300],g.orange[100]],[g.deepOrange[900],g.deepOrange[700],g.deepOrange[500],g.deepOrange[300],g.deepOrange[100]],[g.brown[900],g.brown[700],g.brown[500],g.brown[300],g.brown[100]],[g.blueGrey[900],g.blueGrey[700],g.blueGrey[500],g.blueGrey[300],g.blueGrey[100]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}},t.default=(0,c.ColorWrap)(I)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SwatchesGroup=void 0;var n=a(A(0)),r=a(A(49)),i=a(A(193)),o=a(A(1044));function a(e){return e&&e.__esModule?e:{default:e}}var s=t.SwatchesGroup=function(e){var t=e.onClick,A=e.onSwatchHover,a=e.group,s=e.active,g=(0,r.default)({default:{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return n.default.createElement("div",{style:g.group},(0,i.default)(a,(function(e,r){return n.default.createElement(o.default,{key:e,color:e,active:e.toLowerCase()===s,first:0===r,last:r===a.length-1,onClick:t,onSwatchHover:A})})))};t.default=s},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SwatchesColor=void 0;var n=s(A(0)),r=s(A(49)),i=s(A(142)),o=A(74),a=s(A(1045));function s(e){return e&&e.__esModule?e:{default:e}}var g=t.SwatchesColor=function(e){var t=e.color,A=e.onClick,s=void 0===A?function(){}:A,g=e.onSwatchHover,c=e.first,u=e.last,l=e.active,I=(0,r.default)({default:{color:{width:"40px",height:"24px",cursor:"pointer",background:t,marginBottom:"1px"},check:{color:i.default.getContrastingColor(t),marginLeft:"8px",display:"none"}},first:{color:{overflow:"hidden",borderRadius:"2px 2px 0 0"}},last:{color:{overflow:"hidden",borderRadius:"0 0 2px 2px"}},active:{check:{display:"block"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},check:{color:"#333"}},transparent:{check:{color:"#333"}}},{first:c,last:u,active:l,"color-#FFFFFF":"#FFFFFF"===t,transparent:"transparent"===t});return n.default.createElement(o.Swatch,{color:t,style:I.color,onClick:s,onHover:g,focusStyle:{boxShadow:"0 0 4px "+t}},n.default.createElement("div",{style:I.check},n.default.createElement(a.default,null)))};t.default=g},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},i=A(0),o=(n=i)&&n.__esModule?n:{default:n};t.default=function(e){var t=e.fill,A=void 0===t?"currentColor":t,n=e.width,i=void 0===n?24:n,a=e.height,s=void 0===a?24:a,g=e.style,c=void 0===g?{}:g,u=function(e,t){var A={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(A[n]=e[n]);return A}(e,["fill","width","height","style"]);return o.default.createElement("svg",r({viewBox:"0 0 24 24",style:r({fill:A,width:i,height:s},c)},u),o.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Twitter=void 0;var n=c(A(0)),r=c(A(13)),i=c(A(49)),o=c(A(193)),a=c(A(123)),s=c(A(142)),g=A(74);function c(e){return e&&e.__esModule?e:{default:e}}var u=t.Twitter=function(e){var t=e.onChange,A=e.onSwatchHover,r=e.hex,c=e.colors,u=e.width,l=e.triangle,I=e.styles,C=void 0===I?{}:I,h=e.className,f=void 0===h?"":h,d=(0,i.default)((0,a.default)({default:{card:{width:u,background:"#fff",border:"0 solid rgba(0,0,0,0.25)",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",borderRadius:"4px",position:"relative"},body:{padding:"15px 9px 9px 15px"},label:{fontSize:"18px",color:"#fff"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent #fff transparent",position:"absolute"},triangleShadow:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent rgba(0,0,0,.1) transparent",position:"absolute"},hash:{background:"#F0F0F0",height:"30px",width:"30px",borderRadius:"4px 0 0 4px",float:"left",color:"#98A1A4",display:"flex",alignItems:"center",justifyContent:"center"},input:{width:"100px",fontSize:"14px",color:"#666",border:"0px",outline:"none",height:"28px",boxShadow:"inset 0 0 0 1px #F0F0F0",boxSizing:"content-box",borderRadius:"0 4px 4px 0",float:"left",paddingLeft:"8px"},swatch:{width:"30px",height:"30px",float:"left",borderRadius:"4px",margin:"0 6px 6px 0"},clear:{clear:"both"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-10px",left:"12px"},triangleShadow:{top:"-11px",left:"12px"}},"top-right-triangle":{triangle:{top:"-10px",right:"12px"},triangleShadow:{top:"-11px",right:"12px"}}},C),{"hide-triangle":"hide"===l,"top-left-triangle":"top-left"===l,"top-right-triangle":"top-right"===l}),B=function(e,A){s.default.isValidHex(e)&&t({hex:e,source:"hex"},A)};return n.default.createElement("div",{style:d.card,className:"twitter-picker "+f},n.default.createElement("div",{style:d.triangleShadow}),n.default.createElement("div",{style:d.triangle}),n.default.createElement("div",{style:d.body},(0,o.default)(c,(function(e,t){return n.default.createElement(g.Swatch,{key:t,color:e,hex:e,style:d.swatch,onClick:B,onHover:A,focusStyle:{boxShadow:"0 0 4px "+e}})})),n.default.createElement("div",{style:d.hash},"#"),n.default.createElement(g.EditableInput,{label:null,style:{input:d.input},value:r.replace("#",""),onChange:B}),n.default.createElement("div",{style:d.clear})))};u.propTypes={width:r.default.oneOfType([r.default.string,r.default.number]),triangle:r.default.oneOf(["hide","top-left","top-right"]),colors:r.default.arrayOf(r.default.string),styles:r.default.object},u.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}},t.default=(0,g.ColorWrap)(u)},function(e,t,A){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(A(1048)),i=n(A(443)),o=["altKey","bubbles","cancelable","ctrlKey","currentTarget","eventPhase","metaKey","shiftKey","target","timeStamp","view","type"];function a(e){return null===e||void 0===e}var s=[{reg:/^key/,props:["char","charCode","key","keyCode","which"],fix:function(e,t){a(e.which)&&(e.which=a(t.charCode)?t.keyCode:t.charCode),void 0===e.metaKey&&(e.metaKey=e.ctrlKey)}},{reg:/^touch/,props:["touches","changedTouches","targetTouches"]},{reg:/^hashchange$/,props:["newURL","oldURL"]},{reg:/^gesturechange$/i,props:["rotation","scale"]},{reg:/^(mousewheel|DOMMouseScroll)$/,props:[],fix:function(e,t){var A=void 0,n=void 0,r=void 0,i=t.wheelDelta,o=t.axis,a=t.wheelDeltaY,s=t.wheelDeltaX,g=t.detail;i&&(r=i/120),g&&(r=0-(g%3===0?g/3:g)),void 0!==o&&(o===e.HORIZONTAL_AXIS?(n=0,A=0-r):o===e.VERTICAL_AXIS&&(A=0,n=r)),void 0!==a&&(n=a/120),void 0!==s&&(A=-1*s/120),A||n||(n=r),void 0!==A&&(e.deltaX=A),void 0!==n&&(e.deltaY=n),void 0!==r&&(e.delta=r)}},{reg:/^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,props:["buttons","clientX","clientY","button","offsetX","relatedTarget","which","fromElement","toElement","offsetY","pageX","pageY","screenX","screenY"],fix:function(e,t){var A=void 0,n=void 0,r=void 0,i=e.target,o=t.button;return i&&a(e.pageX)&&!a(t.clientX)&&(n=(A=i.ownerDocument||document).documentElement,r=A.body,e.pageX=t.clientX+(n&&n.scrollLeft||r&&r.scrollLeft||0)-(n&&n.clientLeft||r&&r.clientLeft||0),e.pageY=t.clientY+(n&&n.scrollTop||r&&r.scrollTop||0)-(n&&n.clientTop||r&&r.clientTop||0)),e.which||void 0===o||(e.which=1&o?1:2&o?3:4&o?2:0),!e.relatedTarget&&e.fromElement&&(e.relatedTarget=e.fromElement===i?e.toElement:e.fromElement),e}}];function g(){return!0}function c(){return!1}function u(e){var t=e.type,A="function"===typeof e.stopPropagation||"boolean"===typeof e.cancelBubble;r.default.call(this),this.nativeEvent=e;var n=c;"defaultPrevented"in e?n=e.defaultPrevented?g:c:"getPreventDefault"in e?n=e.getPreventDefault()?g:c:"returnValue"in e&&(n=!1===e.returnValue?g:c),this.isDefaultPrevented=n;var i=[],a=void 0,u=void 0,l=o.concat();for(s.forEach((function(e){t.match(e.reg)&&(l=l.concat(e.props),e.fix&&i.push(e.fix))})),a=l.length;a;)this[u=l[--a]]=e[u];for(!this.target&&A&&(this.target=e.srcElement||document),this.target&&3===this.target.nodeType&&(this.target=this.target.parentNode),a=i.length;a;)(0,i[--a])(this,e);this.timeStamp=e.timeStamp||Date.now()}var l=r.default.prototype;(0,i.default)(u.prototype,l,{constructor:u,preventDefault:function(){var e=this.nativeEvent;e.preventDefault?e.preventDefault():e.returnValue=!1,l.preventDefault.call(this)},stopPropagation:function(){var e=this.nativeEvent;e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,l.stopPropagation.call(this)}}),t.default=u,e.exports=t.default},function(e,t,A){"use strict";function n(){return!1}function r(){return!0}function i(){this.timeStamp=Date.now(),this.target=void 0,this.currentTarget=void 0}Object.defineProperty(t,"__esModule",{value:!0}),i.prototype={isEventObject:1,constructor:i,isDefaultPrevented:n,isPropagationStopped:n,isImmediatePropagationStopped:n,preventDefault:function(){this.isDefaultPrevented=r},stopPropagation:function(){this.isPropagationStopped=r},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=r,this.stopPropagation()},halt:function(e){e?this.stopImmediatePropagation():this.stopPropagation(),this.preventDefault()}},t.default=i,e.exports=t.default},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(619),r=A(620),i=A(490),o=A(489),a=A(105),s=A(141),g=A(59),c=A(621);function u(e,t){var A=a.getCoords(t),n=a.getCoords(e),r=n[0],i=n[n.length-1],o=e.geometry.coordinates;return c(A[0],r)?o.unshift(A[1]):c(A[0],i)?o.push(A[1]):c(A[1],r)?o.unshift(A[0]):c(A[1],i)&&o.push(A[0]),e}t.default=function(e,t,A){if(void 0===A&&(A={}),A=A||{},!g.isObject(A))throw new Error("options is invalid");var l,I=A.tolerance||0,C=[],h=n.default(),f=r.default(e);return h.load(f),s.segmentEach(t,(function(e){var t=!1;s.featureEach(h.search(e),(function(A){if(!1===t){var n=a.getCoords(e).sort(),r=a.getCoords(A).sort();c(n,r)||(0===I?o.default(n[0],A)&&o.default(n[1],A):i.default(A,n[0]).properties.dist<=I&&i.default(A,n[1]).properties.dist<=I)?(t=!0,l=l?u(l,e):e):(0===I?o.default(r[0],e)&&o.default(r[1],e):i.default(e,r[0]).properties.dist<=I&&i.default(e,r[1]).properties.dist<=I)&&(l=l?u(l,A):A)}})),!1===t&&l&&(C.push(l),l=void 0)})),l&&C.push(l),g.featureCollection(C)}},function(e,t,A){"use strict";e.exports=r,e.exports.default=r;var n=A(1051);function r(e,t){if(!(this instanceof r))return new r(e,t);this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&this._initFormat(t),this.clear()}function i(e,t,A){if(!A)return t.indexOf(e);for(var n=0;n<t.length;n++)if(A(e,t[n]))return n;return-1}function o(e,t){a(e,0,e.children.length,t,e)}function a(e,t,A,n,r){r||(r=f(null)),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(var i,o=t;o<A;o++)i=e.children[o],s(r,e.leaf?n(i):i);return r}function s(e,t){return e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),e}function g(e,t){return e.minX-t.minX}function c(e,t){return e.minY-t.minY}function u(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function l(e){return e.maxX-e.minX+(e.maxY-e.minY)}function I(e,t){var A=Math.max(e.minX,t.minX),n=Math.max(e.minY,t.minY),r=Math.min(e.maxX,t.maxX),i=Math.min(e.maxY,t.maxY);return Math.max(0,r-A)*Math.max(0,i-n)}function C(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function h(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function f(e){return{children:e,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function d(e,t,A,r,i){for(var o,a=[t,A];a.length;)(A=a.pop())-(t=a.pop())<=r||(o=t+Math.ceil((A-t)/r/2)*r,n(e,o,t,A,i),a.push(t,o,o,A))}r.prototype={all:function(){return this._all(this.data,[])},search:function(e){var t=this.data,A=[],n=this.toBBox;if(!h(e,t))return A;for(var r,i,o,a,s=[];t;){for(r=0,i=t.children.length;r<i;r++)o=t.children[r],h(e,a=t.leaf?n(o):o)&&(t.leaf?A.push(o):C(e,a)?this._all(o,A):s.push(o));t=s.pop()}return A},collides:function(e){var t=this.data,A=this.toBBox;if(!h(e,t))return!1;for(var n,r,i,o,a=[];t;){for(n=0,r=t.children.length;n<r;n++)if(i=t.children[n],h(e,o=t.leaf?A(i):i)){if(t.leaf||C(e,o))return!0;a.push(i)}t=a.pop()}return!1},load:function(e){if(!e||!e.length)return this;if(e.length<this._minEntries){for(var t=0,A=e.length;t<A;t++)this.insert(e[t]);return this}var n=this._build(e.slice(),0,e.length-1,0);if(this.data.children.length)if(this.data.height===n.height)this._splitRoot(this.data,n);else{if(this.data.height<n.height){var r=this.data;this.data=n,n=r}this._insert(n,this.data.height-n.height-1,!0)}else this.data=n;return this},insert:function(e){return e&&this._insert(e,this.data.height-1),this},clear:function(){return this.data=f([]),this},remove:function(e,t){if(!e)return this;for(var A,n,r,o,a=this.data,s=this.toBBox(e),g=[],c=[];a||g.length;){if(a||(a=g.pop(),n=g[g.length-1],A=c.pop(),o=!0),a.leaf&&-1!==(r=i(e,a.children,t)))return a.children.splice(r,1),g.push(a),this._condense(g),this;o||a.leaf||!C(a,s)?n?(A++,a=n.children[A],o=!1):a=null:(g.push(a),c.push(A),A=0,n=a,a=a.children[0])}return this},toBBox:function(e){return e},compareMinX:g,compareMinY:c,toJSON:function(){return this.data},fromJSON:function(e){return this.data=e,this},_all:function(e,t){for(var A=[];e;)e.leaf?t.push.apply(t,e.children):A.push.apply(A,e.children),e=A.pop();return t},_build:function(e,t,A,n){var r,i=A-t+1,a=this._maxEntries;if(i<=a)return o(r=f(e.slice(t,A+1)),this.toBBox),r;n||(n=Math.ceil(Math.log(i)/Math.log(a)),a=Math.ceil(i/Math.pow(a,n-1))),(r=f([])).leaf=!1,r.height=n;var s,g,c,u,l=Math.ceil(i/a),I=l*Math.ceil(Math.sqrt(a));for(d(e,t,A,I,this.compareMinX),s=t;s<=A;s+=I)for(d(e,s,c=Math.min(s+I-1,A),l,this.compareMinY),g=s;g<=c;g+=l)u=Math.min(g+l-1,c),r.children.push(this._build(e,g,u,n-1));return o(r,this.toBBox),r},_chooseSubtree:function(e,t,A,n){for(var r,i,o,a,s,g,c,l,I,C;n.push(t),!t.leaf&&n.length-1!==A;){for(c=l=1/0,r=0,i=t.children.length;r<i;r++)s=u(o=t.children[r]),I=e,C=o,(g=(Math.max(C.maxX,I.maxX)-Math.min(C.minX,I.minX))*(Math.max(C.maxY,I.maxY)-Math.min(C.minY,I.minY))-s)<l?(l=g,c=s<c?s:c,a=o):g===l&&s<c&&(c=s,a=o);t=a||t.children[0]}return t},_insert:function(e,t,A){var n=this.toBBox,r=A?e:n(e),i=[],o=this._chooseSubtree(r,this.data,t,i);for(o.children.push(e),s(o,r);t>=0&&i[t].children.length>this._maxEntries;)this._split(i,t),t--;this._adjustParentBBoxes(r,i,t)},_split:function(e,t){var A=e[t],n=A.children.length,r=this._minEntries;this._chooseSplitAxis(A,r,n);var i=this._chooseSplitIndex(A,r,n),a=f(A.children.splice(i,A.children.length-i));a.height=A.height,a.leaf=A.leaf,o(A,this.toBBox),o(a,this.toBBox),t?e[t-1].children.push(a):this._splitRoot(A,a)},_splitRoot:function(e,t){this.data=f([e,t]),this.data.height=e.height+1,this.data.leaf=!1,o(this.data,this.toBBox)},_chooseSplitIndex:function(e,t,A){var n,r,i,o,s,g,c,l;for(g=c=1/0,n=t;n<=A-t;n++)o=I(r=a(e,0,n,this.toBBox),i=a(e,n,A,this.toBBox)),s=u(r)+u(i),o<g?(g=o,l=n,c=s<c?s:c):o===g&&s<c&&(c=s,l=n);return l},_chooseSplitAxis:function(e,t,A){var n=e.leaf?this.compareMinX:g,r=e.leaf?this.compareMinY:c;this._allDistMargin(e,t,A,n)<this._allDistMargin(e,t,A,r)&&e.children.sort(n)},_allDistMargin:function(e,t,A,n){e.children.sort(n);var r,i,o=this.toBBox,g=a(e,0,t,o),c=a(e,A-t,A,o),u=l(g)+l(c);for(r=t;r<A-t;r++)i=e.children[r],s(g,e.leaf?o(i):i),u+=l(g);for(r=A-t-1;r>=t;r--)i=e.children[r],s(c,e.leaf?o(i):i),u+=l(c);return u},_adjustParentBBoxes:function(e,t,A){for(var n=A;n>=0;n--)s(t[n],e)},_condense:function(e){for(var t,A=e.length-1;A>=0;A--)0===e[A].children.length?A>0?(t=e[A-1].children).splice(t.indexOf(e[A]),1):this.clear():o(e[A],this.toBBox)},_initFormat:function(e){var t=["return a"," - b",";"];this.compareMinX=new Function("a","b",t.join(e[0])),this.compareMinY=new Function("a","b",t.join(e[1])),this.toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}},function(e,t,A){e.exports=function(){"use strict";function e(e,t,A){var n=e[t];e[t]=e[A],e[A]=n}function t(e,t){return e<t?-1:e>t?1:0}return function(A,n,r,i,o){!function t(A,n,r,i,o){for(;i>r;){if(i-r>600){var a=i-r+1,s=n-r+1,g=Math.log(a),c=.5*Math.exp(2*g/3),u=.5*Math.sqrt(g*c*(a-c)/a)*(s-a/2<0?-1:1),l=Math.max(r,Math.floor(n-s*c/a+u)),I=Math.min(i,Math.floor(n+(a-s)*c/a+u));t(A,n,l,I,o)}var C=A[n],h=r,f=i;for(e(A,r,n),o(A[i],C)>0&&e(A,r,i);h<f;){for(e(A,h,f),h++,f--;o(A[h],C)<0;)h++;for(;o(A[f],C)>0;)f--}0===o(A[r],C)?e(A,r,f):(f++,e(A,f,i)),f<=n&&(r=f+1),n<=f&&(i=f-1)}}(A,n,r||0,i||A.length-1,o||t)}}()},function(e,t,A){"use strict";var n;if(!Object.keys){var r=Object.prototype.hasOwnProperty,i=Object.prototype.toString,o=A(623),a=Object.prototype.propertyIsEnumerable,s=!a.call({toString:null},"toString"),g=a.call((function(){}),"prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],u=function(e){var t=e.constructor;return t&&t.prototype===e},l={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},I=function(){if("undefined"===typeof window)return!1;for(var e in window)try{if(!l["$"+e]&&r.call(window,e)&&null!==window[e]&&"object"===typeof window[e])try{u(window[e])}catch(t){return!0}}catch(t){return!0}return!1}();n=function(e){var t=null!==e&&"object"===typeof e,A="[object Function]"===i.call(e),n=o(e),a=t&&"[object String]"===i.call(e),l=[];if(!t&&!A&&!n)throw new TypeError("Object.keys called on a non-object");var C=g&&A;if(a&&e.length>0&&!r.call(e,0))for(var h=0;h<e.length;++h)l.push(String(h));if(n&&e.length>0)for(var f=0;f<e.length;++f)l.push(String(f));else for(var d in e)C&&"prototype"===d||!r.call(e,d)||l.push(String(d));if(s)for(var B=function(e){if("undefined"===typeof window||!I)return u(e);try{return u(e)}catch(t){return!1}}(e),p=0;p<c.length;++p)B&&"constructor"===c[p]||!r.call(e,c[p])||l.push(c[p]);return l}}e.exports=n},function(e,t,A){"use strict";var n="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag,r=Object.prototype.toString,i=function(e){return!(n&&e&&"object"===typeof e&&Symbol.toStringTag in e)&&"[object Arguments]"===r.call(e)},o=function(e){return!!i(e)||null!==e&&"object"===typeof e&&"number"===typeof e.length&&e.length>=0&&"[object Array]"!==r.call(e)&&"[object Function]"===r.call(e.callee)},a=function(){return i(arguments)}();i.isLegacyArguments=o,e.exports=a?i:o},function(e,t,A){"use strict";var n=function(e){return e!==e};e.exports=function(e,t){return 0===e&&0===t?1/e===1/t:e===t||!(!n(e)||!n(t))}},function(e,t,A){"use strict";var n=A(1056),r=RegExp.prototype.exec,i=Object.getOwnPropertyDescriptor,o=Object.prototype.toString,a="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag;e.exports=function(e){if(!e||"object"!==typeof e)return!1;if(!a)return"[object RegExp]"===o.call(e);var t=i(e,"lastIndex");return!(!t||!n(t,"value"))&&function(e){try{var t=e.lastIndex;return e.lastIndex=0,r.call(e),!0}catch(A){return!1}finally{e.lastIndex=t}}(e)}},function(e,t,A){"use strict";var n=A(491);e.exports=n.call(Function.call,Object.prototype.hasOwnProperty)},function(e,t,A){"use strict";var n="Function.prototype.bind called on incompatible ",r=Array.prototype.slice,i=Object.prototype.toString;e.exports=function(e){var t=this;if("function"!==typeof t||"[object Function]"!==i.call(t))throw new TypeError(n+t);for(var A,o=r.call(arguments,1),a=function(){if(this instanceof A){var n=t.apply(this,o.concat(r.call(arguments)));return Object(n)===n?n:this}return t.apply(e,o.concat(r.call(arguments)))},s=Math.max(0,t.length-o.length),g=[],c=0;c<s;c++)g.push("$"+c);if(A=Function("binder","return function ("+g.join(",")+"){ return binder.apply(this,arguments); }")(a),t.prototype){var u=function(){};u.prototype=t.prototype,A.prototype=new u,u.prototype=null}return A}},function(e,t,A){"use strict";var n=A(492),r=A(1059),i=A(624),o=A(625),a=A(1063),s=r(i);n(s,{getPolyfill:o,implementation:i,shim:a}),e.exports=s},function(e,t,A){"use strict";var n=A(491),r=A(1060)("%Function%"),i=r.apply,o=r.call;e.exports=function(){return n.apply(o,arguments)},e.exports.apply=function(){return n.apply(i,arguments)}},function(e,t,A){"use strict";var n=TypeError,r=Object.getOwnPropertyDescriptor;if(r)try{r({},"")}catch(d){r=null}var i=function(){throw new n},o=r?function(){try{return arguments.callee,i}catch(e){try{return r(arguments,"callee").get}catch(t){return i}}}():i,a=A(1061)(),s=Object.getPrototypeOf||function(e){return e.__proto__},g=void 0,c="undefined"===typeof Uint8Array?void 0:s(Uint8Array),u={"%Array%":Array,"%ArrayBuffer%":"undefined"===typeof ArrayBuffer?void 0:ArrayBuffer,"%ArrayBufferPrototype%":"undefined"===typeof ArrayBuffer?void 0:ArrayBuffer.prototype,"%ArrayIteratorPrototype%":a?s([][Symbol.iterator]()):void 0,"%ArrayPrototype%":Array.prototype,"%ArrayProto_entries%":Array.prototype.entries,"%ArrayProto_forEach%":Array.prototype.forEach,"%ArrayProto_keys%":Array.prototype.keys,"%ArrayProto_values%":Array.prototype.values,"%AsyncFromSyncIteratorPrototype%":void 0,"%AsyncFunction%":void 0,"%AsyncFunctionPrototype%":void 0,"%AsyncGenerator%":void 0,"%AsyncGeneratorFunction%":void 0,"%AsyncGeneratorPrototype%":void 0,"%AsyncIteratorPrototype%":g&&a&&Symbol.asyncIterator?g[Symbol.asyncIterator]():void 0,"%Atomics%":"undefined"===typeof Atomics?void 0:Atomics,"%Boolean%":Boolean,"%BooleanPrototype%":Boolean.prototype,"%DataView%":"undefined"===typeof DataView?void 0:DataView,"%DataViewPrototype%":"undefined"===typeof DataView?void 0:DataView.prototype,"%Date%":Date,"%DatePrototype%":Date.prototype,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%ErrorPrototype%":Error.prototype,"%eval%":eval,"%EvalError%":EvalError,"%EvalErrorPrototype%":EvalError.prototype,"%Float32Array%":"undefined"===typeof Float32Array?void 0:Float32Array,"%Float32ArrayPrototype%":"undefined"===typeof Float32Array?void 0:Float32Array.prototype,"%Float64Array%":"undefined"===typeof Float64Array?void 0:Float64Array,"%Float64ArrayPrototype%":"undefined"===typeof Float64Array?void 0:Float64Array.prototype,"%Function%":Function,"%FunctionPrototype%":Function.prototype,"%Generator%":void 0,"%GeneratorFunction%":void 0,"%GeneratorPrototype%":void 0,"%Int8Array%":"undefined"===typeof Int8Array?void 0:Int8Array,"%Int8ArrayPrototype%":"undefined"===typeof Int8Array?void 0:Int8Array.prototype,"%Int16Array%":"undefined"===typeof Int16Array?void 0:Int16Array,"%Int16ArrayPrototype%":"undefined"===typeof Int16Array?void 0:Int8Array.prototype,"%Int32Array%":"undefined"===typeof Int32Array?void 0:Int32Array,"%Int32ArrayPrototype%":"undefined"===typeof Int32Array?void 0:Int32Array.prototype,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":a?s(s([][Symbol.iterator]())):void 0,"%JSON%":"object"===typeof JSON?JSON:void 0,"%JSONParse%":"object"===typeof JSON?JSON.parse:void 0,"%Map%":"undefined"===typeof Map?void 0:Map,"%MapIteratorPrototype%":"undefined"!==typeof Map&&a?s((new Map)[Symbol.iterator]()):void 0,"%MapPrototype%":"undefined"===typeof Map?void 0:Map.prototype,"%Math%":Math,"%Number%":Number,"%NumberPrototype%":Number.prototype,"%Object%":Object,"%ObjectPrototype%":Object.prototype,"%ObjProto_toString%":Object.prototype.toString,"%ObjProto_valueOf%":Object.prototype.valueOf,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"===typeof Promise?void 0:Promise,"%PromisePrototype%":"undefined"===typeof Promise?void 0:Promise.prototype,"%PromiseProto_then%":"undefined"===typeof Promise?void 0:Promise.prototype.then,"%Promise_all%":"undefined"===typeof Promise?void 0:Promise.all,"%Promise_reject%":"undefined"===typeof Promise?void 0:Promise.reject,"%Promise_resolve%":"undefined"===typeof Promise?void 0:Promise.resolve,"%Proxy%":"undefined"===typeof Proxy?void 0:Proxy,"%RangeError%":RangeError,"%RangeErrorPrototype%":RangeError.prototype,"%ReferenceError%":ReferenceError,"%ReferenceErrorPrototype%":ReferenceError.prototype,"%Reflect%":"undefined"===typeof Reflect?void 0:Reflect,"%RegExp%":RegExp,"%RegExpPrototype%":RegExp.prototype,"%Set%":"undefined"===typeof Set?void 0:Set,"%SetIteratorPrototype%":"undefined"!==typeof Set&&a?s((new Set)[Symbol.iterator]()):void 0,"%SetPrototype%":"undefined"===typeof Set?void 0:Set.prototype,"%SharedArrayBuffer%":"undefined"===typeof SharedArrayBuffer?void 0:SharedArrayBuffer,"%SharedArrayBufferPrototype%":"undefined"===typeof SharedArrayBuffer?void 0:SharedArrayBuffer.prototype,"%String%":String,"%StringIteratorPrototype%":a?s(""[Symbol.iterator]()):void 0,"%StringPrototype%":String.prototype,"%Symbol%":a?Symbol:void 0,"%SymbolPrototype%":a?Symbol.prototype:void 0,"%SyntaxError%":SyntaxError,"%SyntaxErrorPrototype%":SyntaxError.prototype,"%ThrowTypeError%":o,"%TypedArray%":c,"%TypedArrayPrototype%":c?c.prototype:void 0,"%TypeError%":n,"%TypeErrorPrototype%":n.prototype,"%Uint8Array%":"undefined"===typeof Uint8Array?void 0:Uint8Array,"%Uint8ArrayPrototype%":"undefined"===typeof Uint8Array?void 0:Uint8Array.prototype,"%Uint8ClampedArray%":"undefined"===typeof Uint8ClampedArray?void 0:Uint8ClampedArray,"%Uint8ClampedArrayPrototype%":"undefined"===typeof Uint8ClampedArray?void 0:Uint8ClampedArray.prototype,"%Uint16Array%":"undefined"===typeof Uint16Array?void 0:Uint16Array,"%Uint16ArrayPrototype%":"undefined"===typeof Uint16Array?void 0:Uint16Array.prototype,"%Uint32Array%":"undefined"===typeof Uint32Array?void 0:Uint32Array,"%Uint32ArrayPrototype%":"undefined"===typeof Uint32Array?void 0:Uint32Array.prototype,"%URIError%":URIError,"%URIErrorPrototype%":URIError.prototype,"%WeakMap%":"undefined"===typeof WeakMap?void 0:WeakMap,"%WeakMapPrototype%":"undefined"===typeof WeakMap?void 0:WeakMap.prototype,"%WeakSet%":"undefined"===typeof WeakSet?void 0:WeakSet,"%WeakSetPrototype%":"undefined"===typeof WeakSet?void 0:WeakSet.prototype},l=A(491).call(Function.call,String.prototype.replace),I=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,C=/\\(\\)?/g,h=function(e){var t=[];return l(e,I,(function(e,A,n,r){t[t.length]=n?l(r,C,"$1"):A||e})),t},f=function(e,t){if(!(e in u))throw new SyntaxError("intrinsic "+e+" does not exist!");if("undefined"===typeof u[e]&&!t)throw new n("intrinsic "+e+" exists, but is not available. Please file an issue!");return u[e]};e.exports=function(e,t){if("string"!==typeof e||0===e.length)throw new TypeError("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!==typeof t)throw new TypeError('"allowMissing" argument must be a boolean');for(var A=h(e),i=f("%"+(A.length>0?A[0]:"")+"%",t),o=1;o<A.length;o+=1)if(null!=i)if(r&&o+1>=A.length){var a=r(i,A[o]);if(!t&&!(A[o]in i))throw new n("base intrinsic for "+e+" exists, but the property is not available.");i=a?a.get||a.value:i[A[o]]}else i=i[A[o]];return i}},function(e,t,A){"use strict";(function(t){var n=t.Symbol,r=A(1062);e.exports=function(){return"function"===typeof n&&("function"===typeof Symbol&&("symbol"===typeof n("foo")&&("symbol"===typeof Symbol("bar")&&r())))}}).call(this,A(86))},function(e,t,A){"use strict";e.exports=function(){if("function"!==typeof Symbol||"function"!==typeof Object.getOwnPropertySymbols)return!1;if("symbol"===typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),A=Object(t);if("string"===typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(A))return!1;for(t in e[t]=42,e)return!1;if("function"===typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var n=Object.getOwnPropertySymbols(e);if(1!==n.length||n[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"===typeof Object.getOwnPropertyDescriptor){var r=Object.getOwnPropertyDescriptor(e,t);if(42!==r.value||!0!==r.enumerable)return!1}return!0}},function(e,t,A){"use strict";var n=A(492).supportsDescriptors,r=A(625),i=Object.getOwnPropertyDescriptor,o=Object.defineProperty,a=TypeError,s=Object.getPrototypeOf,g=/a/;e.exports=function(){if(!n||!s)throw new a("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var e=r(),t=s(g),A=i(t,"flags");return A&&A.get===e||o(t,"flags",{configurable:!0,enumerable:!1,get:e}),e}},function(e,t,A){"use strict";var n=Date.prototype.getDay,r=Object.prototype.toString,i="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag;e.exports=function(e){return"object"===typeof e&&null!==e&&(i?function(e){try{return n.call(e),!0}catch(t){return!1}}(e):"[object Date]"===r.call(e))}},function(e,t,A){var n=A(621),r=function(e){this.precision=e&&e.precision?e.precision:17,this.direction=!(!e||!e.direction)&&e.direction,this.pseudoNode=!(!e||!e.pseudoNode)&&e.pseudoNode,this.objectComparator=e&&e.objectComparator?e.objectComparator:a};function i(e){return e.coordinates.map((function(t){return{type:e.type.replace("Multi",""),coordinates:t}}))}function o(e,t){return e.hasOwnProperty("coordinates")?e.coordinates.length===t.coordinates.length:e.length===t.length}function a(e,t){return n(e,t,{strict:!0})}r.prototype.compare=function(e,t){if(e.type!==t.type||!o(e,t))return!1;switch(e.type){case"Point":return this.compareCoord(e.coordinates,t.coordinates);case"LineString":return this.compareLine(e.coordinates,t.coordinates,0,!1);case"Polygon":return this.comparePolygon(e,t);case"Feature":return this.compareFeature(e,t);default:if(0===e.type.indexOf("Multi")){var A=this,n=i(e),r=i(t);return n.every((function(e){return this.some((function(t){return A.compare(e,t)}))}),r)}}return!1},r.prototype.compareCoord=function(e,t){if(e.length!==t.length)return!1;for(var A=0;A<e.length;A++)if(e[A].toFixed(this.precision)!==t[A].toFixed(this.precision))return!1;return!0},r.prototype.compareLine=function(e,t,A,n){if(!o(e,t))return!1;var r=this.pseudoNode?e:this.removePseudo(e),i=this.pseudoNode?t:this.removePseudo(t);if(!n||this.compareCoord(r[0],i[0])||(i=this.fixStartIndex(i,r))){var a=this.compareCoord(r[A],i[A]);return this.direction||a?this.comparePath(r,i):!!this.compareCoord(r[A],i[i.length-(1+A)])&&this.comparePath(r.slice().reverse(),i)}},r.prototype.fixStartIndex=function(e,t){for(var A,n=-1,r=0;r<e.length;r++)if(this.compareCoord(e[r],t[0])){n=r;break}return n>=0&&(A=[].concat(e.slice(n,e.length),e.slice(1,n+1))),A},r.prototype.comparePath=function(e,t){var A=this;return e.every((function(e,t){return A.compareCoord(e,this[t])}),t)},r.prototype.comparePolygon=function(e,t){if(this.compareLine(e.coordinates[0],t.coordinates[0],1,!0)){var A=e.coordinates.slice(1,e.coordinates.length),n=t.coordinates.slice(1,t.coordinates.length),r=this;return A.every((function(e){return this.some((function(t){return r.compareLine(e,t,1,!0)}))}),n)}return!1},r.prototype.compareFeature=function(e,t){return!(e.id!==t.id||!this.objectComparator(e.properties,t.properties)||!this.compareBBox(e,t))&&this.compare(e.geometry,t.geometry)},r.prototype.compareBBox=function(e,t){return!!(!e.bbox&&!t.bbox||e.bbox&&t.bbox&&this.compareCoord(e.bbox,t.bbox))},r.prototype.removePseudo=function(e){return e},e.exports=r},function(e,t,A){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function i(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(){function e(t,A){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n(this,e),i(this,"geoJson",void 0),i(this,"style",void 0),i(this,"original",void 0),i(this,"metadata",void 0),this.geoJson=t,this.style=A,this.original=r,this.metadata=o}var t,A,o;return t=e,(A=[{key:"getCoords",value:function(){return this.geoJson.geometry.coordinates}}])&&r(t.prototype,A),o&&r(t,o),e}();t.default=o},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=A(309),r=a(A(305)),i=A(369),o=a(A(497));function a(e){return e&&e.__esModule?e:{default:e}}function s(e){return(s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function g(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function c(e,t){return!t||"object"!==s(t)&&"function"!==typeof t?u(e):t}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function I(e){return(I=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function C(e,t){return(C=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var h=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&C(e,t)}(h,e);var t,A,r,a,s=(t=h,function(){var e,A=I(t);if(l()){var n=I(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return c(this,e)});function h(e){var t,A,n,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,h),t=s.call(this,e),A=u(t),r=void 0,(n="deckCache")in A?Object.defineProperty(A,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):A[n]=r,t.deckCache=new o.default(e.getData,(function(t){return e.toNebulaFeature(t)})),t.enablePicking=!0,t}return A=h,(r=[{key:"render",value:function(e){e.nebula;var t=[0,0,0,255],A=this.deckCache,r=A.objects,o=A.updateTrigger;return new n.JunctionScatterplotLayer({id:"junctions-".concat(this.id),data:r,opacity:1,fp64:!1,pickable:!0,getPosition:function(e){return e.geoJson.geometry.coordinates},getFillColor:function(e){return(0,i.toDeckColor)(e.style.fillColor)||t},getStrokeColor:function(e){return(0,i.toDeckColor)(e.style.outlineColor)||(0,i.toDeckColor)(e.style.fillColor)||t},getRadius:function(e){return e.style.pointRadiusMeters+e.style.outlineRadiusMeters||1},getInnerRadius:function(e){return e.style.pointRadiusMeters||.5},parameters:{depthTest:!1,blend:!1},updateTriggers:{all:o},nebulaLayer:this})}}])&&g(A.prototype,r),a&&g(A,a),h}(r.default);t.default=h},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_ARROWS=t.DEFAULT_ARROWS=t.ArrowStyles=void 0;t.ArrowStyles={NONE:0,FORWARD:1,BACKWARD:2,BOTH:3};t.DEFAULT_ARROWS=1;t.MAX_ARROWS=3},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResizeCircleMode=void 0;var n=u(A(490)),r=A(59),i=u(A(509)),o=u(A(112)),a=u(A(270)),s=A(99),g=A(79),c=A(158);function u(e){return e&&e.__esModule?e:{default:e}}function l(e){return(l="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function I(e){return function(e){if(Array.isArray(e))return C(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return C(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return C(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function h(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function d(e,t){return!t||"object"!==l(t)&&"function"!==typeof t?B(e):t}function B(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function E(e){return(E=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Q(e,t){return(Q=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var v=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Q(e,t)}(C,e);var t,A,g,u,l=(t=C,function(){var e,A=E(t);if(p()){var n=E(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return d(this,e)});function C(){var e;h(this,C);for(var t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return y(B(e=l.call.apply(l,[this].concat(A))),"_selectedEditHandle",void 0),y(B(e),"_isResizing",!1),e}return A=C,(g=[{key:"getGuides",value:function(e){var t=this,A=[],n=e.selectedIndexes,i=e.lastPointerMoveEvent,o=i&&i.picks,a=i&&i.mapCoords;if(o&&o.length&&a&&1===n.length&&!this._isResizing){var g=o.find((function(e){return!e.isGuide}));if(g&&g.object.properties.shape&&g.object.properties.shape.includes("Circle")&&e.selectedIndexes.includes(g.index)){var c=null,u=[],l=(0,r.point)(a);if((0,s.recursivelyTraverseNestedArrays)(g.object.geometry.coordinates,[],(function(A,n){var i=(0,r.lineString)(A),o=t.getNearestPoint(i,l,e.modeConfig&&e.modeConfig.viewport);(!c||o.properties.dist<c.properties.dist)&&(c=o,u=n)})),c){var C=c,h=C.geometry.coordinates,f=C.properties.index;A.push({type:"Feature",properties:{guideType:"editHandle",editHandleType:"intermediate",featureIndex:g.index,positionIndexes:[].concat(I(u),[f+1])},geometry:{type:"Point",coordinates:h}})}}}return{type:"FeatureCollection",features:A}}},{key:"getNearestPoint",value:function(e,t,A){if(e.geometry.coordinates.some((function(e){return e.length>2}))){if(A)return(0,s.nearestPointOnProjectedLine)(e,t,A);console.log("Editing 3D point but modeConfig.viewport not provided. Falling back to 2D logic.")}return(0,n.default)(e,t)}},{key:"handleDragging",value:function(e,t){var A=(0,s.getPickedEditHandle)(e.pointerDownPicks);if(A){e.cancelPan();var n=A.properties,r=this.getSelectedFeature(t),g=(0,a.default)(r).geometry.coordinates,u=Object.entries(r.geometry.coordinates[0]).length-1,l=Math.max((0,o.default)(g,e.mapCoords),.001),I={}.steps,C={steps:void 0===I?u:I},h=(0,i.default)(g,l,C).geometry,f=new c.ImmutableFeatureCollection(t.data).replaceGeometry(n.featureIndex,h).getObject();t.onEdit({updatedData:f,editType:"unionGeometry",editContext:{featureIndexes:[n.featureIndex]}})}}},{key:"handlePointerMove",value:function(e,t){if(!this._isResizing){var A=(0,s.getPickedEditHandle)(e.picks);this._selectedEditHandle=A&&"intermediate"===A.properties.editHandleType?A:null}var n=this.getCursor(e);t.onUpdateCursor(n)}},{key:"handleStartDragging",value:function(e,t){this._selectedEditHandle&&(this._isResizing=!0)}},{key:"handleStopDragging",value:function(e,t){this._isResizing&&(this._selectedEditHandle=null,this._isResizing=!1)}},{key:"getCursor",value:function(e){var t=e&&e.picks||[];return(0,s.getPickedEditHandles)(t).length?"cell":null}}])&&f(A.prototype,g),u&&f(A,u),C}(g.GeoJsonEditMode);t.ResizeCircleMode=v},function(e,t,A){"use strict";function n(e){return(n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function o(e,t,A){return(o="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=g(e)););return e}(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(A):r.value}})(e,t,A||e)}function a(e,t){return!t||"object"!==n(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function g(e){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.DuplicateMode=void 0;var u=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(I,e);var t,A,n,u,l=(t=I,function(){var e,A=g(t);if(s()){var n=g(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return a(this,e)});function I(){return r(this,I),l.apply(this,arguments)}return A=I,(n=[{key:"handleStartDragging",value:function(e,t){o(g(I.prototype),"handleStartDragging",this).call(this,e,t),this._geometryBeforeTranslate&&t.onEdit(this.getAddManyFeaturesAction(this._geometryBeforeTranslate,t.data))}},{key:"updateCursor",value:function(e){this._isTranslatable?e.onUpdateCursor("copy"):e.onUpdateCursor(null)}}])&&i(A.prototype,n),u&&i(A,u),I}(A(495).TranslateMode);t.DuplicateMode=u},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendLineStringMode=void 0;var n=A(79),r=A(158);function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t){return!t||"object"!==i(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function g(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var l=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(I,e);var t,A,n,i,l=(t=I,function(){var e,A=c(t);if(g()){var n=c(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return s(this,e)});function I(){return o(this,I),l.apply(this,arguments)}return A=I,(n=[{key:"getSingleSelectedLineString",value:function(e){var t=this.getSelectedGeometry(e);return t&&"LineString"===t.type?t:null}},{key:"handleClick",value:function(e,t){var A=t.selectedIndexes,n=this.getSingleSelectedLineString(t);if(n){var i=[n.coordinates.length],o=t.modeConfig;o&&o.drawAtFront&&(i=[0]);var a=A[0],s=new r.ImmutableFeatureCollection(t.data).addPosition(a,i,e.mapCoords).getObject();t.onEdit({updatedData:s,editType:"addPosition",editContext:{featureIndexes:[a],positionIndexes:i,position:e.mapCoords}})}else console.warn("ExtendLineStringMode only supported for single LineString selection")}},{key:"getGuides",value:function(e){var t={type:"FeatureCollection",features:[]},A=this.getSingleSelectedLineString(e);if(!A)return t;var n=e.lastPointerMoveEvent&&e.lastPointerMoveEvent.mapCoords,r=null,i=e.modeConfig;return r=i&&i.drawAtFront?A.coordinates[0]:A.coordinates[A.coordinates.length-1],t.features.push({type:"Feature",properties:{guideType:"tentative"},geometry:{type:"LineString",coordinates:[r,n]}}),t}},{key:"handlePointerMove",value:function(e,t){t.onUpdateCursor("cell")}}])&&a(A.prototype,n),i&&a(A,i),I}(n.GeoJsonEditMode);t.ExtendLineStringMode=l},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SplitPolygonMode=void 0;var n=f(A(308)),r=f(A(376)),i=f(A(507)),o=f(A(365)),a=A(59),s=f(A(143)),g=f(A(112)),c=f(A(304)),u=f(A(510)),l=f(A(490)),I=A(99),C=A(79),h=A(158);function f(e){return e&&e.__esModule?e:{default:e}}function d(e){return(d="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function B(e){return function(e){if(Array.isArray(e))return Q(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||E(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||E(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e,t){if(e){if("string"===typeof e)return Q(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(A):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?Q(e,t):void 0}}function Q(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function y(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function v(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function m(e,t){return!t||"object"!==d(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function b(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function w(e){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function S(e,t){return(S=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var F=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&S(e,t)}(E,e);var t,A,C,f,d=(t=E,function(){var e,A=w(t);if(b()){var n=w(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return m(this,e)});function E(){return y(this,E),d.apply(this,arguments)}return A=E,(C=[{key:"calculateMapCoords",value:function(e,t,A){var n=A.modeConfig;if(!n||!n.lock90Degree||!e.length)return t;if(1===e.length){var r=e[0],i=this.getSelectedGeometry(A),o=(0,u.default)(i),C="FeatureCollection"===o.type?o.features:[o],h=Number.MAX_SAFE_INTEGER,f=null;if(C.forEach((function(e){var t=(0,l.default)(e,r),A=(0,g.default)(t,r);h>A&&(h=A,f=t)})),f){var d=(0,s.default)(r,f),B=(0,g.default)(r,t,{units:"meters"});return(0,c.default)(r,B,d,{units:"meters"}).geometry.coordinates}return t}var E=e[e.length-1],Q=p((0,I.generatePointsParallelToLinePoints)(e[e.length-2],E,t),1)[0];return(0,l.default)((0,a.lineString)([E,Q]),t).geometry.coordinates}},{key:"getGuides",value:function(e){var t=this.getClickSequence(),A={type:"FeatureCollection",features:[]};if(0===t.length||!e.lastPointerMoveEvent)return A;var n=e.lastPointerMoveEvent.mapCoords;return A.features.push({type:"Feature",properties:{guideType:"tentative"},geometry:{type:"LineString",coordinates:[].concat(B(t),[this.calculateMapCoords(t,n,e)])}}),A}},{key:"handleClick",value:function(e,t){var A=this.getTentativeGuide(t),r=this.getSelectedGeometry(t);if(r){var i=this.getClickSequence();A&&"LineString"===A.geometry.type?i.push(A.geometry.coordinates[A.geometry.coordinates.length-1]):this.addClickSequence(e);var a={type:"Point",coordinates:i[i.length-1]},s=(0,n.default)(a,r);if(i.length>1&&A&&!s){if(this.resetClickSequence(),0===(0,o.default)(A,r).features.length)return;var g=this.splitPolygon(A,t);g&&t.onEdit(g)}}else console.warn("A polygon must be selected for splitting")}},{key:"handlePointerMove",value:function(e,t){t.onUpdateCursor("cell")}},{key:"splitPolygon",value:function(e,t){var A=this.getSelectedGeometry(t),n=t.selectedIndexes[0],o=t.modeConfig||{},a=o.gap,s=void 0===a?.1:a,g=o.units,c=void 0===g?"centimeters":g;0===s&&(s=.1,c="centimeters");var u=(0,i.default)(e,s,{units:c}),l=(0,r.default)(A,u);if(!l)return console.warn("Canceling edit. Split Polygon erased"),null;var I=l.geometry,C=I.type,f=I.coordinates,d=[];return d="Polygon"===C?f.map((function(e){return[e]})):f.reduce((function(e,t){return t.forEach((function(t){e.push([t])})),e}),[]),{updatedData:new h.ImmutableFeatureCollection(t.data).replaceGeometry(n,{type:"MultiPolygon",coordinates:d}).getObject(),editType:"split",editContext:{featureIndexes:[n]}}}}])&&v(A.prototype,C),f&&v(A,f),E}(C.GeoJsonEditMode);t.SplitPolygonMode=F},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtrudeMode=void 0;var n,r=(n=A(143))&&n.__esModule?n:{default:n},i=A(99),o=A(494),a=A(158);function s(e){return(s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function g(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||u(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||u(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){if(e){if("string"===typeof e)return l(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(A):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function I(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function C(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function h(e,t){return!t||"object"!==s(t)&&"function"!==typeof t?f(e):t}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function B(e){return(B=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function E(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var Q=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}(u,e);var t,A,n,o,s=(t=u,function(){var e,A=B(t);if(d()){var n=B(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return h(this,e)});function u(){var e;I(this,u);for(var t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return E(f(e=s.call.apply(s,[this].concat(A))),"isPointAdded",!1),e}return A=u,(n=[{key:"handleDragging",value:function(e,t){var A=(0,i.getPickedEditHandle)(e.pointerDownPicks);if(A){var n=A.properties.featureIndex,r=A.properties.positionIndexes,o=this.coordinatesSize(r,n,t.data);r=this.isPointAdded?this.nextPositionIndexes(r,o):r;var s=this.getPointForPositionIndexes(this.prevPositionIndexes(r,o),n,t.data),g=this.getPointForPositionIndexes(r,n,t.data);if(s&&g){var u=c((0,i.generatePointsParallelToLinePoints)(s,g,e.mapCoords),2),l=u[0],I=u[1],C=new a.ImmutableFeatureCollection(t.data).replacePosition(n,this.prevPositionIndexes(r,o),I).replacePosition(n,r,l).getObject();t.onEdit({updatedData:C,editType:"extruding",editContext:{featureIndexes:[n],positionIndexes:this.nextPositionIndexes(r,o),position:l}}),e.cancelPan()}}}},{key:"handleStartDragging",value:function(e,t){var A=t.selectedIndexes,n=(0,i.getPickedIntermediateEditHandle)(e.picks);if(A.length&&n){var r=n.properties,o=r.positionIndexes,s=r.featureIndex,g=this.coordinatesSize(o,s,t.data),c=this.getPointForPositionIndexes(this.prevPositionIndexes(o,g),s,t.data),u=this.getPointForPositionIndexes(o,s,t.data);if(c&&u){var l=new a.ImmutableFeatureCollection(t.data);this.isOrthogonal(o,s,g,t.data)||(l=l.addPosition(s,o,u)),this.isOrthogonal(this.prevPositionIndexes(o,g),s,g,t.data)||(l=l.addPosition(s,o,c),this.isPointAdded=!0),t.onEdit({updatedData:l.getObject(),editType:"startExtruding",editContext:{featureIndexes:[s],positionIndexes:o,position:c}})}}}},{key:"handleStopDragging",value:function(e,t){var A=t.selectedIndexes,n=(0,i.getPickedEditHandle)(e.pointerDownPicks);if(A.length&&n){var r=n.properties.featureIndex,o=n.properties.positionIndexes,s=this.coordinatesSize(o,r,t.data);o=this.isPointAdded?this.nextPositionIndexes(o,s):o;var g=this.getPointForPositionIndexes(this.prevPositionIndexes(o,s),r,t.data),u=this.getPointForPositionIndexes(o,r,t.data);if(g&&u){var l=c((0,i.generatePointsParallelToLinePoints)(g,u,e.mapCoords),2),I=l[0],C=l[1],h=new a.ImmutableFeatureCollection(t.data).replacePosition(r,this.prevPositionIndexes(o,s),C).replacePosition(r,o,I).getObject();t.onEdit({updatedData:h,editType:"extruded",editContext:{featureIndexes:[r],positionIndexes:o,position:I}})}}this.isPointAdded=!1}},{key:"coordinatesSize",value:function(e,t,A){var n=A.features,r=0;if(Array.isArray(e)){var i=n[t].geometry.coordinates;if(3===e.length){var o=c(e,2),a=o[0],s=o[1];i.length&&i[a].length&&(r=i[a][s].length)}else{var g=c(e,1)[0];i.length&&i[g].length&&(r=i[g].length)}}return r}},{key:"getBearing",value:function(e,t){var A=(0,r.default)(e,t);return A<0?Math.floor(360+A):Math.floor(A)}},{key:"isOrthogonal",value:function(e,t,A,n){if(!Array.isArray(e))return!1;e[e.length-1]===A-1&&(e[e.length-1]=0);var r=this.getPointForPositionIndexes(this.prevPositionIndexes(e,A),t,n),i=this.getPointForPositionIndexes(this.nextPositionIndexes(e,A),t,n),o=this.getPointForPositionIndexes(e,t,n),a=this.getBearing(o,r),s=this.getBearing(o,i);return[89,90,91,269,270,271].includes(Math.abs(a-s))}},{key:"nextPositionIndexes",value:function(e,t){if(!Array.isArray(e))return[];var A=g(e);return A.length&&(A[A.length-1]=A[A.length-1]===t-1?0:A[A.length-1]+1),A}},{key:"prevPositionIndexes",value:function(e,t){if(!Array.isArray(e))return[];var A=g(e);return A.length&&(A[A.length-1]=0===A[A.length-1]?t-2:A[A.length-1]-1),A}},{key:"getPointForPositionIndexes",value:function(e,t,A){var n,r=A.features;if(Array.isArray(e)){var i=r[t].geometry.coordinates;if(3===e.length){var o=c(e,3),a=o[0],s=o[1],g=o[2];i.length&&i[a].length&&(n=i[a][s][g])}else{var u=c(e,2),l=u[0],I=u[1];i.length&&i[l].length&&(n=i[l][I])}}return n}}])&&C(A.prototype,n),o&&C(A,o),u}(o.ModifyMode);t.ExtrudeMode=Q},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ElevationMode=void 0;var n=A(99);function r(e){return(r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function a(e,t,A){return(a="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=c(e)););return e}(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(A):r.value}})(e,t,A||e)}function s(e,t){return!t||"object"!==r(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function g(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(e){var t=e.pointerDownScreenCoords,A=e.screenCoords;return 10*(t[1]-A[1])}var I=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(h,e);var t,A,r,I,C=(t=h,function(){var e,A=c(t);if(g()){var n=c(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return s(this,e)});function h(){return i(this,h),C.apply(this,arguments)}return A=h,I=[{key:"calculateElevationChangeWithViewport",value:function(e,t){var A=t.pointerDownScreenCoords,n=t.screenCoords;return 156543.03392*Math.cos(e.latitude*Math.PI/180)/Math.pow(2,e.zoom)*(A[1]-n[1])/2}}],(r=[{key:"makeElevatedEvent",value:function(e,t,A){var n=A.modeConfig||{},r=n.minElevation,i=void 0===r?0:r,o=n.maxElevation,a=void 0===o?2e4:o,s=n.calculateElevationChange,g=void 0===s?l:s;if(!e.pointerDownScreenCoords)return e;var c=3===t.length?t[2]:0;return c+=g({pointerDownScreenCoords:e.pointerDownScreenCoords,screenCoords:e.screenCoords}),c=Math.min(c,a),c=Math.max(c,i),Object.assign({},e,{mapCoords:[t[0],t[1],c]})}},{key:"handlePointerMove",value:function(e,t){var A=(0,n.getPickedEditHandle)(e.pointerDownPicks),r=A?A.geometry.coordinates:e.mapCoords;a(c(h.prototype),"handlePointerMove",this).call(this,this.makeElevatedEvent(e,r,t),t)}},{key:"handleStopDragging",value:function(e,t){var A=(0,n.getPickedEditHandle)(e.picks),r=A?A.geometry.coordinates:e.mapCoords;a(c(h.prototype),"handleStopDragging",this).call(this,this.makeElevatedEvent(e,r,t),t)}},{key:"getCursor",value:function(e){var t=a(c(h.prototype),"getCursor",this).call(this,e);return"cell"===t&&(t="ns-resize"),t}}])&&o(A.prototype,r),I&&o(A,I),h}(A(494).ModifyMode);t.ElevationMode=I},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TransformMode=void 0;var n=A(59),r=A(495),i=A(631),o=A(632);function a(e){return(a="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function g(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function c(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function u(e,t,A){return(u="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=C(e)););return e}(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(A):r.value}})(e,t,A||e)}function l(e,t){return!t||"object"!==a(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function I(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function C(e){return(C=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var f=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(B,e);var t,A,a,f,d=(t=B,function(){var e,A=C(t);if(I()){var n=C(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return l(this,e)});function B(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,B),d.call(this,[new r.TranslateMode,new i.ScaleMode,new o.RotateMode])}return A=B,(a=[{key:"handlePointerMove",value:function(e,t){var A=null;u(C(B.prototype),"handlePointerMove",this).call(this,e,function(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?s(Object(A),!0).forEach((function(t){g(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):s(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}({},t,{onUpdateCursor:function(e){A=e||A}})),t.onUpdateCursor(A)}},{key:"handleStartDragging",value:function(e,t){var A=null,n=null,o=[];this._modes.forEach((function(e){e instanceof r.TranslateMode?n=e:(e instanceof i.ScaleMode&&(A=e),o.push(e))})),A instanceof i.ScaleMode&&!A.isEditHandleSelected()&&o.push(n),o.filter(Boolean).forEach((function(A){return A.handleStartDragging(e,t)}))}},{key:"getGuides",value:function(e){var t=u(C(B.prototype),"getGuides",this).call(this,e),A=(this._modes||[]).find((function(e){return e instanceof o.RotateMode}));if(A instanceof o.RotateMode){var r=t.features.filter((function(e){var t=e.properties||{},n=t.editHandleType,r=[t.mode];return A.getIsRotating()&&r.push(n),!r.includes("scale")}));t=(0,n.featureCollection)(r)}return t}}])&&c(A.prototype,a),f&&c(A,f),B}(A(633).CompositeMode);t.TransformMode=f},function(e,t,A){"use strict";function n(e){return(n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function o(e,t,A){return(o="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=g(e)););return e}(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(A):r.value}})(e,t,A||e)}function a(e,t){return!t||"object"!==n(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function g(e){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.DrawPointMode=void 0;var u=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(I,e);var t,A,n,u,l=(t=I,function(){var e,A=g(t);if(s()){var n=g(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return a(this,e)});function I(){return r(this,I),l.apply(this,arguments)}return A=I,(n=[{key:"createTentativeFeature",value:function(e){var t=e.lastPointerMoveEvent;return{type:"Feature",properties:{guideType:"tentative"},geometry:{type:"Point",coordinates:(t?[t.mapCoords]:[])[0]}}}},{key:"handleClick",value:function(e,t){var A={type:"Point",coordinates:e.mapCoords};t.onEdit(this.getAddFeatureAction(A,t.data))}},{key:"handlePointerMove",value:function(e,t){t.onUpdateCursor("cell"),o(g(I.prototype),"handlePointerMove",this).call(this,e,t)}}])&&i(A.prototype,n),u&&i(A,u),I}(A(79).GeoJsonEditMode);t.DrawPointMode=u},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DrawLineStringMode=void 0;var n=A(99);function r(e){return(r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return o(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return o(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function g(e,t){return!t||"object"!==r(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function c(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var I=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(C,e);var t,A,r,o,I=(t=C,function(){var e,A=u(t);if(c()){var n=u(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return g(this,e)});function C(){return a(this,C),I.apply(this,arguments)}return A=C,(r=[{key:"handleClick",value:function(e,t){var A=e.picks,r=(0,n.getPickedEditHandle)(A),o=!1;r||(this.addClickSequence(e),o=!0);var a=this.getClickSequence();if(a.length>1&&r&&Array.isArray(r.properties.positionIndexes)&&r.properties.positionIndexes[0]===a.length-1){var s={type:"LineString",coordinates:i(a)};this.resetClickSequence();var g=this.getAddFeatureAction(s,t.data);g&&t.onEdit(g)}else o&&t.onEdit({updatedData:t.data,editType:"addTentativePosition",editContext:{position:e.mapCoords}})}},{key:"handleKeyUp",value:function(e,t){if("Enter"===e.key){var A=this.getClickSequence();if(A.length>1){var n={type:"LineString",coordinates:i(A)};this.resetClickSequence();var r=this.getAddFeatureAction(n,t.data);r&&t.onEdit(r)}}}},{key:"getGuides",value:function(e){var t,A,n=e.lastPointerMoveEvent,r=this.getClickSequence(),o=n?[n.mapCoords]:[],a={type:"FeatureCollection",features:[]};r.length>0&&(A={type:"Feature",properties:{guideType:"tentative"},geometry:{type:"LineString",coordinates:[].concat(i(r),o)}}),A&&a.features.push(A);var s=r.map((function(e,t){return{type:"Feature",properties:{guideType:"editHandle",editHandleType:"existing",featureIndex:-1,positionIndexes:[t]},geometry:{type:"Point",coordinates:e}}}));return(t=a.features).push.apply(t,i(s)),a}},{key:"handlePointerMove",value:function(e,t){t.onUpdateCursor("cell")}}])&&s(A.prototype,r),o&&s(A,o),C}(A(79).GeoJsonEditMode);t.DrawLineStringMode=I},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DrawRectangleMode=void 0;var n,r=(n=A(262))&&n.__esModule?n:{default:n};function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t){return!t||"object"!==i(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function g(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var l=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(I,e);var t,A,n,i,l=(t=I,function(){var e,A=c(t);if(g()){var n=c(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return s(this,e)});function I(){return o(this,I),l.apply(this,arguments)}return A=I,(n=[{key:"getTwoClickPolygon",value:function(e,t,A){var n=(0,r.default)([e[0],e[1],t[0],t[1]]);return n.properties=n.properties||{},n.properties.shape="Rectangle",n}}])&&a(A.prototype,n),i&&a(A,i),I}(A(306).TwoClickPolygonMode);t.DrawRectangleMode=l},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DrawSquareFromCenterMode=void 0;var n=a(A(262)),r=a(A(112)),i=a(A(1152)),o=A(59);function a(e){return e&&e.__esModule?e:{default:e}}function s(e){return(s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function u(e,t){return!t||"object"!==s(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function l(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function I(e){return(I=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function C(e,t){return(C=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var h=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&C(e,t)}(f,e);var t,A,a,s,h=(t=f,function(){var e,A=I(t);if(l()){var n=I(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return u(this,e)});function f(){return g(this,f),h.apply(this,arguments)}return A=f,(a=[{key:"getTwoClickPolygon",value:function(e,t,A){var a=[t[0],e[1]],s=[e[0],t[1]],g=(0,r.default)((0,o.point)(a),(0,o.point)(e)),c=(0,r.default)((0,o.point)(s),(0,o.point)(e)),u=g<=c?g:c,l=g<=c?a:s,I=(0,o.lineString)([l,t]),C=(0,i.default)(I,u).geometry.coordinates,h=e[0]>C[0]?e[0]+Math.abs(e[0]-C[0]):e[0]-Math.abs(e[0]-C[0]),f=e[1]>C[1]?e[1]+Math.abs(e[1]-C[1]):e[1]-Math.abs(e[1]-C[1]),d=(0,n.default)([h,f,C[0],C[1]]);return d.properties=d.properties||{},d.properties.shape="Square",d}}])&&c(A.prototype,a),s&&c(A,s),f}(A(306).TwoClickPolygonMode);t.DrawSquareFromCenterMode=h},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DrawCircleByDiameterMode=void 0;var n=o(A(509)),r=o(A(112)),i=A(79);function o(e){return e&&e.__esModule?e:{default:e}}function a(e){return(a="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function c(e,t){return!t||"object"!==a(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function u(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function I(e,t){return(I=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var C=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&I(e,t)}(h,e);var t,A,o,a,C=(t=h,function(){var e,A=l(t);if(u()){var n=l(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return c(this,e)});function h(){return s(this,h),C.apply(this,arguments)}return A=h,(o=[{key:"getTwoClickPolygon",value:function(e,t,A){var o=(A||{}).steps,a=void 0===o?64:o,s={steps:a};a<4&&(console.warn("Minimum steps to draw a circle is 4 "),s.steps=4);var g=(0,i.getIntermediatePosition)(e,t),c=Math.max((0,r.default)(e,g),.001),u=(0,n.default)(g,c,s);return u.properties=u.properties||{},u.properties.shape="Circle",u}}])&&g(A.prototype,o),a&&g(A,a),h}(A(306).TwoClickPolygonMode);t.DrawCircleByDiameterMode=C},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DrawCircleFromCenterMode=void 0;var n=i(A(509)),r=i(A(112));function i(e){return e&&e.__esModule?e:{default:e}}function o(e){return(o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function g(e,t){return!t||"object"!==o(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function c(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var I=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(C,e);var t,A,i,o,I=(t=C,function(){var e,A=u(t);if(c()){var n=u(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return g(this,e)});function C(){return a(this,C),I.apply(this,arguments)}return A=C,(i=[{key:"getTwoClickPolygon",value:function(e,t,A){var i=(A||{}).steps,o=void 0===i?64:i,a={steps:o};o<4&&(console.warn("Minimum steps to draw a circle is 4 "),a.steps=4);var s=Math.max((0,r.default)(e,t),.001),g=(0,n.default)(e,s,a);return g.properties=g.properties||{},g.properties.shape="Circle",g}}])&&s(A.prototype,i),o&&s(A,o),C}(A(306).TwoClickPolygonMode);t.DrawCircleFromCenterMode=I},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DrawEllipseByBoundingBoxMode=void 0;var n=s(A(262)),r=s(A(112)),i=s(A(653)),o=A(59),a=A(79);function s(e){return e&&e.__esModule?e:{default:e}}function g(e){return(g="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l(e,t){return!t||"object"!==g(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function I(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function C(e){return(C=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var f=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(d,e);var t,A,s,g,f=(t=d,function(){var e,A=C(t);if(I()){var n=C(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return l(this,e)});function d(){return c(this,d),f.apply(this,arguments)}return A=d,(s=[{key:"getTwoClickPolygon",value:function(e,t,A){var s=Math.min(e[0],t[0]),g=Math.min(e[1],t[1]),c=Math.max(e[0],t[0]),u=Math.max(e[1],t[1]),l=(0,n.default)([s,g,c,u]).geometry.coordinates[0],I=(0,a.getIntermediatePosition)(e,t),C=Math.max((0,r.default)((0,o.point)(l[0]),(0,o.point)(l[1])),.001),h=Math.max((0,r.default)((0,o.point)(l[0]),(0,o.point)(l[3])),.001);return(0,i.default)(I,C,h)}}])&&u(A.prototype,s),g&&u(A,g),d}(A(306).TwoClickPolygonMode);t.DrawEllipseByBoundingBoxMode=f},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DrawEllipseUsingThreePointsMode=void 0;var n=s(A(112)),r=s(A(653)),i=s(A(143)),o=A(59),a=A(79);function s(e){return e&&e.__esModule?e:{default:e}}function g(e){return(g="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l(e,t){return!t||"object"!==g(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function I(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function C(e){return(C=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var f=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(d,e);var t,A,s,g,f=(t=d,function(){var e,A=C(t);if(I()){var n=C(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return l(this,e)});function d(){return c(this,d),f.apply(this,arguments)}return A=d,(s=[{key:"getThreeClickPolygon",value:function(e,t,A,s){var g=(0,a.getIntermediatePosition)(e,t),c=Math.max((0,n.default)(g,(0,o.point)(A)),.001),u=Math.max((0,n.default)(e,t),.001)/2,l={angle:(0,i.default)(e,t)};return(0,r.default)(g,c,u,l)}}])&&u(A.prototype,s),g&&u(A,g),d}(A(634).ThreeClickPolygonMode);t.DrawEllipseUsingThreePointsMode=f},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DrawRectangleUsingThreePointsMode=void 0;var n=A(99);function r(e){return(r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||function(e,t){if(!e)return;if("string"===typeof e)return o(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return o(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function g(e,t){return!t||"object"!==r(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function c(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var I=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(C,e);var t,A,r,o,I=(t=C,function(){var e,A=u(t);if(c()){var n=u(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return g(this,e)});function C(){return a(this,C),I.apply(this,arguments)}return A=C,(r=[{key:"getThreeClickPolygon",value:function(e,t,A,r){var o=i((0,n.generatePointsParallelToLinePoints)(e,t,A),2);return{type:"Feature",properties:{shape:"Rectangle"},geometry:{type:"Polygon",coordinates:[[e,t,o[0],o[1],e]]}}}}])&&s(A.prototype,r),o&&s(A,o),C}(A(634).ThreeClickPolygonMode);t.DrawRectangleUsingThreePointsMode=I},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Draw90DegreePolygonMode=void 0;var n=g(A(304)),r=g(A(143)),i=g(A(365)),o=g(A(112)),a=A(59),s=A(99);function g(e){return e&&e.__esModule?e:{default:e}}function c(e){return(c="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e){return function(e){if(Array.isArray(e))return C(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||I(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||I(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e,t){if(e){if("string"===typeof e)return C(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(A):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?C(e,t):void 0}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function h(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function d(e,t,A){return(d="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=E(e)););return e}(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(A):r.value}})(e,t,A||e)}function B(e,t){return!t||"object"!==c(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function p(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function E(e){return(E=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Q(e,t){return(Q=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var y=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Q(e,t)}(C,e);var t,A,g,c,I=(t=C,function(){var e,A=E(t);if(p()){var n=E(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return B(this,e)});function C(){return h(this,C),I.apply(this,arguments)}return A=C,(g=[{key:"createTentativeFeature",value:function(e){var t,A=this.getClickSequence(),n=e.lastPointerMoveEvent.mapCoords;if(1===A.length)t=n;else{var r=A[A.length-2],i=A[A.length-1];t=l((0,s.generatePointsParallelToLinePoints)(r,i,n),1)[0]}return A.length<3?{type:"Feature",properties:{guideType:"tentative"},geometry:{type:"LineString",coordinates:[].concat(u(A),[t])}}:{type:"Feature",properties:{guideType:"tentative"},geometry:{type:"Polygon",coordinates:[[].concat(u(A),[t,A[0]])]}}}},{key:"getGuides",value:function(e){var t={type:"FeatureCollection",features:[]};if(0===this.getClickSequence().length||!e.lastPointerMoveEvent)return t;var A=this.createTentativeFeature(e);return t.features.push(A),t.features=t.features.concat((0,s.getEditHandlesForGeometry)(A.geometry,-1)),t.features=t.features.slice(0,-1),t}},{key:"handlePointerMove",value:function(e,t){t.onUpdateCursor("cell"),d(E(C.prototype),"handlePointerMove",this).call(this,e,t)}},{key:"handleClick",value:function(e,t){var A=e.picks,n=this.getTentativeGuide(t);this.addClickSequence(e);var r=this.getClickSequence();if(n){if(3===r.length&&"LineString"===n.geometry.type){var i=n.geometry;r[r.length-1]=i.coordinates[i.coordinates.length-1]}else if(r.length>3&&"Polygon"===n.geometry.type){var o=n.geometry;r[r.length-1]=o.coordinates[0][o.coordinates[0].length-2];var a=(0,s.getPickedEditHandle)(A);if(a&&Array.isArray(a.properties.positionIndexes)&&(0===a.properties.positionIndexes[1]||a.properties.positionIndexes[1]===o.coordinates[0].length-3)){var g={type:"Polygon",coordinates:this.finalizedCoordinates(u(o.coordinates[0]))};this.resetClickSequence();var c=this.getAddFeatureOrBooleanPolygonAction(g,t);c&&t.onEdit(c)}}var l={screenCoords:[-1,-1],mapCoords:e.mapCoords,picks:[],pointerDownPicks:null,pointerDownScreenCoords:null,pointerDownMapCoords:null,cancelPan:function(){},sourceEvent:null};this.handlePointerMove(l,t)}}},{key:"finalizedCoordinates",value:function(e){var t=[[].concat(u(e.slice(0,-2)),[e[0]])],A=this.getIntermediatePoint(u(e));if(A)t=[[].concat(u(e.slice(0,-2)),[A,e[0]])];else{var n=u(e);n.splice(-3,1),(A=this.getIntermediatePoint(u(n)))&&(t=[[].concat(u(e.slice(0,-3)),[A,e[0]])])}return t}},{key:"getIntermediatePoint",value:function(e){var t;if(e.length>4){var A=u(e),s=A[0],g=A[1],c=(0,r.default)(s,g),l=e[e.length-3],I=e[e.length-4],C=(0,r.default)(l,I),h={first:[],second:[]};[1,2,3].forEach((function(e){var t=c+90*e;h.first.push(t>180?t-360:t);var A=C+90*e;h.second.push(A>180?A-360:A)}));var f=(0,o.default)((0,a.point)(s),(0,a.point)(l));[0,1,2].forEach((function(e){var A=(0,a.lineString)([s,(0,n.default)(s,f,h.first[e]).geometry.coordinates]);[0,1,2].forEach((function(e){var r=(0,a.lineString)([l,(0,n.default)(l,f,h.second[e]).geometry.coordinates]),o=(0,i.default)(A,r);o&&o.features.length&&(t=o.features[0].geometry.coordinates)}))}))}return t}}])&&f(A.prototype,g),c&&f(A,c),C}(A(79).GeoJsonEditMode);t.Draw90DegreePolygonMode=y},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DrawPolygonByDraggingMode=void 0;var n,r=(n=A(1087))&&n.__esModule?n:{default:n},i=A(99);function o(e){return(o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return s(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return s(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function u(e,t){return!t||"object"!==o(t)&&"function"!==typeof t?l(e):t}function l(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function I(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function C(e){return(C=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var d=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(d,e);var t,A,n,o,s=(t=d,function(){var e,A=C(t);if(I()){var n=C(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return u(this,e)});function d(){var e;g(this,d);for(var t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return f(l(e=s.call.apply(s,[this].concat(A))),"handleDraggingThrottled",null),e}return A=d,(n=[{key:"handleClick",value:function(e,t){}},{key:"handleStartDragging",value:function(e,t){e.cancelPan(),t.modeConfig&&t.modeConfig.throttleMs?this.handleDraggingThrottled=(0,r.default)(this.handleDraggingAux,t.modeConfig.throttleMs):this.handleDraggingThrottled=this.handleDraggingAux}},{key:"handleStopDragging",value:function(e,t){this.addClickSequence(e);var A=this.getClickSequence();if(this.handleDraggingThrottled&&this.handleDraggingThrottled.cancel&&this.handleDraggingThrottled.cancel(),A.length>2){var n={type:"Polygon",coordinates:[[].concat(a(A),[A[0]])]};this.resetClickSequence();var r=this.getAddFeatureOrBooleanPolygonAction(n,t);r&&t.onEdit(r)}}},{key:"handleDraggingAux",value:function(e,t){var A=e.picks;(0,i.getPickedEditHandle)(A)||this.addClickSequence(e)}},{key:"handleDragging",value:function(e,t){this.handleDraggingThrottled&&this.handleDraggingThrottled(e,t)}}])&&c(A.prototype,n),o&&c(A,o),d}(A(496).DrawPolygonMode);t.DrawPolygonByDraggingMode=d},function(e,t,A){(function(t){var A=/^\s+|\s+$/g,n=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,i=/^0o[0-7]+$/i,o=parseInt,a="object"==typeof t&&t&&t.Object===Object&&t,s="object"==typeof self&&self&&self.Object===Object&&self,g=a||s||Function("return this")(),c=Object.prototype.toString,u=Math.max,l=Math.min,I=function(){return g.Date.now()};function C(e,t,A){var n,r,i,o,a,s,g=0,c=!1,C=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function B(t){var A=n,i=r;return n=r=void 0,g=t,o=e.apply(i,A)}function p(e){return g=e,a=setTimeout(Q,t),c?B(e):o}function E(e){var A=e-s;return void 0===s||A>=t||A<0||C&&e-g>=i}function Q(){var e=I();if(E(e))return y(e);a=setTimeout(Q,function(e){var A=t-(e-s);return C?l(A,i-(e-g)):A}(e))}function y(e){return a=void 0,d&&n?B(e):(n=r=void 0,o)}function v(){var e=I(),A=E(e);if(n=arguments,r=this,s=e,A){if(void 0===a)return p(s);if(C)return a=setTimeout(Q,t),B(s)}return void 0===a&&(a=setTimeout(Q,t)),o}return t=f(t)||0,h(A)&&(c=!!A.leading,i=(C="maxWait"in A)?u(f(A.maxWait)||0,t):i,d="trailing"in A?!!A.trailing:d),v.cancel=function(){void 0!==a&&clearTimeout(a),g=0,n=s=r=a=void 0},v.flush=function(){return void 0===a?o:y(I())},v}function h(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function f(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==c.call(e)}(e))return NaN;if(h(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=h(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(A,"");var a=r.test(e);return a||i.test(e)?o(e.slice(2),a?2:8):n.test(e)?NaN:+e}e.exports=function(e,t,A){var n=!0,r=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return h(A)&&(n="leading"in A?!!A.leading:n,r="trailing"in A?!!A.trailing:r),C(e,t,{leading:n,maxWait:t,trailing:r})}}).call(this,A(86))},function(e,t,A){"use strict";function n(e){return(n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){return!t||"object"!==n(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function o(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function s(e,t){return(s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.ViewMode=void 0;var g=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(n,e);var t,A=(t=n,function(){var e,A=a(t);if(o()){var n=a(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return i(this,e)});function n(){return r(this,n),A.apply(this,arguments)}return n}(A(79).GeoJsonEditMode);t.ViewMode=g},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MeasureDistanceMode=void 0;var n,r=(n=A(112))&&n.__esModule?n:{default:n},i=A(99);function o(e){return(o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return s(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return s(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function u(e,t){return!t||"object"!==o(t)&&"function"!==typeof t?l(e):t}function l(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function I(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function C(e){return(C=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var d=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(d,e);var t,A,n,o,s=(t=d,function(){var e,A=C(t);if(I()){var n=C(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return u(this,e)});function d(){var e;g(this,d);for(var t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return f(l(e=s.call.apply(s,[this].concat(A))),"_isMeasuringSessionFinished",!1),f(l(e),"_currentTooltips",[]),f(l(e),"_currentDistance",0),f(l(e),"_calculateDistanceForTooltip",(function(e){var t=e.positionA,A=e.positionB,n=e.modeConfig||{},i=n.turfOptions,o=n.measurementCallback,a=(0,r.default)(t,A,i);return o&&o(a),a})),e}return A=d,(n=[{key:"_formatTooltip",value:function(e,t){var A=t||{},n=A.formatTooltip,r=A.turfOptions,i=r&&r.units||"kilometers";return n?n(e):"".concat(parseFloat(e).toFixed(2)," ").concat(i)}},{key:"handleClick",value:function(e,t){var A=t.modeConfig,n=t.data,r=t.onEdit;this._isMeasuringSessionFinished&&(this._isMeasuringSessionFinished=!1,this.resetClickSequence(),this._currentTooltips=[],this._currentDistance=0);var o=e.picks,a=(0,i.getPickedEditHandle)(o),s=!1;a||(this.addClickSequence(e),s=!0);var g=this.getClickSequence();g.length>1&&a&&Array.isArray(a.properties.positionIndexes)&&a.properties.positionIndexes[0]===g.length-1?this._isMeasuringSessionFinished=!0:s&&(g.length>1&&(this._currentDistance+=this._calculateDistanceForTooltip({positionA:g[g.length-2],positionB:g[g.length-1],modeConfig:A}),this._currentTooltips.push({position:e.mapCoords,text:this._formatTooltip(this._currentDistance,A)})),r({updatedData:n,editType:"addTentativePosition",editContext:{position:e.mapCoords}}))}},{key:"handleKeyUp",value:function(e,t){if(!this._isMeasuringSessionFinished){e.stopPropagation();var A=e.key,n=this.getClickSequence().length;switch(A){case"Escape":this._isMeasuringSessionFinished=!0,1===n&&(this.resetClickSequence(),this._currentTooltips=[]),t.onUpdateCursor("cell");break;case"Enter":this.handleClick(t.lastPointerMoveEvent,t),this._isMeasuringSessionFinished=!0}}}},{key:"getGuides",value:function(e){var t,A=e.lastPointerMoveEvent,n=this.getClickSequence(),r=A&&!this._isMeasuringSessionFinished?[A.mapCoords]:[],i={type:"FeatureCollection",features:[]};n.length>0&&i.features.push({type:"Feature",properties:{guideType:"tentative"},geometry:{type:"LineString",coordinates:[].concat(a(n),r)}});var o=n.map((function(e,t){return{type:"Feature",properties:{guideType:"editHandle",editHandleType:"existing",featureIndex:-1,positionIndexes:[t]},geometry:{type:"Point",coordinates:e}}}));return(t=i.features).push.apply(t,a(o)),i}},{key:"handlePointerMove",value:function(e,t){t.onUpdateCursor("cell")}},{key:"getTooltips",value:function(e){var t=e.lastPointerMoveEvent,A=e.modeConfig,n=this.getClickSequence();if(n.length>0&&t&&!this._isMeasuringSessionFinished){var r=this._calculateDistanceForTooltip({positionA:n[n.length-1],positionB:t.mapCoords,modeConfig:e.modeConfig});return[].concat(a(this._currentTooltips),[{position:t.mapCoords,text:this._formatTooltip(this._currentDistance+r,A)}])}return this._currentTooltips}}])&&c(A.prototype,n),o&&c(A,o),d}(A(79).GeoJsonEditMode);t.MeasureDistanceMode=d},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MeasureAreaMode=void 0;var n=o(A(1156)),r=o(A(307)),i=A(496);function o(e){return e&&e.__esModule?e:{default:e}}function a(e){return(a="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function g(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l(e,t,A){return(l="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=h(e)););return e}(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(A):r.value}})(e,t,A||e)}function I(e,t){return!t||"object"!==a(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function C(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var d=[],B=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}(B,e);var t,A,i,o,a=(t=B,function(){var e,A=h(t);if(C()){var n=h(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return I(this,e)});function B(){return c(this,B),a.apply(this,arguments)}return A=B,(i=[{key:"handleClick",value:function(e,t){var A=function(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?s(Object(A),!0).forEach((function(t){g(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):s(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}({},t,{onEdit:function(){}});l(h(B.prototype),"handleClick",this).call(this,e,A)}},{key:"getTooltips",value:function(e){var t=this.getTentativeGuide(e);if(t&&"Polygon"===t.geometry.type){var A,i=e.modeConfig||{},o=i.formatTooltip,a=i.measurementCallback,s=(0,r.default)(t),g=(0,n.default)(t);return A=o?o(g):"".concat(parseFloat(g).toFixed(2)," ").concat("sq. m"),a&&a(g),[{position:s.geometry.coordinates,text:A}]}return d}}])&&u(A.prototype,i),o&&u(A,o),B}(i.DrawPolygonMode);t.MeasureAreaMode=B},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MeasureAngleMode=void 0;var n=a(A(143)),r=a(A(270)),i=a(A(635)),o=A(79);function a(e){return e&&e.__esModule?e:{default:e}}function s(e){return(s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function g(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return c(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return c(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function I(e,t){return!t||"object"!==s(t)&&"function"!==typeof t?C(e):t}function C(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function B(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var p=[],E=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&d(e,t)}(c,e);var t,A,o,a,s=(t=c,function(){var e,A=f(t);if(h()){var n=f(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return I(this,e)});function c(){var e;u(this,c);for(var t=arguments.length,A=new Array(t),o=0;o<t;o++)A[o]=arguments[o];return B(C(e=s.call.apply(s,[this].concat(A))),"_getTooltips",(0,i.default)((function(e){var t=e.modeConfig,A=e.vertex,i=e.point1,o=e.point2,a=p;if(A&&i&&o){var s,g=t||{},c=g.formatTooltip,u=g.measurementCallback,l=(0,n.default)(A,i),I=(0,n.default)(A,o),C=Math.abs(l-I);C>180&&(C=360-C),s=c?c(C):"".concat(parseFloat(C).toFixed(2)," ").concat("deg"),u&&u(C),a=[{position:(0,r.default)({type:"FeatureCollection",features:[i,o].map((function(e){return{type:"Feature",geometry:{type:"Point",coordinates:e}}}))}).geometry.coordinates,text:s}]}return a}))),e}return A=c,(o=[{key:"handleClick",value:function(e,t){this.getClickSequence().length>=3&&this.resetClickSequence(),this.addClickSequence(e)}},{key:"handlePointerMove",value:function(e,t){t.onUpdateCursor("cell")}},{key:"getPoints",value:function(e){var t=this.getClickSequence(),A=g(t);return t.length<3&&e.lastPointerMoveEvent&&A.push(e.lastPointerMoveEvent.mapCoords),A}},{key:"getGuides",value:function(e){var t={type:"FeatureCollection",features:[]},A=t.features,n=this.getPoints(e);return n.length>2?A.push({type:"Feature",properties:{guideType:"tentative"},geometry:{type:"LineString",coordinates:[n[1],n[0],n[2]]}}):n.length>1&&A.push({type:"Feature",properties:{guideType:"tentative"},geometry:{type:"LineString",coordinates:[n[1],n[0]]}}),t}},{key:"getTooltips",value:function(e){var t=this.getPoints(e);return this._getTooltips({modeConfig:e.modeConfig,vertex:t[0],point1:t[1],point2:t[2]})}}])&&l(A.prototype,o),a&&l(A,a),c}(o.GeoJsonEditMode);t.MeasureAngleMode=E},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SnappableMode=void 0;var n=A(99);function r(e){return(r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"===typeof e)return a(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(A):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function s(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function g(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function c(e,t){return!t||"object"!==r(t)&&"function"!==typeof t?u(e):t}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function I(e){return(I=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function C(e,t){return(C=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var f=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&C(e,t)}(d,e);var t,A,r,a,f=(t=d,function(){var e,A=I(t);if(l()){var n=I(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return c(this,e)});function d(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,d),h(u(t=f.call(this)),"_handler",void 0),t._handler=e,t}return A=d,(r=[{key:"_getSnappedMouseEvent",value:function(e,t,A){return Object.assign(e,{mapCoords:A.geometry.coordinates,pointerDownMapCoords:t&&t.geometry.coordinates})}},{key:"_getPickedSnapTarget",value:function(e){return(0,n.getPickedEditHandles)(e).find((function(e){return"snap-target"===e.properties.editHandleType}))}},{key:"_getPickedSnapSource",value:function(e){return(0,n.getPickedSnapSourceEditHandle)(e)}},{key:"_getUpdatedSnapSourceHandle",value:function(e,t){var A=e.properties,n=A.featureIndex,r=A.positionIndexes;if(!Array.isArray(r))return e;var i=t.features[n];return function(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?s(Object(A),!0).forEach((function(t){h(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):s(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}({},e,{geometry:{type:"Point",coordinates:r.reduce((function(e,t){return e[t]}),i.geometry.coordinates)}})}},{key:"_getSnapTargets",value:function(e){var t=(e.modeConfig||{}).additionalSnapTargets;return t=t||[],[].concat(i(e.data.features),i(t))}},{key:"_getSnapTargetHandles",value:function(e){for(var t=[],A=this._getSnapTargets(e),r=0;r<A.length;r++)if(!e.selectedIndexes.includes(r)){var o=A[r].geometry;t.push.apply(t,i((0,n.getEditHandlesForGeometry)(o,r,"snap-target")))}return t}},{key:"getGuides",value:function(e){var t=e.modeConfig,A=e.lastPointerMoveEvent,r=(t||{}).enableSnapping,a={type:"FeatureCollection",features:i(this._handler.getGuides(e).features)};if(!r)return a;var s,g=A&&this._getPickedSnapSource(A.pointerDownPicks);if(g)return(s=a.features).push.apply(s,i(this._getSnapTargetHandles(e)).concat([this._getUpdatedSnapSourceHandle(g,e.data)])),a;var c,u=e.data.features,l=function(e){if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=o(e))){var t=0,A=function(){};return{s:A,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:A}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,i=!0,a=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){a=!0,r=e},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw r}}}}(e.selectedIndexes);try{for(l.s();!(c=l.n()).done;){var I=c.value;if(I<u.length){var C,h=u[I].geometry;(C=a.features).push.apply(C,i((0,n.getEditHandlesForGeometry)(h,I,"snap-source")))}}}catch(f){l.e(f)}finally{l.f()}return a}},{key:"_getSnapAwareEvent",value:function(e,t){var A=this._getPickedSnapSource(t.lastPointerMoveEvent.pointerDownPicks),n=this._getPickedSnapTarget(e.picks);return A&&n?this._getSnappedMouseEvent(e,A,n):e}},{key:"handleStartDragging",value:function(e,t){this._handler.handleStartDragging(e,t)}},{key:"handleStopDragging",value:function(e,t){this._handler.handleStopDragging(this._getSnapAwareEvent(e,t),t)}},{key:"handleDragging",value:function(e,t){this._handler.handleDragging(this._getSnapAwareEvent(e,t),t)}},{key:"handlePointerMove",value:function(e,t){this._handler.handlePointerMove(this._getSnapAwareEvent(e,t),t)}}])&&g(A.prototype,r),a&&g(A,a),d}(A(79).GeoJsonEditMode);t.SnappableMode=f},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=A(643),r=A(202),i=A(122),o=s(A(493)),a=s(A(636));function s(e){return e&&e.__esModule?e:{default:e}}function g(e){return(g="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return u(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return u(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function I(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function C(e,t,A){return(C="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=d(e)););return e}(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(A):r.value}})(e,t,A||e)}function h(e,t){return!t||"object"!==g(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function f(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function B(e,t){return(B=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function E(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?p(Object(A),!0).forEach((function(t){Q(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):p(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function Q(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var y=r.ViewMode,v={type:"FeatureCollection",features:[]},m=E({mode:y},o.default.defaultProps,{data:[],selectedIndexes:[],filled:!1,stroked:!0,lineWidthScale:1,lineWidthMinPixels:1,lineWidthMaxPixels:Number.MAX_SAFE_INTEGER,lineWidthUnits:"pixels",getHexagons:function(e){return e.hexIds},getEditedCluster:function(e,t){return t?E({},t,{hexIds:e}):{hexIds:e}},resolution:9}),b=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&B(e,t)}(g,e);var t,A,r,a,s=(t=g,function(){var e,A=d(t);if(f()){var n=d(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return h(this,e)});function g(){return l(this,g),s.apply(this,arguments)}return A=g,(r=[{key:"initializeState",value:function(){C(d(g.prototype),"initializeState",this).call(this),this.setState({tentativeHexagonIDs:[]})}},{key:"getDerivedHexagonIDs",value:function(e){return(0,i.polyfill)(e,this.props.resolution,!0)}},{key:"getDerivedHexagonID",value:function(e){return(0,i.geoToH3)(e[1],e[0],this.props.resolution)}},{key:"renderLayers",value:function(){var e=this;return[new o.default(this.getSubLayerProps({id:"editable-geojson",mode:this.props.mode,data:v,selectedFeatureIndexes:[],onEdit:function(t){var A=t.editType,n=t.editContext;switch(A){case"updateTentativeFeature":if("Polygon"===n.feature.geometry.type){var r=n.feature.geometry.coordinates,i=e.getDerivedHexagonIDs(r);e.setState({tentativeHexagonIDs:i})}else if("Point"===n.feature.geometry.type){var o=n.feature.geometry.coordinates,a=e.getDerivedHexagonID(o);e.setState({tentativeHexagonIDs:[a]})}break;case"addFeature":var s=c(e.props.data),g=e.props.modeConfig;if(g&&g.booleanOperation)if(1!==e.props.selectedIndexes.length)console.warn("booleanOperation only supported for single cluster selection");else{var u,l=new Set(e.getSelectedHexIDs()),I=new Set(e.state.tentativeHexagonIDs);switch(g.booleanOperation){case"union":default:u=c(new Set([].concat(c(l),c(I))));break;case"intersection":u=c(l).filter((function(e){return I.has(e)}));break;case"difference":u=c(l).filter((function(e){return!I.has(e)}))}var C=e.props.selectedIndexes[0],h=e.props.data[C];s[C]=e.props.getEditedCluster(u,h)}else s.push(e.props.getEditedCluster(e.state.tentativeHexagonIDs,null));e.setState({tentativeHexagonIDs:[]}),e.props.onEdit({updatedData:s})}}})),new n.H3ClusterLayer(this.getSubLayerProps({id:"hexagons",data:this.props.data,getHexagons:this.props.getHexagons})),new n.H3ClusterLayer(this.getSubLayerProps({id:"tentative-hexagons",data:[{hexIds:this.state.tentativeHexagonIDs}],getHexagons:function(e){return e.hexIds}}))]}},{key:"getSelectedHexIDs",value:function(){var e=this,t=[];return this.props.selectedIndexes.forEach((function(A){var n=e.props.data[A],r=e.props.getHexagons(n);t=t.concat(r)})),t}},{key:"getCursor",value:function(e){var t=e.isDragging,A=this.state.cursor;return A||(A=t?"grabbing":"grab"),A}}])&&I(A.prototype,r),a&&I(A,a),g}(a.default);t.default=b,Q(b,"layerName","EditableH3ClusterLayer"),Q(b,"defaultProps",m)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.SELECTION_TYPE=void 0;var n,r=A(35),i=A(75),o=A(59),a=u(A(507)),s=u(A(376)),g=A(202),c=u(A(493));function u(e){return e&&e.__esModule?e:{default:e}}function l(e){return(l="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function I(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function C(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?I(Object(A),!0).forEach((function(t){b(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):I(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function h(e){return function(e){if(Array.isArray(e))return B(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||d(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"===typeof e)return B(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(A):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?B(e,t):void 0}}function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function p(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function E(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Q(e,t){return!t||"object"!==l(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function y(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function v(e){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t){return(m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function b(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var w={NONE:null,RECTANGLE:"rectangle",POLYGON:"polygon"};t.SELECTION_TYPE=w;var S=(b(n={},w.RECTANGLE,g.DrawRectangleMode),b(n,w.POLYGON,g.DrawPolygonMode),n),F=b({},w.RECTANGLE,{dragToDraw:!0}),R={selectionType:w.RECTANGLE,layerIds:[],onSelect:function(){}},D={type:"FeatureCollection",features:[]},G=["lineWidthScale","lineWidthMinPixels","lineWidthMaxPixels","lineWidthUnits","lineJointRounded","lineMiterLimit","pointRadiusScale","pointRadiusMinPixels","pointRadiusMaxPixels","lineDashJustified","getLineColor","getFillColor","getRadius","getLineWidth","getLineDashArray","getTentativeLineDashArray","getTentativeLineColor","getTentativeFillColor","getTentativeLineWidth"],k=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&m(e,t)}(l,e);var t,A,n,r,u=(t=l,function(){var e,A=v(t);if(y()){var n=v(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return Q(this,e)});function l(){return p(this,l),u.apply(this,arguments)}return A=l,(n=[{key:"_selectRectangleObjects",value:function(e){var t=this.props,A=t.layerIds,n=t.onSelect,r=f(this.context.viewport.project(e[0][0]),2),i=r[0],o=r[1],a=f(this.context.viewport.project(e[0][2]),2),s=a[0],g=a[1];n({pickingInfos:this.context.deck.pickObjects({x:Math.min(i,s),y:Math.min(o,g),width:Math.abs(s-i),height:Math.abs(g-o),layerIds:A})})}},{key:"_selectPolygonObjects",value:function(e){var t,A=this,n=this.props,r=n.layerIds,i=n.onSelect,g=e[0].map((function(e){return A.context.viewport.project(e)})),c=g.map((function(e){return e[0]})),u=g.map((function(e){return e[1]})),l=Math.min.apply(Math,h(c)),I=Math.min.apply(Math,h(u)),C=Math.max.apply(Math,h(c)),f=Math.max.apply(Math,h(u)),d=(0,o.polygon)(e),B=(0,a.default)(d,50);try{t=(0,s.default)(B,d)}catch(E){return void console.log("turfDifference() error",E)}this.setState({pendingPolygonSelection:{bigPolygon:t}});var p="".concat(this.props.id,"-").concat("selection-blocker");setTimeout((function(){var e=A.context.deck.pickObjects({x:l,y:I,width:C-l,height:f-I,layerIds:[p].concat(h(r))});i({pickingInfos:e.filter((function(e){return e.layer.id!==A.props.id}))})}),250)}},{key:"renderLayers",value:function(){var e=this,t=this.state.pendingPolygonSelection,A=S[this.props.selectionType]||g.ViewMode,n=F[this.props.selectionType],r={};G.forEach((function(t){void 0!==e.props[t]&&(r[t]=e.props[t])}));var o=[new c.default(this.getSubLayerProps(C({id:"selection-geojson",pickable:!0,mode:A,modeConfig:n,selectedFeatureIndexes:[],data:D,onEdit:function(t){var A=t.updatedData;if("addFeature"===t.editType){var n=A.features[0].geometry.coordinates;e.props.selectionType===w.RECTANGLE?e._selectRectangleObjects(n):e.props.selectionType===w.POLYGON&&e._selectPolygonObjects(n)}}},r)))];if(t){var a=t.bigPolygon;o.push(new i.PolygonLayer(this.getSubLayerProps({id:"selection-blocker",pickable:!0,stroked:!1,opacity:1,data:[a],getLineColor:function(e){return[0,0,0,1]},getFillColor:function(e){return[0,0,0,1]},getPolygon:function(e){return e.geometry.coordinates}})))}return o}},{key:"shouldUpdateState",value:function(e){var t=e.changeFlags,A=t.stateChanged,n=t.propsOrDataChanged;return A||n}}])&&E(A.prototype,n),r&&E(A,r),l}(r.CompositeLayer);t.default=k,b(k,"layerName","SelectionLayer"),b(k,"defaultProps",R)},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=A(35),r=A(75);function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t){return!t||"object"!==i(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function g(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var I=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(I,e);var t,A,n,i,l=(t=I,function(){var e,A=c(t);if(g()){var n=c(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return s(this,e)});function I(){return o(this,I),l.apply(this,arguments)}return A=I,(n=[{key:"renderLayers",value:function(){return[new r.ScatterplotLayer(Object.assign({},this.props,{id:"".concat(this.props.id,"-ScatterplotLayer"),data:this.props.data})),new r.LineLayer(Object.assign({},this.props,{id:"".concat(this.props.id,"-LineLayer"),data:this.props.data,pickable:!1,getSourcePosition:function(e){var t=e.position;return[t[0],t[1],0]},getTargetPosition:function(e){var t=e.position;return[t[0],t[1],t[2]||0]},getColor:[150,150,150,200],getStrokeWidth:3}))]}}])&&a(A.prototype,n),i&&a(A,i),I}(n.CompositeLayer);t.default=I,l(I,"layerName","ElevatedEditHandleLayer"),l(I,"defaultProps",{})},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n={outlineEnabled:!1,outlineRenderShadowmap:!1,outlineShadowmap:null};var r={name:"outline",vs:"attribute float instanceZLevel;\nvarying float outline_vzLevel;\nvarying vec4 outline_vPosition;\n\n// Set the z level for the outline shadowmap rendering\nvoid outline_setZLevel(float zLevel) {\n outline_vzLevel = zLevel;\n}\n\n// Store an adjusted position for texture2DProj\nvoid outline_setUV(vec4 position) {\n // mat4(\n // 0.5, 0.0, 0.0, 0.0,\n // 0.0, 0.5, 0.0, 0.0,\n // 0.0, 0.0, 0.5, 0.0,\n // 0.5, 0.5, 0.5, 1.0\n // ) * position;\n outline_vPosition = vec4(position.xyz * 0.5 + position.w * 0.5, position.w);\n}\n",fs:"uniform bool outline_uEnabled;\nuniform bool outline_uRenderOutlines;\nuniform sampler2D outline_uShadowmap;\n\nvarying float outline_vzLevel;\n// varying vec2 outline_vUV;\nvarying vec4 outline_vPosition;\n\nconst float OUTLINE_Z_LEVEL_ERROR = 0.01;\n\n// Return a darker color in shadowmap\nvec4 outline_filterShadowColor(vec4 color) {\n return vec4(outline_vzLevel / 255., outline_vzLevel / 255., outline_vzLevel / 255., 1.);\n}\n\n// Return a darker color if in shadowmap\nvec4 outline_filterDarkenColor(vec4 color) {\n if (outline_uEnabled) {\n float maxZLevel;\n if (outline_vPosition.q > 0.0) {\n maxZLevel = texture2DProj(outline_uShadowmap, outline_vPosition).r * 255.;\n } else {\n discard;\n }\n if (maxZLevel < outline_vzLevel + OUTLINE_Z_LEVEL_ERROR) {\n vec4(color.rgb * 0.5, color.a);\n } else {\n discard;\n }\n }\n return color;\n}\n\n// if enabled and rendering outlines - Render depth to shadowmap\n// if enabled and rendering colors - Return a darker color if in shadowmap\n// if disabled, just return color\nvec4 outline_filterColor(vec4 color) {\n if (outline_uEnabled) {\n return outline_uRenderOutlines ?\n outline_filterShadowColor(color) :\n outline_filterDarkenColor(color);\n }\n return color;\n}\n",getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=e.outlineEnabled,A=e.outlineRenderShadowmap,r=e.outlineShadowmap,i={};return void 0!==t&&(i.outline_uEnabled=t),void 0!==A&&(i.outline_uRenderOutlines=A),void 0!==r&&(i.outline_uShadowmap=r),i}};t.default=r},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=A(35),r=A(75),i=A(368),o=c(A(639)),a=c(A(1098)),s=c(A(1099)),g=A(1100);function c(e){return e&&e.__esModule?e:{default:e}}function u(e){return(u="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||function(e,t){if(!e)return;if("string"===typeof e)return I(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return I(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function C(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function h(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function f(e,t){return!t||"object"!==u(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function d(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function B(e){return(B=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function E(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var Q=i.SimpleMeshLayer,y={mesh:new a.default({headSize:.2,tailWidth:.05})},v=Object.assign({},o.default.defaultProps,{MarkerLayer:Q,markerLayerProps:y,sizeScale:100,fp64:!1,hightlightIndex:-1,highlightPoint:null,getPath:function(e){return e.path},getColor:function(e){return e.color},getMarkerColor:function(e){return[0,0,0,255]},getDirection:function(e){return e.direction},getMarkerPercentages:function(e,t){return t.lineLength>.1?[.25,.5,.75]:[.5]}}),m=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}(I,e);var t,A,i,c,u=(t=I,function(){var e,A=B(t);if(d()){var n=B(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return f(this,e)});function I(){return C(this,I),u.apply(this,arguments)}return A=I,(i=[{key:"initializeState",value:function(){this.state={markers:[],mesh:new a.default({headSize:.2,tailWidth:.05}),closestPoint:null}}},{key:"projectFlat",value:function(e,t,A,r){if(A===n.COORDINATE_SYSTEM.METER_OFFSETS){var i=l(t.metersToLngLatDelta(e),2),o=i[0],a=i[1],s=l(r,2),g=s[0],c=s[1];return t.projectFlat([g+o,a+c])}if(A===n.COORDINATE_SYSTEM.LNGLAT_OFFSETS){var u=l(e,2),I=u[0],C=u[1],h=l(r,2),f=h[0],d=h[1];return t.projectFlat([f+I,C+d])}return t.projectFlat(e)}},{key:"updateState",value:function(e){var t=this,A=e.props,n=e.oldProps,r=e.changeFlags;if(r.dataChanged||r.updateTriggersChanged){var i=this.props,o=i.data,a=i.getPath,g=i.getDirection,c=i.getMarkerColor,u=i.getMarkerPercentages,l=i.coordinateSystem,I=i.coordinateOrigin,C=this.context.viewport;this.state.markers=(0,s.default)({data:o,getPath:a,getDirection:g,getColor:c,getMarkerPercentages:u,projectFlat:function(e){return t.projectFlat(e,C,l,I)}}),this._recalculateClosestPoint()}r.propsChanged&&A.point!==n.point&&this._recalculateClosestPoint()}},{key:"_recalculateClosestPoint",value:function(){var e=this.props,t=e.highlightPoint,A=e.highlightIndex;if(t&&A>=0){var n=this.props.data[A],r=this.props.getPath(n),i=(0,g.getClosestPointOnPolyline)({points:r,p:t}).point;this.state.closestPoints=[{position:i}]}else this.state.closestPoints=[]}},{key:"getPickingInfo",value:function(e){var t=e.info;return Object.assign(t,{object:t.object&&t.object.path||t.object})}},{key:"renderLayers",value:function(){return[new o.default(this.props,this.getSubLayerProps({id:"paths",data:this.props.data})),new this.props.MarkerLayer(this.getSubLayerProps(Object.assign({},this.props.markerLayerProps,{id:"markers",data:this.state.markers,getOrientation:function(e){return[0,-e.angle,0]},getColor:function(e){return e.color},sizeScale:this.props.sizeScale,fp64:this.props.fp64,pickable:!1,parameters:{blend:!1,depthTest:!1}}))),this.state.closestPoints&&new r.ScatterplotLayer({id:"".concat(this.props.id,"-highlight"),data:this.state.closestPoints,fp64:this.props.fp64})]}}])&&h(A.prototype,i),c&&h(A,c),I}(n.CompositeLayer);t.default=m,E(m,"layerName","PathMarkerLayer"),E(m,"defaultProps",v)},function(e,t,A){"use strict";function n(e){return(n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){return!t||"object"!==n(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function o(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function s(e,t){return(s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var g=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(n,e);var t,A=(t=n,function(){var e,A=a(t);if(o()){var n=a(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return i(this,e)});function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return r(this,n),A.call(this,Object.assign({},e,{attributes:c(e)}))}return n}(A(43).Geometry);function c(e){for(var t=e.length,A=void 0===t?1:t,n=e.headSize,r=void 0===n?.2:n,i=e.tailWidth,o=void 0===i?.05:i,a=e.tailStart,s=void 0===a?.05:a,g=[.5,1,0,.5-r/2,1-r,0,.5+r/2,1-r,0,.5-o/2,s,0,.5+o/2,1-r,0,.5+o/2,s,0,.5-o/2,s,0,.5-o/2,1-r,0,.5+o/2,1-r,0],c=new Array(g.length),u=0;u<g.length/3;u++){var l=3*u;c[l+0]=(g[l+0]-.5)*A,c[l+1]=(g[l+1]-.5)*A,c[l+2]=0}return{positions:new Float32Array(c),normals:new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1]),texCoords:new Float32Array(g)}}t.default=g},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t,A=e.data,i=e.getPath,c=void 0===i?function(e){return e.path}:i,u=e.getDirection,l=void 0===u?function(e){return e.direction}:u,I=e.getColor,C=void 0===I?function(e){return a}:I,h=e.getMarkerPercentages,f=void 0===h?function(e){return[.5]}:h,d=e.projectFlat,B=[],p=r(A);try{for(p.s();!(t=p.n()).done;){var E,Q=t.value,y=c(Q),v=l(Q)||s,m=C(Q),b=y.map((function(e){return new n.Vector2(e)})),w=b.slice(0).reverse(),S=o(b),F=r(f(Q,{lineLength:S}));try{for(F.s();!(E=F.n()).done;){var R=E.value;if(v.forward){var D=g({path:b,percentage:R,lineLength:S,color:m,object:Q,projectFlat:d});B.push(D)}if(v.backward){var G=g({path:w,percentage:R,lineLength:S,color:m,object:Q,projectFlat:d});B.push(G)}}}catch(k){F.e(k)}finally{F.f()}}}catch(k){p.e(k)}finally{p.f()}return B};var n=A(23);function r(e){if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"===typeof e)return i(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return i(e,t)}(e))){var t=0,A=function(){};return{s:A,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:A}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,o=!0,a=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){a=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw r}}}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function o(e){for(var t=0,A=0;A<e.length-1;A++)t+=e[A].distance(e[A+1]);return t}var a=[0,0,0,255],s={forward:!0,backward:!1};function g(e){var t=e.path,A=e.percentage,r=e.lineLength,i=e.color,o=e.object,a=e.projectFlat,s=r*A,g=0,c=0,u=0;for(u=0;u<t.length-1&&!((g+=t[u].distance(t[u+1]))>s);u++)c=g;var l=s-c,I=t[u+1].clone().subtract(t[u]).normalize().clone().multiply(new n.Vector2(l,l)).add(t[u]),C=180*new n.Vector2(a(t[u+1])).subtract(a(t[u])).verticalAngle()/Math.PI;return{position:[I.x,I.y,0],angle:C,color:i,object:o}}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getClosestPointOnLine=r,t.getClosestPointOnPolyline=function(e){var t=e.p,A=e.points;t=new n.Vector3(t);for(var i=null,o=1/0,a=-1,s=0;s<A.length-1;++s){var g=A[s],c=A[s+1],u=r({p:t,p1:g,p2:c}),l=t.distanceSquared(u);l<o&&(o=l,i=u,a=s)}return{point:i,index:a,p1:A[a],p2:A[a+1],distanceSquared:o,distance:Math.sqrt(o)}};var n=A(23);function r(e){var t=e.p,A=e.p1,r=e.p2,i=e.clampToLine,o=void 0===i||i,a=new n.Vector3(r).subtract(A),s=new n.Vector3(t).subtract(A),g=a.dot(s);return o&&(g=(0,n.clamp)(g,0,1)),a.lerp(g)}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=A(35),r=A(75);function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function a(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?o(Object(A),!0).forEach((function(t){C(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):o(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function c(e,t){return!t||"object"!==i(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function u(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function I(e,t){return(I=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function C(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var h=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&I(e,t)}(C,e);var t,A,n,i,o=(t=C,function(){var e,A=l(t);if(u()){var n=l(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return c(this,e)});function C(){return s(this,C),o.apply(this,arguments)}return A=C,(n=[{key:"renderLayers",value:function(){var e=this.props,t=e.id,A=e.getFillColor,n=e.getStrokeColor,i=e.getInnerRadius,o=e.updateTriggers;return[new r.ScatterplotLayer(a({},this.props,{id:"".concat(t,"-full"),data:this.props.data,getLineColor:n,updateTriggers:a({},o,{getStrokeColor:o.getStrokeColor})})),new r.ScatterplotLayer(a({},this.props,{id:"".concat(t,"-inner"),data:this.props.data,getFillColor:A,getRadius:i,pickable:!1,updateTriggers:a({},o,{getFillColor:o.getFillColor,getRadius:o.getInnerRadius})}))]}}])&&g(A.prototype,n),i&&g(A,i),C}(n.CompositeLayer);t.default=h,C(h,"layerName","JunctionScatterplotLayer"),C(h,"defaultProps",a({},r.ScatterplotLayer.defaultProps,{getFillColor:function(e){return[0,0,0,255]},getStrokeColor:function(e){return[255,255,255,255]},getInnerRadius:function(e){return 1}}))},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toDeckColor=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[255,0,0,255];if(!Array.isArray(e))return t;return[255*e[0],255*e[1],255*e[2],255*e[3]]},t.recursivelyTraverseNestedArrays=function e(t,A,n){if(!Array.isArray(t[0]))return!0;for(var r=0;r<t.length;r++)if(e(t[r],[].concat(function(e){if(Array.isArray(e))return u(e)}(i=A)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(i)||c(i)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[r]),n)){n(t,A);break}var i;return!1},t.generatePointsParallelToLinePoints=function(e,t,A){var a={type:"LineString",coordinates:[e,t]},s=(0,o.point)(A),g=(0,i.default)(s,a),c=(0,r.default)(e,t),u=(A[0]-e[0])*(t[1]-e[1])-(A[1]-e[1])*(t[0]-e[0])<0?c-90:c-270,l=(0,n.default)(t,g,u),I=(0,n.default)(e,g,u);return[l.geometry.coordinates,I.geometry.coordinates]},t.distance2d=l,t.mix=I,t.nearestPointOnProjectedLine=function(e,t,A){var n=new a.default(A),r=e.geometry.coordinates.map((function(e){var t=g(e,3),A=t[0],r=t[1],i=t[2],o=void 0===i?0:i;return n.project([A,r,o])})),i=g(n.project(t.geometry.coordinates),2),o=i[0],s=i[1],c=1/0,u={};r.forEach((function(e,t){var A=g(e,2),n=A[0],i=A[1];if(0!==t){var a=g(r[t-1],2),l=a[0],I=a[1],C=I-i,h=n-l,f=l*i-n*I,d=C*C+h*h,B=Math.abs(C*o+h*s+f)/Math.sqrt(d);B<c&&(c=B,u={index:t,x0:(h*(h*o-C*s)-C*f)/d,y0:(C*(-h*o+C*s)-h*f)/d})}}));var C=u,h=C.index,f=C.x0,d=C.y0,B=g(r[h-1],3),p=B[0],E=B[1],Q=B[2],y=void 0===Q?0:Q,v=g(r[h],3),m=v[0],b=v[1],w=v[2],S=void 0===w?0:w,F=l(p,E,m,b),R=l(p,E,f,d),D=I(y,S,R/F);return{type:"Feature",geometry:{type:"Point",coordinates:n.unproject([f,d,D])},properties:{dist:c,index:h-1}}};var n=s(A(304)),r=s(A(143)),i=s(A(647)),o=A(59),a=s(A(630));function s(e){return e&&e.__esModule?e:{default:e}}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}(e,t)||c(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){if(e){if("string"===typeof e)return u(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(A):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function l(e,t,A,n){var r=e-A,i=t-n;return Math.sqrt(r*r+i*i)}function I(e,t,A){return t*A+e*(1-A)}},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=A(75),r=a(A(305)),i=A(369),o=a(A(497));function a(e){return e&&e.__esModule?e:{default:e}}function s(e){return(s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function g(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function c(e,t){return!t||"object"!==s(t)&&"function"!==typeof t?u(e):t}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function I(e){return(I=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function C(e,t){return(C=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var h=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&C(e,t)}(h,e);var t,A,r,a,s=(t=h,function(){var e,A=I(t);if(l()){var n=I(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return c(this,e)});function h(e){var t,A,n,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,h),t=s.call(this,e),A=u(t),r=void 0,(n="deckCache")in A?Object.defineProperty(A,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):A[n]=r,t.deckCache=new o.default(e.getData,(function(t){return e.toNebulaFeature(t)})),t}return A=h,(r=[{key:"render",value:function(e){var t=e.nebula,A=[0,0,0,255],r=this.deckCache,o=r.objects,a=r.updateTrigger,s=t.props.viewport.zoom;return new n.TextLayer({id:"texts-".concat(this.id),data:o,opacity:1,fp64:!1,pickable:!1,getText:function(e){return e.style.text},getPosition:function(e){return e.geoJson.geometry.coordinates},getColor:function(e){return(0,i.toDeckColor)(e.style.fillColor)||A},sizeScale:1/Math.pow(2,20-s),updateTriggers:{all:a},nebulaLayer:this})}}])&&g(A.prototype,r),a&&g(A,a),h}(r.default);t.default=h},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=A(309),i=A(22),o=A(626),a=c(A(305)),s=A(369),g=c(A(497));function c(e){return e&&e.__esModule?e:{default:e}}function u(e){return(u="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function I(e,t){return!t||"object"!==u(t)&&"function"!==typeof t?C(e):t}function C(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function B(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var p=(B(n={},o.ArrowStyles.NONE,{forward:!1,backward:!1}),B(n,o.ArrowStyles.FORWARD,{forward:!0,backward:!1}),B(n,o.ArrowStyles.BACKWARD,{forward:!1,backward:!0}),B(n,o.ArrowStyles.BOTH,{forward:!0,backward:!0}),n),E=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&d(e,t)}(u,e);var t,A,n,a,c=(t=u,function(){var e,A=f(t);if(h()){var n=f(this).constructor;e=Reflect.construct(A,arguments,n)}else e=A.apply(this,arguments);return I(this,e)});function u(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),B(C(t=c.call(this,e)),"deckCache",void 0),B(C(t),"noBlend",void 0),B(C(t),"highlightColor",void 0),B(C(t),"arrowSize",void 0),B(C(t),"rounded",void 0),B(C(t),"dashed",void 0),B(C(t),"markerLayerProps",void 0),t.deckCache=new g.default(e.getData,(function(t){return e.toNebulaFeature(t)})),t.enableSelection=!0;var A=e.enablePicking,n=void 0===A||A,r=e.noBlend,i=void 0!==r&&r,o=e.rounded,a=void 0===o||o,s=e.dashed,l=void 0!==s&&s,I=e.markerLayerProps,h=void 0===I?null:I;return Object.assign(C(t),{enablePicking:n,noBlend:i,rounded:a,dashed:l,markerLayerProps:h}),t}return A=u,(n=[{key:"getMouseOverSegment",value:function(){return null}},{key:"_calcMarkerPercentages",value:function(e){var t=e.style.arrowPercentages;return t||((e.style.arrowStyle||o.DEFAULT_STYLE.arrowStyle)===o.ArrowStyles.NONE?[]:[[.5],[.33,.66],[.25,.5,.75]][Math.min(e.style.arrowCount||o.DEFAULT_STYLE.arrowCount,o.MAX_ARROWS)-1])}},{key:"_getHighlightedObjectIndex",value:function(e){var t=e.nebula.deckglMouseOverInfo;if(t){var A=t.originalLayer,n=t.index;if(A===this)return n}return-1}},{key:"render",value:function(e){var t=e.nebula,A=[0,0,0,255],n=this.deckCache,o=n.objects,a=n.updateTrigger;return new r.PathMarkerLayer({id:"segments-".concat(this.id),data:o,opacity:1,fp64:!1,rounded:this.rounded,pickable:!0,sizeScale:this.arrowSize||6,parameters:{depthTest:!1,blend:!this.noBlend,blendEquation:i.GL.MAX},getPath:function(e){return e.geoJson.geometry.coordinates},getColor:function(e){return(0,s.toDeckColor)(e.style.lineColor,A)},getWidth:function(e){return e.style.lineWidthMeters||1},getZLevel:function(e){return 255*e.style.zLevel},getDirection:function(e){return p[e.style.arrowStyle]},getMarkerColor:function(e){return(0,s.toDeckColor)(e.style.arrowColor,A)},getMarkerPercentages:this._calcMarkerPercentages,updateTriggers:{all:a},highlightedObjectIndex:this._getHighlightedObjectIndex({nebula:t}),highlightColor:(0,s.toDeckColor)(this.highlightColor),dashJustified:this.dashed,getDashArray:this.dashed?function(e){return e.style.dashArray}:null,markerLayerProps:this.markerLayerProps||r.PathMarkerLayer.defaultProps.markerLayerProps,nebulaLayer:this})}}])&&l(A.prototype,n),a&&l(A,a),u}(a.default);t.default=E},function(e,t,A){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=A(629),r=g(A(1106)),i=A(35),o=g(A(627)),a=g(A(628)),s=g(A(305));function g(e){return e&&e.__esModule?e:{default:e}}function c(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return u(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);"Object"===A&&e.constructor&&(A=e.constructor.name);if("Map"===A||"Set"===A)return Array.from(A);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return u(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=new Array(t);A<t;A++)n[A]=e[A];return n}function l(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function I(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var C=function(){function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),I(this,"props",void 0),I(this,"deckgl",void 0),I(this,"mainContainer",void 0),I(this,"deckglMouseOverInfo",void 0),I(this,"_deckDrawer",void 0),I(this,"_mouseWasDown",void 0),I(this,"wmViewport",void 0),I(this,"queryObjectEvents",new n.EventEmitter),I(this,"forceUpdate",void 0),I(this,"inited",void 0),I(this,"_onMouseEvent",(function(e){if(t._isNebulaEvent(e)){"mousedown"===e.type&&(t._mouseWasDown=!0);var A=t.mainContainer?t.mainContainer.getBoundingClientRect():{},n=A.top,r=void 0===n?0:n,i=A.left,o=void 0===i?0:i,a=new Proxy(e,{get:function(e,t){if("offsetX"===t)return e.pageX-o;if("offsetY"===t)return e.pageY-r;if("type"===t)return e.type.replace("pointer","mouse");var A=e[t];return"function"===typeof A?A.bind(e):A}});t._handleDeckGLEvent(a)}}))}var t,A,g;return t=e,(A=[{key:"init",value:function(e){var t=this;this.props=e,this.wmViewport=new i.WebMercatorViewport(this.props.viewport),["click","mousemove","mouseup","mousedown"].forEach((function(e){return r.default.addEventListener(e,t._onMouseEvent,!0)}))}},{key:"detach",value:function(){var e=this;["click","mousemove","mouseup","mousedown"].forEach((function(t){return r.default.removeEventListener(t,e._onMouseEvent,!0)}))}},{key:"updateProps",value:function(e){this.props=e;var t=this.props.viewport;this.wmViewport=new i.WebMercatorViewport(t)}},{key:"log",value:function(e){var t=this.props.logger;t&&t.info&&t.info("Nebula: "+e)}},{key:"updateAllDeckObjects",value:function(){this.getAllLayers().forEach((function(e){e&&e.deckCache&&e.deckCache.updateAllDeckObjects()})),this.forceUpdate()}},{key:"updateDeckObjectsByIds",value:function(e){this.getAllLayers().forEach((function(t){t&&t.deckCache&&t.deckCache.updateDeckObjectsByIds(e)})),this.forceUpdate()}},{key:"rerenderLayers",value:function(){this.updateAllDeckObjects()}},{key:"_isNebulaEvent",value:function(e){var t=e.buttons,A=e.target,n=e.type,r=this.props.viewport;if(this._mouseWasDown&&"mouseup"===n)return this._mouseWasDown=!1,!0;if("mousemove"===n&&t>0)return!0;if(!A.getBoundingClientRect)return!1;var i=A.getBoundingClientRect();return Math.round(i.width)===Math.round(r.width)&&Math.round(i.height)===Math.round(r.height)}},{key:"getMouseGroundPosition",value:function(e){return this.wmViewport.unproject([e.offsetX,e.offsetY])}},{key:"unprojectMousePosition",value:function(e){return this.wmViewport.unproject(e)}},{key:"_handleDeckGLEvent",value:function(e){var t=this.deckgl,A=this.props,n=A.onMapMouseEvent,i=A.selectionType,s=A.eventFilter,g=!0,c="auto";if(e&&t&&i){this._deckDrawer||(this._deckDrawer=new o.default(this));var u=this.getMouseGroundPosition(e);if(s&&!s(u,e))return;this._deckDrawer.handleEvent(e,u,i).redraw&&this.forceUpdate()}else{if(e&&t&&(!e.buttons||"mousemove"!==e.type)){var l=t.props.layers.filter((function(e){return e&&e.props&&e.props.nebulaLayer&&e.props.nebulaLayer.enablePicking})).map((function(e){return e.id})),I=t.pickObject({x:e.offsetX,y:e.offsetY,radius:5,layerIds:l});if(this.queryObjectEvents.emit("pick",{event:e,pickingInfo:I}),I){g=!1;var C=I.index,h=I.lngLat;if(s&&!s(h,e))return;var f=I.layer,d=I.object;f&&f.props&&f.props.nebulaLayer&&f.props.nebulaLayer.eventHandler&&f.props.nebulaLayer.eventHandler(e,I);var B=d.original||f.props.nebulaLayer&&f.props.nebulaLayer.deckCache&&f.props.nebulaLayer.deckCache.originals[C];if(B){this.deckglMouseOverInfo={originalLayer:f.props.nebulaLayer,index:C};var p=new a.default(e,{data:B,metadata:d.metadata,groundPoint:h,nebula:this});f.props.nebulaLayer.emit(e.type,p),this.forceUpdate()}c="pointer"}}if(r.default.documentElement&&(r.default.documentElement.style.cursor=c),g){this.deckglMouseOverInfo=null;var E=this.getMouseGroundPosition(e);if(s&&!s(E,e))return;var Q=new a.default(e,{groundPoint:E,nebula:this});this.getAllLayers().filter((function(e){return e&&e.usesMapEvents})).forEach((function(e){return e.emit("mapMouseEvent",Q)})),this.getAllLayers().filter((function(e){return e&&e.props&&e.props.nebulaLayer&&e.props.nebulaLayer.mapMouseEvent})).forEach((function(e){return e.props.nebulaLayer.mapMouseEvent(Q,e)})),n&&n(e,E)}}}},{key:"getExtraDeckLayers",value:function(){var e=[];return this._deckDrawer&&e.push.apply(e,c(this._deckDrawer.render())),e}},{key:"renderDeckLayers",value:function(){var e=this;return this.getAllLayers().map((function(t){return t instanceof s.default?t.render({nebula:e}):t})).filter(Boolean)}},{key:"getAllLayers",value:function(){var e=[];return this.props.layers.filter(Boolean).forEach((function(t){e.push(t),t instanceof s.default&&e.push.apply(e,c(t.helperLayers))})),e.filter(Boolean)}},{key:"getRenderedLayers",value:function(){return[].concat(c(this.renderDeckLayers()),c(this.getExtraDeckLayers()))}},{key:"updateAndGetRenderedLayers",value:function(e,t,A){return this.inited?(this.updateProps({layers:e,viewport:t}),this.forceUpdate=function(){return A.forceUpdate()}):(this.inited=!0,this.init({layers:e,viewport:t}),this.forceUpdate=function(){return A.forceUpdate()},this.updateAllDeckObjects()),this.getRenderedLayers()}},{key:"setDeck",value:function(e){e&&(this.deckgl=e)}},{key:"setMainContainer",value:function(e){e&&(this.mainContainer=e)}}])&&l(t.prototype,A),g&&l(t,g),e}();t.default=C},function(e,t,A){(function(t){var n,r="undefined"!==typeof t?t:"undefined"!==typeof window?window:{},i=A(1107);"undefined"!==typeof document?n=document:(n=r["__GLOBAL_DOCUMENT_CACHE@4"])||(n=r["__GLOBAL_DOCUMENT_CACHE@4"]=i),e.exports=n}).call(this,A(86))},,function(e,t){e.exports=function(e,t,A){return e===e&&(void 0!==A&&(e=e<=A?e:A),void 0!==t&&(e=e>=t?e:t)),e}},function(e,t,A){"use strict";var n=window.URL||window.webkitURL;e.exports=function(e,t){try{try{var A;try{(A=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(e),A=A.getBlob()}catch(r){A=new Blob([e])}return new Worker(n.createObjectURL(A))}catch(r){return new Worker("data:application/javascript,"+encodeURIComponent(e))}}catch(r){if(!t)throw Error("Inline worker is not supported");return new Worker(t)}}},function(e,t,A){var n=A(261);e.exports=function(e,t){var A=n(e,t);return A?A.version:null}},function(e,t,A){var n=A(261);e.exports=function(e,t){var A=n(e.trim().replace(/^[=v]+/,""),t);return A?A.version:null}},function(e,t,A){var n=A(106);e.exports=function(e,t,A,r){"string"===typeof A&&(r=A,A=void 0);try{return new n(e,A).inc(t,r).version}catch(i){return null}}},function(e,t,A){var n=A(261),r=A(499);e.exports=function(e,t){if(r(e,t))return null;var A=n(e),i=n(t),o=A.prerelease.length||i.prerelease.length,a=o?"pre":"",s=o?"prerelease":"";for(var g in A)if(("major"===g||"minor"===g||"patch"===g)&&A[g]!==i[g])return a+g;return s}},function(e,t,A){var n=A(106);e.exports=function(e,t){return new n(e,t).major}},function(e,t,A){var n=A(106);e.exports=function(e,t){return new n(e,t).minor}},function(e,t,A){var n=A(106);e.exports=function(e,t){return new n(e,t).patch}},function(e,t,A){var n=A(261);e.exports=function(e,t){var A=n(e,t);return A&&A.prerelease.length?A.prerelease:null}},function(e,t,A){var n=A(144);e.exports=function(e,t,A){return n(t,e,A)}},function(e,t,A){var n=A(144);e.exports=function(e,t){return n(e,t,!0)}},function(e,t,A){var n=A(500);e.exports=function(e,t){return e.sort((function(e,A){return n(e,A,t)}))}},function(e,t,A){var n=A(500);e.exports=function(e,t){return e.sort((function(e,A){return n(A,e,t)}))}},function(e,t,A){var n=A(106),r=A(261),i=A(260),o=i.re,a=i.t;e.exports=function(e,t){if(e instanceof n)return e;if("number"===typeof e&&(e=String(e)),"string"!==typeof e)return null;var A=null;if((t=t||{}).rtl){for(var i;(i=o[a.COERCERTL].exec(e))&&(!A||A.index+A[0].length!==e.length);)A&&i.index+i[0].length===A.index+A[0].length||(A=i),o[a.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;o[a.COERCERTL].lastIndex=-1}else A=e.match(o[a.COERCE]);return null===A?null:r("".concat(A[2],".").concat(A[3]||"0",".").concat(A[4]||"0"),t)}},function(e,t,A){var n=A(1124),r=A(1125),i=A(504),o=A(1126);e.exports=function(e){return n(e)||r(e)||i(e)||o()}},function(e,t,A){var n=A(642);e.exports=function(e){if(Array.isArray(e))return n(e)}},function(e,t){e.exports=function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t,A){"use strict";var n=A(299),r=A(300),i=A(1128),o=Symbol("max"),a=Symbol("length"),s=Symbol("lengthCalculator"),g=Symbol("allowStale"),c=Symbol("maxAge"),u=Symbol("dispose"),l=Symbol("noDisposeOnSet"),I=Symbol("lruList"),C=Symbol("cache"),h=Symbol("updateAgeOnGet"),f=function(){return 1},d=function(){function e(t){if(n(this,e),"number"===typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!==typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[o]=t.max||1/0;var A=t.length||f;if(this[s]="function"!==typeof A?f:A,this[g]=t.stale||!1,t.maxAge&&"number"!==typeof t.maxAge)throw new TypeError("maxAge must be a number");this[c]=t.maxAge||0,this[u]=t.dispose,this[l]=t.noDisposeOnSet||!1,this[h]=t.updateAgeOnGet||!1,this.reset()}return r(e,[{key:"rforEach",value:function(e,t){t=t||this;for(var A=this[I].tail;null!==A;){var n=A.prev;v(this,e,A,t),A=n}}},{key:"forEach",value:function(e,t){t=t||this;for(var A=this[I].head;null!==A;){var n=A.next;v(this,e,A,t),A=n}}},{key:"keys",value:function(){return this[I].toArray().map((function(e){return e.key}))}},{key:"values",value:function(){return this[I].toArray().map((function(e){return e.value}))}},{key:"reset",value:function(){var e=this;this[u]&&this[I]&&this[I].length&&this[I].forEach((function(t){return e[u](t.key,t.value)})),this[C]=new Map,this[I]=new i,this[a]=0}},{key:"dump",value:function(){var e=this;return this[I].map((function(t){return!p(e,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}})).toArray().filter((function(e){return e}))}},{key:"dumpLru",value:function(){return this[I]}},{key:"set",value:function(e,t,A){if((A=A||this[c])&&"number"!==typeof A)throw new TypeError("maxAge must be a number");var n=A?Date.now():0,r=this[s](t,e);if(this[C].has(e)){if(r>this[o])return Q(this,this[C].get(e)),!1;var i=this[C].get(e).value;return this[u]&&(this[l]||this[u](e,i.value)),i.now=n,i.maxAge=A,i.value=t,this[a]+=r-i.length,i.length=r,this.get(e),E(this),!0}var g=new y(e,t,r,n,A);return g.length>this[o]?(this[u]&&this[u](e,t),!1):(this[a]+=g.length,this[I].unshift(g),this[C].set(e,this[I].head),E(this),!0)}},{key:"has",value:function(e){if(!this[C].has(e))return!1;var t=this[C].get(e).value;return!p(this,t)}},{key:"get",value:function(e){return B(this,e,!0)}},{key:"peek",value:function(e){return B(this,e,!1)}},{key:"pop",value:function(){var e=this[I].tail;return e?(Q(this,e),e.value):null}},{key:"del",value:function(e){Q(this,this[C].get(e))}},{key:"load",value:function(e){this.reset();for(var t=Date.now(),A=e.length-1;A>=0;A--){var n=e[A],r=n.e||0;if(0===r)this.set(n.k,n.v);else{var i=r-t;i>0&&this.set(n.k,n.v,i)}}}},{key:"prune",value:function(){var e=this;this[C].forEach((function(t,A){return B(e,A,!1)}))}},{key:"max",set:function(e){if("number"!==typeof e||e<0)throw new TypeError("max must be a non-negative number");this[o]=e||1/0,E(this)},get:function(){return this[o]}},{key:"allowStale",set:function(e){this[g]=!!e},get:function(){return this[g]}},{key:"maxAge",set:function(e){if("number"!==typeof e)throw new TypeError("maxAge must be a non-negative number");this[c]=e,E(this)},get:function(){return this[c]}},{key:"lengthCalculator",set:function(e){var t=this;"function"!==typeof e&&(e=f),e!==this[s]&&(this[s]=e,this[a]=0,this[I].forEach((function(e){e.length=t[s](e.value,e.key),t[a]+=e.length}))),E(this)},get:function(){return this[s]}},{key:"length",get:function(){return this[a]}},{key:"itemCount",get:function(){return this[I].length}}]),e}(),B=function(e,t,A){var n=e[C].get(t);if(n){var r=n.value;if(p(e,r)){if(Q(e,n),!e[g])return}else A&&(e[h]&&(n.value.now=Date.now()),e[I].unshiftNode(n));return r.value}},p=function(e,t){if(!t||!t.maxAge&&!e[c])return!1;var A=Date.now()-t.now;return t.maxAge?A>t.maxAge:e[c]&&A>e[c]},E=function(e){if(e[a]>e[o])for(var t=e[I].tail;e[a]>e[o]&&null!==t;){var A=t.prev;Q(e,t),t=A}},Q=function(e,t){if(t){var A=t.value;e[u]&&e[u](A.key,A.value),e[a]-=A.length,e[C].delete(A.key),e[I].removeNode(t)}},y=function e(t,A,r,i,o){n(this,e),this.key=t,this.value=A,this.length=r,this.now=i,this.maxAge=o||0},v=function(e,t,A,n){var r=A.value;p(e,r)&&(Q(e,A),e[g]||(r=void 0)),r&&t.call(n,r.value,r.key,e)};e.exports=d},function(e,t,A){"use strict";function n(e){var t=this;if(t instanceof n||(t=new n),t.tail=null,t.head=null,t.length=0,e&&"function"===typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var A=0,r=arguments.length;A<r;A++)t.push(arguments[A]);return t}function r(e,t,A){var n=t===e.head?new a(A,null,t,e):new a(A,t,t.next,e);return null===n.next&&(e.tail=n),null===n.prev&&(e.head=n),e.length++,n}function i(e,t){e.tail=new a(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++}function o(e,t){e.head=new a(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++}function a(e,t,A,n){if(!(this instanceof a))return new a(e,t,A,n);this.list=n,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,A?(A.prev=this,this.next=A):this.next=null}e.exports=n,n.Node=a,n.create=n,n.prototype.removeNode=function(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");var t=e.next,A=e.prev;return t&&(t.prev=A),A&&(A.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=A),e.list.length--,e.next=null,e.prev=null,e.list=null,t},n.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}},n.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}},n.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)i(this,arguments[e]);return this.length},n.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++)o(this,arguments[e]);return this.length},n.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}},n.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}},n.prototype.forEach=function(e,t){t=t||this;for(var A=this.head,n=0;null!==A;n++)e.call(t,A.value,n,this),A=A.next},n.prototype.forEachReverse=function(e,t){t=t||this;for(var A=this.tail,n=this.length-1;null!==A;n--)e.call(t,A.value,n,this),A=A.prev},n.prototype.get=function(e){for(var t=0,A=this.head;null!==A&&t<e;t++)A=A.next;if(t===e&&null!==A)return A.value},n.prototype.getReverse=function(e){for(var t=0,A=this.tail;null!==A&&t<e;t++)A=A.prev;if(t===e&&null!==A)return A.value},n.prototype.map=function(e,t){t=t||this;for(var A=new n,r=this.head;null!==r;)A.push(e.call(t,r.value,this)),r=r.next;return A},n.prototype.mapReverse=function(e,t){t=t||this;for(var A=new n,r=this.tail;null!==r;)A.push(e.call(t,r.value,this)),r=r.prev;return A},n.prototype.reduce=function(e,t){var A,n=this.head;if(arguments.length>1)A=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");n=this.head.next,A=this.head.value}for(var r=0;null!==n;r++)A=e(A,n.value,r),n=n.next;return A},n.prototype.reduceReverse=function(e,t){var A,n=this.tail;if(arguments.length>1)A=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");n=this.tail.prev,A=this.tail.value}for(var r=this.length-1;null!==n;r--)A=e(A,n.value,r),n=n.prev;return A},n.prototype.toArray=function(){for(var e=new Array(this.length),t=0,A=this.head;null!==A;t++)e[t]=A.value,A=A.next;return e},n.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,A=this.tail;null!==A;t++)e[t]=A.value,A=A.prev;return e},n.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var A=new n;if(t<e||t<0)return A;e<0&&(e=0),t>this.length&&(t=this.length);for(var r=0,i=this.head;null!==i&&r<e;r++)i=i.next;for(;null!==i&&r<t;r++,i=i.next)A.push(i.value);return A},n.prototype.sliceReverse=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var A=new n;if(t<e||t<0)return A;e<0&&(e=0),t>this.length&&(t=this.length);for(var r=this.length,i=this.tail;null!==i&&r>t;r--)i=i.prev;for(;null!==i&&r>e;r--,i=i.prev)A.push(i.value);return A},n.prototype.splice=function(e,t){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var A=0,n=this.head;null!==n&&A<e;A++)n=n.next;var i=[];for(A=0;n&&A<t;A++)i.push(n.value),n=this.removeNode(n);null===n&&(n=this.tail),n!==this.head&&n!==this.tail&&(n=n.prev);for(A=0;A<(arguments.length<=2?0:arguments.length-2);A++)n=r(this,n,A+2<2||arguments.length<=A+2?void 0:arguments[A+2]);return i},n.prototype.reverse=function(){for(var e=this.head,t=this.tail,A=e;null!==A;A=A.prev){var n=A.prev;A.prev=A.next,A.next=n}return this.head=t,this.tail=e,this};try{A(1129)(n)}catch(s){}},function(e,t,A){"use strict";var n=A(3);e.exports=function(e){e.prototype[Symbol.iterator]=n.mark((function e(){var t;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.head;case 1:if(!t){e.next=7;break}return e.next=4,t.value;case 4:t=t.next,e.next=1;break;case 7:case"end":return e.stop()}}),e,this)}))}},function(e,t,A){var n=A(145);e.exports=function(e,t){return new n(e,t).set.map((function(e){return e.map((function(e){return e.value})).join(" ").trim().split(" ")}))}},function(e,t,A){var n=A(106),r=A(145);e.exports=function(e,t,A){var i=null,o=null,a=null;try{a=new r(t,A)}catch(s){return null}return e.forEach((function(e){a.test(e)&&(i&&-1!==o.compare(e)||(o=new n(i=e,A)))})),i}},function(e,t,A){var n=A(106),r=A(145);e.exports=function(e,t,A){var i=null,o=null,a=null;try{a=new r(t,A)}catch(s){return null}return e.forEach((function(e){a.test(e)&&(i&&1!==o.compare(e)||(o=new n(i=e,A)))})),i}},function(e,t,A){var n=A(106),r=A(145),i=A(373);e.exports=function(e,t){e=new r(e,t);var A=new n("0.0.0");if(e.test(A))return A;if(A=new n("0.0.0-0"),e.test(A))return A;A=null;for(var o=function(t){var r=e.set[t],o=null;r.forEach((function(e){var t=new n(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":o&&!i(t,o)||(o=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: ".concat(e.operator))}})),!o||A&&!i(A,o)||(A=o)},a=0;a<e.set.length;++a)o(a);return A&&e.test(A)?A:null}},function(e,t,A){var n=A(145);e.exports=function(e,t){try{return new n(e,t).range||"*"}catch(A){return null}}},function(e,t,A){var n=A(506);e.exports=function(e,t,A){return n(e,t,">",A)}},function(e,t,A){var n=A(506);e.exports=function(e,t,A){return n(e,t,"<",A)}},function(e,t,A){var n=A(145);e.exports=function(e,t,A){return e=new n(e,A),t=new n(t,A),e.intersects(t)}},function(e,t,A){var n=A(1139),r=A(505),i=A(375),o=A(144);e.exports=function(e,t,A){var a,s=[],g=null,c=null,u=e.sort((function(e,t){return o(e,t,A)})),l=r(u);try{for(l.s();!(a=l.n()).done;){var I=a.value;i(I,t,A)?(c=I,g||(g=I)):(c&&s.push([g,c]),c=null,g=null)}}catch(y){l.e(y)}finally{l.f()}g&&s.push([g,null]);for(var C=[],h=0,f=s;h<f.length;h++){var d=n(f[h],2),B=d[0],p=d[1];B===p?C.push(B):p||B!==u[0]?p?B===u[0]?C.push("<=".concat(p)):C.push("".concat(B," - ").concat(p)):C.push(">=".concat(B)):C.push("*")}var E=C.join(" || "),Q="string"===typeof t.raw?t.raw:String(t);return E.length<Q.length?E:t}},function(e,t,A){var n=A(1140),r=A(1141),i=A(504),o=A(1142);e.exports=function(e,t){return n(e)||r(e,t)||i(e,t)||o()}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var A=[],n=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){r=!0,i=s}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}return A}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t,A){var n=A(505),r=A(145),i=A(374),o=i.ANY,a=A(375),s=A(144),g=function(e,t,A){if(e===t)return!0;if(1===e.length&&e[0].semver===o){if(1===t.length&&t[0].semver===o)return!0;e=A.includePrerelease?[new i(">=0.0.0-0")]:[new i(">=0.0.0")]}if(1===t.length&&t[0].semver===o){if(A.includePrerelease)return!0;t=[new i(">=0.0.0")]}var r,g,l,I,C=new Set,h=n(e);try{for(h.s();!(l=h.n()).done;){var f=l.value;">"===f.operator||">="===f.operator?r=c(r,f,A):"<"===f.operator||"<="===f.operator?g=u(g,f,A):C.add(f.semver)}}catch(k){h.e(k)}finally{h.f()}if(C.size>1)return null;if(r&&g){if((I=s(r.semver,g.semver,A))>0)return null;if(0===I&&(">="!==r.operator||"<="!==g.operator))return null}var d,B,p,E,Q,y=n(C);try{for(y.s();!(d=y.n()).done;){var v=d.value;if(r&&!a(v,String(r),A))return null;if(g&&!a(v,String(g),A))return null;var m,b=n(t);try{for(b.s();!(m=b.n()).done;){var w=m.value;if(!a(v,String(w),A))return!1}}catch(k){b.e(k)}finally{b.f()}return!0}}catch(k){y.e(k)}finally{y.f()}var S=!(!g||A.includePrerelease||!g.semver.prerelease.length)&&g.semver,F=!(!r||A.includePrerelease||!r.semver.prerelease.length)&&r.semver;S&&1===S.prerelease.length&&"<"===g.operator&&0===S.prerelease[0]&&(S=!1);var R,D=n(t);try{for(D.s();!(R=D.n()).done;){var G=R.value;if(Q=Q||">"===G.operator||">="===G.operator,E=E||"<"===G.operator||"<="===G.operator,r)if(F&&G.semver.prerelease&&G.semver.prerelease.length&&G.semver.major===F.major&&G.semver.minor===F.minor&&G.semver.patch===F.patch&&(F=!1),">"===G.operator||">="===G.operator){if((B=c(r,G,A))===G&&B!==r)return!1}else if(">="===r.operator&&!a(r.semver,String(G),A))return!1;if(g)if(S&&G.semver.prerelease&&G.semver.prerelease.length&&G.semver.major===S.major&&G.semver.minor===S.minor&&G.semver.patch===S.patch&&(S=!1),"<"===G.operator||"<="===G.operator){if((p=u(g,G,A))===G&&p!==g)return!1}else if("<="===g.operator&&!a(g.semver,String(G),A))return!1;if(!G.operator&&(g||r)&&0!==I)return!1}}catch(k){D.e(k)}finally{D.f()}return!(r&&E&&!g&&0!==I)&&(!(g&&Q&&!r&&0!==I)&&(!F&&!S))},c=function(e,t,A){if(!e)return t;var n=s(e.semver,t.semver,A);return n>0?e:n<0||">"===t.operator&&">="===e.operator?t:e},u=function(e,t,A){if(!e)return t;var n=s(e.semver,t.semver,A);return n<0?e:n>0||"<"===t.operator&&"<="===e.operator?t:e};e.exports=function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e===t)return!0;e=new r(e,A),t=new r(t,A);var i,o=!1,a=n(e.set);try{e:for(a.s();!(i=a.n()).done;){var s,c=i.value,u=n(t.set);try{for(u.s();!(s=u.n()).done;){var l=s.value,I=g(c,l,A);if(o=o||null!==I,I)continue e}}catch(C){u.e(C)}finally{u.f()}if(o)return!1}}catch(C){a.e(C)}finally{a.f()}return!0}},function(e,t){Array.prototype.flat||Object.defineProperty(Array.prototype,"flat",{configurable:!0,value:function e(){var t=isNaN(arguments[0])?1:Number(arguments[0]);return t?Array.prototype.reduce.call(this,(function(A,n){return Array.isArray(n)?A.push.apply(A,e.call(n,t-1)):A.push(n),A}),[]):Array.prototype.slice.call(this)},writable:!0}),Array.prototype.flatMap||Object.defineProperty(Array.prototype,"flatMap",{configurable:!0,value:function(e){return Array.prototype.map.apply(this,arguments).flat()},writable:!0})},,function(e,t,A){},function(e,t,A){},,function(e,t,A){"use strict";A.r(t);var n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),r=new Uint8Array(16);function i(){if(!n)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(r)}for(var o=[],a=0;a<256;++a)o[a]=(a+256).toString(16).substr(1);var s,g,c=function(e,t){var A=t||0,n=o;return[n[e[A++]],n[e[A++]],n[e[A++]],n[e[A++]],"-",n[e[A++]],n[e[A++]],"-",n[e[A++]],n[e[A++]],"-",n[e[A++]],n[e[A++]],"-",n[e[A++]],n[e[A++]],n[e[A++]],n[e[A++]],n[e[A++]],n[e[A++]]].join("")},u=0,l=0;var I=function(e,t,A){var n=t&&A||0,r=t||[],o=(e=e||{}).node||s,a=void 0!==e.clockseq?e.clockseq:g;if(null==o||null==a){var I=e.random||(e.rng||i)();null==o&&(o=s=[1|I[0],I[1],I[2],I[3],I[4],I[5]]),null==a&&(a=g=16383&(I[6]<<8|I[7]))}var C=void 0!==e.msecs?e.msecs:(new Date).getTime(),h=void 0!==e.nsecs?e.nsecs:l+1,f=C-u+(h-l)/1e4;if(f<0&&void 0===e.clockseq&&(a=a+1&16383),(f<0||C>u)&&void 0===e.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");u=C,l=h,g=a;var d=(1e4*(268435455&(C+=122192928e5))+h)%4294967296;r[n++]=d>>>24&255,r[n++]=d>>>16&255,r[n++]=d>>>8&255,r[n++]=255&d;var B=C/4294967296*1e4&268435455;r[n++]=B>>>8&255,r[n++]=255&B,r[n++]=B>>>24&15|16,r[n++]=B>>>16&255,r[n++]=a>>>8|128,r[n++]=255&a;for(var p=0;p<6;++p)r[n+p]=o[p];return t||c(r)};var C=function(e,t,A){var n=function(e,n,r,i){var o=r&&i||0;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=new Array(e.length),A=0;A<e.length;A++)t[A]=e.charCodeAt(A);return t}(e)),"string"==typeof n&&(n=function(e){var t=[];return e.replace(/[a-fA-F0-9]{2}/g,(function(e){t.push(parseInt(e,16))})),t}(n)),!Array.isArray(e))throw TypeError("value must be an array of bytes");if(!Array.isArray(n)||16!==n.length)throw TypeError("namespace must be uuid string or an Array of 16 byte values");var a=A(n.concat(e));if(a[6]=15&a[6]|t,a[8]=63&a[8]|128,r)for(var s=0;s<16;++s)r[o+s]=a[s];return r||c(a)};try{n.name=e}catch(r){}return n.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",n.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",n};function h(e,t){var A=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(A>>16)<<16|65535&A}function f(e,t,A,n,r,i){return h((o=h(h(t,e),h(n,i)))<<(a=r)|o>>>32-a,A);var o,a}function d(e,t,A,n,r,i,o){return f(t&A|~t&n,e,t,r,i,o)}function B(e,t,A,n,r,i,o){return f(t&n|A&~n,e,t,r,i,o)}function p(e,t,A,n,r,i,o){return f(t^A^n,e,t,r,i,o)}function E(e,t,A,n,r,i,o){return f(A^(t|~n),e,t,r,i,o)}var Q=C("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Array(t.length);for(var A=0;A<t.length;A++)e[A]=t.charCodeAt(A)}return function(e){var t,A,n,r=[],i=32*e.length;for(t=0;t<i;t+=8)A=e[t>>5]>>>t%32&255,n=parseInt("0123456789abcdef".charAt(A>>>4&15)+"0123456789abcdef".charAt(15&A),16),r.push(n);return r}(function(e,t){var A,n,r,i,o;e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;var a=1732584193,s=-271733879,g=-1732584194,c=271733878;for(A=0;A<e.length;A+=16)n=a,r=s,i=g,o=c,a=d(a,s,g,c,e[A],7,-680876936),c=d(c,a,s,g,e[A+1],12,-389564586),g=d(g,c,a,s,e[A+2],17,606105819),s=d(s,g,c,a,e[A+3],22,-1044525330),a=d(a,s,g,c,e[A+4],7,-176418897),c=d(c,a,s,g,e[A+5],12,1200080426),g=d(g,c,a,s,e[A+6],17,-1473231341),s=d(s,g,c,a,e[A+7],22,-45705983),a=d(a,s,g,c,e[A+8],7,1770035416),c=d(c,a,s,g,e[A+9],12,-1958414417),g=d(g,c,a,s,e[A+10],17,-42063),s=d(s,g,c,a,e[A+11],22,-1990404162),a=d(a,s,g,c,e[A+12],7,1804603682),c=d(c,a,s,g,e[A+13],12,-40341101),g=d(g,c,a,s,e[A+14],17,-1502002290),s=d(s,g,c,a,e[A+15],22,1236535329),a=B(a,s,g,c,e[A+1],5,-165796510),c=B(c,a,s,g,e[A+6],9,-1069501632),g=B(g,c,a,s,e[A+11],14,643717713),s=B(s,g,c,a,e[A],20,-373897302),a=B(a,s,g,c,e[A+5],5,-701558691),c=B(c,a,s,g,e[A+10],9,38016083),g=B(g,c,a,s,e[A+15],14,-660478335),s=B(s,g,c,a,e[A+4],20,-405537848),a=B(a,s,g,c,e[A+9],5,568446438),c=B(c,a,s,g,e[A+14],9,-1019803690),g=B(g,c,a,s,e[A+3],14,-187363961),s=B(s,g,c,a,e[A+8],20,1163531501),a=B(a,s,g,c,e[A+13],5,-1444681467),c=B(c,a,s,g,e[A+2],9,-51403784),g=B(g,c,a,s,e[A+7],14,1735328473),s=B(s,g,c,a,e[A+12],20,-1926607734),a=p(a,s,g,c,e[A+5],4,-378558),c=p(c,a,s,g,e[A+8],11,-2022574463),g=p(g,c,a,s,e[A+11],16,1839030562),s=p(s,g,c,a,e[A+14],23,-35309556),a=p(a,s,g,c,e[A+1],4,-1530992060),c=p(c,a,s,g,e[A+4],11,1272893353),g=p(g,c,a,s,e[A+7],16,-155497632),s=p(s,g,c,a,e[A+10],23,-1094730640),a=p(a,s,g,c,e[A+13],4,681279174),c=p(c,a,s,g,e[A],11,-358537222),g=p(g,c,a,s,e[A+3],16,-722521979),s=p(s,g,c,a,e[A+6],23,76029189),a=p(a,s,g,c,e[A+9],4,-640364487),c=p(c,a,s,g,e[A+12],11,-421815835),g=p(g,c,a,s,e[A+15],16,530742520),s=p(s,g,c,a,e[A+2],23,-995338651),a=E(a,s,g,c,e[A],6,-198630844),c=E(c,a,s,g,e[A+7],10,1126891415),g=E(g,c,a,s,e[A+14],15,-1416354905),s=E(s,g,c,a,e[A+5],21,-57434055),a=E(a,s,g,c,e[A+12],6,1700485571),c=E(c,a,s,g,e[A+3],10,-1894986606),g=E(g,c,a,s,e[A+10],15,-1051523),s=E(s,g,c,a,e[A+1],21,-2054922799),a=E(a,s,g,c,e[A+8],6,1873313359),c=E(c,a,s,g,e[A+15],10,-30611744),g=E(g,c,a,s,e[A+6],15,-1560198380),s=E(s,g,c,a,e[A+13],21,1309151649),a=E(a,s,g,c,e[A+4],6,-145523070),c=E(c,a,s,g,e[A+11],10,-1120210379),g=E(g,c,a,s,e[A+2],15,718787259),s=E(s,g,c,a,e[A+9],21,-343485551),a=h(a,n),s=h(s,r),g=h(g,i),c=h(c,o);return[a,s,g,c]}(function(e){var t,A=[];for(A[(e.length>>2)-1]=void 0,t=0;t<A.length;t+=1)A[t]=0;var n=8*e.length;for(t=0;t<n;t+=8)A[t>>5]|=(255&e[t/8])<<t%32;return A}(e),8*e.length))}));var y=function(e,t,A){var n=t&&A||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var r=(e=e||{}).random||(e.rng||i)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t)for(var o=0;o<16;++o)t[n+o]=r[o];return t||c(r)};function v(e,t,A,n){switch(e){case 0:return t&A^~t&n;case 1:return t^A^n;case 2:return t&A^t&n^A&n;case 3:return t^A^n}}function m(e,t){return e<<t|e>>>32-t}var b=C("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],A=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var n=unescape(encodeURIComponent(e));e=new Array(n.length);for(var r=0;r<n.length;r++)e[r]=n.charCodeAt(r)}e.push(128);var i=e.length/4+2,o=Math.ceil(i/16),a=new Array(o);for(r=0;r<o;r++){a[r]=new Array(16);for(var s=0;s<16;s++)a[r][s]=e[64*r+4*s]<<24|e[64*r+4*s+1]<<16|e[64*r+4*s+2]<<8|e[64*r+4*s+3]}for(a[o-1][14]=8*(e.length-1)/Math.pow(2,32),a[o-1][14]=Math.floor(a[o-1][14]),a[o-1][15]=8*(e.length-1)&4294967295,r=0;r<o;r++){for(var g=new Array(80),c=0;c<16;c++)g[c]=a[r][c];for(c=16;c<80;c++)g[c]=m(g[c-3]^g[c-8]^g[c-14]^g[c-16],1);var u=A[0],l=A[1],I=A[2],C=A[3],h=A[4];for(c=0;c<80;c++){var f=Math.floor(c/20),d=m(u,5)+v(f,l,I,C)+h+t[f]+g[c]>>>0;h=C,C=I,I=m(l,30)>>>0,l=u,u=d}A[0]=A[0]+u>>>0,A[1]=A[1]+l>>>0,A[2]=A[2]+I>>>0,A[3]=A[3]+C>>>0,A[4]=A[4]+h>>>0}return[A[0]>>24&255,A[0]>>16&255,A[0]>>8&255,255&A[0],A[1]>>24&255,A[1]>>16&255,A[1]>>8&255,255&A[1],A[2]>>24&255,A[2]>>16&255,A[2]>>8&255,255&A[2],A[3]>>24&255,A[3]>>16&255,A[3]>>8&255,255&A[3],A[4]>>24&255,A[4]>>16&255,A[4]>>8&255,255&A[4]]}));A.d(t,"v1",(function(){return I})),A.d(t,"v3",(function(){return Q})),A.d(t,"v4",(function(){return y})),A.d(t,"v5",(function(){return b}))},function(e,t,A){"use strict";A.r(t);var n=A(208);function r(e){for(var t,A,n=function(e){if(Array.isArray(e))return e;if("Feature"===e.type){if(null!==e.geometry)return e.geometry.coordinates}else if(e.coordinates)return e.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}(e),r=0,i=1;i<n.length;)t=A||n[0],r+=((A=n[i])[0]-t[0])*(A[1]+t[1]),i++;return r>0}function i(e,t){void 0===t&&(t={});var A={type:"FeatureCollection"};return t.id&&(A.id=t.id),t.bbox&&(A.bbox=t.bbox),A.features=e,A}function o(e){return!!e&&e.constructor===Object}function a(e,t){if("Feature"===e.type)t(e,0);else if("FeatureCollection"===e.type)for(var A=0;A<e.features.length&&!1!==t(e.features[A],A);A++);}function s(e,t){var A,n,r,i,o,a,s,g,c,u,l=0,I="FeatureCollection"===e.type,C="Feature"===e.type,h=I?e.features.length:1;for(A=0;A<h;A++){for(a=I?e.features[A].geometry:C?e.geometry:e,g=I?e.features[A].properties:C?e.properties:{},c=I?e.features[A].bbox:C?e.bbox:void 0,u=I?e.features[A].id:C?e.id:void 0,o=(s=!!a&&"GeometryCollection"===a.type)?a.geometries.length:1,r=0;r<o;r++)if(null!==(i=s?a.geometries[r]:a))switch(i.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===t(i,l,g,c,u))return!1;break;case"GeometryCollection":for(n=0;n<i.geometries.length;n++)if(!1===t(i.geometries[n],l,g,c,u))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===t(null,l,g,c,u))return!1;l++}}function g(e){if(Array.isArray(e))return e;if("Feature"===e.type){if(null!==e.geometry)return e.geometry.coordinates}else if(e.coordinates)return e.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function c(e,t){switch("Feature"===e.type?e.geometry.type:e.type){case"GeometryCollection":return s(e,(function(e){c(e,t)})),e;case"LineString":return u(g(e),t),e;case"Polygon":return l(g(e),t),e;case"MultiLineString":return g(e).forEach((function(e){u(e,t)})),e;case"MultiPolygon":return g(e).forEach((function(e){l(e,t)})),e;case"Point":case"MultiPoint":return e}}function u(e,t){r(e)===t&&e.reverse()}function l(e,t){r(e[0])!==t&&e[0].reverse();for(var A=1;A<e.length;A++)r(e[A])===t&&e[A].reverse()}t.default=function(e,t){if(!o(t=t||{}))throw new Error("options is invalid");var A=t.reverse||!1,r=t.mutate||!1;if(!e)throw new Error("<geojson> is required");if("boolean"!==typeof A)throw new Error("<reverse> must be a boolean");if("boolean"!==typeof r)throw new Error("<mutate> must be a boolean");!1===r&&(e=Object(n.a)(e));var g=[];switch(e.type){case"GeometryCollection":return s(e,(function(e){c(e,A)})),e;case"FeatureCollection":return a(e,(function(e){a(c(e,A),(function(e){g.push(e)}))})),i(g)}return c(e,A)}},function(e,t,A){"use strict";A.r(t);var n=A(208),r=A(270);function i(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function o(e,t,A){if(void 0===A&&(A={}),!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!a(e[0])||!a(e[1]))throw new Error("coordinates must contain numbers");return i({type:"Point",coordinates:e},t,A)}function a(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)}function s(e){return!!e&&e.constructor===Object}function g(e,t,A){if(null!==e)for(var n,r,i,o,a,s,c,u,l=0,I=0,C=e.type,h="FeatureCollection"===C,f="Feature"===C,d=h?e.features.length:1,B=0;B<d;B++){a=(u=!!(c=h?e.features[B].geometry:f?e.geometry:e)&&"GeometryCollection"===c.type)?c.geometries.length:1;for(var p=0;p<a;p++){var E=0,Q=0;if(null!==(o=u?c.geometries[p]:c)){s=o.coordinates;var y=o.type;switch(l=!A||"Polygon"!==y&&"MultiPolygon"!==y?0:1,y){case null:break;case"Point":if(!1===t(s,I,B,E,Q))return!1;I++,E++;break;case"LineString":case"MultiPoint":for(n=0;n<s.length;n++){if(!1===t(s[n],I,B,E,Q))return!1;I++,"MultiPoint"===y&&E++}"LineString"===y&&E++;break;case"Polygon":case"MultiLineString":for(n=0;n<s.length;n++){for(r=0;r<s[n].length-l;r++){if(!1===t(s[n][r],I,B,E,Q))return!1;I++}"MultiLineString"===y&&E++,"Polygon"===y&&Q++}"Polygon"===y&&E++;break;case"MultiPolygon":for(n=0;n<s.length;n++){for(Q=0,r=0;r<s[n].length;r++){for(i=0;i<s[n][r].length-l;i++){if(!1===t(s[n][r][i],I,B,E,Q))return!1;I++}Q++}E++}break;case"GeometryCollection":for(n=0;n<o.geometries.length;n++)if(!1===g(o.geometries[n],t,A))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function c(e,t){if("Feature"===e.type)t(e,0);else if("FeatureCollection"===e.type)for(var A=0;A<e.features.length&&!1!==t(e.features[A],A);A++);}var u=function(e,t){void 0===t&&(t={});var A=0,n=0,r=0;return g(e,(function(e){A+=e[0],n+=e[1],r++}),!0),o([A/r,n/r],t.properties)};function l(e){var t=[1/0,1/0,-1/0,-1/0];return g(e,(function(e){t[0]>e[0]&&(t[0]=e[0]),t[1]>e[1]&&(t[1]=e[1]),t[2]<e[0]&&(t[2]=e[0]),t[3]<e[1]&&(t[3]=e[1])})),t}l.default=l;var I=l,C=A(424),h=A(285),f=A(179);function d(e,t,A){var n,i="Point"===("FeatureCollection"===(n=e).type?"FeatureCollection":"GeometryCollection"===n.type?"GeometryCollection":"Feature"===n.type&&null!==n.geometry?n.geometry.type:n.type);return A=function(e,t){void 0!==t&&null!==t||(t="centroid");if(Array.isArray(t)||"object"===typeof t)return function(e){if(!e)throw new Error("coord is required");if(!Array.isArray(e)){if("Feature"===e.type&&null!==e.geometry&&"Point"===e.geometry.type)return e.geometry.coordinates;if("Point"===e.type)return e.coordinates}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return e;throw new Error("coord must be GeoJSON Point or an Array of numbers")}(t);var A=e.bbox?e.bbox:I(e),n=A[0],i=A[1],a=A[2],s=A[3];switch(t){case"sw":case"southwest":case"westsouth":case"bottomleft":return o([n,i]);case"se":case"southeast":case"eastsouth":case"bottomright":return o([a,i]);case"nw":case"northwest":case"westnorth":case"topleft":return o([n,s]);case"ne":case"northeast":case"eastnorth":case"topright":return o([a,s]);case"center":return Object(r.default)(e);case void 0:case null:case"centroid":return u(e);default:throw new Error("invalid origin")}}(e,A),1===t||i||g(e,(function(e){var n=Object(h.a)(A,e),r=Object(C.a)(A,e),i=n*t,o=function(e){if(Array.isArray(e))return e;if("Feature"===e.type){if(null!==e.geometry)return e.geometry.coordinates}else if(e.coordinates)return e.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}(Object(f.a)(A,i,r));e[0]=o[0],e[1]=o[1],3===e.length&&(e[2]*=t)})),e}t.default=function(e,t,A){if(!s(A=A||{}))throw new Error("options is invalid");var r=A.origin,i=A.mutate;if(!e)throw new Error("geojson required");if("number"!==typeof t||0===t)throw new Error("invalid factor");var o=Array.isArray(r)||"object"===typeof r;return!0!==i&&(e=Object(n.a)(e)),"FeatureCollection"!==e.type||o?d(e,t,r):(c(e,(function(A,n){e.features[n]=d(A,t,r)})),e)}},function(e,t,A){"use strict";A.r(t);var n={centimeters:637100880,centimetres:637100880,degrees:6371008.8/111325,feet:20902260.511392,inches:6371008.8*39.37,kilometers:6371.0088,kilometres:6371.0088,meters:6371008.8,metres:6371008.8,miles:3958.761333810546,millimeters:6371008800,millimetres:6371008800,nauticalmiles:6371008.8/1852,radians:1,yards:6371008.8*1.0936};function r(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function i(e,t,A){if(void 0===A&&(A={}),!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!c(e[0])||!c(e[1]))throw new Error("coordinates must contain numbers");return r({type:"Point",coordinates:e},t,A)}function o(e,t){void 0===t&&(t="kilometers");var A=n[t];if(!A)throw new Error(t+" units is invalid");return e*A}function a(e,t){void 0===t&&(t="kilometers");var A=n[t];if(!A)throw new Error(t+" units is invalid");return e/A}function s(e){return 180*(e%(2*Math.PI))/Math.PI}function g(e){return e%360*Math.PI/180}function c(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)}function u(e){if(!e)throw new Error("coord is required");if(!Array.isArray(e)){if("Feature"===e.type&&null!==e.geometry&&"Point"===e.geometry.type)return e.geometry.coordinates;if("Point"===e.type)return e.coordinates}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return e;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function l(e,t,A){if(void 0===A&&(A={}),!0===A.final)return function(e,t){var A=l(t,e);return A=(A+180)%360}(e,t);var n=u(e),r=u(t),i=g(n[0]),o=g(r[0]),a=g(n[1]),c=g(r[1]),I=Math.sin(o-i)*Math.cos(c),C=Math.cos(a)*Math.sin(c)-Math.sin(a)*Math.cos(c)*Math.cos(o-i);return s(Math.atan2(I,C))}function I(e,t,A,n){void 0===n&&(n={});var r=u(e),o=g(r[0]),c=g(r[1]),l=g(A),I=a(t,n.units),C=Math.asin(Math.sin(c)*Math.cos(I)+Math.cos(c)*Math.sin(I)*Math.cos(l));return i([s(o+Math.atan2(Math.sin(l)*Math.sin(I)*Math.cos(c),Math.cos(I)-Math.sin(c)*Math.sin(C))),s(C)],n.properties)}var C=function(e,t,A){void 0===A&&(A={});var n=u(e),r=u(t),i=g(r[1]-n[1]),a=g(r[0]-n[0]),s=g(n[1]),c=g(r[1]),l=Math.pow(Math.sin(i/2),2)+Math.pow(Math.sin(a/2),2)*Math.cos(s)*Math.cos(c);return o(2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l)),A.units)};function h(e,t,A){void 0===A&&(A={});for(var n,r=("Feature"===(n=e).type?n.geometry:n).coordinates,o=0,a=0;a<r.length&&!(t>=o&&a===r.length-1);a++){if(o>=t){var s=t-o;if(s){var g=l(r[a],r[a-1])-180;return I(r[a],s,g,A)}return i(r[a])}o+=C(r[a],r[a+1],A)}return i(r[r.length-1])}A.d(t,"default",(function(){return h}))},function(e,t,A){"use strict";A.r(t);function n(e){return!!e&&e.constructor===Object}function r(e,t,A){if(null!==e)for(var n,i,o,a,s,g,c,u,l=0,I=0,C=e.type,h="FeatureCollection"===C,f="Feature"===C,d=h?e.features.length:1,B=0;B<d;B++){s=(u=!!(c=h?e.features[B].geometry:f?e.geometry:e)&&"GeometryCollection"===c.type)?c.geometries.length:1;for(var p=0;p<s;p++){var E=0,Q=0;if(null!==(a=u?c.geometries[p]:c)){g=a.coordinates;var y=a.type;switch(l=!A||"Polygon"!==y&&"MultiPolygon"!==y?0:1,y){case null:break;case"Point":if(!1===t(g,I,B,E,Q))return!1;I++,E++;break;case"LineString":case"MultiPoint":for(n=0;n<g.length;n++){if(!1===t(g[n],I,B,E,Q))return!1;I++,"MultiPoint"===y&&E++}"LineString"===y&&E++;break;case"Polygon":case"MultiLineString":for(n=0;n<g.length;n++){for(i=0;i<g[n].length-l;i++){if(!1===t(g[n][i],I,B,E,Q))return!1;I++}"MultiLineString"===y&&E++,"Polygon"===y&&Q++}"Polygon"===y&&E++;break;case"MultiPolygon":for(n=0;n<g.length;n++){for(Q=0,i=0;i<g[n].length;i++){for(o=0;o<g[n][i].length-l;o++){if(!1===t(g[n][i][o],I,B,E,Q))return!1;I++}Q++}E++}break;case"GeometryCollection":for(n=0;n<a.geometries.length;n++)if(!1===r(a.geometries[n],t,A))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}var i=A(208),o=A(179);t.default=function(e,t,A,a){if(!n(a=a||{}))throw new Error("options is invalid");var s=a.units,g=a.zTranslation,c=a.mutate;if(!e)throw new Error("geojson is required");if(void 0===t||null===t||isNaN(t))throw new Error("distance is required");if(g&&"number"!==typeof g&&isNaN(g))throw new Error("zTranslation is not a number");if(g=void 0!==g?g:0,0===t&&0===g)return e;if(void 0===A||null===A||isNaN(A))throw new Error("direction is required");return t<0&&(t=-t,A+=180),!1!==c&&void 0!==c||(e=Object(i.a)(e)),r(e,(function(e){var n=function(e){if(Array.isArray(e))return e;if("Feature"===e.type){if(null!==e.geometry)return e.geometry.coordinates}else if(e.coordinates)return e.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}(Object(o.a)(e,t,A,{units:s}));e[0]=n[0],e[1]=n[1],g&&3===e.length&&(e[2]+=g)})),e}},function(e,t,A){"use strict";A.r(t);var n=A(283),r=A.n(n);function i(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function o(e,t,A){void 0===A&&(A={});for(var n=0,r=e;n<r.length;n++){var o=r[n];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var a=0;a<o[o.length-1].length;a++)if(o[o.length-1][a]!==o[0][a])throw new Error("First and last Position are not equivalent.")}return i({type:"Polygon",coordinates:e},t,A)}function a(e,t,A){return void 0===A&&(A={}),i({type:"MultiPolygon",coordinates:e},t,A)}function s(e){return"Feature"===e.type?e.geometry:e}t.default=function(e,t,A){void 0===A&&(A={});var n=s(e),i=s(t),g=r.a.union(n.coordinates,i.coordinates);return 0===g.length?null:1===g.length?o(g[0],A.properties):a(g,A.properties)}},function(e,t,A){"use strict";A.r(t);function n(e,t,A){void 0===A&&(A={});var n={type:"Feature"};return(0===A.id||A.id)&&(n.id=A.id),A.bbox&&(n.bbox=A.bbox),n.properties=t||{},n.geometry=e,n}function r(e,t,A){void 0===A&&(A={});for(var r=0,i=e;r<i.length;r++){var o=i[r];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var a=0;a<o[o.length-1].length;a++)if(o[o.length-1][a]!==o[0][a])throw new Error("First and last Position are not equivalent.")}return n({type:"Polygon",coordinates:e},t,A)}function i(e,t,A){return void 0===A&&(A={}),n({type:"MultiPolygon",coordinates:e},t,A)}function o(e){return"Feature"===e.type?e.geometry:e}var a=A(283),s=A.n(a);function g(e,t,A){void 0===A&&(A={});var n=o(e),a=o(t),g=s.a.intersection(n.coordinates,a.coordinates);return 0===g.length?null:1===g.length?r(g[0],A.properties):i(g,A.properties)}A.d(t,"default",(function(){return g}))},function(e,t,A){"use strict";A.r(t);function n(e,t){var A,n,r,i,o,a,s,g,c,u,l=0,I="FeatureCollection"===e.type,C="Feature"===e.type,h=I?e.features.length:1;for(A=0;A<h;A++){for(a=I?e.features[A].geometry:C?e.geometry:e,g=I?e.features[A].properties:C?e.properties:{},c=I?e.features[A].bbox:C?e.bbox:void 0,u=I?e.features[A].id:C?e.id:void 0,o=(s=!!a&&"GeometryCollection"===a.type)?a.geometries.length:1,r=0;r<o;r++)if(null!==(i=s?a.geometries[r]:a))switch(i.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===t(i,l,g,c,u))return!1;break;case"GeometryCollection":for(n=0;n<i.geometries.length;n++)if(!1===t(i.geometries[n],l,g,c,u))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===t(null,l,g,c,u))return!1;l++}}A.d(t,"default",(function(){return r}));function r(e){return function(e,t,A){var r=A;return n(e,(function(e,n,i,o,a){r=0===n&&void 0===A?e:t(r,e,n,i,o,a)})),r}(e,(function(e,t){return e+function(e){var t,A=0;switch(e.type){case"Polygon":return i(e.coordinates);case"MultiPolygon":for(t=0;t<e.coordinates.length;t++)A+=i(e.coordinates[t]);return A;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}(t)}),0)}function i(e){var t=0;if(e&&e.length>0){t+=Math.abs(o(e[0]));for(var A=1;A<e.length;A++)t-=Math.abs(o(e[A]))}return t}function o(e){var t,A,n,r,i,o,s=0,g=e.length;if(g>2){for(o=0;o<g;o++)o===g-2?(n=g-2,r=g-1,i=0):o===g-1?(n=g-1,r=0,i=1):(n=o,r=o+1,i=o+2),t=e[n],A=e[r],s+=(a(e[i][0])-a(t[0]))*Math.sin(a(A[1]));s=6378137*s*6378137/2}return s}function a(e){return e*Math.PI/180}},function(e,t,A){"use strict";A.d(t,"a",(function(){return o}));var n=A(14),r=A(220);function i(e){return e&&"object"===Object(r.a)(e)&&e.constructor===Object}function o(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{clone:!0},r=A.clone?Object(n.a)({},e):e;return i(e)&&i(t)&&Object.keys(t).forEach((function(n){"__proto__"!==n&&(i(t[n])&&n in e?r[n]=o(e[n],t[n],A):r[n]=t[n])})),r}},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1};var r={name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t={};if(void 0!==e.pickingSelectedColor)if(e.pickingSelectedColor){var A=e.pickingSelectedColor.slice(0,3);t.picking_uSelectedColorValid=1,t.picking_uSelectedColor=A}else t.picking_uSelectedColorValid=0;if(e.pickingHighlightColor){var r=Array.from(e.pickingHighlightColor,(function(e){return e/255}));Number.isFinite(r[3])||(r[3]=1),t.picking_uHighlightColor=r}return void 0!==e.pickingActive&&(t.picking_uActive=Boolean(e.pickingActive),t.picking_uAttribute=Boolean(e.pickingAttribute)),t}}},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(19)),a=A(28),s=A(60),g=A(433),c=A(40),u=i.forwardRef((function(e,t){var A=e.edge,a=void 0!==A&&A,s=e.children,u=e.classes,l=e.className,I=e.color,C=void 0===I?"default":I,h=e.disabled,f=void 0!==h&&h,d=e.disableFocusRipple,B=void 0!==d&&d,p=e.size,E=void 0===p?"medium":p,Q=Object(r.a)(e,["edge","children","classes","className","color","disabled","disableFocusRipple","size"]);return i.createElement(g.a,Object(n.a)({className:Object(o.a)(u.root,l,"default"!==C&&u["color".concat(Object(c.a)(C))],f&&u.disabled,"small"===E&&u["size".concat(Object(c.a)(E))],{start:u.edgeStart,end:u.edgeEnd}[a]),centerRipple:!0,focusRipple:!B,disabled:f,ref:t},Q),i.createElement("span",{className:u.label},s))}));t.a=Object(a.a)((function(e){return{root:{textAlign:"center",flex:"0 0 auto",fontSize:e.typography.pxToRem(24),padding:12,borderRadius:"50%",overflow:"visible",color:e.palette.action.active,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{backgroundColor:Object(s.a)(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"&$disabled":{backgroundColor:"transparent",color:e.palette.action.disabled}},edgeStart:{marginLeft:-12,"$sizeSmall&":{marginLeft:-3}},edgeEnd:{marginRight:-12,"$sizeSmall&":{marginRight:-3}},colorInherit:{color:"inherit"},colorPrimary:{color:e.palette.primary.main,"&:hover":{backgroundColor:Object(s.a)(e.palette.primary.main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},colorSecondary:{color:e.palette.secondary.main,"&:hover":{backgroundColor:Object(s.a)(e.palette.secondary.main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},disabled:{},sizeSmall:{padding:3,fontSize:e.typography.pxToRem(18)},label:{width:"100%",display:"flex",alignItems:"inherit",justifyContent:"inherit"}}}),{name:"MuiIconButton"})(u)},function(e,t,A){"use strict";var n=A(0),r=A(39),i=(A(13),A(136)),o=A(51);var a="undefined"!==typeof window?n.useLayoutEffect:n.useEffect,s=n.forwardRef((function(e,t){var A=e.children,s=e.container,g=e.disablePortal,c=void 0!==g&&g,u=e.onRendered,l=n.useState(null),I=l[0],C=l[1],h=Object(o.a)(n.isValidElement(A)?A.ref:null,t);return a((function(){c||C(function(e){return e="function"===typeof e?e():e,r.findDOMNode(e)}(s)||document.body)}),[s,c]),a((function(){if(I&&!c)return Object(i.a)(t,I),function(){Object(i.a)(t,null)}}),[t,I,c]),a((function(){u&&(I||c)&&u()}),[u,I,c]),c?n.isValidElement(A)?n.cloneElement(A,{ref:h}):A:I?r.createPortal(A,I):I}));t.a=s},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(19)),a=A(28),s=A(40),g={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p"},c=i.forwardRef((function(e,t){var A=e.align,a=void 0===A?"inherit":A,c=e.classes,u=e.className,l=e.color,I=void 0===l?"initial":l,C=e.component,h=e.display,f=void 0===h?"initial":h,d=e.gutterBottom,B=void 0!==d&&d,p=e.noWrap,E=void 0!==p&&p,Q=e.paragraph,y=void 0!==Q&&Q,v=e.variant,m=void 0===v?"body1":v,b=e.variantMapping,w=void 0===b?g:b,S=Object(r.a)(e,["align","classes","className","color","component","display","gutterBottom","noWrap","paragraph","variant","variantMapping"]),F=C||(y?"p":w[m]||g[m])||"span";return i.createElement(F,Object(n.a)({className:Object(o.a)(c.root,u,"inherit"!==m&&c[m],"initial"!==I&&c["color".concat(Object(s.a)(I))],E&&c.noWrap,B&&c.gutterBottom,y&&c.paragraph,"inherit"!==a&&c["align".concat(Object(s.a)(a))],"initial"!==f&&c["display".concat(Object(s.a)(f))]),ref:t},S))}));t.a=Object(a.a)((function(e){return{root:{margin:0},body2:e.typography.body2,body1:e.typography.body1,caption:e.typography.caption,button:e.typography.button,h1:e.typography.h1,h2:e.typography.h2,h3:e.typography.h3,h4:e.typography.h4,h5:e.typography.h5,h6:e.typography.h6,subtitle1:e.typography.subtitle1,subtitle2:e.typography.subtitle2,overline:e.typography.overline,srOnly:{position:"absolute",height:1,width:1,overflow:"hidden"},alignLeft:{textAlign:"left"},alignCenter:{textAlign:"center"},alignRight:{textAlign:"right"},alignJustify:{textAlign:"justify"},noWrap:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},gutterBottom:{marginBottom:"0.35em"},paragraph:{marginBottom:16},colorInherit:{color:"inherit"},colorPrimary:{color:e.palette.primary.main},colorSecondary:{color:e.palette.secondary.main},colorTextPrimary:{color:e.palette.text.primary},colorTextSecondary:{color:e.palette.text.secondary},colorError:{color:e.palette.error.main},displayInline:{display:"inline"},displayBlock:{display:"block"}}}),{name:"MuiTypography"})(c)},function(e,t,A){"use strict";var n={},r={};function i(e){return new Function("d","return {"+e.map((function(e,t){return JSON.stringify(e)+": d["+t+'] || ""'})).join(",")+"}")}function o(e){var t=Object.create(null),A=[];return e.forEach((function(e){for(var n in e)n in t||A.push(t[n]=n)})),A}function a(e,t){var A=e+"",n=A.length;return n<t?new Array(t-n+1).join(0)+A:A}function s(e){var t,A=e.getUTCHours(),n=e.getUTCMinutes(),r=e.getUTCSeconds(),i=e.getUTCMilliseconds();return isNaN(e)?"Invalid Date":((t=e.getUTCFullYear())<0?"-"+a(-t,6):t>9999?"+"+a(t,6):a(t,4))+"-"+a(e.getUTCMonth()+1,2)+"-"+a(e.getUTCDate(),2)+(i?"T"+a(A,2)+":"+a(n,2)+":"+a(r,2)+"."+a(i,3)+"Z":r?"T"+a(A,2)+":"+a(n,2)+":"+a(r,2)+"Z":n||A?"T"+a(A,2)+":"+a(n,2)+"Z":"")}t.a=function(e){var t=new RegExp('["'+e+"\n\r]"),A=e.charCodeAt(0);function a(e,t){var i,o=[],a=e.length,s=0,g=0,c=a<=0,u=!1;function l(){if(c)return r;if(u)return u=!1,n;var t,i,o=s;if(34===e.charCodeAt(o)){for(;s++<a&&34!==e.charCodeAt(s)||34===e.charCodeAt(++s););return(t=s)>=a?c=!0:10===(i=e.charCodeAt(s++))?u=!0:13===i&&(u=!0,10===e.charCodeAt(s)&&++s),e.slice(o+1,t-1).replace(/""/g,'"')}for(;s<a;){if(10===(i=e.charCodeAt(t=s++)))u=!0;else if(13===i)u=!0,10===e.charCodeAt(s)&&++s;else if(i!==A)continue;return e.slice(o,t)}return c=!0,e.slice(o,a)}for(10===e.charCodeAt(a-1)&&--a,13===e.charCodeAt(a-1)&&--a;(i=l())!==r;){for(var I=[];i!==n&&i!==r;)I.push(i),i=l();t&&null==(I=t(I,g++))||o.push(I)}return o}function g(t,A){return t.map((function(t){return A.map((function(e){return u(t[e])})).join(e)}))}function c(t){return t.map(u).join(e)}function u(e){return null==e?"":e instanceof Date?s(e):t.test(e+="")?'"'+e.replace(/"/g,'""')+'"':e}return{parse:function(e,t){var A,n,r=a(e,(function(e,r){if(A)return A(e,r-1);n=e,A=t?function(e,t){var A=i(e);return function(n,r){return t(A(n),r,e)}}(e,t):i(e)}));return r.columns=n||[],r},parseRows:a,format:function(t,A){return null==A&&(A=o(t)),[A.map(u).join(e)].concat(g(t,A)).join("\n")},formatBody:function(e,t){return null==t&&(t=o(e)),g(e,t).join("\n")},formatRows:function(e){return e.map(c).join("\n")},formatRow:c,formatValue:u}}},function(e,t,A){"use strict";var n=A(11),r=A(2),i=A(1),o=A(4),a=A(405),s="undefined"!==typeof __VERSION__?__VERSION__:"untranspiled source",g=Object(a.a)();function c(e){try{var t=window[e],A="__storage_test__";return t.setItem(A,A),t.removeItem(A),t}catch(n){return null}}var u=function(){function e(t,A){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";Object(i.a)(this,e),this.storage=c(n),this.id=t,this.config={},Object.assign(this.config,A),this._loadConfiguration()}return Object(o.a)(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function l(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,r=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(A=Math.min(A,n/e.width));var i=e.width*A,o=e.height*A,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(i/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(i,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),a]}var I={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function C(e){return"string"===typeof e?I[e.toUpperCase()]||I.WHITE:e}var h=A(6);function f(e){var t,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],n=Object.getPrototypeOf(e),r=Object.getOwnPropertyNames(n),i=Object(h.a)(r);try{var o=function(){var n=t.value;"function"===typeof e[n]&&(A.find((function(e){return n===e}))||(e[n]=e[n].bind(e)))};for(i.s();!(t=i.n()).done;)o()}catch(a){i.e(a)}finally{i.f()}}function d(e,t){if(!e)throw new Error(t||"Assertion failed")}var B=A(132);function p(){var e;if(g&&B.b.performance)e=B.b.performance.now();else if(B.a.hrtime){var t=B.a.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}A.d(t,"a",(function(){return w}));var E={debug:g&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Q={enabled:!0,level:0};function y(){}var v={},m={once:!0};function b(e){for(var t in e)for(var A in e[t])return A||"untitled";return"empty"}var w=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},A=t.id;Object(i.a)(this,e),this.id=A,this.VERSION=s,this._startTs=p(),this._deltaTs=p(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new u("__probe-".concat(this.id,"__"),Q),this.userData={},this.timeStamp("".concat(this.id," started")),f(this),Object.seal(this)}return Object(o.a)(e,[{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((p()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((p()-this._deltaTs).toPrecision(10))}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"assert",value:function(e,t){d(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,E.warn,arguments,m)}},{key:"error",value:function(e){return this._getLogFunction(0,e,E.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,E.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,E.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){return this._getLogFunction(e,t,E.debug||E.info,arguments,m)}},{key:"table",value:function(e,t,A){return t?this._getLogFunction(e,t,console.table||y,A&&[A],{tag:b(t)}):y}},{key:"image",value:function(e){var t=e.logLevel,r=e.priority,i=e.image,o=e.message,a=void 0===o?"":o,s=e.scale,c=void 0===s?1:s;return this._shouldLog(t||r)?g?function(e){var t=e.image,A=e.message,r=void 0===A?"":A,i=e.scale,o=void 0===i?1:i;if("string"===typeof t){var a=new Image;return a.onload=function(){var e,t=l(a,r,o);(e=console).log.apply(e,Object(n.a)(t))},a.src=t,y}var s=t.nodeName||"";if("img"===s.toLowerCase()){var g;return(g=console).log.apply(g,Object(n.a)(l(t,r,o))),y}if("canvas"===s.toLowerCase()){var c=new Image;return c.onload=function(){var e;return(e=console).log.apply(e,Object(n.a)(l(c,r,o)))},c.src=t.toDataURL(),y}return y}({image:i,message:a,scale:c}):function(e){var t=e.image,n=(e.message,e.scale),r=void 0===n?1:n,i=null;try{i=A(863)}catch(o){}if(i)return function(){return i(t,{fit:"box",width:"".concat(Math.round(80*r),"%")}).then((function(e){return console.log(e)}))};return y}({image:i,message:a,scale:c}):y}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(Object(r.a)({},e,t))}},{key:"time",value:function(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}},{key:"timeEnd",value:function(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}},{key:"timeStamp",value:function(e,t){return this._getLogFunction(e,t,console.timeStamp||y)}},{key:"group",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},n=A=F({logLevel:e,message:t,opts:A}),r=n.collapsed;return A.method=(r?console.groupCollapsed:console.group)||console.info,this._getLogFunction(A)}},{key:"groupCollapsed",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},A,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||y)}},{key:"withGroup",value:function(e,t,A){this.group(e,t)();try{A()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=S(e)}},{key:"_getLogFunction",value:function(e,t,A){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=arguments.length>4?arguments[4]:void 0;if(this._shouldLog(e)){var o;i=F({logLevel:e,message:t,args:r,opts:i}),d(A=A||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=p();var a=i.tag||i.message;if(i.once){if(v[a])return y;v[a]=p()}return t=R(this.id,i.message,i),(o=A).bind.apply(o,[console,t].concat(Object(n.a)(i.args)))}return y}},{key:"level",set:function(e){this.setLevel(e)},get:function(){return this.getLevel()}},{key:"priority",set:function(e){this.level=e},get:function(){return this.level}}]),e}();function S(e){if(!e)return 0;var t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return d(Number.isFinite(t)&&t>=0),t}function F(e){var t=e.logLevel,A=e.message;e.logLevel=S(t);for(var n=e.args?Array.from(e.args):[];n.length&&n.shift()!==A;);switch(e.args=n,typeof t){case"string":case"function":void 0!==A&&n.unshift(A),e.message=t;break;case"object":Object.assign(e,t)}"function"===typeof e.message&&(e.message=e.message());var r=typeof e.message;return d("string"===r||"object"===r),Object.assign(e,e.opts)}function R(e,t,A){if("string"===typeof t){var n=A.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,A=Math.max(t-e.length,0);return"".concat(" ".repeat(A)).concat(e)}((a=A.total)<10?"".concat(a.toFixed(2),"ms"):a<100?"".concat(a.toFixed(1),"ms"):a<1e3?"".concat(a.toFixed(0),"ms"):"".concat((a/1e3).toFixed(2),"s")):"";t=A.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),r=t,i=A.color,o=A.background,g||"string"!==typeof r||(i&&(i=C(i),r="\x1b[".concat(i,"m").concat(r,"\x1b[39m")),o&&(i=C(o),r="\x1b[".concat(o+10,"m").concat(r,"\x1b[49m"))),t=r}var r,i,o,a;return t}w.VERSION=s},function(e,t,A){"use strict";var n=A(21),r=A(14),i=A(0),o=A.n(i),a=A(102),s=A(1242),g={set:function(e,t,A,n){var r=e.get(t);r||(r=new Map,e.set(t,r)),r.set(A,n)},get:function(e,t,A){var n=e.get(t);return n?n.get(A):void 0},delete:function(e,t,A){e.get(t).delete(A)}},c=A(532),u=A(1285),l=-1e9;function I(){return l+=1}A(220);var C=A(1157);function h(e){var t="function"===typeof e;return{create:function(A,n){var i;try{i=t?e(A):e}catch(s){throw s}if(!n||!A.overrides||!A.overrides[n])return i;var o=A.overrides[n],a=Object(r.a)({},i);return Object.keys(o).forEach((function(e){a[e]=Object(C.a)(a[e],o[e])})),a},options:{}}}var f={};function d(e,t,A){var n=e.state;if(e.stylesOptions.disableGeneration)return t||{};n.cacheClasses||(n.cacheClasses={value:null,lastProp:null,lastJSS:{}});var r=!1;return n.classes!==n.cacheClasses.lastJSS&&(n.cacheClasses.lastJSS=n.classes,r=!0),t!==n.cacheClasses.lastProp&&(n.cacheClasses.lastProp=t,r=!0),r&&(n.cacheClasses.value=Object(s.a)({baseClasses:n.cacheClasses.lastJSS,newClasses:t,Component:A})),n.cacheClasses.value}function B(e,t){var A=e.state,n=e.theme,i=e.stylesOptions,o=e.stylesCreator,c=e.name;if(!i.disableGeneration){var u=g.get(i.sheetsManager,o,n);u||(u={refs:0,staticSheet:null,dynamicStyles:null},g.set(i.sheetsManager,o,n,u));var l=Object(r.a)({},o.options,i,{theme:n,flip:"boolean"===typeof i.flip?i.flip:"rtl"===n.direction});l.generateId=l.serverGenerateClassName||l.generateClassName;var I=i.sheetsRegistry;if(0===u.refs){var C;i.sheetsCache&&(C=g.get(i.sheetsCache,o,n));var h=o.create(n,c);C||((C=i.jss.createStyleSheet(h,Object(r.a)({link:!1},l))).attach(),i.sheetsCache&&g.set(i.sheetsCache,o,n,C)),I&&I.add(C),u.staticSheet=C,u.dynamicStyles=Object(a.d)(h)}if(u.dynamicStyles){var f=i.jss.createStyleSheet(u.dynamicStyles,Object(r.a)({link:!0},l));f.update(t),f.attach(),A.dynamicSheet=f,A.classes=Object(s.a)({baseClasses:u.staticSheet.classes,newClasses:f.classes}),I&&I.add(f)}else A.classes=u.staticSheet.classes;u.refs+=1}}function p(e,t){var A=e.state;A.dynamicSheet&&A.dynamicSheet.update(t)}function E(e){var t=e.state,A=e.theme,n=e.stylesOptions,r=e.stylesCreator;if(!n.disableGeneration){var i=g.get(n.sheetsManager,r,A);i.refs-=1;var o=n.sheetsRegistry;0===i.refs&&(g.delete(n.sheetsManager,r,A),n.jss.removeStyleSheet(i.staticSheet),o&&o.remove(i.staticSheet)),t.dynamicSheet&&(n.jss.removeStyleSheet(t.dynamicSheet),o&&o.remove(t.dynamicSheet))}}function Q(e,t){var A,n=o.a.useRef([]),r=o.a.useMemo((function(){return{}}),t);n.current!==r&&(n.current=r,A=e()),o.a.useEffect((function(){return function(){A&&A()}}),[r])}function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.name,i=t.classNamePrefix,a=t.Component,s=t.defaultTheme,g=void 0===s?f:s,l=Object(n.a)(t,["name","classNamePrefix","Component","defaultTheme"]),C=h(e),y=A||i||"makeStyles";C.options={index:I(),name:A,meta:y,classNamePrefix:y};var v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object(c.a)()||g,n=Object(r.a)({},o.a.useContext(u.a),l),i=o.a.useRef(),s=o.a.useRef();Q((function(){var r={name:A,state:{},stylesCreator:C,stylesOptions:n,theme:t};return B(r,e),s.current=!1,i.current=r,function(){E(r)}}),[t,C]),o.a.useEffect((function(){s.current&&p(i.current,e),s.current=!0}));var I=d(i.current,e.classes,a);return I};return v}A.d(t,"a",(function(){return y}))},function(e,t,A){"use strict";var n=A(1),r=A(4),i=A(312),o=function(){function e(t,A){Object(n.a)(this,e),this.name=t,this.type=A,this.sampleSize=1,this.reset()}return Object(r.a)(e,[{key:"setSampleSize",value:function(e){return this.sampleSize=e,this}},{key:"incrementCount",value:function(){return this.addCount(1),this}},{key:"decrementCount",value:function(){return this.subtractCount(1),this}},{key:"addCount",value:function(e){return this._count+=e,this._samples++,this._checkSampling(),this}},{key:"subtractCount",value:function(e){return this._count-=e,this._samples++,this._checkSampling(),this}},{key:"addTime",value:function(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}},{key:"timeStart",value:function(){return this._startTime=Object(i.a)(),this._timerPending=!0,this}},{key:"timeEnd",value:function(){return this._timerPending?(this.addTime(Object(i.a)()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}},{key:"getSampleAverageCount",value:function(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}},{key:"getSampleAverageTime",value:function(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}},{key:"getSampleHz",value:function(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}},{key:"getAverageCount",value:function(){return this.samples>0?this.count/this.samples:0}},{key:"getAverageTime",value:function(){return this.samples>0?this.time/this.samples:0}},{key:"getHz",value:function(){return this.time>0?this.samples/(this.time/1e3):0}},{key:"reset",value:function(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}},{key:"_checkSampling",value:function(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}]),e}(),a=function(){function e(t){var A=t.id,r=t.stats;Object(n.a)(this,e),this.id=A,this.stats={},this._initializeStats(r),Object.seal(this)}return Object(r.a)(e,[{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"count";return this._getOrCreate({name:e,type:t})}},{key:"reset",value:function(){for(var e in this.stats)this.stats[e].reset();return this}},{key:"forEach",value:function(e){for(var t in this.stats)e(this.stats[t])}},{key:"getTable",value:function(){var e={};return this.forEach((function(t){e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}})),e}},{key:"_initializeStats",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach((function(t){return e._getOrCreate(t)}))}},{key:"_getOrCreate",value:function(e){if(!e||!e.name)return null;var t=e.name,A=e.type;return this.stats[t]||(this.stats[t]=e instanceof o?e:new o(t,A)),this.stats[t]}},{key:"size",get:function(){return Object.keys(this.stats).length}}]),e}();A.d(t,"a",(function(){return a}))},function(e,t,A){"use strict";var n=A(204),r=A(225),i=(A(13),A(0)),o=A.n(i),a=A(39),s=A.n(a),g=!1,c=A(288),u=function(e){function t(t,A){var n;n=e.call(this,t,A)||this;var r,i=A&&!A.isMounting?t.enter:t.appear;return n.appearStatus=null,t.in?i?(r="exited",n.appearStatus="entering"):r="entered":r=t.unmountOnExit||t.mountOnEnter?"unmounted":"exited",n.state={status:r},n.nextCallback=null,n}Object(r.a)(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&"unmounted"===t.status?{status:"exited"}:null};var A=t.prototype;return A.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},A.componentDidUpdate=function(e){var t=null;if(e!==this.props){var A=this.state.status;this.props.in?"entering"!==A&&"entered"!==A&&(t="entering"):"entering"!==A&&"entered"!==A||(t="exiting")}this.updateStatus(!1,t)},A.componentWillUnmount=function(){this.cancelNextCallback()},A.getTimeouts=function(){var e,t,A,n=this.props.timeout;return e=t=A=n,null!=n&&"number"!==typeof n&&(e=n.exit,t=n.enter,A=void 0!==n.appear?n.appear:t),{exit:e,enter:t,appear:A}},A.updateStatus=function(e,t){void 0===e&&(e=!1),null!==t?(this.cancelNextCallback(),"entering"===t?this.performEnter(e):this.performExit()):this.props.unmountOnExit&&"exited"===this.state.status&&this.setState({status:"unmounted"})},A.performEnter=function(e){var t=this,A=this.props.enter,n=this.context?this.context.isMounting:e,r=this.props.nodeRef?[n]:[s.a.findDOMNode(this),n],i=r[0],o=r[1],a=this.getTimeouts(),c=n?a.appear:a.enter;!e&&!A||g?this.safeSetState({status:"entered"},(function(){t.props.onEntered(i)})):(this.props.onEnter(i,o),this.safeSetState({status:"entering"},(function(){t.props.onEntering(i,o),t.onTransitionEnd(c,(function(){t.safeSetState({status:"entered"},(function(){t.props.onEntered(i,o)}))}))})))},A.performExit=function(){var e=this,t=this.props.exit,A=this.getTimeouts(),n=this.props.nodeRef?void 0:s.a.findDOMNode(this);t&&!g?(this.props.onExit(n),this.safeSetState({status:"exiting"},(function(){e.props.onExiting(n),e.onTransitionEnd(A.exit,(function(){e.safeSetState({status:"exited"},(function(){e.props.onExited(n)}))}))}))):this.safeSetState({status:"exited"},(function(){e.props.onExited(n)}))},A.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},A.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},A.setNextCallback=function(e){var t=this,A=!0;return this.nextCallback=function(n){A&&(A=!1,t.nextCallback=null,e(n))},this.nextCallback.cancel=function(){A=!1},this.nextCallback},A.onTransitionEnd=function(e,t){this.setNextCallback(t);var A=this.props.nodeRef?this.props.nodeRef.current:s.a.findDOMNode(this),n=null==e&&!this.props.addEndListener;if(A&&!n){if(this.props.addEndListener){var r=this.props.nodeRef?[this.nextCallback]:[A,this.nextCallback],i=r[0],o=r[1];this.props.addEndListener(i,o)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},A.render=function(){var e=this.state.status;if("unmounted"===e)return null;var t=this.props,A=t.children,r=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,Object(n.a)(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return o.a.createElement(c.a.Provider,{value:null},"function"===typeof A?A(e,r):o.a.cloneElement(o.a.Children.only(A),r))},t}(o.a.Component);function l(){}u.contextType=c.a,u.propTypes={},u.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:l,onEntering:l,onEntered:l,onExit:l,onExiting:l,onExited:l},u.UNMOUNTED="unmounted",u.EXITED="exited",u.ENTERING="entering",u.ENTERED="entered",u.EXITING="exiting";t.a=u},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,A){"use strict";var n=A(14),r=A(1164),i=A(205);t.a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(r.a)(e,Object(n.a)({defaultTheme:i.a},t))}},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(14);function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.baseClasses,A=e.newClasses;e.Component;if(!A)return t;var r=Object(n.a)({},t);return Object.keys(A).forEach((function(e){A[e]&&(r[e]="".concat(t[e]," ").concat(A[e]))})),r}},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n=A(398),r=["checked","disabled","error","focused","focusVisible","required","expanded","selected"];function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.disableGlobal,A=void 0!==t&&t,i=e.productionPrefix,o=void 0===i?"jss":i,a=e.seed,s=void 0===a?"":a,g=""===s?"":"".concat(s,"-"),c=0,u=function(){return c+=1};return function(e,t){var i=t.options.name;if(i&&0===i.indexOf("Mui")&&!t.options.link&&!A){if(-1!==r.indexOf(e.key))return"Mui-".concat(e.key);var a="".concat(g).concat(i,"-").concat(e.key);return t.options.theme[n.a]&&""===s?"".concat(a,"-").concat(u()):a}return"".concat(g).concat(o).concat(u())}}},function(e,t,A){"use strict";var n=A(6);t.a=function(e,t){var A,r;if(void 0===t){var i,o=Object(n.a)(e);try{for(o.s();!(i=o.n()).done;){var a=i.value;null!=a&&(void 0===A?a>=a&&(A=r=a):(A>a&&(A=a),r<a&&(r=a)))}}catch(l){o.e(l)}finally{o.f()}}else{var s,g=-1,c=Object(n.a)(e);try{for(c.s();!(s=c.n()).done;){var u=s.value;null!=(u=t(u,++g,e))&&(void 0===A?u>=u&&(A=r=u):(A>u&&(A=u),r<u&&(r=u)))}}catch(l){c.e(l)}finally{c.f()}}return[A,r]}},function(e,t,A){"use strict";A.d(t,"a",(function(){return n}));var n={name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}},function(e,t,A){"use strict";A.d(t,"a",(function(){return l}));var n=A(1),r=A(24),i=A(4),o=A(9),a=A(10),s=A(18),g=A(92),c=A(80),u=A(108),l=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(e){var i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(n.a)(this,A),Object(s.a)(e),(i=t.call(this,e,o)).initialize(o),i.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(Object(r.a)(i)),i}return Object(i.a)(A,null,[{key:"isSupported",value:function(e){return Object(s.j)(e)}}]),Object(i.a)(A,[{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Object(u.a)(this.buffers)||this.bind((function(){return e._unbindBuffers()})),this.setProps(t),this}},{key:"setProps",value:function(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}},{key:"setBuffers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.bind((function(){for(var A in t)e.setBuffer(A,t[A])})),this}},{key:"setBuffer",value:function(e,t){var A=this,n=this._getVaryingIndex(e),r=this._getBufferParams(t),i=r.buffer,o=r.byteSize,a=r.byteOffset;return n<0?(this.unused[e]=i,s.k.warn((function(){return"".concat(A.id," unused varying buffer ").concat(e)}))(),this):(this.buffers[n]=t,this.bindOnUse||this._bindBuffer(n,i,a,o),this)}},{key:"begin",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}},{key:"end",value:function(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}},{key:"_getBufferParams",value:function(e){var t,A,n;return e instanceof c.a===!1?(n=e.buffer,A=e.byteSize,t=e.byteOffset):n=e,void 0===t&&void 0===A||(t=t||0,A=A||n.byteLength-t),{buffer:n,byteOffset:t,byteSize:A}}},{key:"_getVaryingInfo",value:function(e){return this.configuration&&this.configuration.getVaryingInfo(e)}},{key:"_getVaryingIndex",value:function(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;var t=Number(e);return Number.isFinite(t)?t:-1}},{key:"_bindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers){var t=this._getBufferParams(this.buffers[e]),A=t.buffer,n=t.byteSize,r=t.byteOffset;this._bindBuffer(e,A,r,n)}}},{key:"_unbindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers)this._bindBuffer(e,null)}},{key:"_bindBuffer",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,r=t&&t.handle;return r&&void 0!==n?this.gl.bindBufferRange(35982,e,r,A,n):this.gl.bindBufferBase(35982,e,r),this}},{key:"_createHandle",value:function(){return this.gl.createTransformFeedback()}},{key:"_deleteHandle",value:function(){this.gl.deleteTransformFeedback(this.handle)}},{key:"_bindHandle",value:function(e){this.gl.bindTransformFeedback(36386,this.handle)}}]),A}(g.a)},function(e,t,A){"use strict";A.d(t,"a",(function(){return g}));var n=A(8),r=A(6),i=A(1),o=A(4),a=1,s=1,g=function(){function e(){Object(i.a)(this,e),this.time=0,this.channels=new Map,this.animations=new Map,this.playing=!1,this.lastEngineTime=-1}return Object(o.a)(e,[{key:"addChannel",value:function(e){var t=e.delay,A=void 0===t?0:t,n=e.duration,r=void 0===n?Number.POSITIVE_INFINITY:n,i=e.rate,o=void 0===i?1:i,s=e.repeat,g=a++,c={time:0,delay:A,duration:r,rate:o,repeat:void 0===s?1:s};return this._setChannelTime(c,this.time),this.channels.set(g,c),g}},{key:"removeChannel",value:function(e){this.channels.delete(e);var t,A=Object(r.a)(this.animations);try{for(A.s();!(t=A.n()).done;){var i=Object(n.a)(t.value,2),o=i[0];i[1].channel===e&&this.detachAnimation(o)}}catch(a){A.e(a)}finally{A.f()}}},{key:"isFinished",value:function(e){var t=this.channels.get(e);return void 0!==t&&this.time>=t.delay+t.duration*t.repeat}},{key:"getTime",value:function(e){if(void 0===e)return this.time;var t=this.channels.get(e);return void 0===t?-1:t.time}},{key:"setTime",value:function(e){this.time=Math.max(0,e);var t,A=this.channels.values(),n=Object(r.a)(A);try{for(n.s();!(t=n.n()).done;){var i=t.value;this._setChannelTime(i,this.time)}}catch(l){n.e(l)}finally{n.f()}var o,a=this.animations.values(),s=Object(r.a)(a);try{for(s.s();!(o=s.n()).done;){var g=o.value,c=g.animation,u=g.channel;c.setTime(this.getTime(u))}}catch(l){s.e(l)}finally{s.f()}}},{key:"play",value:function(){this.playing=!0}},{key:"pause",value:function(){this.playing=!1,this.lastEngineTime=-1}},{key:"reset",value:function(){this.setTime(0)}},{key:"attachAnimation",value:function(e,t){var A=s++;return this.animations.set(A,{animation:e,channel:t}),e.setTime(this.getTime(t)),A}},{key:"detachAnimation",value:function(e){this.animations.delete(e)}},{key:"update",value:function(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}},{key:"_setChannelTime",value:function(e,t){var A=t-e.delay;A>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,A)%e.duration,e.time*=e.rate)}}]),e}()},function(e,t,A){"use strict";var n={},r={};function i(e){return new Function("d","return {"+e.map((function(e,t){return JSON.stringify(e)+": d["+t+'] || ""'})).join(",")+"}")}function o(e){var t=Object.create(null),A=[];return e.forEach((function(e){for(var n in e)n in t||A.push(t[n]=n)})),A}function a(e,t){var A=e+"",n=A.length;return n<t?new Array(t-n+1).join(0)+A:A}function s(e){var t,A=e.getUTCHours(),n=e.getUTCMinutes(),r=e.getUTCSeconds(),i=e.getUTCMilliseconds();return isNaN(e)?"Invalid Date":((t=e.getUTCFullYear())<0?"-"+a(-t,6):t>9999?"+"+a(t,6):a(t,4))+"-"+a(e.getUTCMonth()+1,2)+"-"+a(e.getUTCDate(),2)+(i?"T"+a(A,2)+":"+a(n,2)+":"+a(r,2)+"."+a(i,3)+"Z":r?"T"+a(A,2)+":"+a(n,2)+":"+a(r,2)+"Z":n||A?"T"+a(A,2)+":"+a(n,2)+"Z":"")}t.a=function(e){var t=new RegExp('["'+e+"\n\r]"),A=e.charCodeAt(0);function a(e,t){var i,o=[],a=e.length,s=0,g=0,c=a<=0,u=!1;function l(){if(c)return r;if(u)return u=!1,n;var t,i,o=s;if(34===e.charCodeAt(o)){for(;s++<a&&34!==e.charCodeAt(s)||34===e.charCodeAt(++s););return(t=s)>=a?c=!0:10===(i=e.charCodeAt(s++))?u=!0:13===i&&(u=!0,10===e.charCodeAt(s)&&++s),e.slice(o+1,t-1).replace(/""/g,'"')}for(;s<a;){if(10===(i=e.charCodeAt(t=s++)))u=!0;else if(13===i)u=!0,10===e.charCodeAt(s)&&++s;else if(i!==A)continue;return e.slice(o,t)}return c=!0,e.slice(o,a)}for(10===e.charCodeAt(a-1)&&--a,13===e.charCodeAt(a-1)&&--a;(i=l())!==r;){for(var I=[];i!==n&&i!==r;)I.push(i),i=l();t&&null==(I=t(I,g++))||o.push(I)}return o}function g(t,A){return t.map((function(t){return A.map((function(e){return u(t[e])})).join(e)}))}function c(t){return t.map(u).join(e)}function u(e){return null==e?"":e instanceof Date?s(e):t.test(e+="")?'"'+e.replace(/"/g,'""')+'"':e}return{parse:function(e,t){var A,n,r=a(e,(function(e,r){if(A)return A(e,r-1);n=e,A=t?function(e,t){var A=i(e);return function(n,r){return t(A(n),r,e)}}(e,t):i(e)}));return r.columns=n||[],r},parseRows:a,format:function(t,A){return null==A&&(A=o(t)),[A.map(u).join(e)].concat(g(t,A)).join("\n")},formatBody:function(e,t){return null==t&&(t=o(e)),g(e,t).join("\n")},formatRows:function(e){return e.map(c).join("\n")},formatRow:c,formatValue:u}}},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(19)),a=A(28),s=A(40),g=i.forwardRef((function(e,t){var A=e.classes,a=e.className,g=e.color,c=void 0===g?"primary":g,u=e.disableShrink,l=void 0!==u&&u,I=e.size,C=void 0===I?40:I,h=e.style,f=e.thickness,d=void 0===f?3.6:f,B=e.value,p=void 0===B?0:B,E=e.variant,Q=void 0===E?"indeterminate":E,y=Object(r.a)(e,["classes","className","color","disableShrink","size","style","thickness","value","variant"]),v={},m={},b={};if("determinate"===Q||"static"===Q){var w=2*Math.PI*((44-d)/2);v.strokeDasharray=w.toFixed(3),b["aria-valuenow"]=Math.round(p),v.strokeDashoffset="".concat(((100-p)/100*w).toFixed(3),"px"),m.transform="rotate(-90deg)"}return i.createElement("div",Object(n.a)({className:Object(o.a)(A.root,a,"inherit"!==c&&A["color".concat(Object(s.a)(c))],{determinate:A.determinate,indeterminate:A.indeterminate,static:A.static}[Q]),style:Object(n.a)({width:C,height:C},m,h),ref:t,role:"progressbar"},b,y),i.createElement("svg",{className:A.svg,viewBox:"".concat(22," ").concat(22," ").concat(44," ").concat(44)},i.createElement("circle",{className:Object(o.a)(A.circle,l&&A.circleDisableShrink,{determinate:A.circleDeterminate,indeterminate:A.circleIndeterminate,static:A.circleStatic}[Q]),style:v,cx:44,cy:44,r:(44-d)/2,fill:"none",strokeWidth:d})))}));t.a=Object(a.a)((function(e){return{root:{display:"inline-block"},static:{transition:e.transitions.create("transform")},indeterminate:{animation:"$circular-rotate 1.4s linear infinite"},determinate:{transition:e.transitions.create("transform")},colorPrimary:{color:e.palette.primary.main},colorSecondary:{color:e.palette.secondary.main},svg:{display:"block"},circle:{stroke:"currentColor"},circleStatic:{transition:e.transitions.create("stroke-dashoffset")},circleIndeterminate:{animation:"$circular-dash 1.4s ease-in-out infinite",strokeDasharray:"80px, 200px",strokeDashoffset:"0px"},circleDeterminate:{transition:e.transitions.create("stroke-dashoffset")},"@keyframes circular-rotate":{"0%":{transformOrigin:"50% 50%"},"100%":{transform:"rotate(360deg)"}},"@keyframes circular-dash":{"0%":{strokeDasharray:"1px, 200px",strokeDashoffset:"0px"},"50%":{strokeDasharray:"100px, 200px",strokeDashoffset:"-15px"},"100%":{strokeDasharray:"100px, 200px",strokeDashoffset:"-125px"}},circleDisableShrink:{animation:"none"}}}),{name:"MuiCircularProgress",flip:!1})(g)},function(e,t,A){"use strict";function n(e){var t=e.theme,A=e.name,n=e.props;if(!t||!t.props||!t.props[A])return n;var r,i=t.props[A];for(r in i)void 0===n[r]&&(n[r]=i[r]);return n}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(689)),a=A(532),s=A(1160),g=A(165),c=A(136),u=A(51);function l(e){return"function"===typeof e?e():e}var I="undefined"!==typeof window?i.useLayoutEffect:i.useEffect,C={},h=i.forwardRef((function(e,t){var A=e.anchorEl,h=e.children,f=e.container,d=e.disablePortal,B=void 0!==d&&d,p=e.keepMounted,E=void 0!==p&&p,Q=e.modifiers,y=e.open,v=e.placement,m=void 0===v?"bottom":v,b=e.popperOptions,w=void 0===b?C:b,S=e.popperRef,F=e.style,R=e.transition,D=void 0!==R&&R,G=Object(r.a)(e,["anchorEl","children","container","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","style","transition"]),k=i.useRef(null),x=Object(u.a)(k,t),N=i.useRef(null),U=Object(u.a)(N,S),_=i.useRef(U);I((function(){_.current=U}),[U]),i.useImperativeHandle(S,(function(){return N.current}),[]);var M=i.useState(!0),O=M[0],L=M[1],T=function(e,t){if("ltr"===(t&&t.direction||"ltr"))return e;switch(e){case"bottom-end":return"bottom-start";case"bottom-start":return"bottom-end";case"top-end":return"top-start";case"top-start":return"top-end";default:return e}}(m,Object(a.a)()),Z=i.useState(T),H=Z[0],Y=Z[1];i.useEffect((function(){N.current&&N.current.update()}));var J=i.useCallback((function(){if(k.current&&A&&y){N.current&&(N.current.destroy(),_.current(null));var e=function(e){Y(e.placement)},t=(l(A),new o.a(l(A),k.current,Object(n.a)({placement:T},w,{modifiers:Object(n.a)({},B?{}:{preventOverflow:{boundariesElement:"window"}},Q,w.modifiers),onCreate:Object(g.a)(e,w.onCreate),onUpdate:Object(g.a)(e,w.onUpdate)})));_.current(t)}}),[A,B,Q,y,T,w]),j=i.useCallback((function(e){Object(c.a)(x,e),J()}),[x,J]),P=function(){N.current&&(N.current.destroy(),_.current(null))};if(i.useEffect((function(){return function(){P()}}),[]),i.useEffect((function(){y||D||P()}),[y,D]),!E&&!y&&(!D||O))return null;var V={placement:H};return D&&(V.TransitionProps={in:y,onEnter:function(){L(!1)},onExited:function(){L(!0),P()}}),i.createElement(s.a,{disablePortal:B,container:f},i.createElement("div",Object(n.a)({ref:j,role:"tooltip"},G,{style:Object(n.a)({position:"fixed",top:0,left:0,display:y||!E||D?null:"none"},F)}),"function"===typeof h?h(V):h))}));t.a=h},function(e,t,A){"use strict";var n=A(0),r=A(39),i=(A(13),A(69)),o=A(51),a=A(66);function s(e){return e.substring(2).toLowerCase()}t.a=function(e){var t=e.children,A=e.disableReactTree,g=void 0!==A&&A,c=e.mouseEvent,u=void 0===c?"onClick":c,l=e.onClickAway,I=e.touchEvent,C=void 0===I?"onTouchEnd":I,h=n.useRef(!1),f=n.useRef(null),d=n.useRef(!1),B=n.useRef(!1);n.useEffect((function(){return setTimeout((function(){d.current=!0}),0),function(){d.current=!1}}),[]);var p=n.useCallback((function(e){f.current=r.findDOMNode(e)}),[]),E=Object(o.a)(t.ref,p),Q=Object(a.a)((function(e){var t=B.current;if(B.current=!1,d.current&&f.current&&!function(e){return document.documentElement.clientWidth<e.clientX||document.documentElement.clientHeight<e.clientY}(e))if(h.current)h.current=!1;else{var A;if(e.composedPath)A=e.composedPath().indexOf(f.current)>-1;else A=!Object(i.a)(f.current).documentElement.contains(e.target)||f.current.contains(e.target);A||!g&&t||l(e)}})),y=function(e){return function(A){B.current=!0;var n=t.props[e];n&&n(A)}},v={ref:E};return!1!==C&&(v[C]=y(C)),n.useEffect((function(){if(!1!==C){var e=s(C),t=Object(i.a)(f.current),A=function(){h.current=!0};return t.addEventListener(e,Q),t.addEventListener("touchmove",A),function(){t.removeEventListener(e,Q),t.removeEventListener("touchmove",A)}}}),[Q,C]),!1!==u&&(v[u]=y(u)),n.useEffect((function(){if(!1!==u){var e=s(u),t=Object(i.a)(f.current);return t.addEventListener(e,Q),function(){t.removeEventListener(e,Q)}}}),[Q,u]),n.createElement(n.Fragment,null,n.cloneElement(t,v))}},function(e,t,A){"use strict";var n=A(14),r=A(101),i=A(21),o=A(0),a=(A(13),A(1166)),s=A(226),g=A(114),c=A(151),u=A(51),l={entering:{opacity:1},entered:{opacity:1}},I={enter:s.b.enteringScreen,exit:s.b.leavingScreen},C=o.forwardRef((function(e,t){var A=e.children,s=e.disableStrictModeCompat,C=void 0!==s&&s,h=e.in,f=e.onEnter,d=e.onEntered,B=e.onEntering,p=e.onExit,E=e.onExited,Q=e.onExiting,y=e.style,v=e.TransitionComponent,m=void 0===v?a.a:v,b=e.timeout,w=void 0===b?I:b,S=Object(i.a)(e,["children","disableStrictModeCompat","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","TransitionComponent","timeout"]),F=Object(g.a)(),R=F.unstable_strictMode&&!C,D=o.useRef(null),G=Object(u.a)(A.ref,t),k=Object(u.a)(R?D:void 0,G),x=function(e){return function(t,A){if(e){var n=R?[D.current,t]:[t,A],i=Object(r.a)(n,2),o=i[0],a=i[1];void 0===a?e(o):e(o,a)}}},N=x(B),U=x((function(e,t){Object(c.b)(e);var A=Object(c.a)({style:y,timeout:w},{mode:"enter"});e.style.webkitTransition=F.transitions.create("opacity",A),e.style.transition=F.transitions.create("opacity",A),f&&f(e,t)})),_=x(d),M=x(Q),O=x((function(e){var t=Object(c.a)({style:y,timeout:w},{mode:"exit"});e.style.webkitTransition=F.transitions.create("opacity",t),e.style.transition=F.transitions.create("opacity",t),p&&p(e)})),L=x(E);return o.createElement(m,Object(n.a)({appear:!0,in:h,nodeRef:R?D:void 0,onEnter:U,onEntered:_,onEntering:N,onExit:O,onExited:L,onExiting:M,timeout:w},S),(function(e,t){return o.cloneElement(A,Object(n.a)({style:Object(n.a)({opacity:0,visibility:"exited"!==e||h?void 0:"hidden"},l[e],y,A.props.style),ref:k},t))}))}));t.a=C},function(e,t,A){"use strict";var n=A(21),r=A(14),i=A(0),o=(A(13),A(19)),a=A(28),s=i.forwardRef((function(e,t){var A=e.classes,a=e.className,s=e.component,g=void 0===s?"div":s,c=e.square,u=void 0!==c&&c,l=e.elevation,I=void 0===l?1:l,C=e.variant,h=void 0===C?"elevation":C,f=Object(n.a)(e,["classes","className","component","square","elevation","variant"]);return i.createElement(g,Object(r.a)({className:Object(o.a)(A.root,a,"outlined"===h?A.outlined:A["elevation".concat(I)],!u&&A.rounded),ref:t},f))}));t.a=Object(a.a)((function(e){var t={};return e.shadows.forEach((function(e,A){t["elevation".concat(A)]={boxShadow:e}})),Object(r.a)({root:{backgroundColor:e.palette.background.paper,color:e.palette.text.primary,transition:e.transitions.create("box-shadow")},rounded:{borderRadius:e.shape.borderRadius},outlined:{border:"1px solid ".concat(e.palette.divider)}},t)}),{name:"MuiPaper"})(s)},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(19)),a=A(40),s=A(28),g=A(200),c=A(51),u=A(1161),l=i.forwardRef((function(e,t){var A=e.classes,s=e.className,l=e.color,I=void 0===l?"primary":l,C=e.component,h=void 0===C?"a":C,f=e.onBlur,d=e.onFocus,B=e.TypographyClasses,p=e.underline,E=void 0===p?"hover":p,Q=e.variant,y=void 0===Q?"inherit":Q,v=Object(r.a)(e,["classes","className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"]),m=Object(g.a)(),b=m.isFocusVisible,w=m.onBlurVisible,S=m.ref,F=i.useState(!1),R=F[0],D=F[1],G=Object(c.a)(t,S);return i.createElement(u.a,Object(n.a)({className:Object(o.a)(A.root,A["underline".concat(Object(a.a)(E))],s,R&&A.focusVisible,"button"===h&&A.button),classes:B,color:I,component:h,onBlur:function(e){R&&(w(),D(!1)),f&&f(e)},onFocus:function(e){b(e)&&D(!0),d&&d(e)},ref:G,variant:y},v))}));t.a=Object(s.a)({root:{},underlineNone:{textDecoration:"none"},underlineHover:{textDecoration:"none","&:hover":{textDecoration:"underline"}},underlineAlways:{textDecoration:"underline"},button:{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle","-moz-appearance":"none","-webkit-appearance":"none","&::-moz-focus-inner":{borderStyle:"none"},"&$focusVisible":{outline:"auto"}},focusVisible:{}},{name:"MuiLink"})(l)},function(e,t,A){"use strict";A.d(t,"a",(function(){return C}));var n=A(7),r=A(1),i=A(9),o=A(10),a=A(135),s=A(108),g=new Uint16Array([0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]),c=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]),u=new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0]),l=new Float32Array([0,0,1,0,1,1,0,1,1,0,1,1,0,1,0,0,0,1,0,0,1,0,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,1,0,0,0,0,1,0,1,1,0,1]),I={POSITION:{size:3,value:new Float32Array(c)},NORMAL:{size:3,value:new Float32Array(u)},TEXCOORD_0:{size:2,value:new Float32Array(l)}},C=function(e){Object(i.a)(A,e);var t=Object(o.a)(A);function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(r.a)(this,A);var i=e.id,o=void 0===i?Object(s.c)("cube-geometry"):i;return t.call(this,Object(n.a)({},e,{id:o,indices:{size:1,value:new Uint16Array(g)},attributes:Object(n.a)({},I,{},e.attributes)}))}return A}(a.a)},function(e,t,A){"use strict";A.d(t,"a",(function(){return g}));var n=A(1),r=A(9),i=A(10),o=A(422),a=A(135),s=[-1,-1,1,-1,-1,1,1,1],g=function(e){Object(r.a)(A,e);var t=Object(i.a)(A);function A(e,r){var i;Object(n.a)(this,A);var o=s.map((function(e){return-1===e?0:e}));return(i=t.call(this,e,Object.assign({},r,{vs:"attribute vec2 aClipSpacePosition;\nattribute vec2 aTexCoord;\nattribute vec2 aCoordinate;\n\nvarying vec2 position;\nvarying vec2 coordinate;\nvarying vec2 uv;\n\nvoid main(void) {\n gl_Position = vec4(aClipSpacePosition, 0., 1.);\n position = aClipSpacePosition;\n coordinate = aCoordinate;\n uv = aTexCoord;\n}\n",geometry:new a.a({drawMode:5,vertexCount:4,attributes:{aClipSpacePosition:{size:2,value:new Float32Array(s)},aTexCoord:{size:2,value:new Float32Array(o)},aCoordinate:{size:2,value:new Float32Array(o)}}})}))).setVertexCount(4),i}return A}(o.a)},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(19)),a=A(28),s=i.forwardRef((function(e,t){var A=e.classes,a=e.className,s=e.component,g=void 0===s?"div":s,c=Object(r.a)(e,["classes","className","component"]);return i.createElement(g,Object(n.a)({ref:t,className:Object(o.a)(A.root,a)},c))}));t.a=Object(a.a)({root:{width:"100%",overflowX:"auto"}},{name:"MuiTableContainer"})(s)},function(e,t,A){"use strict";var n=A(21),r=A(14),i=A(0),o=(A(13),A(19)),a=A(28),s=A(417),g=i.forwardRef((function(e,t){var A=e.classes,a=e.className,g=e.component,c=void 0===g?"table":g,u=e.padding,l=void 0===u?"normal":u,I=e.size,C=void 0===I?"medium":I,h=e.stickyHeader,f=void 0!==h&&h,d=Object(n.a)(e,["classes","className","component","padding","size","stickyHeader"]),B=i.useMemo((function(){return{padding:l,size:C,stickyHeader:f}}),[l,C,f]);return i.createElement(s.a.Provider,{value:B},i.createElement(c,Object(r.a)({role:"table"===c?null:"table",ref:t,className:Object(o.a)(A.root,a,f&&A.stickyHeader)},d)))}));t.a=Object(a.a)((function(e){return{root:{display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":Object(r.a)({},e.typography.body2,{padding:e.spacing(2),color:e.palette.text.secondary,textAlign:"left",captionSide:"bottom"})},stickyHeader:{borderCollapse:"separate"}}}),{name:"MuiTable"})(g)},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(19)),a=A(28),s=A(284),g={variant:"body"},c=i.forwardRef((function(e,t){var A=e.classes,a=e.className,c=e.component,u=void 0===c?"tbody":c,l=Object(r.a)(e,["classes","className","component"]);return i.createElement(s.a.Provider,{value:g},i.createElement(u,Object(n.a)({className:Object(o.a)(A.root,a),ref:t,role:"tbody"===u?null:"rowgroup"},l)))}));t.a=Object(a.a)({root:{display:"table-row-group"}},{name:"MuiTableBody"})(c)},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(19)),a=A(28),s=A(284),g=A(60),c=i.forwardRef((function(e,t){var A=e.classes,a=e.className,g=e.component,c=void 0===g?"tr":g,u=e.hover,l=void 0!==u&&u,I=e.selected,C=void 0!==I&&I,h=Object(r.a)(e,["classes","className","component","hover","selected"]),f=i.useContext(s.a);return i.createElement(c,Object(n.a)({ref:t,className:Object(o.a)(A.root,a,f&&{head:A.head,footer:A.footer}[f.variant],l&&A.hover,C&&A.selected),role:"tr"===c?null:"row"},h))}));t.a=Object(a.a)((function(e){return{root:{color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,"&$hover:hover":{backgroundColor:e.palette.action.hover},"&$selected, &$selected:hover":{backgroundColor:Object(g.a)(e.palette.secondary.main,e.palette.action.selectedOpacity)}},selected:{},hover:{},head:{},footer:{}}}),{name:"MuiTableRow"})(c)},function(e,t,A){"use strict";var n=A(21),r=A(14),i=A(0),o=(A(13),A(19)),a=A(28),s=A(40),g=A(60),c=A(417),u=A(284),l=i.forwardRef((function(e,t){var A,a,g=e.align,l=void 0===g?"inherit":g,I=e.classes,C=e.className,h=e.component,f=e.padding,d=e.scope,B=e.size,p=e.sortDirection,E=e.variant,Q=Object(n.a)(e,["align","classes","className","component","padding","scope","size","sortDirection","variant"]),y=i.useContext(c.a),v=i.useContext(u.a),m=v&&"head"===v.variant;h?(a=h,A=m?"columnheader":"cell"):a=m?"th":"td";var b=d;!b&&m&&(b="col");var w=f||(y&&y.padding?y.padding:"normal"),S=B||(y&&y.size?y.size:"medium"),F=E||v&&v.variant,R=null;return p&&(R="asc"===p?"ascending":"descending"),i.createElement(a,Object(r.a)({ref:t,className:Object(o.a)(I.root,I[F],C,"inherit"!==l&&I["align".concat(Object(s.a)(l))],"normal"!==w&&I["padding".concat(Object(s.a)(w))],"medium"!==S&&I["size".concat(Object(s.a)(S))],"head"===F&&y&&y.stickyHeader&&I.stickyHeader),"aria-sort":R,role:A,scope:b},Q))}));t.a=Object(a.a)((function(e){return{root:Object(r.a)({},e.typography.body2,{display:"table-cell",verticalAlign:"inherit",borderBottom:"1px solid\n ".concat("light"===e.palette.type?Object(g.d)(Object(g.a)(e.palette.divider,1),.88):Object(g.b)(Object(g.a)(e.palette.divider,1),.68)),textAlign:"left",padding:16}),head:{color:e.palette.text.primary,lineHeight:e.typography.pxToRem(24),fontWeight:e.typography.fontWeightMedium},body:{color:e.palette.text.primary},footer:{color:e.palette.text.secondary,lineHeight:e.typography.pxToRem(21),fontSize:e.typography.pxToRem(12)},sizeSmall:{padding:"6px 24px 6px 16px","&:last-child":{paddingRight:16},"&$paddingCheckbox":{width:24,padding:"0 12px 0 16px","&:last-child":{paddingLeft:12,paddingRight:16},"& > *":{padding:0}}},paddingCheckbox:{width:48,padding:"0 0 0 4px","&:last-child":{paddingLeft:0,paddingRight:4}},paddingNone:{padding:0,"&:last-child":{padding:0}},alignLeft:{textAlign:"left"},alignCenter:{textAlign:"center"},alignRight:{textAlign:"right",flexDirection:"row-reverse"},alignJustify:{textAlign:"justify"},stickyHeader:{position:"sticky",top:0,left:0,zIndex:2,backgroundColor:e.palette.background.default}}}),{name:"MuiTableCell"})(l)},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(6);function r(e,t){var A;if(void 0===t){var r,i=Object(n.a)(e);try{for(i.s();!(r=i.n()).done;){var o=r.value;null!=o&&(A<o||void 0===A&&o>=o)&&(A=o)}}catch(u){i.e(u)}finally{i.f()}}else{var a,s=-1,g=Object(n.a)(e);try{for(g.s();!(a=g.n()).done;){var c=a.value;null!=(c=t(c,++s,e))&&(A<c||void 0===A&&c>=c)&&(A=c)}}catch(u){g.e(u)}finally{g.f()}}return A}},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(19)),a=A(28),s=i.forwardRef((function(e,t){var A=e.classes,a=e.className,s=Object(r.a)(e,["classes","className"]);return i.createElement("div",Object(n.a)({className:Object(o.a)(A.root,a),ref:t},s))}));t.a=Object(a.a)((function(e){return{root:{display:"flex",padding:e.spacing(1,2,2)}}}),{name:"MuiAccordionDetails"})(s)},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(19)),a=A(433),s=A(1159),g=A(28),c=A(418),u=i.forwardRef((function(e,t){var A=e.children,g=e.classes,u=e.className,l=e.expandIcon,I=e.focusVisibleClassName,C=e.IconButtonProps,h=void 0===C?{}:C,f=e.onClick,d=Object(r.a)(e,["children","classes","className","expandIcon","focusVisibleClassName","IconButtonProps","onClick"]),B=i.useContext(c.a),p=B.disabled,E=void 0!==p&&p,Q=B.expanded,y=B.toggle;return i.createElement(a.a,Object(n.a)({focusRipple:!1,disableRipple:!0,disabled:E,component:"div","aria-expanded":Q,className:Object(o.a)(g.root,u,E&&g.disabled,Q&&g.expanded),focusVisibleClassName:Object(o.a)(g.focusVisible,g.focused,I),onClick:function(e){y&&y(e),f&&f(e)},ref:t},d),i.createElement("div",{className:Object(o.a)(g.content,Q&&g.expanded)},A),l&&i.createElement(s.a,Object(n.a)({className:Object(o.a)(g.expandIcon,Q&&g.expanded),edge:"end",component:"div",tabIndex:null,role:null,"aria-hidden":!0},h),l))}));t.a=Object(g.a)((function(e){var t={duration:e.transitions.duration.shortest};return{root:{display:"flex",minHeight:48,transition:e.transitions.create(["min-height","background-color"],t),padding:e.spacing(0,2),"&:hover:not($disabled)":{cursor:"pointer"},"&$expanded":{minHeight:64},"&$focused, &$focusVisible":{backgroundColor:e.palette.action.focus},"&$disabled":{opacity:e.palette.action.disabledOpacity}},expanded:{},focused:{},focusVisible:{},disabled:{},content:{display:"flex",flexGrow:1,transition:e.transitions.create(["margin"],t),margin:"12px 0","&$expanded":{margin:"20px 0"}},expandIcon:{transform:"rotate(0deg)",transition:e.transitions.create("transform",t),"&:hover":{backgroundColor:"transparent"},"&$expanded":{transform:"rotate(180deg)"}}}}),{name:"MuiAccordionSummary"})(u)},function(e,t,A){"use strict";var n=A(21),r=A(14),i=A(0),o=(A(13),A(19)),a=A(28),s=[0,1,2,3,4,5,6,7,8,9,10],g=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12];function c(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,A=parseFloat(e);return"".concat(A/t).concat(String(e).replace(String(A),"")||"px")}var u=i.forwardRef((function(e,t){var A=e.alignContent,a=void 0===A?"stretch":A,s=e.alignItems,g=void 0===s?"stretch":s,c=e.classes,u=e.className,l=e.component,I=void 0===l?"div":l,C=e.container,h=void 0!==C&&C,f=e.direction,d=void 0===f?"row":f,B=e.item,p=void 0!==B&&B,E=e.justify,Q=e.justifyContent,y=void 0===Q?"flex-start":Q,v=e.lg,m=void 0!==v&&v,b=e.md,w=void 0!==b&&b,S=e.sm,F=void 0!==S&&S,R=e.spacing,D=void 0===R?0:R,G=e.wrap,k=void 0===G?"wrap":G,x=e.xl,N=void 0!==x&&x,U=e.xs,_=void 0!==U&&U,M=e.zeroMinWidth,O=void 0!==M&&M,L=Object(n.a)(e,["alignContent","alignItems","classes","className","component","container","direction","item","justify","justifyContent","lg","md","sm","spacing","wrap","xl","xs","zeroMinWidth"]),T=Object(o.a)(c.root,u,h&&[c.container,0!==D&&c["spacing-xs-".concat(String(D))]],p&&c.item,O&&c.zeroMinWidth,"row"!==d&&c["direction-xs-".concat(String(d))],"wrap"!==k&&c["wrap-xs-".concat(String(k))],"stretch"!==g&&c["align-items-xs-".concat(String(g))],"stretch"!==a&&c["align-content-xs-".concat(String(a))],"flex-start"!==(E||y)&&c["justify-content-xs-".concat(String(E||y))],!1!==_&&c["grid-xs-".concat(String(_))],!1!==F&&c["grid-sm-".concat(String(F))],!1!==w&&c["grid-md-".concat(String(w))],!1!==m&&c["grid-lg-".concat(String(m))],!1!==N&&c["grid-xl-".concat(String(N))]);return i.createElement(I,Object(r.a)({className:T,ref:t},L))})),l=Object(a.a)((function(e){return Object(r.a)({root:{},container:{boxSizing:"border-box",display:"flex",flexWrap:"wrap",width:"100%"},item:{boxSizing:"border-box",margin:"0"},zeroMinWidth:{minWidth:0},"direction-xs-column":{flexDirection:"column"},"direction-xs-column-reverse":{flexDirection:"column-reverse"},"direction-xs-row-reverse":{flexDirection:"row-reverse"},"wrap-xs-nowrap":{flexWrap:"nowrap"},"wrap-xs-wrap-reverse":{flexWrap:"wrap-reverse"},"align-items-xs-center":{alignItems:"center"},"align-items-xs-flex-start":{alignItems:"flex-start"},"align-items-xs-flex-end":{alignItems:"flex-end"},"align-items-xs-baseline":{alignItems:"baseline"},"align-content-xs-center":{alignContent:"center"},"align-content-xs-flex-start":{alignContent:"flex-start"},"align-content-xs-flex-end":{alignContent:"flex-end"},"align-content-xs-space-between":{alignContent:"space-between"},"align-content-xs-space-around":{alignContent:"space-around"},"justify-content-xs-center":{justifyContent:"center"},"justify-content-xs-flex-end":{justifyContent:"flex-end"},"justify-content-xs-space-between":{justifyContent:"space-between"},"justify-content-xs-space-around":{justifyContent:"space-around"},"justify-content-xs-space-evenly":{justifyContent:"space-evenly"}},function(e,t){var A={};return s.forEach((function(n){var r=e.spacing(n);0!==r&&(A["spacing-".concat(t,"-").concat(n)]={margin:"-".concat(c(r,2)),width:"calc(100% + ".concat(c(r),")"),"& > $item":{padding:c(r,2)}})})),A}(e,"xs"),e.breakpoints.keys.reduce((function(t,A){return function(e,t,A){var n={};g.forEach((function(e){var t="grid-".concat(A,"-").concat(e);if(!0!==e)if("auto"!==e){var r="".concat(Math.round(e/12*1e8)/1e6,"%");n[t]={flexBasis:r,flexGrow:0,maxWidth:r}}else n[t]={flexBasis:"auto",flexGrow:0,maxWidth:"none"};else n[t]={flexBasis:0,flexGrow:1,maxWidth:"100%"}})),"xs"===A?Object(r.a)(e,n):e[t.breakpoints.up(A)]=n}(t,e,A),t}),{}))}),{name:"MuiGrid"})(u);t.a=l},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(19)),a=A(231),s=A(28),g=A(40),c=A(207),u=A(230),l=i.forwardRef((function(e,t){var A=e.children,s=e.classes,l=e.className,I=e.color,C=void 0===I?"primary":I,h=e.component,f=void 0===h?"div":h,d=e.disabled,B=void 0!==d&&d,p=e.error,E=void 0!==p&&p,Q=e.fullWidth,y=void 0!==Q&&Q,v=e.focused,m=e.hiddenLabel,b=void 0!==m&&m,w=e.margin,S=void 0===w?"none":w,F=e.required,R=void 0!==F&&F,D=e.size,G=e.variant,k=void 0===G?"standard":G,x=Object(r.a)(e,["children","classes","className","color","component","disabled","error","fullWidth","focused","hiddenLabel","margin","required","size","variant"]),N=i.useState((function(){var e=!1;return A&&i.Children.forEach(A,(function(t){if(Object(c.a)(t,["Input","Select"])){var A=Object(c.a)(t,["Select"])?t.props.input:t;A&&Object(a.a)(A.props)&&(e=!0)}})),e})),U=N[0],_=N[1],M=i.useState((function(){var e=!1;return A&&i.Children.forEach(A,(function(t){Object(c.a)(t,["Input","Select"])&&Object(a.b)(t.props,!0)&&(e=!0)})),e})),O=M[0],L=M[1],T=i.useState(!1),Z=T[0],H=T[1],Y=void 0!==v?v:Z;B&&Y&&H(!1);var J=i.useCallback((function(){L(!0)}),[]),j={adornedStart:U,setAdornedStart:_,color:C,disabled:B,error:E,filled:O,focused:Y,fullWidth:y,hiddenLabel:b,margin:("small"===D?"dense":void 0)||S,onBlur:function(){H(!1)},onEmpty:i.useCallback((function(){L(!1)}),[]),onFilled:J,onFocus:function(){H(!0)},registerEffect:void 0,required:R,variant:k};return i.createElement(u.a.Provider,{value:j},i.createElement(f,Object(n.a)({className:Object(o.a)(s.root,l,"none"!==S&&s["margin".concat(Object(g.a)(S))],y&&s.fullWidth),ref:t},x),A))}));t.a=Object(s.a)({root:{display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top"},marginNormal:{marginTop:16,marginBottom:8},marginDense:{marginTop:8,marginBottom:4},fullWidth:{width:"100%"}},{name:"MuiFormControl"})(l)},function(e,t,A){"use strict";var n=A(21),r=A(14),i=A(0),o=(A(13),A(19)),a=A(28),s=A(60),g=A(433),c=A(40),u=i.forwardRef((function(e,t){var A=e.children,a=e.classes,s=e.className,u=e.color,l=void 0===u?"default":u,I=e.component,C=void 0===I?"button":I,h=e.disabled,f=void 0!==h&&h,d=e.disableElevation,B=void 0!==d&&d,p=e.disableFocusRipple,E=void 0!==p&&p,Q=e.endIcon,y=e.focusVisibleClassName,v=e.fullWidth,m=void 0!==v&&v,b=e.size,w=void 0===b?"medium":b,S=e.startIcon,F=e.type,R=void 0===F?"button":F,D=e.variant,G=void 0===D?"text":D,k=Object(n.a)(e,["children","classes","className","color","component","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"]),x=S&&i.createElement("span",{className:Object(o.a)(a.startIcon,a["iconSize".concat(Object(c.a)(w))])},S),N=Q&&i.createElement("span",{className:Object(o.a)(a.endIcon,a["iconSize".concat(Object(c.a)(w))])},Q);return i.createElement(g.a,Object(r.a)({className:Object(o.a)(a.root,a[G],s,"inherit"===l?a.colorInherit:"default"!==l&&a["".concat(G).concat(Object(c.a)(l))],"medium"!==w&&[a["".concat(G,"Size").concat(Object(c.a)(w))],a["size".concat(Object(c.a)(w))]],B&&a.disableElevation,f&&a.disabled,m&&a.fullWidth),component:C,disabled:f,focusRipple:!E,focusVisibleClassName:Object(o.a)(a.focusVisible,y),ref:t,type:R},k),i.createElement("span",{className:a.label},x,A,N))}));t.a=Object(a.a)((function(e){return{root:Object(r.a)({},e.typography.button,{boxSizing:"border-box",minWidth:64,padding:"6px 16px",borderRadius:e.shape.borderRadius,color:e.palette.text.primary,transition:e.transitions.create(["background-color","box-shadow","border"],{duration:e.transitions.duration.short}),"&:hover":{textDecoration:"none",backgroundColor:Object(s.a)(e.palette.text.primary,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"},"&$disabled":{backgroundColor:"transparent"}},"&$disabled":{color:e.palette.action.disabled}}),label:{width:"100%",display:"inherit",alignItems:"inherit",justifyContent:"inherit"},text:{padding:"6px 8px"},textPrimary:{color:e.palette.primary.main,"&:hover":{backgroundColor:Object(s.a)(e.palette.primary.main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},textSecondary:{color:e.palette.secondary.main,"&:hover":{backgroundColor:Object(s.a)(e.palette.secondary.main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},outlined:{padding:"5px 15px",border:"1px solid ".concat("light"===e.palette.type?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"),"&$disabled":{border:"1px solid ".concat(e.palette.action.disabledBackground)}},outlinedPrimary:{color:e.palette.primary.main,border:"1px solid ".concat(Object(s.a)(e.palette.primary.main,.5)),"&:hover":{border:"1px solid ".concat(e.palette.primary.main),backgroundColor:Object(s.a)(e.palette.primary.main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},outlinedSecondary:{color:e.palette.secondary.main,border:"1px solid ".concat(Object(s.a)(e.palette.secondary.main,.5)),"&:hover":{border:"1px solid ".concat(e.palette.secondary.main),backgroundColor:Object(s.a)(e.palette.secondary.main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"&$disabled":{border:"1px solid ".concat(e.palette.action.disabled)}},contained:{color:e.palette.getContrastText(e.palette.grey[300]),backgroundColor:e.palette.grey[300],boxShadow:e.shadows[2],"&:hover":{backgroundColor:e.palette.grey.A100,boxShadow:e.shadows[4],"@media (hover: none)":{boxShadow:e.shadows[2],backgroundColor:e.palette.grey[300]},"&$disabled":{backgroundColor:e.palette.action.disabledBackground}},"&$focusVisible":{boxShadow:e.shadows[6]},"&:active":{boxShadow:e.shadows[8]},"&$disabled":{color:e.palette.action.disabled,boxShadow:e.shadows[0],backgroundColor:e.palette.action.disabledBackground}},containedPrimary:{color:e.palette.primary.contrastText,backgroundColor:e.palette.primary.main,"&:hover":{backgroundColor:e.palette.primary.dark,"@media (hover: none)":{backgroundColor:e.palette.primary.main}}},containedSecondary:{color:e.palette.secondary.contrastText,backgroundColor:e.palette.secondary.main,"&:hover":{backgroundColor:e.palette.secondary.dark,"@media (hover: none)":{backgroundColor:e.palette.secondary.main}}},disableElevation:{boxShadow:"none","&:hover":{boxShadow:"none"},"&$focusVisible":{boxShadow:"none"},"&:active":{boxShadow:"none"},"&$disabled":{boxShadow:"none"}},focusVisible:{},disabled:{},colorInherit:{color:"inherit",borderColor:"currentColor"},textSizeSmall:{padding:"4px 5px",fontSize:e.typography.pxToRem(13)},textSizeLarge:{padding:"8px 11px",fontSize:e.typography.pxToRem(15)},outlinedSizeSmall:{padding:"3px 9px",fontSize:e.typography.pxToRem(13)},outlinedSizeLarge:{padding:"7px 21px",fontSize:e.typography.pxToRem(15)},containedSizeSmall:{padding:"4px 10px",fontSize:e.typography.pxToRem(13)},containedSizeLarge:{padding:"8px 22px",fontSize:e.typography.pxToRem(15)},sizeSmall:{},sizeLarge:{},fullWidth:{width:"100%"},startIcon:{display:"inherit",marginRight:8,marginLeft:-4,"&$iconSizeSmall":{marginLeft:-2}},endIcon:{display:"inherit",marginRight:-4,marginLeft:8,"&$iconSizeSmall":{marginRight:-2}},iconSizeSmall:{"& > *:first-child":{fontSize:18}},iconSizeMedium:{"& > *:first-child":{fontSize:20}},iconSizeLarge:{"& > *:first-child":{fontSize:22}}}}),{name:"MuiButton"})(u)},function(e,t,A){"use strict";var n=A(21),r=A(25),i=A(14),o=A(0),a=(A(13),A(19)),s=A(28),g=A(433),c=A(40),u=o.forwardRef((function(e,t){var A=e.classes,r=e.className,s=e.disabled,u=void 0!==s&&s,l=e.disableFocusRipple,I=void 0!==l&&l,C=e.fullWidth,h=e.icon,f=e.indicator,d=e.label,B=e.onChange,p=e.onClick,E=e.onFocus,Q=e.selected,y=e.selectionFollowsFocus,v=e.textColor,m=void 0===v?"inherit":v,b=e.value,w=e.wrapped,S=void 0!==w&&w,F=Object(n.a)(e,["classes","className","disabled","disableFocusRipple","fullWidth","icon","indicator","label","onChange","onClick","onFocus","selected","selectionFollowsFocus","textColor","value","wrapped"]);return o.createElement(g.a,Object(i.a)({focusRipple:!I,className:Object(a.a)(A.root,A["textColor".concat(Object(c.a)(m))],r,u&&A.disabled,Q&&A.selected,d&&h&&A.labelIcon,C&&A.fullWidth,S&&A.wrapped),ref:t,role:"tab","aria-selected":Q,disabled:u,onClick:function(e){B&&B(e,b),p&&p(e)},onFocus:function(e){y&&!Q&&B&&B(e,b),E&&E(e)},tabIndex:Q?0:-1},F),o.createElement("span",{className:A.wrapper},h,d),f)}));t.a=Object(s.a)((function(e){var t;return{root:Object(i.a)({},e.typography.button,(t={maxWidth:264,minWidth:72,position:"relative",boxSizing:"border-box",minHeight:48,flexShrink:0,padding:"6px 12px"},Object(r.a)(t,e.breakpoints.up("sm"),{padding:"6px 24px"}),Object(r.a)(t,"overflow","hidden"),Object(r.a)(t,"whiteSpace","normal"),Object(r.a)(t,"textAlign","center"),Object(r.a)(t,e.breakpoints.up("sm"),{minWidth:160}),t)),labelIcon:{minHeight:72,paddingTop:9,"& $wrapper > *:first-child":{marginBottom:6}},textColorInherit:{color:"inherit",opacity:.7,"&$selected":{opacity:1},"&$disabled":{opacity:.5}},textColorPrimary:{color:e.palette.text.secondary,"&$selected":{color:e.palette.primary.main},"&$disabled":{color:e.palette.text.disabled}},textColorSecondary:{color:e.palette.text.secondary,"&$selected":{color:e.palette.secondary.main},"&$disabled":{color:e.palette.text.disabled}},selected:{},disabled:{},fullWidth:{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"},wrapped:{fontSize:e.typography.pxToRem(12),lineHeight:1.5},wrapper:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"100%",flexDirection:"column"}}}),{name:"MuiTab"})(u)},function(e,t,A){"use strict";A.d(t,"b",(function(){return o})),A.d(t,"a",(function(){return a})),A.d(t,"c",(function(){return c}));var n=A(117),r=A(168);function i(e){return Object(n.a)((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/r.c}))}var o=i(0),a=i(1),s=i(2),g=i(3),c=i(4),u=i(5),l=i(6);o.range,a.range,s.range,g.range,c.range,u.range,l.range},function(e,t,A){"use strict";var n=A(117),r=A(168),i=Object(n.a)((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/r.a}),(function(e){return e.getUTCDate()-1}));t.a=i;i.range},function(e,t,A){"use strict";A.d(t,"b",(function(){return o})),A.d(t,"a",(function(){return a})),A.d(t,"c",(function(){return c}));var n=A(117),r=A(168);function i(e){return Object(n.a)((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*r.b)/r.c}))}var o=i(0),a=i(1),s=i(2),g=i(3),c=i(4),u=i(5),l=i(6);o.range,a.range,s.range,g.range,c.range,u.range,l.range},function(e,t,A){"use strict";var n=A(117),r=A(168),i=Object(n.a)((function(e){e.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*r.b)/r.a}),(function(e){return e.getDate()-1}));t.a=i;i.range},function(e,t,A){"use strict";var n=A(117),r=Object(n.a)((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()}));r.every=function(e){return isFinite(e=Math.floor(e))&&e>0?Object(n.a)((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,A){t.setFullYear(t.getFullYear()+A*e)})):null},t.a=r;r.range},function(e,t,A){"use strict";var n=A(117),r=Object(n.a)((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()}));r.every=function(e){return isFinite(e=Math.floor(e))&&e>0?Object(n.a)((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,A){t.setUTCFullYear(t.getUTCFullYear()+A*e)})):null},t.a=r;r.range},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(6);function r(e,t){var A=0;if(void 0===t){var r,i=Object(n.a)(e);try{for(i.s();!(r=i.n()).done;){var o=r.value;(o=+o)&&(A+=o)}}catch(u){i.e(u)}finally{i.f()}}else{var a,s=-1,g=Object(n.a)(e);try{for(g.s();!(a=g.n()).done;){var c=a.value;(c=+t(c,++s,e))&&(A+=c)}}catch(u){g.e(u)}finally{g.f()}}return A}},function(e,t,A){"use strict";var n=A(14),r=A(0),i=A.n(r),o=(A(13),A(396)),a=A(532),s=A(398);t.a=function(e){var t=e.children,A=e.theme,r=Object(a.a)(),g=i.a.useMemo((function(){var e=null===r?A:function(e,t){return"function"===typeof t?t(e):Object(n.a)({},e,t)}(r,A);return null!=e&&(e[s.a]=null!==r),e}),[A,r]);return i.a.createElement(o.a.Provider,{value:g},t)}},function(e,t,A){"use strict";var n={};A.r(n),A.d(n,"JsonPatchError",(function(){return Y})),A.d(n,"deepClone",(function(){return J})),A.d(n,"getValueByPointer",(function(){return V})),A.d(n,"applyOperation",(function(){return K})),A.d(n,"applyPatch",(function(){return W})),A.d(n,"applyReducer",(function(){return X})),A.d(n,"validator",(function(){return q})),A.d(n,"validate",(function(){return z})),A.d(n,"_areEquals",(function(){return $}));var r={};A.r(r),A.d(r,"unobserve",(function(){return ne})),A.d(r,"observe",(function(){return re})),A.d(r,"generate",(function(){return ie})),A.d(r,"compare",(function(){return ae}));var i={};A.r(i),A.d(i,"aggregate",(function(){return HA})),A.d(i,"bin",(function(){return YA})),A.d(i,"collect",(function(){return jA})),A.d(i,"compare",(function(){return PA})),A.d(i,"countpattern",(function(){return KA})),A.d(i,"cross",(function(){return WA})),A.d(i,"density",(function(){return qA})),A.d(i,"dotbin",(function(){return An})),A.d(i,"expression",(function(){return nn})),A.d(i,"extent",(function(){return on})),A.d(i,"facet",(function(){return sn})),A.d(i,"field",(function(){return gn})),A.d(i,"filter",(function(){return un})),A.d(i,"flatten",(function(){return ln})),A.d(i,"fold",(function(){return In})),A.d(i,"formula",(function(){return Cn})),A.d(i,"generate",(function(){return hn})),A.d(i,"impute",(function(){return Bn})),A.d(i,"joinaggregate",(function(){return pn})),A.d(i,"kde",(function(){return En})),A.d(i,"key",(function(){return Qn})),A.d(i,"load",(function(){return vn})),A.d(i,"lookup",(function(){return bn})),A.d(i,"multiextent",(function(){return wn})),A.d(i,"multivalues",(function(){return Fn})),A.d(i,"params",(function(){return Dn})),A.d(i,"pivot",(function(){return Gn})),A.d(i,"prefacet",(function(){return kn})),A.d(i,"project",(function(){return xn})),A.d(i,"proxy",(function(){return Nn})),A.d(i,"quantile",(function(){return Un})),A.d(i,"relay",(function(){return _n})),A.d(i,"sample",(function(){return Mn})),A.d(i,"sequence",(function(){return On})),A.d(i,"sieve",(function(){return Ln})),A.d(i,"subflow",(function(){return an})),A.d(i,"timeunit",(function(){return Tn})),A.d(i,"tupleindex",(function(){return Hn})),A.d(i,"values",(function(){return Yn})),A.d(i,"window",(function(){return Kn}));var o={};A.r(o),A.d(o,"interpolate",(function(){return jo})),A.d(o,"interpolateArray",(function(){return Mo})),A.d(o,"interpolateBasis",(function(){return mo})),A.d(o,"interpolateBasisClosed",(function(){return bo})),A.d(o,"interpolateDate",(function(){return Lo})),A.d(o,"interpolateDiscrete",(function(){return zg})),A.d(o,"interpolateHue",(function(){return $g})),A.d(o,"interpolateNumber",(function(){return To})),A.d(o,"interpolateNumberArray",(function(){return Uo})),A.d(o,"interpolateObject",(function(){return Zo})),A.d(o,"interpolateRound",(function(){return Po})),A.d(o,"interpolateString",(function(){return Jo})),A.d(o,"interpolateTransformCss",(function(){return rc})),A.d(o,"interpolateTransformSvg",(function(){return ic})),A.d(o,"interpolateZoom",(function(){return ac})),A.d(o,"interpolateRgb",(function(){return Go})),A.d(o,"interpolateRgbBasis",(function(){return xo})),A.d(o,"interpolateRgbBasisClosed",(function(){return No})),A.d(o,"interpolateHsl",(function(){return gc})),A.d(o,"interpolateHslLong",(function(){return cc})),A.d(o,"interpolateLab",(function(){return mc})),A.d(o,"interpolateHcl",(function(){return wc})),A.d(o,"interpolateHclLong",(function(){return Sc})),A.d(o,"interpolateCubehelix",(function(){return Lc})),A.d(o,"interpolateCubehelixLong",(function(){return Tc})),A.d(o,"piecewise",(function(){return Vg})),A.d(o,"quantize",(function(){return Zc}));var a={};A.r(a),A.d(a,"bound",(function(){return Af})),A.d(a,"identifier",(function(){return rf})),A.d(a,"mark",(function(){return of})),A.d(a,"overlap",(function(){return af})),A.d(a,"render",(function(){return Cf})),A.d(a,"viewlayout",(function(){return _f}));var s={};A.r(s),A.d(s,"axisticks",(function(){return Ad})),A.d(s,"datajoin",(function(){return nd})),A.d(s,"encode",(function(){return id})),A.d(s,"legendentries",(function(){return od})),A.d(s,"linkpath",(function(){return ud})),A.d(s,"pie",(function(){return fd})),A.d(s,"scale",(function(){return pd})),A.d(s,"sortitems",(function(){return vd})),A.d(s,"stack",(function(){return bd}));var g={};A.r(g),A.d(g,"contour",(function(){return Wy})),A.d(g,"geojson",(function(){return Xy})),A.d(g,"geopath",(function(){return qy})),A.d(g,"geopoint",(function(){return zy})),A.d(g,"geoshape",(function(){return $y})),A.d(g,"graticule",(function(){return ev})),A.d(g,"heatmap",(function(){return tv})),A.d(g,"isocontour",(function(){return Ly})),A.d(g,"kde2d",(function(){return Py})),A.d(g,"projection",(function(){return nv}));var c={};A.r(c),A.d(c,"force",(function(){return dv}));var u={};A.r(u),A.d(u,"nest",(function(){return Em})),A.d(u,"pack",(function(){return wm})),A.d(u,"partition",(function(){return Fm})),A.d(u,"stratify",(function(){return Rm})),A.d(u,"tree",(function(){return km})),A.d(u,"treelinks",(function(){return xm})),A.d(u,"treemap",(function(){return _m}));var l={};A.r(l),A.d(l,"label",(function(){return rb}));var I={};A.r(I),A.d(I,"loess",(function(){return ob})),A.d(I,"regression",(function(){return sb}));var C={};A.r(C),A.d(C,"voronoi",(function(){return xb}));var h={};A.r(h),A.d(h,"wordcloud",(function(){return Pb}));var f={};A.r(f),A.d(f,"crossfilter",(function(){return rw})),A.d(f,"resolvefilter",(function(){return iw}));var d={};A.r(d),A.d(d,"Debug",(function(){return ue.a})),A.d(d,"Error",(function(){return ue.b})),A.d(d,"Info",(function(){return ue.c})),A.d(d,"None",(function(){return ue.d})),A.d(d,"Warn",(function(){return ue.e})),A.d(d,"accessor",(function(){return ue.f})),A.d(d,"accessorFields",(function(){return ue.g})),A.d(d,"accessorName",(function(){return ue.h})),A.d(d,"array",(function(){return ue.i})),A.d(d,"ascending",(function(){return ue.j})),A.d(d,"clampRange",(function(){return ue.k})),A.d(d,"compare",(function(){return ue.l})),A.d(d,"constant",(function(){return ue.m})),A.d(d,"debounce",(function(){return ue.n})),A.d(d,"error",(function(){return ue.o})),A.d(d,"extend",(function(){return ue.p})),A.d(d,"extent",(function(){return ue.q})),A.d(d,"extentIndex",(function(){return ue.r})),A.d(d,"falsy",(function(){return ue.s})),A.d(d,"fastmap",(function(){return ue.t})),A.d(d,"field",(function(){return ue.u})),A.d(d,"flush",(function(){return ue.v})),A.d(d,"hasOwnProperty",(function(){return ue.w})),A.d(d,"id",(function(){return ue.x})),A.d(d,"identity",(function(){return ue.y})),A.d(d,"inherits",(function(){return ue.z})),A.d(d,"inrange",(function(){return ue.A})),A.d(d,"isArray",(function(){return ue.B})),A.d(d,"isBoolean",(function(){return ue.C})),A.d(d,"isDate",(function(){return ue.D})),A.d(d,"isFunction",(function(){return ue.E})),A.d(d,"isIterable",(function(){return ue.F})),A.d(d,"isNumber",(function(){return ue.G})),A.d(d,"isObject",(function(){return ue.H})),A.d(d,"isRegExp",(function(){return ue.I})),A.d(d,"isString",(function(){return ue.J})),A.d(d,"key",(function(){return ue.K})),A.d(d,"lerp",(function(){return ue.L})),A.d(d,"logger",(function(){return ue.M})),A.d(d,"lruCache",(function(){return ue.N})),A.d(d,"merge",(function(){return ue.O})),A.d(d,"mergeConfig",(function(){return ue.P})),A.d(d,"one",(function(){return ue.Q})),A.d(d,"pad",(function(){return ue.R})),A.d(d,"panLinear",(function(){return ue.S})),A.d(d,"panLog",(function(){return ue.T})),A.d(d,"panPow",(function(){return ue.U})),A.d(d,"panSymlog",(function(){return ue.V})),A.d(d,"peek",(function(){return ue.W})),A.d(d,"quarter",(function(){return ue.X})),A.d(d,"repeat",(function(){return ue.Y})),A.d(d,"span",(function(){return ue.Z})),A.d(d,"splitAccessPath",(function(){return ue.ab})),A.d(d,"stringValue",(function(){return ue.bb})),A.d(d,"toBoolean",(function(){return ue.cb})),A.d(d,"toDate",(function(){return ue.db})),A.d(d,"toNumber",(function(){return ue.eb})),A.d(d,"toSet",(function(){return ue.fb})),A.d(d,"toString",(function(){return ue.gb})),A.d(d,"truncate",(function(){return ue.hb})),A.d(d,"truthy",(function(){return ue.ib})),A.d(d,"utcquarter",(function(){return ue.jb})),A.d(d,"visitArray",(function(){return ue.kb})),A.d(d,"writeConfig",(function(){return ue.lb})),A.d(d,"zero",(function(){return ue.mb})),A.d(d,"zoomLinear",(function(){return ue.nb})),A.d(d,"zoomLog",(function(){return ue.ob})),A.d(d,"zoomPow",(function(){return ue.pb})),A.d(d,"zoomSymlog",(function(){return ue.qb})),A.d(d,"Dataflow",(function(){return it})),A.d(d,"EventStream",(function(){return Le})),A.d(d,"MultiPulse",(function(){return ze})),A.d(d,"Operator",(function(){return _e})),A.d(d,"Parameters",(function(){return xe})),A.d(d,"Pulse",(function(){return Ke})),A.d(d,"Transform",(function(){return at})),A.d(d,"changeset",(function(){return Ge})),A.d(d,"definition",(function(){return gt})),A.d(d,"ingest",(function(){return be})),A.d(d,"isTuple",(function(){return ye})),A.d(d,"transform",(function(){return ct})),A.d(d,"transforms",(function(){return st})),A.d(d,"tupleid",(function(){return ve})),A.d(d,"bandwidthNRD",(function(){return wt})),A.d(d,"bin",(function(){return St})),A.d(d,"bootstrapCI",(function(){return Dt})),A.d(d,"cumulativeLogNormal",(function(){return jt})),A.d(d,"cumulativeNormal",(function(){return Lt})),A.d(d,"cumulativeUniform",(function(){return qt})),A.d(d,"densityLogNormal",(function(){return Jt})),A.d(d,"densityNormal",(function(){return Ot})),A.d(d,"densityUniform",(function(){return Xt})),A.d(d,"dotbin",(function(){return Gt})),A.d(d,"quantileLogNormal",(function(){return Pt})),A.d(d,"quantileNormal",(function(){return Tt})),A.d(d,"quantileUniform",(function(){return zt})),A.d(d,"quantiles",(function(){return mt})),A.d(d,"quartiles",(function(){return bt})),A.d(d,"random",(function(){return Ft})),A.d(d,"randomInteger",(function(){return xt})),A.d(d,"randomKDE",(function(){return Ht})),A.d(d,"randomLCG",(function(){return kt})),A.d(d,"randomLogNormal",(function(){return Vt})),A.d(d,"randomMixture",(function(){return Kt})),A.d(d,"randomNormal",(function(){return Zt})),A.d(d,"randomUniform",(function(){return $t})),A.d(d,"regressionExp",(function(){return oA})),A.d(d,"regressionLinear",(function(){return rA})),A.d(d,"regressionLoess",(function(){return uA})),A.d(d,"regressionLog",(function(){return iA})),A.d(d,"regressionPoly",(function(){return gA})),A.d(d,"regressionPow",(function(){return aA})),A.d(d,"regressionQuad",(function(){return sA})),A.d(d,"sampleCurve",(function(){return hA})),A.d(d,"sampleLogNormal",(function(){return Yt})),A.d(d,"sampleNormal",(function(){return Mt})),A.d(d,"sampleUniform",(function(){return Wt})),A.d(d,"setRandom",(function(){return Rt})),A.d(d,"DATE",(function(){return wA.a})),A.d(d,"DAY",(function(){return wA.b})),A.d(d,"DAYOFYEAR",(function(){return wA.c})),A.d(d,"HOURS",(function(){return wA.d})),A.d(d,"MILLISECONDS",(function(){return wA.e})),A.d(d,"MINUTES",(function(){return wA.f})),A.d(d,"MONTH",(function(){return wA.g})),A.d(d,"QUARTER",(function(){return wA.h})),A.d(d,"SECONDS",(function(){return wA.i})),A.d(d,"TIME_UNITS",(function(){return wA.j})),A.d(d,"WEEK",(function(){return wA.k})),A.d(d,"YEAR",(function(){return wA.l})),A.d(d,"dayofyear",(function(){return wA.m})),A.d(d,"timeBin",(function(){return wA.n})),A.d(d,"timeFloor",(function(){return wA.o})),A.d(d,"timeInterval",(function(){return wA.p})),A.d(d,"timeOffset",(function(){return wA.q})),A.d(d,"timeSequence",(function(){return wA.r})),A.d(d,"timeUnitSpecifier",(function(){return wA.s})),A.d(d,"timeUnits",(function(){return wA.t})),A.d(d,"utcFloor",(function(){return wA.u})),A.d(d,"utcInterval",(function(){return wA.v})),A.d(d,"utcOffset",(function(){return wA.w})),A.d(d,"utcSequence",(function(){return wA.x})),A.d(d,"utcdayofyear",(function(){return wA.y})),A.d(d,"utcweek",(function(){return wA.z})),A.d(d,"week",(function(){return wA.A})),A.d(d,"format",(function(){return he.a})),A.d(d,"formats",(function(){return he.b})),A.d(d,"inferType",(function(){return he.c})),A.d(d,"inferTypes",(function(){return he.d})),A.d(d,"loader",(function(){return he.e})),A.d(d,"read",(function(){return he.f})),A.d(d,"responseType",(function(){return he.g})),A.d(d,"typeParsers",(function(){return he.h})),A.d(d,"Bounds",(function(){return xl})),A.d(d,"CanvasHandler",(function(){return eh})),A.d(d,"CanvasRenderer",(function(){return ih})),A.d(d,"Gradient",(function(){return Zu})),A.d(d,"GroupItem",(function(){return Ul})),A.d(d,"Handler",(function(){return HC})),A.d(d,"Item",(function(){return Nl})),A.d(d,"Marks",(function(){return SC})),A.d(d,"RenderType",(function(){return Lh})),A.d(d,"Renderer",(function(){return JC})),A.d(d,"ResourceLoader",(function(){return _l})),A.d(d,"SVGHandler",(function(){return ah})),A.d(d,"SVGRenderer",(function(){return mh})),A.d(d,"SVGStringRenderer",(function(){return Oh})),A.d(d,"Scenegraph",(function(){return NC})),A.d(d,"boundClip",(function(){return Vh})),A.d(d,"boundContext",(function(){return nI})),A.d(d,"boundItem",(function(){return FC})),A.d(d,"boundMark",(function(){return DC})),A.d(d,"boundStroke",(function(){return Ll})),A.d(d,"domChild",(function(){return OC})),A.d(d,"domClear",(function(){return LC})),A.d(d,"domCreate",(function(){return _C})),A.d(d,"domFind",(function(){return MC})),A.d(d,"font",(function(){return QC})),A.d(d,"fontFamily",(function(){return EC})),A.d(d,"fontSize",(function(){return hC})),A.d(d,"intersect",(function(){return Hh})),A.d(d,"intersectBoxLine",(function(){return CI})),A.d(d,"intersectPath",(function(){return cI})),A.d(d,"intersectPoint",(function(){return uI})),A.d(d,"intersectRule",(function(){return II})),A.d(d,"lineHeight",(function(){return fC})),A.d(d,"markup",(function(){return Bh})),A.d(d,"multiLineOffset",(function(){return BC})),A.d(d,"pathCurves",(function(){return Yu})),A.d(d,"pathEqual",(function(){return Wh})),A.d(d,"pathParse",(function(){return Pu})),A.d(d,"pathRectangle",(function(){return hl})),A.d(d,"pathRender",(function(){return nl})),A.d(d,"pathSymbols",(function(){return al})),A.d(d,"pathTrail",(function(){return fl})),A.d(d,"point",(function(){return ZC})),A.d(d,"renderModule",(function(){return Zh})),A.d(d,"resetSVGClipId",(function(){return Gl})),A.d(d,"resetSVGDefIds",(function(){return Xh})),A.d(d,"sceneEqual",(function(){return Kh})),A.d(d,"sceneFromJSON",(function(){return xC})),A.d(d,"scenePickVisit",(function(){return bI})),A.d(d,"sceneToJSON",(function(){return kC})),A.d(d,"sceneVisit",(function(){return mI})),A.d(d,"sceneZOrder",(function(){return vI})),A.d(d,"serializeXML",(function(){return ph})),A.d(d,"textMetrics",(function(){return gC})),A.d(d,"interpolate",(function(){return Iu})),A.d(d,"interpolateColors",(function(){return cu})),A.d(d,"interpolateRange",(function(){return gu})),A.d(d,"quantizeInterpolator",(function(){return uu})),A.d(d,"scale",(function(){return $c})),A.d(d,"scheme",(function(){return du})),A.d(d,"projection",(function(){return KQ})),A.d(d,"View",(function(){return _G})),A.d(d,"defaultLocale",(function(){return fe.a})),A.d(d,"formatLocale",(function(){return fe.c})),A.d(d,"locale",(function(){return fe.b})),A.d(d,"resetDefaultLocale",(function(){return fe.d})),A.d(d,"timeFormatLocale",(function(){return fe.e})),A.d(d,"expressionFunction",(function(){return BD})),A.d(d,"parse",(function(){return gU})),A.d(d,"runtimeContext",(function(){return FD})),A.d(d,"codegenExpression",(function(){return lS})),A.d(d,"parseExpression",(function(){return gS})),A.d(d,"parseSelector",(function(){return jG})),A.d(d,"version",(function(){return uU}));var B={};A.r(B),A.d(B,"invalidSpec",(function(){return wO})),A.d(B,"FIT_NON_SINGLE",(function(){return SO})),A.d(B,"containerSizeNonSingle",(function(){return FO})),A.d(B,"containerSizeNotCompatibleWithAutosize",(function(){return RO})),A.d(B,"droppingFit",(function(){return DO})),A.d(B,"unknownField",(function(){return GO})),A.d(B,"cannotProjectOnChannelWithoutField",(function(){return kO})),A.d(B,"cannotProjectAggregate",(function(){return xO})),A.d(B,"nearestNotSupportForContinuous",(function(){return NO})),A.d(B,"selectionNotSupported",(function(){return UO})),A.d(B,"selectionNotFound",(function(){return _O})),A.d(B,"SCALE_BINDINGS_CONTINUOUS",(function(){return MO})),A.d(B,"LEGEND_BINDINGS_MUST_HAVE_PROJECTION",(function(){return OO})),A.d(B,"cannotLookupVariableParameter",(function(){return LO})),A.d(B,"noSameUnitLookup",(function(){return TO})),A.d(B,"NEEDS_SAME_SELECTION",(function(){return ZO})),A.d(B,"INTERVAL_INITIALIZED_WITH_X_Y",(function(){return HO})),A.d(B,"noSuchRepeatedValue",(function(){return YO})),A.d(B,"columnsNotSupportByRowCol",(function(){return JO})),A.d(B,"CONCAT_CANNOT_SHARE_AXIS",(function(){return jO})),A.d(B,"unrecognizedParse",(function(){return PO})),A.d(B,"differentParse",(function(){return VO})),A.d(B,"ADD_SAME_CHILD_TWICE",(function(){return KO})),A.d(B,"invalidTransformIgnored",(function(){return WO})),A.d(B,"NO_FIELDS_NEEDS_AS",(function(){return XO})),A.d(B,"customFormatTypeNotAllowed",(function(){return qO})),A.d(B,"projectionOverridden",(function(){return zO})),A.d(B,"REPLACE_ANGLE_WITH_THETA",(function(){return $O})),A.d(B,"primitiveChannelDef",(function(){return eL})),A.d(B,"invalidFieldType",(function(){return tL})),A.d(B,"invalidFieldTypeForCountAggregate",(function(){return AL})),A.d(B,"invalidAggregate",(function(){return nL})),A.d(B,"missingFieldType",(function(){return rL})),A.d(B,"droppingColor",(function(){return iL})),A.d(B,"relativeBandSizeNotSupported",(function(){return oL})),A.d(B,"emptyFieldDef",(function(){return aL})),A.d(B,"LINE_WITH_VARYING_SIZE",(function(){return sL})),A.d(B,"incompatibleChannel",(function(){return gL})),A.d(B,"invalidEncodingChannel",(function(){return cL})),A.d(B,"channelShouldBeDiscrete",(function(){return uL})),A.d(B,"channelShouldBeDiscreteOrDiscretizing",(function(){return lL})),A.d(B,"facetChannelDropped",(function(){return IL})),A.d(B,"discreteChannelCannotEncode",(function(){return CL})),A.d(B,"rangeMarkAlignmentCannotBeExpression",(function(){return hL})),A.d(B,"lineWithRange",(function(){return fL})),A.d(B,"orientOverridden",(function(){return dL})),A.d(B,"CANNOT_UNION_CUSTOM_DOMAIN_WITH_FIELD_DOMAIN",(function(){return BL})),A.d(B,"cannotUseScalePropertyWithNonColor",(function(){return pL})),A.d(B,"cannotUseRelativeBandSizeWithNonBandScale",(function(){return EL})),A.d(B,"unaggregateDomainHasNoEffectForRawField",(function(){return QL})),A.d(B,"unaggregateDomainWithNonSharedDomainOp",(function(){return yL})),A.d(B,"unaggregatedDomainWithLogScale",(function(){return vL})),A.d(B,"cannotApplySizeToNonOrientedMark",(function(){return mL})),A.d(B,"scaleTypeNotWorkWithChannel",(function(){return bL})),A.d(B,"scaleTypeNotWorkWithFieldDef",(function(){return wL})),A.d(B,"scalePropertyNotWorkWithScaleType",(function(){return SL})),A.d(B,"scaleTypeNotWorkWithMark",(function(){return FL})),A.d(B,"stepDropped",(function(){return RL})),A.d(B,"mergeConflictingProperty",(function(){return DL})),A.d(B,"mergeConflictingDomainProperty",(function(){return GL})),A.d(B,"independentScaleMeansIndependentGuide",(function(){return kL})),A.d(B,"domainSortDropped",(function(){return xL})),A.d(B,"MORE_THAN_ONE_SORT",(function(){return NL})),A.d(B,"FACETED_INDEPENDENT_DIFFERENT_SOURCES",(function(){return UL})),A.d(B,"FACETED_INDEPENDENT_SAME_FIELDS_DIFFERENT_SOURCES",(function(){return _L})),A.d(B,"FACETED_INDEPENDENT_SAME_SOURCE",(function(){return ML})),A.d(B,"INVALID_CHANNEL_FOR_AXIS",(function(){return OL})),A.d(B,"cannotStackRangedMark",(function(){return LL})),A.d(B,"cannotStackNonLinearScale",(function(){return TL})),A.d(B,"stackNonSummativeAggregate",(function(){return ZL})),A.d(B,"invalidTimeUnit",(function(){return HL})),A.d(B,"droppedDay",(function(){return YL})),A.d(B,"errorBarCenterAndExtentAreNotNeeded",(function(){return JL})),A.d(B,"errorBarCenterIsUsedWithWrongExtent",(function(){return jL})),A.d(B,"errorBarContinuousAxisHasCustomizedAggregate",(function(){return PL})),A.d(B,"errorBand1DNotSupport",(function(){return VL})),A.d(B,"channelRequiredForBinned",(function(){return KL})),A.d(B,"channelShouldNotBeUsedForBinned",(function(){return WL})),A.d(B,"domainRequiredForThresholdScale",(function(){return XL}));var p={};A.r(p),A.d(p,"version",(function(){return wz})),A.d(p,"compile",(function(){return vz})),A.d(p,"normalize",(function(){return Xj})),A.d(p,"deepEqual",(function(){return n_})),A.d(p,"duplicate",(function(){return r_})),A.d(p,"pick",(function(){return i_})),A.d(p,"omit",(function(){return o_})),A.d(p,"stringify",(function(){return a_})),A.d(p,"hash",(function(){return s_})),A.d(p,"isNullOrFalse",(function(){return g_})),A.d(p,"contains",(function(){return c_})),A.d(p,"some",(function(){return u_})),A.d(p,"every",(function(){return l_})),A.d(p,"mergeDeep",(function(){return I_})),A.d(p,"unique",(function(){return h_})),A.d(p,"isEqual",(function(){return f_})),A.d(p,"setEqual",(function(){return d_})),A.d(p,"hasIntersection",(function(){return B_})),A.d(p,"prefixGenerator",(function(){return p_})),A.d(p,"fieldIntersection",(function(){return E_})),A.d(p,"isEmpty",(function(){return Q_})),A.d(p,"keys",(function(){return y_})),A.d(p,"vals",(function(){return v_})),A.d(p,"entries",(function(){return m_})),A.d(p,"isBoolean",(function(){return b_})),A.d(p,"varName",(function(){return w_})),A.d(p,"logicalExpr",(function(){return S_})),A.d(p,"deleteNestedProperty",(function(){return F_})),A.d(p,"titleCase",(function(){return R_})),A.d(p,"accessPathWithDatum",(function(){return D_})),A.d(p,"flatAccessWithDatum",(function(){return G_})),A.d(p,"replacePathInField",(function(){return x_})),A.d(p,"replaceAll",(function(){return N_})),A.d(p,"removePathFromField",(function(){return U_})),A.d(p,"accessPathDepth",(function(){return __})),A.d(p,"getFirstDefined",(function(){return M_})),A.d(p,"uniqueId",(function(){return L_})),A.d(p,"resetIdCounter",(function(){return T_})),A.d(p,"internalField",(function(){return Z_})),A.d(p,"isInternalField",(function(){return H_})),A.d(p,"normalizeAngle",(function(){return Y_})),A.d(p,"isNumeric",(function(){return J_}));var E={};A.r(E),A.d(E,"dark",(function(){return Fz})),A.d(E,"excel",(function(){return Rz})),A.d(E,"fivethirtyeight",(function(){return Dz})),A.d(E,"ggplot2",(function(){return Gz})),A.d(E,"googlecharts",(function(){return Lz})),A.d(E,"latimes",(function(){return Nz})),A.d(E,"quartz",(function(){return Uz})),A.d(E,"urbaninstitute",(function(){return Oz})),A.d(E,"version",(function(){return Tz})),A.d(E,"vox",(function(){return _z}));var Q=A(83),y=A(1),v=A(4),m=A(24),b=A(9),w=A(10),S=A(13),F=A.n(S),R=A(0),D=A.n(R),G={};function k(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:G,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:G,A=Object.keys(e),n=Object.keys(t);return e===t||A.length===n.length&&A.every((function(A){return e[A]===t[A]}))}var x=function(){var e=function(t,A){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var A in t)t.hasOwnProperty(A)&&(e[A]=t[A])})(t,A)};return function(t,A){function n(){this.constructor=t}e(t,A),t.prototype=null===A?Object.create(A):(n.prototype=A.prototype,new n)}}(),N=Object.prototype.hasOwnProperty;function U(e,t){return N.call(e,t)}function _(e){if(Array.isArray(e)){for(var t=new Array(e.length),A=0;A<t.length;A++)t[A]=""+A;return t}if(Object.keys)return Object.keys(e);t=[];for(var n in e)U(e,n)&&t.push(n);return t}function M(e){switch(typeof e){case"object":return JSON.parse(JSON.stringify(e));case"undefined":return null;default:return e}}function O(e){for(var t,A=0,n=e.length;A<n;){if(!((t=e.charCodeAt(A))>=48&&t<=57))return!1;A++}return!0}function L(e){return-1===e.indexOf("/")&&-1===e.indexOf("~")?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function T(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function Z(e,t){var A=[e];for(var n in t){var r="object"===typeof t[n]?JSON.stringify(t[n],null,2):t[n];"undefined"!==typeof r&&A.push(n+": "+r)}return A.join("\n")}var H=function(e){function t(t,A,n,r,i){var o=this.constructor,a=e.call(this,Z(t,{name:A,index:n,operation:r,tree:i}))||this;return a.name=A,a.index=n,a.operation=r,a.tree=i,Object.setPrototypeOf(a,o.prototype),a.message=Z(t,{name:A,index:n,operation:r,tree:i}),a}return x(t,e),t}(Error),Y=H,J=M,j={add:function(e,t,A){return e[t]=this.value,{newDocument:A}},remove:function(e,t,A){var n=e[t];return delete e[t],{newDocument:A,removed:n}},replace:function(e,t,A){var n=e[t];return e[t]=this.value,{newDocument:A,removed:n}},move:function(e,t,A){var n=V(A,this.path);n&&(n=M(n));var r=K(A,{op:"remove",path:this.from}).removed;return K(A,{op:"add",path:this.path,value:r}),{newDocument:A,removed:n}},copy:function(e,t,A){var n=V(A,this.from);return K(A,{op:"add",path:this.path,value:M(n)}),{newDocument:A}},test:function(e,t,A){return{newDocument:A,test:$(e[t],this.value)}},_get:function(e,t,A){return this.value=e[t],{newDocument:A}}},P={add:function(e,t,A){return O(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:A,index:t}},remove:function(e,t,A){return{newDocument:A,removed:e.splice(t,1)[0]}},replace:function(e,t,A){var n=e[t];return e[t]=this.value,{newDocument:A,removed:n}},move:j.move,copy:j.copy,test:j.test,_get:j._get};function V(e,t){if(""==t)return e;var A={op:"_get",path:t};return K(e,A),A.value}function K(e,t,A,n,r,i){if(void 0===A&&(A=!1),void 0===n&&(n=!0),void 0===r&&(r=!0),void 0===i&&(i=0),A&&("function"==typeof A?A(t,0,e,t.path):q(t,0)),""===t.path){var o={newDocument:e};if("add"===t.op)return o.newDocument=t.value,o;if("replace"===t.op)return o.newDocument=t.value,o.removed=e,o;if("move"===t.op||"copy"===t.op)return o.newDocument=V(e,t.from),"move"===t.op&&(o.removed=e),o;if("test"===t.op){if(o.test=$(e,t.value),!1===o.test)throw new Y("Test operation failed","TEST_OPERATION_FAILED",i,t,e);return o.newDocument=e,o}if("remove"===t.op)return o.removed=e,o.newDocument=null,o;if("_get"===t.op)return t.value=e,o;if(A)throw new Y("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",i,t,e);return o}n||(e=M(e));var a=(t.path||"").split("/"),s=e,g=1,c=a.length,u=void 0,l=void 0,I=void 0;for(I="function"==typeof A?A:q;;){if((l=a[g])&&-1!=l.indexOf("~")&&(l=T(l)),r&&"__proto__"==l)throw new TypeError("JSON-Patch: modifying `__proto__` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(A&&void 0===u&&(void 0===s[l]?u=a.slice(0,g).join("/"):g==c-1&&(u=t.path),void 0!==u&&I(t,0,e,u)),g++,Array.isArray(s)){if("-"===l)l=s.length;else{if(A&&!O(l))throw new Y("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",i,t,e);O(l)&&(l=~~l)}if(g>=c){if(A&&"add"===t.op&&l>s.length)throw new Y("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",i,t,e);if(!1===(o=P[t.op].call(t,s,l,e)).test)throw new Y("Test operation failed","TEST_OPERATION_FAILED",i,t,e);return o}}else if(g>=c){if(!1===(o=j[t.op].call(t,s,l,e)).test)throw new Y("Test operation failed","TEST_OPERATION_FAILED",i,t,e);return o}if(s=s[l],A&&g<c&&(!s||"object"!==typeof s))throw new Y("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",i,t,e)}}function W(e,t,A,n,r){if(void 0===n&&(n=!0),void 0===r&&(r=!0),A&&!Array.isArray(t))throw new Y("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");n||(e=M(e));for(var i=new Array(t.length),o=0,a=t.length;o<a;o++)i[o]=K(e,t[o],A,!0,r,o),e=i[o].newDocument;return i.newDocument=e,i}function X(e,t,A){var n=K(e,t);if(!1===n.test)throw new Y("Test operation failed","TEST_OPERATION_FAILED",A,t,e);return n.newDocument}function q(e,t,A,n){if("object"!==typeof e||null===e||Array.isArray(e))throw new Y("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,A);if(!j[e.op])throw new Y("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,A);if("string"!==typeof e.path)throw new Y("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,A);if(0!==e.path.indexOf("/")&&e.path.length>0)throw new Y('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,A);if(("move"===e.op||"copy"===e.op)&&"string"!==typeof e.from)throw new Y("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,A);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&void 0===e.value)throw new Y("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,A);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&function e(t){if(void 0===t)return!0;if(t)if(Array.isArray(t)){for(var A=0,n=t.length;A<n;A++)if(e(t[A]))return!0}else if("object"===typeof t){var r=_(t),i=r.length;for(A=0;A<i;A++)if(e(t[r[A]]))return!0}return!1}(e.value))throw new Y("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,A);if(A)if("add"==e.op){var r=e.path.split("/").length,i=n.split("/").length;if(r!==i+1&&r!==i)throw new Y("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,A)}else if("replace"===e.op||"remove"===e.op||"_get"===e.op){if(e.path!==n)throw new Y("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,A)}else if("move"===e.op||"copy"===e.op){var o=z([{op:"_get",path:e.from,value:void 0}],A);if(o&&"OPERATION_PATH_UNRESOLVABLE"===o.name)throw new Y("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,A)}}function z(e,t,A){try{if(!Array.isArray(e))throw new Y("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)W(M(t),M(e),A||!0);else{A=A||q;for(var n=0;n<e.length;n++)A(e[n],n,t,void 0)}}catch(r){if(r instanceof Y)return r;throw r}}function $(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){var A,n,r,i=Array.isArray(e),o=Array.isArray(t);if(i&&o){if((n=e.length)!=t.length)return!1;for(A=n;0!==A--;)if(!$(e[A],t[A]))return!1;return!0}if(i!=o)return!1;var a=Object.keys(e);if((n=a.length)!==Object.keys(t).length)return!1;for(A=n;0!==A--;)if(!t.hasOwnProperty(a[A]))return!1;for(A=n;0!==A--;)if(!$(e[r=a[A]],t[r]))return!1;return!0}return e!==e&&t!==t}var ee=new WeakMap,te=function(e){this.observers=new Map,this.obj=e},Ae=function(e,t){this.callback=e,this.observer=t};function ne(e,t){t.unobserve()}function re(e,t){var A,n=function(e){return ee.get(e)}(e);if(n){var r=function(e,t){return e.observers.get(t)}(n,t);A=r&&r.observer}else n=new te(e),ee.set(e,n);if(A)return A;if(A={},n.value=M(e),t){A.callback=t,A.next=null;var i=function(){ie(A)},o=function(){clearTimeout(A.next),A.next=setTimeout(i)};"undefined"!==typeof window&&(window.addEventListener("mouseup",o),window.addEventListener("keyup",o),window.addEventListener("mousedown",o),window.addEventListener("keydown",o),window.addEventListener("change",o))}return A.patches=[],A.object=e,A.unobserve=function(){ie(A),clearTimeout(A.next),function(e,t){e.observers.delete(t.callback)}(n,A),"undefined"!==typeof window&&(window.removeEventListener("mouseup",o),window.removeEventListener("keyup",o),window.removeEventListener("mousedown",o),window.removeEventListener("keydown",o),window.removeEventListener("change",o))},n.observers.set(t,new Ae(t,A)),A}function ie(e,t){void 0===t&&(t=!1);var A=ee.get(e.object);oe(A.value,e.object,e.patches,"",t),e.patches.length&&W(A.value,e.patches);var n=e.patches;return n.length>0&&(e.patches=[],e.callback&&e.callback(n)),n}function oe(e,t,A,n,r){if(t!==e){"function"===typeof t.toJSON&&(t=t.toJSON());for(var i=_(t),o=_(e),a=!1,s=o.length-1;s>=0;s--){var g=e[u=o[s]];if(!U(t,u)||void 0===t[u]&&void 0!==g&&!1===Array.isArray(t))Array.isArray(e)===Array.isArray(t)?(r&&A.push({op:"test",path:n+"/"+L(u),value:M(g)}),A.push({op:"remove",path:n+"/"+L(u)}),a=!0):(r&&A.push({op:"test",path:n,value:e}),A.push({op:"replace",path:n,value:t}),!0);else{var c=t[u];"object"==typeof g&&null!=g&&"object"==typeof c&&null!=c&&Array.isArray(g)===Array.isArray(c)?oe(g,c,A,n+"/"+L(u),r):g!==c&&(!0,r&&A.push({op:"test",path:n+"/"+L(u),value:M(g)}),A.push({op:"replace",path:n+"/"+L(u),value:M(c)}))}}if(a||i.length!=o.length)for(s=0;s<i.length;s++){var u;U(e,u=i[s])||void 0===t[u]||A.push({op:"add",path:n+"/"+L(u),value:M(t[u])})}}}function ae(e,t,A){void 0===A&&(A=!1);var n=[];return oe(e,t,n,"",A),n}Object.assign({},n,r,{JsonPatchError:H,deepClone:M,escapePathComponent:L,unescapePathComponent:T});var se=A(431),ge=A.n(se),ce=A(524),ue=A(5),le=A(3),Ie=A.n(le),Ce=A(12),he=A(177),fe=A(131);function de(e){var t=e||ue.y,A=[],n={};return A.add=function(e){var r=t(e);return n[r]||(n[r]=1,A.push(e)),A},A.remove=function(e){var r=t(e);if(n[r]){n[r]=0;var i=A.indexOf(e);i>=0&&A.splice(i,1)}return A},A}function Be(e,t){return pe.apply(this,arguments)}function pe(){return(pe=Object(Ce.a)(Ie.a.mark((function e(t,A){return Ie.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,A(t);case 3:e.next=8;break;case 5:e.prev=5,e.t0=e.catch(0),t.error(e.t0);case 8:case"end":return e.stop()}}),e,null,[[0,5]])})))).apply(this,arguments)}var Ee=Symbol("vega_id"),Qe=1;function ye(e){return!(!e||!ve(e))}function ve(e){return e[Ee]}function me(e,t){return e[Ee]=t,e}function be(e){var t=e===Object(e)?e:{data:e};return ve(t)?t:me(t,Qe++)}function we(e){return Se(e,be({}))}function Se(e,t){for(var A in e)t[A]=e[A];return t}function Fe(e,t){return me(t,ve(e))}function Re(e,t){return e?t?function(A,n){return e(A,n)||ve(t(A))-ve(t(n))}:function(t,A){return e(t,A)||ve(t)-ve(A)}:null}function De(e){return e&&e.constructor===Ge}function Ge(){var e=[],t=[],A=[],n=[],r=[],i=null,o=!1;return{constructor:Ge,insert:function(t){for(var A=Object(ue.i)(t),n=A.length,r=0;r<n;++r)e.push(A[r]);return this},remove:function(e){for(var A=Object(ue.E)(e)?n:t,r=Object(ue.i)(e),i=r.length,o=0;o<i;++o)A.push(r[o]);return this},modify:function(e,t,n){var i={field:t,value:Object(ue.m)(n)};return Object(ue.E)(e)?(i.filter=e,r.push(i)):(i.tuple=e,A.push(i)),this},encode:function(e,t){return Object(ue.E)(e)?r.push({filter:e,field:t}):A.push({tuple:e,field:t}),this},clean:function(e){return i=e,this},reflow:function(){return o=!0,this},pulse:function(a,s){var g,c,u,l,I,C,h={},f={};for(g=0,c=s.length;g<c;++g)h[ve(s[g])]=1;for(g=0,c=t.length;g<c;++g)h[ve(I=t[g])]=-1;for(g=0,c=n.length;g<c;++g)l=n[g],s.forEach((function(e){l(e)&&(h[ve(e)]=-1)}));for(g=0,c=e.length;g<c;++g)C=ve(I=e[g]),h[C]?h[C]=1:a.add.push(be(e[g]));for(g=0,c=s.length;g<c;++g)I=s[g],h[ve(I)]<0&&a.rem.push(I);function d(e,t,A){A?e[t]=A(e):a.encode=t,o||(f[ve(e)]=e)}for(g=0,c=A.length;g<c;++g)I=(u=A[g]).tuple,l=u.field,(C=h[ve(I)])>0&&(d(I,l,u.value),a.modifies(l));for(g=0,c=r.length;g<c;++g)u=r[g],l=u.filter,s.forEach((function(e){l(e)&&h[ve(e)]>0&&d(e,u.field,u.value)})),a.modifies(u.field);if(o)a.mod=t.length||n.length?s.filter((function(e){return h[ve(e)]>0})):s.slice();else for(C in f)a.mod.push(f[C]);return(i||null==i&&(t.length||n.length))&&a.clean(!0),a}}}var ke="_:mod:_";function xe(){Object.defineProperty(this,ke,{writable:!0,value:{}})}xe.prototype={set:function(e,t,A,n){var r=this,i=r[e],o=r[ke];return null!=t&&t>=0?(i[t]!==A||n)&&(i[t]=A,o[t+":"+e]=-1,o[e]=-1):(i!==A||n)&&(r[e]=A,o[e]=Object(ue.B)(A)?1+A.length:-1),r},modified:function(e,t){var A=this[ke];if(!arguments.length){for(var n in A)if(A[n])return!0;return!1}if(Object(ue.B)(e)){for(var r=0;r<e.length;++r)if(A[e[r]])return!0;return!1}return null!=t&&t>=0?t+1<A[e]||!!A[t+":"+e]:!!A[e]},clear:function(){return this[ke]={},this}};var Ne=0,Ue=new xe;function _e(e,t,A,n){this.id=++Ne,this.value=e,this.stamp=-1,this.rank=-1,this.qrank=-1,this.flags=0,t&&(this._update=t),A&&this.parameters(A,n)}function Me(e){return function(t){var A=this.flags;return 0===arguments.length?!!(A&e):(this.flags=t?A|e:A&~e,this)}}_e.prototype={targets:function(){return this._targets||(this._targets=de(ue.x))},set:function(e){return this.value!==e?(this.value=e,1):0},skip:Me(1),modified:Me(2),parameters:function(e,t,A){var n=this;t=!1!==t;var r,i,o,a,s=this._argval=this._argval||new xe,g=this._argops=this._argops||[],c=[],u=function(e,A,r){r instanceof _e?(r!==n&&(t&&r.targets().add(n),c.push(r)),g.push({op:r,name:e,index:A})):s.set(e,A,r)};for(r in e)if(i=e[r],"pulse"===r)Object(ue.i)(i).forEach((function(e){e instanceof _e?e!==n&&(e.targets().add(n),c.push(e)):Object(ue.o)("Pulse parameters must be operator instances.")})),this.source=i;else if(Object(ue.B)(i))for(s.set(r,-1,Array(o=i.length)),a=0;a<o;++a)u(r,a,i[a]);else u(r,-1,i);return this.marshall().clear(),A&&(g.initonly=!0),c},marshall:function(e){var t,A,n,r,i=this._argval||Ue,o=this._argops;if(o){var a=o.length;for(A=0;A<a;++A)r=(n=(t=o[A]).op).modified()&&n.stamp===e,i.set(t.name,t.index,n.value,r);if(o.initonly){for(A=0;A<a;++A)(t=o[A]).op.targets().remove(this);this._argops=null,this._update=null}}return i},detach:function(){var e,t,A,n=this._argops;if(n)for(e=0,t=n.length;e<t;++e)(A=n[e].op)._targets&&A._targets.remove(this);this.pulse=null,this.source=null},evaluate:function(e){var t=this._update;if(t){var A=this.marshall(e.stamp),n=t.call(this,A,e);if(A.clear(),n!==this.value)this.value=n;else if(!this.modified())return e.StopPropagation}},run:function(e){return e.stamp<this.stamp?e.StopPropagation:(this.skip()?(this.skip(!1),t=0):t=this.evaluate(e),this.pulse=t||e);var t}};var Oe=0;function Le(e,t,A){this.id=++Oe,this.value=null,A&&(this.receive=A),e&&(this._filter=e),t&&(this._apply=t)}function Te(e,t,A){return new Le(e,t,A)}function Ze(){return(Ze=Object(Ce.a)(Ie.a.mark((function e(t,A){var n,r,i;return Ie.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this,r=0,e.prev=2,e.next=5,n.loader().load(t,{context:"dataflow",response:Object(he.g)(A&&A.type)});case 5:i=e.sent;try{i=n.parse(i,A)}catch(o){r=-2,n.warn("Data ingestion failed",t,o)}e.next=13;break;case 9:e.prev=9,e.t0=e.catch(2),r=-1,n.warn("Loading failed",t,e.t0);case 13:return e.abrupt("return",{data:i,status:r});case 14:case"end":return e.stop()}}),e,this,[[2,9]])})))).apply(this,arguments)}function He(){return(He=Object(Ce.a)(Ie.a.mark((function e(t,A,n){var r,i,o;return Ie.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(i=(r=this)._pending||Ye(r)).requests+=1,e.next=4,r.request(A,n);case 4:return o=e.sent,r.pulse(t,r.changeset().remove(ue.ib).insert(o.data||[])),i.done(),e.abrupt("return",o);case 8:case"end":return e.stop()}}),e,this)})))).apply(this,arguments)}function Ye(e){var t,A=new Promise((function(e){return t=e}));return A.requests=0,A.done=function(){0===--A.requests&&(e._pending=null,t(e))},e._pending=A}Le.prototype={_filter:ue.ib,_apply:ue.y,targets:function(){return this._targets||(this._targets=de(ue.x))},consume:function(e){return arguments.length?(this._consume=!!e,this):!!this._consume},receive:function(e){if(this._filter(e)){for(var t=this.value=this._apply(e),A=this._targets,n=A?A.length:0,r=0;r<n;++r)A[r].receive(t);this._consume&&(e.preventDefault(),e.stopPropagation())}},filter:function(e){var t=Te(e);return this.targets().add(t),t},apply:function(e){var t=Te(null,e);return this.targets().add(t),t},merge:function(){var e=Te();this.targets().add(e);for(var t=0,A=arguments.length;t<A;++t)arguments[t].targets().add(e);return e},throttle:function(e){var t=-1;return this.filter((function(){var A=Date.now();return A-t>e?(t=A,1):0}))},debounce:function(e){var t=Te();return this.targets().add(Te(null,null,Object(ue.n)(e,(function(e){var A=e.dataflow;t.receive(e),A&&A.run&&A.run()})))),t},between:function(e,t){var A=!1;return e.targets().add(Te(null,null,(function(){return A=!0}))),t.targets().add(Te(null,null,(function(){return A=!1}))),this.filter((function(){return A}))},detach:function(){this._filter=ue.ib,this._targets=null}};var Je={skip:!0};function je(e,t,A,n,r,i){var o,a,s=Object(ue.p)({},i,Je);Object(ue.E)(A)||(A=Object(ue.m)(A)),void 0===n?o=function(t){return e.touch(A(t))}:Object(ue.E)(n)?(a=new _e(null,n,r,!1),o=function(t){a.evaluate(t);var n=A(t),r=a.value;De(r)?e.pulse(n,r,i):e.update(n,r,s)}):o=function(t){return e.update(A(t),n,s)},t.apply(o)}function Pe(e,t,A,n,r,i){if(void 0===n)t.targets().add(A);else{var o=i||{},a=new _e(null,function(e,t){return t=Object(ue.E)(t)?t:Object(ue.m)(t),e?function(A,n){var r=t(A,n);return e.skip()||(e.skip(r!==this.value).value=r),r}:t}(A,n),r,!1);a.modified(o.force),a.rank=t.rank,t.targets().add(a),A&&(a.skip(!0),a.value=A.value,a.targets().add(A),e.connect(A,[a]))}}var Ve={};function Ke(e,t,A){this.dataflow=e,this.stamp=null==t?-1:t,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=A||null}function We(e,t){var A=[];return Object(ue.kb)(e,t,(function(e){return A.push(e)})),A}function Xe(e,t){var A={};return e.visit(t,(function(e){A[ve(e)]=1})),function(e){return A[ve(e)]?null:e}}function qe(e,t){return e?function(A,n){return e(A,n)&&t(A,n)}:t}function ze(e,t,A,n){var r=this,i=A.length,o=0;this.dataflow=e,this.stamp=t,this.fields=null,this.encode=n||null,this.pulses=A;for(var a=0;a<i;++a){var s=A[a];if(s.stamp===t){if(s.fields){var g=r.fields||(r.fields={});for(var c in s.fields)g[c]=1}s.changed(r.ADD)&&(o|=r.ADD),s.changed(r.REM)&&(o|=r.REM),s.changed(r.MOD)&&(o|=r.MOD)}}this.changes=o}function $e(){return($e=Object(Ce.a)(Ie.a.mark((function e(t,A,n){var r,i,o,a,s,g,c,u,l;return Ie.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=[],!(r=this)._pulse){e.next=3;break}return e.abrupt("return",tt(r));case 3:if(!r._pending){e.next=6;break}return e.next=6,r._pending;case 6:if(!A){e.next=9;break}return e.next=9,Be(r,A);case 9:if(r._touched.length){e.next=12;break}return r.debug("Dataflow invoked, but nothing to do."),e.abrupt("return",r);case 12:o=++r._clock,r._pulse=new Ke(r,o,t),r._touched.forEach((function(e){return r._enqueue(e,!0)})),r._touched=de(ue.x),a=0,e.prev=17;case 18:if(!(r._heap.size()>0)){e.next=35;break}if((s=r._heap.pop()).rank===s.qrank){e.next=23;break}return r._enqueue(s,!0),e.abrupt("continue",18);case 23:if(!(g=s.run(r._getPulse(s,t))).then){e.next=30;break}return e.next=27,g;case 27:g=e.sent,e.next=31;break;case 30:g.async&&(i.push(g.async),g=Ve);case 31:g!==Ve&&s._targets&&s._targets.forEach((function(e){return r._enqueue(e)})),++a,e.next=18;break;case 35:e.next=41;break;case 37:e.prev=37,e.t0=e.catch(17),r._heap.clear(),c=e.t0;case 41:if(r._input={},r._pulse=null,r.debug("Pulse ".concat(o,": ").concat(a," operators")),c&&(r._postrun=[],r.error(c)),!r._postrun.length){e.next=55;break}u=r._postrun.sort((function(e,t){return t.priority-e.priority})),r._postrun=[],l=0;case 49:if(!(l<u.length)){e.next=55;break}return e.next=52,Be(r,u[l].callback);case 52:++l,e.next=49;break;case 55:if(!n){e.next=58;break}return e.next=58,Be(r,n);case 58:return i.length&&Promise.all(i).then((function(e){return r.runAsync(null,(function(){e.forEach((function(e){try{e(r)}catch(t){r.error(t)}}))}))})),e.abrupt("return",r);case 60:case"end":return e.stop()}}),e,this,[[17,37]])})))).apply(this,arguments)}function et(){return(et=Object(Ce.a)(Ie.a.mark((function e(t,A,n){var r,i=this;return Ie.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._running){e.next=5;break}return e.next=3,this._running;case 3:e.next=0;break;case 5:return r=function(){return i._running=null},(this._running=this.evaluate(t,A,n)).then(r,r),e.abrupt("return",this._running);case 8:case"end":return e.stop()}}),e,this)})))).apply(this,arguments)}function tt(e){return e.error("Dataflow already running. Use runAsync() to chain invocations."),e}Ke.prototype={StopPropagation:Ve,ADD:1,REM:2,MOD:4,ADD_REM:3,ADD_MOD:5,ALL:7,REFLOW:8,SOURCE:16,NO_SOURCE:32,NO_FIELDS:64,fork:function(e){return new Ke(this.dataflow).init(this,e)},clone:function(){var e=this.fork(7);return e.add=e.add.slice(),e.rem=e.rem.slice(),e.mod=e.mod.slice(),e.source&&(e.source=e.source.slice()),e.materialize(23)},addAll:function(){var e=this;return!e.source||e.add===e.rem||!e.rem.length&&e.source.length===e.add.length||((e=new Ke(this.dataflow).init(this)).add=e.source,e.rem=[]),e},init:function(e,t){var A=this;return A.stamp=e.stamp,A.encode=e.encode,!e.fields||64&t||(A.fields=e.fields),1&t?(A.addF=e.addF,A.add=e.add):(A.addF=null,A.add=[]),2&t?(A.remF=e.remF,A.rem=e.rem):(A.remF=null,A.rem=[]),4&t?(A.modF=e.modF,A.mod=e.mod):(A.modF=null,A.mod=[]),32&t?(A.srcF=null,A.source=null):(A.srcF=e.srcF,A.source=e.source,e.cleans&&(A.cleans=e.cleans)),A},runAfter:function(e){this.dataflow.runAfter(e)},changed:function(e){var t=e||7;return 1&t&&this.add.length||2&t&&this.rem.length||4&t&&this.mod.length},reflow:function(e){if(e)return this.fork(7).reflow();var t=this.add.length,A=this.source&&this.source.length;return A&&A!==t&&(this.mod=this.source,t&&this.filter(4,Xe(this,1))),this},clean:function(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies:function(e){var t=this.fields||(this.fields={});return Object(ue.B)(e)?e.forEach((function(e){return t[e]=!0})):t[e]=!0,this},modified:function(e,t){var A=this.fields;return!(!t&&!this.mod.length||!A)&&(arguments.length?Object(ue.B)(e)?e.some((function(e){return A[e]})):A[e]:!!A)},filter:function(e,t){var A=this;return 1&e&&(A.addF=qe(A.addF,t)),2&e&&(A.remF=qe(A.remF,t)),4&e&&(A.modF=qe(A.modF,t)),16&e&&(A.srcF=qe(A.srcF,t)),A},materialize:function(e){var t=this;return 1&(e=e||7)&&t.addF&&(t.add=We(t.add,t.addF),t.addF=null),2&e&&t.remF&&(t.rem=We(t.rem,t.remF),t.remF=null),4&e&&t.modF&&(t.mod=We(t.mod,t.modF),t.modF=null),16&e&&t.srcF&&(t.source=t.source.filter(t.srcF),t.srcF=null),t},visit:function(e,t){var A=this,n=t;if(16&e)return Object(ue.kb)(A.source,A.srcF,n),A;1&e&&Object(ue.kb)(A.add,A.addF,n),2&e&&Object(ue.kb)(A.rem,A.remF,n),4&e&&Object(ue.kb)(A.mod,A.modF,n);var r=A.source;if(8&e&&r){var i=A.add.length+A.mod.length;i===r.length||(i?Object(ue.kb)(r,Xe(A,5),n):Object(ue.kb)(r,A.srcF,n))}return A}},Object(ue.z)(ze,Ke,{fork:function(e){var t=new Ke(this.dataflow).init(this,e&this.NO_FIELDS);return void 0!==e&&(e&t.ADD&&this.visit(t.ADD,(function(e){return t.add.push(e)})),e&t.REM&&this.visit(t.REM,(function(e){return t.rem.push(e)})),e&t.MOD&&this.visit(t.MOD,(function(e){return t.mod.push(e)}))),t},changed:function(e){return this.changes&e},modified:function(e){var t=this,A=t.fields;return A&&t.changes&t.MOD?Object(ue.B)(e)?e.some((function(e){return A[e]})):A[e]:0},filter:function(){Object(ue.o)("MultiPulse does not support filtering.")},materialize:function(){Object(ue.o)("MultiPulse does not support materialization.")},visit:function(e,t){var A=this,n=A.pulses,r=n.length,i=0;if(e&A.SOURCE)for(;i<r;++i)n[i].visit(e,t);else for(;i<r;++i)n[i].stamp===A.stamp&&n[i].visit(e,t);return A}});var At={skip:!1,force:!1};function nt(e){var t=[];return{clear:function(){return t=[]},size:function(){return t.length},peek:function(){return t[0]},push:function(A){return t.push(A),rt(t,0,t.length-1,e)},pop:function(){var A,n=t.pop();return t.length?(A=t[0],t[0]=n,function(e,t,A){var n,r=t,i=e.length,o=e[t],a=1+(t<<1);for(;a<i;)(n=a+1)<i&&A(e[a],e[n])>=0&&(a=n),e[t]=e[a],a=1+((t=a)<<1);e[t]=o,rt(e,r,t,A)}(t,0,e)):A=n,A}}}function rt(e,t,A,n){for(var r,i,o=e[A];A>t&&n(o,r=e[i=A-1>>1])<0;)e[A]=r,A=i;return e[A]=o}function it(){this.logger(Object(ue.M)()),this.logLevel(ue.b),this._clock=0,this._rank=0,this._locale=Object(fe.a)();try{this._loader=Object(he.e)()}catch(e){}this._touched=de(ue.x),this._input={},this._pulse=null,this._heap=nt((function(e,t){return e.qrank-t.qrank})),this._postrun=[]}function ot(e){return function(){return this._log[e].apply(this,arguments)}}function at(e,t){_e.call(this,e,null,t)}it.prototype={stamp:function(){return this._clock},loader:function(e){return arguments.length?(this._loader=e,this):this._loader},locale:function(e){return arguments.length?(this._locale=e,this):this._locale},logger:function(e){return arguments.length?(this._log=e,this):this._log},error:ot("error"),warn:ot("warn"),info:ot("info"),debug:ot("debug"),logLevel:ot("level"),cleanThreshold:1e4,add:function(e,t,A,n){var r,i=1;return e instanceof _e?r=e:e&&e.prototype instanceof _e?r=new e:Object(ue.E)(e)?r=new _e(null,e):(i=0,r=new _e(e,t)),this.rank(r),i&&(n=A,A=t),A&&this.connect(r,r.parameters(A,n)),this.touch(r),r},connect:function(e,t){for(var A=e.rank,n=t.length,r=0;r<n;++r)if(A<t[r].rank)return void this.rerank(e)},rank:function(e){e.rank=++this._rank},rerank:function(e){for(var t,A,n,r=[e];r.length;)if(this.rank(t=r.pop()),A=t._targets)for(n=A.length;--n>=0;)r.push(t=A[n]),t===e&&Object(ue.o)("Cycle detected in dataflow graph.")},pulse:function(e,t,A){this.touch(e,A||At);var n=new Ke(this,this._clock+(this._pulse?0:1)),r=e.pulse&&e.pulse.source||[];return n.target=e,this._input[e.id]=t.pulse(n,r),this},touch:function(e,t){var A=t||At;return this._pulse?this._enqueue(e):this._touched.add(e),A.skip&&e.skip(!0),this},update:function(e,t,A){var n=A||At;return(e.set(t)||n.force)&&this.touch(e,n),this},changeset:Ge,ingest:function(e,t,A){return t=this.parse(t,A),this.pulse(e,this.changeset().insert(t))},parse:function(e,t){var A=this.locale();return Object(he.f)(e,t,A.timeParse,A.utcParse)},preload:function(e,t,A){return He.apply(this,arguments)},request:function(e,t){return Ze.apply(this,arguments)},events:function(e,t,A,n){for(var r,i=this,o=Te(A,n),a=function(e){e.dataflow=i;try{o.receive(e)}catch(t){i.error(t)}finally{i.run()}},s=(r="string"===typeof e&&"undefined"!==typeof document?document.querySelectorAll(e):Object(ue.i)(e)).length,g=0;g<s;++g)r[g].addEventListener(t,a);return o},on:function(e,t,A,n,r){return(e instanceof _e?Pe:je)(this,e,t,A,n,r),this},evaluate:function(e,t,A){return $e.apply(this,arguments)},run:function(e,t,A){return this._pulse?tt(this):(this.evaluate(e,t,A),this)},runAsync:function(e,t,A){return et.apply(this,arguments)},runAfter:function(e,t,A){if(this._pulse||t)this._postrun.push({priority:A||0,callback:e});else try{e(this)}catch(n){this.error(n)}},_enqueue:function(e,t){var A=e.stamp<this._clock;A&&(e.stamp=this._clock),(A||t)&&(e.qrank=e.rank,this._heap.push(e))},_getPulse:function(e,t){var A=e.source,n=this._clock;return A&&Object(ue.B)(A)?new ze(this,n,A.map((function(e){return e.pulse})),t):this._input[e.id]||function(e,t){if(t&&t.stamp===e.stamp)return t;e=e.fork(),t&&t!==Ve&&(e.source=t.source);return e}(this._pulse,A&&A.pulse)}},Object(ue.z)(at,_e,{run:function(e){var t,A=this;return e.stamp<this.stamp?e.StopPropagation:(this.skip()?this.skip(!1):t=this.evaluate(e),(t=t||e).then?t=t.then((function(e){return A.pulse=e})):t!==e.StopPropagation&&(this.pulse=t),t)},evaluate:function(e){var t=this.marshall(e.stamp),A=this.transform(t,e);return t.clear(),A},transform:function(){}});var st={};function gt(e){var t=ct(e);return t&&t.Definition||null}function ct(e){return e=e&&e.toLowerCase(),Object(ue.w)(st,e)?st[e]:null}var ut=A(6),lt=A(8),It=function(e,t){return e<t?-1:e>t?1:e>=t?0:NaN};function Ct(e,t){var A;if(void 0===t){var n,r=Object(ut.a)(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;null!=i&&(A<i||void 0===A&&i>=i)&&(A=i)}}catch(c){r.e(c)}finally{r.f()}}else{var o,a=-1,s=Object(ut.a)(e);try{for(s.s();!(o=s.n()).done;){var g=o.value;null!=(g=t(g,++a,e))&&(A<g||void 0===A&&g>=g)&&(A=g)}}catch(c){s.e(c)}finally{s.f()}}return A}function ht(e,t){var A;if(void 0===t){var n,r=Object(ut.a)(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;null!=i&&(A>i||void 0===A&&i>=i)&&(A=i)}}catch(c){r.e(c)}finally{r.f()}}else{var o,a=-1,s=Object(ut.a)(e);try{for(s.s();!(o=s.n()).done;){var g=o.value;null!=(g=t(g,++a,e))&&(A>g||void 0===A&&g>=g)&&(A=g)}}catch(c){s.e(c)}finally{s.f()}}return A}function ft(e,t,A){var n=e[t];e[t]=e[A],e[A]=n}var dt=Ie.a.mark(pt),Bt=function(e){return null===e?NaN:+e};function pt(e,t){var A,n,r,i,o,a,s;return Ie.a.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:if(void 0!==t){g.next=21;break}A=Object(ut.a)(e),g.prev=2,A.s();case 4:if((n=A.n()).done){g.next=11;break}if(!(null!=(r=n.value)&&(r=+r)>=r)){g.next=9;break}return g.next=9,r;case 9:g.next=4;break;case 11:g.next=16;break;case 13:g.prev=13,g.t0=g.catch(2),A.e(g.t0);case 16:return g.prev=16,A.f(),g.finish(16);case 19:g.next=40;break;case 21:i=-1,o=Object(ut.a)(e),g.prev=23,o.s();case 25:if((a=o.n()).done){g.next=32;break}if(s=a.value,!(null!=(s=t(s,++i,e))&&(s=+s)>=s)){g.next=30;break}return g.next=30,s;case 30:g.next=25;break;case 32:g.next=37;break;case 34:g.prev=34,g.t1=g.catch(23),o.e(g.t1);case 37:return g.prev=37,o.f(),g.finish(37);case 40:case"end":return g.stop()}}),dt,null,[[2,13,16,19],[23,34,37,40]])}function Et(e,t,A){if(n=(e=Float64Array.from(pt(e,A))).length){if((t=+t)<=0||n<2)return ht(e);if(t>=1)return Ct(e);var n,r=(n-1)*t,i=Math.floor(r),o=Ct(function e(t,A){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length-1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:It;r>n;){if(r-n>600){var o=r-n+1,a=A-n+1,s=Math.log(o),g=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*g*(o-g)/o)*(a-o/2<0?-1:1),u=Math.max(n,Math.floor(A-a*g/o+c)),l=Math.min(r,Math.floor(A+(o-a)*g/o+c));e(t,A,u,l,i)}var I=t[A],C=n,h=r;for(ft(t,n,A),i(t[r],I)>0&&ft(t,n,r);C<h;){for(ft(t,C,h),++C,--h;i(t[C],I)<0;)++C;for(;i(t[h],I)>0;)--h}0===i(t[n],I)?ft(t,n,h):ft(t,++h,r),h<=A&&(n=h+1),A<=h&&(r=h-1)}return t}(e,i).subarray(0,i+1));return o+(ht(e.subarray(i+1))-o)*(r-i)}}function Qt(e,t){var A=function(e,t){var A,n=0,r=0,i=0;if(void 0===t){var o,a=Object(ut.a)(e);try{for(a.s();!(o=a.n()).done;){var s=o.value;null!=s&&(s=+s)>=s&&(i+=(A=s-r)*(s-(r+=A/++n)))}}catch(I){a.e(I)}finally{a.f()}}else{var g,c=-1,u=Object(ut.a)(e);try{for(u.s();!(g=u.n()).done;){var l=g.value;null!=(l=t(l,++c,e))&&(l=+l)>=l&&(i+=(A=l-r)*(l-(r+=A/++n)))}}catch(I){u.e(I)}finally{u.f()}}if(n>1)return i/(n-1)}(e,t);return A?Math.sqrt(A):A}var yt=Ie.a.mark(vt);function vt(e,t){var A,n,r,i,o,a,s;return Ie.a.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:if(null!=t){g.next=21;break}A=Object(ut.a)(e),g.prev=2,A.s();case 4:if((n=A.n()).done){g.next=11;break}if(!(null!=(r=n.value)&&""!==r&&(r=+r)>=r)){g.next=9;break}return g.next=9,r;case 9:g.next=4;break;case 11:g.next=16;break;case 13:g.prev=13,g.t0=g.catch(2),A.e(g.t0);case 16:return g.prev=16,A.f(),g.finish(16);case 19:g.next=41;break;case 21:i=-1,o=Object(ut.a)(e),g.prev=23,o.s();case 25:if((a=o.n()).done){g.next=33;break}if(s=a.value,!(null!=(s=t(s,++i,e))&&""!==s&&(s=+s)>=s)){g.next=31;break}return g.next=31,s;case 31:g.next=25;break;case 33:g.next=38;break;case 35:g.prev=35,g.t1=g.catch(23),o.e(g.t1);case 38:return g.prev=38,o.f(),g.finish(38);case 41:case"end":return g.stop()}}),yt,null,[[2,13,16,19],[23,35,38,41]])}function mt(e,t,A){var n=Float64Array.from(vt(e,A));return n.sort(It),t.map((function(e){return function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Bt;if(n=e.length){if((t=+t)<=0||n<2)return+A(e[0],0,e);if(t>=1)return+A(e[n-1],n-1,e);var n,r=(n-1)*t,i=Math.floor(r),o=+A(e[i],i,e),a=+A(e[i+1],i+1,e);return o+(a-o)*(r-i)}}(n,e)}))}function bt(e,t){return mt(e,[.25,.5,.75],t)}function wt(e,t){var A=e.length,n=Qt(e,t),r=bt(e,t),i=(r[2]-r[0])/1.34;return 1.06*(Math.min(n,i)||n||Math.abs(r[0])||1)*Math.pow(A,-.2)}function St(e){var t,A,n,r,i,o,a=e.maxbins||20,s=e.base||10,g=Math.log(s),c=e.divide||[5,2],u=e.extent[0],l=e.extent[1],I=e.span||l-u||Math.abs(u)||1;if(e.step)t=e.step;else if(e.steps){for(r=I/a,i=0,o=e.steps.length;i<o&&e.steps[i]<r;++i);t=e.steps[Math.max(0,i-1)]}else{for(A=Math.ceil(Math.log(a)/g),n=e.minstep||0,t=Math.max(n,Math.pow(s,Math.round(Math.log(I)/g)-A));Math.ceil(I/t)>a;)t*=s;for(i=0,o=c.length;i<o;++i)(r=t/c[i])>=n&&I/r<=a&&(t=r)}var C=(r=Math.log(t))>=0?0:1+~~(-r/g),h=Math.pow(s,-C-1);return(e.nice||void 0===e.nice)&&(u=u<(r=Math.floor(u/t+h)*t)?r-t:r,l=Math.ceil(l/t)*t),{start:u,stop:l===u?u+t:l,step:t}}var Ft=Math.random;function Rt(e){Ft=e}function Dt(e,t,A,n){if(!e.length)return[void 0,void 0];var r,i,o,a,s=Float64Array.from(vt(e,n)),g=s.length,c=t;for(o=0,a=Array(c);o<c;++o){for(r=0,i=0;i<g;++i)r+=s[~~(Ft()*g)];a[o]=r/g}return a.sort(It),[Et(a,A/2),Et(a,1-A/2)]}function Gt(e,t,A,n){n=n||function(e){return e};for(var r,i=e.length,o=new Float64Array(i),a=0,s=1,g=n(e[0]),c=g,u=g+t;s<i;++s){if((r=n(e[s]))>=u){for(c=(g+c)/2;a<s;++a)o[a]=c;u=r+t,g=r}c=r}for(c=(g+c)/2;a<s;++a)o[a]=c;return A?function(e,t){var A,n,r=e.length,i=0,o=1;for(;e[i]===e[o];)++o;for(;o<r;){for(A=o+1;e[o]===e[A];)++A;if(e[o]-e[o-1]<t){for(n=o+(i+A-o-o>>1);n<o;)e[n++]=e[o];for(;n>o;)e[n--]=e[i]}i=o,o=A}return e}(o,t+t/4):o}function kt(e){return function(){return(e=(1103515245*e+12345)%2147483647)/2147483647}}function xt(e,t){var A,n,r;null==t&&(t=e,e=0);var i={min:function(e){return arguments.length?(r=n-(A=e||0),i):A},max:function(e){return arguments.length?(r=(n=e||0)-A,i):n},sample:function(){return A+Math.floor(r*Ft())},pdf:function(e){return e===Math.floor(e)&&e>=A&&e<n?1/r:0},cdf:function(e){var t=Math.floor(e);return t<A?0:t>=n?1:(t-A+1)/r},icdf:function(e){return e>=0&&e<=1?A-1+Math.floor(e*r):NaN}};return i.min(e).max(t)}var Nt=Math.sqrt(2*Math.PI),Ut=Math.SQRT2,_t=NaN;function Mt(e,t){e=e||0,t=null==t?1:t;var A,n,r=0,i=0;if(_t===_t)r=_t,_t=NaN;else{do{A=(r=2*Ft()-1)*r+(i=2*Ft()-1)*i}while(0===A||A>1);r*=n=Math.sqrt(-2*Math.log(A)/A),_t=i*n}return e+r*t}function Ot(e,t,A){var n=(e-(t||0))/(A=null==A?1:A);return Math.exp(-.5*n*n)/(A*Nt)}function Lt(e,t,A){var n,r=(e-(t=t||0))/(A=null==A?1:A),i=Math.abs(r);if(i>37)n=0;else{var o=Math.exp(-i*i/2);i<7.07106781186547?(n=o*((((((.0352624965998911*i+.700383064443688)*i+6.37396220353165)*i+33.912866078383)*i+112.079291497871)*i+221.213596169931)*i+220.206867912376),n/=((((((.0883883476483184*i+1.75566716318264)*i+16.064177579207)*i+86.7807322029461)*i+296.564248779674)*i+637.333633378831)*i+793.826512519948)*i+440.413735824752):n=o/(i+1/(i+2/(i+3/(i+4/(i+.65)))))/2.506628274631}return r>0?1-n:n}function Tt(e,t,A){return e<0||e>1?NaN:(t||0)+(null==A?1:A)*Ut*function(e){var t,A=-Math.log((1-e)*(1+e));A<6.25?t=1.6536545626831027+(t=.24015818242558962+(t=(t=(t=.00018673420803405714+(t=(t=(t=4.2347877827932404e-7+(t=(t=(t=1.0512122733215323e-9+(t=(t=(t=26335093153082323e-28+(t=(t=(t=6637638134358324e-30+(t=20972767875968562e-33+(t=(t=11157877678025181e-33+(t=128584807152564e-32+(t=(t=-364441206401782e-35)*(A-=3.125)-16850591381820166e-35)*A)*A)*A-1333171662854621e-31)*A)*A)*A-4054566272975207e-29)*A-8151934197605472e-29)*A)*A-12975133253453532e-27)*A-5415412054294628e-26)*A)*A-4.112633980346984e-9)*A-2.9070369957882005e-8)*A)*A-13654692000834679e-22)*A-13882523362786469e-21)*A)*A-.000740702534166267)*A-.006033670871430149)*A)*A:A<16?(A=Math.sqrt(A)-3.25,t=3.0838856104922208+(t=1.0052589676941592+(t=.005370914553590064+(t=(t=.002491442096107851+(t=(t=.0009532893797373805+(t=(t=24031110387097894e-21+(t=6828485145957318e-20+(t=(t=12475304481671779e-21+(t=29234449089955446e-22+(t=(t=15027403968909828e-22+(t=1.8239629214389228e-8+(t=(t=9.075656193888539e-8+(t=2.2137376921775787e-9)*A)*A-2.7517406297064545e-7)*A)*A)*A-4013867526981546e-21)*A)*A)*A-47318229009055734e-21)*A)*A)*A-.0003550375203628475)*A)*A-.0016882755560235047)*A)*A-.003751208507569241)*A)*A)*A):Number.isFinite(A)?(A=Math.sqrt(A)-5,t=4.849906401408584+(t=1.0103004648645344+(t=(t=(t=7599527703001776e-20+(t=(t=4526062597223154e-21+(t=(t=2.2900482228026655e-7+(t=(t=2.914795345090108e-8+(t=(t=7.61570120807834e-9+(t=(t=1.5076572693500548e-9+(t=(t=-27109920616438573e-27)*A-2.555641816996525e-10)*A)*A-3.789465440126737e-9)*A)*A-1.496002662714924e-8)*A)*A-6.771199775845234e-8)*A)*A-9.9298272942317e-7)*A)*A-1968177810553167e-20)*A)*A-.00021503011930044477)*A-.00013871931833623122)*A)*A):t=1/0;return t*e}(2*e-1)}function Zt(e,t){var A,n,r={mean:function(e){return arguments.length?(A=e||0,r):A},stdev:function(e){return arguments.length?(n=null==e?1:e,r):n},sample:function(){return Mt(A,n)},pdf:function(e){return Ot(e,A,n)},cdf:function(e){return Lt(e,A,n)},icdf:function(e){return Tt(e,A,n)}};return r.mean(e).stdev(t)}function Ht(e,t){var A=Zt(),n=0,r={data:function(A){return arguments.length?(e=A,n=A?A.length:0,r.bandwidth(t)):e},bandwidth:function(A){return arguments.length?(!(t=A)&&e&&(t=wt(e)),r):t},sample:function(){return e[~~(Ft()*n)]+t*A.sample()},pdf:function(r){for(var i=0,o=0;o<n;++o)i+=A.pdf((r-e[o])/t);return i/t/n},cdf:function(r){for(var i=0,o=0;o<n;++o)i+=A.cdf((r-e[o])/t);return i/n},icdf:function(){throw Error("KDE icdf not supported.")}};return r.data(e)}function Yt(e,t){return e=e||0,t=null==t?1:t,Math.exp(e+Mt()*t)}function Jt(e,t,A){if(e<=0)return 0;t=t||0,A=null==A?1:A;var n=(Math.log(e)-t)/A;return Math.exp(-.5*n*n)/(A*Nt*e)}function jt(e,t,A){return Lt(Math.log(e),t,A)}function Pt(e,t,A){return Math.exp(Tt(e,t,A))}function Vt(e,t){var A,n,r={mean:function(e){return arguments.length?(A=e||0,r):A},stdev:function(e){return arguments.length?(n=null==e?1:e,r):n},sample:function(){return Yt(A,n)},pdf:function(e){return Jt(e,A,n)},cdf:function(e){return jt(e,A,n)},icdf:function(e){return Pt(e,A,n)}};return r.mean(e).stdev(t)}function Kt(e,t){var A,n=0;function r(e){var t,A=[],r=0;for(t=0;t<n;++t)r+=A[t]=null==e[t]?1:+e[t];for(t=0;t<n;++t)A[t]/=r;return A}var i={weights:function(e){return arguments.length?(A=r(t=e||[]),i):t},distributions:function(A){return arguments.length?(A?(n=A.length,e=A):(n=0,e=[]),i.weights(t)):e},sample:function(){for(var t=Ft(),r=e[n-1],i=A[0],o=0;o<n-1;i+=A[++o])if(t<i){r=e[o];break}return r.sample()},pdf:function(t){for(var r=0,i=0;i<n;++i)r+=A[i]*e[i].pdf(t);return r},cdf:function(t){for(var r=0,i=0;i<n;++i)r+=A[i]*e[i].cdf(t);return r},icdf:function(){throw Error("Mixture icdf not supported.")}};return i.distributions(e).weights(t)}function Wt(e,t){return null==t&&(t=null==e?1:e,e=0),e+(t-e)*Ft()}function Xt(e,t,A){return null==A&&(A=null==t?1:t,t=0),e>=t&&e<=A?1/(A-t):0}function qt(e,t,A){return null==A&&(A=null==t?1:t,t=0),e<t?0:e>A?1:(e-t)/(A-t)}function zt(e,t,A){return null==A&&(A=null==t?1:t,t=0),e>=0&&e<=1?t+e*(A-t):NaN}function $t(e,t){var A,n,r={min:function(e){return arguments.length?(A=e||0,r):A},max:function(e){return arguments.length?(n=null==e?1:e,r):n},sample:function(){return Wt(A,n)},pdf:function(e){return Xt(e,A,n)},cdf:function(e){return qt(e,A,n)},icdf:function(e){return zt(e,A,n)}};return null==t&&(t=null==e?1:e,e=0),r.min(e).max(t)}function eA(e,t,A,n){var r=n-e*e,i=Math.abs(r)<1e-24?0:(A-e*t)/r;return[t-i*e,i]}function tA(e,t,A,n){e=e.filter((function(e){var n=t(e),r=A(e);return null!=n&&(n=+n)>=n&&null!=r&&(r=+r)>=r})),n&&e.sort((function(e,A){return t(e)-t(A)}));var r,i,o,a,s=e.length,g=new Float64Array(s),c=new Float64Array(s),u=0,l=0,I=0,C=Object(ut.a)(e);try{for(C.s();!(a=C.n()).done;)o=a.value,g[u]=r=+t(o),c[u]=i=+A(o),l+=(r-l)/++u,I+=(i-I)/u}catch(h){C.e(h)}finally{C.f()}for(u=0;u<s;++u)g[u]-=l,c[u]-=I;return[g,c,l,I]}function AA(e,t,A,n){var r,i,o,a=-1,s=Object(ut.a)(e);try{for(s.s();!(o=s.n()).done;){var g=o.value;r=t(g),i=A(g),null!=r&&(r=+r)>=r&&null!=i&&(i=+i)>=i&&n(r,i,++a)}}catch(c){s.e(c)}finally{s.f()}}function nA(e,t,A,n,r){var i=0,o=0;return AA(e,t,A,(function(e,t){var A=t-r(e),a=t-n;i+=A*A,o+=a*a})),1-i/o}function rA(e,t,A){var n=0,r=0,i=0,o=0,a=0;AA(e,t,A,(function(e,t){++a,n+=(e-n)/a,r+=(t-r)/a,i+=(e*t-i)/a,o+=(e*e-o)/a}));var s=eA(n,r,i,o),g=function(e){return s[0]+s[1]*e};return{coef:s,predict:g,rSquared:nA(e,t,A,r,g)}}function iA(e,t,A){var n=0,r=0,i=0,o=0,a=0;AA(e,t,A,(function(e,t){++a,e=Math.log(e),n+=(e-n)/a,r+=(t-r)/a,i+=(e*t-i)/a,o+=(e*e-o)/a}));var s=eA(n,r,i,o),g=function(e){return s[0]+s[1]*Math.log(e)};return{coef:s,predict:g,rSquared:nA(e,t,A,r,g)}}function oA(e,t,A){var n,r,i,o=tA(e,t,A),a=Object(lt.a)(o,4),s=a[0],g=(a[1],a[2]),c=a[3],u=0,l=0,I=0,C=0,h=0;AA(e,t,A,(function(e,t){n=s[h++],r=Math.log(t),u+=(t*r-u)/h,l+=((i=n*t)-l)/h,I+=(i*r-I)/h,C+=(n*i-C)/h}));var f=eA(l/c,u/c,I/c,C/c),d=Object(lt.a)(f,2),B=d[0],p=d[1],E=function(e){return Math.exp(B+p*(e-g))};return{coef:[Math.exp(B-p*g),p],predict:E,rSquared:nA(e,t,A,c,E)}}function aA(e,t,A){var n=0,r=0,i=0,o=0,a=0,s=0;AA(e,t,A,(function(e,t){var A=Math.log(e),g=Math.log(t);++s,n+=(A-n)/s,r+=(g-r)/s,i+=(A*g-i)/s,o+=(A*A-o)/s,a+=(t-a)/s}));var g=eA(n,r,i,o),c=function(e){return g[0]*Math.pow(e,g[1])};return g[0]=Math.exp(g[0]),{coef:g,predict:c,rSquared:nA(e,t,A,a,c)}}function sA(e,t,A){var n,r,i,o,a=tA(e,t,A),s=Object(lt.a)(a,4),g=s[0],c=s[1],u=s[2],l=s[3],I=g.length,C=0,h=0,f=0,d=0,B=0;for(n=0;n<I;)r=g[n],i=c[n++],C+=((o=r*r)-C)/n,h+=(o*r-h)/n,f+=(o*o-f)/n,d+=(r*i-d)/n,B+=(o*i-B)/n;var p=f-C*C,E=C*p-h*h,Q=(B*C-d*h)/E,y=(d*p-B*h)/E,v=-Q*C,m=function(e){return Q*(e-=u)*e+y*e+v+l};return{coef:[v-y*u+Q*u*u+l,y-2*Q*u,Q],predict:m,rSquared:nA(e,t,A,l,m)}}function gA(e,t,A,n){if(1===n)return rA(e,t,A);if(2===n)return sA(e,t,A);var r,i,o,a,s,g=tA(e,t,A),c=Object(lt.a)(g,4),u=c[0],l=c[1],I=c[2],C=c[3],h=u.length,f=[],d=[],B=n+1;for(r=0;r<B;++r){for(o=0,a=0;o<h;++o)a+=Math.pow(u[o],r)*l[o];for(f.push(a),s=new Float64Array(B),i=0;i<B;++i){for(o=0,a=0;o<h;++o)a+=Math.pow(u[o],r+i);s[i]=a}d.push(s)}d.push(f);var p=function(e){var t,A,n,r,i,o=e.length-1,a=[];for(t=0;t<o;++t){for(r=t,A=t+1;A<o;++A)Math.abs(e[t][A])>Math.abs(e[t][r])&&(r=A);for(n=t;n<o+1;++n)i=e[n][t],e[n][t]=e[n][r],e[n][r]=i;for(A=t+1;A<o;++A)for(n=o;n>=t;n--)e[n][A]-=e[n][t]*e[t][A]/e[t][t]}for(A=o-1;A>=0;--A){for(i=0,n=A+1;n<o;++n)i+=e[n][A]*a[n];a[A]=(e[o][A]-i)/e[A][A]}return a}(d),E=function(e){e-=I;var t=C+p[0]+p[1]*e+p[2]*e*e;for(r=3;r<B;++r)t+=p[r]*Math.pow(e,r);return t};return{coef:cA(B,p,-I,C),predict:E,rSquared:nA(e,t,A,C,E)}}function cA(e,t,A,n){var r,i,o,a,s=Array(e);for(r=0;r<e;++r)s[r]=0;for(r=e-1;r>=0;--r)for(o=t[r],a=1,s[r]+=o,i=1;i<=r;++i)a*=(r+1-i)/i,s[r-i]+=o*Math.pow(A,i)*a;return s[0]+=n,s}function uA(e,t,A,n){for(var r=tA(e,t,A,!0),i=Object(lt.a)(r,4),o=i[0],a=i[1],s=i[2],g=i[3],c=o.length,u=Math.max(2,~~(n*c)),l=new Float64Array(c),I=new Float64Array(c),C=new Float64Array(c).fill(1),h=-1;++h<=2;){for(var f=[0,u-1],d=0;d<c;++d){for(var B=o[d],p=f[0],E=f[1],Q=B-o[p]>o[E]-B?p:E,y=0,v=0,m=0,b=0,w=0,S=1/Math.abs(o[Q]-B||1),F=p;F<=E;++F){var R=o[F],D=a[F],G=lA(Math.abs(B-R)*S)*C[F],k=R*G;y+=G,v+=k,m+=D*G,b+=D*k,w+=R*k}var x=eA(v/y,m/y,b/y,w/y),N=Object(lt.a)(x,2),U=N[0],_=N[1];l[d]=U+_*B,I[d]=Math.abs(a[d]-l[d]),IA(o,d+1,f)}if(2===h)break;var M=Et(I,.5,void 0);if(Math.abs(M)<1e-12)break;for(var O,L,T=0;T<c;++T)O=I[T]/(6*M),C[T]=O>=1?1e-12:(L=1-O*O)*L}return function(e,t,A,n){for(var r,i=e.length,o=[],a=0,s=0,g=[];a<i;++a)r=e[a]+A,g[0]===r?g[1]+=(t[a]-g[1])/++s:(s=0,g[1]+=n,g=[r,t[a]],o.push(g));return g[1]+=n,o}(o,l,s,g)}function lA(e){return(e=1-e*e*e)*e*e}function IA(e,t,A){var n=e[t],r=A[0],i=A[1]+1;if(!(i>=e.length))for(;t>r&&e[i]-n<=n-e[r];)A[0]=++r,A[1]=i,++i}var CA=.5*Math.PI/180;function hA(e,t,A,n){A=A||25,n=Math.max(A,n||200);var r=function(t){return[t,e(t)]},i=t[0],o=t[1],a=o-i,s=a/n,g=[r(i)],c=[];if(A===n){for(var u=1;u<n;++u)g.push(r(i+u/A*a));return g.push(r(o)),g}c.push(r(o));for(var l=A;--l>0;)c.push(r(i+l/A*a));for(var I=g[0],C=c[c.length-1],h=1/a,f=function(e,t){for(var A=e,n=e,r=t.length,i=0;i<r;++i){var o=t[i][1];o<A&&(A=o),o>n&&(n=o)}return 1/(n-A)}(I[1],c);C;){var d=r((I[0]+C[0])/2);d[0]-I[0]>=s&&fA(I,d,C,h,f)>CA?c.push(d):(I=C,g.push(C),c.pop()),C=c[c.length-1]}return g}function fA(e,t,A,n,r){var i=Math.atan2(r*(A[1]-e[1]),n*(A[0]-e[0])),o=Math.atan2(r*(t[1]-e[1]),n*(t[0]-e[0]));return Math.abs(i-o)}function dA(e,t){var A;if(void 0===t){var n,r=Object(ut.a)(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;null!=i&&(A<i||void 0===A&&i>=i)&&(A=i)}}catch(c){r.e(c)}finally{r.f()}}else{var o,a=-1,s=Object(ut.a)(e);try{for(s.s();!(o=s.n()).done;){var g=o.value;null!=(g=t(g,++a,e))&&(A<g||void 0===A&&g>=g)&&(A=g)}}catch(c){s.e(c)}finally{s.f()}}return A}function BA(e,t){var A;if(void 0===t){var n,r=Object(ut.a)(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;null!=i&&(A>i||void 0===A&&i>=i)&&(A=i)}}catch(c){r.e(c)}finally{r.f()}}else{var o,a=-1,s=Object(ut.a)(e);try{for(s.s();!(o=s.n()).done;){var g=o.value;null!=(g=t(g,++a,e))&&(A>g||void 0===A&&g>=g)&&(A=g)}}catch(c){s.e(c)}finally{s.f()}}return A}var pA=function(e,t){return e<t?-1:e>t?1:e>=t?0:NaN};function EA(e,t,A){var n=e[t];e[t]=e[A],e[A]=n}var QA=Ie.a.mark(yA);function yA(e,t){var A,n,r,i,o,a,s;return Ie.a.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:if(void 0!==t){g.next=21;break}A=Object(ut.a)(e),g.prev=2,A.s();case 4:if((n=A.n()).done){g.next=11;break}if(!(null!=(r=n.value)&&(r=+r)>=r)){g.next=9;break}return g.next=9,r;case 9:g.next=4;break;case 11:g.next=16;break;case 13:g.prev=13,g.t0=g.catch(2),A.e(g.t0);case 16:return g.prev=16,A.f(),g.finish(16);case 19:g.next=40;break;case 21:i=-1,o=Object(ut.a)(e),g.prev=23,o.s();case 25:if((a=o.n()).done){g.next=32;break}if(s=a.value,!(null!=(s=t(s,++i,e))&&(s=+s)>=s)){g.next=30;break}return g.next=30,s;case 30:g.next=25;break;case 32:g.next=37;break;case 34:g.prev=34,g.t1=g.catch(23),o.e(g.t1);case 37:return g.prev=37,o.f(),g.finish(37);case 40:case"end":return g.stop()}}),QA,null,[[2,13,16,19],[23,34,37,40]])}function vA(e,t,A){if(n=(e=Float64Array.from(yA(e,A))).length){if((t=+t)<=0||n<2)return BA(e);if(t>=1)return dA(e);var n,r=(n-1)*t,i=Math.floor(r),o=dA(function e(t,A){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length-1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:pA;r>n;){if(r-n>600){var o=r-n+1,a=A-n+1,s=Math.log(o),g=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*g*(o-g)/o)*(a-o/2<0?-1:1),u=Math.max(n,Math.floor(A-a*g/o+c)),l=Math.min(r,Math.floor(A+(o-a)*g/o+c));e(t,A,u,l,i)}var I=t[A],C=n,h=r;for(EA(t,n,A),i(t[r],I)>0&&EA(t,n,r);C<h;){for(EA(t,C,h),++C,--h;i(t[C],I)<0;)++C;for(;i(t[h],I)>0;)--h}0===i(t[n],I)?EA(t,n,h):EA(t,++h,r),h<=A&&(n=h+1),A<=h&&(r=h-1)}return t}(e,i).subarray(0,i+1));return o+(BA(e.subarray(i+1))-o)*(r-i)}}var mA=function(e,t,A){e=+e,t=+t,A=(r=arguments.length)<2?(t=e,e=0,1):r<3?1:+A;for(var n=-1,r=0|Math.max(0,Math.ceil((t-e)/A)),i=new Array(r);++n<r;)i[n]=e+n*A;return i},bA=function(e){var t=e,A=e;function n(e,t,n,r){for(null==n&&(n=0),null==r&&(r=e.length);n<r;){var i=n+r>>>1;A(e[i],t)<0?n=i+1:r=i}return n}return 1===e.length&&(t=function(t,A){return e(t)-A},A=function(e){return function(t,A){return pA(e(t),A)}}(e)),{left:n,center:function(e,A,r,i){null==r&&(r=0),null==i&&(i=e.length);var o=n(e,A,r,i-1);return o>r&&t(e[o-1],A)>-t(e[o],A)?o-1:o},right:function(e,t,n,r){for(null==n&&(n=0),null==r&&(r=e.length);n<r;){var i=n+r>>>1;A(e[i],t)>0?r=i:n=i+1}return n}}};var wA=A(46);function SA(e){return e&&e.length?1===e.length?e[0]:(t=e,function(e){for(var A=t.length,n=1,r=String(t[0](e));n<A;++n)r+="|"+t[n](e);return r}):function(){return""};var t}function FA(e,t,A){return A||e+(t?"_"+t:"")}var RA=function(){},DA={init:RA,add:RA,rem:RA,idx:0},GA={values:{init:function(e){return e.cell.store=!0},value:function(e){return e.cell.data.values()},idx:-1},count:{value:function(e){return e.cell.num}},__count__:{value:function(e){return e.missing+e.valid}},missing:{value:function(e){return e.missing}},valid:{value:function(e){return e.valid}},sum:{init:function(e){return e.sum=0},value:function(e){return e.sum},add:function(e,t){return e.sum+=+t},rem:function(e,t){return e.sum-=t}},product:{init:function(e){return e.product=1},value:function(e){return e.valid?e.product:void 0},add:function(e,t){return e.product*=t},rem:function(e,t){return e.product/=t}},mean:{init:function(e){return e.mean=0},value:function(e){return e.valid?e.mean:void 0},add:function(e,t){return e.mean_d=t-e.mean,e.mean+=e.mean_d/e.valid},rem:function(e,t){return e.mean_d=t-e.mean,e.mean-=e.valid?e.mean_d/e.valid:e.mean}},average:{value:function(e){return e.valid?e.mean:void 0},req:["mean"],idx:1},variance:{init:function(e){return e.dev=0},value:function(e){return e.valid>1?e.dev/(e.valid-1):void 0},add:function(e,t){return e.dev+=e.mean_d*(t-e.mean)},rem:function(e,t){return e.dev-=e.mean_d*(t-e.mean)},req:["mean"],idx:1},variancep:{value:function(e){return e.valid>1?e.dev/e.valid:void 0},req:["variance"],idx:2},stdev:{value:function(e){return e.valid>1?Math.sqrt(e.dev/(e.valid-1)):void 0},req:["variance"],idx:2},stdevp:{value:function(e){return e.valid>1?Math.sqrt(e.dev/e.valid):void 0},req:["variance"],idx:2},stderr:{value:function(e){return e.valid>1?Math.sqrt(e.dev/(e.valid*(e.valid-1))):void 0},req:["variance"],idx:2},distinct:{value:function(e){return e.cell.data.distinct(e.get)},req:["values"],idx:3},ci0:{value:function(e){return e.cell.data.ci0(e.get)},req:["values"],idx:3},ci1:{value:function(e){return e.cell.data.ci1(e.get)},req:["values"],idx:3},median:{value:function(e){return e.cell.data.q2(e.get)},req:["values"],idx:3},q1:{value:function(e){return e.cell.data.q1(e.get)},req:["values"],idx:3},q3:{value:function(e){return e.cell.data.q3(e.get)},req:["values"],idx:3},min:{init:function(e){return e.min=void 0},value:function(e){return e.min=Number.isNaN(e.min)?e.cell.data.min(e.get):e.min},add:function(e,t){(t<e.min||void 0===e.min)&&(e.min=t)},rem:function(e,t){t<=e.min&&(e.min=NaN)},req:["values"],idx:4},max:{init:function(e){return e.max=void 0},value:function(e){return e.max=Number.isNaN(e.max)?e.cell.data.max(e.get):e.max},add:function(e,t){(t>e.max||void 0===e.max)&&(e.max=t)},rem:function(e,t){t>=e.max&&(e.max=NaN)},req:["values"],idx:4},argmin:{init:function(e){return e.argmin=void 0},value:function(e){return e.argmin||e.cell.data.argmin(e.get)},add:function(e,t,A){t<e.min&&(e.argmin=A)},rem:function(e,t){t<=e.min&&(e.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:function(e){return e.argmax=void 0},value:function(e){return e.argmax||e.cell.data.argmax(e.get)},add:function(e,t,A){t>e.max&&(e.argmax=A)},rem:function(e,t){t>=e.max&&(e.argmax=void 0)},req:["max","values"],idx:3}},kA=Object.keys(GA);function xA(e,t){return GA[e](t)}function NA(e,t){return e.idx-t.idx}function UA(){var e=this;this.valid=0,this.missing=0,this._ops.forEach((function(t){return t.init(e)}))}function _A(e,t){var A=this;null!=e&&""!==e?e===e&&(++this.valid,this._ops.forEach((function(n){return n.add(A,e,t)}))):++this.missing}function MA(e,t){var A=this;null!=e&&""!==e?e===e&&(--this.valid,this._ops.forEach((function(n){return n.rem(A,e,t)}))):--this.missing}function OA(e){var t=this;return this._out.forEach((function(A){return e[A.out]=A.value(t)})),e}function LA(e,t){var A=t||ue.y,n=function(e){var t={};return e.forEach((function(e){return t[e.name]=e})),e.forEach((function e(A){A.req&&A.req.forEach((function(A){t[A]||e(t[A]=GA[A]())}))})),Object.values(t).sort(NA)}(e),r=e.slice().sort(NA);function i(e){this._ops=n,this._out=r,this.cell=e,this.init()}return i.prototype.init=UA,i.prototype.add=_A,i.prototype.rem=MA,i.prototype.set=OA,i.prototype.get=A,i.fields=e.map((function(e){return e.out})),i}function TA(e){this._key=e?Object(ue.u)(e):ve,this.reset()}kA.forEach((function(e){GA[e]=function(e,t){return function(A){return Object(ue.p)({name:e,out:A||e},DA,t)}}(e,GA[e])}));var ZA=TA.prototype;function HA(e){at.call(this,null,e),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}ZA.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},ZA.add=function(e){this._add.push(e)},ZA.rem=function(e){this._rem.push(e)},ZA.values=function(){if(this._get=null,0===this._rem.length)return this._add;var e,t,A,n=this._add,r=this._rem,i=this._key,o=n.length,a=r.length,s=Array(o-a),g={};for(e=0;e<a;++e)g[i(r[e])]=1;for(e=0,t=0;e<o;++e)g[i(A=n[e])]?g[i(A)]=0:s[t++]=A;return this._rem=[],this._add=s},ZA.distinct=function(e){for(var t,A=this.values(),n={},r=A.length,i=0;--r>=0;)t=e(A[r])+"",Object(ue.w)(n,t)||(n[t]=1,++i);return i},ZA.extent=function(e){if(this._get!==e||!this._ext){var t=this.values(),A=Object(ue.r)(t,e);this._ext=[t[A[0]],t[A[1]]],this._get=e}return this._ext},ZA.argmin=function(e){return this.extent(e)[0]||{}},ZA.argmax=function(e){return this.extent(e)[1]||{}},ZA.min=function(e){var t=this.extent(e)[0];return null!=t?e(t):void 0},ZA.max=function(e){var t=this.extent(e)[1];return null!=t?e(t):void 0},ZA.quartile=function(e){return this._get===e&&this._q||(this._q=bt(this.values(),e),this._get=e),this._q},ZA.q1=function(e){return this.quartile(e)[0]},ZA.q2=function(e){return this.quartile(e)[1]},ZA.q3=function(e){return this.quartile(e)[2]},ZA.ci=function(e){return this._get===e&&this._ci||(this._ci=Dt(this.values(),1e3,.05,e),this._get=e),this._ci},ZA.ci0=function(e){return this.ci(e)[0]},ZA.ci1=function(e){return this.ci(e)[1]},HA.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:kA},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]},Object(ue.z)(HA,at,{transform:function(e,t){var A=this,n=this,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.modified();return n.stamp=r.stamp,n.value&&(i||t.modified(n._inputs,!0))?(n._prev=n.value,n.value=i?n.init(e):{},t.visit(t.SOURCE,(function(e){return n.add(e)}))):(n.value=n.value||n.init(e),t.visit(t.REM,(function(e){return n.rem(e)})),t.visit(t.ADD,(function(e){return n.add(e)}))),r.modifies(n._outputs),n._drop=!1!==e.drop,e.cross&&n._dims.length>1&&(n._drop=!1,n.cross()),t.clean()&&n._drop&&r.clean(!0).runAfter((function(){return A.clean()})),n.changes(r)},cross:function(){var e=this,t=e.value,A=e._dnames,n=A.map((function(){return{}})),r=A.length;function i(e){var t,i,o,a;for(t in e)for(o=e[t].tuple,i=0;i<r;++i)n[i][a=o[A[i]]]=a}i(e._prev),i(t),function i(o,a,s){var g=A[s],c=n[s++];for(var u in c){var l=o?o+"|"+u:u;a[g]=c[u],s<r?i(l,a,s):t[l]||e.cell(l,a)}}("",{},0)},init:function(e){var t=this._inputs=[],A=this._outputs=[],n={};function r(e){for(var A,r=Object(ue.i)(Object(ue.g)(e)),i=r.length,o=0;o<i;++o)n[A=r[o]]||(n[A]=1,t.push(A))}this._dims=Object(ue.i)(e.groupby),this._dnames=this._dims.map((function(e){var t=Object(ue.h)(e);return r(e),A.push(t),t})),this.cellkey=e.key?e.key:SA(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];var i,o,a,s,g,c,u=e.fields||[null],l=e.ops||["count"],I=e.as||[],C=u.length,h={};for(C!==l.length&&Object(ue.o)("Unmatched number of fields and aggregate ops."),c=0;c<C;++c)i=u[c],o=l[c],null==i&&"count"!==o&&Object(ue.o)("Null aggregate field specified."),g=FA(o,s=Object(ue.h)(i),I[c]),A.push(g),"count"!==o?((a=h[s])||(r(i),(a=h[s]=[]).field=i,this._measures.push(a)),"count"!==o&&(this._countOnly=!1),a.push(xA(o,g))):this._counts.push(g);return this._measures=this._measures.map((function(e){return LA(e,e.field)})),{}},cellkey:SA(),cell:function(e,t){var A=this.value[e];return A?0===A.num&&this._drop&&A.stamp<this.stamp?(A.stamp=this.stamp,this._adds[this._alen++]=A):A.stamp<this.stamp&&(A.stamp=this.stamp,this._mods[this._mlen++]=A):(A=this.value[e]=this.newcell(e,t),this._adds[this._alen++]=A),A},newcell:function(e,t){var A={key:e,num:0,agg:null,tuple:this.newtuple(t,this._prev&&this._prev[e]),stamp:this.stamp,store:!1};if(!this._countOnly){var n=this._measures,r=n.length;A.agg=Array(r);for(var i=0;i<r;++i)A.agg[i]=new n[i](A)}return A.store&&(A.data=new TA),A},newtuple:function(e,t){for(var A=this._dnames,n=this._dims,r=n.length,i={},o=0;o<r;++o)i[A[o]]=n[o](e);return t?Fe(t.tuple,i):be(i)},clean:function(){var e=this.value;for(var t in e)0===e[t].num&&delete e[t]},add:function(e){var t=this.cellkey(e),A=this.cell(t,e);if(A.num+=1,!this._countOnly){A.store&&A.data.add(e);for(var n=A.agg,r=0,i=n.length;r<i;++r)n[r].add(n[r].get(e),e)}},rem:function(e){var t=this.cellkey(e),A=this.cell(t,e);if(A.num-=1,!this._countOnly){A.store&&A.data.rem(e);for(var n=A.agg,r=0,i=n.length;r<i;++r)n[r].rem(n[r].get(e),e)}},celltuple:function(e){var t=e.tuple,A=this._counts;e.store&&e.data.values();for(var n=0,r=A.length;n<r;++n)t[A[n]]=e.num;if(!this._countOnly)for(var i=e.agg,o=0,a=i.length;o<a;++o)i[o].set(t);return t},changes:function(e){var t,A,n,r,i=this._adds,o=this._mods,a=this._prev,s=this._drop,g=e.add,c=e.rem,u=e.mod;if(a)for(A in a)t=a[A],s&&!t.num||c.push(t.tuple);for(n=0,r=this._alen;n<r;++n)g.push(this.celltuple(i[n])),i[n]=null;for(n=0,r=this._mlen;n<r;++n)(0===(t=o[n]).num&&s?c:u).push(this.celltuple(t)),o[n]=null;return this._alen=this._mlen=0,this._prev=null,e}});function YA(e){at.call(this,null,e)}function JA(e,t,A){var n=e,r=t||[],i=A||[],o={},a=0;return{add:function(e){return i.push(e)},remove:function(e){return o[n(e)]=++a},size:function(){return r.length},data:function(e,t){return a&&(r=r.filter((function(e){return!o[n(e)]})),o={},a=0),t&&e&&r.sort(e),i.length&&(r=e?Object(ue.O)(e,r,i.sort(e)):r.concat(i),i=[]),r}}}function jA(e){at.call(this,[],e)}function PA(e){_e.call(this,null,VA,e)}function VA(e){return this.value&&!e.modified()?this.value:Object(ue.l)(e.fields,e.orders)}function KA(e){at.call(this,null,e)}function WA(e){at.call(this,null,e)}YA.Definition={type:"Bin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"anchor",type:"number"},{name:"maxbins",type:"number",default:20},{name:"base",type:"number",default:10},{name:"divide",type:"number",array:!0,default:[5,2]},{name:"extent",type:"number",array:!0,length:2,required:!0},{name:"span",type:"number"},{name:"step",type:"number"},{name:"steps",type:"number",array:!0},{name:"minstep",type:"number",default:0},{name:"nice",type:"boolean",default:!0},{name:"name",type:"string"},{name:"as",type:"string",array:!0,length:2,default:["bin0","bin1"]}]},Object(ue.z)(YA,at,{transform:function(e,t){var A,n=!1!==e.interval,r=this._bins(e),i=r.start,o=r.step,a=e.as||["bin0","bin1"],s=a[0],g=a[1];return A=e.modified()?(t=t.reflow(!0)).SOURCE:t.modified(Object(ue.g)(e.field))?t.ADD_MOD:t.ADD,t.visit(A,n?function(e){var t=r(e);e[s]=t,e[g]=null==t?null:i+o*(1+(t-i)/o)}:function(e){return e[s]=r(e)}),t.modifies(n?a:s)},_bins:function(e){if(this.value&&!e.modified())return this.value;var t,A,n=e.field,r=St(e),i=r.step,o=r.start,a=o+Math.ceil((r.stop-o)/i)*i;null!=(t=e.anchor)&&(A=t-(o+i*Math.floor((t-o)/i)),o+=A,a+=A);var s=function(e){var t=Object(ue.eb)(n(e));return null==t?null:t<o?-1/0:t>a?1/0:(t=Math.max(o,Math.min(t,a-i)),o+i*Math.floor(1e-14+(t-o)/i))};return s.start=o,s.stop=r.stop,s.step=i,this.value=Object(ue.f)(s,Object(ue.g)(n),e.name||"bin_"+Object(ue.h)(n))}}),jA.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},Object(ue.z)(jA,at,{transform:function(e,t){var A=t.fork(t.ALL),n=JA(ve,this.value,A.materialize(A.ADD).add),r=e.sort,i=t.changed()||r&&(e.modified("sort")||t.modified(r.fields));return A.visit(A.REM,n.remove),this.modified(i),this.value=A.source=n.data(Re(r),i),t.source&&t.source.root&&(this.value.root=t.source.root),A}}),Object(ue.z)(PA,_e),KA.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]},Object(ue.z)(KA,at,{transform:function(e,t){var A=function(t){return function(A){for(var n,r=function(e,t,A){switch(t){case"upper":e=e.toUpperCase();break;case"lower":e=e.toLowerCase()}return e.match(A)}(a(A),e.case,i)||[],s=0,g=r.length;s<g;++s)o.test(n=r[s])||t(n)}},n=this._parameterCheck(e,t),r=this._counts,i=this._match,o=this._stop,a=e.field,s=e.as||["text","count"],g=A((function(e){return r[e]=1+(r[e]||0)})),c=A((function(e){return r[e]-=1}));return n?t.visit(t.SOURCE,g):(t.visit(t.ADD,g),t.visit(t.REM,c)),this._finish(t,s)},_parameterCheck:function(e,t){var A=!1;return!e.modified("stopwords")&&this._stop||(this._stop=new RegExp("^"+(e.stopwords||"")+"$","i"),A=!0),!e.modified("pattern")&&this._match||(this._match=new RegExp(e.pattern||"[\\w']+","g"),A=!0),(e.modified("field")||t.modified(e.field.fields))&&(A=!0),A&&(this._counts={}),A},_finish:function(e,t){var A,n,r,i=this._counts,o=this._tuples||(this._tuples={}),a=t[0],s=t[1],g=e.fork(e.NO_SOURCE|e.NO_FIELDS);for(A in i)n=o[A],r=i[A]||0,!n&&r?(o[A]=n=be({}),n[a]=A,n[s]=r,g.add.push(n)):0===r?(n&&g.rem.push(n),i[A]=null,o[A]=null):n[s]!==r&&(n[s]=r,g.mod.push(n));return g.modifies(t)}}),WA.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},Object(ue.z)(WA,at,{transform:function(e,t){var A=t.fork(t.NO_SOURCE),n=e.as||["a","b"],r=n[0],i=n[1],o=!this.value||t.changed(t.ADD_REM)||e.modified("as")||e.modified("filter"),a=this.value;return o?(a&&(A.rem=a),a=t.materialize(t.SOURCE).source,A.add=this.value=function(e,t,A,n){for(var r,i,o=[],a={},s=e.length,g=0;g<s;++g)for(a[t]=i=e[g],r=0;r<s;++r)a[A]=e[r],n(a)&&(o.push(be(a)),(a={})[t]=i);return o}(a,r,i,e.filter||ue.ib)):A.mod=a,A.source=this.value,A.modifies(n)}});var XA={kde:Ht,mixture:Kt,normal:Zt,lognormal:Vt,uniform:$t};function qA(e){at.call(this,null,e)}var zA=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"lognormal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:!0},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}],$A={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:zA},{name:"weights",type:"number",array:!0}]};function en(e,t){return e?e.map((function(e,A){return t[A]||Object(ue.h)(e)})):null}function tn(e,t,A){var n,r,i,o,a,s,g=[],c=function(e){return e(o)};if(null==t)g.push(e.map(A));else for(n={},r=0,i=e.length;r<i;++r)o=e[r],(s=n[a=t.map(c)])||(n[a]=s=[],s.dims=a,g.push(s)),s.push(A(o));return g}qA.Definition={type:"Density",metadata:{generates:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:zA.concat($A)},{name:"as",type:"string",array:!0,default:["value","density"]}]},Object(ue.z)(qA,at,{transform:function(e,t){var A=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){var n=function e(t,A){var n=t.function;Object(ue.w)(XA,n)||Object(ue.o)("Unknown distribution function: "+n);var r=XA[n]();for(var i in t)"field"===i?r.data((t.from||A()).map(t[i])):"distributions"===i?r[i](t[i].map((function(t){return e(t,A)}))):"function"===typeof r[i]&&r[i](t[i]);return r}(e.distribution,function(e){return function(){return e.materialize(e.SOURCE).source}}(t)),r=e.steps||e.minsteps||25,i=e.steps||e.maxsteps||200,o=e.method||"pdf";"pdf"!==o&&"cdf"!==o&&Object(ue.o)("Invalid density method: "+o),e.extent||n.data||Object(ue.o)("Missing density extent parameter."),o=n[o];var a=e.as||["value","density"],s=hA(o,e.extent||Object(ue.q)(n.data()),r,i).map((function(e){var t={};return t[a[0]]=e[0],t[a[1]]=e[1],be(t)}));this.value&&(A.rem=this.value),this.value=A.add=A.source=s}return A}});function An(e){at.call(this,null,e)}An.Definition={type:"DotBin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"step",type:"number"},{name:"smooth",type:"boolean",default:!1},{name:"as",type:"string",default:"bin"}]};function nn(e){_e.call(this,null,rn,e),this.modified(!0)}function rn(e){var t=e.expr;return this.value&&!e.modified("expr")?this.value:Object(ue.f)((function(A){return t(A,e)}),Object(ue.g)(t),Object(ue.h)(t))}function on(e){at.call(this,[void 0,void 0],e)}function an(e,t){_e.call(this,e),this.parent=t,this.count=0}function sn(e){at.call(this,{},e),this._keys=Object(ue.t)();var t=this._targets=[];t.active=0,t.forEach=function(e){for(var A=0,n=t.active;A<n;++A)e(t[A],A,t)}}function gn(e){_e.call(this,null,cn,e)}function cn(e){return this.value&&!e.modified()?this.value:Object(ue.B)(e.name)?Object(ue.i)(e.name).map((function(e){return Object(ue.u)(e)})):Object(ue.u)(e.name,e.as)}function un(e){at.call(this,Object(ue.t)(),e)}function ln(e){at.call(this,[],e)}function In(e){at.call(this,[],e)}function Cn(e){at.call(this,null,e)}function hn(e){at.call(this,[],e)}Object(ue.z)(An,at,{transform:function(e,t){if(this.value&&!e.modified()&&!t.changed())return t;for(var A,n=t.materialize(t.SOURCE).source,r=tn(t.source,e.groupby,ue.y),i=e.smooth||!1,o=e.field,a=e.step||function(e,t){return Object(ue.Z)(Object(ue.q)(e,t))/30}(n,o),s=Re((function(e,t){return o(e)-o(t)})),g=e.as||"bin",c=r.length,u=1/0,l=-1/0,I=0;I<c;++I){var C=r[I].sort(s);A=-1;var h,f=Object(ut.a)(Gt(C,a,i,o));try{for(f.s();!(h=f.n()).done;){var d=h.value;d<u&&(u=d),d>l&&(l=d),C[++A][g]=d}}catch(B){f.e(B)}finally{f.f()}}return this.value={start:u,stop:l,step:a},t.reflow(!0).modifies(g)}}),Object(ue.z)(nn,_e),on.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},Object(ue.z)(on,at,{transform:function(e,t){var A=this.value,n=e.field,r=t.changed()||t.modified(n.fields)||e.modified("field"),i=A[0],o=A[1];if((r||null==i)&&(i=1/0,o=-1/0),t.visit(r?t.SOURCE:t.ADD,(function(e){var t=Object(ue.eb)(n(e));null!=t&&(t<i&&(i=t),t>o&&(o=t))})),!Number.isFinite(i)||!Number.isFinite(o)){var a=Object(ue.h)(n);a&&(a=' for field "'.concat(a,'"')),t.dataflow.warn("Infinite extent".concat(a,": [").concat(i,", ").concat(o,"]")),i=o=void 0}this.value=[i,o]}}),Object(ue.z)(an,_e,{connect:function(e){return this.detachSubflow=e.detachSubflow,this.targets().add(e),e.source=this},add:function(e){this.count+=1,this.value.add.push(e)},rem:function(e){this.count-=1,this.value.rem.push(e)},mod:function(e){this.value.mod.push(e)},init:function(e){this.value.init(e,e.NO_SOURCE)},evaluate:function(){return this.value}}),Object(ue.z)(sn,at,{activate:function(e){this._targets[this._targets.active++]=e},subflow:function(e,t,A,n){var r,i,o=this.value,a=Object(ue.w)(o,e)&&o[e];return a?a.value.stamp<A.stamp&&(a.init(A),this.activate(a)):(i=n||(i=this._group[e])&&i.tuple,r=A.dataflow,a=new an(A.fork(A.NO_SOURCE),this),r.add(a).connect(t(r,e,i)),o[e]=a,this.activate(a)),a},clean:function(){var e=this.value,t=0;for(var A in e)if(0===e[A].count){var n=e[A].detachSubflow;n&&n(),delete e[A],++t}if(t){var r=this._targets.filter((function(e){return e&&e.count>0}));this.initTargets(r)}},initTargets:function(e){for(var t=this._targets,A=t.length,n=e?e.length:0,r=0;r<n;++r)t[r]=e[r];for(;r<A&&null!=t[r];++r)t[r]=null;t.active=n},transform:function(e,t){var A=this,n=t.dataflow,r=e.key,i=e.subflow,o=this._keys,a=e.modified("key"),s=function(e){return A.subflow(e,i,t)};return this._group=e.group||{},this.initTargets(),t.visit(t.REM,(function(e){var t=ve(e),A=o.get(t);void 0!==A&&(o.delete(t),s(A).rem(e))})),t.visit(t.ADD,(function(e){var t=r(e);o.set(ve(e),t),s(t).add(e)})),a||t.modified(r.fields)?t.visit(t.MOD,(function(e){var t=ve(e),A=o.get(t),n=r(e);A===n?s(n).mod(e):(o.set(t,n),s(A).rem(e),s(n).add(e))})):t.changed(t.MOD)&&t.visit(t.MOD,(function(e){s(o.get(ve(e))).mod(e)})),a&&t.visit(t.REFLOW,(function(e){var t=ve(e),A=o.get(t),n=r(e);A!==n&&(o.set(t,n),s(A).rem(e),s(n).add(e))})),t.clean()?n.runAfter((function(){A.clean(),o.clean()})):o.empty>n.cleanThreshold&&n.runAfter(o.clean),t}}),Object(ue.z)(gn,_e),un.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},Object(ue.z)(un,at,{transform:function(e,t){var A=t.dataflow,n=this.value,r=t.fork(),i=r.add,o=r.rem,a=r.mod,s=e.expr,g=!0;function c(t){var A=ve(t),r=s(t,e),c=n.get(A);r&&c?(n.delete(A),i.push(t)):r||c?g&&r&&!c&&a.push(t):(n.set(A,1),o.push(t))}return t.visit(t.REM,(function(e){var t=ve(e);n.has(t)?n.delete(t):o.push(e)})),t.visit(t.ADD,(function(t){s(t,e)?i.push(t):n.set(ve(t),1)})),t.visit(t.MOD,c),e.modified()&&(g=!1,t.visit(t.REFLOW,c)),n.empty>A.cleanThreshold&&A.runAfter(n.clean),r}}),ln.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"index",type:"string"},{name:"as",type:"string",array:!0}]},Object(ue.z)(ln,at,{transform:function(e,t){var A=t.fork(t.NO_SOURCE),n=e.fields,r=en(n,e.as||[]),i=e.index||null,o=r.length;return A.rem=this.value,t.visit(t.SOURCE,(function(e){for(var t,a,s,g=n.map((function(t){return t(e)})),c=g.reduce((function(e,t){return Math.max(e,t.length)}),0),u=0;u<c;++u){for(a=we(e),t=0;t<o;++t)a[r[t]]=null==(s=g[t][u])?null:s;i&&(a[i]=u),A.add.push(a)}})),this.value=A.source=A.add,i&&A.modifies(i),A.modifies(r)}}),In.Definition={type:"Fold",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0,length:2,default:["key","value"]}]},Object(ue.z)(In,at,{transform:function(e,t){var A=t.fork(t.NO_SOURCE),n=e.fields,r=n.map(ue.h),i=e.as||["key","value"],o=i[0],a=i[1],s=n.length;return A.rem=this.value,t.visit(t.SOURCE,(function(e){for(var t,i=0;i<s;++i)(t=we(e))[o]=r[i],t[a]=n[i](e),A.add.push(t)})),this.value=A.source=A.add,A.modifies(i)}}),Cn.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]},Object(ue.z)(Cn,at,{transform:function(e,t){var A=e.expr,n=e.as,r=e.modified(),i=e.initonly?t.ADD:r?t.SOURCE:t.modified(A.fields)||t.modified(n)?t.ADD_MOD:t.ADD;return r&&(t=t.materialize().reflow(!0)),e.initonly||t.modifies(n),t.visit(i,(function(t){return t[n]=A(t,e)}))}}),Object(ue.z)(hn,at,{transform:function(e,t){var A,n,r,i=t.fork(t.ALL),o=e.generator,a=this.value,s=e.size-a.length;if(s>0){for(A=[];--s>=0;)A.push(r=be(o(e))),a.push(r);i.add=i.add.length?i.materialize(i.ADD).add.concat(A):A}else n=a.slice(0,-s),i.rem=i.rem.length?i.materialize(i.REM).rem.concat(n):n,a=a.slice(-s);return i.source=this.value=a,i}});var fn={value:"value",median:function(e,t){return vA(e,.5,t)},mean:function(e,t){var A=0,n=0;if(void 0===t){var r,i=Object(ut.a)(e);try{for(i.s();!(r=i.n()).done;){var o=r.value;null!=o&&(o=+o)>=o&&(++A,n+=o)}}catch(u){i.e(u)}finally{i.f()}}else{var a,s=-1,g=Object(ut.a)(e);try{for(g.s();!(a=g.n()).done;){var c=a.value;null!=(c=t(c,++s,e))&&(c=+c)>=c&&(++A,n+=c)}}catch(u){g.e(u)}finally{g.f()}}if(A)return n/A},min:BA,max:dA},dn=[];function Bn(e){at.call(this,[],e)}function pn(e){HA.call(this,e)}function En(e){at.call(this,null,e)}function Qn(e){_e.call(this,null,yn,e)}function yn(e){return this.value&&!e.modified()?this.value:Object(ue.K)(e.fields,e.flat)}function vn(e){at.call(this,[],e),this._pending=null}function mn(e,t,A){A.forEach(be);var n=t.fork(t.NO_FIELDS&t.NO_SOURCE);return n.rem=e.value,e.value=n.source=n.add=A,e._pending=null,n.rem.length&&n.clean(!0),n}function bn(e){at.call(this,{},e)}function wn(e){_e.call(this,null,Sn,e)}function Sn(e){if(this.value&&!e.modified())return this.value;var t,A,n=e.extents,r=n.length,i=1/0,o=-1/0;for(t=0;t<r;++t)(A=n[t])[0]<i&&(i=A[0]),A[1]>o&&(o=A[1]);return[i,o]}function Fn(e){_e.call(this,null,Rn,e)}function Rn(e){return this.value&&!e.modified()?this.value:e.values.reduce((function(e,t){return e.concat(t)}),[])}function Dn(e){at.call(this,null,e)}function Gn(e){HA.call(this,e)}function kn(e){sn.call(this,e)}function xn(e){at.call(this,null,e)}function Nn(e){at.call(this,null,e)}function Un(e){at.call(this,null,e)}Bn.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]},Object(ue.z)(Bn,at,{transform:function(e,t){var A,n,r,i,o,a,s,g,c,u,l=t.fork(t.ALL),I=function(e){var t,A=e.method||fn.value;if(null!=fn[A])return A===fn.value?(t=void 0!==e.value?e.value:0,function(){return t}):fn[A];Object(ue.o)("Unrecognized imputation method: "+A)}(e),C=function(e){var t=e.field;return function(e){return e?t(e):NaN}}(e),h=Object(ue.h)(e.field),f=Object(ue.h)(e.key),d=(e.groupby||[]).map(ue.h),B=function(e,t,A,n){var r,i,o,a,s,g,c,u,l=function(e){return e(u)},I=[],C=n?n.slice():[],h={},f={};for(C.forEach((function(e,t){return h[e]=t+1})),a=0,c=e.length;a<c;++a)u=e[a],g=A(u),s=h[g]||(h[g]=C.push(g)),i=(r=t?t.map(l):dn)+"",(o=f[i])||(o=f[i]=[],I.push(o),o.values=r),o[s-1]=u;return I.domain=C,I}(t.source,e.groupby,e.key,e.keyvals),p=[],E=this.value,Q=B.domain.length;for(o=0,g=B.length;o<g;++o)for(r=(A=B[o]).values,n=NaN,s=0;s<Q;++s)if(null==A[s]){for(i=B.domain[s],u={_impute:!0},a=0,c=r.length;a<c;++a)u[d[a]]=r[a];u[f]=i,u[h]=Number.isNaN(n)?n=I(A,C):n,p.push(be(u))}return p.length&&(l.add=l.materialize(l.ADD).add.concat(p)),E.length&&(l.rem=l.materialize(l.REM).rem.concat(E)),this.value=p,l}}),pn.Definition={type:"JoinAggregate",metadata:{modifies:!0},params:[{name:"groupby",type:"field",array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"ops",type:"enum",array:!0,values:kA},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]},Object(ue.z)(pn,HA,{transform:function(e,t){var A,n=this,r=e.modified();return n.value&&(r||t.modified(n._inputs,!0))?(A=n.value=r?n.init(e):{},t.visit(t.SOURCE,(function(e){return n.add(e)}))):(A=n.value=n.value||this.init(e),t.visit(t.REM,(function(e){return n.rem(e)})),t.visit(t.ADD,(function(e){return n.add(e)}))),n.changes(),t.visit(t.SOURCE,(function(e){Object(ue.p)(e,A[n.cellkey(e)].tuple)})),t.reflow(r).modifies(this._outputs)},changes:function(){var e,t,A=this._adds,n=this._mods;for(e=0,t=this._alen;e<t;++e)this.celltuple(A[e]),A[e]=null;for(e=0,t=this._mlen;e<t;++e)this.celltuple(n[e]),n[e]=null;this._alen=this._mlen=0}}),En.Definition={type:"KDE",metadata:{generates:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"cumulative",type:"boolean",default:!1},{name:"counts",type:"boolean",default:!1},{name:"bandwidth",type:"number",default:0},{name:"extent",type:"number",array:!0,length:2},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"as",type:"string",array:!0,default:["value","density"]}]},Object(ue.z)(En,at,{transform:function(e,t){var A=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){var n=t.materialize(t.SOURCE).source,r=tn(n,e.groupby,e.field),i=(e.groupby||[]).map(ue.h),o=e.bandwidth,a=e.cumulative?"cdf":"pdf",s=e.as||["value","density"],g=[],c=e.extent,u=e.steps||e.minsteps||25,l=e.steps||e.maxsteps||200;"pdf"!==a&&"cdf"!==a&&Object(ue.o)("Invalid density method: "+a),"shared"===e.resolve&&(c||(c=Object(ue.q)(n,e.field)),u=l=e.steps||l),r.forEach((function(t){var A=Ht(t,o)[a],n=e.counts?t.length:1;hA(A,c||Object(ue.q)(t),u,l).forEach((function(e){for(var A={},r=0;r<i.length;++r)A[i[r]]=t.dims[r];A[s[0]]=e[0],A[s[1]]=e[1]*n,g.push(be(A))}))})),this.value&&(A.rem=this.value),this.value=A.add=A.source=g}return A}}),Object(ue.z)(Qn,_e),Object(ue.z)(vn,at,{transform:function(e,t){var A=this,n=t.dataflow;return this._pending?mn(this,t,this._pending):function(e){return e.modified("async")&&!(e.modified("values")||e.modified("url")||e.modified("format"))}(e)?t.StopPropagation:e.values?mn(this,t,n.parse(e.values,e.format)):e.async?{async:n.request(e.url,e.format).then((function(e){return A._pending=Object(ue.i)(e.data),function(e){return e.touch(A)}}))}:n.request(e.url,e.format).then((function(e){return mn(A,t,Object(ue.i)(e.data))}))}}),bn.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},Object(ue.z)(bn,at,{transform:function(e,t){var A,n,r=e.fields,i=e.index,o=e.values,a=null==e.default?null:e.default,s=e.modified(),g=r.length,c=s?t.SOURCE:t.ADD,u=t,l=e.as;return o?(n=o.length,g>1&&!l&&Object(ue.o)('Multi-field lookup requires explicit "as" parameter.'),l&&l.length!==g*n&&Object(ue.o)('The "as" parameter has too few output field names.'),l=l||o.map(ue.h),A=function(e){for(var t,A,s=0,c=0;s<g;++s)if(null==(A=i.get(r[s](e))))for(t=0;t<n;++t,++c)e[l[c]]=a;else for(t=0;t<n;++t,++c)e[l[c]]=o[t](A)}):(l||Object(ue.o)("Missing output field names."),A=function(e){for(var t,A=0;A<g;++A)t=i.get(r[A](e)),e[l[A]]=null==t?a:t}),s?u=t.reflow(!0):c|=r.some((function(e){return t.modified(e.fields)}))?t.MOD:0,t.visit(c,A),u.modifies(l)}}),Object(ue.z)(wn,_e),Object(ue.z)(Fn,_e),Object(ue.z)(Dn,at,{transform:function(e,t){return this.modified(e.modified()),this.value=e,t.fork(t.NO_SOURCE|t.NO_FIELDS)}}),Gn.Definition={type:"Pivot",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"value",type:"field",required:!0},{name:"op",type:"enum",values:kA,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},Object(ue.z)(Gn,HA,{_transform:HA.prototype.transform,transform:function(e,t){return this._transform(function(e,t){var A=e.field,n=e.value,r=("count"===e.op?"__count__":e.op)||"sum",i=Object(ue.g)(A).concat(Object(ue.g)(n)),o=function(e,t,A){var n={},r=[];return A.visit(A.SOURCE,(function(t){var A=e(t);n[A]||(n[A]=1,r.push(A))})),r.sort(ue.j),t?r.slice(0,t):r}(A,e.limit||0,t);t.changed()&&e.set("__pivot__",null,null,!0);return{key:e.key,groupby:e.groupby,ops:o.map((function(){return r})),fields:o.map((function(e){return function(e,t,A,n){return Object(ue.f)((function(n){return t(n)===e?A(n):NaN}),n,e+"")}(e,A,n,i)})),as:o.map((function(e){return e+""})),modified:e.modified.bind(e)}}(e,t),t)}}),Object(ue.z)(kn,sn,{transform:function(e,t){var A=this,n=e.subflow,r=e.field,i=function(e){return A.subflow(ve(e),n,t,e)};return(e.modified("field")||r&&t.modified(Object(ue.g)(r)))&&Object(ue.o)("PreFacet does not support field modification."),this.initTargets(),r?(t.visit(t.MOD,(function(e){var t=i(e);r(e).forEach((function(e){return t.mod(e)}))})),t.visit(t.ADD,(function(e){var t=i(e);r(e).forEach((function(e){return t.add(be(e))}))})),t.visit(t.REM,(function(e){var t=i(e);r(e).forEach((function(e){return t.rem(e)}))}))):(t.visit(t.MOD,(function(e){return i(e).mod(e)})),t.visit(t.ADD,(function(e){return i(e).add(e)})),t.visit(t.REM,(function(e){return i(e).rem(e)}))),t.clean()&&t.runAfter((function(){return A.clean()})),t}}),xn.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},Object(ue.z)(xn,at,{transform:function(e,t){var A,n=t.fork(t.NO_SOURCE),r=e.fields,i=en(e.fields,e.as||[]),o=r?function(e,t){return function(e,t,A,n){for(var r=0,i=A.length;r<i;++r)t[n[r]]=A[r](e);return t}(e,t,r,i)}:Se;return this.value?A=this.value:(t=t.addAll(),A=this.value={}),t.visit(t.REM,(function(e){var t=ve(e);n.rem.push(A[t]),A[t]=null})),t.visit(t.ADD,(function(e){var t=o(e,be({}));A[ve(e)]=t,n.add.push(t)})),t.visit(t.MOD,(function(e){n.mod.push(o(e,A[ve(e)]))})),n}}),Object(ue.z)(Nn,at,{transform:function(e,t){return this.value=e.value,e.modified("value")?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}}),Un.Definition={type:"Quantile",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"probs",type:"number",array:!0},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:!0,default:["prob","value"]}]};function _n(e){at.call(this,null,e)}function Mn(e){at.call(this,[],e),this.count=0}function On(e){at.call(this,null,e)}function Ln(e){at.call(this,null,e),this.modified(!0)}function Tn(e){at.call(this,null,e)}Object(ue.z)(Un,at,{transform:function(e,t){var A=t.fork(t.NO_SOURCE|t.NO_FIELDS),n=e.as||["prob","value"];if(this.value&&!e.modified()&&!t.changed())return A.source=this.value,A;var r=tn(t.materialize(t.SOURCE).source,e.groupby,e.field),i=(e.groupby||[]).map(ue.h),o=[],a=e.step||.01,s=e.probs||mA(a/2,1-1e-14,a),g=s.length;return r.forEach((function(e){for(var t=mt(e,s),A=0;A<g;++A){for(var r={},a=0;a<i.length;++a)r[i[a]]=e.dims[a];r[n[0]]=s[A],r[n[1]]=t[A],o.push(be(r))}})),this.value&&(A.rem=this.value),this.value=A.add=A.source=o,A}}),Object(ue.z)(_n,at,{transform:function(e,t){var A,n;return this.value?n=this.value:(A=t=t.addAll(),n=this.value={}),e.derive&&(A=t.fork(t.NO_SOURCE),t.visit(t.REM,(function(e){var t=ve(e);A.rem.push(n[t]),n[t]=null})),t.visit(t.ADD,(function(e){var t=we(e);n[ve(e)]=t,A.add.push(t)})),t.visit(t.MOD,(function(e){var t=n[ve(e)];for(var r in e)t[r]=e[r],A.modifies(r);A.mod.push(t)}))),A}}),Mn.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},Object(ue.z)(Mn,at,{transform:function(e,t){var A=t.fork(t.NO_SOURCE),n=e.modified("size"),r=e.size,i=this.value.reduce((function(e,t){return e[ve(t)]=1,e}),{}),o=this.value,a=this.count,s=0;function g(e){var t,n;o.length<r?o.push(e):(n=~~((a+1)*Ft()))<o.length&&n>=s&&(t=o[n],i[ve(t)]&&A.rem.push(t),o[n]=e),++a}if(t.rem.length&&(t.visit(t.REM,(function(e){var t=ve(e);i[t]&&(i[t]=-1,A.rem.push(e)),--a})),o=o.filter((function(e){return-1!==i[ve(e)]}))),(t.rem.length||n)&&o.length<r&&t.source&&(s=a=o.length,t.visit(t.SOURCE,(function(e){i[ve(e)]||g(e)})),s=-1),n&&o.length>r){for(var c=o.length-r,u=0;u<c;++u)i[ve(o[u])]=-1,A.rem.push(o[u]);o=o.slice(c)}return t.mod.length&&t.visit(t.MOD,(function(e){i[ve(e)]&&A.mod.push(e)})),t.add.length&&t.visit(t.ADD,g),(t.add.length||s<0)&&(A.add=o.filter((function(e){return!i[ve(e)]}))),this.count=a,this.value=A.source=o,A}}),On.Definition={type:"Sequence",metadata:{generates:!0,changes:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]},Object(ue.z)(On,at,{transform:function(e,t){if(!this.value||e.modified()){var A=t.materialize().fork(t.MOD),n=e.as||"data";return A.rem=this.value?t.rem.concat(this.value):t.rem,this.value=mA(e.start,e.stop,e.step||1).map((function(e){var t={};return t[n]=e,be(t)})),A.add=t.add.concat(this.value),A}}}),Object(ue.z)(Ln,at,{transform:function(e,t){return this.value=t.source,t.changed()?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});var Zn=["unit0","unit1"];function Hn(e){at.call(this,Object(ue.t)(),e)}function Yn(e){at.call(this,null,e)}Tn.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:wA.j,array:!0},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:!0},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:!0,length:2,default:Zn}]},Object(ue.z)(Tn,at,{transform:function(e,t){var A=e.field,n=!1!==e.interval,r="utc"===e.timezone,i=this._floor(e,t),o=(r?wA.v:wA.p)(i.unit).offset,a=e.as||Zn,s=a[0],g=a[1],c=i.step,u=i.start||1/0,l=i.stop||-1/0,I=t.ADD;return(e.modified()||t.modified(Object(ue.g)(A)))&&(I=(t=t.reflow(!0)).SOURCE,u=1/0,l=-1/0),t.visit(I,(function(e){var t,r,a=A(e);null==a?(e[s]=null,n&&(e[g]=null)):(e[s]=t=r=i(a),n&&(e[g]=r=o(t,c)),t<u&&(u=t),r>l&&(l=r))})),i.start=u,i.stop=l,t.modifies(n?a:s)},_floor:function(e,t){var A="utc"===e.timezone,n=e.units?{units:e.units,step:e.step||1}:Object(wA.n)({extent:e.extent||Object(ue.q)(t.materialize(t.SOURCE).source,e.field),maxbins:e.maxbins}),r=n.units,i=n.step,o=Object(wA.t)(r),a=this.value||{},s=(A?wA.u:wA.o)(o,i);return s.unit=Object(ue.W)(o),s.units=o,s.step=i,s.start=a.start,s.stop=a.stop,this.value=s}}),Object(ue.z)(Hn,at,{transform:function(e,t){var A=t.dataflow,n=e.field,r=this.value,i=function(e){return r.set(n(e),e)},o=!0;return e.modified("field")||t.modified(n.fields)?(r.clear(),t.visit(t.SOURCE,i)):t.changed()?(t.visit(t.REM,(function(e){return r.delete(n(e))})),t.visit(t.ADD,i)):o=!1,this.modified(o),r.empty>A.cleanThreshold&&A.runAfter(r.clean),t.fork()}}),Object(ue.z)(Yn,at,{transform:function(e,t){(!this.value||e.modified("field")||e.modified("sort")||t.changed()||e.sort&&t.modified(e.sort.fields))&&(this.value=(e.sort?t.source.slice().sort(Re(e.sort)):t.source).map(e.field))}});var Jn={row_number:function(){return{next:function(e){return e.index+1}}},rank:function(){var e;return{init:function(){return e=1},next:function(t){var A=t.index,n=t.data;return A&&t.compare(n[A-1],n[A])?e=A+1:e}}},dense_rank:function(){var e;return{init:function(){return e=1},next:function(t){var A=t.index,n=t.data;return A&&t.compare(n[A-1],n[A])?++e:e}}},percent_rank:function(){var e=Jn.rank(),t=e.next;return{init:e.init,next:function(e){return(t(e)-1)/(e.data.length-1)}}},cume_dist:function(){var e;return{init:function(){return e=0},next:function(t){var A=t.data,n=t.compare,r=t.index;if(e<r){for(;r+1<A.length&&!n(A[r],A[r+1]);)++r;e=r}return(1+e)/A.length}}},ntile:function(e,t){(t=+t)>0||Object(ue.o)("ntile num must be greater than zero.");var A=Jn.cume_dist(),n=A.next;return{init:A.init,next:function(e){return Math.ceil(t*n(e))}}},lag:function(e,t){return t=+t||1,{next:function(A){var n=A.index-t;return n>=0?e(A.data[n]):null}}},lead:function(e,t){return t=+t||1,{next:function(A){var n=A.index+t,r=A.data;return n<r.length?e(r[n]):null}}},first_value:function(e){return{next:function(t){return e(t.data[t.i0])}}},last_value:function(e){return{next:function(t){return e(t.data[t.i1-1])}}},nth_value:function(e,t){return(t=+t)>0||Object(ue.o)("nth_value nth must be greater than zero."),{next:function(A){var n=A.i0+(t-1);return n<A.i1?e(A.data[n]):null}}},prev_value:function(e){var t;return{init:function(){return t=null},next:function(A){var n=e(A.data[A.index]);return null!=n?t=n:t}}},next_value:function(e){var t,A;return{init:function(){return t=null,A=-1},next:function(n){var r=n.data;return n.index<=A?t:(A=function(e,t,A){for(var n=t.length;A<n;++A){if(null!=e(t[A]))return A}return-1}(e,r,n.index))<0?(A=r.length,t=null):t=e(r[A])}}}};var jn=Object.keys(Jn);function Pn(e){var t=Object(ue.i)(e.ops),A=Object(ue.i)(e.fields),n=Object(ue.i)(e.params),r=Object(ue.i)(e.as),i=this.outputs=[],o=this.windows=[],a={},s={},g=[],c=[],u=!0;function l(e){Object(ue.i)(Object(ue.g)(e)).forEach((function(e){return a[e]=1}))}l(e.sort),t.forEach((function(e,t){var a=A[t],I=Object(ue.h)(a),C=FA(e,I,r[t]);if(l(a),i.push(C),Object(ue.w)(Jn,e))o.push(function(e,t,A,n){var r=Jn[e](t,A);return{init:r.init||ue.mb,update:function(e,t){t[n]=r.next(e)}}}(e,A[t],n[t],C));else{if(null==a&&"count"!==e&&Object(ue.o)("Null aggregate field specified."),"count"===e)return void g.push(C);u=!1;var h=s[I];h||((h=s[I]=[]).field=a,c.push(h)),h.push(xA(e,C))}})),(g.length||c.length)&&(this.cell=function(e,t,A){e=e.map((function(e){return LA(e,e.field)}));var n={num:0,agg:null,store:!1,count:t};if(!A)for(var r=e.length,i=n.agg=Array(r),o=0;o<r;++o)i[o]=new e[o](n);if(n.store)var a=n.data=new TA;return n.add=function(e){if(n.num+=1,!A){a&&a.add(e);for(var t=0;t<r;++t)i[t].add(i[t].get(e),e)}},n.rem=function(e){if(n.num-=1,!A){a&&a.rem(e);for(var t=0;t<r;++t)i[t].rem(i[t].get(e),e)}},n.set=function(e){var r,o;for(a&&a.values(),r=0,o=t.length;r<o;++r)e[t[r]]=n.num;if(!A)for(r=0,o=i.length;r<o;++r)i[r].set(e)},n.init=function(){n.num=0,a&&a.reset();for(var e=0;e<r;++e)i[e].init()},n}(c,g,u)),this.inputs=Object.keys(a)}var Vn=Pn.prototype;function Kn(e){at.call(this,{},e),this._mlen=0,this._mods=[]}function Wn(e,t,A,n){var r=n.sort,i=r&&!n.ignorePeers,o=n.frame||[null,0],a=e.data(A),s=a.length,g=i?bA(r):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:a,compare:r||Object(ue.m)(-1)};t.init();for(var u=0;u<s;++u)Xn(c,o,u,s),i&&qn(c,g),t.update(c,a[u])}function Xn(e,t,A,n){e.p0=e.i0,e.p1=e.i1,e.i0=null==t[0]?0:Math.max(0,A-Math.abs(t[0])),e.i1=null==t[1]?n:Math.min(n,A+Math.abs(t[1])+1),e.index=A}function qn(e,t){var A=e.i0,n=e.i1-1,r=e.compare,i=e.data,o=i.length-1;A>0&&!r(i[A],i[A-1])&&(e.i0=t.left(i,i[A])),n<o&&!r(i[n],i[n+1])&&(e.i1=t.right(i,i[n]))}Vn.init=function(){this.windows.forEach((function(e){return e.init()})),this.cell&&this.cell.init()},Vn.update=function(e,t){var A,n=this.cell,r=this.windows,i=e.data,o=r&&r.length;if(n){for(A=e.p0;A<e.i0;++A)n.rem(i[A]);for(A=e.p1;A<e.i1;++A)n.add(i[A]);n.set(t)}for(A=0;A<o;++A)r[A].update(e,t)},Kn.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:jn.concat(kA)},{name:"params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"frame",type:"number",null:!0,array:!0,length:2,default:[null,0]},{name:"ignorePeers",type:"boolean",default:!1}]},Object(ue.z)(Kn,at,{transform:function(e,t){var A=this;this.stamp=t.stamp;var n=e.modified(),r=Re(e.sort),i=SA(e.groupby),o=function(e){return A.group(i(e))},a=this.state;a&&!n||(a=this.state=new Pn(e)),n||t.modified(a.inputs)?(this.value={},t.visit(t.SOURCE,(function(e){return o(e).add(e)}))):(t.visit(t.REM,(function(e){return o(e).remove(e)})),t.visit(t.ADD,(function(e){return o(e).add(e)})));for(var s=0,g=this._mlen;s<g;++s)Wn(this._mods[s],a,r,e);return this._mlen=0,this._mods=[],t.reflow(n).modifies(a.outputs)},group:function(e){var t=this.value[e];return t||(t=this.value[e]=JA(ve),t.stamp=-1),t.stamp<this.stamp&&(t.stamp=this.stamp,this._mods[this._mlen++]=t),t}});var zn=A(11),$n=A(2);function er(e,t,A){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+A)/6)}function tr(e){this._context=e}tr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:er(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:er(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};var Ar=function(){};function nr(e){this._context=e}nr.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:er(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function rr(e){this._context=e}rr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var A=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(A,n):this._context.moveTo(A,n);break;case 3:this._point=4;default:er(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function ir(e,t){this._basis=new tr(e),this._beta=t}ir.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,A=e.length-1;if(A>0)for(var n,r=e[0],i=t[0],o=e[A]-r,a=t[A]-i,s=-1;++s<=A;)n=s/A,this._basis.point(this._beta*e[s]+(1-this._beta)*(r+n*o),this._beta*t[s]+(1-this._beta)*(i+n*a));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var or=function e(t){function A(e){return 1===t?new tr(e):new ir(e,t)}return A.beta=function(t){return e(+t)},A}(.85);function ar(e,t,A){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-A),e._x2,e._y2)}function sr(e,t){this._context=e,this._k=(1-t)/6}sr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:ar(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:ar(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var gr=function e(t){function A(e){return new sr(e,t)}return A.tension=function(t){return e(+t)},A}(0);function cr(e,t){this._context=e,this._k=(1-t)/6}cr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:ar(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ur=function e(t){function A(e){return new cr(e,t)}return A.tension=function(t){return e(+t)},A}(0);function lr(e,t){this._context=e,this._k=(1-t)/6}lr.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:ar(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Ir=function e(t){function A(e){return new lr(e,t)}return A.tension=function(t){return e(+t)},A}(0),Cr=Math.abs,hr=Math.atan2,fr=Math.cos,dr=Math.max,Br=Math.min,pr=Math.sin,Er=Math.sqrt,Qr=Math.PI,yr=Qr/2,vr=2*Qr;function mr(e){return e>1?0:e<-1?Qr:Math.acos(e)}function br(e){return e>=1?yr:e<=-1?-yr:Math.asin(e)}function wr(e,t,A){var n=e._x1,r=e._y1,i=e._x2,o=e._y2;if(e._l01_a>1e-12){var a=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,s=3*e._l01_a*(e._l01_a+e._l12_a);n=(n*a-e._x0*e._l12_2a+e._x2*e._l01_2a)/s,r=(r*a-e._y0*e._l12_2a+e._y2*e._l01_2a)/s}if(e._l23_a>1e-12){var g=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,c=3*e._l23_a*(e._l23_a+e._l12_a);i=(i*g+e._x1*e._l23_2a-t*e._l12_2a)/c,o=(o*g+e._y1*e._l23_2a-A*e._l12_2a)/c}e._context.bezierCurveTo(n,r,i,o,e._x2,e._y2)}function Sr(e,t){this._context=e,this._alpha=t}Sr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var A=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(A*A+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:wr(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Fr=function e(t){function A(e){return t?new Sr(e,t):new sr(e,0)}return A.alpha=function(t){return e(+t)},A}(.5);function Rr(e,t){this._context=e,this._alpha=t}Rr.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var A=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(A*A+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:wr(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Dr=function e(t){function A(e){return t?new Rr(e,t):new lr(e,0)}return A.alpha=function(t){return e(+t)},A}(.5);function Gr(e,t){this._context=e,this._alpha=t}Gr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var A=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(A*A+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:wr(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var kr=function e(t){function A(e){return t?new Gr(e,t):new cr(e,0)}return A.alpha=function(t){return e(+t)},A}(.5);function xr(e){this._context=e}xr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};var Nr=function(e){return new xr(e)};function Ur(e){this._context=e}Ur.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function _r(e){return e<0?-1:1}function Mr(e,t,A){var n=e._x1-e._x0,r=t-e._x1,i=(e._y1-e._y0)/(n||r<0&&-0),o=(A-e._y1)/(r||n<0&&-0),a=(i*r+o*n)/(n+r);return(_r(i)+_r(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(a))||0}function Or(e,t){var A=e._x1-e._x0;return A?(3*(e._y1-e._y0)/A-t)/2:t}function Lr(e,t,A){var n=e._x0,r=e._y0,i=e._x1,o=e._y1,a=(i-n)/3;e._context.bezierCurveTo(n+a,r+a*t,i-a,o-a*A,i,o)}function Tr(e){this._context=e}function Zr(e){this._context=new Hr(e)}function Hr(e){this._context=e}function Yr(e){this._context=e}function Jr(e){var t,A,n=e.length-1,r=new Array(n),i=new Array(n),o=new Array(n);for(r[0]=0,i[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)r[t]=1,i[t]=4,o[t]=4*e[t]+2*e[t+1];for(r[n-1]=2,i[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)A=r[t]/i[t-1],i[t]-=A,o[t]-=A*o[t-1];for(r[n-1]=o[n-1]/i[n-1],t=n-2;t>=0;--t)r[t]=(o[t]-r[t+1])/i[t];for(i[n-1]=(e[n]+r[n-1])/2,t=0;t<n-1;++t)i[t]=2*e[t+1]-r[t+1];return[r,i]}Tr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Lr(this,this._t0,Or(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var A=NaN;if(t=+t,(e=+e)!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Lr(this,Or(this,A=Mr(this,e,t)),A);break;default:Lr(this,this._t0,A=Mr(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=A}}},(Zr.prototype=Object.create(Tr.prototype)).point=function(e,t){Tr.prototype.point.call(this,t,e)},Hr.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,A,n,r,i){this._context.bezierCurveTo(t,e,n,A,i,r)}},Yr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,A=e.length;if(A)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),2===A)this._context.lineTo(e[1],t[1]);else for(var n=Jr(e),r=Jr(t),i=0,o=1;o<A;++i,++o)this._context.bezierCurveTo(n[0][i],r[0][i],n[1][i],r[1][i],e[o],t[o]);(this._line||0!==this._line&&1===A)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function jr(e,t){this._context=e,this._t=t}jr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var A=this._x*(1-this._t)+e*this._t;this._context.lineTo(A,this._y),this._context.lineTo(A,t)}}this._x=e,this._y=t}};var Pr=Math.PI,Vr=2*Pr,Kr=Vr-1e-6;function Wr(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function Xr(){return new Wr}Wr.prototype=Xr.prototype={constructor:Wr,moveTo:function(e,t){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(e,t){this._+="L"+(this._x1=+e)+","+(this._y1=+t)},quadraticCurveTo:function(e,t,A,n){this._+="Q"+ +e+","+ +t+","+(this._x1=+A)+","+(this._y1=+n)},bezierCurveTo:function(e,t,A,n,r,i){this._+="C"+ +e+","+ +t+","+ +A+","+ +n+","+(this._x1=+r)+","+(this._y1=+i)},arcTo:function(e,t,A,n,r){e=+e,t=+t,A=+A,n=+n,r=+r;var i=this._x1,o=this._y1,a=A-e,s=n-t,g=i-e,c=o-t,u=g*g+c*c;if(r<0)throw new Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=e)+","+(this._y1=t);else if(u>1e-6)if(Math.abs(c*a-s*g)>1e-6&&r){var l=A-i,I=n-o,C=a*a+s*s,h=l*l+I*I,f=Math.sqrt(C),d=Math.sqrt(u),B=r*Math.tan((Pr-Math.acos((C+u-h)/(2*f*d)))/2),p=B/d,E=B/f;Math.abs(p-1)>1e-6&&(this._+="L"+(e+p*g)+","+(t+p*c)),this._+="A"+r+","+r+",0,0,"+ +(c*l>g*I)+","+(this._x1=e+E*a)+","+(this._y1=t+E*s)}else this._+="L"+(this._x1=e)+","+(this._y1=t);else;},arc:function(e,t,A,n,r,i){e=+e,t=+t,i=!!i;var o=(A=+A)*Math.cos(n),a=A*Math.sin(n),s=e+o,g=t+a,c=1^i,u=i?n-r:r-n;if(A<0)throw new Error("negative radius: "+A);null===this._x1?this._+="M"+s+","+g:(Math.abs(this._x1-s)>1e-6||Math.abs(this._y1-g)>1e-6)&&(this._+="L"+s+","+g),A&&(u<0&&(u=u%Vr+Vr),u>Kr?this._+="A"+A+","+A+",0,1,"+c+","+(e-o)+","+(t-a)+"A"+A+","+A+",0,1,"+c+","+(this._x1=s)+","+(this._y1=g):u>1e-6&&(this._+="A"+A+","+A+",0,"+ +(u>=Pr)+","+c+","+(this._x1=e+A*Math.cos(r))+","+(this._y1=t+A*Math.sin(r))))},rect:function(e,t,A,n){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +A+"v"+ +n+"h"+-A+"Z"},toString:function(){return this._}};var qr=Xr,zr=function(e){return function(){return e}};function $r(e){return e.innerRadius}function ei(e){return e.outerRadius}function ti(e){return e.startAngle}function Ai(e){return e.endAngle}function ni(e){return e&&e.padAngle}function ri(e,t,A,n,r,i,o,a){var s=A-e,g=n-t,c=o-r,u=a-i,l=u*s-c*g;if(!(l*l<1e-12))return[e+(l=(c*(t-i)-u*(e-r))/l)*s,t+l*g]}function ii(e,t,A,n,r,i,o){var a=e-A,s=t-n,g=(o?i:-i)/Er(a*a+s*s),c=g*s,u=-g*a,l=e+c,I=t+u,C=A+c,h=n+u,f=(l+C)/2,d=(I+h)/2,B=C-l,p=h-I,E=B*B+p*p,Q=r-i,y=l*h-C*I,v=(p<0?-1:1)*Er(dr(0,Q*Q*E-y*y)),m=(y*p-B*v)/E,b=(-y*B-p*v)/E,w=(y*p+B*v)/E,S=(-y*B+p*v)/E,F=m-f,R=b-d,D=w-f,G=S-d;return F*F+R*R>D*D+G*G&&(m=w,b=S),{cx:m,cy:b,x01:-c,y01:-u,x11:m*(r/Q-1),y11:b*(r/Q-1)}}Array.prototype.slice;var oi=function(e){return"object"===typeof e&&"length"in e?e:Array.from(e)};function ai(e){return e[0]}function si(e){return e[1]}var gi=function(e,t){var A=zr(!0),n=null,r=Nr,i=null;function o(o){var a,s,g,c=(o=oi(o)).length,u=!1;for(null==n&&(i=r(g=qr())),a=0;a<=c;++a)!(a<c&&A(s=o[a],a,o))===u&&((u=!u)?i.lineStart():i.lineEnd()),u&&i.point(+e(s,a,o),+t(s,a,o));if(g)return i=null,g+""||null}return e="function"===typeof e?e:void 0===e?ai:zr(e),t="function"===typeof t?t:void 0===t?si:zr(t),o.x=function(t){return arguments.length?(e="function"===typeof t?t:zr(+t),o):e},o.y=function(e){return arguments.length?(t="function"===typeof e?e:zr(+e),o):t},o.defined=function(e){return arguments.length?(A="function"===typeof e?e:zr(!!e),o):A},o.curve=function(e){return arguments.length?(r=e,null!=n&&(i=r(n)),o):r},o.context=function(e){return arguments.length?(null==e?n=i=null:i=r(n=e),o):n},o},ci=function(e,t,A){var n=null,r=zr(!0),i=null,o=Nr,a=null;function s(s){var g,c,u,l,I,C=(s=oi(s)).length,h=!1,f=new Array(C),d=new Array(C);for(null==i&&(a=o(I=qr())),g=0;g<=C;++g){if(!(g<C&&r(l=s[g],g,s))===h)if(h=!h)c=g,a.areaStart(),a.lineStart();else{for(a.lineEnd(),a.lineStart(),u=g-1;u>=c;--u)a.point(f[u],d[u]);a.lineEnd(),a.areaEnd()}h&&(f[g]=+e(l,g,s),d[g]=+t(l,g,s),a.point(n?+n(l,g,s):f[g],A?+A(l,g,s):d[g]))}if(I)return a=null,I+""||null}function g(){return gi().defined(r).curve(o).context(i)}return e="function"===typeof e?e:void 0===e?ai:zr(+e),t="function"===typeof t?t:zr(void 0===t?0:+t),A="function"===typeof A?A:void 0===A?si:zr(+A),s.x=function(t){return arguments.length?(e="function"===typeof t?t:zr(+t),n=null,s):e},s.x0=function(t){return arguments.length?(e="function"===typeof t?t:zr(+t),s):e},s.x1=function(e){return arguments.length?(n=null==e?null:"function"===typeof e?e:zr(+e),s):n},s.y=function(e){return arguments.length?(t="function"===typeof e?e:zr(+e),A=null,s):t},s.y0=function(e){return arguments.length?(t="function"===typeof e?e:zr(+e),s):t},s.y1=function(e){return arguments.length?(A=null==e?null:"function"===typeof e?e:zr(+e),s):A},s.lineX0=s.lineY0=function(){return g().x(e).y(t)},s.lineY1=function(){return g().x(e).y(A)},s.lineX1=function(){return g().x(n).y(t)},s.defined=function(e){return arguments.length?(r="function"===typeof e?e:zr(!!e),s):r},s.curve=function(e){return arguments.length?(o=e,null!=i&&(a=o(i)),s):o},s.context=function(e){return arguments.length?(null==e?i=a=null:a=o(i=e),s):i},s},ui={draw:function(e,t){var A=Math.sqrt(t/Qr);e.moveTo(A,0),e.arc(0,0,A,0,vr)}},li=(Math.sqrt(1/3),Math.sin(Qr/10)/Math.sin(7*Qr/10));Math.sin(vr/10),Math.cos(vr/10),Math.sqrt(3),Math.sqrt(3),Math.sqrt(12);function Ii(e,t){if("undefined"!==typeof document&&document.createElement){var A=document.createElement("canvas");if(A&&A.getContext)return A.width=e,A.height=t,A}return null}var Ci=function(){return"undefined"!==typeof Image?Image:null},hi=function(e,t){return e<t?-1:e>t?1:e>=t?0:NaN},fi=function(e){var t=e,A=e;function n(e,t,n,r){for(null==n&&(n=0),null==r&&(r=e.length);n<r;){var i=n+r>>>1;A(e[i],t)<0?n=i+1:r=i}return n}return 1===e.length&&(t=function(t,A){return e(t)-A},A=function(e){return function(t,A){return hi(e(t),A)}}(e)),{left:n,center:function(e,A,r,i){null==r&&(r=0),null==i&&(i=e.length);var o=n(e,A,r,i-1);return o>r&&t(e[o-1],A)>-t(e[o],A)?o-1:o},right:function(e,t,n,r){for(null==n&&(n=0),null==r&&(r=e.length);n<r;){var i=n+r>>>1;A(e[i],t)>0?r=i:n=i+1}return n}}};var di=function(e){return null===e?NaN:+e};var Bi=fi(hi),pi=Bi.right,Ei=(Bi.left,fi(di).center,pi);function Qi(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function yi(e,t){switch(arguments.length){case 0:break;case 1:"function"===typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),"function"===typeof t?this.interpolator(t):this.range(t)}return this}var vi=Symbol("implicit");function mi(){var e=new Map,t=[],A=[],n=vi;function r(r){var i=r+"",o=e.get(i);if(!o){if(n!==vi)return n;e.set(i,o=t.push(r))}return A[(o-1)%A.length]}return r.domain=function(A){if(!arguments.length)return t.slice();t=[],e=new Map;var n,i=Object(ut.a)(A);try{for(i.s();!(n=i.n()).done;){var o=n.value,a=o+"";e.has(a)||e.set(a,t.push(o))}}catch(s){i.e(s)}finally{i.f()}return r},r.range=function(e){return arguments.length?(A=Array.from(e),r):A.slice()},r.unknown=function(e){return arguments.length?(n=e,r):n},r.copy=function(){return mi(t,A).unknown(n)},Qi.apply(r,arguments),r}var bi=Math.sqrt(50),wi=Math.sqrt(10),Si=Math.sqrt(2),Fi=function(e,t,A){var n,r,i,o,a=-1;if(A=+A,(e=+e)===(t=+t)&&A>0)return[e];if((n=t<e)&&(r=e,e=t,t=r),0===(o=Ri(e,t,A))||!isFinite(o))return[];if(o>0){var s=Math.round(e/o),g=Math.round(t/o);for(s*o<e&&++s,g*o>t&&--g,i=new Array(r=g-s+1);++a<r;)i[a]=(s+a)*o}else{o=-o;var c=Math.round(e*o),u=Math.round(t*o);for(c/o<e&&++c,u/o>t&&--u,i=new Array(r=u-c+1);++a<r;)i[a]=(c+a)/o}return n&&i.reverse(),i};function Ri(e,t,A){var n=(t-e)/Math.max(0,A),r=Math.floor(Math.log(n)/Math.LN10),i=n/Math.pow(10,r);return r>=0?(i>=bi?10:i>=wi?5:i>=Si?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(i>=bi?10:i>=wi?5:i>=Si?2:1)}function Di(e,t,A){var n=Math.abs(t-e)/Math.max(0,A),r=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),i=n/r;return i>=bi?r*=10:i>=wi?r*=5:i>=Si&&(r*=2),t<e?-r:r}var Gi=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ki(e){if(!(t=Gi.exec(e)))throw new Error("invalid format: "+e);var t;return new xi({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function xi(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}ki.prototype=xi.prototype,xi.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Ni,Ui,_i,Mi,Oi=function(e,t){if((A=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var A,n=e.slice(0,A);return[n.length>1?n[0]+n.slice(2):n,+e.slice(A+1)]},Li=function(e){return(e=Oi(Math.abs(e)))?e[1]:NaN},Ti=function(e,t){var A=Oi(e,t);if(!A)return e+"";var n=A[0],r=A[1];return r<0?"0."+new Array(-r).join("0")+n:n.length>r+1?n.slice(0,r+1)+"."+n.slice(r+1):n+new Array(r-n.length+2).join("0")},Zi={"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.round(e).toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return Ti(100*e,t)},r:Ti,s:function(e,t){var A=Oi(e,t);if(!A)return e+"";var n=A[0],r=A[1],i=r-(Ni=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,o=n.length;return i===o?n:i>o?n+new Array(i-o+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+Oi(e,Math.max(0,t+i-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}},Hi=function(e){return e},Yi=Array.prototype.map,Ji=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];Ui=function(e){var t,A,n=void 0===e.grouping||void 0===e.thousands?Hi:(t=Yi.call(e.grouping,Number),A=e.thousands+"",function(e,n){for(var r=e.length,i=[],o=0,a=t[0],s=0;r>0&&a>0&&(s+a+1>n&&(a=Math.max(1,n-s)),i.push(e.substring(r-=a,r+a)),!((s+=a+1)>n));)a=t[o=(o+1)%t.length];return i.reverse().join(A)}),r=void 0===e.currency?"":e.currency[0]+"",i=void 0===e.currency?"":e.currency[1]+"",o=void 0===e.decimal?".":e.decimal+"",a=void 0===e.numerals?Hi:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(Yi.call(e.numerals,String)),s=void 0===e.percent?"%":e.percent+"",g=void 0===e.minus?"-":e.minus+"",c=void 0===e.nan?"NaN":e.nan+"";function u(e){var t=(e=ki(e)).fill,A=e.align,u=e.sign,l=e.symbol,I=e.zero,C=e.width,h=e.comma,f=e.precision,d=e.trim,B=e.type;"n"===B?(h=!0,B="g"):Zi[B]||(void 0===f&&(f=12),d=!0,B="g"),(I||"0"===t&&"="===A)&&(I=!0,t="0",A="=");var p="$"===l?r:"#"===l&&/[boxX]/.test(B)?"0"+B.toLowerCase():"",E="$"===l?i:/[%p]/.test(B)?s:"",Q=Zi[B],y=/[defgprs%]/.test(B);function v(e){var r,i,s,l=p,v=E;if("c"===B)v=Q(e)+v,e="";else{var m=(e=+e)<0||1/e<0;if(e=isNaN(e)?c:Q(Math.abs(e),f),d&&(e=function(e){e:for(var t,A=e.length,n=1,r=-1;n<A;++n)switch(e[n]){case".":r=t=n;break;case"0":0===r&&(r=n),t=n;break;default:if(!+e[n])break e;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(t+1):e}(e)),m&&0===+e&&"+"!==u&&(m=!1),l=(m?"("===u?u:g:"-"===u||"("===u?"":u)+l,v=("s"===B?Ji[8+Ni/3]:"")+v+(m&&"("===u?")":""),y)for(r=-1,i=e.length;++r<i;)if(48>(s=e.charCodeAt(r))||s>57){v=(46===s?o+e.slice(r+1):e.slice(r))+v,e=e.slice(0,r);break}}h&&!I&&(e=n(e,1/0));var b=l.length+e.length+v.length,w=b<C?new Array(C-b+1).join(t):"";switch(h&&I&&(e=n(w+e,w.length?C-v.length:1/0),w=""),A){case"<":e=l+e+v+w;break;case"=":e=l+w+e+v;break;case"^":e=w.slice(0,b=w.length>>1)+l+e+v+w.slice(b);break;default:e=w+l+e+v}return a(e)}return f=void 0===f?6:/[gprs]/.test(B)?Math.max(1,Math.min(21,f)):Math.max(0,Math.min(20,f)),v.toString=function(){return e+""},v}return{format:u,formatPrefix:function(e,t){var A=u(((e=ki(e)).type="f",e)),n=3*Math.max(-8,Math.min(8,Math.floor(Li(t)/3))),r=Math.pow(10,-n),i=Ji[8+n/3];return function(e){return A(r*e)+i}}}}({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),_i=Ui.format,Mi=Ui.formatPrefix;function ji(e,t,A,n){var r,i=Di(e,t,A);switch((n=ki(null==n?",f":n)).type){case"s":var o=Math.max(Math.abs(e),Math.abs(t));return null!=n.precision||isNaN(r=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Li(t)/3)))-Li(Math.abs(e)))}(i,o))||(n.precision=r),Mi(n,o);case"":case"e":case"g":case"p":case"r":null!=n.precision||isNaN(r=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Li(t)-Li(e))+1}(i,Math.max(Math.abs(e),Math.abs(t))))||(n.precision=r-("e"===n.type));break;case"f":case"%":null!=n.precision||isNaN(r=function(e){return Math.max(0,-Li(Math.abs(e)))}(i))||(n.precision=r-2*("%"===n.type))}return _i(n)}var Pi=function(e,t,A){e.prototype=t.prototype=A,A.constructor=e};function Vi(e,t){var A=Object.create(e.prototype);for(var n in t)A[n]=t[n];return A}function Ki(){}var Wi="\\s*([+-]?\\d+)\\s*",Xi="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",qi="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",zi=/^#([0-9a-f]{3,8})$/,$i=new RegExp("^rgb\\("+[Wi,Wi,Wi]+"\\)$"),eo=new RegExp("^rgb\\("+[qi,qi,qi]+"\\)$"),to=new RegExp("^rgba\\("+[Wi,Wi,Wi,Xi]+"\\)$"),Ao=new RegExp("^rgba\\("+[qi,qi,qi,Xi]+"\\)$"),no=new RegExp("^hsl\\("+[Xi,qi,qi]+"\\)$"),ro=new RegExp("^hsla\\("+[Xi,qi,qi,Xi]+"\\)$"),io={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function oo(){return this.rgb().formatHex()}function ao(){return this.rgb().formatRgb()}function so(e){var t,A;return e=(e+"").trim().toLowerCase(),(t=zi.exec(e))?(A=t[1].length,t=parseInt(t[1],16),6===A?go(t):3===A?new Io(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===A?new Io(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===A?new Io(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=$i.exec(e))?new Io(t[1],t[2],t[3],1):(t=eo.exec(e))?new Io(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=to.exec(e))?co(t[1],t[2],t[3],t[4]):(t=Ao.exec(e))?co(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=no.exec(e))?Bo(t[1],t[2]/100,t[3]/100,1):(t=ro.exec(e))?Bo(t[1],t[2]/100,t[3]/100,t[4]):io.hasOwnProperty(e)?go(io[e]):"transparent"===e?new Io(NaN,NaN,NaN,0):null}function go(e){return new Io(e>>16&255,e>>8&255,255&e,1)}function co(e,t,A,n){return n<=0&&(e=t=A=NaN),new Io(e,t,A,n)}function uo(e){return e instanceof Ki||(e=so(e)),e?new Io((e=e.rgb()).r,e.g,e.b,e.opacity):new Io}function lo(e,t,A,n){return 1===arguments.length?uo(e):new Io(e,t,A,null==n?1:n)}function Io(e,t,A,n){this.r=+e,this.g=+t,this.b=+A,this.opacity=+n}function Co(){return"#"+fo(this.r)+fo(this.g)+fo(this.b)}function ho(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}function fo(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function Bo(e,t,A,n){return n<=0?e=t=A=NaN:A<=0||A>=1?e=t=NaN:t<=0&&(e=NaN),new Qo(e,t,A,n)}function po(e){if(e instanceof Qo)return new Qo(e.h,e.s,e.l,e.opacity);if(e instanceof Ki||(e=so(e)),!e)return new Qo;if(e instanceof Qo)return e;var t=(e=e.rgb()).r/255,A=e.g/255,n=e.b/255,r=Math.min(t,A,n),i=Math.max(t,A,n),o=NaN,a=i-r,s=(i+r)/2;return a?(o=t===i?(A-n)/a+6*(A<n):A===i?(n-t)/a+2:(t-A)/a+4,a/=s<.5?i+r:2-i-r,o*=60):a=s>0&&s<1?0:o,new Qo(o,a,s,e.opacity)}function Eo(e,t,A,n){return 1===arguments.length?po(e):new Qo(e,t,A,null==n?1:n)}function Qo(e,t,A,n){this.h=+e,this.s=+t,this.l=+A,this.opacity=+n}function yo(e,t,A){return 255*(e<60?t+(A-t)*e/60:e<180?A:e<240?t+(A-t)*(240-e)/60:t)}function vo(e,t,A,n,r){var i=e*e,o=i*e;return((1-3*e+3*i-o)*t+(4-6*i+3*o)*A+(1+3*e+3*i-3*o)*n+o*r)/6}Pi(Ki,so,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:oo,formatHex:oo,formatHsl:function(){return po(this).formatHsl()},formatRgb:ao,toString:ao}),Pi(Io,lo,Vi(Ki,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new Io(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new Io(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Co,formatHex:Co,formatRgb:ho,toString:ho})),Pi(Qo,Eo,Vi(Ki,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new Qo(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new Qo(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,A=this.l,n=A+(A<.5?A:1-A)*t,r=2*A-n;return new Io(yo(e>=240?e-240:e+120,r,n),yo(e,r,n),yo(e<120?e+240:e-120,r,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===e?")":", "+e+")")}}));var mo=function(e){var t=e.length-1;return function(A){var n=A<=0?A=0:A>=1?(A=1,t-1):Math.floor(A*t),r=e[n],i=e[n+1],o=n>0?e[n-1]:2*r-i,a=n<t-1?e[n+2]:2*i-r;return vo((A-n/t)*t,o,r,i,a)}},bo=function(e){var t=e.length;return function(A){var n=Math.floor(((A%=1)<0?++A:A)*t),r=e[(n+t-1)%t],i=e[n%t],o=e[(n+1)%t],a=e[(n+2)%t];return vo((A-n/t)*t,r,i,o,a)}},wo=function(e){return function(){return e}};function So(e,t){return function(A){return e+A*t}}function Fo(e,t){var A=t-e;return A?So(e,A>180||A<-180?A-360*Math.round(A/360):A):wo(isNaN(e)?t:e)}function Ro(e){return 1===(e=+e)?Do:function(t,A){return A-t?function(e,t,A){return e=Math.pow(e,A),t=Math.pow(t,A)-e,A=1/A,function(n){return Math.pow(e+n*t,A)}}(t,A,e):wo(isNaN(t)?A:t)}}function Do(e,t){var A=t-e;return A?So(e,A):wo(isNaN(e)?t:e)}var Go=function e(t){var A=Ro(t);function n(e,t){var n=A((e=lo(e)).r,(t=lo(t)).r),r=A(e.g,t.g),i=A(e.b,t.b),o=Do(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=r(t),e.b=i(t),e.opacity=o(t),e+""}}return n.gamma=e,n}(1);function ko(e){return function(t){var A,n,r=t.length,i=new Array(r),o=new Array(r),a=new Array(r);for(A=0;A<r;++A)n=lo(t[A]),i[A]=n.r||0,o[A]=n.g||0,a[A]=n.b||0;return i=e(i),o=e(o),a=e(a),n.opacity=1,function(e){return n.r=i(e),n.g=o(e),n.b=a(e),n+""}}}var xo=ko(mo),No=ko(bo),Uo=function(e,t){t||(t=[]);var A,n=e?Math.min(t.length,e.length):0,r=t.slice();return function(i){for(A=0;A<n;++A)r[A]=e[A]*(1-i)+t[A]*i;return r}};function _o(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}var Mo=function(e,t){return(_o(t)?Uo:Oo)(e,t)};function Oo(e,t){var A,n=t?t.length:0,r=e?Math.min(n,e.length):0,i=new Array(r),o=new Array(n);for(A=0;A<r;++A)i[A]=jo(e[A],t[A]);for(;A<n;++A)o[A]=t[A];return function(e){for(A=0;A<r;++A)o[A]=i[A](e);return o}}var Lo=function(e,t){var A=new Date;return e=+e,t=+t,function(n){return A.setTime(e*(1-n)+t*n),A}},To=function(e,t){return e=+e,t=+t,function(A){return e*(1-A)+t*A}},Zo=function(e,t){var A,n={},r={};for(A in null!==e&&"object"===typeof e||(e={}),null!==t&&"object"===typeof t||(t={}),t)A in e?n[A]=jo(e[A],t[A]):r[A]=t[A];return function(e){for(A in n)r[A]=n[A](e);return r}},Ho=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Yo=new RegExp(Ho.source,"g");var Jo=function(e,t){var A,n,r,i=Ho.lastIndex=Yo.lastIndex=0,o=-1,a=[],s=[];for(e+="",t+="";(A=Ho.exec(e))&&(n=Yo.exec(t));)(r=n.index)>i&&(r=t.slice(i,r),a[o]?a[o]+=r:a[++o]=r),(A=A[0])===(n=n[0])?a[o]?a[o]+=n:a[++o]=n:(a[++o]=null,s.push({i:o,x:To(A,n)})),i=Yo.lastIndex;return i<t.length&&(r=t.slice(i),a[o]?a[o]+=r:a[++o]=r),a.length<2?s[0]?function(e){return function(t){return e(t)+""}}(s[0].x):function(e){return function(){return e}}(t):(t=s.length,function(e){for(var A,n=0;n<t;++n)a[(A=s[n]).i]=A.x(e);return a.join("")})},jo=function(e,t){var A,n=typeof t;return null==t||"boolean"===n?wo(t):("number"===n?To:"string"===n?(A=so(t))?(t=A,Go):Jo:t instanceof so?Go:t instanceof Date?Lo:_o(t)?Uo:Array.isArray(t)?Oo:"function"!==typeof t.valueOf&&"function"!==typeof t.toString||isNaN(t)?Zo:To)(e,t)},Po=function(e,t){return e=+e,t=+t,function(A){return Math.round(e*(1-A)+t*A)}};function Vo(e){return+e}var Ko=[0,1];function Wo(e){return e}function Xo(e,t){return(t-=e=+e)?function(A){return(A-e)/t}:(A=isNaN(t)?NaN:.5,function(){return A});var A}function qo(e,t,A){var n=e[0],r=e[1],i=t[0],o=t[1];return r<n?(n=Xo(r,n),i=A(o,i)):(n=Xo(n,r),i=A(i,o)),function(e){return i(n(e))}}function zo(e,t,A){var n=Math.min(e.length,t.length)-1,r=new Array(n),i=new Array(n),o=-1;for(e[n]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<n;)r[o]=Xo(e[o],e[o+1]),i[o]=A(t[o],t[o+1]);return function(t){var A=Ei(e,t,1,n)-1;return i[A](r[A](t))}}function $o(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function ea(){var e,t,A,n,r,i,o=Ko,a=Ko,s=jo,g=Wo;function c(){var e=Math.min(o.length,a.length);return g!==Wo&&(g=function(e,t){var A;return e>t&&(A=e,e=t,t=A),function(A){return Math.max(e,Math.min(t,A))}}(o[0],o[e-1])),n=e>2?zo:qo,r=i=null,u}function u(t){return null==t||isNaN(t=+t)?A:(r||(r=n(o.map(e),a,s)))(e(g(t)))}return u.invert=function(A){return g(t((i||(i=n(a,o.map(e),To)))(A)))},u.domain=function(e){return arguments.length?(o=Array.from(e,Vo),c()):o.slice()},u.range=function(e){return arguments.length?(a=Array.from(e),c()):a.slice()},u.rangeRound=function(e){return a=Array.from(e),s=Po,c()},u.clamp=function(e){return arguments.length?(g=!!e||Wo,c()):g!==Wo},u.interpolate=function(e){return arguments.length?(s=e,c()):s},u.unknown=function(e){return arguments.length?(A=e,u):A},function(A,n){return e=A,t=n,c()}}function ta(){return ea()(Wo,Wo)}function Aa(e){var t=e.domain;return e.ticks=function(e){var A=t();return Fi(A[0],A[A.length-1],null==e?10:e)},e.tickFormat=function(e,A){var n=t();return ji(n[0],n[n.length-1],null==e?10:e,A)},e.nice=function(A){null==A&&(A=10);var n,r,i=t(),o=0,a=i.length-1,s=i[o],g=i[a],c=10;for(g<s&&(r=s,s=g,g=r,r=o,o=a,a=r);c-- >0;){if((r=Ri(s,g,A))===n)return i[o]=s,i[a]=g,t(i);if(r>0)s=Math.floor(s/r)*r,g=Math.ceil(g/r)*r;else{if(!(r<0))break;s=Math.ceil(s*r)/r,g=Math.floor(g*r)/r}n=r}return e},e}function na(e,t){var A,n=0,r=(e=e.slice()).length-1,i=e[n],o=e[r];return o<i&&(A=n,n=r,r=A,A=i,i=o,o=A),e[n]=t.floor(i),e[r]=t.ceil(o),e}function ra(e){return Math.log(e)}function ia(e){return Math.exp(e)}function oa(e){return-Math.log(-e)}function aa(e){return-Math.exp(-e)}function sa(e){return isFinite(e)?+("1e"+e):e<0?0:e}function ga(e){return function(t){return-e(-t)}}function ca(e){var t,A,n=e(ra,ia),r=n.domain,i=10;function o(){return t=function(e){return e===Math.E?Math.log:10===e&&Math.log10||2===e&&Math.log2||(e=Math.log(e),function(t){return Math.log(t)/e})}(i),A=function(e){return 10===e?sa:e===Math.E?Math.exp:function(t){return Math.pow(e,t)}}(i),r()[0]<0?(t=ga(t),A=ga(A),e(oa,aa)):e(ra,ia),n}return n.base=function(e){return arguments.length?(i=+e,o()):i},n.domain=function(e){return arguments.length?(r(e),o()):r()},n.ticks=function(e){var n,o=r(),a=o[0],s=o[o.length-1];(n=s<a)&&(l=a,a=s,s=l);var g,c,u,l=t(a),I=t(s),C=null==e?10:+e,h=[];if(!(i%1)&&I-l<C){if(l=Math.floor(l),I=Math.ceil(I),a>0){for(;l<=I;++l)for(c=1,g=A(l);c<i;++c)if(!((u=g*c)<a)){if(u>s)break;h.push(u)}}else for(;l<=I;++l)for(c=i-1,g=A(l);c>=1;--c)if(!((u=g*c)<a)){if(u>s)break;h.push(u)}2*h.length<C&&(h=Fi(a,s,C))}else h=Fi(l,I,Math.min(I-l,C)).map(A);return n?h.reverse():h},n.tickFormat=function(e,r){if(null==r&&(r=10===i?".0e":","),"function"!==typeof r&&(r=_i(r)),e===1/0)return r;null==e&&(e=10);var o=Math.max(1,i*e/n.ticks().length);return function(e){var n=e/A(Math.round(t(e)));return n*i<i-.5&&(n*=i),n<=o?r(e):""}},n.nice=function(){return r(na(r(),{floor:function(e){return A(Math.floor(t(e)))},ceil:function(e){return A(Math.ceil(t(e)))}}))},n}function ua(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function la(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Ia(e){return e<0?-e*e:e*e}function Ca(e){var t=e(Wo,Wo),A=1;function n(){return 1===A?e(Wo,Wo):.5===A?e(la,Ia):e(ua(A),ua(1/A))}return t.exponent=function(e){return arguments.length?(A=+e,n()):A},Aa(t)}function ha(){var e=Ca(ea());return e.copy=function(){return $o(e,ha()).exponent(e.exponent())},Qi.apply(e,arguments),e}function fa(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function da(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Ba(e){var t=1,A=e(fa(t),da(t));return A.constant=function(A){return arguments.length?e(fa(t=+A),da(t)):t},Aa(A)}var pa=new Date,Ea=new Date;function Qa(e,t,A,n){function r(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return r.floor=function(t){return e(t=new Date(+t)),t},r.ceil=function(A){return e(A=new Date(A-1)),t(A,1),e(A),A},r.round=function(e){var t=r(e),A=r.ceil(e);return e-t<A-e?t:A},r.offset=function(e,A){return t(e=new Date(+e),null==A?1:Math.floor(A)),e},r.range=function(A,n,i){var o,a=[];if(A=r.ceil(A),i=null==i?1:Math.floor(i),!(A<n)||!(i>0))return a;do{a.push(o=new Date(+A)),t(A,i),e(A)}while(o<A&&A<n);return a},r.filter=function(A){return Qa((function(t){if(t>=t)for(;e(t),!A(t);)t.setTime(t-1)}),(function(e,n){if(e>=e)if(n<0)for(;++n<=0;)for(;t(e,-1),!A(e););else for(;--n>=0;)for(;t(e,1),!A(e););}))},A&&(r.count=function(t,n){return pa.setTime(+t),Ea.setTime(+n),e(pa),e(Ea),Math.floor(A(pa,Ea))},r.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?r.filter(n?function(t){return n(t)%e===0}:function(t){return r.count(0,t)%e===0}):r:null}),r}var ya=Qa((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e}));ya.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?Qa((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,A){t.setTime(+t+A*e)}),(function(t,A){return(A-t)/e})):ya:null};var va=ya,ma=(ya.range,Qa((function(e){e.setTime(e-e.getMilliseconds())}),(function(e,t){e.setTime(+e+1e3*t)}),(function(e,t){return(t-e)/1e3}),(function(e){return e.getUTCSeconds()}))),ba=ma,wa=(ma.range,Qa((function(e){e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds())}),(function(e,t){e.setTime(+e+6e4*t)}),(function(e,t){return(t-e)/6e4}),(function(e){return e.getMinutes()}))),Sa=wa,Fa=(wa.range,Qa((function(e){e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds()-6e4*e.getMinutes())}),(function(e,t){e.setTime(+e+36e5*t)}),(function(e,t){return(t-e)/36e5}),(function(e){return e.getHours()}))),Ra=Fa,Da=(Fa.range,Qa((function(e){return e.setHours(0,0,0,0)}),(function(e,t){return e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5}),(function(e){return e.getDate()-1}))),Ga=Da;Da.range;function ka(e){return Qa((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/6048e5}))}var xa=ka(0),Na=ka(1),Ua=ka(2),_a=ka(3),Ma=ka(4),Oa=ka(5),La=ka(6),Ta=(xa.range,Na.range,Ua.range,_a.range,Ma.range,Oa.range,La.range,Qa((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()}))),Za=Ta,Ha=(Ta.range,Qa((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()})));Ha.every=function(e){return isFinite(e=Math.floor(e))&&e>0?Qa((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,A){t.setFullYear(t.getFullYear()+A*e)})):null};var Ya=Ha,Ja=(Ha.range,Qa((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+6e4*t)}),(function(e,t){return(t-e)/6e4}),(function(e){return e.getUTCMinutes()}))),ja=Ja,Pa=(Ja.range,Qa((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+36e5*t)}),(function(e,t){return(t-e)/36e5}),(function(e){return e.getUTCHours()}))),Va=Pa,Ka=(Pa.range,Qa((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/864e5}),(function(e){return e.getUTCDate()-1}))),Wa=Ka;Ka.range;function Xa(e){return Qa((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/6048e5}))}var qa=Xa(0),za=Xa(1),$a=Xa(2),es=Xa(3),ts=Xa(4),As=Xa(5),ns=Xa(6),rs=(qa.range,za.range,$a.range,es.range,ts.range,As.range,ns.range,Qa((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()}))),is=rs,os=(rs.range,Qa((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()})));os.every=function(e){return isFinite(e=Math.floor(e))&&e>0?Qa((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,A){t.setUTCFullYear(t.getUTCFullYear()+A*e)})):null};var as=os;os.range;function ss(e,t,A,n,r,i){var o=[[ba,1,1e3],[ba,5,5e3],[ba,15,15e3],[ba,30,3e4],[i,1,6e4],[i,5,3e5],[i,15,9e5],[i,30,18e5],[r,1,36e5],[r,3,108e5],[r,6,216e5],[r,12,432e5],[n,1,864e5],[n,2,1728e5],[A,1,6048e5],[t,1,2592e6],[t,3,7776e6],[e,1,31536e6]];function a(t,A,n){var r=Math.abs(A-t)/n,i=fi((function(e){return Object(lt.a)(e,3)[2]})).right(o,r);if(i===o.length)return e.every(Di(t/31536e6,A/31536e6,n));if(0===i)return va.every(Math.max(Di(t,A,n),1));var a=Object(lt.a)(o[r/o[i-1][2]<o[i][2]/r?i-1:i],2),s=a[0],g=a[1];return s.every(g)}return[function(e,t,A){var n=t<e;if(n){var r=[t,e];e=r[0],t=r[1]}var i=A&&"function"===typeof A.range?A:a(e,t,A),o=i?i.range(e,+t+1):[];return n?o.reverse():o},a]}var gs=ss(as,is,qa,Wa,Va,ja),cs=Object(lt.a)(gs,2),us=cs[0],ls=cs[1],Is=ss(Ya,Za,xa,Ga,Ra,Sa),Cs=Object(lt.a)(Is,2),hs=Cs[0],fs=Cs[1],ds=A(1270),Bs=A(1271),ps=A(1272),Es=A(1273),Qs=A(1274),ys=A(1275);function vs(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function ms(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function bs(e,t,A){return{y:e,m:t,d:A,H:0,M:0,S:0,L:0}}var ws,Ss,Fs,Rs={"-":"",_:" ",0:"0"},Ds=/^\s*\d+/,Gs=/^%/,ks=/[\\^$*+?|[\]().{}]/g;function xs(e,t,A){var n=e<0?"-":"",r=(n?-e:e)+"",i=r.length;return n+(i<A?new Array(A-i+1).join(t)+r:r)}function Ns(e){return e.replace(ks,"\\$&")}function Us(e){return new RegExp("^(?:"+e.map(Ns).join("|")+")","i")}function _s(e){for(var t={},A=-1,n=e.length;++A<n;)t[e[A].toLowerCase()]=A;return t}function Ms(e,t,A){var n=Ds.exec(t.slice(A,A+1));return n?(e.w=+n[0],A+n[0].length):-1}function Os(e,t,A){var n=Ds.exec(t.slice(A,A+1));return n?(e.u=+n[0],A+n[0].length):-1}function Ls(e,t,A){var n=Ds.exec(t.slice(A,A+2));return n?(e.U=+n[0],A+n[0].length):-1}function Ts(e,t,A){var n=Ds.exec(t.slice(A,A+2));return n?(e.V=+n[0],A+n[0].length):-1}function Zs(e,t,A){var n=Ds.exec(t.slice(A,A+2));return n?(e.W=+n[0],A+n[0].length):-1}function Hs(e,t,A){var n=Ds.exec(t.slice(A,A+4));return n?(e.y=+n[0],A+n[0].length):-1}function Ys(e,t,A){var n=Ds.exec(t.slice(A,A+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),A+n[0].length):-1}function Js(e,t,A){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(A,A+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),A+n[0].length):-1}function js(e,t,A){var n=Ds.exec(t.slice(A,A+1));return n?(e.q=3*n[0]-3,A+n[0].length):-1}function Ps(e,t,A){var n=Ds.exec(t.slice(A,A+2));return n?(e.m=n[0]-1,A+n[0].length):-1}function Vs(e,t,A){var n=Ds.exec(t.slice(A,A+2));return n?(e.d=+n[0],A+n[0].length):-1}function Ks(e,t,A){var n=Ds.exec(t.slice(A,A+3));return n?(e.m=0,e.d=+n[0],A+n[0].length):-1}function Ws(e,t,A){var n=Ds.exec(t.slice(A,A+2));return n?(e.H=+n[0],A+n[0].length):-1}function Xs(e,t,A){var n=Ds.exec(t.slice(A,A+2));return n?(e.M=+n[0],A+n[0].length):-1}function qs(e,t,A){var n=Ds.exec(t.slice(A,A+2));return n?(e.S=+n[0],A+n[0].length):-1}function zs(e,t,A){var n=Ds.exec(t.slice(A,A+3));return n?(e.L=+n[0],A+n[0].length):-1}function $s(e,t,A){var n=Ds.exec(t.slice(A,A+6));return n?(e.L=Math.floor(n[0]/1e3),A+n[0].length):-1}function eg(e,t,A){var n=Gs.exec(t.slice(A,A+1));return n?A+n[0].length:-1}function tg(e,t,A){var n=Ds.exec(t.slice(A));return n?(e.Q=+n[0],A+n[0].length):-1}function Ag(e,t,A){var n=Ds.exec(t.slice(A));return n?(e.s=+n[0],A+n[0].length):-1}function ng(e,t){return xs(e.getDate(),t,2)}function rg(e,t){return xs(e.getHours(),t,2)}function ig(e,t){return xs(e.getHours()%12||12,t,2)}function og(e,t){return xs(1+Es.a.count(Object(Qs.a)(e),e),t,3)}function ag(e,t){return xs(e.getMilliseconds(),t,3)}function sg(e,t){return ag(e,t)+"000"}function gg(e,t){return xs(e.getMonth()+1,t,2)}function cg(e,t){return xs(e.getMinutes(),t,2)}function ug(e,t){return xs(e.getSeconds(),t,2)}function lg(e){var t=e.getDay();return 0===t?7:t}function Ig(e,t){return xs(ps.b.count(Object(Qs.a)(e)-1,e),t,2)}function Cg(e,t){var A=e.getDay();return e=A>=4||0===A?Object(ps.c)(e):ps.c.ceil(e),xs(ps.c.count(Object(Qs.a)(e),e)+(4===Object(Qs.a)(e).getDay()),t,2)}function hg(e){return e.getDay()}function fg(e,t){return xs(ps.a.count(Object(Qs.a)(e)-1,e),t,2)}function dg(e,t){return xs(e.getFullYear()%100,t,2)}function Bg(e,t){return xs(e.getFullYear()%1e4,t,4)}function pg(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+xs(t/60|0,"0",2)+xs(t%60,"0",2)}function Eg(e,t){return xs(e.getUTCDate(),t,2)}function Qg(e,t){return xs(e.getUTCHours(),t,2)}function yg(e,t){return xs(e.getUTCHours()%12||12,t,2)}function vg(e,t){return xs(1+Bs.a.count(Object(ys.a)(e),e),t,3)}function mg(e,t){return xs(e.getUTCMilliseconds(),t,3)}function bg(e,t){return mg(e,t)+"000"}function wg(e,t){return xs(e.getUTCMonth()+1,t,2)}function Sg(e,t){return xs(e.getUTCMinutes(),t,2)}function Fg(e,t){return xs(e.getUTCSeconds(),t,2)}function Rg(e){var t=e.getUTCDay();return 0===t?7:t}function Dg(e,t){return xs(ds.b.count(Object(ys.a)(e)-1,e),t,2)}function Gg(e,t){var A=e.getUTCDay();return e=A>=4||0===A?Object(ds.c)(e):ds.c.ceil(e),xs(ds.c.count(Object(ys.a)(e),e)+(4===Object(ys.a)(e).getUTCDay()),t,2)}function kg(e){return e.getUTCDay()}function xg(e,t){return xs(ds.a.count(Object(ys.a)(e)-1,e),t,2)}function Ng(e,t){return xs(e.getUTCFullYear()%100,t,2)}function Ug(e,t){return xs(e.getUTCFullYear()%1e4,t,4)}function _g(){return"+0000"}function Mg(){return"%"}function Og(e){return+e}function Lg(e){return Math.floor(+e/1e3)}function Tg(e){return new Date(e)}function Zg(e){return e instanceof Date?+e:+new Date(+e)}function Hg(e,t,A,n,r,i,o,a,s,g){var c=ta(),u=c.invert,l=c.domain,I=g(".%L"),C=g(":%S"),h=g("%I:%M"),f=g("%I %p"),d=g("%a %d"),B=g("%b %d"),p=g("%B"),E=g("%Y");function Q(e){return(s(e)<e?I:a(e)<e?C:o(e)<e?h:i(e)<e?f:n(e)<e?r(e)<e?d:B:A(e)<e?p:E)(e)}return c.invert=function(e){return new Date(u(e))},c.domain=function(e){return arguments.length?l(Array.from(e,Zg)):l().map(Tg)},c.ticks=function(t){var A=l();return e(A[0],A[A.length-1],null==t?10:t)},c.tickFormat=function(e,t){return null==t?Q:g(t)},c.nice=function(e){var A=l();return e&&"function"===typeof e.range||(e=t(A[0],A[A.length-1],null==e?10:e)),e?l(na(A,e)):c},c.copy=function(){return $o(c,Hg(e,t,A,n,r,i,o,a,s,g))},c}function Yg(){var e,t,A,n,r,i=0,o=1,a=Wo,s=!1;function g(t){return null==t||isNaN(t=+t)?r:a(0===A?.5:(t=(n(t)-e)*A,s?Math.max(0,Math.min(1,t)):t))}function c(e){return function(t){var A,n,r,i;return arguments.length?(A=t,r=(n=Object(lt.a)(A,2))[0],i=n[1],a=e(r,i),g):[a(0),a(1)]}}return g.domain=function(r){var a,s;return arguments.length?(a=r,s=Object(lt.a)(a,2),i=s[0],o=s[1],e=n(i=+i),t=n(o=+o),A=e===t?0:1/(t-e),g):[i,o]},g.clamp=function(e){return arguments.length?(s=!!e,g):s},g.interpolator=function(e){return arguments.length?(a=e,g):a},g.range=c(jo),g.rangeRound=c(Po),g.unknown=function(e){return arguments.length?(r=e,g):r},function(r){return n=r,e=r(i),t=r(o),A=e===t?0:1/(t-e),g}}function Jg(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function jg(){var e=Aa(Yg()(Wo));return e.copy=function(){return Jg(e,jg())},yi.apply(e,arguments)}function Pg(){var e=Ca(Yg());return e.copy=function(){return Jg(e,Pg()).exponent(e.exponent())},yi.apply(e,arguments)}function Vg(e,t){void 0===t&&(t=e,e=jo);for(var A=0,n=t.length-1,r=t[0],i=new Array(n<0?0:n);A<n;)i[A]=e(r,r=t[++A]);return function(e){var t=Math.max(0,Math.min(n-1,Math.floor(e*=n)));return i[t](e-t)}}function Kg(){var e,t,A,n,r,i,o,a=0,s=.5,g=1,c=1,u=Wo,l=!1;function I(e){return isNaN(e=+e)?o:(e=.5+((e=+i(e))-t)*(c*e<c*t?n:r),u(l?Math.max(0,Math.min(1,e)):e))}function C(e){return function(t){var A,n,r,i,o;return arguments.length?(A=t,r=(n=Object(lt.a)(A,3))[0],i=n[1],o=n[2],u=Vg(e,[r,i,o]),I):[u(0),u(.5),u(1)]}}return I.domain=function(o){var u,l;return arguments.length?(u=o,l=Object(lt.a)(u,3),a=l[0],s=l[1],g=l[2],e=i(a=+a),t=i(s=+s),A=i(g=+g),n=e===t?0:.5/(t-e),r=t===A?0:.5/(A-t),c=t<e?-1:1,I):[a,s,g]},I.clamp=function(e){return arguments.length?(l=!!e,I):l},I.interpolator=function(e){return arguments.length?(u=e,I):u},I.range=C(jo),I.rangeRound=C(Po),I.unknown=function(e){return arguments.length?(o=e,I):o},function(o){return i=o,e=o(a),t=o(s),A=o(g),n=e===t?0:.5/(t-e),r=t===A?0:.5/(A-t),c=t<e?-1:1,I}}function Wg(){var e=Ca(Kg());return e.copy=function(){return Jg(e,Wg()).exponent(e.exponent())},yi.apply(e,arguments)}function Xg(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:di;if(n=e.length){if((t=+t)<=0||n<2)return+A(e[0],0,e);if(t>=1)return+A(e[n-1],n-1,e);var n,r=(n-1)*t,i=Math.floor(r),o=+A(e[i],i,e),a=+A(e[i+1],i+1,e);return o+(a-o)*(r-i)}}!function(e){ws=function(e){var t=e.dateTime,A=e.date,n=e.time,r=e.periods,i=e.days,o=e.shortDays,a=e.months,s=e.shortMonths,g=Us(r),c=_s(r),u=Us(i),l=_s(i),I=Us(o),C=_s(o),h=Us(a),f=_s(a),d=Us(s),B=_s(s),p={a:function(e){return o[e.getDay()]},A:function(e){return i[e.getDay()]},b:function(e){return s[e.getMonth()]},B:function(e){return a[e.getMonth()]},c:null,d:ng,e:ng,f:sg,H:rg,I:ig,j:og,L:ag,m:gg,M:cg,p:function(e){return r[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:Og,s:Lg,S:ug,u:lg,U:Ig,V:Cg,w:hg,W:fg,x:null,X:null,y:dg,Y:Bg,Z:pg,"%":Mg},E={a:function(e){return o[e.getUTCDay()]},A:function(e){return i[e.getUTCDay()]},b:function(e){return s[e.getUTCMonth()]},B:function(e){return a[e.getUTCMonth()]},c:null,d:Eg,e:Eg,f:bg,H:Qg,I:yg,j:vg,L:mg,m:wg,M:Sg,p:function(e){return r[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:Og,s:Lg,S:Fg,u:Rg,U:Dg,V:Gg,w:kg,W:xg,x:null,X:null,y:Ng,Y:Ug,Z:_g,"%":Mg},Q={a:function(e,t,A){var n=I.exec(t.slice(A));return n?(e.w=C[n[0].toLowerCase()],A+n[0].length):-1},A:function(e,t,A){var n=u.exec(t.slice(A));return n?(e.w=l[n[0].toLowerCase()],A+n[0].length):-1},b:function(e,t,A){var n=d.exec(t.slice(A));return n?(e.m=B[n[0].toLowerCase()],A+n[0].length):-1},B:function(e,t,A){var n=h.exec(t.slice(A));return n?(e.m=f[n[0].toLowerCase()],A+n[0].length):-1},c:function(e,A,n){return m(e,t,A,n)},d:Vs,e:Vs,f:$s,H:Ws,I:Ws,j:Ks,L:zs,m:Ps,M:Xs,p:function(e,t,A){var n=g.exec(t.slice(A));return n?(e.p=c[n[0].toLowerCase()],A+n[0].length):-1},q:js,Q:tg,s:Ag,S:qs,u:Os,U:Ls,V:Ts,w:Ms,W:Zs,x:function(e,t,n){return m(e,A,t,n)},X:function(e,t,A){return m(e,n,t,A)},y:Ys,Y:Hs,Z:Js,"%":eg};function y(e,t){return function(A){var n,r,i,o=[],a=-1,s=0,g=e.length;for(A instanceof Date||(A=new Date(+A));++a<g;)37===e.charCodeAt(a)&&(o.push(e.slice(s,a)),null!=(r=Rs[n=e.charAt(++a)])?n=e.charAt(++a):r="e"===n?" ":"0",(i=t[n])&&(n=i(A,r)),o.push(n),s=a+1);return o.push(e.slice(s,a)),o.join("")}}function v(e,t){return function(A){var n,r,i=bs(1900,void 0,1);if(m(i,e,A+="",0)!=A.length)return null;if("Q"in i)return new Date(i.Q);if("s"in i)return new Date(1e3*i.s+("L"in i?i.L:0));if(t&&!("Z"in i)&&(i.Z=0),"p"in i&&(i.H=i.H%12+12*i.p),void 0===i.m&&(i.m="q"in i?i.q:0),"V"in i){if(i.V<1||i.V>53)return null;"w"in i||(i.w=1),"Z"in i?(r=(n=ms(bs(i.y,0,1))).getUTCDay(),n=r>4||0===r?ds.a.ceil(n):Object(ds.a)(n),n=Bs.a.offset(n,7*(i.V-1)),i.y=n.getUTCFullYear(),i.m=n.getUTCMonth(),i.d=n.getUTCDate()+(i.w+6)%7):(r=(n=vs(bs(i.y,0,1))).getDay(),n=r>4||0===r?ps.a.ceil(n):Object(ps.a)(n),n=Es.a.offset(n,7*(i.V-1)),i.y=n.getFullYear(),i.m=n.getMonth(),i.d=n.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),r="Z"in i?ms(bs(i.y,0,1)).getUTCDay():vs(bs(i.y,0,1)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(r+5)%7:i.w+7*i.U-(r+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,ms(i)):vs(i)}}function m(e,t,A,n){for(var r,i,o=0,a=t.length,s=A.length;o<a;){if(n>=s)return-1;if(37===(r=t.charCodeAt(o++))){if(r=t.charAt(o++),!(i=Q[r in Rs?t.charAt(o++):r])||(n=i(e,A,n))<0)return-1}else if(r!=A.charCodeAt(n++))return-1}return n}return p.x=y(A,p),p.X=y(n,p),p.c=y(t,p),E.x=y(A,E),E.X=y(n,E),E.c=y(t,E),{format:function(e){var t=y(e+="",p);return t.toString=function(){return e},t},parse:function(e){var t=v(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=y(e+="",E);return t.toString=function(){return e},t},utcParse:function(e){var t=v(e+="",!0);return t.toString=function(){return e},t}}}(e),Ss=ws.format,ws.parse,Fs=ws.utcFormat,ws.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var qg,zg=function(e){var t=e.length;return function(A){return e[Math.max(0,Math.min(t-1,Math.floor(A*t)))]}},$g=function(e,t){var A=Fo(+e,+t);return function(e){var t=A(e);return t-360*Math.floor(t/360)}},ec=180/Math.PI,tc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},Ac=function(e,t,A,n,r,i){var o,a,s;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(s=e*A+t*n)&&(A-=e*s,n-=t*s),(a=Math.sqrt(A*A+n*n))&&(A/=a,n/=a,s/=a),e*n<t*A&&(e=-e,t=-t,s=-s,o=-o),{translateX:r,translateY:i,rotate:Math.atan2(t,e)*ec,skewX:Math.atan(s)*ec,scaleX:o,scaleY:a}};function nc(e,t,A,n){function r(e){return e.length?e.pop()+" ":""}return function(i,o){var a=[],s=[];return i=e(i),o=e(o),function(e,n,r,i,o,a){if(e!==r||n!==i){var s=o.push("translate(",null,t,null,A);a.push({i:s-4,x:To(e,r)},{i:s-2,x:To(n,i)})}else(r||i)&&o.push("translate("+r+t+i+A)}(i.translateX,i.translateY,o.translateX,o.translateY,a,s),function(e,t,A,i){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),i.push({i:A.push(r(A)+"rotate(",null,n)-2,x:To(e,t)})):t&&A.push(r(A)+"rotate("+t+n)}(i.rotate,o.rotate,a,s),function(e,t,A,i){e!==t?i.push({i:A.push(r(A)+"skewX(",null,n)-2,x:To(e,t)}):t&&A.push(r(A)+"skewX("+t+n)}(i.skewX,o.skewX,a,s),function(e,t,A,n,i,o){if(e!==A||t!==n){var a=i.push(r(i)+"scale(",null,",",null,")");o.push({i:a-4,x:To(e,A)},{i:a-2,x:To(t,n)})}else 1===A&&1===n||i.push(r(i)+"scale("+A+","+n+")")}(i.scaleX,i.scaleY,o.scaleX,o.scaleY,a,s),i=o=null,function(e){for(var t,A=-1,n=s.length;++A<n;)a[(t=s[A]).i]=t.x(e);return a.join("")}}}var rc=nc((function(e){var t=new("function"===typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?tc:Ac(t.a,t.b,t.c,t.d,t.e,t.f)}),"px, ","px)","deg)"),ic=nc((function(e){return null==e?tc:(qg||(qg=document.createElementNS("http://www.w3.org/2000/svg","g")),qg.setAttribute("transform",e),(e=qg.transform.baseVal.consolidate())?(e=e.matrix,Ac(e.a,e.b,e.c,e.d,e.e,e.f)):tc)}),", ",")",")");function oc(e){return((e=Math.exp(e))+1/e)/2}var ac=function e(t,A,n){function r(e,r){var i,o,a=e[0],s=e[1],g=e[2],c=r[0],u=r[1],l=r[2],I=c-a,C=u-s,h=I*I+C*C;if(h<1e-12)o=Math.log(l/g)/t,i=function(e){return[a+e*I,s+e*C,g*Math.exp(t*e*o)]};else{var f=Math.sqrt(h),d=(l*l-g*g+n*h)/(2*g*A*f),B=(l*l-g*g-n*h)/(2*l*A*f),p=Math.log(Math.sqrt(d*d+1)-d),E=Math.log(Math.sqrt(B*B+1)-B);o=(E-p)/t,i=function(e){var n,r=e*o,i=oc(p),c=g/(A*f)*(i*(n=t*r+p,((n=Math.exp(2*n))-1)/(n+1))-function(e){return((e=Math.exp(e))-1/e)/2}(p));return[a+c*I,s+c*C,g*i/oc(t*r+p)]}}return i.duration=1e3*o*t/Math.SQRT2,i}return r.rho=function(t){var A=Math.max(.001,+t),n=A*A;return e(A,n,n*n)},r}(Math.SQRT2,2,4);function sc(e){return function(t,A){var n=e((t=Eo(t)).h,(A=Eo(A)).h),r=Do(t.s,A.s),i=Do(t.l,A.l),o=Do(t.opacity,A.opacity);return function(e){return t.h=n(e),t.s=r(e),t.l=i(e),t.opacity=o(e),t+""}}}var gc=sc(Fo),cc=sc(Do),uc=Math.PI/180,lc=180/Math.PI;function Ic(e){if(e instanceof hc)return new hc(e.l,e.a,e.b,e.opacity);if(e instanceof yc)return vc(e);e instanceof Io||(e=uo(e));var t,A,n=pc(e.r),r=pc(e.g),i=pc(e.b),o=fc((.2225045*n+.7168786*r+.0606169*i)/1);return n===r&&r===i?t=A=o:(t=fc((.4360747*n+.3850649*r+.1430804*i)/.96422),A=fc((.0139322*n+.0971045*r+.7141733*i)/.82521)),new hc(116*o-16,500*(t-o),200*(o-A),e.opacity)}function Cc(e,t,A,n){return 1===arguments.length?Ic(e):new hc(e,t,A,null==n?1:n)}function hc(e,t,A,n){this.l=+e,this.a=+t,this.b=+A,this.opacity=+n}function fc(e){return e>6/29*(6/29)*(6/29)?Math.pow(e,1/3):e/(6/29*3*(6/29))+4/29}function dc(e){return e>6/29?e*e*e:6/29*3*(6/29)*(e-4/29)}function Bc(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function pc(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Ec(e){if(e instanceof yc)return new yc(e.h,e.c,e.l,e.opacity);if(e instanceof hc||(e=Ic(e)),0===e.a&&0===e.b)return new yc(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*lc;return new yc(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function Qc(e,t,A,n){return 1===arguments.length?Ec(e):new yc(e,t,A,null==n?1:n)}function yc(e,t,A,n){this.h=+e,this.c=+t,this.l=+A,this.opacity=+n}function vc(e){if(isNaN(e.h))return new hc(e.l,0,0,e.opacity);var t=e.h*uc;return new hc(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}function mc(e,t){var A=Do((e=Cc(e)).l,(t=Cc(t)).l),n=Do(e.a,t.a),r=Do(e.b,t.b),i=Do(e.opacity,t.opacity);return function(t){return e.l=A(t),e.a=n(t),e.b=r(t),e.opacity=i(t),e+""}}function bc(e){return function(t,A){var n=e((t=Qc(t)).h,(A=Qc(A)).h),r=Do(t.c,A.c),i=Do(t.l,A.l),o=Do(t.opacity,A.opacity);return function(e){return t.h=n(e),t.c=r(e),t.l=i(e),t.opacity=o(e),t+""}}}Pi(hc,Cc,Vi(Ki,{brighter:function(e){return new hc(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker:function(e){return new hc(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb:function(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,A=isNaN(this.b)?e:e-this.b/200;return new Io(Bc(3.1338561*(t=.96422*dc(t))-1.6168667*(e=1*dc(e))-.4906146*(A=.82521*dc(A))),Bc(-.9787684*t+1.9161415*e+.033454*A),Bc(.0719453*t-.2289914*e+1.4052427*A),this.opacity)}})),Pi(yc,Qc,Vi(Ki,{brighter:function(e){return new yc(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker:function(e){return new yc(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb:function(){return vc(this).rgb()}}));var wc=bc(Fo),Sc=bc(Do),Fc=-.29227,Rc=1.97294,Dc=-.90649*Rc,Gc=1.78277*Rc,kc=-.6557636667999999;function xc(e){if(e instanceof Uc)return new Uc(e.h,e.s,e.l,e.opacity);e instanceof Io||(e=uo(e));var t=e.r/255,A=e.g/255,n=e.b/255,r=(kc*n+Dc*t-Gc*A)/(kc+Dc-Gc),i=n-r,o=(Rc*(A-r)-Fc*i)/-.90649,a=Math.sqrt(o*o+i*i)/(Rc*r*(1-r)),s=a?Math.atan2(o,i)*lc-120:NaN;return new Uc(s<0?s+360:s,a,r,e.opacity)}function Nc(e,t,A,n){return 1===arguments.length?xc(e):new Uc(e,t,A,null==n?1:n)}function Uc(e,t,A,n){this.h=+e,this.s=+t,this.l=+A,this.opacity=+n}function _c(e){return function t(A){function n(t,n){var r=e((t=Nc(t)).h,(n=Nc(n)).h),i=Do(t.s,n.s),o=Do(t.l,n.l),a=Do(t.opacity,n.opacity);return function(e){return t.h=r(e),t.s=i(e),t.l=o(Math.pow(e,A)),t.opacity=a(e),t+""}}return A=+A,n.gamma=t,n}(1)}Pi(Uc,Nc,Vi(Ki,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new Uc(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new Uc(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=isNaN(this.h)?0:(this.h+120)*uc,t=+this.l,A=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),r=Math.sin(e);return new Io(255*(t+A*(-.14861*n+1.78277*r)),255*(t+A*(Fc*n+-.90649*r)),255*(t+A*(Rc*n)),this.opacity)}}));var Mc,Oc,Lc=_c(Fo),Tc=_c(Do),Zc=function(e,t){for(var A=new Array(t),n=0;n<t;++n)A[n]=e(n/(t-1));return A};function Hc(e,t,A){var n=e-t+2*A;return e?n>0?n:1:0}var Yc="log",Jc="time",jc="utc",Pc="continuous";function Vc(){var e,t,A=mi().unknown(void 0),n=A.domain,r=A.range,i=[0,1],o=!1,a=0,s=0,g=.5;function c(){var A=n().length,c=i[1]<i[0],u=i[1-c],l=Hc(A,a,s),I=i[c-0];e=(u-I)/(l||1),o&&(e=Math.floor(e)),I+=(u-I-e*(A-a))*g,t=e*(1-a),o&&(I=Math.round(I),t=Math.round(t));var C=function(e,t,A){e=+e,t=+t,A=(r=arguments.length)<2?(t=e,e=0,1):r<3?1:+A;for(var n=-1,r=0|Math.max(0,Math.ceil((t-e)/A)),i=new Array(r);++n<r;)i[n]=e+n*A;return i}(A).map((function(t){return I+e*t}));return r(c?C.reverse():C)}return delete A.unknown,A.domain=function(e){return arguments.length?(n(e),c()):n()},A.range=function(e){return arguments.length?(i=[+e[0],+e[1]],c()):i.slice()},A.rangeRound=function(e){return i=[+e[0],+e[1]],o=!0,c()},A.bandwidth=function(){return t},A.step=function(){return e},A.round=function(e){return arguments.length?(o=!!e,c()):o},A.padding=function(e){return arguments.length?(s=Math.max(0,Math.min(1,e)),a=s,c()):a},A.paddingInner=function(e){return arguments.length?(a=Math.max(0,Math.min(1,e)),c()):a},A.paddingOuter=function(e){return arguments.length?(s=Math.max(0,Math.min(1,e)),c()):s},A.align=function(e){return arguments.length?(g=Math.max(0,Math.min(1,e)),c()):g},A.invertRange=function(e){if(null!=e[0]&&null!=e[1]){var A,o,a,s=i[1]<i[0],g=s?r().reverse():r(),c=g.length-1,u=+e[0],l=+e[1];if(u===u&&l===l&&(l<u&&(a=u,u=l,l=a),!(l<g[0]||u>i[1-s])))return A=Math.max(0,pi(g,u)-1),o=u===l?A:pi(g,l)-1,u-g[A]>t+1e-10&&++A,s&&(a=A,A=c-o,o=c-a),A>o?void 0:n().slice(A,o+1)}},A.invert=function(e){var t=A.invertRange([e,e]);return t?t[0]:t},A.copy=function(){return Vc().domain(n()).range(i).round(o).paddingInner(a).paddingOuter(s).align(g)},c()}var Kc=Array.prototype.map;function Wc(e){return Kc.call(e,ue.eb)}var Xc=Array.prototype.slice;var qc={};function zc(e,t,A){var n=function(){var A=t();return A.invertRange||(A.invertRange=A.invert?function(e){return function(t){var A,n=t[0],r=t[1];return r<n&&(A=n,n=r,r=A),[e.invert(n),e.invert(r)]}}(A):A.invertExtent?function(e){return function(t){var A,n,r,i,o=e.range(),a=t[0],s=t[1],g=-1;for(s<a&&(n=a,a=s,s=n),r=0,i=o.length;r<i;++r)o[r]>=a&&o[r]<=s&&(g<0&&(g=r),A=r);if(!(g<0))return a=e.invertExtent(o[g]),s=e.invertExtent(o[A]),[void 0===a[0]?a[1]:a[0],void 0===s[1]?s[0]:s[1]]}}(A):void 0),A.type=e,A};return n.metadata=Object(ue.fb)(Object(ue.i)(A)),n}function $c(e,t,A){return arguments.length>1?(qc[e]=zc(e,t,A),this):eu(e)?qc[e]:void 0}function eu(e){return Object(ue.w)(qc,e)}function tu(e,t){var A=qc[e];return A&&A.metadata[t]}function Au(e){return tu(e,Pc)}function nu(e){return tu(e,"discrete")}function ru(e){return tu(e,"discretizing")}function iu(e){return tu(e,Yc)}function ou(e){return tu(e,"interpolating")}function au(e){return tu(e,"quantile")}$c("identity",(function e(t){var A;function n(e){return null==e||isNaN(e=+e)?A:e}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=Array.from(e,Vo),n):t.slice()},n.unknown=function(e){return arguments.length?(A=e,n):A},n.copy=function(){return e(t).unknown(A)},t=arguments.length?Array.from(t,Vo):[0,1],Aa(n)})),$c("linear",(function e(){var t=ta();return t.copy=function(){return $o(t,e())},Qi.apply(t,arguments),Aa(t)}),Pc),$c(Yc,(function e(){var t=ca(ea()).domain([1,10]);return t.copy=function(){return $o(t,e()).base(t.base())},Qi.apply(t,arguments),t}),[Pc,Yc]),$c("pow",ha,Pc),$c("sqrt",(function(){return ha.apply(null,arguments).exponent(.5)}),Pc),$c("symlog",(function e(){var t=Ba(ea());return t.copy=function(){return $o(t,e()).constant(t.constant())},Qi.apply(t,arguments)}),Pc),$c(Jc,(function(){return Qi.apply(Hg(hs,fs,Ya,Za,xa,Ga,Ra,Sa,ba,Ss).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}),[Pc,"temporal"]),$c(jc,(function(){return Qi.apply(Hg(us,ls,as,is,qa,Wa,Va,ja,ba,Fs).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}),[Pc,"temporal"]),$c("sequential",jg,[Pc,"interpolating"]),$c("".concat("sequential","-").concat("linear"),jg,[Pc,"interpolating"]),$c("".concat("sequential","-").concat(Yc),(function e(){var t=ca(Yg()).domain([1,10]);return t.copy=function(){return Jg(t,e()).base(t.base())},yi.apply(t,arguments)}),[Pc,"interpolating",Yc]),$c("".concat("sequential","-").concat("pow"),Pg,[Pc,"interpolating"]),$c("".concat("sequential","-").concat("sqrt"),(function(){return Pg.apply(null,arguments).exponent(.5)}),[Pc,"interpolating"]),$c("".concat("sequential","-").concat("symlog"),(function e(){var t=Ba(Yg());return t.copy=function(){return Jg(t,e()).constant(t.constant())},yi.apply(t,arguments)}),[Pc,"interpolating"]),$c("".concat("diverging","-").concat("linear"),(function e(){var t=Aa(Kg()(Wo));return t.copy=function(){return Jg(t,e())},yi.apply(t,arguments)}),[Pc,"interpolating"]),$c("".concat("diverging","-").concat(Yc),(function e(){var t=ca(Kg()).domain([.1,1,10]);return t.copy=function(){return Jg(t,e()).base(t.base())},yi.apply(t,arguments)}),[Pc,"interpolating",Yc]),$c("".concat("diverging","-").concat("pow"),Wg,[Pc,"interpolating"]),$c("".concat("diverging","-").concat("sqrt"),(function(){return Wg.apply(null,arguments).exponent(.5)}),[Pc,"interpolating"]),$c("".concat("diverging","-").concat("symlog"),(function e(){var t=Ba(Kg());return t.copy=function(){return Jg(t,e()).constant(t.constant())},yi.apply(t,arguments)}),[Pc,"interpolating"]),$c("quantile",(function e(){var t,A=[],n=[],r=[];function i(){var e=0,t=Math.max(1,n.length);for(r=new Array(t-1);++e<t;)r[e-1]=Xg(A,e/t);return o}function o(e){return null==e||isNaN(e=+e)?t:n[Ei(r,e)]}return o.invertExtent=function(e){var t=n.indexOf(e);return t<0?[NaN,NaN]:[t>0?r[t-1]:A[0],t<r.length?r[t]:A[A.length-1]]},o.domain=function(e){if(!arguments.length)return A.slice();A=[];var t,n=Object(ut.a)(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;null==r||isNaN(r=+r)||A.push(r)}}catch(o){n.e(o)}finally{n.f()}return A.sort(hi),i()},o.range=function(e){return arguments.length?(n=Array.from(e),i()):n.slice()},o.unknown=function(e){return arguments.length?(t=e,o):t},o.quantiles=function(){return r.slice()},o.copy=function(){return e().domain(A).range(n).unknown(t)},Qi.apply(o,arguments)}),["discretizing","quantile"]),$c("quantize",(function e(){var t,A=0,n=1,r=1,i=[.5],o=[0,1];function a(e){return null!=e&&e<=e?o[Ei(i,e,0,r)]:t}function s(){var e=-1;for(i=new Array(r);++e<r;)i[e]=((e+1)*n-(e-r)*A)/(r+1);return a}return a.domain=function(e){var t,r;return arguments.length?(t=e,r=Object(lt.a)(t,2),A=r[0],n=r[1],A=+A,n=+n,s()):[A,n]},a.range=function(e){return arguments.length?(r=(o=Array.from(e)).length-1,s()):o.slice()},a.invertExtent=function(e){var t=o.indexOf(e);return t<0?[NaN,NaN]:t<1?[A,i[0]]:t>=r?[i[r-1],n]:[i[t-1],i[t]]},a.unknown=function(e){return arguments.length?(t=e,a):a},a.thresholds=function(){return i.slice()},a.copy=function(){return e().domain([A,n]).range(o).unknown(t)},Qi.apply(Aa(a),arguments)}),"discretizing"),$c("threshold",(function e(){var t,A=[.5],n=[0,1],r=1;function i(e){return null!=e&&e<=e?n[Ei(A,e,0,r)]:t}return i.domain=function(e){return arguments.length?(A=Array.from(e),r=Math.min(A.length,n.length-1),i):A.slice()},i.range=function(e){return arguments.length?(n=Array.from(e),r=Math.min(A.length,n.length-1),i):n.slice()},i.invertExtent=function(e){var t=n.indexOf(e);return[A[t-1],A[t]]},i.unknown=function(e){return arguments.length?(t=e,i):t},i.copy=function(){return e().domain(A).range(n).unknown(t)},Qi.apply(i,arguments)}),"discretizing"),$c("bin-ordinal",(function e(){var t=[],A=[];function n(e){return null==e||e!==e?void 0:A[(Ei(t,e)-1)%A.length]}return n.domain=function(e){return arguments.length?(t=Wc(e),n):t.slice()},n.range=function(e){return arguments.length?(A=Xc.call(e),n):A.slice()},n.tickFormat=function(e,A){return ji(t[0],Object(ue.W)(t),null==e?10:e,A)},n.copy=function(){return e().domain(n.domain()).range(n.range())},n}),["discrete","discretizing"]),$c("ordinal",mi,"discrete"),$c("band",Vc,"discrete"),$c("point",(function(){return function e(t){var A=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,t.copy=function(){return e(A())},t}(Vc().paddingInner(1))}),"discrete");var su=["clamp","base","constant","exponent"];function gu(e,t){var A=t[0],n=Object(ue.W)(t)-A;return function(t){return e(A+t*n)}}function cu(e,t,A){return Vg(Iu(t||"rgb",A),e)}function uu(e,t){for(var A=new Array(t),n=t+1,r=0;r<t;)A[r]=e(++r/n);return A}function lu(e,t,A){var n,r,i,o=A-t;return o&&Number.isFinite(o)?(n=(r=e.type).indexOf("-"),r=n<0?r:r.slice(n+1),i=$c(r)().domain([t,A]).range([0,1]),su.forEach((function(t){return e[t]?i[t](e[t]()):0})),i):Object(ue.m)(.5)}function Iu(e,t){var A=o[function(e){return"interpolate"+e.toLowerCase().split("-").map((function(e){return e[0].toUpperCase()+e.slice(1)})).join("")}(e)];return null!=t&&A&&A.gamma?A.gamma(t):A}function Cu(e){for(var t=e.length/6|0,A=new Array(t),n=0;n<t;)A[n]="#"+e.slice(6*n,6*++n);return A}function hu(e,t){for(var A in e)du(A,t(e[A]))}var fu={};function du(e,t){return e=e&&e.toLowerCase(),arguments.length>1?(fu[e]=t,this):fu[e]}hu({category10:"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf",category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5",accent:"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666",dark2:"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666",paired:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928",pastel1:"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2",pastel2:"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc",set1:"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999",set2:"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3",set3:"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"},Cu),hu({blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",cividis:"00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",turbo:"23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},(function(e){return cu(Cu(e))}));var Bu=function(e){return Object(ue.B)(e)?e.map((function(e){return String(e)})):String(e)},pu=function(e,t){return e[1]-t[1]},Eu=function(e,t){return t[1]-e[1]};function Qu(e,t,A){var n;return Object(ue.G)(t)&&(e.bins&&(t=Math.max(t,e.bins.length)),null!=A&&(t=Math.min(t,Math.floor(Object(ue.Z)(e.domain())/A||1)))),Object(ue.H)(t)&&(n=t.step,t=t.interval),Object(ue.J)(t)&&(t=e.type===Jc?Object(wA.p)(t):e.type==jc?Object(wA.v)(t):Object(ue.o)("Only time and utc scales accept interval strings."),n&&(t=t.every(n))),t}function yu(e,t,A){var n=e.range(),r=n[0],i=Object(ue.W)(n),o=pu;if(r>i&&(n=i,i=r,r=n,o=Eu),r=Math.floor(r),i=Math.ceil(i),t=t.map((function(t){return[t,e(t)]})).filter((function(e){return r<=e[1]&&e[1]<=i})).sort(o).map((function(e){return e[0]})),A>0&&t.length>1){for(var a=[t[0],Object(ue.W)(t)];t.length>A&&t.length>=3;)t=t.filter((function(e,t){return!(t%2)}));t.length<3&&(t=a)}return t}function vu(e,t){return e.bins?yu(e,e.bins):e.ticks?e.ticks(t):e.domain()}function mu(e,t,A,n,r,i){var o=t.type,a=Bu;if(o===Jc||r===Jc)a=e.timeFormat(n);else if(o===jc||r===jc)a=e.utcFormat(n);else if(iu(o)){var s=e.formatFloat(n);if(i||t.bins)a=s;else{var g=bu(t,A,!1);a=function(e){return g(e)?s(e):""}}}else if(t.tickFormat){var c=t.domain();a=e.formatSpan(c[0],c[c.length-1],A,n)}else n&&(a=e.format(n));return a}function bu(e,t,A){var n=vu(e,t),r=e.base(),i=Math.log(r),o=Math.max(1,r*t/n.length),a=function(e){var t=e/Math.pow(r,Math.round(Math.log(e)/i));return t*r<r-.5&&(t*=r),t<=o};return A?n.filter(a):a}var wu=(Mc={},Object($n.a)(Mc,"quantile","quantiles"),Object($n.a)(Mc,"quantize","thresholds"),Object($n.a)(Mc,"threshold","domain"),Mc),Su=(Oc={},Object($n.a)(Oc,"quantile","quantiles"),Object($n.a)(Oc,"quantize","domain"),Oc);function Fu(e,t){return e.bins?function(e){var t=e.slice(0,-1);return t.max=Object(ue.W)(e),t}(e.bins):e.type===Yc?bu(e,t,!0):wu[e.type]?function(e){var t=[-1/0].concat(e);return t.max=1/0,t}(e[wu[e.type]]()):vu(e,t)}function Ru(e,t,A,n,r,i,o){var a=Su[t.type]&&i!==Jc&&i!==jc?function(e,t,A){var n,r=t[Su[t.type]](),i=r.length,o=i>1?r[1]-r[0]:r[0];for(n=1;n<i;++n)o=Math.min(o,r[n]-r[n-1]);return e.formatSpan(0,o,30,A)}(e,t,r):mu(e,t,A,r,i,o);return"symbol"===n&&function(e){return wu[e.type]||e.bins}(t)?Du(a):"discrete"===n?ku(a):xu(a)}var Du=function(e){return function(t,A,n){var r=Gu(n[A+1],Gu(n.max,1/0)),i=Nu(t,e),o=Nu(r,e);return i&&o?i+" \u2013 "+o:o?"< "+o:"\u2265 "+i}},Gu=function(e,t){return null!=e?e:t},ku=function(e){return function(t,A){return A?e(t):null}},xu=function(e){return function(t){return e(t)}},Nu=function(e,t){return Number.isFinite(e)?t(e):null};function Uu(e,t,A,n){var r=n||t.type;return Object(ue.J)(A)&&tu(r,"temporal")&&(A=A.replace(/%a/g,"%A").replace(/%b/g,"%B")),A||r!==Jc?A||r!==jc?Ru(e,t,5,null,A,n,!0):e.utcFormat("%A, %d %B %Y, %X UTC"):e.timeFormat("%A, %d %B %Y, %X")}function _u(e,t,A){A=A||{};var n=Math.max(3,A.maxlen||7),r=Uu(e,t,A.format,A.formatType);if(ru(t.type)){var i=Fu(t).slice(1).map(r),o=i.length;return"".concat(o," boundar").concat(1===o?"y":"ies",": ").concat(i.join(", "))}if(nu(t.type)){var a=t.domain(),s=a.length,g=s>n?a.slice(0,n-2).map(r).join(", ")+", ending with "+a.slice(-1).map(r):a.map(r).join(", ");return"".concat(s," value").concat(1===s?"":"s",": ").concat(g)}var c=t.domain();return"values from ".concat(r(c[0])," to ").concat(r(Object(ue.W)(c)))}var Mu=0;function Ou(e){return e&&e.gradient}function Lu(e,t,A){var n=e.gradient,r=e.id,i="radial"===n?"p_":"";return r||(r=e.id="gradient_"+Mu++,"radial"===n?(e.x1=Tu(e.x1,.5),e.y1=Tu(e.y1,.5),e.r1=Tu(e.r1,0),e.x2=Tu(e.x2,.5),e.y2=Tu(e.y2,.5),e.r2=Tu(e.r2,.5),i="p_"):(e.x1=Tu(e.x1,0),e.y1=Tu(e.y1,0),e.x2=Tu(e.x2,1),e.y2=Tu(e.y2,0))),t[r]=e,"url("+(A||"")+"#"+i+r+")"}function Tu(e,t){return null!=e?e:t}function Zu(e,t){var A,n=[];return A={gradient:"linear",x1:e?e[0]:0,y1:e?e[1]:0,x2:t?t[0]:1,y2:t?t[1]:0,stops:n,stop:function(e,t){return n.push({offset:e,color:t}),A}}}var Hu={basis:{curve:function(e){return new tr(e)}},"basis-closed":{curve:function(e){return new nr(e)}},"basis-open":{curve:function(e){return new rr(e)}},bundle:{curve:or,tension:"beta",value:.85},cardinal:{curve:gr,tension:"tension",value:0},"cardinal-open":{curve:ur,tension:"tension",value:0},"cardinal-closed":{curve:Ir,tension:"tension",value:0},"catmull-rom":{curve:Fr,tension:"alpha",value:.5},"catmull-rom-closed":{curve:Dr,tension:"alpha",value:.5},"catmull-rom-open":{curve:kr,tension:"alpha",value:.5},linear:{curve:Nr},"linear-closed":{curve:function(e){return new Ur(e)}},monotone:{horizontal:function(e){return new Zr(e)},vertical:function(e){return new Tr(e)}},natural:{curve:function(e){return new Yr(e)}},step:{curve:function(e){return new jr(e,.5)}},"step-after":{curve:function(e){return new jr(e,1)}},"step-before":{curve:function(e){return new jr(e,0)}}};function Yu(e,t,A){var n=Object(ue.w)(Hu,e)&&Hu[e],r=null;return n&&(r=n.curve||n[t||"vertical"],n.tension&&null!=A&&(r=r[n.tension](A))),r}var Ju={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},ju=[/([MLHVCSQTAZmlhvcsqtaz])/g,/###/,/(\.\d+)(\.\d)/g,/(\d)([-+])/g,/\s|,|###/];function Pu(e){var t,A,n,r,i,o,a,s,g,c,u=[],l=e.slice().replace(ju[0],"###$1").split(ju[1]).slice(1);for(a=0,g=l.length;a<g;++a){for(A=(t=l[a]).slice(1).trim().replace(ju[2],"$1###$2").replace(ju[3],"$1###$2").split(ju[4]),n=[i=t.charAt(0)],s=0,c=A.length;s<c;++s)(r=+A[s])===r&&n.push(r);if(o=Ju[i.toLowerCase()],n.length-1>o){var I=n.length;for(s=1,u.push([i].concat(n.slice(s,s+=o))),i="M"===i?"L":"m"===i?"l":i;s<I;s+=o)u.push([i].concat(n.slice(s,s+o)))}else u.push(n)}return u}var Vu=Math.PI/180,Ku=Math.PI/2,Wu=2*Math.PI,Xu=Math.sqrt(3)/2,qu={},zu={},$u=[].join;function el(e){var t=$u.call(e);if(zu[t])return zu[t];var A=e[0],n=e[1],r=e[2],i=e[3],o=e[4],a=e[5],s=e[6],g=e[7],c=g*o,u=-s*a,l=s*o,I=g*a,C=Math.cos(r),h=Math.sin(r),f=Math.cos(i),d=Math.sin(i),B=.5*(i-r),p=Math.sin(.5*B),E=8/3*p*p/Math.sin(B),Q=A+C-E*h,y=n+h+E*C,v=A+f,m=n+d,b=v+E*d,w=m-E*f;return zu[t]=[c*Q+u*y,l*Q+I*y,c*b+u*w,l*b+I*w,c*v+u*m,l*v+I*m]}var tl=["l",0,0,0,0,0,0,0];function Al(e,t,A){var n=tl[0]=e[0];if("a"===n||"A"===n)tl[1]=t*e[1],tl[2]=A*e[2],tl[3]=e[3],tl[4]=e[4],tl[5]=e[5],tl[6]=t*e[6],tl[7]=A*e[7];else if("h"===n||"H"===n)tl[1]=t*e[1];else if("v"===n||"V"===n)tl[1]=A*e[1];else for(var r=1,i=e.length;r<i;++r)tl[r]=(r%2==1?t:A)*e[r];return tl}function nl(e,t,A,n,r,i){var o,a,s,g,c,u=null,l=0,I=0,C=0,h=0;null==A&&(A=0),null==n&&(n=0),null==r&&(r=1),null==i&&(i=r),e.beginPath&&e.beginPath();for(var f=0,d=t.length;f<d;++f){switch(o=t[f],1===r&&1===i||(o=Al(o,r,i)),o[0]){case"l":l+=o[1],I+=o[2],e.lineTo(l+A,I+n);break;case"L":l=o[1],I=o[2],e.lineTo(l+A,I+n);break;case"h":l+=o[1],e.lineTo(l+A,I+n);break;case"H":l=o[1],e.lineTo(l+A,I+n);break;case"v":I+=o[1],e.lineTo(l+A,I+n);break;case"V":I=o[1],e.lineTo(l+A,I+n);break;case"m":l+=o[1],I+=o[2],e.moveTo(l+A,I+n);break;case"M":l=o[1],I=o[2],e.moveTo(l+A,I+n);break;case"c":a=l+o[5],s=I+o[6],C=l+o[3],h=I+o[4],e.bezierCurveTo(l+o[1]+A,I+o[2]+n,C+A,h+n,a+A,s+n),l=a,I=s;break;case"C":l=o[5],I=o[6],C=o[3],h=o[4],e.bezierCurveTo(o[1]+A,o[2]+n,C+A,h+n,l+A,I+n);break;case"s":a=l+o[3],s=I+o[4],C=2*l-C,h=2*I-h,e.bezierCurveTo(C+A,h+n,l+o[1]+A,I+o[2]+n,a+A,s+n),C=l+o[1],h=I+o[2],l=a,I=s;break;case"S":a=o[3],s=o[4],C=2*l-C,h=2*I-h,e.bezierCurveTo(C+A,h+n,o[1]+A,o[2]+n,a+A,s+n),l=a,I=s,C=o[1],h=o[2];break;case"q":a=l+o[3],s=I+o[4],C=l+o[1],h=I+o[2],e.quadraticCurveTo(C+A,h+n,a+A,s+n),l=a,I=s;break;case"Q":a=o[3],s=o[4],e.quadraticCurveTo(o[1]+A,o[2]+n,a+A,s+n),l=a,I=s,C=o[1],h=o[2];break;case"t":a=l+o[1],s=I+o[2],null===u[0].match(/[QqTt]/)?(C=l,h=I):"t"===u[0]?(C=2*l-g,h=2*I-c):"q"===u[0]&&(C=2*l-C,h=2*I-h),g=C,c=h,e.quadraticCurveTo(C+A,h+n,a+A,s+n),I=s,C=(l=a)+o[1],h=I+o[2];break;case"T":a=o[1],s=o[2],C=2*l-C,h=2*I-h,e.quadraticCurveTo(C+A,h+n,a+A,s+n),l=a,I=s;break;case"a":rl(e,l+A,I+n,[o[1],o[2],o[3],o[4],o[5],o[6]+l+A,o[7]+I+n]),l+=o[6],I+=o[7];break;case"A":rl(e,l+A,I+n,[o[1],o[2],o[3],o[4],o[5],o[6]+A,o[7]+n]),l=o[6],I=o[7];break;case"z":case"Z":e.closePath()}u=o}}function rl(e,t,A,n){for(var r=function(e,t,A,n,r,i,o,a,s){var g=$u.call(arguments);if(qu[g])return qu[g];var c=o*Vu,u=Math.sin(c),l=Math.cos(c),I=l*(a-e)*.5+u*(s-t)*.5,C=l*(s-t)*.5-u*(a-e)*.5,h=I*I/((A=Math.abs(A))*A)+C*C/((n=Math.abs(n))*n);h>1&&(A*=h=Math.sqrt(h),n*=h);var f=l/A,d=u/A,B=-u/n,p=l/n,E=f*a+d*s,Q=B*a+p*s,y=f*e+d*t,v=B*e+p*t,m=(y-E)*(y-E)+(v-Q)*(v-Q),b=1/m-.25;b<0&&(b=0);var w=Math.sqrt(b);i==r&&(w=-w);var S=.5*(E+y)-w*(v-Q),F=.5*(Q+v)+w*(y-E),R=Math.atan2(Q-F,E-S),D=Math.atan2(v-F,y-S),G=D-R;G<0&&1===i?G+=Wu:G>0&&0===i&&(G-=Wu);for(var k=Math.ceil(Math.abs(G/(Ku+.001))),x=[],N=0;N<k;++N){var U=R+N*G/k,_=R+(N+1)*G/k;x[N]=[S,F,U,_,A,n,u,l]}return qu[g]=x}(n[5],n[6],n[0],n[1],n[3],n[4],n[2],t,A),i=0;i<r.length;++i){var o=el(r[i]);e.bezierCurveTo(o[0],o[1],o[2],o[3],o[4],o[5])}}var il=.5773502691896257,ol={circle:{draw:function(e,t){var A=Math.sqrt(t)/2;e.moveTo(A,0),e.arc(0,0,A,0,Wu)}},cross:{draw:function(e,t){var A=Math.sqrt(t)/2,n=A/2.5;e.moveTo(-A,-n),e.lineTo(-A,n),e.lineTo(-n,n),e.lineTo(-n,A),e.lineTo(n,A),e.lineTo(n,n),e.lineTo(A,n),e.lineTo(A,-n),e.lineTo(n,-n),e.lineTo(n,-A),e.lineTo(-n,-A),e.lineTo(-n,-n),e.closePath()}},diamond:{draw:function(e,t){var A=Math.sqrt(t)/2;e.moveTo(-A,0),e.lineTo(0,-A),e.lineTo(A,0),e.lineTo(0,A),e.closePath()}},square:{draw:function(e,t){var A=Math.sqrt(t),n=-A/2;e.rect(n,n,A,A)}},arrow:{draw:function(e,t){var A=Math.sqrt(t)/2,n=A/7,r=A/2.5,i=A/8;e.moveTo(-n,A),e.lineTo(n,A),e.lineTo(n,-i),e.lineTo(r,-i),e.lineTo(0,-A),e.lineTo(-r,-i),e.lineTo(-n,-i),e.closePath()}},wedge:{draw:function(e,t){var A=Math.sqrt(t)/2,n=Xu*A,r=n-A*il,i=A/4;e.moveTo(0,-n-r),e.lineTo(-i,n-r),e.lineTo(i,n-r),e.closePath()}},triangle:{draw:function(e,t){var A=Math.sqrt(t)/2,n=Xu*A,r=n-A*il;e.moveTo(0,-n-r),e.lineTo(-A,n-r),e.lineTo(A,n-r),e.closePath()}},"triangle-up":{draw:function(e,t){var A=Math.sqrt(t)/2,n=Xu*A;e.moveTo(0,-n),e.lineTo(-A,n),e.lineTo(A,n),e.closePath()}},"triangle-down":{draw:function(e,t){var A=Math.sqrt(t)/2,n=Xu*A;e.moveTo(0,n),e.lineTo(-A,-n),e.lineTo(A,-n),e.closePath()}},"triangle-right":{draw:function(e,t){var A=Math.sqrt(t)/2,n=Xu*A;e.moveTo(n,0),e.lineTo(-n,-A),e.lineTo(-n,A),e.closePath()}},"triangle-left":{draw:function(e,t){var A=Math.sqrt(t)/2,n=Xu*A;e.moveTo(-n,0),e.lineTo(n,-A),e.lineTo(n,A),e.closePath()}},stroke:{draw:function(e,t){var A=Math.sqrt(t)/2;e.moveTo(-A,0),e.lineTo(A,0)}}};function al(e){return Object(ue.w)(ol,e)?ol[e]:function(e){if(!Object(ue.w)(sl,e)){var t=Pu(e);sl[e]={draw:function(e,A){nl(e,t,0,0,Math.sqrt(A)/2)}}}return sl[e]}(e)}var sl={};function gl(e){return e.x}function cl(e){return e.y}function ul(e){return e.width}function ll(e){return e.height}function Il(e){return"function"===typeof e?e:function(){return+e}}function Cl(e,t,A){return Math.max(t,Math.min(e,A))}function hl(){var e=gl,t=cl,A=ul,n=ll,r=Il(0),i=r,o=r,a=r,s=null;function g(g,c,u){var l,I=null!=c?c:+e.call(this,g),C=null!=u?u:+t.call(this,g),h=+A.call(this,g),f=+n.call(this,g),d=Math.min(h,f)/2,B=Cl(+r.call(this,g),0,d),p=Cl(+i.call(this,g),0,d),E=Cl(+o.call(this,g),0,d),Q=Cl(+a.call(this,g),0,d);if(s||(s=l=qr()),B<=0&&p<=0&&E<=0&&Q<=0)s.rect(I,C,h,f);else{var y=I+h,v=C+f;s.moveTo(I+B,C),s.lineTo(y-p,C),s.bezierCurveTo(y-.448084975506*p,C,y,C+.448084975506*p,y,C+p),s.lineTo(y,v-Q),s.bezierCurveTo(y,v-.448084975506*Q,y-.448084975506*Q,v,y-Q,v),s.lineTo(I+E,v),s.bezierCurveTo(I+.448084975506*E,v,I,v-.448084975506*E,I,v-E),s.lineTo(I,C+B),s.bezierCurveTo(I,C+.448084975506*B,I+.448084975506*B,C,I+B,C),s.closePath()}if(l)return s=null,l+""||null}return g.x=function(t){return arguments.length?(e=Il(t),g):e},g.y=function(e){return arguments.length?(t=Il(e),g):t},g.width=function(e){return arguments.length?(A=Il(e),g):A},g.height=function(e){return arguments.length?(n=Il(e),g):n},g.cornerRadius=function(e,t,A,n){return arguments.length?(r=Il(e),i=null!=t?Il(t):r,a=null!=A?Il(A):r,o=null!=n?Il(n):i,g):r},g.context=function(e){return arguments.length?(s=null==e?null:e,g):s},g}function fl(){var e,t,A,n,r,i,o,a,s=null;function g(e,t,A){var n=A/2;if(r){var g=o-t,c=e-i;if(g||c){var u=Math.sqrt(g*g+c*c),l=(g/=u)*a,I=(c/=u)*a,C=Math.atan2(c,g);s.moveTo(i-l,o-I),s.lineTo(e-g*n,t-c*n),s.arc(e,t,n,C-Math.PI,C),s.lineTo(i+l,o+I),s.arc(i,o,a,C,C+Math.PI)}else s.arc(e,t,n,0,Wu);s.closePath()}else r=1;i=e,o=t,a=n}function c(i){var o,a,c,u=i.length,l=!1;for(null==s&&(s=c=qr()),o=0;o<=u;++o)!(o<u&&n(a=i[o],o,i))===l&&(l=!l)&&(r=0),l&&g(+e(a,o,i),+t(a,o,i),+A(a,o,i));if(c)return s=null,c+""||null}return c.x=function(t){return arguments.length?(e=t,c):e},c.y=function(e){return arguments.length?(t=e,c):t},c.size=function(e){return arguments.length?(A=e,c):A},c.defined=function(e){return arguments.length?(n=e,c):n},c.context=function(e){return arguments.length?(s=null==e?null:e,c):s},c}function dl(e,t){return null!=e?e:t}var Bl=function(e){return e.x||0},pl=function(e){return e.y||0},El=function(e){return!(!1===e.defined)},Ql=function(){var e=$r,t=ei,A=zr(0),n=null,r=ti,i=Ai,o=ni,a=null;function s(){var s,g,c=+e.apply(this,arguments),u=+t.apply(this,arguments),l=r.apply(this,arguments)-yr,I=i.apply(this,arguments)-yr,C=Cr(I-l),h=I>l;if(a||(a=s=qr()),u<c&&(g=u,u=c,c=g),u>1e-12)if(C>vr-1e-12)a.moveTo(u*fr(l),u*pr(l)),a.arc(0,0,u,l,I,!h),c>1e-12&&(a.moveTo(c*fr(I),c*pr(I)),a.arc(0,0,c,I,l,h));else{var f,d,B=l,p=I,E=l,Q=I,y=C,v=C,m=o.apply(this,arguments)/2,b=m>1e-12&&(n?+n.apply(this,arguments):Er(c*c+u*u)),w=Br(Cr(u-c)/2,+A.apply(this,arguments)),S=w,F=w;if(b>1e-12){var R=br(b/c*pr(m)),D=br(b/u*pr(m));(y-=2*R)>1e-12?(E+=R*=h?1:-1,Q-=R):(y=0,E=Q=(l+I)/2),(v-=2*D)>1e-12?(B+=D*=h?1:-1,p-=D):(v=0,B=p=(l+I)/2)}var G=u*fr(B),k=u*pr(B),x=c*fr(Q),N=c*pr(Q);if(w>1e-12){var U,_=u*fr(p),M=u*pr(p),O=c*fr(E),L=c*pr(E);if(C<Qr&&(U=ri(G,k,O,L,_,M,x,N))){var T=G-U[0],Z=k-U[1],H=_-U[0],Y=M-U[1],J=1/pr(mr((T*H+Z*Y)/(Er(T*T+Z*Z)*Er(H*H+Y*Y)))/2),j=Er(U[0]*U[0]+U[1]*U[1]);S=Br(w,(c-j)/(J-1)),F=Br(w,(u-j)/(J+1))}}v>1e-12?F>1e-12?(f=ii(O,L,G,k,u,F,h),d=ii(_,M,x,N,u,F,h),a.moveTo(f.cx+f.x01,f.cy+f.y01),F<w?a.arc(f.cx,f.cy,F,hr(f.y01,f.x01),hr(d.y01,d.x01),!h):(a.arc(f.cx,f.cy,F,hr(f.y01,f.x01),hr(f.y11,f.x11),!h),a.arc(0,0,u,hr(f.cy+f.y11,f.cx+f.x11),hr(d.cy+d.y11,d.cx+d.x11),!h),a.arc(d.cx,d.cy,F,hr(d.y11,d.x11),hr(d.y01,d.x01),!h))):(a.moveTo(G,k),a.arc(0,0,u,B,p,!h)):a.moveTo(G,k),c>1e-12&&y>1e-12?S>1e-12?(f=ii(x,N,_,M,c,-S,h),d=ii(G,k,O,L,c,-S,h),a.lineTo(f.cx+f.x01,f.cy+f.y01),S<w?a.arc(f.cx,f.cy,S,hr(f.y01,f.x01),hr(d.y01,d.x01),!h):(a.arc(f.cx,f.cy,S,hr(f.y01,f.x01),hr(f.y11,f.x11),!h),a.arc(0,0,c,hr(f.cy+f.y11,f.cx+f.x11),hr(d.cy+d.y11,d.cx+d.x11),h),a.arc(d.cx,d.cy,S,hr(d.y11,d.x11),hr(d.y01,d.x01),!h))):a.arc(0,0,c,Q,E,h):a.lineTo(x,N)}else a.moveTo(0,0);if(a.closePath(),s)return a=null,s+""||null}return s.centroid=function(){var A=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,n=(+r.apply(this,arguments)+ +i.apply(this,arguments))/2-Qr/2;return[fr(n)*A,pr(n)*A]},s.innerRadius=function(t){return arguments.length?(e="function"===typeof t?t:zr(+t),s):e},s.outerRadius=function(e){return arguments.length?(t="function"===typeof e?e:zr(+e),s):t},s.cornerRadius=function(e){return arguments.length?(A="function"===typeof e?e:zr(+e),s):A},s.padRadius=function(e){return arguments.length?(n=null==e?null:"function"===typeof e?e:zr(+e),s):n},s.startAngle=function(e){return arguments.length?(r="function"===typeof e?e:zr(+e),s):r},s.endAngle=function(e){return arguments.length?(i="function"===typeof e?e:zr(+e),s):i},s.padAngle=function(e){return arguments.length?(o="function"===typeof e?e:zr(+e),s):o},s.context=function(e){return arguments.length?(a=null==e?null:e,s):a},s}().startAngle((function(e){return e.startAngle||0})).endAngle((function(e){return e.endAngle||0})).padAngle((function(e){return e.padAngle||0})).innerRadius((function(e){return e.innerRadius||0})).outerRadius((function(e){return e.outerRadius||0})).cornerRadius((function(e){return e.cornerRadius||0})),yl=ci().x(Bl).y1(pl).y0((function(e){return(e.y||0)+(e.height||0)})).defined(El),vl=ci().y(pl).x1(Bl).x0((function(e){return(e.x||0)+(e.width||0)})).defined(El),ml=gi().x(Bl).y(pl).defined(El),bl=hl().x(Bl).y(pl).width((function(e){return e.width||0})).height((function(e){return e.height||0})).cornerRadius((function(e){return dl(e.cornerRadiusTopLeft,e.cornerRadius)||0}),(function(e){return dl(e.cornerRadiusTopRight,e.cornerRadius)||0}),(function(e){return dl(e.cornerRadiusBottomRight,e.cornerRadius)||0}),(function(e){return dl(e.cornerRadiusBottomLeft,e.cornerRadius)||0})),wl=function(e,t){var A=null;function n(){var n;if(A||(A=n=qr()),e.apply(this,arguments).draw(A,+t.apply(this,arguments)),n)return A=null,n+""||null}return e="function"===typeof e?e:zr(e||ui),t="function"===typeof t?t:zr(void 0===t?64:+t),n.type=function(t){return arguments.length?(e="function"===typeof t?t:zr(t),n):e},n.size=function(e){return arguments.length?(t="function"===typeof e?e:zr(+e),n):t},n.context=function(e){return arguments.length?(A=null==e?null:e,n):A},n}().type((function(e){return al(e.shape||"circle")})).size((function(e){return dl(e.size,64)})),Sl=fl().x(Bl).y(pl).defined(El).size((function(e){return e.size||1}));function Fl(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function Rl(e,t,A,n){return bl.context(e)(t,A,n)}var Dl=1;function Gl(){Dl=1}function kl(e,t,A){var n=t.clip,r=e._defs,i=t.clip_id||(t.clip_id="clip"+Dl++),o=r.clipping[i]||(r.clipping[i]={id:i});return Object(ue.E)(n)?o.path=n(null):Fl(A)?o.path=Rl(null,A,0,0):(o.width=A.width||0,o.height=A.height||0),"url(#"+i+")"}function xl(e){this.clear(),e&&this.union(e)}function Nl(e){this.mark=e,this.bounds=this.bounds||new xl}function Ul(e){Nl.call(this,e),this.items=this.items||[]}function _l(e){this._pending=0,this._loader=e||Object(he.e)()}function Ml(e){e._pending+=1}function Ol(e){e._pending-=1}function Ll(e,t,A){if(t.stroke&&0!==t.opacity&&0!==t.strokeOpacity){var n=null!=t.strokeWidth?+t.strokeWidth:1;e.expand(n+(A?function(e,t){return e.strokeJoin&&"miter"!==e.strokeJoin?0:t}(t,n):0))}return e}xl.prototype={clone:function(){return new xl(this)},clear:function(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty:function(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals:function(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2},set:function(e,t,A,n){return A<e?(this.x2=e,this.x1=A):(this.x1=e,this.x2=A),n<t?(this.y2=t,this.y1=n):(this.y1=t,this.y2=n),this},add:function(e,t){return e<this.x1&&(this.x1=e),t<this.y1&&(this.y1=t),e>this.x2&&(this.x2=e),t>this.y2&&(this.y2=t),this},expand:function(e){return this.x1-=e,this.y1-=e,this.x2+=e,this.y2+=e,this},round:function(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale:function(e){return this.x1*=e,this.y1*=e,this.x2*=e,this.y2*=e,this},translate:function(e,t){return this.x1+=e,this.x2+=e,this.y1+=t,this.y2+=t,this},rotate:function(e,t,A){var n=this.rotatedPoints(e,t,A);return this.clear().add(n[0],n[1]).add(n[2],n[3]).add(n[4],n[5]).add(n[6],n[7])},rotatedPoints:function(e,t,A){var n=this.x1,r=this.y1,i=this.x2,o=this.y2,a=Math.cos(e),s=Math.sin(e),g=t-t*a+A*s,c=A-t*s-A*a;return[a*n-s*r+g,s*n+a*r+c,a*n-s*o+g,s*n+a*o+c,a*i-s*r+g,s*i+a*r+c,a*i-s*o+g,s*i+a*o+c]},union:function(e){return e.x1<this.x1&&(this.x1=e.x1),e.y1<this.y1&&(this.y1=e.y1),e.x2>this.x2&&(this.x2=e.x2),e.y2>this.y2&&(this.y2=e.y2),this},intersect:function(e){return e.x1>this.x1&&(this.x1=e.x1),e.y1>this.y1&&(this.y1=e.y1),e.x2<this.x2&&(this.x2=e.x2),e.y2<this.y2&&(this.y2=e.y2),this},encloses:function(e){return e&&this.x1<=e.x1&&this.x2>=e.x2&&this.y1<=e.y1&&this.y2>=e.y2},alignsWith:function(e){return e&&(this.x1==e.x1||this.x2==e.x2||this.y1==e.y1||this.y2==e.y2)},intersects:function(e){return e&&!(this.x2<e.x1||this.x1>e.x2||this.y2<e.y1||this.y1>e.y2)},contains:function(e,t){return!(e<this.x1||e>this.x2||t<this.y1||t>this.y2)},width:function(){return this.x2-this.x1},height:function(){return this.y2-this.y1}},Object(ue.z)(Ul,Nl),_l.prototype={pending:function(){return this._pending},sanitizeURL:function(e){var t=this;return Ml(t),t._loader.sanitize(e,{context:"href"}).then((function(e){return Ol(t),e})).catch((function(){return Ol(t),null}))},loadImage:function(e){var t=this,A=Ci();return Ml(t),t._loader.sanitize(e,{context:"image"}).then((function(e){var n=e.href;if(!n||!A)throw{url:n};var r=new A,i=Object(ue.w)(e,"crossOrigin")?e.crossOrigin:"anonymous";return null!=i&&(r.crossOrigin=i),r.onload=function(){return Ol(t)},r.onerror=function(){return Ol(t)},r.src=n,r})).catch((function(e){return Ol(t),{complete:!1,width:0,height:0,src:e&&e.url||""}}))},ready:function(){var e=this;return new Promise((function(t){!function A(n){e.pending()?setTimeout((function(){A(!0)}),10):t(n)}(!1)}))}};var Tl,Zl,Hl,Yl,Jl,jl,Pl,Vl,Kl=Wu-1e-8,Wl=function(e,t){return Tl.add(e,t)},Xl=function(e,t){return Wl(Zl=e,Hl=t)},ql=function(e){return Wl(e,Tl.y1)},zl=function(e){return Wl(Tl.x1,e)},$l=function(e,t){return Jl*e+Pl*t},eI=function(e,t){return jl*e+Vl*t},tI=function(e,t){return Wl($l(e,t),eI(e,t))},AI=function(e,t){return Xl($l(e,t),eI(e,t))};function nI(e,t){return Tl=e,t?(Yl=t*Vu,Jl=Vl=Math.cos(Yl),jl=Math.sin(Yl),Pl=-jl):(Jl=Vl=1,Yl=jl=Pl=0),rI}var rI={beginPath:function(){},closePath:function(){},moveTo:AI,lineTo:AI,rect:function(e,t,A,n){Yl?(tI(e+A,t),tI(e+A,t+n),tI(e,t+n),AI(e,t)):(Wl(e+A,t+n),Xl(e,t))},quadraticCurveTo:function(e,t,A,n){var r=$l(e,t),i=eI(e,t),o=$l(A,n),a=eI(A,n);iI(Zl,r,o,ql),iI(Hl,i,a,zl),Xl(o,a)},bezierCurveTo:function(e,t,A,n,r,i){var o=$l(e,t),a=eI(e,t),s=$l(A,n),g=eI(A,n),c=$l(r,i),u=eI(r,i);oI(Zl,o,s,c,ql),oI(Hl,a,g,u,zl),Xl(c,u)},arc:function(e,t,A,n,r,i){if(n+=Yl,r+=Yl,Zl=A*Math.cos(r)+e,Hl=A*Math.sin(r)+t,Math.abs(r-n)>Kl)Wl(e-A,t-A),Wl(e+A,t+A);else{var o,a,s=function(n){return Wl(A*Math.cos(n)+e,A*Math.sin(n)+t)};if(s(n),s(r),r!==n)if((n%=Wu)<0&&(n+=Wu),(r%=Wu)<0&&(r+=Wu),r<n&&(i=!i,o=n,n=r,r=o),i)for(r-=Wu,o=n-n%Ku,a=0;a<4&&o>r;++a,o-=Ku)s(o);else for(o=n-n%Ku+Ku,a=0;a<4&&o<r;++a,o+=Ku)s(o)}}};function iI(e,t,A,n){var r=(e-t)/(e+A-2*t);0<r&&r<1&&n(e+(t-e)*r)}function oI(e,t,A,n,r){var i,o=n-e+3*t-3*A,a=e+A-2*t,s=e-t,g=0,c=0;Math.abs(o)>1e-14?(i=a*a+s*o)>=0&&(g=(-a+(i=Math.sqrt(i)))/o,c=(-a-i)/o):g=.5*s/a,0<g&&g<1&&r(aI(g,e,t,A,n)),0<c&&c<1&&r(aI(c,e,t,A,n))}function aI(e,t,A,n,r){var i=1-e,o=i*i,a=e*e;return o*i*t+3*o*e*A+3*i*a*n+a*e*r}var sI=(sI=Ii(1,1))?sI.getContext("2d"):null,gI=new xl;function cI(e){return function(t,A){if(!sI)return!0;e(sI,t),gI.clear().union(t.bounds).intersect(A).round();for(var n=gI.x1,r=gI.y1,i=gI.x2,o=gI.y2,a=r;a<=o;++a)for(var s=n;s<=i;++s)if(sI.isPointInPath(s,a))return!0;return!1}}function uI(e,t){return t.contains(e.x||0,e.y||0)}function lI(e,t){var A=e.x||0,n=e.y||0,r=e.width||0,i=e.height||0;return t.intersects(gI.set(A,n,A+r,n+i))}function II(e,t){var A=e.x||0,n=e.y||0;return CI(t,A,n,null!=e.x2?e.x2:A,null!=e.y2?e.y2:n)}function CI(e,t,A,n,r){var i,o,a,s,g=e.x1,c=e.y1,u=e.x2,l=e.y2,I=n-t,C=r-A,h=0,f=1;for(s=0;s<4;++s){if(0===s&&(i=-I,o=-(g-t)),1===s&&(i=I,o=u-t),2===s&&(i=-C,o=-(c-A)),3===s&&(i=C,o=l-A),Math.abs(i)<1e-10&&o<0)return!1;if(a=o/i,i<0){if(a>f)return!1;a>h&&(h=a)}else if(i>0){if(a<h)return!1;a<f&&(f=a)}}return!0}function hI(e,t){e.globalCompositeOperation=t.blend||"source-over"}function fI(e,t){return null==e?t:e}function dI(e,t){for(var A=t.length,n=0;n<A;++n)e.addColorStop(t[n].offset,t[n].color);return e}function BI(e,t,A){return Ou(A)?function(e,t,A){var n,r=A.width(),i=A.height();if("radial"===t.gradient)n=e.createRadialGradient(A.x1+fI(t.x1,.5)*r,A.y1+fI(t.y1,.5)*i,Math.max(r,i)*fI(t.r1,0),A.x1+fI(t.x2,.5)*r,A.y1+fI(t.y2,.5)*i,Math.max(r,i)*fI(t.r2,.5));else{var o=fI(t.x1,0),a=fI(t.y1,0),s=fI(t.x2,1),g=fI(t.y2,0);if(o!==s&&a!==g&&r!==i){var c=Ii(Math.ceil(r),Math.ceil(i)),u=c.getContext("2d");return u.scale(r,i),u.fillStyle=dI(u.createLinearGradient(o,a,s,g),t.stops),u.fillRect(0,0,r,i),e.createPattern(c,"no-repeat")}n=e.createLinearGradient(A.x1+o*r,A.y1+a*i,A.x1+s*r,A.y1+g*i)}return dI(n,t.stops)}(e,A,t.bounds):A}function pI(e,t,A){return(A*=null==t.fillOpacity?1:t.fillOpacity)>0&&(e.globalAlpha=A,e.fillStyle=BI(e,t,t.fill),!0)}var EI=[];function QI(e,t,A){var n=null!=(n=t.strokeWidth)?n:1;return!(n<=0)&&((A*=null==t.strokeOpacity?1:t.strokeOpacity)>0&&(e.globalAlpha=A,e.strokeStyle=BI(e,t,t.stroke),e.lineWidth=n,e.lineCap=t.strokeCap||"butt",e.lineJoin=t.strokeJoin||"miter",e.miterLimit=t.strokeMiterLimit||10,e.setLineDash&&(e.setLineDash(t.strokeDash||EI),e.lineDashOffset=t.strokeDashOffset||0),!0))}function yI(e,t){return e.zindex-t.zindex||e.index-t.index}function vI(e){if(!e.zdirty)return e.zitems;var t,A,n,r=e.items,i=[];for(A=0,n=r.length;A<n;++A)(t=r[A]).index=A,t.zindex&&i.push(t);return e.zdirty=!1,e.zitems=i.sort(yI)}function mI(e,t){var A,n,r=e.items;if(r&&r.length){var i=vI(e);if(i&&i.length){for(A=0,n=r.length;A<n;++A)r[A].zindex||t(r[A]);r=i}for(A=0,n=r.length;A<n;++A)t(r[A])}}function bI(e,t){var A,n,r=e.items;if(!r||!r.length)return null;var i=vI(e);for(i&&i.length&&(r=i),n=r.length;--n>=0;)if(A=t(r[n]))return A;if(r===i)for(n=(r=e.items).length;--n>=0;)if(!r[n].zindex&&(A=t(r[n])))return A;return null}function wI(e){return function(t,A,n){mI(A,(function(A){n&&!n.intersects(A.bounds)||SI(e,t,A,A)}))}}function SI(e,t,A,n){var r=null==A.opacity?1:A.opacity;0!==r&&(e(t,n)||(hI(t,A),A.fill&&pI(t,A,r)&&t.fill(),A.stroke&&QI(t,A,r)&&t.stroke()))}function FI(e){return e=e||ue.ib,function(t,A,n,r,i,o){return n*=t.pixelRatio,r*=t.pixelRatio,bI(A,(function(A){var a=A.bounds;if((!a||a.contains(i,o))&&a)return e(t,A,n,r,i,o)?A:void 0}))}}function RI(e,t){return function(A,n,r,i){var o,a,s=Array.isArray(n)?n[0]:n,g=null==t?s.fill:t,c=s.stroke&&A.isPointInStroke;return c&&(o=s.strokeWidth,a=s.strokeCap,A.lineWidth=null!=o?o:1,A.lineCap=null!=a?a:"butt"),!e(A,n)&&(g&&A.isPointInPath(r,i)||c&&A.isPointInStroke(r,i))}}function DI(e){return FI(RI(e))}function GI(e,t){return"translate("+e+","+t+")"}function kI(e){return"rotate("+e+")"}function xI(e){return GI(e.x||0,e.y||0)}function NI(e,t,A){function n(e,A){var n=A.x||0,r=A.y||0,i=A.angle||0;e.translate(n,r),i&&e.rotate(i*=Vu),e.beginPath(),t(e,A),i&&e.rotate(-i),e.translate(-n,-r)}return{type:e,tag:"path",nested:!1,attr:function(e,A){e("transform",function(e){return GI(e.x||0,e.y||0)+(e.angle?" "+kI(e.angle):"")}(A)),e("d",t(null,A))},bound:function(e,A){return t(nI(e,A.angle),A),Ll(e,A).translate(A.x||0,A.y||0)},draw:wI(n),pick:DI(n),isect:A||cI(n)}}var UI=NI("arc",(function(e,t){return Ql.context(e)(t)}));function _I(e,t,A){function n(e,A){e.beginPath(),t(e,A)}var r,i=RI(n);return{type:e,tag:"path",nested:!0,attr:function(e,A){var n=A.mark.items;n.length&&e("d",t(null,n))},bound:function(e,A){var n=A.items;return 0===n.length?e:(t(nI(e),n),Ll(e,n[0]))},draw:(r=n,function(e,t,A){!t.items.length||A&&!A.intersects(t.bounds)||SI(r,e,t.items[0],t.items)}),pick:function(e,t,A,n,r,o){var a=t.items,s=t.bounds;return!a||!a.length||s&&!s.contains(r,o)?null:(A*=e.pixelRatio,n*=e.pixelRatio,i(e,a,A,n)?a[0]:null)},isect:uI,tip:A}}var MI=_I("area",(function(e,t){var A=t[0],n=A.interpolate||"linear";return("horizontal"===A.orient?vl:yl).curve(Yu(n,A.orient,A.tension)).context(e)(t)}),(function(e,t){for(var A,n,r="horizontal"===e[0].orient?t[1]:t[0],i="horizontal"===e[0].orient?"y":"x",o=e.length,a=1/0;--o>=0;)!1!==e[o].defined&&(n=Math.abs(e[o][i]-r))<a&&(a=n,A=e[o]);return A}));function OI(e,t){e.beginPath(),Fl(t)?Rl(e,t,0,0):e.rect(0,0,t.width||0,t.height||0),e.clip()}function LI(e){var t=fI(e.strokeWidth,1);return null!=e.strokeOffset?e.strokeOffset:e.stroke&&t>.5&&t<1.5?.5-Math.abs(t-1):0}function TI(e,t){var A=LI(t);e("d",Rl(null,t,A,A))}function ZI(e,t,A,n){var r=LI(t);e.beginPath(),Rl(e,t,(A||0)+r,(n||0)+r)}var HI=RI(ZI),YI=RI(ZI,!1),JI=RI(ZI,!0);var jI={type:"group",tag:"g",nested:!1,attr:function(e,t){e("transform",xI(t))},bound:function(e,t){if(!t.clip&&t.items)for(var A=t.items,n=A.length,r=0;r<n;++r)e.union(A[r].bounds);return(t.clip||t.width||t.height)&&!t.noBound&&e.add(0,0).add(t.width||0,t.height||0),Ll(e,t),e.translate(t.x||0,t.y||0)},draw:function(e,t,A){var n=this;mI(t,(function(t){var r=t.x||0,i=t.y||0,o=t.strokeForeground,a=null==t.opacity?1:t.opacity;(t.stroke||t.fill)&&a&&(ZI(e,t,r,i),hI(e,t),t.fill&&pI(e,t,a)&&e.fill(),t.stroke&&!o&&QI(e,t,a)&&e.stroke()),e.save(),e.translate(r,i),t.clip&&OI(e,t),A&&A.translate(-r,-i),mI(t,(function(t){n.draw(e,t,A)})),A&&A.translate(r,i),e.restore(),o&&t.stroke&&a&&(ZI(e,t,r,i),hI(e,t),QI(e,t,a)&&e.stroke())}))},pick:function(e,t,A,n,r,i){var o=this;if(t.bounds&&!t.bounds.contains(r,i)||!t.items)return null;var a=A*e.pixelRatio,s=n*e.pixelRatio;return bI(t,(function(g){var c,u,l,I=g.bounds;if(!I||I.contains(r,i)){u=g.x||0,l=g.y||0;var C=u+(g.width||0),h=l+(g.height||0),f=g.clip;if(!f||!(r<u||r>C||i<l||i>h)){if(e.save(),e.translate(u,l),u=r-u,l=i-l,f&&Fl(g)&&!JI(e,g,a,s))return e.restore(),null;var d=g.strokeForeground,B=!1!==t.interactive;return B&&d&&g.stroke&&YI(e,g,a,s)?(e.restore(),g):(!(c=bI(g,(function(e){return function(e,t,A){return(!1!==e.interactive||"group"===e.marktype)&&e.bounds&&e.bounds.contains(t,A)}(e,u,l)?o.pick(e,A,n,u,l):null})))&&B&&(g.fill||!d&&g.stroke)&&HI(e,g,a,s)&&(c=g),e.restore(),c||null)}}}))},isect:lI,content:function(e,t,A){e("clip-path",t.clip?kl(A,t,t):null)},background:function(e,t){e("class","background"),e("aria-hidden",!0),TI(e,t)},foreground:function(e,t){e("class","foreground"),e("aria-hidden",!0),t.strokeForeground?TI(e,t):e("d","")}},PI={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function VI(e,t){var A=e.image;return(!A||e.url&&e.url!==A.url)&&(A={complete:!1,width:0,height:0},t.loadImage(e.url).then((function(t){e.image=t,e.image.url=e.url}))),A}function KI(e,t){return null!=e.width?e.width:t&&t.width?!1!==e.aspect&&e.height?e.height*t.width/t.height:t.width:0}function WI(e,t){return null!=e.height?e.height:t&&t.height?!1!==e.aspect&&e.width?e.width*t.height/t.width:t.height:0}function XI(e,t){return"center"===e?t/2:"right"===e?t:0}function qI(e,t){return"middle"===e?t/2:"bottom"===e?t:0}var zI={type:"image",tag:"image",nested:!1,attr:function(e,t,A){var n=VI(t,A),r=KI(t,n),i=WI(t,n),o=(t.x||0)-XI(t.align,r),a=(t.y||0)-qI(t.baseline,i);e("href",!n.src&&n.toDataURL?n.toDataURL():n.src||"",PI["xmlns:xlink"],"xlink:href"),e("transform",GI(o,a)),e("width",r),e("height",i),e("preserveAspectRatio",!1===t.aspect?"none":"xMidYMid")},bound:function(e,t){var A=t.image,n=KI(t,A),r=WI(t,A),i=(t.x||0)-XI(t.align,n),o=(t.y||0)-qI(t.baseline,r);return e.set(i,o,i+n,o+r)},draw:function(e,t,A){var n=this;mI(t,(function(t){if(!A||A.intersects(t.bounds)){var r=VI(t,n),i=KI(t,r),o=WI(t,r);if(0!==i&&0!==o){var a,s,g,c,u=(t.x||0)-XI(t.align,i),l=(t.y||0)-qI(t.baseline,o);!1!==t.aspect&&(s=r.width/r.height,g=t.width/t.height,s===s&&g===g&&s!==g&&(g<s?(l+=(o-(c=i/s))/2,o=c):(u+=(i-(c=o*s))/2,i=c))),(r.complete||r.toDataURL)&&(hI(e,t),e.globalAlpha=null!=(a=t.opacity)?a:1,e.imageSmoothingEnabled=!1!==t.smooth,e.drawImage(r,u,l,i,o))}}}))},pick:FI(),isect:ue.ib,get:VI,xOffset:XI,yOffset:qI},$I=_I("line",(function(e,t){var A=t[0],n=A.interpolate||"linear";return ml.curve(Yu(n,A.orient,A.tension)).context(e)(t)}),(function(e,t){for(var A,n,r=Math.pow(e[0].strokeWidth||1,2),i=e.length;--i>=0;)if(!1!==e[i].defined&&(A=e[i].x-t[0])*A+(n=e[i].y-t[1])*n<r)return e[i];return null}));function eC(e,t){var A=t.path;if(null==A)return!0;var n=t.x||0,r=t.y||0,i=t.scaleX||1,o=t.scaleY||1,a=(t.angle||0)*Vu,s=t.pathCache;s&&s.path===A||((t.pathCache=s=Pu(A)).path=A),a&&e.rotate&&e.translate?(e.translate(n,r),e.rotate(a),nl(e,s,0,0,i,o),e.rotate(-a),e.translate(-n,-r)):nl(e,s,n,r,i,o)}var tC={type:"path",tag:"path",nested:!1,attr:function(e,t){var A=t.scaleX||1,n=t.scaleY||1;1===A&&1===n||e("vector-effect","non-scaling-stroke"),e("transform",function(e){return GI(e.x||0,e.y||0)+(e.angle?" "+kI(e.angle):"")+(e.scaleX||e.scaleY?" "+function(e,t){return"scale("+e+","+t+")"}(e.scaleX||1,e.scaleY||1):"")}(t)),e("d",t.path)},bound:function(e,t){return eC(nI(e,t.angle),t)?e.set(0,0,0,0):Ll(e,t,!0)},draw:wI(eC),pick:DI(eC),isect:cI(eC)};function AC(e,t){e.beginPath(),Rl(e,t)}var nC={type:"rect",tag:"path",nested:!1,attr:function(e,t){e("d",Rl(null,t))},bound:function(e,t){var A,n;return Ll(e.set(A=t.x||0,n=t.y||0,A+t.width||0,n+t.height||0),t)},draw:wI(AC),pick:DI(AC),isect:lI};function rC(e,t,A){var n,r,i,o;return!(!t.stroke||!QI(e,t,A))&&(n=t.x||0,r=t.y||0,i=null!=t.x2?t.x2:n,o=null!=t.y2?t.y2:r,e.beginPath(),e.moveTo(n,r),e.lineTo(i,o),!0)}var iC={type:"rule",tag:"line",nested:!1,attr:function(e,t){e("transform",xI(t)),e("x2",null!=t.x2?t.x2-(t.x||0):0),e("y2",null!=t.y2?t.y2-(t.y||0):0)},bound:function(e,t){var A,n;return Ll(e.set(A=t.x||0,n=t.y||0,null!=t.x2?t.x2:A,null!=t.y2?t.y2:n),t)},draw:function(e,t,A){mI(t,(function(t){if(!A||A.intersects(t.bounds)){var n=null==t.opacity?1:t.opacity;n&&rC(e,t,n)&&(hI(e,t),e.stroke())}}))},pick:FI((function(e,t,A,n){return!!e.isPointInStroke&&(rC(e,t,1)&&e.isPointInStroke(A,n))})),isect:II},oC=NI("shape",(function(e,t){return(t.mark.shape||t.shape).context(e)(t)})),aC=NI("symbol",(function(e,t){return wl.context(e)(t)}),uI),sC=Object(ue.N)(),gC={height:hC,measureWidth:IC,estimateWidth:uC,width:uC,canvas:cC};function cC(e){gC.width=e&&sI?IC:uC}function uC(e,t){return lC(pC(e,t),hC(e))}function lC(e,t){return~~(.8*e.length*t)}function IC(e,t){return hC(e)<=0||!(t=pC(e,t))?0:CC(t,QC(e))}function CC(e,t){var A="(".concat(t,") ").concat(e),n=sC.get(A);return void 0===n&&(sI.font=t,n=sI.measureText(e).width,sC.set(A,n)),n}function hC(e){return null!=e.fontSize?+e.fontSize||0:11}function fC(e){return null!=e.lineHeight?e.lineHeight:hC(e)+2}function dC(e){return t=e.lineBreak&&e.text&&!Object(ue.B)(e.text)?e.text.split(e.lineBreak):e.text,Object(ue.B)(t)?t.length>1?t:t[0]:t;var t}function BC(e){var t=dC(e);return(Object(ue.B)(t)?t.length-1:0)*fC(e)}function pC(e,t){var A=null==t?"":(t+"").trim();return e.limit>0&&A.length?function(e,t){var A=+e.limit,n=function(e){if(gC.width===IC){var t=QC(e);return function(e){return CC(e,t)}}var A=hC(e);return function(e){return lC(e,A)}}(e);if(n(t)<A)return t;var r,i=e.ellipsis||"\u2026",o="rtl"===e.dir,a=0,s=t.length;if(A-=n(i),o){for(;a<s;)r=a+s>>>1,n(t.slice(r))>A?a=r+1:s=r;return i+t.slice(a)}for(;a<s;)r=1+(a+s>>>1),n(t.slice(0,r))<A?a=r:s=r-1;return t.slice(0,a)+i}(e,A):A}function EC(e,t){var A=e.font;return(t&&A?String(A).replace(/"/g,"'"):A)||"sans-serif"}function QC(e,t){return(e.fontStyle?e.fontStyle+" ":"")+(e.fontVariant?e.fontVariant+" ":"")+(e.fontWeight?e.fontWeight+" ":"")+hC(e)+"px "+EC(e,t)}function yC(e){var t=e.baseline,A=hC(e);return Math.round("top"===t?.79*A:"middle"===t?.3*A:"bottom"===t?-.21*A:"line-top"===t?.29*A+.5*fC(e):"line-bottom"===t?.29*A-.5*fC(e):0)}cC(!0);var vC={left:"start",center:"middle",right:"end"},mC=new xl;function bC(e){var t,A=e.x||0,n=e.y||0,r=e.radius||0;return r&&(t=(e.theta||0)-Ku,A+=r*Math.cos(t),n+=r*Math.sin(t)),mC.x1=A,mC.y1=n,mC}function wC(e,t,A){var n,r=gC.height(t),i=t.align,o=bC(t),a=o.x1,s=o.y1,g=t.dx||0,c=(t.dy||0)+yC(t)-Math.round(.8*r),u=dC(t);if(Object(ue.B)(u)?(r+=fC(t)*(u.length-1),n=u.reduce((function(e,A){return Math.max(e,gC.width(t,A))}),0)):n=gC.width(t,u),"center"===i?g-=n/2:"right"===i&&(g-=n),e.set(g+=a,c+=s,g+n,c+r),t.angle&&!A)e.rotate(t.angle*Vu,a,s);else if(2===A)return e.rotatedPoints(t.angle*Vu,a,s);return e}var SC={arc:UI,area:MI,group:jI,image:zI,line:$I,path:tC,rect:nC,rule:iC,shape:oC,symbol:aC,text:{type:"text",tag:"text",nested:!1,attr:function(e,t){var A,n=t.dx||0,r=(t.dy||0)+yC(t),i=bC(t),o=i.x1,a=i.y1,s=t.angle||0;e("text-anchor",vC[t.align]||"start"),s?(A=GI(o,a)+" "+kI(s),(n||r)&&(A+=" "+GI(n,r))):A=GI(o+n,a+r),e("transform",A)},bound:wC,draw:function(e,t,A){mI(t,(function(t){var n,r,i,o,a,s,g,c=null==t.opacity?1:t.opacity;if(!(A&&!A.intersects(t.bounds)||0===c||t.fontSize<=0||null==t.text||0===t.text.length)){if(e.font=QC(t),e.textAlign=t.align||"left",r=(n=bC(t)).x1,i=n.y1,t.angle&&(e.save(),e.translate(r,i),e.rotate(t.angle*Vu),r=i=0),r+=t.dx||0,i+=(t.dy||0)+yC(t),s=dC(t),hI(e,t),Object(ue.B)(s))for(a=fC(t),o=0;o<s.length;++o)g=pC(t,s[o]),t.fill&&pI(e,t,c)&&e.fillText(g,r,i),t.stroke&&QI(e,t,c)&&e.strokeText(g,r,i),i+=a;else g=pC(t,s),t.fill&&pI(e,t,c)&&e.fillText(g,r,i),t.stroke&&QI(e,t,c)&&e.strokeText(g,r,i);t.angle&&e.restore()}}))},pick:FI((function(e,t,A,n,r,i){if(t.fontSize<=0)return!1;if(!t.angle)return!0;var o=bC(t),a=o.x1,s=o.y1,g=wC(mC,t,1),c=-t.angle*Vu,u=Math.cos(c),l=Math.sin(c),I=u*r-l*i+(a-u*a+l*s),C=l*r+u*i+(s-l*a-u*s);return g.contains(I,C)})),isect:function(e,t){var A=wC(mC,e,2);return CI(t,A[0],A[1],A[2],A[3])||CI(t,A[0],A[1],A[4],A[5])||CI(t,A[4],A[5],A[6],A[7])||CI(t,A[2],A[3],A[6],A[7])}},trail:_I("trail",(function(e,t){return Sl.context(e)(t)}),(function(e,t){for(var A,n,r=e.length;--r>=0;)if(!1!==e[r].defined&&(A=e[r].x-t[0])*A+(n=e[r].y-t[1])*n<(A=e[r].size||1)*A)return e[r];return null}))};function FC(e,t,A){var n=SC[e.mark.marktype],r=t||n.bound;return n.nested&&(e=e.mark),r(e.bounds||(e.bounds=new xl),e,A)}var RC={mark:null};function DC(e,t,A){var n,r,i,o,a=SC[e.marktype],s=a.bound,g=e.items,c=g&&g.length;if(a.nested)return c?i=g[0]:(RC.mark=e,i=RC),o=FC(i,s,A),t=t&&t.union(o)||o;if(t=t||e.bounds&&e.bounds.clear()||new xl,c)for(n=0,r=g.length;n<r;++n)t.union(FC(g[n],s,A));return e.bounds=t}var GC=["marktype","name","role","interactive","clip","items","zindex","x","y","width","height","align","baseline","fill","fillOpacity","opacity","blend","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","strokeForeground","strokeOffset","startAngle","endAngle","innerRadius","outerRadius","cornerRadius","padAngle","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight","interpolate","tension","orient","defined","url","aspect","smooth","path","scaleX","scaleY","x2","y2","size","shape","text","angle","theta","radius","dir","dx","dy","ellipsis","limit","lineBreak","lineHeight","font","fontSize","fontWeight","fontStyle","fontVariant","description","aria","ariaRole","ariaRoleDescription"];function kC(e,t){return JSON.stringify(e,GC,t)}function xC(e){return function e(t){var A,n,r,i=t.marktype,o=t.items;if(o)for(n=0,r=o.length;n<r;++n)A=i?"mark":"group",o[n][A]=t,o[n].zindex&&(o[n][A].zdirty=!0),"group"===(i||A)&&e(o[n]);i&&DC(t);return t}("string"===typeof e?JSON.parse(e):e)}function NC(e){arguments.length?this.root=xC(e):(this.root=UC({marktype:"group",name:"root",role:"frame"}),this.root.items=[new Ul(this.root)])}function UC(e,t){var A={bounds:new xl,clip:!!e.clip,group:t,interactive:!1!==e.interactive,items:[],marktype:e.marktype,name:e.name||void 0,role:e.role||void 0,zindex:e.zindex||0};return null!=e.aria&&(A.aria=e.aria),e.description&&(A.description=e.description),A}function _C(e,t,A){return!e&&"undefined"!==typeof document&&document.createElement&&(e=document),e?A?e.createElementNS(A,t):e.createElement(t):null}function MC(e,t){t=t.toLowerCase();for(var A=e.childNodes,n=0,r=A.length;n<r;++n)if(A[n].tagName.toLowerCase()===t)return A[n]}function OC(e,t,A,n){var r,i=e.childNodes[t];return i&&i.tagName.toLowerCase()===A.toLowerCase()||(r=i||null,i=_C(e.ownerDocument,A,n),e.insertBefore(i,r)),i}function LC(e,t){for(var A=e.childNodes,n=A.length;n>t;)e.removeChild(A[--n]);return e}function TC(e){return"mark-"+e.marktype+(e.role?" role-"+e.role:"")+(e.name?" "+e.name:"")}function ZC(e,t){var A=t.getBoundingClientRect();return[e.clientX-A.left-(t.clientLeft||0),e.clientY-A.top-(t.clientTop||0)]}function HC(e,t){this._active=null,this._handlers={},this._loader=e||Object(he.e)(),this._tooltip=t||YC}function YC(e,t,A,n){e.element().setAttribute("title",n||"")}function JC(e){this._el=null,this._bgcolor=null,this._loader=new _l(e)}NC.prototype={toJSON:function(e){return kC(this.root,e||0)},mark:function(e,t,A){var n=UC(e,t=t||this.root.items[0]);return t.items[A]=n,n.zindex&&(n.group.zdirty=!0),n}},HC.prototype={initialize:function(e,t,A){return this._el=e,this._obj=A||null,this.origin(t)},element:function(){return this._el},canvas:function(){return this._el&&this._el.firstChild},origin:function(e){return arguments.length?(this._origin=e||[0,0],this):this._origin.slice()},scene:function(e){return arguments.length?(this._scene=e,this):this._scene},on:function(){},off:function(){},_handlerIndex:function(e,t,A){for(var n=e?e.length:0;--n>=0;)if(e[n].type===t&&(!A||e[n].handler===A))return n;return-1},handlers:function(e){var t=this._handlers,A=[];if(e)A.push.apply(A,Object(zn.a)(t[this.eventName(e)]));else for(var n in t)A.push.apply(A,Object(zn.a)(t[n]));return A},eventName:function(e){var t=e.indexOf(".");return t<0?e:e.slice(0,t)},handleHref:function(e,t,A){this._loader.sanitize(A,{context:"href"}).then((function(t){var A=new MouseEvent(e.type,e),n=_C(null,"a");for(var r in t)n.setAttribute(r,t[r]);n.dispatchEvent(A)})).catch((function(){}))},handleTooltip:function(e,t,A){if(t&&null!=t.tooltip){t=function(e,t,A,n){var r,i,o=e&&e.mark;if(o&&(r=SC[o.marktype]).tip){for((i=ZC(t,A))[0]-=n[0],i[1]-=n[1];e=e.mark.group;)i[0]-=e.x||0,i[1]-=e.y||0;e=r.tip(o.items,i)}return e}(t,e,this.canvas(),this._origin);var n=A&&t&&t.tooltip||null;this._tooltip.call(this._obj,this,e,t,n)}},getItemBoundingClientRect:function(e){var t=this.canvas();if(t){for(var A=t.getBoundingClientRect(),n=this._origin,r=e.bounds,i=r.width(),o=r.height(),a=r.x1+n[0]+A.left,s=r.y1+n[1]+A.top;e.mark&&(e=e.mark.group);)a+=e.x||0,s+=e.y||0;return{x:a,y:s,width:i,height:o,left:a,top:s,right:a+i,bottom:s+o}}}},JC.prototype={initialize:function(e,t,A,n,r){return this._el=e,this.resize(t,A,n,r)},element:function(){return this._el},canvas:function(){return this._el&&this._el.firstChild},background:function(e){return 0===arguments.length?this._bgcolor:(this._bgcolor=e,this)},resize:function(e,t,A,n){return this._width=e,this._height=t,this._origin=A||[0,0],this._scale=n||1,this},dirty:function(){},render:function(e){var t=this;return t._call=function(){t._render(e)},t._call(),t._call=null,t},_render:function(){},renderAsync:function(e){var t=this.render(e);return this._ready?this._ready.then((function(){return t})):Promise.resolve(t)},_load:function(e,t){var A=this,n=A._loader[e](t);if(!A._ready){var r=A._call;A._ready=A._loader.ready().then((function(e){e&&r(),A._ready=null}))}return n},sanitizeURL:function(e){return this._load("sanitizeURL",e)},loadImage:function(e){return this._load("loadImage",e)}};var jC="dragleave",PC="mousedown",VC="mousemove",KC="mouseout",WC="click",XC=["keydown","keypress","keyup","dragenter",jC,"dragover",PC,"mouseup",VC,KC,"mouseover",WC,"dblclick","wheel","mousewheel","touchstart","touchmove","touchend"],qC=VC,zC=KC,$C=WC;function eh(e,t){HC.call(this,e,t),this._down=null,this._touch=null,this._first=!0,this._events={}}function th(e,t){(function(e){return"touchstart"===e||"touchmove"===e||"touchend"===e?["touchstart","touchmove","touchend"]:[e]})(t).forEach((function(t){return function(e,t){var A=e.canvas();A&&!e._events[t]&&(e._events[t]=1,A.addEventListener(t,e[t]?function(A){return e[t](A)}:function(A){return e.fire(t,A)}))}(e,t)}))}function Ah(e,t,A){return function(n){var r=this._active,i=this.pickEvent(n);i===r||(r&&r.exit||this.fire(A,n),this._active=i,this.fire(t,n)),this.fire(e,n)}}function nh(e){return function(t){this.fire(e,t),this._active=null}}Object(ue.z)(eh,HC,{initialize:function(e,t,A){var n=this;return this._canvas=e&&MC(e,"canvas"),[WC,PC,VC,KC,jC].forEach((function(e){return th(n,e)})),HC.prototype.initialize.call(this,e,t,A)},canvas:function(){return this._canvas},context:function(){return this._canvas.getContext("2d")},events:XC,DOMMouseScroll:function(e){this.fire("mousewheel",e)},mousemove:Ah(VC,"mouseover",KC),dragover:Ah("dragover","dragenter",jC),mouseout:nh(KC),dragleave:nh(jC),mousedown:function(e){this._down=this._active,this.fire(PC,e)},click:function(e){this._down===this._active&&(this.fire(WC,e),this._down=null)},touchstart:function(e){this._touch=this.pickEvent(e.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire("touchstart",e,!0)},touchmove:function(e){this.fire("touchmove",e,!0)},touchend:function(e){this.fire("touchend",e,!0),this._touch=null},fire:function(e,t,A){var n=A?this._touch:this._active,r=this._handlers[e];if(t.vegaType=e,e===$C&&n&&n.href?this.handleHref(t,n,n.href):e!==qC&&e!==zC||this.handleTooltip(t,n,e!==zC),r)for(var i=0,o=r.length;i<o;++i)r[i].handler.call(this._obj,t,n)},on:function(e,t){var A=this.eventName(e),n=this._handlers;return this._handlerIndex(n[A],e,t)<0&&(th(this,e),(n[A]||(n[A]=[])).push({type:e,handler:t})),this},off:function(e,t){var A=this.eventName(e),n=this._handlers[A],r=this._handlerIndex(n,e,t);return r>=0&&n.splice(r,1),this},pickEvent:function(e){var t=ZC(e,this._canvas),A=this._origin;return this.pick(this._scene,t[0],t[1],t[0]-A[0],t[1]-A[1])},pick:function(e,t,A,n,r){var i=this.context();return SC[e.marktype].pick.call(this,i,e,t,A,n,r)}});var rh="undefined"!==typeof window&&window.devicePixelRatio||1;function ih(e){JC.call(this,e),this._options={},this._redraw=!1,this._dirty=new xl,this._tempb=new xl}var oh=JC.prototype;function ah(e,t){HC.call(this,e,t);var A=this;A._hrefHandler=sh(A,(function(e,t){t&&t.href&&A.handleHref(e,t,t.href)})),A._tooltipHandler=sh(A,(function(e,t){A.handleTooltip(e,t,e.type!==zC)}))}Object(ue.z)(ih,JC,{initialize:function(e,t,A,n,r,i){return this._options=i||{},this._canvas=this._options.externalContext?null:Ii(1,1,this._options.type),e&&this._canvas&&(LC(e,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),oh.initialize.call(this,e,t,A,n,r)},resize:function(e,t,A,n){if(oh.resize.call(this,e,t,A,n),this._canvas)!function(e,t,A,n,r,i){var o="undefined"!==typeof HTMLElement&&e instanceof HTMLElement&&null!=e.parentNode,a=e.getContext("2d"),s=o?rh:r;for(var g in e.width=t*s,e.height=A*s,i)a[g]=i[g];o&&1!==s&&(e.style.width=t+"px",e.style.height=A+"px"),a.pixelRatio=s,a.setTransform(s,0,0,s,s*n[0],s*n[1])}(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{var r=this._options.externalContext;r||Object(ue.o)("CanvasRenderer is missing a valid canvas or context"),r.scale(this._scale,this._scale),r.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this},canvas:function(){return this._canvas},context:function(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)},dirty:function(e){for(var t=this._tempb.clear().union(e.bounds),A=e.mark.group;A;)t.translate(A.x||0,A.y||0),A=A.mark.group;this._dirty.union(t)},_render:function(e){var t,A,n,r=this.context(),i=this._origin,o=this._width,a=this._height,s=this._dirty,g=(t=i,A=o,n=a,(new xl).set(0,0,A,n).translate(-t[0],-t[1]));r.save();var c=this._redraw||s.empty()?(this._redraw=!1,g.expand(1)):function(e,t,A){return t.expand(1).round(),e.pixelRatio%1&&t.scale(e.pixelRatio).round().scale(1/e.pixelRatio),t.translate(-A[0]%1,-A[1]%1),e.beginPath(),e.rect(t.x1,t.y1,t.width(),t.height()),e.clip(),t}(r,g.intersect(s),i);return this.clear(-i[0],-i[1],o,a),this.draw(r,e,c),r.restore(),s.clear(),this},draw:function(e,t,A){var n=SC[t.marktype];t.clip&&function(e,t){var A=t.clip;e.save(),Object(ue.E)(A)?(e.beginPath(),A(e),e.clip()):OI(e,t.group)}(e,t),n.draw.call(this,e,t,A),t.clip&&e.restore()},clear:function(e,t,A,n){var r=this._options,i=this.context();"pdf"===r.type||r.externalContext||i.clearRect(e,t,A,n),null!=this._bgcolor&&(i.fillStyle=this._bgcolor,i.fillRect(e,t,A,n))}});var sh=function(e,t){return function(A){var n=A.target.__data__;n=Array.isArray(n)?n[0]:n,A.vegaType=A.type,t.call(e._obj,A,n)}};Object(ue.z)(ah,HC,{initialize:function(e,t,A){var n=this._svg;return n&&(n.removeEventListener($C,this._hrefHandler),n.removeEventListener(qC,this._tooltipHandler),n.removeEventListener(zC,this._tooltipHandler)),this._svg=n=e&&MC(e,"svg"),n&&(n.addEventListener($C,this._hrefHandler),n.addEventListener(qC,this._tooltipHandler),n.addEventListener(zC,this._tooltipHandler)),HC.prototype.initialize.call(this,e,t,A)},canvas:function(){return this._svg},on:function(e,t){var A=this.eventName(e),n=this._handlers;if(this._handlerIndex(n[A],e,t)<0){var r={type:e,handler:t,listener:sh(this,t)};(n[A]||(n[A]=[])).push(r),this._svg&&this._svg.addEventListener(A,r.listener)}return this},off:function(e,t){var A=this.eventName(e),n=this._handlers[A],r=this._handlerIndex(n,e,t);return r>=0&&(this._svg&&this._svg.removeEventListener(A,n[r].listener),n.splice(r,1)),this}});var gh=function(e,t,A){var n;return n={},Object($n.a)(n,"role",e),Object($n.a)(n,"aria-roledescription",t),Object($n.a)(n,"aria-label",A||void 0),n},ch=Object(ue.fb)(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),uh={axis:{desc:"axis",caption:function(e){var t=e.datum,A=e.orient,n=t.title?fh(e):null,r=e.context,i=r.scales[t.scale].value,o=r.dataflow.locale(),a=i.type;return"".concat("left"===A||"right"===A?"Y":"X","-axis")+(n?" titled '".concat(n,"'"):"")+" for a ".concat(nu(a)?"discrete":a," scale")+" with ".concat(_u(o,i,e))}},legend:{desc:"legend",caption:function(e){var t=e.datum,A=t.title?fh(e):null,n="".concat(t.type||""," legend").trim(),r=t.scales,i=Object.keys(r),o=e.context,a=o.scales[r[i[0]]].value,s=o.dataflow.locale();return g=n,(g.length?g[0].toUpperCase()+g.slice(1):g)+(A?" titled '".concat(A,"'"):"")+" for ".concat(function(e){return(e=e.map((function(e){return e+("fill"===e||"stroke"===e?" color":"")}))).length<2?e[0]:e.slice(0,-1).join(", ")+" and "+Object(ue.W)(e)}(i))+" with ".concat(_u(s,a,e));var g}},"title-text":{desc:"title",caption:function(e){return"Title text '".concat(hh(e),"'")}},"title-subtitle":{desc:"subtitle",caption:function(e){return"Subtitle text '".concat(hh(e),"'")}}},lh={ariaRole:"role",ariaRoleDescription:"aria-roledescription",description:"aria-label"};function Ih(e,t){var A=!1===t.aria;if(e("aria-hidden",A||void 0),A||null==t.description)for(var n in lh)e(lh[n],void 0);else{var r=t.mark.marktype;e("aria-label",t.description),e("role",t.ariaRole||("group"===r?"graphics-object":"graphics-symbol")),e("aria-roledescription",t.ariaRoleDescription||"".concat(r," mark"))}}function Ch(e){return!1===e.aria?Object($n.a)({},"aria-hidden",!0):ch[e.role]?null:uh[e.role]?function(e,t){try{var A=e.items[0],n=t.caption||function(){return""};return gh(t.role||"graphics-symbol",t.desc,A.description||n(A))}catch(r){return null}}(e,uh[e.role]):function(e){var t=e.marktype,A="group"===t||"text"===t||e.items.some((function(e){return null!=e.description&&!1!==e.aria}));return gh(A?"graphics-object":"graphics-symbol","".concat(t," mark container"),e.description)}(e)}function hh(e){return Object(ue.i)(e.text).join(" ")}function fh(e){try{return Object(ue.i)(Object(ue.W)(e.items).items[0].text).join(" ")}catch(t){return null}}var dh=function(e){return(e+"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")};function Bh(){var e="",t="",A="",n=[],r=function(){return t=A=""},i=function(i){t&&(e+="".concat(t,">").concat(A),r()),n.push(i)},o=function(e,A){return null!=A&&(t+=" ".concat(e,'="').concat(dh(A).replace(/"/g,""").replace(/\t/g,"	").replace(/\n/g,"
").replace(/\r/g,"
"),'"')),a},a={open:function(e){i(e),t="<"+e;for(var A=arguments.length,n=new Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];for(var s=0,g=n;s<g.length;s++){var c=g[s];for(var u in c)o(u,c[u])}return a},close:function(){var i=n.pop();return e+=t?t+(A?">".concat(A,"</").concat(i,">"):"/>"):"</".concat(i,">"),r(),a},attr:o,text:function(e){return A+=dh(e),a},toString:function(){return e}};return a}var ph=function(e){return function e(t,A){if(t.open(A.tagName),A.hasAttributes())for(var n=A.attributes,r=n.length,i=0;i<r;++i)t.attr(n[i].name,n[i].value);if(A.hasChildNodes())for(var o=A.childNodes,a=o.length,s=0;s<a;s++){var g=o[s];3===g.nodeType?t.text(g.nodeValue):e(t,g)}return t.close()}(Bh(),e)+""};var Eh={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity",blend:"mix-blend-mode"},Qh={fill:"none","stroke-miterlimit":10},yh="http://www.w3.org/2000/xmlns/",vh=PI.xmlns;function mh(e){JC.call(this,e),this._dirtyID=0,this._dirty=[],this._svg=null,this._root=null,this._defs=null}var bh=JC.prototype;function wh(e,t){for(;e&&e.dirty!==t;e=e.mark.group){if(e.dirty=t,!e.mark||e.mark.dirty===t)return;e.mark.dirty=t}}function Sh(e,t,A){var n,r,i;if("radial"===t.gradient){var o=OC(e,A++,"pattern",vh);Uh(o,{id:"p_"+t.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),Uh(o=OC(o,0,"rect",vh),{width:1,height:1,fill:"url(".concat(Mh(),"#").concat(t.id,")")}),Uh(e=OC(e,A++,"radialGradient",vh),{id:t.id,fx:t.x1,fy:t.y1,fr:t.r1,cx:t.x2,cy:t.y2,r:t.r2})}else Uh(e=OC(e,A++,"linearGradient",vh),{id:t.id,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2});for(n=0,r=t.stops.length;n<r;++n)(i=OC(e,n,"stop",vh)).setAttribute("offset",t.stops[n].offset),i.setAttribute("stop-color",t.stops[n].color);return LC(e,n),A}function Fh(e,t,A){return(e=OC(e,A,"clipPath",vh)).setAttribute("id",t.id),t.path?OC(e,0,"path",vh).setAttribute("d",t.path):Uh(OC(e,0,"rect",vh),{x:0,y:0,width:t.width,height:t.height}),LC(e,1),A+1}function Rh(e,t,A,n,r){var i,o=e._svg;if(!o&&(o=_C(i=t.ownerDocument,n,vh),e._svg=o,e.mark&&(o.__data__=e,o.__values__={fill:"default"},"g"===n))){var a=_C(i,"path",vh);o.appendChild(a),a.__data__=e;var s=_C(i,"g",vh);o.appendChild(s),s.__data__=e;var g=_C(i,"path",vh);o.appendChild(g),g.__data__=e,g.__values__={fill:"default"}}return(o.ownerSVGElement!==r||function(e,t){return e.parentNode&&e.parentNode.childNodes.length>1&&e.previousSibling!=t}(o,A))&&t.insertBefore(o,A?A.nextSibling:t.firstChild),o}Object(ue.z)(mh,JC,{initialize:function(e,t,A,n,r){return this._defs={},this._clearDefs(),e&&(this._svg=OC(e,0,"svg",vh),this._svg.setAttributeNS(yh,"xmlns",vh),this._svg.setAttributeNS(yh,"xmlns:xlink",PI["xmlns:xlink"]),this._svg.setAttribute("version",PI.version),this._svg.setAttribute("class","marks"),LC(e,1),this._root=OC(this._svg,0,"g",vh),Uh(this._root,Qh),LC(this._svg,1)),this.background(this._bgcolor),bh.initialize.call(this,e,t,A,n,r)},background:function(e){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",e),bh.background.apply(this,arguments)},resize:function(e,t,A,n){return bh.resize.call(this,e,t,A,n),this._svg&&(Uh(this._svg,{width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 ".concat(this._width," ").concat(this._height)}),this._root.setAttribute("transform","translate(".concat(this._origin,")"))),this._dirty=[],this},canvas:function(){return this._svg},svg:function(){var e,t=this._svg,A=this._bgcolor;if(!t)return null;A&&(t.removeAttribute("style"),Uh(e=OC(t,0,"rect",vh),{width:this._width,height:this._height,fill:A}));var n=ph(t);return A&&(t.removeChild(e),this._svg.style.setProperty("background-color",A)),n},_render:function(e){return this._dirtyCheck()&&(this._dirtyAll&&this._clearDefs(),this.mark(this._root,e),LC(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this},dirty:function(e){e.dirty!==this._dirtyID&&(e.dirty=this._dirtyID,this._dirty.push(e))},isDirty:function(e){return this._dirtyAll||!e._svg||e.dirty===this._dirtyID},_dirtyCheck:function(){this._dirtyAll=!0;var e=this._dirty;if(!e.length||!this._dirtyID)return!0;var t,A,n,r,i,o,a,s=++this._dirtyID;for(i=0,o=e.length;i<o;++i)(A=(t=e[i]).mark).marktype!==n&&(n=A.marktype,r=SC[n]),A.zdirty&&A.dirty!==s&&(this._dirtyAll=!1,wh(t,s),A.items.forEach((function(e){e.dirty=s}))),A.zdirty||(t.exit?(r.nested&&A.items.length?(a=A.items[0])._svg&&this._update(r,a._svg,a):t._svg&&(a=t._svg.parentNode)&&a.removeChild(t._svg),t._svg=null):(t=r.nested?A.items[0]:t)._update!==s&&(t._svg&&t._svg.ownerSVGElement?this._update(r,t._svg,t):(this._dirtyAll=!1,wh(t,s)),t._update=s));return!this._dirtyAll},mark:function(e,t,A){var n=this;if(!this.isDirty(t))return t._svg;var r=this._svg,i=SC[t.marktype],o=!1===t.interactive?"none":null,a="g"===i.tag,s=null,g=0,c=Rh(t,e,A,"g",r);c.setAttribute("class",TC(t));var u=Ch(t);for(var l in u)_h(c,l,u[l]);a||_h(c,"pointer-events",o),_h(c,"clip-path",t.clip?kl(this,t,t.group):null);var I=function(e){var t=n.isDirty(e),A=Rh(e,c,s,i.tag,r);t&&(n._update(i,A,e),a&&function(e,t,A){t=t.lastChild.previousSibling;var n,r=0;mI(A,(function(A){n=e.mark(t,A,n),++r})),LC(t,1+r)}(n,A,e)),s=A,++g};return i.nested?t.items.length&&I(t.items[0]):mI(t,I),LC(c,g),c},_update:function(e,t,A){Dh=t,Gh=t.__values__,Ih(xh,A),e.attr(xh,A,this);var n=kh[e.type];n&&n.call(this,e,t,A),Dh&&this.style(Dh,A)},style:function(e,t){if(null!=t)for(var A in Eh){var n="font"===A?EC(t):t[A];if(n!==Gh[A]){var r=Eh[A];null==n?e.removeAttribute(r):(Ou(n)&&(n=Lu(n,this._defs.gradient,Mh())),e.setAttribute(r,n+"")),Gh[A]=n}}},defs:function(){var e=this._svg,t=this._defs,A=t.el,n=0;for(var r in t.gradient)A||(t.el=A=OC(e,1,"defs",vh)),n=Sh(A,t.gradient[r],n);for(var i in t.clipping)A||(t.el=A=OC(e,1,"defs",vh)),n=Fh(A,t.clipping[i],n);A&&(0===n?(e.removeChild(A),t.el=null):LC(A,n))},_clearDefs:function(){var e=this._defs;e.gradient={},e.clipping={}}});var Dh=null,Gh=null,kh={group:function(e,t,A){var n=Dh=t.childNodes[2];Gh=n.__values__,e.foreground(xh,A,this),Gh=t.__values__,Dh=t.childNodes[1],e.content(xh,A,this);var r=Dh=t.childNodes[0];e.background(xh,A,this);var i=!1===A.mark.interactive?"none":null;if(i!==Gh.events&&(_h(n,"pointer-events",i),_h(r,"pointer-events",i),Gh.events=i),A.strokeForeground&&A.stroke){var o=A.fill;_h(n,"display",null),this.style(r,A),_h(r,"stroke",null),o&&(A.fill=null),Gh=n.__values__,this.style(n,A),o&&(A.fill=o),Dh=null}else _h(n,"display","none")},image:function(e,t,A){!1===A.smooth?(Nh(t,"image-rendering","optimizeSpeed"),Nh(t,"image-rendering","pixelated")):Nh(t,"image-rendering",null)},text:function(e,t,A){var n,r,i,o,a=dC(A);Object(ue.B)(a)?(n=(r=a.map((function(e){return pC(A,e)}))).join("\n"))!==Gh.text&&(LC(t,0),i=t.ownerDocument,o=fC(A),r.forEach((function(e,n){var r=_C(i,"tspan",vh);r.__data__=A,r.textContent=e,n&&(r.setAttribute("x",0),r.setAttribute("dy",o)),t.appendChild(r)})),Gh.text=n):(r=pC(A,a))!==Gh.text&&(t.textContent=r,Gh.text=r),_h(t,"font-family",EC(A)),_h(t,"font-size",hC(A)+"px"),_h(t,"font-style",A.fontStyle),_h(t,"font-variant",A.fontVariant),_h(t,"font-weight",A.fontWeight)}};function xh(e,t,A){t!==Gh[e]&&(A?function(e,t,A,n){null!=A?e.setAttributeNS(n,t,A):e.removeAttributeNS(n,t)}(Dh,e,t,A):_h(Dh,e,t),Gh[e]=t)}function Nh(e,t,A){A!==Gh[t]&&(null==A?e.style.removeProperty(t):e.style.setProperty(t,A+""),Gh[t]=A)}function Uh(e,t){for(var A in t)_h(e,A,t[A])}function _h(e,t,A){null!=A?e.setAttribute(t,A):e.removeAttribute(t)}function Mh(){var e;return"undefined"===typeof window?"":(e=window.location).hash?e.href.slice(0,-e.hash.length):e.href}function Oh(e){JC.call(this,e),this._text=null,this._defs={gradient:{},clipping:{}}}Object(ue.z)(Oh,JC,{svg:function(){return this._text},_render:function(e){var t=Bh();t.open("svg",Object(ue.p)({},PI,{class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 ".concat(this._width," ").concat(this._height)}));var A=this._bgcolor;return A&&"transparent"!==A&&"none"!==A&&t.open("rect",{width:this._width,height:this._height,fill:A}).close(),t.open("g",Qh,{transform:"translate("+this._origin+")"}),this.mark(t,e),t.close(),this.defs(t),this._text=t.close()+"",this},mark:function(e,t){var A=this,n=SC[t.marktype],r=n.tag,i=[Ih,n.attr];e.open("g",{class:TC(t),"clip-path":t.clip?kl(this,t,t.group):null},Ch(t),{"pointer-events":"g"!==r&&!1===t.interactive?"none":null});var o=function(o){var a=A.href(o);if(a&&e.open("a",a),e.open(r,A.attr(t,o,i,"g"!==r?r:null)),"text"===r){var s=dC(o);if(Object(ue.B)(s))for(var g={x:0,dy:fC(o)},c=0;c<s.length;++c)e.open("tspan",c?g:null).text(pC(o,s[c])).close();else e.text(pC(o,s))}else if("g"===r){var u=o.strokeForeground,l=o.fill,I=o.stroke;u&&I&&(o.stroke=null),e.open("path",A.attr(t,o,n.background,"bgrect")).close(),e.open("g",A.attr(t,o,n.content)),mI(o,(function(t){return A.mark(e,t)})),e.close(),u&&I?(l&&(o.fill=null),o.stroke=I,e.open("path",A.attr(t,o,n.foreground,"bgrect")).close(),l&&(o.fill=l)):e.open("path",A.attr(t,o,n.foreground,"bgfore")).close()}e.close(),a&&e.close()};return n.nested?t.items&&t.items.length&&o(t.items[0]):mI(t,o),e.close()},href:function(e){var t,A=this,n=e.href;if(n){if(t=this._hrefs&&this._hrefs[n])return t;this.sanitizeURL(n).then((function(e){e["xlink:href"]=e.href,e.href=null,(A._hrefs||(A._hrefs={}))[n]=e}))}return null},attr:function(e,t,A,n){var r=this,i={},o=function(e,t,A,n){i[n||e]=t};return Array.isArray(A)?A.forEach((function(e){return e(o,t,r)})):A(o,t,this),n&&function(e,t,A,n,r){if(null==t)return e;"bgrect"===n&&!1===A.interactive&&(e["pointer-events"]="none");if("bgfore"===n&&(!1===A.interactive&&(e["pointer-events"]="none"),e.display="none",null!==t.fill))return e;"image"===n&&!1===t.smooth&&(e.style="image-rendering: optimizeSpeed; image-rendering: pixelated;");"text"===n&&(e["font-family"]=EC(t),e["font-size"]=hC(t)+"px",e["font-style"]=t.fontStyle,e["font-variant"]=t.fontVariant,e["font-weight"]=t.fontWeight);for(var i in Eh){var o=t[i],a=Eh[i];("transparent"!==o||"fill"!==a&&"stroke"!==a)&&null!=o&&(Ou(o)&&(o=Lu(o,r.gradient,"")),e[a]=o)}}(i,t,e,n,this._defs),i},defs:function(e){var t=this._defs.gradient,A=this._defs.clipping;if(0!==Object.keys(t).length+Object.keys(A).length){for(var n in e.open("defs"),t){var r=t[n],i=r.stops;"radial"===r.gradient?(e.open("pattern",{id:"p_"+n,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),e.open("rect",{width:"1",height:"1",fill:"url(#"+n+")"}).close(),e.close(),e.open("radialGradient",{id:n,fx:r.x1,fy:r.y1,fr:r.r1,cx:r.x2,cy:r.y2,r:r.r2})):e.open("linearGradient",{id:n,x1:r.x1,x2:r.x2,y1:r.y1,y2:r.y2});for(var o=0;o<i.length;++o)e.open("stop",{offset:i[o].offset,"stop-color":i[o].color}).close();e.close()}for(var a in A){var s=A[a];e.open("clipPath",{id:a}),s.path?e.open("path",{d:s.path}).close():e.open("rect",{x:0,y:0,width:s.width,height:s.height}).close(),e.close()}e.close()}}});var Lh={Canvas:"canvas",PNG:"png",SVG:"svg",None:"none"},Th={};function Zh(e,t){return e=String(e||"").toLowerCase(),arguments.length>1?(Th[e]=t,this):Th[e]}function Hh(e,t,A){var n=[],r=(new xl).union(t),i=e.marktype;return i?Yh(e,r,A,n):"group"===i?Jh(e,r,A,n):Object(ue.o)("Intersect scene must be mark node or group item.")}function Yh(e,t,A,n){if(function(e,t,A){return e.bounds&&t.intersects(e.bounds)&&("group"===e.marktype||!1!==e.interactive&&(!A||A(e)))}(e,t,A)){var r=e.items,i=e.marktype,o=r.length,a=0;if("group"===i)for(;a<o;++a)Jh(r[a],t,A,n);else for(var s=SC[i].isect;a<o;++a){var g=r[a];jh(g,t,s)&&n.push(g)}}return n}function Jh(e,t,A,n){A&&A(e.mark)&&jh(e,t,SC.group.isect)&&n.push(e);var r=e.items,i=r&&r.length;if(i){var o=e.x||0,a=e.y||0;t.translate(-o,-a);for(var s=0;s<i;++s)Yh(r[s],t,A,n);t.translate(o,a)}return n}function jh(e,t,A){var n=e.bounds;return t.encloses(n)||t.intersects(n)&&A(e,t)}Th.canvas=Th.png={renderer:ih,headless:ih,handler:eh},Th.svg={renderer:mh,headless:Oh,handler:ah},Th.none={};var Ph=new xl;function Vh(e){var t=e.clip;if(Object(ue.E)(t))t(nI(Ph.clear()));else{if(!t)return;Ph.set(0,0,e.group.width,e.group.height)}e.bounds.intersect(Ph)}function Kh(e,t,A){return e===t||("path"===A?Wh(e,t):e instanceof Date&&t instanceof Date?+e===+t:Object(ue.G)(e)&&Object(ue.G)(t)?Math.abs(e-t)<=1e-9:e&&t&&(Object(ue.H)(e)||Object(ue.H)(t))?function(e,t){var A,n,r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;for(r.sort(),i.sort(),n=r.length-1;n>=0;n--)if(r[n]!=i[n])return!1;for(n=r.length-1;n>=0;n--)if(A=r[n],!Kh(e[A],t[A],A))return!1;return typeof e===typeof t}(e,t):e==t)}function Wh(e,t){return Kh(Pu(e),Pu(t))}function Xh(){Gl(),Mu=0}var qh="top",zh="left",$h="right",ef="end",tf="row";function Af(e){at.call(this,null,e)}function nf(e,t,A){return t(e.bounds.clear(),e,A)}Object(ue.z)(Af,at,{transform:function(e,t){var A,n=t.dataflow,r=e.mark,i=r.marktype,o=SC[i],a=o.bound,s=r.bounds;if(o.nested)r.items.length&&n.dirty(r.items[0]),s=nf(r,a),r.items.forEach((function(e){e.bounds.clear().union(s)}));else if("group"===i||e.modified())switch(t.visit(t.MOD,(function(e){return n.dirty(e)})),s.clear(),r.items.forEach((function(e){return s.union(nf(e,a))})),r.role){case"axis":case"legend":case"title":t.reflow()}else A=t.changed(t.REM),t.visit(t.ADD,(function(e){s.union(nf(e,a))})),t.visit(t.MOD,(function(e){A=A||s.alignsWith(e.bounds),n.dirty(e),s.union(nf(e,a))})),A&&(s.clear(),r.items.forEach((function(e){return s.union(e.bounds)})));return Vh(r),t.modifies("bounds")}});function rf(e){at.call(this,0,e)}function of(e){at.call(this,null,e)}function af(e){at.call(this,null,e)}rf.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},Object(ue.z)(rf,at,{transform:function(e,t){var A,n=(A=t.dataflow)._signals[":vega_identifier:"]||(A._signals[":vega_identifier:"]=A.add(0)),r=e.as,i=n.value;return t.visit(t.ADD,(function(e){return e[r]=e[r]||++i})),n.set(this.value=i),t}}),Object(ue.z)(of,at,{transform:function(e,t){var A=this.value;A||((A=t.dataflow.scenegraph().mark(e.markdef,function(e){var t=e.groups,A=e.parent;return t&&1===t.size?t.get(Object.keys(t.object)[0]):t&&A?t.lookup(A):null}(e),e.index)).group.context=e.context,e.context.group||(e.context.group=A.group),A.source=this.source,A.clip=e.clip,A.interactive=e.interactive,this.value=A);var n="group"===A.marktype?Ul:Nl;return t.visit(t.ADD,(function(e){return n.call(e,A)})),(e.modified("clip")||e.modified("interactive"))&&(A.clip=e.clip,A.interactive=!!e.interactive,A.zdirty=!0,t.reflow()),A.items=t.source,t}});var sf={parity:function(e){return e.filter((function(e,t){return t%2?e.opacity=0:1}))},greedy:function(e,t){var A;return e.filter((function(e,n){return n&&gf(A.bounds,e.bounds,t)?e.opacity=0:(A=e,1)}))}},gf=function(e,t,A){return A>Math.max(t.x1-e.x2,e.x1-t.x2,t.y1-e.y2,e.y1-t.y2)},cf=function(e,t){for(var A,n=1,r=e.length,i=e[0].bounds;n<r;i=A,++n)if(gf(i,A=e[n].bounds,t))return!0},uf=function(e){var t=e.bounds;return t.width()>1&&t.height()>1},lf=function(e){return e.forEach((function(e){return e.opacity=1})),e},If=function(e,t){return e.reflow(t.modified()).modifies("opacity")};function Cf(e){at.call(this,null,e)}Object(ue.z)(af,at,{transform:function(e,t){var A,n,r=sf[e.method]||sf.parity,i=e.separation||0,o=t.materialize(t.SOURCE).source;if(o&&o.length){if(!e.method)return e.modified("method")&&(lf(o),t=If(t,e)),t;if((o=o.filter(uf)).length){if(e.sort&&(o=o.slice().sort(e.sort)),A=lf(o),t=If(t,e),A.length>=3&&cf(A,i)){do{A=r(A,i)}while(A.length>=3&&cf(A,i));A.length<3&&!Object(ue.W)(o).opacity&&(A.length>1&&(Object(ue.W)(A).opacity=0),Object(ue.W)(o).opacity=1)}e.boundScale&&e.boundTolerance>=0&&(n=function(e,t,A){var n=e.range(),r=new xl;return t===qh||"bottom"===t?r.set(n[0],-1/0,n[1],1/0):r.set(-1/0,n[0],1/0,n[1]),r.expand(A||1),function(e){return r.encloses(e.bounds)}}(e.boundScale,e.boundOrient,+e.boundTolerance),o.forEach((function(e){n(e)||(e.opacity=0)})));var a=A[0].mark.bounds.clear();return o.forEach((function(e){e.opacity&&a.union(e.bounds)})),t}}}}),Object(ue.z)(Cf,at,{transform:function(e,t){var A=t.dataflow;if(t.visit(t.ALL,(function(e){return A.dirty(e)})),t.fields&&t.fields.zindex){var n=t.source&&t.source[0];n&&(n.mark.zdirty=!0)}}});var hf=new xl;function ff(e,t,A){return e[t]===A?0:(e[t]=A,1)}function df(e){var t=e.items[0].orient;return t===zh||t===$h}function Bf(e,t,A,n){var r,i,o=t.items[0],a=o.datum,s=null!=o.translate?o.translate:.5,g=o.orient,c=function(e){var t=+e.grid;return[e.ticks?t++:-1,e.labels?t++:-1,t+ +e.domain]}(a),u=o.range,l=o.offset,I=o.position,C=o.minExtent,h=o.maxExtent,f=a.title&&o.items[c[2]].items[0],d=o.titlePadding,B=o.bounds,p=f&&BC(f),E=0,Q=0;switch(hf.clear().union(B),B.clear(),(r=c[0])>-1&&B.union(o.items[r].bounds),(r=c[1])>-1&&B.union(o.items[r].bounds),g){case qh:E=I||0,Q=-l,i=Math.max(C,Math.min(h,-B.y1)),B.add(0,-i).add(u,0),f&&pf(e,f,i,d,p,0,-1,B);break;case zh:E=-l,Q=I||0,i=Math.max(C,Math.min(h,-B.x1)),B.add(-i,0).add(0,u),f&&pf(e,f,i,d,p,1,-1,B);break;case $h:E=A+l,Q=I||0,i=Math.max(C,Math.min(h,B.x2)),B.add(0,0).add(i,u),f&&pf(e,f,i,d,p,1,1,B);break;case"bottom":E=I||0,Q=n+l,i=Math.max(C,Math.min(h,B.y2)),B.add(0,0).add(u,i),f&&pf(e,f,i,d,0,0,1,B);break;default:E=o.x,Q=o.y}return Ll(B.translate(E,Q),o),ff(o,"x",E+s)|ff(o,"y",Q+s)&&(o.bounds=hf,e.dirty(o),o.bounds=B,e.dirty(o)),o.mark.bounds.clear().union(B)}function pf(e,t,A,n,r,i,o,a){var s=t.bounds;if(t.auto){var g=o*(A+r+n),c=0,u=0;e.dirty(t),i?c=(t.x||0)-(t.x=g):u=(t.y||0)-(t.y=g),t.mark.bounds.clear().union(s.translate(-c,-u)),e.dirty(t)}a.union(s)}var Ef=function(e,t){return Math.floor(Math.min(e,t))},Qf=function(e,t){return Math.ceil(Math.max(e,t))};function yf(e){return(new xl).set(0,0,e.width||0,e.height||0)}function vf(e){var t=e.bounds.clone();return t.empty()?t.set(0,0,0,0):t.translate(-(e.x||0),-(e.y||0))}function mf(e,t,A){var n=Object(ue.H)(e)?e[t]:e;return null!=n?n:void 0!==A?A:0}function bf(e){return e<0?Math.ceil(-e):0}function wf(e,t,A){var n,r,i,o,a,s,g,c,u,l,I,C=!A.nodirty,h="flush"===A.bounds?yf:vf,f=hf.set(0,0,0,0),d=mf(A.align,"column"),B=mf(A.align,tf),p=mf(A.padding,"column"),E=mf(A.padding,tf),Q=A.columns||t.length,y=Q<=0?1:Math.ceil(t.length/Q),v=t.length,m=Array(v),b=Array(Q),w=0,S=Array(v),F=Array(y),R=0,D=Array(v),G=Array(v),k=Array(v);for(r=0;r<Q;++r)b[r]=0;for(r=0;r<y;++r)F[r]=0;for(r=0;r<v;++r)s=t[r],a=k[r]=h(s),s.x=s.x||0,D[r]=0,s.y=s.y||0,G[r]=0,i=r%Q,o=~~(r/Q),w=Math.max(w,g=Math.ceil(a.x2)),R=Math.max(R,c=Math.ceil(a.y2)),b[i]=Math.max(b[i],g),F[o]=Math.max(F[o],c),m[r]=p+bf(a.x1),S[r]=E+bf(a.y1),C&&e.dirty(t[r]);for(r=0;r<v;++r)r%Q===0&&(m[r]=0),r<Q&&(S[r]=0);if("each"===d)for(i=1;i<Q;++i){for(I=0,r=i;r<v;r+=Q)I<m[r]&&(I=m[r]);for(r=i;r<v;r+=Q)m[r]=I+b[i-1]}else if("all"===d){for(I=0,r=0;r<v;++r)r%Q&&I<m[r]&&(I=m[r]);for(r=0;r<v;++r)r%Q&&(m[r]=I+w)}else for(d=!1,i=1;i<Q;++i)for(r=i;r<v;r+=Q)m[r]+=b[i-1];if("each"===B)for(o=1;o<y;++o){for(I=0,n=(r=o*Q)+Q;r<n;++r)I<S[r]&&(I=S[r]);for(r=o*Q;r<n;++r)S[r]=I+F[o-1]}else if("all"===B){for(I=0,r=Q;r<v;++r)I<S[r]&&(I=S[r]);for(r=Q;r<v;++r)S[r]=I+R}else for(B=!1,o=1;o<y;++o)for(n=(r=o*Q)+Q;r<n;++r)S[r]+=F[o-1];for(u=0,r=0;r<v;++r)u=m[r]+(r%Q?u:0),D[r]+=u-t[r].x;for(i=0;i<Q;++i)for(l=0,r=i;r<v;r+=Q)l+=S[r],G[r]+=l-t[r].y;if(d&&mf(A.center,"column")&&y>1)for(r=0;r<v;++r)(u=(a="all"===d?w:b[r%Q])-k[r].x2-t[r].x-D[r])>0&&(D[r]+=u/2);if(B&&mf(A.center,tf)&&1!==Q)for(r=0;r<v;++r)(l=(a="all"===B?R:F[~~(r/Q)])-k[r].y2-t[r].y-G[r])>0&&(G[r]+=l/2);for(r=0;r<v;++r)f.union(k[r].translate(D[r],G[r]));switch(u=mf(A.anchor,"x"),l=mf(A.anchor,"y"),mf(A.anchor,"column")){case ef:u-=f.width();break;case"middle":u-=f.width()/2}switch(mf(A.anchor,tf)){case ef:l-=f.height();break;case"middle":l-=f.height()/2}for(u=Math.round(u),l=Math.round(l),f.clear(),r=0;r<v;++r)t[r].mark.bounds.clear();for(r=0;r<v;++r)(s=t[r]).x+=D[r]+=u,s.y+=G[r]+=l,f.union(s.mark.bounds.union(s.bounds.translate(D[r],G[r]))),C&&e.dirty(s);return f}function Sf(e,t,A){var n,r,i,o,a,s,g,c=function(e){for(var t,A,n,r,i,o,a,s=e.items,g=s.length,c=0,u={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};c<g;++c)if(a=(o=s[c]).items,"group"===o.marktype)switch(o.role){case"axis":case"legend":case"title":break;case"row-header":(t=u.rowheaders).push.apply(t,Object(zn.a)(a));break;case"row-footer":(A=u.rowfooters).push.apply(A,Object(zn.a)(a));break;case"column-header":(n=u.colheaders).push.apply(n,Object(zn.a)(a));break;case"column-footer":(r=u.colfooters).push.apply(r,Object(zn.a)(a));break;case"row-title":u.rowtitle=a[0];break;case"column-title":u.coltitle=a[0];break;default:(i=u.marks).push.apply(i,Object(zn.a)(a))}return u}(t),u=c.marks,l="flush"===A.bounds?Ff:Rf,I=A.offset,C=A.columns||u.length,h=C<=0?1:Math.ceil(u.length/C),f=h*C,d=wf(e,u,A);d.empty()&&d.set(0,0,0,0),c.rowheaders&&(s=mf(A.headerBand,tf,null),n=Df(e,c.rowheaders,u,C,h,-mf(I,"rowHeader"),Ef,0,l,"x1",0,C,1,s)),c.colheaders&&(s=mf(A.headerBand,"column",null),r=Df(e,c.colheaders,u,C,C,-mf(I,"columnHeader"),Ef,1,l,"y1",0,1,C,s)),c.rowfooters&&(s=mf(A.footerBand,tf,null),i=Df(e,c.rowfooters,u,C,h,mf(I,"rowFooter"),Qf,0,l,"x2",C-1,C,1,s)),c.colfooters&&(s=mf(A.footerBand,"column",null),o=Df(e,c.colfooters,u,C,C,mf(I,"columnFooter"),Qf,1,l,"y2",f-C,1,C,s)),c.rowtitle&&(a=mf(A.titleAnchor,tf),g=mf(I,"rowTitle"),g=a===ef?i+g:n-g,s=mf(A.titleBand,tf,.5),Gf(e,c.rowtitle,g,0,d,s)),c.coltitle&&(a=mf(A.titleAnchor,"column"),g=mf(I,"columnTitle"),g=a===ef?o+g:r-g,s=mf(A.titleBand,"column",.5),Gf(e,c.coltitle,g,1,d,s))}function Ff(e,t){return"x1"===t?e.x||0:"y1"===t?e.y||0:"x2"===t?(e.x||0)+(e.width||0):"y2"===t?(e.y||0)+(e.height||0):void 0}function Rf(e,t){return e.bounds[t]}function Df(e,t,A,n,r,i,o,a,s,g,c,u,l,I){var C,h,f,d,B,p,E,Q,y,v=A.length,m=0,b=0;if(!v)return m;for(C=c;C<v;C+=u)A[C]&&(m=o(m,s(A[C],g)));if(!t.length)return m;for(t.length>r&&(e.warn("Grid headers exceed limit: "+r),t=t.slice(0,r)),m+=i,h=0,d=t.length;h<d;++h)e.dirty(t[h]),t[h].mark.bounds.clear();for(C=c,h=0,d=t.length;h<d;++h,C+=u){for(B=(p=t[h]).mark.bounds,f=C;f>=0&&null==(E=A[f]);f-=l);a?(Q=null==I?E.x:Math.round(E.bounds.x1+I*E.bounds.width()),y=m):(Q=m,y=null==I?E.y:Math.round(E.bounds.y1+I*E.bounds.height())),B.union(p.bounds.translate(Q-(p.x||0),y-(p.y||0))),p.x=Q,p.y=y,e.dirty(p),b=o(b,B[g])}return b}function Gf(e,t,A,n,r,i){if(t){e.dirty(t);var o=A,a=A;n?o=Math.round(r.x1+i*r.width()):a=Math.round(r.y1+i*r.height()),t.bounds.translate(o-(t.x||0),a-(t.y||0)),t.mark.bounds.clear().union(t.bounds),t.x=o,t.y=a,e.dirty(t)}}function kf(e,t,A,n,r,i,o){var a=function(e,t){var A=e[t]||{};return function(t,n){return null!=A[t]?A[t]:null!=e[t]?e[t]:n}}(A,t),s=function(e,t){var A=-1/0;return e.forEach((function(e){null!=e.offset&&(A=Math.max(A,e.offset))})),A>-1/0?A:t}(e,a("offset",0)),g=a("anchor","start"),c=g===ef?1:"middle"===g?.5:0,u={align:"each",bounds:a("bounds","flush"),columns:"vertical"===a("direction")?1:e.length,padding:a("margin",8),center:a("center"),nodirty:!0};switch(t){case zh:u.anchor={x:Math.floor(n.x1)-s,column:ef,y:c*(o||n.height()+2*n.y1),row:g};break;case $h:u.anchor={x:Math.ceil(n.x2)+s,y:c*(o||n.height()+2*n.y1),row:g};break;case qh:u.anchor={y:Math.floor(r.y1)-s,row:ef,x:c*(i||r.width()+2*r.x1),column:g};break;case"bottom":u.anchor={y:Math.ceil(r.y2)+s,x:c*(i||r.width()+2*r.x1),column:g};break;case"top-left":u.anchor={x:s,y:s};break;case"top-right":u.anchor={x:i-s,y:s,column:ef};break;case"bottom-left":u.anchor={x:s,y:o-s,row:ef};break;case"bottom-right":u.anchor={x:i-s,y:o-s,column:ef,row:ef}}return u}function xf(e,t){var A,n,r=t.items[0],i=r.datum,o=r.orient,a=r.bounds,s=r.x,g=r.y;return r._bounds?r._bounds.clear().union(a):r._bounds=a.clone(),a.clear(),function(e,t,A){var n=t.padding,r=n-A.x,i=n-A.y;if(t.datum.title){var o=t.items[1].items[0],a=o.anchor,s=t.titlePadding||0,g=n-o.x,c=n-o.y;switch(o.orient){case zh:r+=Math.ceil(o.bounds.width())+s;break;case $h:case"bottom":break;default:i+=o.bounds.height()+s}switch((r||i)&&Uf(e,A,r,i),o.orient){case zh:c+=Nf(t,A,o,a,1,1);break;case $h:g+=Nf(t,A,o,ef,0,0)+s,c+=Nf(t,A,o,a,1,1);break;case"bottom":g+=Nf(t,A,o,a,0,0),c+=Nf(t,A,o,ef,-1,0,1)+s;break;default:g+=Nf(t,A,o,a,0,0)}(g||c)&&Uf(e,o,g,c),(g=Math.round(o.bounds.x1-n))<0&&(Uf(e,A,-g,0),Uf(e,o,-g,0))}else(r||i)&&Uf(e,A,r,i)}(e,r,r.items[0].items[0]),a=function(e,t){return e.items.forEach((function(e){return t.union(e.bounds)})),t.x1=e.padding,t.y1=e.padding,t}(r,a),A=2*r.padding,n=2*r.padding,a.empty()||(A=Math.ceil(a.width()+A),n=Math.ceil(a.height()+n)),"symbol"===i.type&&function(e){var t=e.reduce((function(e,t){return e[t.column]=Math.max(t.bounds.x2-t.x,e[t.column]||0),e}),{});e.forEach((function(e){e.width=t[e.column],e.height=e.bounds.y2-e.y}))}(r.items[0].items[0].items[0].items),"none"!==o&&(r.x=s=0,r.y=g=0),r.width=A,r.height=n,Ll(a.set(s,g,s+A,g+n),r),r.mark.bounds.clear().union(a),r}function Nf(e,t,A,n,r,i,o){var a="symbol"!==e.datum.type,s=A.datum.vgrad,g=(!a||!i&&s||o?t:t.items[0]).bounds[r?"y2":"x2"]-e.padding,c=s&&i?g:0,u=s&&i?0:g,l=r<=0?0:BC(A);return Math.round("start"===n?c:n===ef?u-l:.5*(g-l))}function Uf(e,t,A,n){t.x+=A,t.y+=n,t.bounds.translate(A,n),t.mark.bounds.translate(A,n),e.dirty(t)}function _f(e){at.call(this,null,e)}Object(ue.z)(_f,at,{transform:function(e,t){var A,n=t.dataflow;return e.mark.items.forEach((function(t){e.layout&&Sf(n,t,e.layout),function(e,t,A){var n,r,i,o,a,s=t.items,g=Math.max(0,t.width||0),c=Math.max(0,t.height||0),u=(new xl).set(0,0,g,c),l=u.clone(),I=u.clone(),C=[];for(o=0,a=s.length;o<a;++o)switch((r=s[o]).role){case"axis":(df(r)?l:I).union(Bf(e,r,g,c));break;case"title":n=r;break;case"legend":C.push(xf(e,r));break;case"frame":case"scope":case"row-header":case"row-footer":case"row-title":case"column-header":case"column-footer":case"column-title":l.union(r.bounds),I.union(r.bounds);break;default:u.union(r.bounds)}if(C.length){var h={};for(var f in C.forEach((function(e){"none"!==(i=e.orient||$h)&&(h[i]||(h[i]=[])).push(e)})),h){var d=h[f];wf(e,d,kf(d,f,A.legends,l,I,g,c))}C.forEach((function(t){var n=t.bounds;if(n.equals(t._bounds)||(t.bounds=t._bounds,e.dirty(t),t.bounds=n,e.dirty(t)),A.autosize&&"fit"===A.autosize.type)switch(t.orient){case zh:case $h:u.add(n.x1,0).add(n.x2,0);break;case qh:case"bottom":u.add(0,n.y1).add(0,n.y2)}else u.union(n)}))}u.union(l).union(I),n&&u.union(function(e,t,A,n,r){var i,o=t.items[0],a=o.frame,s=o.orient,g=o.anchor,c=o.offset,u=o.padding,l=o.items[0].items[0],I=o.items[1]&&o.items[1].items[0],C=s===zh||s===$h?n:A,h=0,f=0,d=0,B=0,p=0;if("group"!==a?s===zh?(h=r.y2,C=r.y1):s===$h?(h=r.y1,C=r.y2):(h=r.x1,C=r.x2):s===zh&&(h=n,C=0),i="start"===g?h:g===ef?C:(h+C)/2,I&&I.text){switch(s){case qh:case"bottom":p=l.bounds.height()+u;break;case zh:B=l.bounds.width()+u;break;case $h:B=-l.bounds.width()-u}hf.clear().union(I.bounds),hf.translate(B-(I.x||0),p-(I.y||0)),ff(I,"x",B)|ff(I,"y",p)&&(e.dirty(I),I.bounds.clear().union(hf),I.mark.bounds.clear().union(hf),e.dirty(I)),hf.clear().union(I.bounds)}else hf.clear();switch(hf.union(l.bounds),s){case qh:f=i,d=r.y1-hf.height()-c;break;case zh:f=r.x1-hf.width()-c,d=i;break;case $h:f=r.x2+hf.width()+c,d=i;break;case"bottom":f=i,d=r.y2+c;break;default:f=o.x,d=o.y}return ff(o,"x",f)|ff(o,"y",d)&&(hf.translate(f,d),e.dirty(o),o.bounds.clear().union(hf),t.bounds.clear().union(hf),e.dirty(o)),o.bounds}(e,n,g,c,u));t.clip&&u.set(0,0,t.width||0,t.height||0);!function(e,t,A,n){var r=n.autosize||{},i=r.type;if(e._autosize<1||!i)return;var o=e._width,a=e._height,s=Math.max(0,t.width||0),g=Math.max(0,Math.ceil(-A.x1)),c=Math.max(0,t.height||0),u=Math.max(0,Math.ceil(-A.y1)),l=Math.max(0,Math.ceil(A.x2-s)),I=Math.max(0,Math.ceil(A.y2-c));if("padding"===r.contains){var C=e.padding();o-=C.left+C.right,a-=C.top+C.bottom}"none"===i?(g=0,u=0,s=o,c=a):"fit"===i?(s=Math.max(0,o-g-l),c=Math.max(0,a-u-I)):"fit-x"===i?(s=Math.max(0,o-g-l),a=c+u+I):"fit-y"===i?(o=s+g+l,c=Math.max(0,a-u-I)):"pad"===i&&(o=s+g+l,a=c+u+I);e._resizeView(o,a,s,c,[g,u],r.resize)}(e,t,u,A)}(n,t,e)})),(A=e.mark.group)&&"legend-entry"!==A.mark.role?t.reflow():t}});var Mf=function(e,t,A){e=+e,t=+t,A=(r=arguments.length)<2?(t=e,e=0,1):r<3?1:+A;for(var n=-1,r=0|Math.max(0,Math.ceil((t-e)/A)),i=new Array(r);++n<r;)i[n]=e+n*A;return i},Of=function(e,t){return e=+e,t=+t,function(A){return Math.round(e*(1-A)+t*A)}};function Lf(e,t,A,n,r){var i=e*e,o=i*e;return((1-3*e+3*i-o)*t+(4-6*i+3*o)*A+(1+3*e+3*i-3*o)*n+o*r)/6}var Tf=function(e){return function(){return e}};function Zf(e,t){return function(A){return e+A*t}}function Hf(e){return 1===(e=+e)?Yf:function(t,A){return A-t?function(e,t,A){return e=Math.pow(e,A),t=Math.pow(t,A)-e,A=1/A,function(n){return Math.pow(e+n*t,A)}}(t,A,e):Tf(isNaN(t)?A:t)}}function Yf(e,t){var A=t-e;return A?Zf(e,A):Tf(isNaN(e)?t:e)}var Jf=function e(t){var A=Hf(t);function n(e,t){var n=A((e=lo(e)).r,(t=lo(t)).r),r=A(e.g,t.g),i=A(e.b,t.b),o=Yf(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=r(t),e.b=i(t),e.opacity=o(t),e+""}}return n.gamma=e,n}(1);function jf(e){return function(t){var A,n,r=t.length,i=new Array(r),o=new Array(r),a=new Array(r);for(A=0;A<r;++A)n=lo(t[A]),i[A]=n.r||0,o[A]=n.g||0,a[A]=n.b||0;return i=e(i),o=e(o),a=e(a),n.opacity=1,function(e){return n.r=i(e),n.g=o(e),n.b=a(e),n+""}}}jf((function(e){var t=e.length-1;return function(A){var n=A<=0?A=0:A>=1?(A=1,t-1):Math.floor(A*t),r=e[n],i=e[n+1],o=n>0?e[n-1]:2*r-i,a=n<t-1?e[n+2]:2*i-r;return Lf((A-n/t)*t,o,r,i,a)}})),jf((function(e){var t=e.length;return function(A){var n=Math.floor(((A%=1)<0?++A:A)*t),r=e[(n+t-1)%t],i=e[n%t],o=e[(n+1)%t],a=e[(n+2)%t];return Lf((A-n/t)*t,r,i,o,a)}}));var Pf=function(e,t){t||(t=[]);var A,n=e?Math.min(t.length,e.length):0,r=t.slice();return function(i){for(A=0;A<n;++A)r[A]=e[A]*(1-i)+t[A]*i;return r}};function Vf(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Kf(e,t){var A,n=t?t.length:0,r=e?Math.min(n,e.length):0,i=new Array(r),o=new Array(n);for(A=0;A<r;++A)i[A]=td(e[A],t[A]);for(;A<n;++A)o[A]=t[A];return function(e){for(A=0;A<r;++A)o[A]=i[A](e);return o}}var Wf=function(e,t){var A=new Date;return e=+e,t=+t,function(n){return A.setTime(e*(1-n)+t*n),A}},Xf=function(e,t){return e=+e,t=+t,function(A){return e*(1-A)+t*A}},qf=function(e,t){var A,n={},r={};for(A in null!==e&&"object"===typeof e||(e={}),null!==t&&"object"===typeof t||(t={}),t)A in e?n[A]=td(e[A],t[A]):r[A]=t[A];return function(e){for(A in n)r[A]=n[A](e);return r}},zf=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,$f=new RegExp(zf.source,"g");var ed=function(e,t){var A,n,r,i=zf.lastIndex=$f.lastIndex=0,o=-1,a=[],s=[];for(e+="",t+="";(A=zf.exec(e))&&(n=$f.exec(t));)(r=n.index)>i&&(r=t.slice(i,r),a[o]?a[o]+=r:a[++o]=r),(A=A[0])===(n=n[0])?a[o]?a[o]+=n:a[++o]=n:(a[++o]=null,s.push({i:o,x:Xf(A,n)})),i=$f.lastIndex;return i<t.length&&(r=t.slice(i),a[o]?a[o]+=r:a[++o]=r),a.length<2?s[0]?function(e){return function(t){return e(t)+""}}(s[0].x):function(e){return function(){return e}}(t):(t=s.length,function(e){for(var A,n=0;n<t;++n)a[(A=s[n]).i]=A.x(e);return a.join("")})},td=function(e,t){var A,n=typeof t;return null==t||"boolean"===n?Tf(t):("number"===n?Xf:"string"===n?(A=so(t))?(t=A,Jf):ed:t instanceof so?Jf:t instanceof Date?Wf:Vf(t)?Pf:Array.isArray(t)?Kf:"function"!==typeof t.valueOf&&"function"!==typeof t.toString||isNaN(t)?qf:Xf)(e,t)};function Ad(e){at.call(this,null,e)}function nd(e){at.call(this,null,e)}function rd(){return be({})}function id(e){at.call(this,null,e)}function od(e){at.call(this,[],e)}Object(ue.z)(Ad,at,{transform:function(e,t){if(this.value&&!e.modified())return t.StopPropagation;var A=t.dataflow.locale(),n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=this.value,i=e.scale,o=Qu(i,null==e.count?e.values?e.values.length:10:e.count,e.minstep),a=e.format||mu(A,i,o,e.formatSpecifier,e.formatType,!!e.values),s=e.values?yu(i,e.values,o):vu(i,o);return r&&(n.rem=r),r=s.map((function(e,t){return be({index:t/(s.length-1||1),value:e,label:a(e)})})),e.extra&&r.length&&r.push(be({index:-1,extra:{value:r[0].value},label:""})),n.source=r,n.add=r,this.value=r,n}}),Object(ue.z)(nd,at,{transform:function(e,t){var A=t.dataflow,n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=e.item||rd,i=e.key||ve,o=this.value;return Object(ue.B)(n.encode)&&(n.encode=null),o&&(e.modified("key")||t.modified(i))&&Object(ue.o)("DataJoin does not support modified key function or fields."),o||(t=t.addAll(),this.value=o=function(e){var t=Object(ue.t)().test((function(e){return e.exit}));return t.lookup=function(A){return t.get(e(A))},t}(i)),t.visit(t.ADD,(function(e){var t=i(e),A=o.get(t);A?A.exit?(o.empty--,n.add.push(A)):n.mod.push(A):(A=r(e),o.set(t,A),n.add.push(A)),A.datum=e,A.exit=!1})),t.visit(t.MOD,(function(e){var t=i(e),A=o.get(t);A&&(A.datum=e,n.mod.push(A))})),t.visit(t.REM,(function(e){var t=i(e),A=o.get(t);e!==A.datum||A.exit||(n.rem.push(A),A.exit=!0,++o.empty)})),t.changed(t.ADD_MOD)&&n.modifies("datum"),(t.clean()||e.clean&&o.empty>A.cleanThreshold)&&A.runAfter(o.clean),n}}),Object(ue.z)(id,at,{transform:function(e,t){var A=t.fork(t.ADD_REM),n=e.mod||!1,r=e.encoders,i=t.encode;if(Object(ue.B)(i)){if(!A.changed()&&!i.every((function(e){return r[e]})))return t.StopPropagation;i=i[0],A.encode=null}var o="enter"===i,a=r.update||ue.s,s=r.enter||ue.s,g=r.exit||ue.s,c=(i&&!o?r[i]:a)||ue.s;if(t.changed(t.ADD)&&(t.visit(t.ADD,(function(t){s(t,e),a(t,e)})),A.modifies(s.output),A.modifies(a.output),c!==ue.s&&c!==a&&(t.visit(t.ADD,(function(t){c(t,e)})),A.modifies(c.output))),t.changed(t.REM)&&g!==ue.s&&(t.visit(t.REM,(function(t){g(t,e)})),A.modifies(g.output)),o||c!==ue.s){var u=t.MOD|(e.modified()?t.REFLOW:0);o?(t.visit(u,(function(t){var r=s(t,e)||n;(c(t,e)||r)&&A.mod.push(t)})),A.mod.length&&A.modifies(s.output)):t.visit(u,(function(t){(c(t,e)||n)&&A.mod.push(t)})),A.mod.length&&A.modifies(c.output)}return A.changed()?A:t.StopPropagation}}),Object(ue.z)(od,at,{transform:function(e,t){if(null!=this.value&&!e.modified())return t.StopPropagation;var A,n,r,i,o,a=t.dataflow.locale(),s=t.fork(t.NO_SOURCE|t.NO_FIELDS),g=this.value,c=e.type||"symbol",u=e.scale,l=+e.limit,I=Qu(u,null==e.count?5:e.count,e.minstep),C=!!e.values||"symbol"===c,h=e.format||Ru(a,u,I,c,e.formatSpecifier,e.formatType,C),f=e.values||Fu(u,I);return g&&(s.rem=g),"symbol"===c?(l&&f.length>l?(t.dataflow.warn("Symbol legend count exceeds limit, filtering items."),g=f.slice(0,l-1),o=!0):g=f,Object(ue.E)(r=e.size)?(e.values||0!==u(g[0])||(g=g.slice(1)),i=g.reduce((function(t,A){return Math.max(t,r(A,e))}),0)):r=Object(ue.m)(i=r||8),g=g.map((function(t,A){return be({index:A,label:h(t,A,g),value:t,offset:i,size:r(t,e)})})),o&&(o=f[g.length],g.push(be({index:g.length,label:"\u2026".concat(f.length-g.length," entries"),value:o,offset:i,size:r(o,e)})))):"gradient"===c?(A=u.domain(),n=lu(u,A[0],Object(ue.W)(A)),f.length<3&&!e.values&&A[0]!==Object(ue.W)(A)&&(f=[A[0],Object(ue.W)(A)]),g=f.map((function(e,t){return be({index:t,label:h(e,t,f),value:e,perc:n(e)})}))):(r=f.length-1,n=function(e){var t=e.domain(),A=t.length-1,n=+t[0],r=+Object(ue.W)(t),i=r-n;if("threshold"===e.type){var o=A?i/A:.1;i=(r+=o)-(n-=o)}return function(e){return(e-n)/i}}(u),g=f.map((function(e,t){return be({index:t,label:h(e,t,f),value:e,perc:t?n(e):0,perc2:t===r?1:n(f[t+1])})}))),s.source=g,s.add=g,this.value=g,s}});var ad=function(e){return e.source.x},sd=function(e){return e.source.y},gd=function(e){return e.target.x},cd=function(e){return e.target.y};function ud(e){at.call(this,{},e)}ud.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},Object(ue.z)(ud,at,{transform:function(e,t){var A=e.sourceX||ad,n=e.sourceY||sd,r=e.targetX||gd,i=e.targetY||cd,o=e.as||"path",a=e.orient||"vertical",s=e.shape||"line",g=hd.get(s+"-"+a)||hd.get(s);return g||Object(ue.o)("LinkPath unsupported type: "+e.shape+(e.orient?"-"+e.orient:"")),t.visit(t.SOURCE,(function(e){e[o]=g(A(e),n(e),r(e),i(e))})),t.reflow(e.modified()).modifies(o)}});var ld=function(e,t,A,n){return"M"+e+","+t+"L"+A+","+n},Id=function(e,t,A,n){var r=A-e,i=n-t,o=Math.sqrt(r*r+i*i)/2;return"M"+e+","+t+"A"+o+","+o+" "+180*Math.atan2(i,r)/Math.PI+" 0 1 "+A+","+n},Cd=function(e,t,A,n){var r=A-e,i=n-t,o=.2*(r+i),a=.2*(i-r);return"M"+e+","+t+"C"+(e+o)+","+(t+a)+" "+(A+a)+","+(n-o)+" "+A+","+n},hd=Object(ue.t)({line:ld,"line-radial":function(e,t,A,n){return ld(t*Math.cos(e),t*Math.sin(e),n*Math.cos(A),n*Math.sin(A))},arc:Id,"arc-radial":function(e,t,A,n){return Id(t*Math.cos(e),t*Math.sin(e),n*Math.cos(A),n*Math.sin(A))},curve:Cd,"curve-radial":function(e,t,A,n){return Cd(t*Math.cos(e),t*Math.sin(e),n*Math.cos(A),n*Math.sin(A))},"orthogonal-horizontal":function(e,t,A,n){return"M"+e+","+t+"V"+n+"H"+A},"orthogonal-vertical":function(e,t,A,n){return"M"+e+","+t+"H"+A+"V"+n},"orthogonal-radial":function(e,t,A,n){var r=Math.cos(e),i=Math.sin(e),o=Math.cos(A),a=Math.sin(A);return"M"+t*r+","+t*i+"A"+t+","+t+" 0 0,"+((Math.abs(A-e)>Math.PI?A<=e:A>e)?1:0)+" "+t*o+","+t*a+"L"+n*o+","+n*a},"diagonal-horizontal":function(e,t,A,n){var r=(e+A)/2;return"M"+e+","+t+"C"+r+","+t+" "+r+","+n+" "+A+","+n},"diagonal-vertical":function(e,t,A,n){var r=(t+n)/2;return"M"+e+","+t+"C"+e+","+r+" "+A+","+r+" "+A+","+n},"diagonal-radial":function(e,t,A,n){var r=Math.cos(e),i=Math.sin(e),o=Math.cos(A),a=Math.sin(A),s=(t+n)/2;return"M"+t*r+","+t*i+"C"+s*r+","+s*i+" "+s*o+","+s*a+" "+n*o+","+n*a}});function fd(e){at.call(this,null,e)}fd.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},Object(ue.z)(fd,at,{transform:function(e,t){var A,n,r,i=e.as||["startAngle","endAngle"],o=i[0],a=i[1],s=e.field||ue.Q,g=e.startAngle||0,c=null!=e.endAngle?e.endAngle:2*Math.PI,u=t.source,l=u.map(s),I=l.length,C=g,h=(c-g)/function(e,t){var A=0;if(void 0===t){var n,r=Object(ut.a)(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;(i=+i)&&(A+=i)}}catch(c){r.e(c)}finally{r.f()}}else{var o,a=-1,s=Object(ut.a)(e);try{for(s.s();!(o=s.n()).done;){var g=o.value;(g=+t(g,++a,e))&&(A+=g)}}catch(c){s.e(c)}finally{s.f()}}return A}(l),f=Mf(I);for(e.sort&&f.sort((function(e,t){return l[e]-l[t]})),A=0;A<I;++A)r=l[f[A]],(n=u[f[A]])[o]=C,n[a]=C+=r*h;return this.value=l,t.reflow(e.modified()).modifies(i)}});function dd(e){return Au(e)&&"sequential"!==e}var Bd=Object(ue.fb)(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function pd(e){at.call(this,null,e),this.modified(!0)}function Ed(e,t,A){iu(e)&&(Math.abs(t.reduce((function(e,t){return e+(t<0?-1:t>0?1:0)}),0))!==t.length&&A.warn("Log scale domain includes zero: "+Object(ue.bb)(t)));return t}function Qd(e,t,A){return Object(ue.E)(e)&&(t||A)?gu(e,yd(t||[0,1],A)):e}function yd(e,t){return t?e.slice().reverse():e}function vd(e){at.call(this,null,e)}Object(ue.z)(pd,at,{transform:function(e,t){var A=t.dataflow,n=this.value,r=function(e){var t,A=e.type,n="";if("sequential"===A)return"sequential-linear";(function(e){var t=e.type;return Au(t)&&t!==Jc&&t!==jc&&(e.scheme||e.range&&e.range.length&&e.range.every(ue.J))})(e)&&(t=e.rawDomain?e.rawDomain.length:e.domain?e.domain.length+ +(null!=e.domainMid):0,n=2===t?"sequential-":3===t?"diverging-":"");return(n+A||"linear").toLowerCase()}(e);for(r in n&&r===n.type||(this.value=n=$c(r)()),e)if(!Bd[r]){if("padding"===r&&dd(n.type))continue;Object(ue.E)(n[r])?n[r](e[r]):A.warn("Unsupported scale property: "+r)}return function(e,t,A){var n=e.type,r=t.round||!1,i=t.range;if(null!=t.rangeStep)i=function(e,t,A){"band"!==e&&"point"!==e&&Object(ue.o)("Only band and point scales support rangeStep.");var n=(null!=t.paddingOuter?t.paddingOuter:t.padding)||0,r="point"===e?1:(null!=t.paddingInner?t.paddingInner:t.padding)||0;return[0,t.rangeStep*Hc(A,r,n)]}(n,t,A);else if(t.scheme&&(i=function(e,t,A){var n,r,i=t.schemeExtent;Object(ue.B)(t.scheme)?r=cu(t.scheme,t.interpolate,t.interpolateGamma):(n=t.scheme.toLowerCase(),(r=du(n))||Object(ue.o)("Unrecognized scheme name: ".concat(t.scheme)));return A="threshold"===e?A+1:"bin-ordinal"===e?A-1:"quantile"===e||"quantize"===e?+t.schemeCount||5:A,ou(e)?Qd(r,i,t.reverse):Object(ue.E)(r)?uu(Qd(r,i),A):"ordinal"===e?r:r.slice(0,A)}(n,t,A),Object(ue.E)(i))){if(e.interpolator)return e.interpolator(i);Object(ue.o)("Scale type ".concat(n," does not support interpolating color schemes."))}if(i&&ou(n))return e.interpolator(cu(yd(i,t.reverse),t.interpolate,t.interpolateGamma));i&&t.interpolate&&e.interpolate?e.interpolate(Iu(t.interpolate,t.interpolateGamma)):Object(ue.E)(e.round)?e.round(r):Object(ue.E)(e.rangeRound)&&e.interpolate(r?Of:td);i&&e.range(yd(i,t.reverse))}(n,e,function(e,t,A){var n=t.bins;if(n&&!Object(ue.B)(n)){var r=e.domain(),i=r[0],o=Object(ue.W)(r),a=n.step,s=null==n.start?i:n.start,g=null==n.stop?o:n.stop;a||Object(ue.o)("Scale bins parameter missing step property."),s<i&&(s=a*Math.ceil(i/a)),g>o&&(g=a*Math.floor(o/a)),n=Mf(s,g+a/2,a)}n?e.bins=n:e.bins&&delete e.bins;"bin-ordinal"===e.type&&(n?t.domain||t.domainRaw||(e.domain(n),A=n.length):e.bins=e.domain());return A}(n,e,function(e,t,A){var n=function(e,t,A){return t?(e.domain(Ed(e.type,t,A)),t.length):-1}(e,t.domainRaw,A);if(n>-1)return n;var r,i,o=t.domain,a=e.type,s=t.zero||void 0===t.zero&&function(e){var t=e.type;return!e.bins&&("linear"===t||"pow"===t||"sqrt"===t)}(e);if(!o)return 0;dd(a)&&t.padding&&o[0]!==Object(ue.W)(o)&&(o=function(e,t,A,n,r,i){var o=Math.abs(Object(ue.W)(A)-A[0]),a=o/(o-2*n),s=e===Yc?Object(ue.ob)(t,null,a):"sqrt"===e?Object(ue.pb)(t,null,a,.5):"pow"===e?Object(ue.pb)(t,null,a,r||1):"symlog"===e?Object(ue.qb)(t,null,a,i||1):Object(ue.nb)(t,null,a);return(t=t.slice())[0]=s[0],t[t.length-1]=s[1],t}(a,o,t.range,t.padding,t.exponent,t.constant));if((s||null!=t.domainMin||null!=t.domainMax||null!=t.domainMid)&&(r=(o=o.slice()).length-1||1,s&&(o[0]>0&&(o[0]=0),o[r]<0&&(o[r]=0)),null!=t.domainMin&&(o[0]=t.domainMin),null!=t.domainMax&&(o[r]=t.domainMax),null!=t.domainMid)){var g=(i=t.domainMid)>o[r]?r+1:i<o[0]?0:r;g!==r&&A.warn("Scale domainMid exceeds domain min or max.",i),o.splice(g,0,i)}e.domain(Ed(a,o,A)),"ordinal"===a&&e.unknown(t.domainImplicit?vi:void 0);t.nice&&e.nice&&e.nice(!0!==t.nice&&Qu(e,t.nice)||null);return o.length}(n,e,A))),t.fork(t.NO_SOURCE|t.NO_FIELDS)}}),Object(ue.z)(vd,at,{transform:function(e,t){var A=e.modified("sort")||t.changed(t.ADD)||t.modified(e.sort.fields)||t.modified("datum");return A&&t.source.sort(Re(e.sort)),this.modified(A),t}});var md=["y0","y1"];function bd(e){at.call(this,null,e)}function wd(e,t,A,n,r){for(var i,o=(t-e.sum)/2,a=e.length,s=0;s<a;++s)(i=e[s])[n]=o,i[r]=o+=Math.abs(A(i))}function Sd(e,t,A,n,r){for(var i,o=1/e.sum,a=0,s=e.length,g=0,c=0;g<s;++g)(i=e[g])[n]=a,i[r]=a=o*(c+=Math.abs(A(i)))}function Fd(e,t,A,n,r){for(var i,o,a=0,s=0,g=e.length,c=0;c<g;++c)(i=+A(o=e[c]))<0?(o[n]=s,o[r]=s+=i):(o[n]=a,o[r]=a+=i)}bd.Definition={type:"Stack",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:!0},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:"zero",values:["zero","center","normalize"]},{name:"as",type:"string",array:!0,length:2,default:md}]},Object(ue.z)(bd,at,{transform:function(e,t){var A,n,r,i,o=e.as||md,a=o[0],s=o[1],g=Re(e.sort),c=e.field||ue.Q,u="center"===e.offset?wd:"normalize"===e.offset?Sd:Fd;for(A=function(e,t,A,n){var r,i,o,a,s,g,c,u,l,I=[],C=function(e){return e(s)};if(null==t)I.push(e.slice());else for(r={},i=0,o=e.length;i<o;++i)s=e[i],g=t.map(C),(c=r[g])||(r[g]=c=[],I.push(c)),c.push(s);for(g=0,l=0,a=I.length;g<a;++g){for(c=I[g],i=0,u=0,o=c.length;i<o;++i)u+=Math.abs(n(c[i]));c.sum=u,u>l&&(l=u),A&&c.sort(A)}return I.max=l,I}(t.source,e.groupby,g,c),n=0,r=A.length,i=A.max;n<r;++n)u(A[n],i,c,a,s);return t.reflow(e.modified()).modifies(o)}});var Rd=Math.sqrt(50),Dd=Math.sqrt(10),Gd=Math.sqrt(2);var kd=function(e,t,A){e=+e,t=+t,A=(r=arguments.length)<2?(t=e,e=0,1):r<3?1:+A;for(var n=-1,r=0|Math.max(0,Math.ceil((t-e)/A)),i=new Array(r);++n<r;)i[n]=e+n*A;return i};function xd(e,t){var A;if(void 0===t){var n,r=Object(ut.a)(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;null!=i&&(A<i||void 0===A&&i>=i)&&(A=i)}}catch(c){r.e(c)}finally{r.f()}}else{var o,a=-1,s=Object(ut.a)(e);try{for(s.s();!(o=s.n()).done;){var g=o.value;null!=(g=t(g,++a,e))&&(A<g||void 0===A&&g>=g)&&(A=g)}}catch(c){s.e(c)}finally{s.f()}}return A}var Nd=function(e){return e};function Ud(e,t){e&&Md.hasOwnProperty(e.type)&&Md[e.type](e,t)}var _d={Feature:function(e,t){Ud(e.geometry,t)},FeatureCollection:function(e,t){for(var A=e.features,n=-1,r=A.length;++n<r;)Ud(A[n].geometry,t)}},Md={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var A=e.coordinates,n=-1,r=A.length;++n<r;)e=A[n],t.point(e[0],e[1],e[2])},LineString:function(e,t){Od(e.coordinates,t,0)},MultiLineString:function(e,t){for(var A=e.coordinates,n=-1,r=A.length;++n<r;)Od(A[n],t,0)},Polygon:function(e,t){Ld(e.coordinates,t)},MultiPolygon:function(e,t){for(var A=e.coordinates,n=-1,r=A.length;++n<r;)Ld(A[n],t)},GeometryCollection:function(e,t){for(var A=e.geometries,n=-1,r=A.length;++n<r;)Ud(A[n],t)}};function Od(e,t,A){var n,r=-1,i=e.length-A;for(t.lineStart();++r<i;)n=e[r],t.point(n[0],n[1],n[2]);t.lineEnd()}function Ld(e,t){var A=-1,n=e.length;for(t.polygonStart();++A<n;)Od(e[A],t,1);t.polygonEnd()}var Td=function(e,t){e&&_d.hasOwnProperty(e.type)?_d[e.type](e,t):Ud(e,t)},Zd=function(){function e(){Object(y.a)(this,e),this._partials=new Float64Array(32),this._n=0}return Object(v.a)(e,[{key:"add",value:function(e){for(var t=this._partials,A=0,n=0;n<this._n&&n<32;n++){var r=t[n],i=e+r,o=Math.abs(e)<Math.abs(r)?e-(i-r):r-(i-e);o&&(t[A++]=o),e=i}return t[A]=e,this._n=A+1,this}},{key:"valueOf",value:function(){var e,t,A,n=this._partials,r=this._n,i=0;if(r>0){for(i=n[--r];r>0&&(e=i,!(A=(t=n[--r])-((i=e+t)-e))););r>0&&(A<0&&n[r-1]<0||A>0&&n[r-1]>0)&&(t=2*A)==(e=i+t)-i&&(i=e)}return i}}]),e}();var Hd=Math.PI,Yd=Hd/2,Jd=Hd/4,jd=2*Hd,Pd=180/Hd,Vd=Hd/180,Kd=Math.abs,Wd=Math.atan,Xd=Math.atan2,qd=Math.cos,zd=(Math.ceil,Math.exp),$d=(Math.floor,Math.hypot,Math.log),eB=Math.pow,tB=Math.sin,AB=Math.sign||function(e){return e>0?1:e<0?-1:0},nB=Math.sqrt,rB=Math.tan;function iB(e){return e>1?0:e<-1?Hd:Math.acos(e)}function oB(e){return e>1?Yd:e<-1?-Yd:Math.asin(e)}function aB(){}var sB,gB,cB,uB,lB=new Zd,IB=new Zd,CB={point:aB,lineStart:aB,lineEnd:aB,polygonStart:function(){CB.lineStart=hB,CB.lineEnd=BB},polygonEnd:function(){CB.lineStart=CB.lineEnd=CB.point=aB,lB.add(Kd(IB)),IB=new Zd},result:function(){var e=lB/2;return lB=new Zd,e}};function hB(){CB.point=fB}function fB(e,t){CB.point=dB,sB=cB=e,gB=uB=t}function dB(e,t){IB.add(uB*e-cB*t),cB=e,uB=t}function BB(){dB(sB,gB)}var pB=CB,EB=1/0,QB=EB,yB=-EB,vB=yB;var mB,bB,wB,SB,FB={point:function(e,t){e<EB&&(EB=e);e>yB&&(yB=e);t<QB&&(QB=t);t>vB&&(vB=t)},lineStart:aB,lineEnd:aB,polygonStart:aB,polygonEnd:aB,result:function(){var e=[[EB,QB],[yB,vB]];return yB=vB=-(QB=EB=1/0),e}},RB=0,DB=0,GB=0,kB=0,xB=0,NB=0,UB=0,_B=0,MB=0,OB={point:LB,lineStart:TB,lineEnd:YB,polygonStart:function(){OB.lineStart=JB,OB.lineEnd=jB},polygonEnd:function(){OB.point=LB,OB.lineStart=TB,OB.lineEnd=YB},result:function(){var e=MB?[UB/MB,_B/MB]:NB?[kB/NB,xB/NB]:GB?[RB/GB,DB/GB]:[NaN,NaN];return RB=DB=GB=kB=xB=NB=UB=_B=MB=0,e}};function LB(e,t){RB+=e,DB+=t,++GB}function TB(){OB.point=ZB}function ZB(e,t){OB.point=HB,LB(wB=e,SB=t)}function HB(e,t){var A=e-wB,n=t-SB,r=nB(A*A+n*n);kB+=r*(wB+e)/2,xB+=r*(SB+t)/2,NB+=r,LB(wB=e,SB=t)}function YB(){OB.point=LB}function JB(){OB.point=PB}function jB(){VB(mB,bB)}function PB(e,t){OB.point=VB,LB(mB=wB=e,bB=SB=t)}function VB(e,t){var A=e-wB,n=t-SB,r=nB(A*A+n*n);kB+=r*(wB+e)/2,xB+=r*(SB+t)/2,NB+=r,UB+=(r=SB*e-wB*t)*(wB+e),_B+=r*(SB+t),MB+=3*r,LB(wB=e,SB=t)}var KB=OB;function WB(e){this._context=e}WB.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,jd)}},result:aB};var XB,qB,zB,$B,ep,tp=new Zd,Ap={point:aB,lineStart:function(){Ap.point=np},lineEnd:function(){XB&&rp(qB,zB),Ap.point=aB},polygonStart:function(){XB=!0},polygonEnd:function(){XB=null},result:function(){var e=+tp;return tp=new Zd,e}};function np(e,t){Ap.point=rp,qB=$B=e,zB=ep=t}function rp(e,t){$B-=e,ep-=t,tp.add(nB($B*$B+ep*ep)),$B=e,ep=t}var ip=Ap;function op(){this._string=[]}function ap(e){return"m0,"+e+"a"+e+","+e+" 0 1,1 0,"+-2*e+"a"+e+","+e+" 0 1,1 0,"+2*e+"z"}op.prototype={_radius:4.5,_circle:ap(4.5),pointRadius:function(e){return(e=+e)!==this._radius&&(this._radius=e,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._string.push("M",e,",",t),this._point=1;break;case 1:this._string.push("L",e,",",t);break;default:null==this._circle&&(this._circle=ap(this._radius)),this._string.push("M",e,",",t,this._circle)}},result:function(){if(this._string.length){var e=this._string.join("");return this._string=[],e}return null}};var sp=function(e,t){var A,n,r=4.5;function i(e){return e&&("function"===typeof r&&n.pointRadius(+r.apply(this,arguments)),Td(e,A(n))),n.result()}return i.area=function(e){return Td(e,A(pB)),pB.result()},i.measure=function(e){return Td(e,A(ip)),ip.result()},i.bounds=function(e){return Td(e,A(FB)),FB.result()},i.centroid=function(e){return Td(e,A(KB)),KB.result()},i.projection=function(t){return arguments.length?(A=null==t?(e=null,Nd):(e=t).stream,i):e},i.context=function(e){return arguments.length?(n=null==e?(t=null,new op):new WB(t=e),"function"!==typeof r&&n.pointRadius(r),i):t},i.pointRadius=function(e){return arguments.length?(r="function"===typeof e?e:(n.pointRadius(+e),+e),i):r},i.projection(e).context(t)},gp=function(){var e,t=[];return{point:function(t,A,n){e.push([t,A,n])},lineStart:function(){t.push(e=[])},lineEnd:aB,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var A=t;return t=[],e=null,A}}},cp=function(e,t){return Kd(e[0]-t[0])<1e-6&&Kd(e[1]-t[1])<1e-6};function up(e,t,A,n){this.x=e,this.z=t,this.o=A,this.e=n,this.v=!1,this.n=this.p=null}var lp=function(e,t,A,n,r){var i,o,a=[],s=[];if(e.forEach((function(e){if(!((t=e.length-1)<=0)){var t,A,n=e[0],o=e[t];if(cp(n,o)){if(!n[2]&&!o[2]){for(r.lineStart(),i=0;i<t;++i)r.point((n=e[i])[0],n[1]);return void r.lineEnd()}o[0]+=2e-6}a.push(A=new up(n,e,null,!0)),s.push(A.o=new up(n,null,A,!1)),a.push(A=new up(o,e,null,!1)),s.push(A.o=new up(o,null,A,!0))}})),a.length){for(s.sort(t),Ip(a),Ip(s),i=0,o=s.length;i<o;++i)s[i].e=A=!A;for(var g,c,u=a[0];;){for(var l=u,I=!0;l.v;)if((l=l.n)===u)return;g=l.z,r.lineStart();do{if(l.v=l.o.v=!0,l.e){if(I)for(i=0,o=g.length;i<o;++i)r.point((c=g[i])[0],c[1]);else n(l.x,l.n.x,1,r);l=l.n}else{if(I)for(g=l.p.z,i=g.length-1;i>=0;--i)r.point((c=g[i])[0],c[1]);else n(l.x,l.p.x,-1,r);l=l.p}g=(l=l.o).z,I=!I}while(!l.v);r.lineEnd()}}};function Ip(e){if(t=e.length){for(var t,A,n=0,r=e[0];++n<t;)r.n=A=e[n],A.p=r,r=A;r.n=A=e[0],A.p=r}}function Cp(e){return[Xd(e[1],e[0]),oB(e[2])]}function hp(e){var t=e[0],A=e[1],n=qd(A);return[n*qd(t),n*tB(t),tB(A)]}function fp(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function dp(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function Bp(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function pp(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function Ep(e){var t=nB(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}function Qp(e){return Kd(e[0])<=Hd?e[0]:AB(e[0])*((Kd(e[0])+Hd)%jd-Hd)}var yp=Ie.a.mark(vp);function vp(e){var t,A,n;return Ie.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:t=Object(ut.a)(e),r.prev=1,t.s();case 3:if((A=t.n()).done){r.next=8;break}return n=A.value,r.delegateYield(n,"t0",6);case 6:r.next=3;break;case 8:r.next=13;break;case 10:r.prev=10,r.t1=r.catch(1),t.e(r.t1);case 13:return r.prev=13,t.f(),r.finish(13);case 16:case"end":return r.stop()}}),yp,null,[[1,10,13,16]])}function mp(e){return Array.from(vp(e))}var bp=function(e,t,A,n){return function(r){var i,o,a,s=t(r),g=gp(),c=t(g),u=!1,l={point:I,lineStart:h,lineEnd:f,polygonStart:function(){l.point=d,l.lineStart=B,l.lineEnd=p,o=[],i=[]},polygonEnd:function(){l.point=I,l.lineStart=h,l.lineEnd=f,o=mp(o);var e=function(e,t){var A=Qp(t),n=t[1],r=tB(n),i=[tB(A),-qd(A),0],o=0,a=0,s=new Zd;1===r?n=Yd+1e-6:-1===r&&(n=-Yd-1e-6);for(var g=0,c=e.length;g<c;++g)if(l=(u=e[g]).length)for(var u,l,I=u[l-1],C=Qp(I),h=I[1]/2+Jd,f=tB(h),d=qd(h),B=0;B<l;++B,C=E,f=y,d=v,I=p){var p=u[B],E=Qp(p),Q=p[1]/2+Jd,y=tB(Q),v=qd(Q),m=E-C,b=m>=0?1:-1,w=b*m,S=w>Hd,F=f*y;if(s.add(Xd(F*b*tB(w),d*v+F*qd(w))),o+=S?m+b*jd:m,S^C>=A^E>=A){var R=dp(hp(I),hp(p));Ep(R);var D=dp(i,R);Ep(D);var G=(S^m>=0?-1:1)*oB(D[2]);(n>G||n===G&&(R[0]||R[1]))&&(a+=S^m>=0?1:-1)}}return(o<-1e-6||o<1e-6&&s<-1e-12)^1&a}(i,n);o.length?(u||(r.polygonStart(),u=!0),lp(o,Sp,e,A,r)):e&&(u||(r.polygonStart(),u=!0),r.lineStart(),A(null,null,1,r),r.lineEnd()),u&&(r.polygonEnd(),u=!1),o=i=null},sphere:function(){r.polygonStart(),r.lineStart(),A(null,null,1,r),r.lineEnd(),r.polygonEnd()}};function I(t,A){e(t,A)&&r.point(t,A)}function C(e,t){s.point(e,t)}function h(){l.point=C,s.lineStart()}function f(){l.point=I,s.lineEnd()}function d(e,t){a.push([e,t]),c.point(e,t)}function B(){c.lineStart(),a=[]}function p(){d(a[0][0],a[0][1]),c.lineEnd();var e,t,A,n,s=c.clean(),l=g.result(),I=l.length;if(a.pop(),i.push(a),a=null,I)if(1&s){if((t=(A=l[0]).length-1)>0){for(u||(r.polygonStart(),u=!0),r.lineStart(),e=0;e<t;++e)r.point((n=A[e])[0],n[1]);r.lineEnd()}}else I>1&&2&s&&l.push(l.pop().concat(l.shift())),o.push(l.filter(wp))}return l}};function wp(e){return e.length>1}function Sp(e,t){return((e=e.x)[0]<0?e[1]-Yd-1e-6:Yd-e[1])-((t=t.x)[0]<0?t[1]-Yd-1e-6:Yd-t[1])}var Fp=bp((function(){return!0}),(function(e){var t,A=NaN,n=NaN,r=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(i,o){var a=i>0?Hd:-Hd,s=Kd(i-A);Kd(s-Hd)<1e-6?(e.point(A,n=(n+o)/2>0?Yd:-Yd),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),e.point(i,n),t=0):r!==a&&s>=Hd&&(Kd(A-r)<1e-6&&(A-=1e-6*r),Kd(i-a)<1e-6&&(i-=1e-6*a),n=function(e,t,A,n){var r,i,o=tB(e-A);return Kd(o)>1e-6?Wd((tB(t)*(i=qd(n))*tB(A)-tB(n)*(r=qd(t))*tB(e))/(r*i*o)):(t+n)/2}(A,n,i,o),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),t=0),e.point(A=i,n=o),r=a},lineEnd:function(){e.lineEnd(),A=n=NaN},clean:function(){return 2-t}}}),(function(e,t,A,n){var r;if(null==e)r=A*Yd,n.point(-Hd,r),n.point(0,r),n.point(Hd,r),n.point(Hd,0),n.point(Hd,-r),n.point(0,-r),n.point(-Hd,-r),n.point(-Hd,0),n.point(-Hd,r);else if(Kd(e[0]-t[0])>1e-6){var i=e[0]<t[0]?Hd:-Hd;r=A*i/2,n.point(-i,r),n.point(0,r),n.point(i,r)}else n.point(t[0],t[1])}),[-Hd,-Yd]);var Rp=function(e,t){function A(A,n){return A=e(A,n),t(A[0],A[1])}return e.invert&&t.invert&&(A.invert=function(A,n){return(A=t.invert(A,n))&&e.invert(A[0],A[1])}),A};function Dp(e,t){return[Kd(e)>Hd?e+Math.round(-e/jd)*jd:e,t]}function Gp(e,t,A){return(e%=jd)?t||A?Rp(xp(e),Np(t,A)):xp(e):t||A?Np(t,A):Dp}function kp(e){return function(t,A){return[(t+=e)>Hd?t-jd:t<-Hd?t+jd:t,A]}}function xp(e){var t=kp(e);return t.invert=kp(-e),t}function Np(e,t){var A=qd(e),n=tB(e),r=qd(t),i=tB(t);function o(e,t){var o=qd(t),a=qd(e)*o,s=tB(e)*o,g=tB(t),c=g*A+a*n;return[Xd(s*r-c*i,a*A-g*n),oB(c*r+s*i)]}return o.invert=function(e,t){var o=qd(t),a=qd(e)*o,s=tB(e)*o,g=tB(t),c=g*r-s*i;return[Xd(s*r+g*i,a*A+c*n),oB(c*A-a*n)]},o}Dp.invert=Dp;function Up(e,t,A,n,r,i){if(A){var o=qd(t),a=tB(t),s=n*A;null==r?(r=t+n*jd,i=t-s/2):(r=_p(o,r),i=_p(o,i),(n>0?r<i:r>i)&&(r+=n*jd));for(var g,c=r;n>0?c>i:c<i;c-=s)g=Cp([o,-a*qd(c),-a*tB(c)]),e.point(g[0],g[1])}}function _p(e,t){(t=hp(t))[0]-=e,Ep(t);var A=iB(-t[1]);return((-t[2]<0?-A:A)+jd-1e-6)%jd}var Mp=function(e){var t=qd(e),A=6*Vd,n=t>0,r=Kd(t)>1e-6;function i(e,A){return qd(e)*qd(A)>t}function o(e,A,n){var r=[1,0,0],i=dp(hp(e),hp(A)),o=fp(i,i),a=i[0],s=o-a*a;if(!s)return!n&&e;var g=t*o/s,c=-t*a/s,u=dp(r,i),l=pp(r,g);Bp(l,pp(i,c));var I=u,C=fp(l,I),h=fp(I,I),f=C*C-h*(fp(l,l)-1);if(!(f<0)){var d=nB(f),B=pp(I,(-C-d)/h);if(Bp(B,l),B=Cp(B),!n)return B;var p,E=e[0],Q=A[0],y=e[1],v=A[1];Q<E&&(p=E,E=Q,Q=p);var m=Q-E,b=Kd(m-Hd)<1e-6;if(!b&&v<y&&(p=y,y=v,v=p),b||m<1e-6?b?y+v>0^B[1]<(Kd(B[0]-E)<1e-6?y:v):y<=B[1]&&B[1]<=v:m>Hd^(E<=B[0]&&B[0]<=Q)){var w=pp(I,(-C+d)/h);return Bp(w,l),[B,Cp(w)]}}}function a(t,A){var r=n?e:Hd-e,i=0;return t<-r?i|=1:t>r&&(i|=2),A<-r?i|=4:A>r&&(i|=8),i}return bp(i,(function(e){var t,A,s,g,c;return{lineStart:function(){g=s=!1,c=1},point:function(u,l){var I,C=[u,l],h=i(u,l),f=n?h?0:a(u,l):h?a(u+(u<0?Hd:-Hd),l):0;if(!t&&(g=s=h)&&e.lineStart(),h!==s&&(!(I=o(t,C))||cp(t,I)||cp(C,I))&&(C[2]=1),h!==s)c=0,h?(e.lineStart(),I=o(C,t),e.point(I[0],I[1])):(I=o(t,C),e.point(I[0],I[1],2),e.lineEnd()),t=I;else if(r&&t&&n^h){var d;f&A||!(d=o(C,t,!0))||(c=0,n?(e.lineStart(),e.point(d[0][0],d[0][1]),e.point(d[1][0],d[1][1]),e.lineEnd()):(e.point(d[1][0],d[1][1]),e.lineEnd(),e.lineStart(),e.point(d[0][0],d[0][1],3)))}!h||t&&cp(t,C)||e.point(C[0],C[1]),t=C,s=h,A=f},lineEnd:function(){s&&e.lineEnd(),t=null},clean:function(){return c|(g&&s)<<1}}}),(function(t,n,r,i){Up(i,e,A,r,t,n)}),n?[0,-e]:[-Hd,e-Hd])};function Op(e,t,A,n){function r(r,i){return e<=r&&r<=A&&t<=i&&i<=n}function i(r,i,a,g){var c=0,u=0;if(null==r||(c=o(r,a))!==(u=o(i,a))||s(r,i)<0^a>0)do{g.point(0===c||3===c?e:A,c>1?n:t)}while((c=(c+a+4)%4)!==u);else g.point(i[0],i[1])}function o(n,r){return Kd(n[0]-e)<1e-6?r>0?0:3:Kd(n[0]-A)<1e-6?r>0?2:1:Kd(n[1]-t)<1e-6?r>0?1:0:r>0?3:2}function a(e,t){return s(e.x,t.x)}function s(e,t){var A=o(e,1),n=o(t,1);return A!==n?A-n:0===A?t[1]-e[1]:1===A?e[0]-t[0]:2===A?e[1]-t[1]:t[0]-e[0]}return function(o){var s,g,c,u,l,I,C,h,f,d,B,p=o,E=gp(),Q={point:y,lineStart:function(){Q.point=v,g&&g.push(c=[]);d=!0,f=!1,C=h=NaN},lineEnd:function(){s&&(v(u,l),I&&f&&E.rejoin(),s.push(E.result()));Q.point=y,f&&p.lineEnd()},polygonStart:function(){p=E,s=[],g=[],B=!0},polygonEnd:function(){var t=function(){for(var t=0,A=0,r=g.length;A<r;++A)for(var i,o,a=g[A],s=1,c=a.length,u=a[0],l=u[0],I=u[1];s<c;++s)i=l,o=I,u=a[s],l=u[0],I=u[1],o<=n?I>n&&(l-i)*(n-o)>(I-o)*(e-i)&&++t:I<=n&&(l-i)*(n-o)<(I-o)*(e-i)&&--t;return t}(),A=B&&t,r=(s=mp(s)).length;(A||r)&&(o.polygonStart(),A&&(o.lineStart(),i(null,null,1,o),o.lineEnd()),r&&lp(s,a,t,i,o),o.polygonEnd());p=o,s=g=c=null}};function y(e,t){r(e,t)&&p.point(e,t)}function v(i,o){var a=r(i,o);if(g&&c.push([i,o]),d)u=i,l=o,I=a,d=!1,a&&(p.lineStart(),p.point(i,o));else if(a&&f)p.point(i,o);else{var s=[C=Math.max(-1e9,Math.min(1e9,C)),h=Math.max(-1e9,Math.min(1e9,h))],E=[i=Math.max(-1e9,Math.min(1e9,i)),o=Math.max(-1e9,Math.min(1e9,o))];!function(e,t,A,n,r,i){var o,a=e[0],s=e[1],g=0,c=1,u=t[0]-a,l=t[1]-s;if(o=A-a,u||!(o>0)){if(o/=u,u<0){if(o<g)return;o<c&&(c=o)}else if(u>0){if(o>c)return;o>g&&(g=o)}if(o=r-a,u||!(o<0)){if(o/=u,u<0){if(o>c)return;o>g&&(g=o)}else if(u>0){if(o<g)return;o<c&&(c=o)}if(o=n-s,l||!(o>0)){if(o/=l,l<0){if(o<g)return;o<c&&(c=o)}else if(l>0){if(o>c)return;o>g&&(g=o)}if(o=i-s,l||!(o<0)){if(o/=l,l<0){if(o>c)return;o>g&&(g=o)}else if(l>0){if(o<g)return;o<c&&(c=o)}return g>0&&(e[0]=a+g*u,e[1]=s+g*l),c<1&&(t[0]=a+c*u,t[1]=s+c*l),!0}}}}}(s,E,e,t,A,n)?a&&(p.lineStart(),p.point(i,o),B=!1):(f||(p.lineStart(),p.point(s[0],s[1])),p.point(E[0],E[1]),a||p.lineEnd(),B=!1)}C=i,h=o,f=a}return Q}}function Lp(e){return function(t){var A=new Tp;for(var n in e)A[n]=e[n];return A.stream=t,A}}function Tp(){}function Zp(e,t,A){var n=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=n&&e.clipExtent(null),Td(A,e.stream(FB)),t(FB.result()),null!=n&&e.clipExtent(n),e}function Hp(e,t,A){return Zp(e,(function(A){var n=t[1][0]-t[0][0],r=t[1][1]-t[0][1],i=Math.min(n/(A[1][0]-A[0][0]),r/(A[1][1]-A[0][1])),o=+t[0][0]+(n-i*(A[1][0]+A[0][0]))/2,a=+t[0][1]+(r-i*(A[1][1]+A[0][1]))/2;e.scale(150*i).translate([o,a])}),A)}function Yp(e,t,A){return Hp(e,[[0,0],t],A)}function Jp(e,t,A){return Zp(e,(function(A){var n=+t,r=n/(A[1][0]-A[0][0]),i=(n-r*(A[1][0]+A[0][0]))/2,o=-r*A[0][1];e.scale(150*r).translate([i,o])}),A)}function jp(e,t,A){return Zp(e,(function(A){var n=+t,r=n/(A[1][1]-A[0][1]),i=-r*A[0][0],o=(n-r*(A[1][1]+A[0][1]))/2;e.scale(150*r).translate([i,o])}),A)}Tp.prototype={constructor:Tp,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Pp=qd(30*Vd),Vp=function(e,t){return+t?function(e,t){function A(n,r,i,o,a,s,g,c,u,l,I,C,h,f){var d=g-n,B=c-r,p=d*d+B*B;if(p>4*t&&h--){var E=o+l,Q=a+I,y=s+C,v=nB(E*E+Q*Q+y*y),m=oB(y/=v),b=Kd(Kd(y)-1)<1e-6||Kd(i-u)<1e-6?(i+u)/2:Xd(Q,E),w=e(b,m),S=w[0],F=w[1],R=S-n,D=F-r,G=B*R-d*D;(G*G/p>t||Kd((d*R+B*D)/p-.5)>.3||o*l+a*I+s*C<Pp)&&(A(n,r,i,o,a,s,S,F,b,E/=v,Q/=v,y,h,f),f.point(S,F),A(S,F,b,E,Q,y,g,c,u,l,I,C,h,f))}}return function(t){var n,r,i,o,a,s,g,c,u,l,I,C,h={point:f,lineStart:d,lineEnd:p,polygonStart:function(){t.polygonStart(),h.lineStart=E},polygonEnd:function(){t.polygonEnd(),h.lineStart=d}};function f(A,n){A=e(A,n),t.point(A[0],A[1])}function d(){c=NaN,h.point=B,t.lineStart()}function B(n,r){var i=hp([n,r]),o=e(n,r);A(c,u,g,l,I,C,c=o[0],u=o[1],g=n,l=i[0],I=i[1],C=i[2],16,t),t.point(c,u)}function p(){h.point=f,t.lineEnd()}function E(){d(),h.point=Q,h.lineEnd=y}function Q(e,t){B(n=e,t),r=c,i=u,o=l,a=I,s=C,h.point=B}function y(){A(c,u,g,l,I,C,r,i,n,o,a,s,16,t),h.lineEnd=p,p()}return h}}(e,t):function(e){return Lp({point:function(t,A){t=e(t,A),this.stream.point(t[0],t[1])}})}(e)};var Kp=Lp({point:function(e,t){this.stream.point(e*Vd,t*Vd)}});function Wp(e,t,A,n,r,i){if(!i)return function(e,t,A,n,r){function i(i,o){return[t+e*(i*=n),A-e*(o*=r)]}return i.invert=function(i,o){return[(i-t)/e*n,(A-o)/e*r]},i}(e,t,A,n,r);var o=qd(i),a=tB(i),s=o*e,g=a*e,c=o/e,u=a/e,l=(a*A-o*t)/e,I=(a*t+o*A)/e;function C(e,i){return[s*(e*=n)-g*(i*=r)+t,A-g*e-s*i]}return C.invert=function(e,t){return[n*(c*e-u*t+l),r*(I-u*e-c*t)]},C}function Xp(e){return qp((function(){return e}))()}function qp(e){var t,A,n,r,i,o,a,s,g,c,u=150,l=480,I=250,C=0,h=0,f=0,d=0,B=0,p=0,E=1,Q=1,y=null,v=Fp,m=null,b=Nd,w=.5;function S(e){return s(e[0]*Vd,e[1]*Vd)}function F(e){return(e=s.invert(e[0],e[1]))&&[e[0]*Pd,e[1]*Pd]}function R(){var e=Wp(u,0,0,E,Q,p).apply(null,t(C,h)),n=Wp(u,l-e[0],I-e[1],E,Q,p);return A=Gp(f,d,B),a=Rp(t,n),s=Rp(A,a),o=Vp(a,w),D()}function D(){return g=c=null,S}return S.stream=function(e){return g&&c===e?g:g=Kp(function(e){return Lp({point:function(t,A){var n=e(t,A);return this.stream.point(n[0],n[1])}})}(A)(v(o(b(c=e)))))},S.preclip=function(e){return arguments.length?(v=e,y=void 0,D()):v},S.postclip=function(e){return arguments.length?(b=e,m=n=r=i=null,D()):b},S.clipAngle=function(e){return arguments.length?(v=+e?Mp(y=e*Vd):(y=null,Fp),D()):y*Pd},S.clipExtent=function(e){return arguments.length?(b=null==e?(m=n=r=i=null,Nd):Op(m=+e[0][0],n=+e[0][1],r=+e[1][0],i=+e[1][1]),D()):null==m?null:[[m,n],[r,i]]},S.scale=function(e){return arguments.length?(u=+e,R()):u},S.translate=function(e){return arguments.length?(l=+e[0],I=+e[1],R()):[l,I]},S.center=function(e){return arguments.length?(C=e[0]%360*Vd,h=e[1]%360*Vd,R()):[C*Pd,h*Pd]},S.rotate=function(e){return arguments.length?(f=e[0]%360*Vd,d=e[1]%360*Vd,B=e.length>2?e[2]%360*Vd:0,R()):[f*Pd,d*Pd,B*Pd]},S.angle=function(e){return arguments.length?(p=e%360*Vd,R()):p*Pd},S.reflectX=function(e){return arguments.length?(E=e?-1:1,R()):E<0},S.reflectY=function(e){return arguments.length?(Q=e?-1:1,R()):Q<0},S.precision=function(e){return arguments.length?(o=Vp(a,w=e*e),D()):nB(w)},S.fitExtent=function(e,t){return Hp(S,e,t)},S.fitSize=function(e,t){return Yp(S,e,t)},S.fitWidth=function(e,t){return Jp(S,e,t)},S.fitHeight=function(e,t){return jp(S,e,t)},function(){return t=e.apply(this,arguments),S.invert=t.invert&&F,R()}}function zp(e){var t=0,A=Hd/3,n=qp(e),r=n(t,A);return r.parallels=function(e){return arguments.length?n(t=e[0]*Vd,A=e[1]*Vd):[t*Pd,A*Pd]},r}function $p(e,t){var A=tB(e),n=(A+tB(t))/2;if(Kd(n)<1e-6)return function(e){var t=qd(e);function A(e,A){return[e*t,tB(A)/t]}return A.invert=function(e,A){return[e/t,oB(A*t)]},A}(e);var r=1+A*(2*n-A),i=nB(r)/n;function o(e,t){var A=nB(r-2*n*tB(t))/n;return[A*tB(e*=n),i-A*qd(e)]}return o.invert=function(e,t){var A=i-t,o=Xd(e,Kd(A))*AB(A);return A*n<0&&(o-=Hd*AB(e)*AB(A)),[o/n,oB((r-(e*e+A*A)*n*n)/(2*n))]},o}var eE=function(){return zp($p).scale(155.424).center([0,33.6442])},tE=function(){return eE().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])};function AE(e){return function(t,A){var n=qd(t),r=qd(A),i=e(n*r);return i===1/0?[2,0]:[i*r*tB(t),i*tB(A)]}}function nE(e){return function(t,A){var n=nB(t*t+A*A),r=e(n),i=tB(r),o=qd(r);return[Xd(t*i,n*o),oB(n&&A*i/n)]}}var rE=AE((function(e){return nB(2/(1+e))}));rE.invert=nE((function(e){return 2*oB(e/2)}));var iE=AE((function(e){return(e=iB(e))&&e/tB(e)}));iE.invert=nE((function(e){return e}));function oE(e,t){return[e,$d(rB((Yd+t)/2))]}oE.invert=function(e,t){return[e,2*Wd(zd(t))-Yd]};function aE(e){var t,A,n,r=Xp(e),i=r.center,o=r.scale,a=r.translate,s=r.clipExtent,g=null;function c(){var i=Hd*o(),a=r(function(e){function t(t){return(t=e(t[0]*Vd,t[1]*Vd))[0]*=Pd,t[1]*=Pd,t}return e=Gp(e[0]*Vd,e[1]*Vd,e.length>2?e[2]*Vd:0),t.invert=function(t){return(t=e.invert(t[0]*Vd,t[1]*Vd))[0]*=Pd,t[1]*=Pd,t},t}(r.rotate()).invert([0,0]));return s(null==g?[[a[0]-i,a[1]-i],[a[0]+i,a[1]+i]]:e===oE?[[Math.max(a[0]-i,g),t],[Math.min(a[0]+i,A),n]]:[[g,Math.max(a[1]-i,t)],[A,Math.min(a[1]+i,n)]])}return r.scale=function(e){return arguments.length?(o(e),c()):o()},r.translate=function(e){return arguments.length?(a(e),c()):a()},r.center=function(e){return arguments.length?(i(e),c()):i()},r.clipExtent=function(e){return arguments.length?(null==e?g=t=A=n=null:(g=+e[0][0],t=+e[0][1],A=+e[1][0],n=+e[1][1]),c()):null==g?null:[[g,t],[A,n]]},c()}function sE(e){return rB((Yd+e)/2)}function gE(e,t){var A=qd(e),n=e===t?tB(e):$d(A/qd(t))/$d(sE(t)/sE(e)),r=A*eB(sE(e),n)/n;if(!n)return oE;function i(e,t){r>0?t<1e-6-Yd&&(t=1e-6-Yd):t>Yd-1e-6&&(t=Yd-1e-6);var A=r/eB(sE(t),n);return[A*tB(n*e),r-A*qd(n*e)]}return i.invert=function(e,t){var A=r-t,i=AB(n)*nB(e*e+A*A),o=Xd(e,Kd(A))*AB(A);return A*n<0&&(o-=Hd*AB(e)*AB(A)),[o/n,2*Wd(eB(r/i,1/n))-Yd]},i}function cE(e,t){return[e,t]}cE.invert=cE;function uE(e,t){var A=qd(e),n=e===t?tB(e):(A-qd(t))/(t-e),r=A/n+e;if(Kd(n)<1e-6)return cE;function i(e,t){var A=r-t,i=n*e;return[A*tB(i),r-A*qd(i)]}return i.invert=function(e,t){var A=r-t,i=Xd(e,Kd(A))*AB(A);return A*n<0&&(i-=Hd*AB(e)*AB(A)),[i/n,r-AB(n)*nB(e*e+A*A)]},i}var lE=1.340264,IE=-.081106,CE=893e-6,hE=.003796,fE=nB(3)/2;function dE(e,t){var A=oB(fE*tB(t)),n=A*A,r=n*n*n;return[e*qd(A)/(fE*(lE+3*IE*n+r*(7*CE+9*hE*n))),A*(lE+IE*n+r*(CE+hE*n))]}dE.invert=function(e,t){for(var A,n=t,r=n*n,i=r*r*r,o=0;o<12&&(i=(r=(n-=A=(n*(lE+IE*r+i*(CE+hE*r))-t)/(lE+3*IE*r+i*(7*CE+9*hE*r)))*n)*r*r,!(Kd(A)<1e-12));++o);return[fE*e*(lE+3*IE*r+i*(7*CE+9*hE*r))/qd(n),oB(tB(n)/fE)]};function BE(e,t){var A=qd(t),n=qd(e)*A;return[A*tB(e)/n,tB(t)/n]}BE.invert=nE(Wd);function pE(e,t){var A=t*t,n=A*A;return[e*(.8707-.131979*A+n*(n*(.003971*A-.001529*n)-.013791)),t*(1.007226+A*(.015085+n*(.028874*A-.044475-.005916*n)))]}pE.invert=function(e,t){var A,n=t,r=25;do{var i=n*n,o=i*i;n-=A=(n*(1.007226+i*(.015085+o*(.028874*i-.044475-.005916*o)))-t)/(1.007226+i*(.045255+o*(.259866*i-.311325-.005916*11*o)))}while(Kd(A)>1e-6&&--r>0);return[e/(.8707+(i=n*n)*(i*(i*i*i*(.003971-.001529*i)-.013791)-.131979)),n]};function EE(e,t){return[qd(t)*tB(e),tB(t)]}EE.invert=nE(oB);function QE(e,t){var A=qd(t),n=1+qd(e)*A;return[A*tB(e)/n,tB(t)/n]}QE.invert=nE((function(e){return 2*Wd(e)}));function yE(e,t){return[$d(rB((Yd+t)/2)),-e]}yE.invert=function(e,t){return[-t,2*Wd(zd(e))-Yd]};function vE(){}var mE=function(){var e,t=[];return{point:function(t,A,n){e.push([t,A,n])},lineStart:function(){t.push(e=[])},lineEnd:vE,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var A=t;return t=[],e=null,A}}},bE=Math.PI,wE=bE/2,SE=bE/4,FE=2*bE,RE=180/bE,DE=bE/180,GE=Math.abs,kE=Math.atan,xE=Math.atan2,NE=Math.cos,UE=(Math.ceil,Math.exp,Math.floor,Math.hypot,Math.log,Math.pow,Math.sin),_E=Math.sign||function(e){return e>0?1:e<0?-1:0},ME=Math.sqrt;Math.tan;function OE(e){return e>1?wE:e<-1?-wE:Math.asin(e)}var LE=function(e,t){return GE(e[0]-t[0])<1e-6&&GE(e[1]-t[1])<1e-6};function TE(e,t,A,n){this.x=e,this.z=t,this.o=A,this.e=n,this.v=!1,this.n=this.p=null}var ZE=function(e,t,A,n,r){var i,o,a=[],s=[];if(e.forEach((function(e){if(!((t=e.length-1)<=0)){var t,A,n=e[0],o=e[t];if(LE(n,o)){if(!n[2]&&!o[2]){for(r.lineStart(),i=0;i<t;++i)r.point((n=e[i])[0],n[1]);return void r.lineEnd()}o[0]+=2e-6}a.push(A=new TE(n,e,null,!0)),s.push(A.o=new TE(n,null,A,!1)),a.push(A=new TE(o,e,null,!1)),s.push(A.o=new TE(o,null,A,!0))}})),a.length){for(s.sort(t),HE(a),HE(s),i=0,o=s.length;i<o;++i)s[i].e=A=!A;for(var g,c,u=a[0];;){for(var l=u,I=!0;l.v;)if((l=l.n)===u)return;g=l.z,r.lineStart();do{if(l.v=l.o.v=!0,l.e){if(I)for(i=0,o=g.length;i<o;++i)r.point((c=g[i])[0],c[1]);else n(l.x,l.n.x,1,r);l=l.n}else{if(I)for(g=l.p.z,i=g.length-1;i>=0;--i)r.point((c=g[i])[0],c[1]);else n(l.x,l.p.x,-1,r);l=l.p}g=(l=l.o).z,I=!I}while(!l.v);r.lineEnd()}}};function HE(e){if(t=e.length){for(var t,A,n=0,r=e[0];++n<t;)r.n=A=e[n],A.p=r,r=A;r.n=A=e[0],A.p=r}}var YE=function(){function e(){Object(y.a)(this,e),this._partials=new Float64Array(32),this._n=0}return Object(v.a)(e,[{key:"add",value:function(e){for(var t=this._partials,A=0,n=0;n<this._n&&n<32;n++){var r=t[n],i=e+r,o=Math.abs(e)<Math.abs(r)?e-(i-r):r-(i-e);o&&(t[A++]=o),e=i}return t[A]=e,this._n=A+1,this}},{key:"valueOf",value:function(){var e,t,A,n=this._partials,r=this._n,i=0;if(r>0){for(i=n[--r];r>0&&(e=i,!(A=(t=n[--r])-((i=e+t)-e))););r>0&&(A<0&&n[r-1]<0||A>0&&n[r-1]>0)&&(t=2*A)==(e=i+t)-i&&(i=e)}return i}}]),e}();function JE(e){return[xE(e[1],e[0]),OE(e[2])]}function jE(e){var t=e[0],A=e[1],n=NE(A);return[n*NE(t),n*UE(t),UE(A)]}function PE(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function VE(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function KE(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function WE(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function XE(e){var t=ME(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}function qE(e){return GE(e[0])<=bE?e[0]:_E(e[0])*((GE(e[0])+bE)%FE-bE)}var zE=Ie.a.mark($E);function $E(e){var t,A,n;return Ie.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:t=Object(ut.a)(e),r.prev=1,t.s();case 3:if((A=t.n()).done){r.next=8;break}return n=A.value,r.delegateYield(n,"t0",6);case 6:r.next=3;break;case 8:r.next=13;break;case 10:r.prev=10,r.t1=r.catch(1),t.e(r.t1);case 13:return r.prev=13,t.f(),r.finish(13);case 16:case"end":return r.stop()}}),zE,null,[[1,10,13,16]])}function eQ(e){return Array.from($E(e))}var tQ=function(e,t,A,n){return function(r){var i,o,a,s=t(r),g=mE(),c=t(g),u=!1,l={point:I,lineStart:h,lineEnd:f,polygonStart:function(){l.point=d,l.lineStart=B,l.lineEnd=p,o=[],i=[]},polygonEnd:function(){l.point=I,l.lineStart=h,l.lineEnd=f,o=eQ(o);var e=function(e,t){var A=qE(t),n=t[1],r=UE(n),i=[UE(A),-NE(A),0],o=0,a=0,s=new YE;1===r?n=wE+1e-6:-1===r&&(n=-wE-1e-6);for(var g=0,c=e.length;g<c;++g)if(l=(u=e[g]).length)for(var u,l,I=u[l-1],C=qE(I),h=I[1]/2+SE,f=UE(h),d=NE(h),B=0;B<l;++B,C=E,f=y,d=v,I=p){var p=u[B],E=qE(p),Q=p[1]/2+SE,y=UE(Q),v=NE(Q),m=E-C,b=m>=0?1:-1,w=b*m,S=w>bE,F=f*y;if(s.add(xE(F*b*UE(w),d*v+F*NE(w))),o+=S?m+b*FE:m,S^C>=A^E>=A){var R=VE(jE(I),jE(p));XE(R);var D=VE(i,R);XE(D);var G=(S^m>=0?-1:1)*OE(D[2]);(n>G||n===G&&(R[0]||R[1]))&&(a+=S^m>=0?1:-1)}}return(o<-1e-6||o<1e-6&&s<-1e-12)^1&a}(i,n);o.length?(u||(r.polygonStart(),u=!0),ZE(o,nQ,e,A,r)):e&&(u||(r.polygonStart(),u=!0),r.lineStart(),A(null,null,1,r),r.lineEnd()),u&&(r.polygonEnd(),u=!1),o=i=null},sphere:function(){r.polygonStart(),r.lineStart(),A(null,null,1,r),r.lineEnd(),r.polygonEnd()}};function I(t,A){e(t,A)&&r.point(t,A)}function C(e,t){s.point(e,t)}function h(){l.point=C,s.lineStart()}function f(){l.point=I,s.lineEnd()}function d(e,t){a.push([e,t]),c.point(e,t)}function B(){c.lineStart(),a=[]}function p(){d(a[0][0],a[0][1]),c.lineEnd();var e,t,A,n,s=c.clean(),l=g.result(),I=l.length;if(a.pop(),i.push(a),a=null,I)if(1&s){if((t=(A=l[0]).length-1)>0){for(u||(r.polygonStart(),u=!0),r.lineStart(),e=0;e<t;++e)r.point((n=A[e])[0],n[1]);r.lineEnd()}}else I>1&&2&s&&l.push(l.pop().concat(l.shift())),o.push(l.filter(AQ))}return l}};function AQ(e){return e.length>1}function nQ(e,t){return((e=e.x)[0]<0?e[1]-wE-1e-6:wE-e[1])-((t=t.x)[0]<0?t[1]-wE-1e-6:wE-t[1])}var rQ=tQ((function(){return!0}),(function(e){var t,A=NaN,n=NaN,r=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(i,o){var a=i>0?bE:-bE,s=GE(i-A);GE(s-bE)<1e-6?(e.point(A,n=(n+o)/2>0?wE:-wE),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),e.point(i,n),t=0):r!==a&&s>=bE&&(GE(A-r)<1e-6&&(A-=1e-6*r),GE(i-a)<1e-6&&(i-=1e-6*a),n=function(e,t,A,n){var r,i,o=UE(e-A);return GE(o)>1e-6?kE((UE(t)*(i=NE(n))*UE(A)-UE(n)*(r=NE(t))*UE(e))/(r*i*o)):(t+n)/2}(A,n,i,o),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),t=0),e.point(A=i,n=o),r=a},lineEnd:function(){e.lineEnd(),A=n=NaN},clean:function(){return 2-t}}}),(function(e,t,A,n){var r;if(null==e)r=A*wE,n.point(-bE,r),n.point(0,r),n.point(bE,r),n.point(bE,0),n.point(bE,-r),n.point(0,-r),n.point(-bE,-r),n.point(-bE,0),n.point(-bE,r);else if(GE(e[0]-t[0])>1e-6){var i=e[0]<t[0]?bE:-bE;r=A*i/2,n.point(-i,r),n.point(0,r),n.point(i,r)}else n.point(t[0],t[1])}),[-bE,-wE]);var iQ=function(e,t){function A(A,n){return A=e(A,n),t(A[0],A[1])}return e.invert&&t.invert&&(A.invert=function(A,n){return(A=t.invert(A,n))&&e.invert(A[0],A[1])}),A};function oQ(e,t){return[GE(e)>bE?e+Math.round(-e/FE)*FE:e,t]}function aQ(e,t,A){return(e%=FE)?t||A?iQ(gQ(e),cQ(t,A)):gQ(e):t||A?cQ(t,A):oQ}function sQ(e){return function(t,A){return[(t+=e)>bE?t-FE:t<-bE?t+FE:t,A]}}function gQ(e){var t=sQ(e);return t.invert=sQ(-e),t}function cQ(e,t){var A=NE(e),n=UE(e),r=NE(t),i=UE(t);function o(e,t){var o=NE(t),a=NE(e)*o,s=UE(e)*o,g=UE(t),c=g*A+a*n;return[xE(s*r-c*i,a*A-g*n),OE(c*r+s*i)]}return o.invert=function(e,t){var o=NE(t),a=NE(e)*o,s=UE(e)*o,g=UE(t),c=g*r-s*i;return[xE(s*r+g*i,a*A+c*n),OE(c*A-a*n)]},o}oQ.invert=oQ;function uQ(e,t,A,n,r,i){if(A){var o=NE(t),a=UE(t),s=n*A;null==r?(r=t+n*FE,i=t-s/2):(r=lQ(o,r),i=lQ(o,i),(n>0?r<i:r>i)&&(r+=n*FE));for(var g,c=r;n>0?c>i:c<i;c-=s)g=JE([o,-a*NE(c),-a*UE(c)]),e.point(g[0],g[1])}}function lQ(e,t){(t=jE(t))[0]-=e,XE(t);var A,n=(A=-t[1])>1?0:A<-1?bE:Math.acos(A);return((-t[2]<0?-n:n)+FE-1e-6)%FE}var IQ=function(e){var t=NE(e),A=6*DE,n=t>0,r=GE(t)>1e-6;function i(e,A){return NE(e)*NE(A)>t}function o(e,A,n){var r=[1,0,0],i=VE(jE(e),jE(A)),o=PE(i,i),a=i[0],s=o-a*a;if(!s)return!n&&e;var g=t*o/s,c=-t*a/s,u=VE(r,i),l=WE(r,g);KE(l,WE(i,c));var I=u,C=PE(l,I),h=PE(I,I),f=C*C-h*(PE(l,l)-1);if(!(f<0)){var d=ME(f),B=WE(I,(-C-d)/h);if(KE(B,l),B=JE(B),!n)return B;var p,E=e[0],Q=A[0],y=e[1],v=A[1];Q<E&&(p=E,E=Q,Q=p);var m=Q-E,b=GE(m-bE)<1e-6;if(!b&&v<y&&(p=y,y=v,v=p),b||m<1e-6?b?y+v>0^B[1]<(GE(B[0]-E)<1e-6?y:v):y<=B[1]&&B[1]<=v:m>bE^(E<=B[0]&&B[0]<=Q)){var w=WE(I,(-C+d)/h);return KE(w,l),[B,JE(w)]}}}function a(t,A){var r=n?e:bE-e,i=0;return t<-r?i|=1:t>r&&(i|=2),A<-r?i|=4:A>r&&(i|=8),i}return tQ(i,(function(e){var t,A,s,g,c;return{lineStart:function(){g=s=!1,c=1},point:function(u,l){var I,C=[u,l],h=i(u,l),f=n?h?0:a(u,l):h?a(u+(u<0?bE:-bE),l):0;if(!t&&(g=s=h)&&e.lineStart(),h!==s&&(!(I=o(t,C))||LE(t,I)||LE(C,I))&&(C[2]=1),h!==s)c=0,h?(e.lineStart(),I=o(C,t),e.point(I[0],I[1])):(I=o(t,C),e.point(I[0],I[1],2),e.lineEnd()),t=I;else if(r&&t&&n^h){var d;f&A||!(d=o(C,t,!0))||(c=0,n?(e.lineStart(),e.point(d[0][0],d[0][1]),e.point(d[1][0],d[1][1]),e.lineEnd()):(e.point(d[1][0],d[1][1]),e.lineEnd(),e.lineStart(),e.point(d[0][0],d[0][1],3)))}!h||t&&LE(t,C)||e.point(C[0],C[1]),t=C,s=h,A=f},lineEnd:function(){s&&e.lineEnd(),t=null},clean:function(){return c|(g&&s)<<1}}}),(function(t,n,r,i){uQ(i,e,A,r,t,n)}),n?[0,-e]:[-bE,e-bE])};function CQ(e,t,A,n){function r(r,i){return e<=r&&r<=A&&t<=i&&i<=n}function i(r,i,a,g){var c=0,u=0;if(null==r||(c=o(r,a))!==(u=o(i,a))||s(r,i)<0^a>0)do{g.point(0===c||3===c?e:A,c>1?n:t)}while((c=(c+a+4)%4)!==u);else g.point(i[0],i[1])}function o(n,r){return GE(n[0]-e)<1e-6?r>0?0:3:GE(n[0]-A)<1e-6?r>0?2:1:GE(n[1]-t)<1e-6?r>0?1:0:r>0?3:2}function a(e,t){return s(e.x,t.x)}function s(e,t){var A=o(e,1),n=o(t,1);return A!==n?A-n:0===A?t[1]-e[1]:1===A?e[0]-t[0]:2===A?e[1]-t[1]:t[0]-e[0]}return function(o){var s,g,c,u,l,I,C,h,f,d,B,p=o,E=mE(),Q={point:y,lineStart:function(){Q.point=v,g&&g.push(c=[]);d=!0,f=!1,C=h=NaN},lineEnd:function(){s&&(v(u,l),I&&f&&E.rejoin(),s.push(E.result()));Q.point=y,f&&p.lineEnd()},polygonStart:function(){p=E,s=[],g=[],B=!0},polygonEnd:function(){var t=function(){for(var t=0,A=0,r=g.length;A<r;++A)for(var i,o,a=g[A],s=1,c=a.length,u=a[0],l=u[0],I=u[1];s<c;++s)i=l,o=I,u=a[s],l=u[0],I=u[1],o<=n?I>n&&(l-i)*(n-o)>(I-o)*(e-i)&&++t:I<=n&&(l-i)*(n-o)<(I-o)*(e-i)&&--t;return t}(),A=B&&t,r=(s=eQ(s)).length;(A||r)&&(o.polygonStart(),A&&(o.lineStart(),i(null,null,1,o),o.lineEnd()),r&&ZE(s,a,t,i,o),o.polygonEnd());p=o,s=g=c=null}};function y(e,t){r(e,t)&&p.point(e,t)}function v(i,o){var a=r(i,o);if(g&&c.push([i,o]),d)u=i,l=o,I=a,d=!1,a&&(p.lineStart(),p.point(i,o));else if(a&&f)p.point(i,o);else{var s=[C=Math.max(-1e9,Math.min(1e9,C)),h=Math.max(-1e9,Math.min(1e9,h))],E=[i=Math.max(-1e9,Math.min(1e9,i)),o=Math.max(-1e9,Math.min(1e9,o))];!function(e,t,A,n,r,i){var o,a=e[0],s=e[1],g=0,c=1,u=t[0]-a,l=t[1]-s;if(o=A-a,u||!(o>0)){if(o/=u,u<0){if(o<g)return;o<c&&(c=o)}else if(u>0){if(o>c)return;o>g&&(g=o)}if(o=r-a,u||!(o<0)){if(o/=u,u<0){if(o>c)return;o>g&&(g=o)}else if(u>0){if(o<g)return;o<c&&(c=o)}if(o=n-s,l||!(o>0)){if(o/=l,l<0){if(o<g)return;o<c&&(c=o)}else if(l>0){if(o>c)return;o>g&&(g=o)}if(o=i-s,l||!(o<0)){if(o/=l,l<0){if(o>c)return;o>g&&(g=o)}else if(l>0){if(o<g)return;o<c&&(c=o)}return g>0&&(e[0]=a+g*u,e[1]=s+g*l),c<1&&(t[0]=a+c*u,t[1]=s+c*l),!0}}}}}(s,E,e,t,A,n)?a&&(p.lineStart(),p.point(i,o),B=!1):(f||(p.lineStart(),p.point(s[0],s[1])),p.point(E[0],E[1]),a||p.lineEnd(),B=!1)}C=i,h=o,f=a}return Q}}var hQ=function(e){return e};function fQ(e){return function(t){var A=new dQ;for(var n in e)A[n]=e[n];return A.stream=t,A}}function dQ(){}function BQ(e,t){e&&EQ.hasOwnProperty(e.type)&&EQ[e.type](e,t)}dQ.prototype={constructor:dQ,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var pQ={Feature:function(e,t){BQ(e.geometry,t)},FeatureCollection:function(e,t){for(var A=e.features,n=-1,r=A.length;++n<r;)BQ(A[n].geometry,t)}},EQ={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var A=e.coordinates,n=-1,r=A.length;++n<r;)e=A[n],t.point(e[0],e[1],e[2])},LineString:function(e,t){QQ(e.coordinates,t,0)},MultiLineString:function(e,t){for(var A=e.coordinates,n=-1,r=A.length;++n<r;)QQ(A[n],t,0)},Polygon:function(e,t){yQ(e.coordinates,t)},MultiPolygon:function(e,t){for(var A=e.coordinates,n=-1,r=A.length;++n<r;)yQ(A[n],t)},GeometryCollection:function(e,t){for(var A=e.geometries,n=-1,r=A.length;++n<r;)BQ(A[n],t)}};function QQ(e,t,A){var n,r=-1,i=e.length-A;for(t.lineStart();++r<i;)n=e[r],t.point(n[0],n[1],n[2]);t.lineEnd()}function yQ(e,t){var A=-1,n=e.length;for(t.polygonStart();++A<n;)QQ(e[A],t,1);t.polygonEnd()}var vQ=1/0,mQ=vQ,bQ=-vQ,wQ=bQ;var SQ={point:function(e,t){e<vQ&&(vQ=e);e>bQ&&(bQ=e);t<mQ&&(mQ=t);t>wQ&&(wQ=t)},lineStart:vE,lineEnd:vE,polygonStart:vE,polygonEnd:vE,result:function(){var e=[[vQ,mQ],[bQ,wQ]];return bQ=wQ=-(mQ=vQ=1/0),e}};function FQ(e,t,A){var n=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=n&&e.clipExtent(null),function(e,t){e&&pQ.hasOwnProperty(e.type)?pQ[e.type](e,t):BQ(e,t)}(A,e.stream(SQ)),t(SQ.result()),null!=n&&e.clipExtent(n),e}function RQ(e,t,A){return FQ(e,(function(A){var n=t[1][0]-t[0][0],r=t[1][1]-t[0][1],i=Math.min(n/(A[1][0]-A[0][0]),r/(A[1][1]-A[0][1])),o=+t[0][0]+(n-i*(A[1][0]+A[0][0]))/2,a=+t[0][1]+(r-i*(A[1][1]+A[0][1]))/2;e.scale(150*i).translate([o,a])}),A)}var DQ=NE(30*DE),GQ=function(e,t){return+t?function(e,t){function A(n,r,i,o,a,s,g,c,u,l,I,C,h,f){var d=g-n,B=c-r,p=d*d+B*B;if(p>4*t&&h--){var E=o+l,Q=a+I,y=s+C,v=ME(E*E+Q*Q+y*y),m=OE(y/=v),b=GE(GE(y)-1)<1e-6||GE(i-u)<1e-6?(i+u)/2:xE(Q,E),w=e(b,m),S=w[0],F=w[1],R=S-n,D=F-r,G=B*R-d*D;(G*G/p>t||GE((d*R+B*D)/p-.5)>.3||o*l+a*I+s*C<DQ)&&(A(n,r,i,o,a,s,S,F,b,E/=v,Q/=v,y,h,f),f.point(S,F),A(S,F,b,E,Q,y,g,c,u,l,I,C,h,f))}}return function(t){var n,r,i,o,a,s,g,c,u,l,I,C,h={point:f,lineStart:d,lineEnd:p,polygonStart:function(){t.polygonStart(),h.lineStart=E},polygonEnd:function(){t.polygonEnd(),h.lineStart=d}};function f(A,n){A=e(A,n),t.point(A[0],A[1])}function d(){c=NaN,h.point=B,t.lineStart()}function B(n,r){var i=jE([n,r]),o=e(n,r);A(c,u,g,l,I,C,c=o[0],u=o[1],g=n,l=i[0],I=i[1],C=i[2],16,t),t.point(c,u)}function p(){h.point=f,t.lineEnd()}function E(){d(),h.point=Q,h.lineEnd=y}function Q(e,t){B(n=e,t),r=c,i=u,o=l,a=I,s=C,h.point=B}function y(){A(c,u,g,l,I,C,r,i,n,o,a,s,16,t),h.lineEnd=p,p()}return h}}(e,t):function(e){return fQ({point:function(t,A){t=e(t,A),this.stream.point(t[0],t[1])}})}(e)};var kQ=fQ({point:function(e,t){this.stream.point(e*DE,t*DE)}});function xQ(e,t,A,n,r,i){if(!i)return function(e,t,A,n,r){function i(i,o){return[t+e*(i*=n),A-e*(o*=r)]}return i.invert=function(i,o){return[(i-t)/e*n,(A-o)/e*r]},i}(e,t,A,n,r);var o=NE(i),a=UE(i),s=o*e,g=a*e,c=o/e,u=a/e,l=(a*A-o*t)/e,I=(a*t+o*A)/e;function C(e,i){return[s*(e*=n)-g*(i*=r)+t,A-g*e-s*i]}return C.invert=function(e,t){return[n*(c*e-u*t+l),r*(I-u*e-c*t)]},C}function NQ(e){return function(e){var t,A,n,r,i,o,a,s,g,c,u=150,l=480,I=250,C=0,h=0,f=0,d=0,B=0,p=0,E=1,Q=1,y=null,v=rQ,m=null,b=hQ,w=.5;function S(e){return s(e[0]*DE,e[1]*DE)}function F(e){return(e=s.invert(e[0],e[1]))&&[e[0]*RE,e[1]*RE]}function R(){var e=xQ(u,0,0,E,Q,p).apply(null,t(C,h)),n=xQ(u,l-e[0],I-e[1],E,Q,p);return A=aQ(f,d,B),a=iQ(t,n),s=iQ(A,a),o=GQ(a,w),D()}function D(){return g=c=null,S}return S.stream=function(e){return g&&c===e?g:g=kQ(function(e){return fQ({point:function(t,A){var n=e(t,A);return this.stream.point(n[0],n[1])}})}(A)(v(o(b(c=e)))))},S.preclip=function(e){return arguments.length?(v=e,y=void 0,D()):v},S.postclip=function(e){return arguments.length?(b=e,m=n=r=i=null,D()):b},S.clipAngle=function(e){return arguments.length?(v=+e?IQ(y=e*DE):(y=null,rQ),D()):y*RE},S.clipExtent=function(e){return arguments.length?(b=null==e?(m=n=r=i=null,hQ):CQ(m=+e[0][0],n=+e[0][1],r=+e[1][0],i=+e[1][1]),D()):null==m?null:[[m,n],[r,i]]},S.scale=function(e){return arguments.length?(u=+e,R()):u},S.translate=function(e){return arguments.length?(l=+e[0],I=+e[1],R()):[l,I]},S.center=function(e){return arguments.length?(C=e[0]%360*DE,h=e[1]%360*DE,R()):[C*RE,h*RE]},S.rotate=function(e){return arguments.length?(f=e[0]%360*DE,d=e[1]%360*DE,B=e.length>2?e[2]%360*DE:0,R()):[f*RE,d*RE,B*RE]},S.angle=function(e){return arguments.length?(p=e%360*DE,R()):p*RE},S.reflectX=function(e){return arguments.length?(E=e?-1:1,R()):E<0},S.reflectY=function(e){return arguments.length?(Q=e?-1:1,R()):Q<0},S.precision=function(e){return arguments.length?(o=GQ(a,w=e*e),D()):ME(w)},S.fitExtent=function(e,t){return RQ(S,e,t)},S.fitSize=function(e,t){return function(e,t,A){return RQ(e,[[0,0],t],A)}(S,e,t)},S.fitWidth=function(e,t){return function(e,t,A){return FQ(e,(function(A){var n=+t,r=n/(A[1][0]-A[0][0]),i=(n-r*(A[1][0]+A[0][0]))/2,o=-r*A[0][1];e.scale(150*r).translate([i,o])}),A)}(S,e,t)},S.fitHeight=function(e,t){return function(e,t,A){return FQ(e,(function(A){var n=+t,r=n/(A[1][1]-A[0][1]),i=-r*A[0][0],o=(n-r*(A[1][1]+A[0][1]))/2;e.scale(150*r).translate([i,o])}),A)}(S,e,t)},function(){return t=e.apply(this,arguments),S.invert=t.invert&&F,R()}}((function(){return e}))()}var UQ=Math.abs,_Q=(Math.atan,Math.atan2,Math.ceil,Math.cos),MQ=(Math.exp,Math.floor,Math.log,Math.max,Math.min,Math.pow,Math.round,Math.sign,Math.sin),OQ=(Math.tan,Math.PI),LQ=OQ/2,TQ=(Math.SQRT1_2,HQ(2));HQ(OQ);function ZQ(e){return e>1?LQ:e<-1?-LQ:Math.asin(e)}function HQ(e){return e>0?Math.sqrt(e):0}function YQ(e,t){var A,n=e*MQ(t),r=30;do{t-=A=(t+MQ(t)-n)/(1+_Q(t))}while(UQ(A)>1e-6&&--r>0);return t/2}var JQ=function(e,t,A){function n(n,r){return[e*n*_Q(r=YQ(A,r)),t*MQ(r)]}return n.invert=function(n,r){return r=ZQ(r/t),[n/(e*_Q(r)),ZQ((2*r+MQ(2*r))/A)]},n}(TQ/LQ,TQ,OQ),jQ=sp(),PQ=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function VQ(e,t){return function A(){var n=t();return n.type=e,n.path=sp().projection(n),n.copy=n.copy||function(){var e=A();return PQ.forEach((function(t){n[t]&&e[t](n[t]())})),e.path.pointRadius(n.path.pointRadius()),e},n}}function KQ(e,t){if(!e||"string"!==typeof e)throw new Error("Projection type must be a name string.");return e=e.toLowerCase(),arguments.length>1?(XQ[e]=VQ(e,t),this):XQ[e]||null}function WQ(e){return e&&e.path||jQ}var XQ={albers:tE,albersusa:function(){var e,t,A,n,r,i,o=tE(),a=eE().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=eE().rotate([157,0]).center([-3,19.9]).parallels([8,18]),g={point:function(e,t){i=[e,t]}};function c(e){var t=e[0],o=e[1];return i=null,A.point(t,o),i||(n.point(t,o),i)||(r.point(t,o),i)}function u(){return e=t=null,c}return c.invert=function(e){var t=o.scale(),A=o.translate(),n=(e[0]-A[0])/t,r=(e[1]-A[1])/t;return(r>=.12&&r<.234&&n>=-.425&&n<-.214?a:r>=.166&&r<.234&&n>=-.214&&n<-.115?s:o).invert(e)},c.stream=function(A){return e&&t===A?e:e=function(e){var t=e.length;return{point:function(A,n){for(var r=-1;++r<t;)e[r].point(A,n)},sphere:function(){for(var A=-1;++A<t;)e[A].sphere()},lineStart:function(){for(var A=-1;++A<t;)e[A].lineStart()},lineEnd:function(){for(var A=-1;++A<t;)e[A].lineEnd()},polygonStart:function(){for(var A=-1;++A<t;)e[A].polygonStart()},polygonEnd:function(){for(var A=-1;++A<t;)e[A].polygonEnd()}}}([o.stream(t=A),a.stream(A),s.stream(A)])},c.precision=function(e){return arguments.length?(o.precision(e),a.precision(e),s.precision(e),u()):o.precision()},c.scale=function(e){return arguments.length?(o.scale(e),a.scale(.35*e),s.scale(e),c.translate(o.translate())):o.scale()},c.translate=function(e){if(!arguments.length)return o.translate();var t=o.scale(),i=+e[0],c=+e[1];return A=o.translate(e).clipExtent([[i-.455*t,c-.238*t],[i+.455*t,c+.238*t]]).stream(g),n=a.translate([i-.307*t,c+.201*t]).clipExtent([[i-.425*t+1e-6,c+.12*t+1e-6],[i-.214*t-1e-6,c+.234*t-1e-6]]).stream(g),r=s.translate([i-.205*t,c+.212*t]).clipExtent([[i-.214*t+1e-6,c+.166*t+1e-6],[i-.115*t-1e-6,c+.234*t-1e-6]]).stream(g),u()},c.fitExtent=function(e,t){return Hp(c,e,t)},c.fitSize=function(e,t){return Yp(c,e,t)},c.fitWidth=function(e,t){return Jp(c,e,t)},c.fitHeight=function(e,t){return jp(c,e,t)},c.scale(1070)},azimuthalequalarea:function(){return Xp(rE).scale(124.75).clipAngle(179.999)},azimuthalequidistant:function(){return Xp(iE).scale(79.4188).clipAngle(179.999)},conicconformal:function(){return zp(gE).scale(109.5).parallels([30,30])},conicequalarea:eE,conicequidistant:function(){return zp(uE).scale(131.154).center([0,13.9389])},equalEarth:function(){return Xp(dE).scale(177.158)},equirectangular:function(){return Xp(cE).scale(152.63)},gnomonic:function(){return Xp(BE).scale(144.049).clipAngle(60)},identity:function(){var e,t,A,n,r,i,o,a=1,s=0,g=0,c=1,u=1,l=0,I=null,C=1,h=1,f=Lp({point:function(e,t){var A=p([e,t]);this.stream.point(A[0],A[1])}}),d=Nd;function B(){return C=a*c,h=a*u,i=o=null,p}function p(A){var n=A[0]*C,r=A[1]*h;if(l){var i=r*e-n*t;n=n*e+r*t,r=i}return[n+s,r+g]}return p.invert=function(A){var n=A[0]-s,r=A[1]-g;if(l){var i=r*e+n*t;n=n*e-r*t,r=i}return[n/C,r/h]},p.stream=function(e){return i&&o===e?i:i=f(d(o=e))},p.postclip=function(e){return arguments.length?(d=e,I=A=n=r=null,B()):d},p.clipExtent=function(e){return arguments.length?(d=null==e?(I=A=n=r=null,Nd):Op(I=+e[0][0],A=+e[0][1],n=+e[1][0],r=+e[1][1]),B()):null==I?null:[[I,A],[n,r]]},p.scale=function(e){return arguments.length?(a=+e,B()):a},p.translate=function(e){return arguments.length?(s=+e[0],g=+e[1],B()):[s,g]},p.angle=function(A){return arguments.length?(t=tB(l=A%360*Vd),e=qd(l),B()):l*Pd},p.reflectX=function(e){return arguments.length?(c=e?-1:1,B()):c<0},p.reflectY=function(e){return arguments.length?(u=e?-1:1,B()):u<0},p.fitExtent=function(e,t){return Hp(p,e,t)},p.fitSize=function(e,t){return Yp(p,e,t)},p.fitWidth=function(e,t){return Jp(p,e,t)},p.fitHeight=function(e,t){return jp(p,e,t)},p},mercator:function(){return aE(oE).scale(961/jd)},mollweide:function(){return NQ(JQ).scale(169.529)},naturalEarth1:function(){return Xp(pE).scale(175.295)},orthographic:function(){return Xp(EE).scale(249.5).clipAngle(90.000001)},stereographic:function(){return Xp(QE).scale(250).clipAngle(142)},transversemercator:function(){var e=aE(yE),t=e.center,A=e.rotate;return e.center=function(e){return arguments.length?t([-e[1],e[0]]):[(e=t())[1],-e[0]]},e.rotate=function(e){return arguments.length?A([e[0],e[1],e.length>2?e[2]+90:90]):[(e=A())[0],e[1],e[2]-90]},A([0,0,90]).scale(159.155)}};for(var qQ in XQ)KQ(qQ,XQ[qQ]);Math.PI;var zQ=Math.abs,$Q=(Math.atan,Math.atan2,Math.cos,Math.ceil);Math.exp,Math.floor,Math.hypot,Math.log,Math.pow,Math.sin,Math.sign,Math.sqrt,Math.tan;function ey(e,t,A){var n=kd(e,t-1e-6,A).concat(t);return function(e){return n.map((function(t){return[e,t]}))}}function ty(e,t,A){var n=kd(e,t-1e-6,A).concat(t);return function(e){return n.map((function(t){return[t,e]}))}}function Ay(){var e,t,A,n,r,i,o,a,s,g,c,u,l=10,I=l,C=90,h=360,f=2.5;function d(){return{type:"MultiLineString",coordinates:B()}}function B(){return kd($Q(n/C)*C,A,C).map(c).concat(kd($Q(a/h)*h,o,h).map(u)).concat(kd($Q(t/l)*l,e,l).filter((function(e){return zQ(e%C)>1e-6})).map(s)).concat(kd($Q(i/I)*I,r,I).filter((function(e){return zQ(e%h)>1e-6})).map(g))}return d.lines=function(){return B().map((function(e){return{type:"LineString",coordinates:e}}))},d.outline=function(){return{type:"Polygon",coordinates:[c(n).concat(u(o).slice(1),c(A).reverse().slice(1),u(a).reverse().slice(1))]}},d.extent=function(e){return arguments.length?d.extentMajor(e).extentMinor(e):d.extentMinor()},d.extentMajor=function(e){return arguments.length?(n=+e[0][0],A=+e[1][0],a=+e[0][1],o=+e[1][1],n>A&&(e=n,n=A,A=e),a>o&&(e=a,a=o,o=e),d.precision(f)):[[n,a],[A,o]]},d.extentMinor=function(A){return arguments.length?(t=+A[0][0],e=+A[1][0],i=+A[0][1],r=+A[1][1],t>e&&(A=t,t=e,e=A),i>r&&(A=i,i=r,r=A),d.precision(f)):[[t,i],[e,r]]},d.step=function(e){return arguments.length?d.stepMajor(e).stepMinor(e):d.stepMinor()},d.stepMajor=function(e){return arguments.length?(C=+e[0],h=+e[1],d):[C,h]},d.stepMinor=function(e){return arguments.length?(l=+e[0],I=+e[1],d):[l,I]},d.precision=function(l){return arguments.length?(f=+l,s=ey(i,r,90),g=ty(t,e,f),c=ey(a,o,90),u=ty(n,A,f),d):f},d.extentMajor([[-180,-89.999999],[180,89.999999]]).extentMinor([[-180,-80.000001],[180,80.000001]])}var ny=function(e,t,A){e.prototype=t.prototype=A,A.constructor=e};function ry(e,t){var A=Object.create(e.prototype);for(var n in t)A[n]=t[n];return A}function iy(){}var oy="\\s*([+-]?\\d+)\\s*",ay="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",sy="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",gy=/^#([0-9a-f]{3,8})$/,cy=new RegExp("^rgb\\("+[oy,oy,oy]+"\\)$"),uy=new RegExp("^rgb\\("+[sy,sy,sy]+"\\)$"),ly=new RegExp("^rgba\\("+[oy,oy,oy,ay]+"\\)$"),Iy=new RegExp("^rgba\\("+[sy,sy,sy,ay]+"\\)$"),Cy=new RegExp("^hsl\\("+[ay,sy,sy]+"\\)$"),hy=new RegExp("^hsla\\("+[ay,sy,sy,ay]+"\\)$"),fy={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function dy(){return this.rgb().formatHex()}function By(){return this.rgb().formatRgb()}function py(e){var t,A;return e=(e+"").trim().toLowerCase(),(t=gy.exec(e))?(A=t[1].length,t=parseInt(t[1],16),6===A?Ey(t):3===A?new my(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===A?Qy(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===A?Qy(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=cy.exec(e))?new my(t[1],t[2],t[3],1):(t=uy.exec(e))?new my(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ly.exec(e))?Qy(t[1],t[2],t[3],t[4]):(t=Iy.exec(e))?Qy(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Cy.exec(e))?Fy(t[1],t[2]/100,t[3]/100,1):(t=hy.exec(e))?Fy(t[1],t[2]/100,t[3]/100,t[4]):fy.hasOwnProperty(e)?Ey(fy[e]):"transparent"===e?new my(NaN,NaN,NaN,0):null}function Ey(e){return new my(e>>16&255,e>>8&255,255&e,1)}function Qy(e,t,A,n){return n<=0&&(e=t=A=NaN),new my(e,t,A,n)}function yy(e){return e instanceof iy||(e=py(e)),e?new my((e=e.rgb()).r,e.g,e.b,e.opacity):new my}function vy(e,t,A,n){return 1===arguments.length?yy(e):new my(e,t,A,null==n?1:n)}function my(e,t,A,n){this.r=+e,this.g=+t,this.b=+A,this.opacity=+n}function by(){return"#"+Sy(this.r)+Sy(this.g)+Sy(this.b)}function wy(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}function Sy(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function Fy(e,t,A,n){return n<=0?e=t=A=NaN:A<=0||A>=1?e=t=NaN:t<=0&&(e=NaN),new Dy(e,t,A,n)}function Ry(e){if(e instanceof Dy)return new Dy(e.h,e.s,e.l,e.opacity);if(e instanceof iy||(e=py(e)),!e)return new Dy;if(e instanceof Dy)return e;var t=(e=e.rgb()).r/255,A=e.g/255,n=e.b/255,r=Math.min(t,A,n),i=Math.max(t,A,n),o=NaN,a=i-r,s=(i+r)/2;return a?(o=t===i?(A-n)/a+6*(A<n):A===i?(n-t)/a+2:(t-A)/a+4,a/=s<.5?i+r:2-i-r,o*=60):a=s>0&&s<1?0:o,new Dy(o,a,s,e.opacity)}function Dy(e,t,A,n){this.h=+e,this.s=+t,this.l=+A,this.opacity=+n}function Gy(e,t,A){return 255*(e<60?t+(A-t)*e/60:e<180?A:e<240?t+(A-t)*(240-e)/60:t)}function ky(){}ny(iy,py,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:dy,formatHex:dy,formatHsl:function(){return Ry(this).formatHsl()},formatRgb:By,toString:By}),ny(my,vy,ry(iy,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new my(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new my(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:by,formatHex:by,formatRgb:wy,toString:wy})),ny(Dy,(function(e,t,A,n){return 1===arguments.length?Ry(e):new Dy(e,t,A,null==n?1:n)}),ry(iy,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new Dy(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new Dy(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,A=this.l,n=A+(A<.5?A:1-A)*t,r=2*A-n;return new my(Gy(e>=240?e-240:e+120,r,n),Gy(e,r,n),Gy(e<120?e+240:e-120,r,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===e?")":", "+e+")")}}));var xy=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function Ny(){var e=1,t=1,A=o;function n(e,t){return t.map((function(t){return r(e,t)}))}function r(n,r){var o=[],a=[];return function(A,n,r){var o,a,s,g,c,u,l=new Array,I=new Array;o=a=-1,g=A[0]>=n,xy[g<<1].forEach(C);for(;++o<e-1;)s=g,g=A[o+1]>=n,xy[s|g<<1].forEach(C);xy[g<<0].forEach(C);for(;++a<t-1;){for(o=-1,g=A[a*e+e]>=n,c=A[a*e]>=n,xy[g<<1|c<<2].forEach(C);++o<e-1;)s=g,g=A[a*e+e+o+1]>=n,u=c,c=A[a*e+o+1]>=n,xy[s|g<<1|c<<2|u<<3].forEach(C);xy[g|c<<3].forEach(C)}o=-1,c=A[a*e]>=n,xy[c<<2].forEach(C);for(;++o<e-1;)u=c,c=A[a*e+o+1]>=n,xy[c<<2|u<<3].forEach(C);function C(e){var t,A,n=[e[0][0]+o,e[0][1]+a],s=[e[1][0]+o,e[1][1]+a],g=i(n),c=i(s);(t=I[g])?(A=l[c])?(delete I[t.end],delete l[A.start],t===A?(t.ring.push(s),r(t.ring)):l[t.start]=I[A.end]={start:t.start,end:A.end,ring:t.ring.concat(A.ring)}):(delete I[t.end],t.ring.push(s),I[t.end=c]=t):(t=l[c])?(A=I[g])?(delete l[t.start],delete I[A.end],t===A?(t.ring.push(s),r(t.ring)):l[A.start]=I[t.end]={start:A.start,end:t.end,ring:A.ring.concat(t.ring)}):(delete l[t.start],t.ring.unshift(n),l[t.start=g]=t):l[g]=I[c]={start:g,end:c,ring:[n,s]}}xy[c<<3].forEach(C)}(n,r,(function(e){A(e,n,r),function(e){var t=0,A=e.length,n=e[A-1][1]*e[0][0]-e[A-1][0]*e[0][1];for(;++t<A;)n+=e[t-1][1]*e[t][0]-e[t-1][0]*e[t][1];return n}(e)>0?o.push([e]):a.push(e)})),a.forEach((function(e){for(var t,A=0,n=o.length;A<n;++A)if(-1!==Uy((t=o[A])[0],e))return void t.push(e)})),{type:"MultiPolygon",value:r,coordinates:o}}function i(t){return 2*t[0]+t[1]*(e+1)*4}function o(A,n,r){A.forEach((function(A){var i,o=A[0],a=A[1],s=0|o,g=0|a,c=n[g*e+s];o>0&&o<e&&s===o&&(i=n[g*e+s-1],A[0]=o+(r-i)/(c-i)-.5),a>0&&a<t&&g===a&&(i=n[(g-1)*e+s],A[1]=a+(r-i)/(c-i)-.5)}))}return n.contour=r,n.size=function(A){if(!arguments.length)return[e,t];var r=Math.floor(A[0]),i=Math.floor(A[1]);return r>=0&&i>=0||Object(ue.o)("invalid size"),e=r,t=i,n},n.smooth=function(e){return arguments.length?(A=e?o:ky,n):A===o},n}function Uy(e,t){for(var A,n=-1,r=t.length;++n<r;)if(A=_y(e,t[n]))return A;return 0}function _y(e,t){for(var A=t[0],n=t[1],r=-1,i=0,o=e.length,a=o-1;i<o;a=i++){var s=e[i],g=s[0],c=s[1],u=e[a],l=u[0],I=u[1];if(My(s,u,t))return 0;c>n!==I>n&&A<(l-g)*(n-c)/(I-c)+g&&(r=-r)}return r}function My(e,t,A){var n,r,i,o;return function(e,t,A){return(t[0]-e[0])*(A[1]-e[1])===(A[0]-e[0])*(t[1]-e[1])}(e,t,A)&&(r=e[n=+(e[0]===t[0])],i=A[n],o=t[n],r<=i&&i<=o||o<=i&&i<=r)}function Oy(e,t,A){return function(n){var r=Object(ue.q)(n),i=A?Math.min(r[0],0):r[0],o=r[1],a=o-i,s=t?function(e,t,A){var n=Math.abs(t-e)/Math.max(0,A),r=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),i=n/r;return i>=Rd?r*=10:i>=Dd?r*=5:i>=Gd&&(r*=2),t<e?-r:r}(i,o,e):a/(e+1);return kd(i+s,o,s)}}function Ly(e){at.call(this,null,e)}function Ty(e,t,A,n,r){var i=e.x1||0,o=e.y1||0,a=t*A<0;function s(e){e.forEach(g)}function g(e){a&&e.reverse(),e.forEach(c)}function c(e){e[0]=(e[0]-i)*t+n,e[1]=(e[1]-o)*A+r}return function(e){return e.coordinates.forEach(s),e}}function Zy(e,t,A){var n=e>=0?e:wt(t,A);return Math.round((Math.sqrt(4*n*n+1)-1)/2)}function Hy(e){return Object(ue.E)(e)?e:Object(ue.m)(+e)}function Yy(){var e=function(e){return e[0]},t=function(e){return e[1]},A=ue.Q,n=[-1,-1],r=960,i=500,o=2;function a(a,s){var g=Zy(n[0],a,e)>>o,c=Zy(n[1],a,t)>>o,u=g?g+2:0,l=c?c+2:0,I=2*u+(r>>o),C=2*l+(i>>o),h=new Float32Array(I*C),f=new Float32Array(I*C),d=h;a.forEach((function(n){var r=u+(+e(n)>>o),i=l+(+t(n)>>o);r>=0&&r<I&&i>=0&&i<C&&(h[r+i*I]+=+A(n))})),g>0&&c>0?(Jy(I,C,h,f,g),jy(I,C,f,h,c),Jy(I,C,h,f,g),jy(I,C,f,h,c),Jy(I,C,h,f,g),jy(I,C,f,h,c)):g>0?(Jy(I,C,h,f,g),Jy(I,C,f,h,g),Jy(I,C,h,f,g),d=f):c>0&&(jy(I,C,h,f,c),jy(I,C,f,h,c),jy(I,C,h,f,c),d=f);for(var B=s?Math.pow(2,-2*o):1/function(e,t){var A=0;if(void 0===t){var n,r=Object(ut.a)(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;(i=+i)&&(A+=i)}}catch(c){r.e(c)}finally{r.f()}}else{var o,a=-1,s=Object(ut.a)(e);try{for(s.s();!(o=s.n()).done;){var g=o.value;(g=+t(g,++a,e))&&(A+=g)}}catch(c){s.e(c)}finally{s.f()}}return A}(d),p=0,E=I*C;p<E;++p)d[p]*=B;return{values:d,scale:1<<o,width:I,height:C,x1:u,y1:l,x2:u+(r>>o),y2:l+(i>>o)}}return a.x=function(t){return arguments.length?(e=Hy(t),a):e},a.y=function(e){return arguments.length?(t=Hy(e),a):t},a.weight=function(e){return arguments.length?(A=Hy(e),a):A},a.size=function(e){if(!arguments.length)return[r,i];var t=+e[0],A=+e[1];return t>=0&&A>=0||Object(ue.o)("invalid size"),r=t,i=A,a},a.cellSize=function(e){return arguments.length?((e=+e)>=1||Object(ue.o)("invalid cell size"),o=Math.floor(Math.log(e)/Math.LN2),a):1<<o},a.bandwidth=function(e){return arguments.length?(1===(e=Object(ue.i)(e)).length&&(e=[+e[0],+e[0]]),2!==e.length&&Object(ue.o)("invalid bandwidth"),n=e,a):n},a}function Jy(e,t,A,n,r){for(var i=1+(r<<1),o=0;o<t;++o)for(var a=0,s=0;a<e+r;++a)a<e&&(s+=A[a+o*e]),a>=r&&(a>=i&&(s-=A[a-i+o*e]),n[a-r+o*e]=s/Math.min(a+1,e-1+i-a,i))}function jy(e,t,A,n,r){for(var i=1+(r<<1),o=0;o<e;++o)for(var a=0,s=0;a<t+r;++a)a<t&&(s+=A[o+a*e]),a>=r&&(a>=i&&(s-=A[o+(a-i)*e]),n[o+(a-r)*e]=s/Math.min(a+1,t-1+i-a,i))}function Py(e){at.call(this,null,e)}Ly.Definition={type:"Isocontour",metadata:{generates:!0},params:[{name:"field",type:"field"},{name:"thresholds",type:"number",array:!0},{name:"levels",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"zero",type:"boolean",default:!0},{name:"smooth",type:"boolean",default:!0},{name:"scale",type:"number",expr:!0},{name:"translate",type:"number",array:!0,expr:!0},{name:"as",type:"string",null:!0,default:"contour"}]},Object(ue.z)(Ly,at,{transform:function(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var A=t.fork(t.NO_SOURCE|t.NO_FIELDS),n=t.materialize(t.SOURCE).source,r=e.field||ue.y,i=Ny().smooth(!1!==e.smooth),o=e.thresholds||function(e,t,A){var n=Oy(A.levels||10,A.nice,!1!==A.zero);return"shared"!==A.resolve?n:n(e.map((function(e){return xd(t(e).values)})))}(n,r,e),a=null===e.as?null:e.as||"contour",s=[];return n.forEach((function(t){var A=r(t),n=i.size([A.width,A.height])(A.values,Object(ue.B)(o)?o:o(A.values));!function(e,t,A,n){var r=n.scale||t.scale,i=n.translate||t.translate;Object(ue.E)(r)&&(r=r(A,n));Object(ue.E)(i)&&(i=i(A,n));if((1===r||null==r)&&!i)return;var o=(Object(ue.G)(r)?r:r[0])||1,a=(Object(ue.G)(r)?r:r[1])||1,s=i&&i[0]||0,g=i&&i[1]||0;e.forEach(Ty(t,o,a,s,g))}(n,A,t,e),n.forEach((function(e){s.push(Se(t,be(null!=a?Object($n.a)({},a,e):e)))}))})),this.value&&(A.rem=this.value),this.value=A.source=A.add=s,A}}),Py.Definition={type:"KDE2D",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"weight",type:"field"},{name:"groupby",type:"field",array:!0},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number",array:!0,length:2},{name:"counts",type:"boolean",default:!1},{name:"as",type:"string",default:"grid"}]};var Vy=["x","y","weight","size","cellSize","bandwidth"];function Ky(e,t){return Vy.forEach((function(A){return null!=t[A]?e[A](t[A]):0})),e}function Wy(e){at.call(this,null,e)}Object(ue.z)(Py,at,{transform:function(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var A,n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=function(e,t){var A,n,r,i,o,a,s=[],g=function(e){return e(i)};if(null==t)s.push(e);else for(A={},n=0,r=e.length;n<r;++n)i=e[n],o=t.map(g),(a=A[o])||(A[o]=a=[],a.dims=o,s.push(a)),a.push(i);return s}(t.materialize(t.SOURCE).source,e.groupby),i=(e.groupby||[]).map(ue.h),o=Ky(Yy(),e),a=e.as||"grid";return A=r.map((function(t){return be(function(e,t){for(var A=0;A<i.length;++A)e[i[A]]=t[A];return e}(Object($n.a)({},a,o(t,e.counts)),t.dims))})),this.value&&(n.rem=this.value),this.value=n.source=n.add=A,n}}),Wy.Definition={type:"Contour",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"values",type:"number",array:!0},{name:"x",type:"field"},{name:"y",type:"field"},{name:"weight",type:"field"},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number"},{name:"count",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"thresholds",type:"number",array:!0},{name:"smooth",type:"boolean",default:!0}]},Object(ue.z)(Wy,at,{transform:function(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var A,n,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=Ny().smooth(!1!==e.smooth),o=e.values,a=e.thresholds||Oy(e.count||10,e.nice,!!o),s=e.size;return o||(o=t.materialize(t.SOURCE).source,n=Ty(A=Ky(Yy(),e)(o,!0),A.scale||1,A.scale||1,0,0),s=[A.width,A.height],o=A.values),a=Object(ue.B)(a)?a:a(o),o=i.size(s)(o,a),n&&o.forEach(n),this.value&&(r.rem=this.value),this.value=r.source=r.add=(o||[]).map(be),r}});function Xy(e){at.call(this,null,e)}function qy(e){at.call(this,null,e)}function zy(e){at.call(this,null,e)}function $y(e){at.call(this,null,e)}function ev(e){at.call(this,[],e),this.generator=Ay()}function tv(e){at.call(this,null,e)}function Av(e){if(!Object(ue.E)(e))return!1;var t=Object(ue.fb)(Object(ue.g)(e));return t.$x||t.$y||t.$value||t.$max}function nv(e){at.call(this,null,e),this.modified(!0)}function rv(e,t,A){Object(ue.E)(e[t])&&e[t](A)}Xy.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},Object(ue.z)(Xy,at,{transform:function(e,t){var A,n=this._features,r=this._points,i=e.fields,o=i&&i[0],a=i&&i[1],s=e.geojson||!i&&ue.y,g=t.ADD;A=e.modified()||t.changed(t.REM)||t.modified(Object(ue.g)(s))||o&&t.modified(Object(ue.g)(o))||a&&t.modified(Object(ue.g)(a)),this.value&&!A||(g=t.SOURCE,this._features=n=[],this._points=r=[]),s&&t.visit(g,(function(e){return n.push(s(e))})),o&&a&&(t.visit(g,(function(e){var t=o(e),A=a(e);null!=t&&null!=A&&(t=+t)===t&&(A=+A)===A&&r.push([t,A])})),n=n.concat({type:"Feature",geometry:{type:"MultiPoint",coordinates:r}})),this.value={type:"FeatureCollection",features:n}}}),qy.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"path"}]},Object(ue.z)(qy,at,{transform:function(e,t){var A=t.fork(t.ALL),n=this.value,r=e.field||ue.y,i=e.as||"path",o=A.SOURCE;!n||e.modified()?(this.value=n=WQ(e.projection),A.materialize().reflow()):o=r===ue.y||t.modified(r.fields)?A.ADD_MOD:A.ADD;var a=function(e,t){var A=e.pointRadius();e.context(null),null!=t&&e.pointRadius(t);return A}(n,e.pointRadius);return A.visit(o,(function(e){return e[i]=n(r(e))})),n.pointRadius(a),A.modifies(i)}}),zy.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]},Object(ue.z)(zy,at,{transform:function(e,t){var A,n=e.projection,r=e.fields[0],i=e.fields[1],o=e.as||["x","y"],a=o[0],s=o[1];function g(e){var t=n([r(e),i(e)]);t?(e[a]=t[0],e[s]=t[1]):(e[a]=void 0,e[s]=void 0)}return e.modified()?t=t.materialize().reflow(!0).visit(t.SOURCE,g):(A=t.modified(r.fields)||t.modified(i.fields),t.visit(A?t.ADD_MOD:t.ADD,g)),t.modifies(o)}}),$y.Definition={type:"GeoShape",metadata:{modifies:!0,nomod:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"shape"}]},Object(ue.z)($y,at,{transform:function(e,t){var A=t.fork(t.ALL),n=this.value,r=e.as||"shape",i=A.ADD;return n&&!e.modified()||(this.value=n=function(e,t,A){var n=null==A?function(A){return e(t(A))}:function(n){var r=e.pointRadius(),i=e.pointRadius(A)(t(n));return e.pointRadius(r),i};return n.context=function(t){return e.context(t),n},n}(WQ(e.projection),e.field||Object(ue.u)("datum"),e.pointRadius),A.materialize().reflow(),i=A.SOURCE),A.visit(i,(function(e){return e[r]=n})),A.modifies(r)}}),ev.Definition={type:"Graticule",metadata:{changes:!0,generates:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]},Object(ue.z)(ev,at,{transform:function(e,t){var A,n=this.value,r=this.generator;if(!n.length||e.modified())for(var i in e)Object(ue.E)(r[i])&&r[i](e[i]);return A=r(),n.length?t.mod.push(Fe(n[0],A)):t.add.push(be(A)),n[0]=A,t}}),tv.Definition={type:"heatmap",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"color",type:"string",expr:!0},{name:"opacity",type:"number",expr:!0},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"as",type:"string",default:"image"}]},Object(ue.z)(tv,at,{transform:function(e,t){if(!t.changed()&&!e.modified())return t.StopPropagation;var A=t.materialize(t.SOURCE).source,n="shared"===e.resolve,r=e.field||ue.y,i=function(e,t){var A;Object(ue.E)(e)?(A=function(A){return e(A,t)}).dep=Av(e):e?A=Object(ue.m)(e):(A=function(e){return e.$value/e.$max||0}).dep=!0;return A}(e.opacity,e),o=function(e,t){var A;Object(ue.E)(e)?(A=function(A){return vy(e(A,t))}).dep=Av(e):A=Object(ue.m)(vy(e||"#888"));return A}(e.color,e),a=e.as||"image",s={$x:0,$y:0,$value:0,$max:n?xd(A.map((function(e){return xd(r(e).values)}))):0};return A.forEach((function(e){var t=r(e),A=Object(ue.p)({},e,s);n||(A.$max=xd(t.values||[])),e[a]=function(e,t,A,n){for(var r=e.width,i=e.height,o=e.x1||0,a=e.y1||0,s=e.x2||r,g=e.y2||i,c=e.values,u=c?function(e){return c[e]}:ue.mb,l=Ii(s-o,g-a),I=l.getContext("2d"),C=I.getImageData(0,0,s-o,g-a),h=C.data,f=a,d=0;f<g;++f){t.$y=f-a;for(var B=o,p=f*r;B<s;++B,d+=4){t.$x=B-o,t.$value=u(B+p);var E=A(t);h[d+0]=E.r,h[d+1]=E.g,h[d+2]=E.b,h[d+3]=~~(255*n(t))}}return I.putImageData(C,0,0),l}(t,A,o.dep?o:Object(ue.m)(o(A)),i.dep?i:Object(ue.m)(i(A)))})),t.reflow(!0).modifies(a)}}),Object(ue.z)(nv,at,{transform:function(e,t){var A=this.value;return!A||e.modified("type")?(this.value=A=function(e){var t=KQ((e||"mercator").toLowerCase());t||Object(ue.o)("Unrecognized projection type: "+e);return t()}(e.type),PQ.forEach((function(t){null!=e[t]&&rv(A,t,e[t])}))):PQ.forEach((function(t){e.modified(t)&&rv(A,t,e[t])})),null!=e.pointRadius&&A.path.pointRadius(e.pointRadius),e.fit&&function(e,t){var A=function(e){return 1===(e=Object(ue.i)(e)).length?e[0]:{type:"FeatureCollection",features:e.reduce((function(e,t){return e.concat(function(e){return"FeatureCollection"===e.type?e.features:Object(ue.i)(e).filter((function(e){return null!=e})).map((function(e){return"Feature"===e.type?e:{type:"Feature",geometry:e}}))}(t))}),[])}}(t.fit);t.extent?e.fitExtent(t.extent,A):t.size&&e.fitSize(t.size,A)}(A,e),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});var iv=A(1284),ov=function(e){return function(){return e}},av=function(e){return 1e-6*(e()-.5)};function sv(e){return e.x+e.vx}function gv(e){return e.y+e.vy}var cv=A(529);function uv(e){return e.index}function lv(e,t){var A=e.get(t);if(!A)throw new Error("node not found: "+t);return A}var Iv={center:function(e,t){var A,n=1;function r(){var r,i,o=A.length,a=0,s=0;for(r=0;r<o;++r)a+=(i=A[r]).x,s+=i.y;for(a=(a/o-e)*n,s=(s/o-t)*n,r=0;r<o;++r)(i=A[r]).x-=a,i.y-=s}return null==e&&(e=0),null==t&&(t=0),r.initialize=function(e){A=e},r.x=function(t){return arguments.length?(e=+t,r):e},r.y=function(e){return arguments.length?(t=+e,r):t},r.strength=function(e){return arguments.length?(n=+e,r):n},r},collide:function(e){var t,A,n,r=1,i=1;function o(){for(var e,o,s,g,c,u,l,I=t.length,C=0;C<i;++C)for(o=Object(iv.a)(t,sv,gv).visitAfter(a),e=0;e<I;++e)s=t[e],u=A[s.index],l=u*u,g=s.x+s.vx,c=s.y+s.vy,o.visit(h);function h(e,t,A,i,o){var a=e.data,I=e.r,C=u+I;if(!a)return t>g+C||i<g-C||A>c+C||o<c-C;if(a.index>s.index){var h=g-a.x-a.vx,f=c-a.y-a.vy,d=h*h+f*f;d<C*C&&(0===h&&(d+=(h=av(n))*h),0===f&&(d+=(f=av(n))*f),d=(C-(d=Math.sqrt(d)))/d*r,s.vx+=(h*=d)*(C=(I*=I)/(l+I)),s.vy+=(f*=d)*C,a.vx-=h*(C=1-C),a.vy-=f*C)}}}function a(e){if(e.data)return e.r=A[e.data.index];for(var t=e.r=0;t<4;++t)e[t]&&e[t].r>e.r&&(e.r=e[t].r)}function s(){if(t){var n,r,i=t.length;for(A=new Array(i),n=0;n<i;++n)r=t[n],A[r.index]=+e(r,n,t)}}return"function"!==typeof e&&(e=ov(null==e?1:+e)),o.initialize=function(e,A){t=e,n=A,s()},o.iterations=function(e){return arguments.length?(i=+e,o):i},o.strength=function(e){return arguments.length?(r=+e,o):r},o.radius=function(t){return arguments.length?(e="function"===typeof t?t:ov(+t),s(),o):e},o},nbody:function(){var e,t,A,n,r,i=ov(-30),o=1,a=1/0,s=.81;function g(A){var r,i=e.length,o=Object(iv.a)(e,cv.b,cv.c).visitAfter(u);for(n=A,r=0;r<i;++r)t=e[r],o.visit(l)}function c(){if(e){var t,A,n=e.length;for(r=new Array(n),t=0;t<n;++t)A=e[t],r[A.index]=+i(A,t,e)}}function u(e){var t,A,n,i,o,a=0,s=0;if(e.length){for(n=i=o=0;o<4;++o)(t=e[o])&&(A=Math.abs(t.value))&&(a+=t.value,s+=A,n+=A*t.x,i+=A*t.y);e.x=n/s,e.y=i/s}else{(t=e).x=t.data.x,t.y=t.data.y;do{a+=r[t.data.index]}while(t=t.next)}e.value=a}function l(e,i,g,c){if(!e.value)return!0;var u=e.x-t.x,l=e.y-t.y,I=c-i,C=u*u+l*l;if(I*I/s<C)return C<a&&(0===u&&(C+=(u=av(A))*u),0===l&&(C+=(l=av(A))*l),C<o&&(C=Math.sqrt(o*C)),t.vx+=u*e.value*n/C,t.vy+=l*e.value*n/C),!0;if(!(e.length||C>=a)){(e.data!==t||e.next)&&(0===u&&(C+=(u=av(A))*u),0===l&&(C+=(l=av(A))*l),C<o&&(C=Math.sqrt(o*C)));do{e.data!==t&&(I=r[e.data.index]*n/C,t.vx+=u*I,t.vy+=l*I)}while(e=e.next)}}return g.initialize=function(t,n){e=t,A=n,c()},g.strength=function(e){return arguments.length?(i="function"===typeof e?e:ov(+e),c(),g):i},g.distanceMin=function(e){return arguments.length?(o=e*e,g):Math.sqrt(o)},g.distanceMax=function(e){return arguments.length?(a=e*e,g):Math.sqrt(a)},g.theta=function(e){return arguments.length?(s=e*e,g):Math.sqrt(s)},g},link:function(e){var t,A,n,r,i,o,a=uv,s=function(e){return 1/Math.min(r[e.source.index],r[e.target.index])},g=ov(30),c=1;function u(n){for(var r=0,a=e.length;r<c;++r)for(var s,g,u,l,I,C,h,f=0;f<a;++f)g=(s=e[f]).source,l=(u=s.target).x+u.vx-g.x-g.vx||av(o),I=u.y+u.vy-g.y-g.vy||av(o),l*=C=((C=Math.sqrt(l*l+I*I))-A[f])/C*n*t[f],I*=C,u.vx-=l*(h=i[f]),u.vy-=I*h,g.vx+=l*(h=1-h),g.vy+=I*h}function l(){if(n){var o,s,g=n.length,c=e.length,u=new Map(n.map((function(e,t){return[a(e,t,n),e]})));for(o=0,r=new Array(g);o<c;++o)(s=e[o]).index=o,"object"!==typeof s.source&&(s.source=lv(u,s.source)),"object"!==typeof s.target&&(s.target=lv(u,s.target)),r[s.source.index]=(r[s.source.index]||0)+1,r[s.target.index]=(r[s.target.index]||0)+1;for(o=0,i=new Array(c);o<c;++o)s=e[o],i[o]=r[s.source.index]/(r[s.source.index]+r[s.target.index]);t=new Array(c),I(),A=new Array(c),C()}}function I(){if(n)for(var A=0,r=e.length;A<r;++A)t[A]=+s(e[A],A,e)}function C(){if(n)for(var t=0,r=e.length;t<r;++t)A[t]=+g(e[t],t,e)}return null==e&&(e=[]),u.initialize=function(e,t){n=e,o=t,l()},u.links=function(t){return arguments.length?(e=t,l(),u):e},u.id=function(e){return arguments.length?(a=e,u):a},u.iterations=function(e){return arguments.length?(c=+e,u):c},u.strength=function(e){return arguments.length?(s="function"===typeof e?e:ov(+e),I(),u):s},u.distance=function(e){return arguments.length?(g="function"===typeof e?e:ov(+e),C(),u):g},u},x:function(e){var t,A,n,r=ov(.1);function i(e){for(var r,i=0,o=t.length;i<o;++i)(r=t[i]).vx+=(n[i]-r.x)*A[i]*e}function o(){if(t){var i,o=t.length;for(A=new Array(o),n=new Array(o),i=0;i<o;++i)A[i]=isNaN(n[i]=+e(t[i],i,t))?0:+r(t[i],i,t)}}return"function"!==typeof e&&(e=ov(null==e?0:+e)),i.initialize=function(e){t=e,o()},i.strength=function(e){return arguments.length?(r="function"===typeof e?e:ov(+e),o(),i):r},i.x=function(t){return arguments.length?(e="function"===typeof t?t:ov(+t),o(),i):e},i},y:function(e){var t,A,n,r=ov(.1);function i(e){for(var r,i=0,o=t.length;i<o;++i)(r=t[i]).vy+=(n[i]-r.y)*A[i]*e}function o(){if(t){var i,o=t.length;for(A=new Array(o),n=new Array(o),i=0;i<o;++i)A[i]=isNaN(n[i]=+e(t[i],i,t))?0:+r(t[i],i,t)}}return"function"!==typeof e&&(e=ov(null==e?0:+e)),i.initialize=function(e){t=e,o()},i.strength=function(e){return arguments.length?(r="function"===typeof e?e:ov(+e),o(),i):r},i.y=function(t){return arguments.length?(e="function"===typeof t?t:ov(+t),o(),i):e},i}},Cv=["alpha","alphaMin","alphaTarget","velocityDecay","forces"],hv=["static","iterations"],fv=["x","y","vx","vy"];function dv(e){at.call(this,null,e)}function Bv(e,t,A,n){var r,i,o,a,s=Object(ue.i)(t.forces);for(r=0,i=Cv.length;r<i;++r)"forces"!==(o=Cv[r])&&t.modified(o)&&e[o](t[o]);for(r=0,i=s.length;r<i;++r)a="forces"+r,(o=A||t.modified("forces",r)?Ev(s[r]):n&&pv(s[r],n)?e.force(a):null)&&e.force(a,o);for(i=e.numForces||0;r<i;++r)e.force("forces"+r,null);return e.numForces=s.length,e}function pv(e,t){var A,n;for(A in e)if(Object(ue.E)(n=e[A])&&t.modified(Object(ue.g)(n)))return 1;return 0}function Ev(e){var t,A;for(A in Object(ue.w)(Iv,e.force)||Object(ue.o)("Unrecognized force: "+e.force),t=Iv[e.force](),e)Object(ue.E)(t[A])&&Qv(t[A],e[A],e);return t}function Qv(e,t,A){e(Object(ue.E)(t)?function(e){return t(e,A)}:t)}function yv(e){var t=0,A=e.children,n=A&&A.length;if(n)for(;--n>=0;)t+=A[n].value;else t=1;e.value=t}dv.Definition={type:"Force",metadata:{modifies:!0},params:[{name:"static",type:"boolean",default:!1},{name:"restart",type:"boolean",default:!1},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:!0,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:!0},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:!0},{name:"strength",type:"number",expr:!0},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:!0,modify:!1,default:fv}]},Object(ue.z)(dv,at,{transform:function(e,t){var A,n,r=this.value,i=t.changed(t.ADD_REM),o=e.modified(Cv),a=e.iterations||300;if(r?(i&&(t.modifies("index"),r.nodes(t.source)),(o||t.changed(t.MOD))&&Bv(r,e,0,t)):(this.value=r=function(e,t){var A=Object(cv.a)(e),n=A.stop,r=A.restart,i=!1;return A.stopped=function(){return i},A.restart=function(){return i=!1,r()},A.stop=function(){return i=!0,n()},Bv(A,t,!0).on("end",(function(){return i=!0}))}(t.source,e),r.on("tick",(A=t.dataflow,n=this,function(){return A.touch(n).run()})),e.static||(i=!0,r.tick()),t.modifies("index")),o||i||e.modified(hv)||t.changed()&&e.restart)if(r.alpha(Math.max(r.alpha(),e.alpha||1)).alphaDecay(1-Math.pow(r.alphaMin(),1/a)),e.static)for(r.stop();--a>=0;)r.tick();else if(r.stopped()&&r.restart(),!i)return t.StopPropagation;return this.finish(e,t)},finish:function(e,t){for(var A,n=t.dataflow,r=this._argops,i=0,o=r.length;i<o;++i)if("forces"===(A=r[i]).name&&"link"===A.op._argval.force)for(var a,s=A.op._argops,g=0,c=s.length;g<c;++g)if("links"===s[g].name&&(a=s[g].op.source)){n.pulse(a,n.changeset().reflow());break}return t.reflow(e.modified()).modifies(fv)}});var vv=Ie.a.mark(mv);function mv(){var e,t,A,n,r,i;return Ie.a.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:A=[e=this];case 1:t=A.reverse(),A=[];case 2:if(!(e=t.pop())){o.next=8;break}return o.next=5,e;case 5:if(n=e.children)for(r=0,i=n.length;r<i;++r)A.push(n[r]);o.next=2;break;case 8:if(A.length){o.next=1;break}case 9:case"end":return o.stop()}}),vv,this)}function bv(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=Sv)):void 0===t&&(t=wv);for(var A,n,r,i,o,a=new Dv(e),s=[a];A=s.pop();)if((r=t(A.data))&&(o=(r=Array.from(r)).length))for(A.children=r,i=o-1;i>=0;--i)s.push(n=r[i]=new Dv(r[i])),n.parent=A,n.depth=A.depth+1;return a.eachBefore(Rv)}function wv(e){return e.children}function Sv(e){return Array.isArray(e)?e[1]:null}function Fv(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function Rv(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function Dv(e){this.data=e,this.depth=this.height=0,this.parent=null}Dv.prototype=bv.prototype=Object($n.a)({constructor:Dv,count:function(){return this.eachAfter(yv)},each:function(e,t){var A,n=-1,r=Object(ut.a)(this);try{for(r.s();!(A=r.n()).done;){var i=A.value;e.call(t,i,++n,this)}}catch(o){r.e(o)}finally{r.f()}return this},eachAfter:function(e,t){for(var A,n,r,i=this,o=[i],a=[],s=-1;i=o.pop();)if(a.push(i),A=i.children)for(n=0,r=A.length;n<r;++n)o.push(A[n]);for(;i=a.pop();)e.call(t,i,++s,this);return this},eachBefore:function(e,t){for(var A,n,r=this,i=[r],o=-1;r=i.pop();)if(e.call(t,r,++o,this),A=r.children)for(n=A.length-1;n>=0;--n)i.push(A[n]);return this},find:function(e,t){var A,n=-1,r=Object(ut.a)(this);try{for(r.s();!(A=r.n()).done;){var i=A.value;if(e.call(t,i,++n,this))return i}}catch(o){r.e(o)}finally{r.f()}},sum:function(e){return this.eachAfter((function(t){for(var A=+e(t.data)||0,n=t.children,r=n&&n.length;--r>=0;)A+=n[r].value;t.value=A}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,A=function(e,t){if(e===t)return e;var A=e.ancestors(),n=t.ancestors(),r=null;e=A.pop(),t=n.pop();for(;e===t;)r=e,e=A.pop(),t=n.pop();return r}(t,e),n=[t];t!==A;)t=t.parent,n.push(t);for(var r=n.length;e!==A;)n.splice(r,0,e),e=e.parent;return n},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){return Array.from(this)},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(A){A!==e&&t.push({source:A.parent,target:A})})),t},copy:function(){return bv(this).eachBefore(Fv)}},Symbol.iterator,mv);var Gv=function(e){for(var t,A,n=0,r=(e=function(e){for(var t,A,n=e.length;n;)A=Math.random()*n--|0,t=e[n],e[n]=e[A],e[A]=t;return e}(Array.from(e))).length,i=[];n<r;)t=e[n],A&&Nv(A,t)?++n:(A=_v(i=kv(i,t)),n=0);return A};function kv(e,t){var A,n;if(Uv(t,e))return[t];for(A=0;A<e.length;++A)if(xv(t,e[A])&&Uv(Mv(e[A],t),e))return[e[A],t];for(A=0;A<e.length-1;++A)for(n=A+1;n<e.length;++n)if(xv(Mv(e[A],e[n]),t)&&xv(Mv(e[A],t),e[n])&&xv(Mv(e[n],t),e[A])&&Uv(Ov(e[A],e[n],t),e))return[e[A],e[n],t];throw new Error}function xv(e,t){var A=e.r-t.r,n=t.x-e.x,r=t.y-e.y;return A<0||A*A<n*n+r*r}function Nv(e,t){var A=e.r-t.r+1e-9*Math.max(e.r,t.r,1),n=t.x-e.x,r=t.y-e.y;return A>0&&A*A>n*n+r*r}function Uv(e,t){for(var A=0;A<t.length;++A)if(!Nv(e,t[A]))return!1;return!0}function _v(e){switch(e.length){case 1:return{x:(t=e[0]).x,y:t.y,r:t.r};case 2:return Mv(e[0],e[1]);case 3:return Ov(e[0],e[1],e[2])}var t}function Mv(e,t){var A=e.x,n=e.y,r=e.r,i=t.x,o=t.y,a=t.r,s=i-A,g=o-n,c=a-r,u=Math.sqrt(s*s+g*g);return{x:(A+i+s/u*c)/2,y:(n+o+g/u*c)/2,r:(u+r+a)/2}}function Ov(e,t,A){var n=e.x,r=e.y,i=e.r,o=t.x,a=t.y,s=t.r,g=A.x,c=A.y,u=A.r,l=n-o,I=n-g,C=r-a,h=r-c,f=s-i,d=u-i,B=n*n+r*r-i*i,p=B-o*o-a*a+s*s,E=B-g*g-c*c+u*u,Q=I*C-l*h,y=(C*E-h*p)/(2*Q)-n,v=(h*f-C*d)/Q,m=(I*p-l*E)/(2*Q)-r,b=(l*d-I*f)/Q,w=v*v+b*b-1,S=2*(i+y*v+m*b),F=y*y+m*m-i*i,R=-(w?(S+Math.sqrt(S*S-4*w*F))/(2*w):F/S);return{x:n+y+v*R,y:r+m+b*R,r:R}}function Lv(e,t,A){var n,r,i,o,a=e.x-t.x,s=e.y-t.y,g=a*a+s*s;g?(r=t.r+A.r,r*=r,o=e.r+A.r,r>(o*=o)?(n=(g+o-r)/(2*g),i=Math.sqrt(Math.max(0,o/g-n*n)),A.x=e.x-n*a-i*s,A.y=e.y-n*s+i*a):(n=(g+r-o)/(2*g),i=Math.sqrt(Math.max(0,r/g-n*n)),A.x=t.x+n*a-i*s,A.y=t.y+n*s+i*a)):(A.x=t.x+A.r,A.y=t.y)}function Tv(e,t){var A=e.r+t.r-1e-6,n=t.x-e.x,r=t.y-e.y;return A>0&&A*A>n*n+r*r}function Zv(e){var t=e._,A=e.next._,n=t.r+A.r,r=(t.x*A.r+A.x*t.r)/n,i=(t.y*A.r+A.y*t.r)/n;return r*r+i*i}function Hv(e){this._=e,this.next=null,this.previous=null}function Yv(e){if(!(i=(t=e,e="object"===typeof t&&"length"in t?t:Array.from(t)).length))return 0;var t,A,n,r,i,o,a,s,g,c,u,l;if((A=e[0]).x=0,A.y=0,!(i>1))return A.r;if(n=e[1],A.x=-n.r,n.x=A.r,n.y=0,!(i>2))return A.r+n.r;Lv(n,A,r=e[2]),A=new Hv(A),n=new Hv(n),r=new Hv(r),A.next=r.previous=n,n.next=A.previous=r,r.next=n.previous=A;e:for(s=3;s<i;++s){Lv(A._,n._,r=e[s]),r=new Hv(r),g=n.next,c=A.previous,u=n._.r,l=A._.r;do{if(u<=l){if(Tv(g._,r._)){n=g,A.next=n,n.previous=A,--s;continue e}u+=g._.r,g=g.next}else{if(Tv(c._,r._)){(A=c).next=n,n.previous=A,--s;continue e}l+=c._.r,c=c.previous}}while(g!==c.next);for(r.previous=A,r.next=n,A.next=n.previous=n=r,o=Zv(A);(r=r.next)!==n;)(a=Zv(r))<o&&(A=r,o=a);n=A.next}for(A=[n._],r=n;(r=r.next)!==n;)A.push(r._);for(r=Gv(A),s=0;s<i;++s)(A=e[s]).x-=r.x,A.y-=r.y;return r.r}function Jv(e){return null==e?null:jv(e)}function jv(e){if("function"!==typeof e)throw new Error;return e}function Pv(){return 0}var Vv=function(e){return function(){return e}};function Kv(e){return Math.sqrt(e.value)}function Wv(e){return function(t){t.children||(t.r=Math.max(0,+e(t)||0))}}function Xv(e,t){return function(A){if(n=A.children){var n,r,i,o=n.length,a=e(A)*t||0;if(a)for(r=0;r<o;++r)n[r].r+=a;if(i=Yv(n),a)for(r=0;r<o;++r)n[r].r-=a;A.r=i+a}}}function qv(e){return function(t){var A=t.parent;t.r*=e,A&&(t.x=A.x+e*t.x,t.y=A.y+e*t.y)}}var zv=function(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)},$v=function(e,t,A,n,r){for(var i,o=e.children,a=-1,s=o.length,g=e.value&&(n-t)/e.value;++a<s;)(i=o[a]).y0=A,i.y1=r,i.x0=t,i.x1=t+=i.value*g},em={depth:-1},tm={};function Am(e){return e.id}function nm(e){return e.parentId}var rm=function(){var e=Am,t=nm;function A(A){var n,r,i,o,a,s,g,c=Array.from(A),u=c.length,l=new Map;for(r=0;r<u;++r)n=c[r],a=c[r]=new Dv(n),null!=(s=e(n,r,A))&&(s+="")&&(g=a.id=s,l.set(g,l.has(g)?tm:a)),null!=(s=t(n,r,A))&&(s+="")&&(a.parent=s);for(r=0;r<u;++r)if(s=(a=c[r]).parent){if(!(o=l.get(s)))throw new Error("missing: "+s);if(o===tm)throw new Error("ambiguous: "+s);o.children?o.children.push(a):o.children=[a],a.parent=o}else{if(i)throw new Error("multiple roots");i=a}if(!i)throw new Error("no root");if(i.parent=em,i.eachBefore((function(e){e.depth=e.parent.depth+1,--u})).eachBefore(Rv),i.parent=null,u>0)throw new Error("cycle");return i}return A.id=function(t){return arguments.length?(e=jv(t),A):e},A.parentId=function(e){return arguments.length?(t=jv(e),A):t},A};function im(e,t){return e.parent===t.parent?1:2}function om(e){var t=e.children;return t?t[0]:e.t}function am(e){var t=e.children;return t?t[t.length-1]:e.t}function sm(e,t,A){var n=A/(t.i-e.i);t.c-=n,t.s+=A,e.c+=n,t.z+=A,t.m+=A}function gm(e,t,A){return e.a.parent===t.parent?e.a:A}function cm(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}cm.prototype=Object.create(Dv.prototype);function um(e,t){return e.parent===t.parent?1:2}function lm(e,t){return e+t.x}function Im(e,t){return Math.max(e,t.y)}var Cm=function(e,t,A,n,r){for(var i,o=e.children,a=-1,s=o.length,g=e.value&&(r-A)/e.value;++a<s;)(i=o[a]).x0=t,i.x1=n,i.y0=A,i.y1=A+=i.value*g},hm=(1+Math.sqrt(5))/2;function fm(e,t,A,n,r,i){for(var o,a,s,g,c,u,l,I,C,h,f,d=[],B=t.children,p=0,E=0,Q=B.length,y=t.value;p<Q;){s=r-A,g=i-n;do{c=B[E++].value}while(!c&&E<Q);for(u=l=c,f=c*c*(h=Math.max(g/s,s/g)/(y*e)),C=Math.max(l/f,f/u);E<Q;++E){if(c+=a=B[E].value,a<u&&(u=a),a>l&&(l=a),f=c*c*h,(I=Math.max(l/f,f/u))>C){c-=a;break}C=I}d.push(o={value:c,dice:s<g,children:B.slice(p,E)}),o.dice?$v(o,A,n,r,y?n+=g*c/y:i):Cm(o,A,n,y?A+=s*c/y:r,i),y-=c,p=E}return d}var dm=function e(t){function A(e,A,n,r,i){fm(t,e,A,n,r,i)}return A.ratio=function(t){return e((t=+t)>1?t:1)},A}(hm),Bm=function e(t){function A(e,A,n,r,i){if((o=e._squarify)&&o.ratio===t)for(var o,a,s,g,c,u=-1,l=o.length,I=e.value;++u<l;){for(s=(a=o[u]).children,g=a.value=0,c=s.length;g<c;++g)a.value+=s[g].value;a.dice?$v(a,A,n,r,I?n+=(i-n)*a.value/I:i):Cm(a,A,n,I?A+=(r-A)*a.value/I:r,i),I-=a.value}else e._squarify=o=fm(t,e,A,n,r,i),o.ratio=t}return A.ratio=function(t){return e((t=+t)>1?t:1)},A}(hm);function pm(e,t,A){var n={};return e.each((function(e){var r=e.data;A(r)&&(n[t(r)]=e)})),e.lookup=n,e}function Em(e){at.call(this,null,e)}Em.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]};var Qm=function(e){return e.values};function ym(){var e=[],t={entries:function(t){return function t(A,n){if(++n>e.length)return A;var r=[];for(var i in A)r.push({key:i,values:t(A[i],n)});return r}(function t(A,n){if(n>=e.length)return A;var r,i,o,a=A.length,s=e[n++],g={},c={},u=-1;for(;++u<a;)r=s(i=A[u])+"",(o=g[r])?o.push(i):g[r]=[i];for(r in g)c[r]=t(g[r],n);return c}(t,0),0)},key:function(A){return e.push(A),t}};return t}function vm(e){at.call(this,null,e)}Object(ue.z)(Em,at,{transform:function(e,t){t.source||Object(ue.o)("Nest transform requires an upstream data source.");var A=e.generate,n=e.modified(),r=t.clone(),i=this.value;return(!i||n||t.changed())&&(i&&i.each((function(e){e.children&&ye(e.data)&&r.rem.push(e.data)})),this.value=i=bv({values:Object(ue.i)(e.keys).reduce((function(e,t){return e.key(t),e}),ym()).entries(r.source)},Qm),A&&i.each((function(e){e.children&&(e=be(e.data),r.add.push(e),r.source.push(e))})),pm(i,ve,ve)),r.source.root=i,r}});var mm=function(e,t){return e.parent===t.parent?1:2};Object(ue.z)(vm,at,{transform:function(e,t){t.source&&t.source.root||Object(ue.o)(this.constructor.name+" transform requires a backing tree data source.");var A=this.layout(e.method),n=this.fields,r=t.source.root,i=e.as||n;e.field?r.sum(e.field):r.count(),e.sort&&r.sort(Re(e.sort,(function(e){return e.data}))),function(e,t,A){for(var n,r=0,i=t.length;r<i;++r)(n=t[r])in A&&e[n](A[n])}(A,this.params,e),A.separation&&A.separation(!1!==e.separation?mm:ue.Q);try{this.value=A(r)}catch(o){Object(ue.o)(o)}return r.each((function(e){return function(e,t,A){for(var n=e.data,r=t.length-1,i=0;i<r;++i)n[A[i]]=e[t[i]];n[A[r]]=e.children?e.children.length:0}(e,n,i)})),t.reflow(e.modified()).modifies(i).modifies("leaf")}});var bm=["x","y","r","depth","children"];function wm(e){vm.call(this,e)}wm.Definition={type:"Pack",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"radius",type:"field",default:null},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:bm.length,default:bm}]},Object(ue.z)(wm,vm,{layout:function(){var e=null,t=1,A=1,n=Pv;function r(r){return r.x=t/2,r.y=A/2,e?r.eachBefore(Wv(e)).eachAfter(Xv(n,.5)).eachBefore(qv(1)):r.eachBefore(Wv(Kv)).eachAfter(Xv(Pv,1)).eachAfter(Xv(n,r.r/Math.min(t,A))).eachBefore(qv(Math.min(t,A)/(2*r.r))),r}return r.radius=function(t){return arguments.length?(e=Jv(t),r):e},r.size=function(e){return arguments.length?(t=+e[0],A=+e[1],r):[t,A]},r.padding=function(e){return arguments.length?(n="function"===typeof e?e:Vv(+e),r):n},r},params:["radius","size","padding"],fields:bm});var Sm=["x0","y0","x1","y1","depth","children"];function Fm(e){vm.call(this,e)}function Rm(e){at.call(this,null,e)}Fm.Definition={type:"Partition",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:Sm.length,default:Sm}]},Object(ue.z)(Fm,vm,{layout:function(){var e=1,t=1,A=0,n=!1;function r(r){var i=r.height+1;return r.x0=r.y0=A,r.x1=e,r.y1=t/i,r.eachBefore(function(e,t){return function(n){n.children&&$v(n,n.x0,e*(n.depth+1)/t,n.x1,e*(n.depth+2)/t);var r=n.x0,i=n.y0,o=n.x1-A,a=n.y1-A;o<r&&(r=o=(r+o)/2),a<i&&(i=a=(i+a)/2),n.x0=r,n.y0=i,n.x1=o,n.y1=a}}(t,i)),n&&r.eachBefore(zv),r}return r.round=function(e){return arguments.length?(n=!!e,r):n},r.size=function(A){return arguments.length?(e=+A[0],t=+A[1],r):[e,t]},r.padding=function(e){return arguments.length?(A=+e,r):A},r},params:["size","round","padding"],fields:Sm}),Rm.Definition={type:"Stratify",metadata:{treesource:!0},params:[{name:"key",type:"field",required:!0},{name:"parentKey",type:"field",required:!0}]},Object(ue.z)(Rm,at,{transform:function(e,t){t.source||Object(ue.o)("Stratify transform requires an upstream data source.");var A=this.value,n=e.modified(),r=t.fork(t.ALL).materialize(t.SOURCE),i=!A||n||t.changed(t.ADD_REM)||t.modified(e.key.fields)||t.modified(e.parentKey.fields);return r.source=r.source.slice(),i&&(A=r.source.length?pm(rm().id(e.key).parentId(e.parentKey)(r.source),e.key,ue.ib):pm(rm()([{}]),e.key,e.key)),r.source.root=this.value=A,r}});var Dm={tidy:function(){var e=im,t=1,A=1,n=null;function r(r){var s=function(e){for(var t,A,n,r,i,o=new cm(e,0),a=[o];t=a.pop();)if(n=t._.children)for(t.children=new Array(i=n.length),r=i-1;r>=0;--r)a.push(A=t.children[r]=new cm(n[r],r)),A.parent=t;return(o.parent=new cm(null,0)).children=[o],o}(r);if(s.eachAfter(i),s.parent.m=-s.z,s.eachBefore(o),n)r.eachBefore(a);else{var g=r,c=r,u=r;r.eachBefore((function(e){e.x<g.x&&(g=e),e.x>c.x&&(c=e),e.depth>u.depth&&(u=e)}));var l=g===c?1:e(g,c)/2,I=l-g.x,C=t/(c.x+l+I),h=A/(u.depth||1);r.eachBefore((function(e){e.x=(e.x+I)*C,e.y=e.depth*h}))}return r}function i(t){var A=t.children,n=t.parent.children,r=t.i?n[t.i-1]:null;if(A){!function(e){for(var t,A=0,n=0,r=e.children,i=r.length;--i>=0;)(t=r[i]).z+=A,t.m+=A,A+=t.s+(n+=t.c)}(t);var i=(A[0].z+A[A.length-1].z)/2;r?(t.z=r.z+e(t._,r._),t.m=t.z-i):t.z=i}else r&&(t.z=r.z+e(t._,r._));t.parent.A=function(t,A,n){if(A){for(var r,i=t,o=t,a=A,s=i.parent.children[0],g=i.m,c=o.m,u=a.m,l=s.m;a=am(a),i=om(i),a&&i;)s=om(s),(o=am(o)).a=t,(r=a.z+u-i.z-g+e(a._,i._))>0&&(sm(gm(a,t,n),t,r),g+=r,c+=r),u+=a.m,g+=i.m,l+=s.m,c+=o.m;a&&!am(o)&&(o.t=a,o.m+=u-c),i&&!om(s)&&(s.t=i,s.m+=g-l,n=t)}return n}(t,r,t.parent.A||n[0])}function o(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function a(e){e.x*=t,e.y=e.depth*A}return r.separation=function(t){return arguments.length?(e=t,r):e},r.size=function(e){return arguments.length?(n=!1,t=+e[0],A=+e[1],r):n?null:[t,A]},r.nodeSize=function(e){return arguments.length?(n=!0,t=+e[0],A=+e[1],r):n?[t,A]:null},r},cluster:function(){var e=um,t=1,A=1,n=!1;function r(r){var i,o=0;r.eachAfter((function(t){var A=t.children;A?(t.x=function(e){return e.reduce(lm,0)/e.length}(A),t.y=function(e){return 1+e.reduce(Im,0)}(A)):(t.x=i?o+=e(t,i):0,t.y=0,i=t)}));var a=function(e){for(var t;t=e.children;)e=t[0];return e}(r),s=function(e){for(var t;t=e.children;)e=t[t.length-1];return e}(r),g=a.x-e(a,s)/2,c=s.x+e(s,a)/2;return r.eachAfter(n?function(e){e.x=(e.x-r.x)*t,e.y=(r.y-e.y)*A}:function(e){e.x=(e.x-g)/(c-g)*t,e.y=(1-(r.y?e.y/r.y:1))*A})}return r.separation=function(t){return arguments.length?(e=t,r):e},r.size=function(e){return arguments.length?(n=!1,t=+e[0],A=+e[1],r):n?null:[t,A]},r.nodeSize=function(e){return arguments.length?(n=!0,t=+e[0],A=+e[1],r):n?[t,A]:null},r}},Gm=["x","y","depth","children"];function km(e){vm.call(this,e)}function xm(e){at.call(this,[],e)}km.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"separation",type:"boolean",default:!0},{name:"as",type:"string",array:!0,length:Gm.length,default:Gm}]},Object(ue.z)(km,vm,{layout:function(e){var t=e||"tidy";if(Object(ue.w)(Dm,t))return Dm[t]();Object(ue.o)("Unrecognized Tree layout method: "+t)},params:["size","nodeSize"],fields:Gm}),xm.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},Object(ue.z)(xm,at,{transform:function(e,t){var A=this.value,n=t.source&&t.source.root,r=t.fork(t.NO_SOURCE),i={};return n||Object(ue.o)("TreeLinks transform requires a tree data source."),t.changed(t.ADD_REM)?(r.rem=A,t.visit(t.SOURCE,(function(e){return i[ve(e)]=1})),n.each((function(e){var t=e.data,A=e.parent&&e.parent.data;A&&i[ve(t)]&&i[ve(A)]&&r.add.push(be({source:A,target:t}))})),this.value=r.add):t.changed(t.MOD)&&(t.visit(t.MOD,(function(e){return i[ve(e)]=1})),A.forEach((function(e){(i[ve(e.source)]||i[ve(e.target)])&&r.mod.push(e)}))),r}});var Nm={binary:function(e,t,A,n,r){var i,o,a=e.children,s=a.length,g=new Array(s+1);for(g[0]=o=i=0;i<s;++i)g[i+1]=o+=a[i].value;!function e(t,A,n,r,i,o,s){if(t>=A-1){var c=a[t];return c.x0=r,c.y0=i,c.x1=o,void(c.y1=s)}var u=g[t],l=n/2+u,I=t+1,C=A-1;for(;I<C;){var h=I+C>>>1;g[h]<l?I=h+1:C=h}l-g[I-1]<g[I]-l&&t+1<I&&--I;var f=g[I]-u,d=n-f;if(o-r>s-i){var B=n?(r*d+o*f)/n:o;e(t,I,f,r,i,B,s),e(I,A,d,B,i,o,s)}else{var p=n?(i*d+s*f)/n:s;e(t,I,f,r,i,o,p),e(I,A,d,r,p,o,s)}}(0,s,e.value,t,A,n,r)},dice:$v,slice:Cm,slicedice:function(e,t,A,n,r){(1&e.depth?Cm:$v)(e,t,A,n,r)},squarify:dm,resquarify:Bm},Um=["x0","y0","x1","y1","depth","children"];function _m(e){vm.call(this,e)}_m.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:Um.length,default:Um}]},Object(ue.z)(_m,vm,{layout:function(){var e=function(){var e=dm,t=!1,A=1,n=1,r=[0],i=Pv,o=Pv,a=Pv,s=Pv,g=Pv;function c(e){return e.x0=e.y0=0,e.x1=A,e.y1=n,e.eachBefore(u),r=[0],t&&e.eachBefore(zv),e}function u(t){var A=r[t.depth],n=t.x0+A,c=t.y0+A,u=t.x1-A,l=t.y1-A;u<n&&(n=u=(n+u)/2),l<c&&(c=l=(c+l)/2),t.x0=n,t.y0=c,t.x1=u,t.y1=l,t.children&&(A=r[t.depth+1]=i(t)/2,n+=g(t)-A,c+=o(t)-A,(u-=a(t)-A)<n&&(n=u=(n+u)/2),(l-=s(t)-A)<c&&(c=l=(c+l)/2),e(t,n,c,u,l))}return c.round=function(e){return arguments.length?(t=!!e,c):t},c.size=function(e){return arguments.length?(A=+e[0],n=+e[1],c):[A,n]},c.tile=function(t){return arguments.length?(e=jv(t),c):e},c.padding=function(e){return arguments.length?c.paddingInner(e).paddingOuter(e):c.paddingInner()},c.paddingInner=function(e){return arguments.length?(i="function"===typeof e?e:Vv(+e),c):i},c.paddingOuter=function(e){return arguments.length?c.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):c.paddingTop()},c.paddingTop=function(e){return arguments.length?(o="function"===typeof e?e:Vv(+e),c):o},c.paddingRight=function(e){return arguments.length?(a="function"===typeof e?e:Vv(+e),c):a},c.paddingBottom=function(e){return arguments.length?(s="function"===typeof e?e:Vv(+e),c):s},c.paddingLeft=function(e){return arguments.length?(g="function"===typeof e?e:Vv(+e),c):g},c}();return e.ratio=function(t){var A=e.tile();A.ratio&&e.tile(A.ratio(t))},e.method=function(t){Object(ue.w)(Nm,t)?e.tile(Nm[t]):Object(ue.o)("Unrecognized Treemap layout method: "+t)},e},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:Um});function Mm(e,t,A,n){var r=e.width,i=e.height,o=A||n,a=Ii(r,i).getContext("2d");t.forEach((function(e){return function e(t,A,n){if(!A.length)return;var r=A[0].mark.marktype;"group"===r?A.forEach((function(A){A.items.forEach((function(A){return e(t,A.items,n)}))})):SC[r].draw(t,{items:n?A.map(Om):A})}(a,e,o)}));var s,g,c,u,l,I=new Uint32Array(a.getImageData(0,0,r,i).data.buffer),C=e.bitmap(),h=o&&e.bitmap();for(g=0;g<i;++g)for(s=0;s<r;++s)(l=4278190080&I[g*r+s])&&(c=e(s),u=e(g),n||C.set(c,u),o&&268435456^l&&h.set(c,u));return[C,h]}function Om(e){var t=Se(e,{});return t.stroke&&(t.strokeOpacity=1),t.fill&&(t.fillOpacity=.0625,t.stroke="#000",t.strokeOpacity=1,t.strokeWidth=2),t}var Lm=new Uint32Array(33),Tm=new Uint32Array(33);Tm[0]=0,Lm[0]=~Tm[0];for(var Zm=1;Zm<=32;++Zm)Tm[Zm]=Tm[Zm-1]<<1|1,Lm[Zm]=~Tm[Zm];function Hm(e,t,A){var n=Math.max(1,Math.sqrt(e*t/1e6)),r=~~((e+2*A+n)/n),i=~~((t+2*A+n)/n),o=function(e){return~~((e+A)/n)};return o.invert=function(e){return e*n-A},o.bitmap=function(){return function(e,t){var A=new Uint32Array(~~((e*t+32)/32));function n(e,t){A[e]|=t}function r(e,t){A[e]&=t}return{array:A,get:function(t,n){var r=n*e+t;return A[r>>>5]&1<<(31&r)},set:function(t,A){var r=A*e+t;n(r>>>5,1<<(31&r))},clear:function(t,A){var n=A*e+t;r(n>>>5,~(1<<(31&n)))},getRange:function(t,n,r,i){for(var o,a,s,g,c=i;c>=n;--c)if((s=(o=c*e+t)>>>5)===(g=(a=c*e+r)>>>5)){if(A[s]&Lm[31&o]&Tm[1+(31&a)])return!0}else{if(A[s]&Lm[31&o])return!0;if(A[g]&Tm[1+(31&a)])return!0;for(var u=s+1;u<g;++u)if(A[u])return!0}return!1},setRange:function(t,A,r,i){for(var o,a,s,g,c;A<=i;++A)if((s=(o=A*e+t)>>>5)===(g=(a=A*e+r)>>>5))n(s,Lm[31&o]&Tm[1+(31&a)]);else for(n(s,Lm[31&o]),n(g,Tm[1+(31&a)]),c=s+1;c<g;++c)n(c,4294967295)},clearRange:function(t,A,n,i){for(var o,a,s,g,c;A<=i;++A)if((s=(o=A*e+t)>>>5)===(g=(a=A*e+n)>>>5))r(s,Tm[31&o]|Lm[1+(31&a)]);else for(r(s,Tm[31&o]),r(g,Lm[1+(31&a)]),c=s+1;c<g;++c)r(c,0)},outOfBounds:function(A,n,r,i){return A<0||n<0||i>=t||r>=e}}}(r,i)},o.ratio=n,o.padding=A,o.width=e,o.height=t,o}function Ym(e,t,A,n,r,i){var o=A/2;return e-o<0||e+o>r||t-(o=n/2)<0||t+o>i}function Jm(){return!1}function jm(e,t,A,n,r,i,o,a){var s=r*i/(2*n),g=e(t-s),c=e(t+s),u=e(A-(i/=2)),l=e(A+i);return o.outOfBounds(g,u,c,l)||o.getRange(g,u,c,l)||a&&a.getRange(g,u,c,l)}function Pm(e,t,A,n,r,i,o,a){var s=r*i/(2*n),g=e(t-s),c=e(t+s),u=e(A-(i/=2)),l=e(A+i);return g=g>0?g:0,u=u>0?u:0,c=c<e.width?c:e.width-1,l=l<e.height?l:e.height-1,o.getRange(g,u,c,l)||a&&a.getRange(g,u,c,l)}function Vm(e){return e?[Pm,Jm]:[jm,Ym]}var Km=[-1,-1,1,1],Wm=[-1,1,-1,1];var Xm=["right","center","left"],qm=["bottom","middle","top"];function zm(e,t,A,n,r,i,o,a,s,g,c,u){return!(r.outOfBounds(e,A,t,n)||(u&&i?i.getRange(e,A,t,n)||!function(e,t,A,n,r){return r[0]<=e&&A<=r[2]&&r[3]<=t&&n<=r[5]}(o,s,a,g,c):r.getRange(e,A,t,n)))}var $m={"top-left":0,top:1,"top-right":2,left:4,middle:5,right:6,"bottom-left":8,bottom:9,"bottom-right":10},eb={naive:function(e,t,A,n){var r=e.width,i=e.height;return function(e){for(var t,A,o,a,s,g,c,u=e.datum.datum.items[n].items,l=u.length,I=e.datum.fontSize,C=gC.width(e.datum,e.datum.text),h=0,f=0;f<l;++f)t=u[f].x,o=u[f].y,s=(t+(A=void 0===u[f].x2?t:u[f].x2))/2,g=(o+(a=void 0===u[f].y2?o:u[f].y2))/2,(c=Math.abs(A-t+a-o))>=h&&(h=c,e.x=s,e.y=g);return s=C/2,g=I/2,t=e.x-s,A=e.x+s,o=e.y-g,a=e.y+g,e.align="center",t<0&&A<=r?e.align="left":0<=t&&r<A&&(e.align="right"),e.baseline="middle",o<0&&a<=i?e.baseline="top":0<=o&&i<a&&(e.baseline="bottom"),!0}},"reduced-search":function(e,t,A,n,r){var i=e.width,o=e.height,a=Vm(r),s=Object(lt.a)(a,2),g=s[0],c=s[1],u=t[0],l=t[1];function I(t,A,n,r,a){var s,I=e.invert(t),C=e.invert(A),h=n,f=o;if(!c(I,C,r,a,i,o)&&!g(e,I,C,a,r,h,u,l)&&!g(e,I,C,a,r,a,u,null)){for(;f-h>=1;)g(e,I,C,a,r,s=(h+f)/2,u,l)?f=s:h=s;if(h>n)return[I,C,h,!0]}}return function(t){for(var r,a,s,l,C,h,f,d,B,p,E,Q,y,v,m,b,w,S=t.datum.datum.items[n].items,F=S.length,R=t.datum.fontSize,D=gC.width(t.datum,t.datum.text),G=A?R:0,k=!1,x=!1,N=0,U=0;U<F;++U){for(r=S[U].x,s=S[U].y,r>(a=void 0===S[U].x2?r:S[U].x2)&&(w=r,r=a,a=w),s>(l=void 0===S[U].y2?s:S[U].y2)&&(w=s,s=l,l=w),p=~~(((B=e(r))+(E=e(a)))/2),y=~~(((Q=e(s))+(v=e(l)))/2),f=p;f>=B;--f)for(d=y;d>=Q;--d)if(b=I(f,d,G,D,R)){var _=b,M=Object(lt.a)(_,4);t.x=M[0],t.y=M[1],G=M[2],k=M[3]}for(f=p;f<=E;++f)for(d=y;d<=v;++d)if(b=I(f,d,G,D,R)){var O=b,L=Object(lt.a)(O,4);t.x=L[0],t.y=L[1],G=L[2],k=L[3]}k||A||(C=(r+a)/2,h=(s+l)/2,(m=Math.abs(a-r+l-s))>=N&&!c(C,h,D,R,i,o)&&!g(e,C,h,R,D,R,u,null)&&(N=m,t.x=C,t.y=h,x=!0))}return!(!k&&!x)&&(C=D/2,h=R/2,u.setRange(e(t.x-C),e(t.y-h),e(t.x+C),e(t.y+h)),t.align="center",t.baseline="middle",!0)}},floodfill:function(e,t,A,n,r){var i=e.width,o=e.height,a=Vm(r),s=Object(lt.a)(a,2),g=s[0],c=s[1],u=t[0],l=t[1],I=e.bitmap();return function(t){for(var r,a,s,C,h,f,d,B,p,E,Q,y,v=t.datum.datum.items[n].items,m=v.length,b=t.datum.fontSize,w=gC.width(t.datum,t.datum.text),S=[],F=A?b:0,R=!1,D=!1,G=0,k=0;k<m;++k){for(r=v[k].x,s=v[k].y,a=void 0===v[k].x2?r:v[k].x2,C=void 0===v[k].y2?s:v[k].y2,S.push([e((r+a)/2),e((s+C)/2)]);S.length;){var x=S.pop(),N=Object(lt.a)(x,2);if(d=N[0],B=N[1],!(u.get(d,B)||l.get(d,B)||I.get(d,B))){I.set(d,B);for(var U=0;U<4;++U)h=d+Km[U],f=B+Wm[U],I.outOfBounds(h,f,h,f)||S.push([h,f]);if(h=e.invert(d),f=e.invert(B),p=F,E=o,!c(h,f,w,b,i,o)&&!g(e,h,f,b,w,p,u,l)&&!g(e,h,f,b,w,b,u,null)){for(;E-p>=1;)g(e,h,f,b,w,Q=(p+E)/2,u,l)?E=Q:p=Q;p>F&&(t.x=h,t.y=f,F=p,R=!0)}}}R||A||(h=(r+a)/2,f=(s+C)/2,(y=Math.abs(a-r+C-s))>=G&&!c(h,f,w,b,i,o)&&!g(e,h,f,b,w,b,u,null)&&(G=y,t.x=h,t.y=f,D=!0))}return!(!R&&!D)&&(h=w/2,f=b/2,u.setRange(e(t.x-h),e(t.y-f),e(t.x+h),e(t.y+f)),t.align="center",t.baseline="middle",!0)}}};function tb(e,t,A,n,r,i,o,a,s,g,c){if(!e.length)return e;var u,l,I=Math.max(n.length,r.length),C=function(e,t){for(var A=new Float64Array(t),n=e.length,r=0;r<n;++r)A[r]=e[r]||0;for(var i=n;i<t;++i)A[i]=A[n-1];return A}(n,I),h=function(e,t){for(var A=new Int8Array(t),n=e.length,r=0;r<n;++r)A[r]|=$m[e[r]];for(var i=n;i<t;++i)A[i]=A[n-1];return A}(r,I),f=(u=e[0].datum)&&u.mark&&u.mark.marktype,d="group"===f&&e[0].datum.items[s].marktype,B="area"===d,p=function(e,t,A,n){var r=function(e){return[e.x,e.x,e.x,e.y,e.y,e.y]};return e?"line"===e||"area"===e?function(e){return r(e.datum)}:"line"===t?function(e){var t=e.datum.items[n].items;return r(t.length?t["start"===A?0:t.length-1]:{x:NaN,y:NaN})}:function(e){var t=e.datum.bounds;return[t.x1,(t.x1+t.x2)/2,t.x2,t.y1,(t.y1+t.y2)/2,t.y2]}:r}(f,d,a,s),E=null===g||g===1/0,Q=Hm(t[0],t[1],E?0:g),y=B&&"naive"===c,v=e.map((function(e){return{datum:e,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:p(e)}}));if(!y){A&&v.sort((function(e,t){return A(e.datum,t.datum)}));for(var m=!1,b=0;b<h.length&&!m;++b)m=5===h[b]||C[b]<0;f&&(o||B)&&(i=[e.map((function(e){return e.datum}))].concat(i)),l=i.length?Mm(Q,i,m,B):function(e,t){var A=e.bitmap();return(t||[]).forEach((function(t){return A.set(e(t.boundary[0]),e(t.boundary[3]))})),[A,void 0]}(Q,o&&v)}var w=B?eb[c](Q,l,o,s,E):function(e,t,A,n,r){var i=e.width,o=e.height,a=t[0],s=t[1],g=n.length;return function(t){var c=t.boundary,u=t.datum.fontSize;if(!r&&(c[2]<0||c[5]<0||c[0]>i||c[3]>o))return!1;for(var l,I,C,h,f,d,B,p,E,Q,y,v,m,b,w,S=0,F=0;F<g;++F){if(l=(3&A[F])-1,I=(A[F]>>>2&3)-1,C=0===l&&0===I||n[F]<0,h=l&&I?Math.SQRT1_2:1,f=n[F]<0?-1:1,d=c[1+l]+n[F]*l*h,p=(y=c[4+I]+f*u*I/2+n[F]*I*h)-u/2,E=y+u/2,v=e(d),b=e(p),w=e(E),r&&(v=v<0?0:v,b=b<0?0:b,w=w>=e.height?e.height-1:w),!S){if(!zm(v,v,b,w,a,s,d,d,p,E,c,C))continue;S=gC.width(t.datum,t.datum.text)}if(B=(Q=d+f*S*l/2)+S/2,v=e(d=Q-S/2),m=e(B),r&&(v=v<0?0:v,m=m>=e.width?e.width-1:m),zm(v,m,b,w,a,s,d,B,p,E,c,C))return t.x=l?l*f<0?B:d:Q,t.y=I?I*f<0?E:p:y,t.align=Xm[l*f+1],t.baseline=qm[I*f+1],a.setRange(v,b,m,w),!0}return!1}}(Q,l,h,C,E);return v.forEach((function(e){return e.opacity=+w(e)})),v}var Ab=["x","y","opacity","align","baseline"],nb=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function rb(e){at.call(this,null,e)}function ib(e,t){var A,n,r,i,o,a,s=[],g=function(e){return e(i)};if(null==t)s.push(e);else for(A={},n=0,r=e.length;n<r;++n)i=e[n],(a=A[o=t.map(g)])||(A[o]=a=[],a.dims=o,s.push(a)),a.push(i);return s}function ob(e){at.call(this,null,e)}rb.Definition={type:"Label",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"sort",type:"compare"},{name:"anchor",type:"string",array:!0,default:nb},{name:"offset",type:"number",array:!0,default:[1]},{name:"padding",type:"number",default:0,null:!0},{name:"lineAnchor",type:"string",values:["start","end"],default:"end"},{name:"markIndex",type:"number",default:0},{name:"avoidBaseMark",type:"boolean",default:!0},{name:"avoidMarks",type:"data",array:!0},{name:"method",type:"string",default:"naive"},{name:"as",type:"string",array:!0,length:Ab.length,default:Ab}]},Object(ue.z)(rb,at,{transform:function(e,t){var A=e.modified();if(A||t.changed(t.ADD_REM)||function(A){var n=e[A];return Object(ue.E)(n)&&t.modified(n.fields)}("sort")){e.size&&2===e.size.length||Object(ue.o)("Size parameter should be specified as a [width, height] array.");var n=e.as||Ab;return tb(t.materialize(t.SOURCE).source||[],e.size,e.sort,Object(ue.i)(null==e.offset?1:e.offset),Object(ue.i)(e.anchor||nb),e.avoidMarks||[],!1!==e.avoidBaseMark,e.lineAnchor||"end",e.markIndex||0,void 0===e.padding?0:e.padding,e.method||"naive").forEach((function(e){var t=e.datum;t[n[0]]=e.x,t[n[1]]=e.y,t[n[2]]=e.opacity,t[n[3]]=e.align,t[n[4]]=e.baseline})),t.reflow(A).modifies(n)}}}),ob.Definition={type:"Loess",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"bandwidth",type:"number",default:.3},{name:"as",type:"string",array:!0}]},Object(ue.z)(ob,at,{transform:function(e,t){var A=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){var n=ib(t.materialize(t.SOURCE).source,e.groupby),r=(e.groupby||[]).map(ue.h),i=r.length,o=e.as||[Object(ue.h)(e.x),Object(ue.h)(e.y)],a=[];n.forEach((function(t){uA(t,e.x,e.y,e.bandwidth||.3).forEach((function(e){for(var A={},n=0;n<i;++n)A[r[n]]=t.dims[n];A[o[0]]=e[0],A[o[1]]=e[1],a.push(be(A))}))})),this.value&&(A.rem=this.value),this.value=A.add=A.source=a}return A}});var ab={linear:rA,log:iA,exp:oA,pow:aA,quad:sA,poly:gA};function sb(e){at.call(this,null,e)}sb.Definition={type:"Regression",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"string",default:"linear",values:Object.keys(ab)},{name:"order",type:"number",default:3},{name:"extent",type:"number",array:!0,length:2},{name:"params",type:"boolean",default:!1},{name:"as",type:"string",array:!0}]},Object(ue.z)(sb,at,{transform:function(e,t){var A=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){var n=ib(t.materialize(t.SOURCE).source,e.groupby),r=(e.groupby||[]).map(ue.h),i=e.method||"linear",o=e.order||3,a=function(e,t){return"poly"===e?t:"quad"===e?2:1}(i,o),s=e.as||[Object(ue.h)(e.x),Object(ue.h)(e.y)],g=ab[i],c=[],u=e.extent;Object(ue.w)(ab,i)||Object(ue.o)("Invalid regression method: "+i),null!=u&&"log"===i&&u[0]<=0&&(t.dataflow.warn("Ignoring extent with values <= 0 for log regression."),u=null),n.forEach((function(A){if(A.length<=a)t.dataflow.warn("Skipping regression with more parameters than data points.");else{var n=g(A,e.x,e.y,o);if(e.params)c.push(be({keys:A.dims,coef:n.coef,rSquared:n.rSquared}));else{var l=u||Object(ue.q)(A,e.x),I=function(e){for(var t={},n=0;n<r.length;++n)t[r[n]]=A.dims[n];t[s[0]]=e[0],t[s[1]]=e[1],c.push(be(t))};"linear"===i?l.forEach((function(e){return I([e,n.predict(e)])})):hA(n.predict,l,25,200).forEach(I)}}})),this.value&&(A.rem=this.value),this.value=A.add=A.source=c}return A}});var gb=Math.pow(2,-52),cb=new Uint32Array(512),ub=function(){function e(t){Object(y.a)(this,e);var A=t.length>>1;if(A>0&&"number"!==typeof t[0])throw new Error("Expected coords to contain numbers.");this.coords=t;var n=Math.max(2*A-5,0);this._triangles=new Uint32Array(3*n),this._halfedges=new Int32Array(3*n),this._hashSize=Math.ceil(Math.sqrt(A)),this._hullPrev=new Uint32Array(A),this._hullNext=new Uint32Array(A),this._hullTri=new Uint32Array(A),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(A),this._dists=new Float64Array(A),this.update()}return Object(v.a)(e,null,[{key:"from",value:function(t){for(var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:pb,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Eb,r=t.length,i=new Float64Array(2*r),o=0;o<r;o++){var a=t[o];i[2*o]=A(a),i[2*o+1]=n(a)}return new e(i)}}]),Object(v.a)(e,[{key:"update",value:function(){for(var e=this.coords,t=this._hullPrev,A=this._hullNext,n=this._hullTri,r=this._hullHash,i=e.length>>1,o=1/0,a=1/0,s=-1/0,g=-1/0,c=0;c<i;c++){var u=e[2*c],l=e[2*c+1];u<o&&(o=u),l<a&&(a=l),u>s&&(s=u),l>g&&(g=l),this._ids[c]=c}for(var I,C,h,f=(o+s)/2,d=(a+g)/2,B=1/0,p=0;p<i;p++){var E=lb(f,d,e[2*p],e[2*p+1]);E<B&&(I=p,B=E)}var Q=e[2*I],y=e[2*I+1];B=1/0;for(var v=0;v<i;v++)if(v!==I){var m=lb(Q,y,e[2*v],e[2*v+1]);m<B&&m>0&&(C=v,B=m)}for(var b=e[2*C],w=e[2*C+1],S=1/0,F=0;F<i;F++)if(F!==I&&F!==C){var R=fb(Q,y,b,w,e[2*F],e[2*F+1]);R<S&&(h=F,S=R)}var D=e[2*h],G=e[2*h+1];if(S===1/0){for(var k=0;k<i;k++)this._dists[k]=e[2*k]-e[0]||e[2*k+1]-e[1];db(this._ids,this._dists,0,i-1);for(var x=new Uint32Array(i),N=0,U=0,_=-1/0;U<i;U++){var M=this._ids[U];this._dists[M]>_&&(x[N++]=M,_=this._dists[M])}return this.hull=x.subarray(0,N),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(Cb(Q,y,b,w,D,G)){var O=C,L=b,T=w;C=h,b=D,w=G,h=O,D=L,G=T}var Z=function(e,t,A,n,r,i){var o=A-e,a=n-t,s=r-e,g=i-t,c=o*o+a*a,u=s*s+g*g,l=.5/(o*g-a*s);return{x:e+(g*c-a*u)*l,y:t+(o*u-s*c)*l}}(Q,y,b,w,D,G);this._cx=Z.x,this._cy=Z.y;for(var H=0;H<i;H++)this._dists[H]=lb(e[2*H],e[2*H+1],Z.x,Z.y);db(this._ids,this._dists,0,i-1),this._hullStart=I;var Y=3;A[I]=t[h]=C,A[C]=t[I]=h,A[h]=t[C]=I,n[I]=0,n[C]=1,n[h]=2,r.fill(-1),r[this._hashKey(Q,y)]=I,r[this._hashKey(b,w)]=C,r[this._hashKey(D,G)]=h,this.trianglesLen=0,this._addTriangle(I,C,h,-1,-1,-1);for(var J,j,P=0;P<this._ids.length;P++){var V=this._ids[P],K=e[2*V],W=e[2*V+1];if(!(P>0&&Math.abs(K-J)<=gb&&Math.abs(W-j)<=gb)&&(J=K,j=W,V!==I&&V!==C&&V!==h)){for(var X=0,q=0,z=this._hashKey(K,W);q<this._hashSize&&(-1===(X=r[(z+q)%this._hashSize])||X===A[X]);q++);for(var $=X=t[X],ee=void 0;ee=A[$],!Cb(K,W,e[2*$],e[2*$+1],e[2*ee],e[2*ee+1]);)if(($=ee)===X){$=-1;break}if(-1!==$){var te=this._addTriangle($,V,A[$],-1,-1,n[$]);n[V]=this._legalize(te+2),n[$]=te,Y++;for(var Ae=A[$];ee=A[Ae],Cb(K,W,e[2*Ae],e[2*Ae+1],e[2*ee],e[2*ee+1]);)te=this._addTriangle(Ae,V,ee,n[V],-1,n[Ae]),n[V]=this._legalize(te+2),A[Ae]=Ae,Y--,Ae=ee;if($===X)for(;Cb(K,W,e[2*(ee=t[$])],e[2*ee+1],e[2*$],e[2*$+1]);)te=this._addTriangle(ee,V,$,-1,n[$],n[ee]),this._legalize(te+2),n[ee]=te,A[$]=$,Y--,$=ee;this._hullStart=t[V]=$,A[$]=t[Ae]=V,A[V]=Ae,r[this._hashKey(K,W)]=V,r[this._hashKey(e[2*$],e[2*$+1])]=$}}}this.hull=new Uint32Array(Y);for(var ne=0,re=this._hullStart;ne<Y;ne++)this.hull[ne]=re,re=A[re];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}},{key:"_hashKey",value:function(e,t){return Math.floor(function(e,t){var A=e/(Math.abs(e)+Math.abs(t));return(t>0?3-A:1+A)/4}(e-this._cx,t-this._cy)*this._hashSize)%this._hashSize}},{key:"_legalize",value:function(e){for(var t=this._triangles,A=this._halfedges,n=this.coords,r=0,i=0;;){var o=A[e],a=e-e%3;if(i=a+(e+2)%3,-1!==o){var s=o-o%3,g=a+(e+1)%3,c=s+(o+2)%3,u=t[i],l=t[e],I=t[g],C=t[c];if(hb(n[2*u],n[2*u+1],n[2*l],n[2*l+1],n[2*I],n[2*I+1],n[2*C],n[2*C+1])){t[e]=C,t[o]=u;var h=A[c];if(-1===h){var f=this._hullStart;do{if(this._hullTri[f]===c){this._hullTri[f]=e;break}f=this._hullPrev[f]}while(f!==this._hullStart)}this._link(e,h),this._link(o,A[i]),this._link(i,c);var d=s+(o+1)%3;r<cb.length&&(cb[r++]=d)}else{if(0===r)break;e=cb[--r]}}else{if(0===r)break;e=cb[--r]}}return i}},{key:"_link",value:function(e,t){this._halfedges[e]=t,-1!==t&&(this._halfedges[t]=e)}},{key:"_addTriangle",value:function(e,t,A,n,r,i){var o=this.trianglesLen;return this._triangles[o]=e,this._triangles[o+1]=t,this._triangles[o+2]=A,this._link(o,n),this._link(o+1,r),this._link(o+2,i),this.trianglesLen+=3,o}}]),e}();function lb(e,t,A,n){var r=e-A,i=t-n;return r*r+i*i}function Ib(e,t,A,n,r,i){var o=(n-t)*(r-e),a=(A-e)*(i-t);return Math.abs(o-a)>=33306690738754716e-32*Math.abs(o+a)?o-a:0}function Cb(e,t,A,n,r,i){return(Ib(r,i,e,t,A,n)||Ib(e,t,A,n,r,i)||Ib(A,n,r,i,e,t))<0}function hb(e,t,A,n,r,i,o,a){var s=e-o,g=t-a,c=A-o,u=n-a,l=r-o,I=i-a,C=c*c+u*u,h=l*l+I*I;return s*(u*h-C*I)-g*(c*h-C*l)+(s*s+g*g)*(c*I-u*l)<0}function fb(e,t,A,n,r,i){var o=A-e,a=n-t,s=r-e,g=i-t,c=o*o+a*a,u=s*s+g*g,l=.5/(o*g-a*s),I=(g*c-a*u)*l,C=(o*u-s*c)*l;return I*I+C*C}function db(e,t,A,n){if(n-A<=20)for(var r=A+1;r<=n;r++){for(var i=e[r],o=t[i],a=r-1;a>=A&&t[e[a]]>o;)e[a+1]=e[a--];e[a+1]=i}else{var s=A+1,g=n;Bb(e,A+n>>1,s),t[e[A]]>t[e[n]]&&Bb(e,A,n),t[e[s]]>t[e[n]]&&Bb(e,s,n),t[e[A]]>t[e[s]]&&Bb(e,A,s);for(var c=e[s],u=t[c];;){do{s++}while(t[e[s]]<u);do{g--}while(t[e[g]]>u);if(g<s)break;Bb(e,s,g)}e[A+1]=e[g],e[g]=c,n-s+1>=g-A?(db(e,t,s,n),db(e,t,A,g-1)):(db(e,t,A,g-1),db(e,t,s,n))}}function Bb(e,t,A){var n=e[t];e[t]=e[A],e[A]=n}function pb(e){return e[0]}function Eb(e){return e[1]}var Qb=function(){function e(){Object(y.a)(this,e),this._x0=this._y0=this._x1=this._y1=null,this._=""}return Object(v.a)(e,[{key:"moveTo",value:function(e,t){this._+="M".concat(this._x0=this._x1=+e,",").concat(this._y0=this._y1=+t)}},{key:"closePath",value:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}},{key:"lineTo",value:function(e,t){this._+="L".concat(this._x1=+e,",").concat(this._y1=+t)}},{key:"arc",value:function(e,t,A){var n=(e=+e)+(A=+A),r=t=+t;if(A<0)throw new Error("negative radius");null===this._x1?this._+="M".concat(n,",").concat(r):(Math.abs(this._x1-n)>1e-6||Math.abs(this._y1-r)>1e-6)&&(this._+="L"+n+","+r),A&&(this._+="A".concat(A,",").concat(A,",0,1,1,").concat(e-A,",").concat(t,"A").concat(A,",").concat(A,",0,1,1,").concat(this._x1=n,",").concat(this._y1=r))}},{key:"rect",value:function(e,t,A,n){this._+="M".concat(this._x0=this._x1=+e,",").concat(this._y0=this._y1=+t,"h").concat(+A,"v").concat(+n,"h").concat(-A,"Z")}},{key:"value",value:function(){return this._||null}}]),e}(),yb=function(){function e(){Object(y.a)(this,e),this._=[]}return Object(v.a)(e,[{key:"moveTo",value:function(e,t){this._.push([e,t])}},{key:"closePath",value:function(){this._.push(this._[0].slice())}},{key:"lineTo",value:function(e,t){this._.push([e,t])}},{key:"value",value:function(){return this._.length?this._:null}}]),e}(),vb=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,960,500],n=Object(lt.a)(A,4),r=n[0],i=n[1],o=n[2],a=n[3];if(Object(y.a)(this,e),!((o=+o)>=(r=+r))||!((a=+a)>=(i=+i)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(2*t.points.length),this.vectors=new Float64Array(2*t.points.length),this.xmax=o,this.xmin=r,this.ymax=a,this.ymin=i,this._init()}return Object(v.a)(e,[{key:"update",value:function(){return this.delaunay.update(),this._init(),this}},{key:"_init",value:function(){for(var e,t,A=this.delaunay,n=A.points,r=A.hull,i=A.triangles,o=this.vectors,a=this.circumcenters=this._circumcenters.subarray(0,i.length/3*2),s=0,g=0,c=i.length;s<c;s+=3,g+=2){var u=2*i[s],l=2*i[s+1],I=2*i[s+2],C=n[u],h=n[u+1],f=n[l],d=n[l+1],B=n[I],p=n[I+1],E=f-C,Q=d-h,y=B-C,v=p-h,m=E*E+Q*Q,b=y*y+v*v,w=2*(E*v-Q*y);if(w)if(Math.abs(w)<1e-8)e=(C+B)/2,t=(h+p)/2;else{var S=1/w;e=C+(v*m-Q*b)*S,t=h+(E*b-y*m)*S}else e=(C+B)/2-1e8*v,t=(h+p)/2+1e8*y;a[g]=e,a[g+1]=t}var F,R,D,G=r[r.length-1],k=4*G,x=n[2*G],N=n[2*G+1];o.fill(0);for(var U=0;U<r.length;++U)F=k,R=x,D=N,k=4*(G=r[U]),x=n[2*G],N=n[2*G+1],o[F+2]=o[k]=D-N,o[F+3]=o[k+1]=x-R}},{key:"render",value:function(e){var t=null==e?e=new Qb:void 0,A=this.delaunay,n=A.halfedges,r=A.inedges,i=A.hull,o=this.circumcenters,a=this.vectors;if(i.length<=1)return null;for(var s=0,g=n.length;s<g;++s){var c=n[s];if(!(c<s)){var u=2*Math.floor(s/3),l=2*Math.floor(c/3),I=o[u],C=o[u+1],h=o[l],f=o[l+1];this._renderSegment(I,C,h,f,e)}}for(var d,B=i[i.length-1],p=0;p<i.length;++p){d=B,B=i[p];var E=2*Math.floor(r[B]/3),Q=o[E],y=o[E+1],v=4*d,m=this._project(Q,y,a[v+2],a[v+3]);m&&this._renderSegment(Q,y,m[0],m[1],e)}return t&&t.value()}},{key:"renderBounds",value:function(e){var t=null==e?e=new Qb:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),t&&t.value()}},{key:"renderCell",value:function(e,t){var A=null==t?t=new Qb:void 0,n=this._clip(e);if(null!==n&&n.length){t.moveTo(n[0],n[1]);for(var r=n.length;n[0]===n[r-2]&&n[1]===n[r-1]&&r>1;)r-=2;for(var i=2;i<r;i+=2)n[i]===n[i-2]&&n[i+1]===n[i-1]||t.lineTo(n[i],n[i+1]);return t.closePath(),A&&A.value()}}},{key:"cellPolygons",value:Ie.a.mark((function e(){var t,A,n,r;return Ie.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.delaunay.points,A=0,n=t.length/2;case 2:if(!(A<n)){e.next=11;break}if(!(r=this.cellPolygon(A))){e.next=8;break}return r.index=A,e.next=8,r;case 8:++A,e.next=2;break;case 11:case"end":return e.stop()}}),e,this)}))},{key:"cellPolygon",value:function(e){var t=new yb;return this.renderCell(e,t),t.value()}},{key:"_renderSegment",value:function(e,t,A,n,r){var i,o=this._regioncode(e,t),a=this._regioncode(A,n);0===o&&0===a?(r.moveTo(e,t),r.lineTo(A,n)):(i=this._clipSegment(e,t,A,n,o,a))&&(r.moveTo(i[0],i[1]),r.lineTo(i[2],i[3]))}},{key:"contains",value:function(e,t,A){return(t=+t)===t&&(A=+A)===A&&this.delaunay._step(e,t,A)===e}},{key:"neighbors",value:Ie.a.mark((function e(t){var A,n,r,i,o,a,s,g,c;return Ie.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(A=this._clip(t))){e.next=33;break}n=Object(ut.a)(this.delaunay.neighbors(t)),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=25;break}if(i=r.value,!(o=this._clip(i))){e.next=23;break}a=0,s=A.length;case 10:if(!(a<s)){e.next=23;break}g=0,c=o.length;case 12:if(!(g<c)){e.next=20;break}if(A[a]!=o[g]||A[a+1]!=o[g+1]||A[(a+2)%s]!=o[(g+c-2)%c]||A[(a+3)%s]!=o[(g+c-1)%c]){e.next=17;break}return e.next=16,i;case 16:return e.abrupt("break",23);case 17:g+=2,e.next=12;break;case 20:a+=2,e.next=10;break;case 23:e.next=5;break;case 25:e.next=30;break;case 27:e.prev=27,e.t0=e.catch(3),n.e(e.t0);case 30:return e.prev=30,n.f(),e.finish(30);case 33:case"end":return e.stop()}}),e,this,[[3,27,30,33]])}))},{key:"_cell",value:function(e){var t=this.circumcenters,A=this.delaunay,n=A.inedges,r=A.halfedges,i=A.triangles,o=n[e];if(-1===o)return null;var a=[],s=o;do{var g=Math.floor(s/3);if(a.push(t[2*g],t[2*g+1]),i[s=s%3===2?s-2:s+1]!==e)break;s=r[s]}while(s!==o&&-1!==s);return a}},{key:"_clip",value:function(e){if(0===e&&1===this.delaunay.hull.length)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];var t=this._cell(e);if(null===t)return null;var A=this.vectors,n=4*e;return A[n]||A[n+1]?this._clipInfinite(e,t,A[n],A[n+1],A[n+2],A[n+3]):this._clipFinite(e,t)}},{key:"_clipFinite",value:function(e,t){for(var A,n,r,i,o,a=t.length,s=null,g=t[a-2],c=t[a-1],u=this._regioncode(g,c),l=0;l<a;l+=2)if(A=g,n=c,g=t[l],c=t[l+1],r=u,u=this._regioncode(g,c),0===r&&0===u)i=o,o=0,s?s.push(g,c):s=[g,c];else{var I=void 0,C=void 0,h=void 0,f=void 0,d=void 0;if(0===r){if(null===(I=this._clipSegment(A,n,g,c,r,u)))continue;var B=I,p=Object(lt.a)(B,4);C=p[0],h=p[1],f=p[2],d=p[3]}else{if(null===(I=this._clipSegment(g,c,A,n,u,r)))continue;var E=I,Q=Object(lt.a)(E,4);f=Q[0],d=Q[1],C=Q[2],h=Q[3],i=o,o=this._edgecode(C,h),i&&o&&this._edge(e,i,o,s,s.length),s?s.push(C,h):s=[C,h]}i=o,o=this._edgecode(f,d),i&&o&&this._edge(e,i,o,s,s.length),s?s.push(f,d):s=[f,d]}if(s)i=o,o=this._edgecode(s[0],s[1]),i&&o&&this._edge(e,i,o,s,s.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return s}},{key:"_clipSegment",value:function(e,t,A,n,r,i){for(;;){if(0===r&&0===i)return[e,t,A,n];if(r&i)return null;var o=void 0,a=void 0,s=r||i;8&s?(o=e+(A-e)*(this.ymax-t)/(n-t),a=this.ymax):4&s?(o=e+(A-e)*(this.ymin-t)/(n-t),a=this.ymin):2&s?(a=t+(n-t)*(this.xmax-e)/(A-e),o=this.xmax):(a=t+(n-t)*(this.xmin-e)/(A-e),o=this.xmin),r?(e=o,t=a,r=this._regioncode(e,t)):(A=o,n=a,i=this._regioncode(A,n))}}},{key:"_clipInfinite",value:function(e,t,A,n,r,i){var o,a=Array.from(t);if((o=this._project(a[0],a[1],A,n))&&a.unshift(o[0],o[1]),(o=this._project(a[a.length-2],a[a.length-1],r,i))&&a.push(o[0],o[1]),a=this._clipFinite(e,a))for(var s,g=0,c=a.length,u=this._edgecode(a[c-2],a[c-1]);g<c;g+=2)s=u,u=this._edgecode(a[g],a[g+1]),s&&u&&(g=this._edge(e,s,u,a,g),c=a.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(a=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return a}},{key:"_edge",value:function(e,t,A,n,r){for(;t!==A;){var i=void 0,o=void 0;switch(t){case 5:t=4;continue;case 4:t=6,i=this.xmax,o=this.ymin;break;case 6:t=2;continue;case 2:t=10,i=this.xmax,o=this.ymax;break;case 10:t=8;continue;case 8:t=9,i=this.xmin,o=this.ymax;break;case 9:t=1;continue;case 1:t=5,i=this.xmin,o=this.ymin}n[r]===i&&n[r+1]===o||!this.contains(e,i,o)||(n.splice(r,0,i,o),r+=2)}if(n.length>4)for(var a=0;a<n.length;a+=2){var s=(a+2)%n.length,g=(a+4)%n.length;(n[a]===n[s]&&n[s]===n[g]||n[a+1]===n[s+1]&&n[s+1]===n[g+1])&&(n.splice(s,2),a-=2)}return r}},{key:"_project",value:function(e,t,A,n){var r,i,o,a=1/0;if(n<0){if(t<=this.ymin)return null;(r=(this.ymin-t)/n)<a&&(o=this.ymin,i=e+(a=r)*A)}else if(n>0){if(t>=this.ymax)return null;(r=(this.ymax-t)/n)<a&&(o=this.ymax,i=e+(a=r)*A)}if(A>0){if(e>=this.xmax)return null;(r=(this.xmax-e)/A)<a&&(i=this.xmax,o=t+(a=r)*n)}else if(A<0){if(e<=this.xmin)return null;(r=(this.xmin-e)/A)<a&&(i=this.xmin,o=t+(a=r)*n)}return[i,o]}},{key:"_edgecode",value:function(e,t){return(e===this.xmin?1:e===this.xmax?2:0)|(t===this.ymin?4:t===this.ymax?8:0)}},{key:"_regioncode",value:function(e,t){return(e<this.xmin?1:e>this.xmax?2:0)|(t<this.ymin?4:t>this.ymax?8:0)}}]),e}(),mb=Ie.a.mark(kb),bb=2*Math.PI,wb=Math.pow;function Sb(e){return e[0]}function Fb(e){return e[1]}function Rb(e,t,A){return[e+Math.sin(e+t)*A,t+Math.cos(e-t)*A]}var Db=function(){function e(t){Object(y.a)(this,e),this._delaunator=new ub(t),this.inedges=new Int32Array(t.length/2),this._hullIndex=new Int32Array(t.length/2),this.points=this._delaunator.coords,this._init()}return Object(v.a)(e,null,[{key:"from",value:function(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Sb,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Fb,r=arguments.length>3?arguments[3]:void 0;return new e("length"in t?Gb(t,A,n,r):Float64Array.from(kb(t,A,n,r)))}}]),Object(v.a)(e,[{key:"update",value:function(){return this._delaunator.update(),this._init(),this}},{key:"_init",value:function(){var e=this._delaunator,t=this.points;if(e.hull&&e.hull.length>2&&function(e){for(var t=e.triangles,A=e.coords,n=0;n<t.length;n+=3){var r=2*t[n],i=2*t[n+1],o=2*t[n+2];if((A[o]-A[r])*(A[i+1]-A[r+1])-(A[i]-A[r])*(A[o+1]-A[r+1])>1e-10)return!1}return!0}(e)){this.collinear=Int32Array.from({length:t.length/2},(function(e,t){return t})).sort((function(e,A){return t[2*e]-t[2*A]||t[2*e+1]-t[2*A+1]}));for(var A=this.collinear[0],n=this.collinear[this.collinear.length-1],r=[t[2*A],t[2*A+1],t[2*n],t[2*n+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]),o=0,a=t.length/2;o<a;++o){var s=Rb(t[2*o],t[2*o+1],i);t[2*o]=s[0],t[2*o+1]=s[1]}this._delaunator=new ub(t)}else delete this.collinear;for(var g=this.halfedges=this._delaunator.halfedges,c=this.hull=this._delaunator.hull,u=this.triangles=this._delaunator.triangles,l=this.inedges.fill(-1),I=this._hullIndex.fill(-1),C=0,h=g.length;C<h;++C){var f=u[C%3===2?C-2:C+1];-1!==g[C]&&-1!==l[f]||(l[f]=C)}for(var d=0,B=c.length;d<B;++d)I[c[d]]=d;c.length<=2&&c.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=c[0],this.triangles[1]=c[1],this.triangles[2]=c[1],l[c[0]]=1,2===c.length&&(l[c[1]]=0))}},{key:"voronoi",value:function(e){return new vb(this,e)}},{key:"neighbors",value:Ie.a.mark((function e(t){var A,n,r,i,o,a,s,g,c,u,l;return Ie.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=this.inedges,n=this.hull,r=this._hullIndex,i=this.halfedges,o=this.triangles,!(a=this.collinear)){e.next=10;break}if(!((s=a.indexOf(t))>0)){e.next=6;break}return e.next=6,a[s-1];case 6:if(!(s<a.length-1)){e.next=9;break}return e.next=9,a[s+1];case 9:return e.abrupt("return");case 10:if(-1!==(g=A[t])){e.next=13;break}return e.abrupt("return");case 13:c=g,u=-1;case 14:return e.next=16,u=o[c];case 16:if(o[c=c%3===2?c-2:c+1]===t){e.next=19;break}return e.abrupt("return");case 19:if(-1!==(c=i[c])){e.next=26;break}if((l=n[(r[t]+1)%n.length])===u){e.next=25;break}return e.next=25,l;case 25:return e.abrupt("return");case 26:if(c!==g){e.next=14;break}case 27:case"end":return e.stop()}}),e,this)}))},{key:"find",value:function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if((e=+e)!==e||(t=+t)!==t)return-1;for(var n,r=A;(n=this._step(A,e,t))>=0&&n!==A&&n!==r;)A=n;return n}},{key:"_step",value:function(e,t,A){var n=this.inedges,r=this.hull,i=this._hullIndex,o=this.halfedges,a=this.triangles,s=this.points;if(-1===n[e]||!s.length)return(e+1)%(s.length>>1);var g=e,c=wb(t-s[2*e],2)+wb(A-s[2*e+1],2),u=n[e],l=u;do{var I=a[l],C=wb(t-s[2*I],2)+wb(A-s[2*I+1],2);if(C<c&&(c=C,g=I),a[l=l%3===2?l-2:l+1]!==e)break;if(-1===(l=o[l])){if((l=r[(i[e]+1)%r.length])!==I&&wb(t-s[2*l],2)+wb(A-s[2*l+1],2)<c)return l;break}}while(l!==u);return g}},{key:"render",value:function(e){for(var t=null==e?e=new Qb:void 0,A=this.points,n=this.halfedges,r=this.triangles,i=0,o=n.length;i<o;++i){var a=n[i];if(!(a<i)){var s=2*r[i],g=2*r[a];e.moveTo(A[s],A[s+1]),e.lineTo(A[g],A[g+1])}}return this.renderHull(e),t&&t.value()}},{key:"renderPoints",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,A=null==e?e=new Qb:void 0,n=this.points,r=0,i=n.length;r<i;r+=2){var o=n[r],a=n[r+1];e.moveTo(o+t,a),e.arc(o,a,t,0,bb)}return A&&A.value()}},{key:"renderHull",value:function(e){var t=null==e?e=new Qb:void 0,A=this.hull,n=this.points,r=2*A[0],i=A.length;e.moveTo(n[r],n[r+1]);for(var o=1;o<i;++o){var a=2*A[o];e.lineTo(n[a],n[a+1])}return e.closePath(),t&&t.value()}},{key:"hullPolygon",value:function(){var e=new yb;return this.renderHull(e),e.value()}},{key:"renderTriangle",value:function(e,t){var A=null==t?t=new Qb:void 0,n=this.points,r=this.triangles,i=2*r[e*=3],o=2*r[e+1],a=2*r[e+2];return t.moveTo(n[i],n[i+1]),t.lineTo(n[o],n[o+1]),t.lineTo(n[a],n[a+1]),t.closePath(),A&&A.value()}},{key:"trianglePolygons",value:Ie.a.mark((function e(){var t,A,n;return Ie.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.triangles,A=0,n=t.length/3;case 2:if(!(A<n)){e.next=8;break}return e.next=5,this.trianglePolygon(A);case 5:++A,e.next=2;break;case 8:case"end":return e.stop()}}),e,this)}))},{key:"trianglePolygon",value:function(e){var t=new yb;return this.renderTriangle(e,t),t.value()}}]),e}();function Gb(e,t,A,n){for(var r=e.length,i=new Float64Array(2*r),o=0;o<r;++o){var a=e[o];i[2*o]=t.call(n,a,o,e),i[2*o+1]=A.call(n,a,o,e)}return i}function kb(e,t,A,n){var r,i,o,a;return Ie.a.wrap((function(s){for(;;)switch(s.prev=s.next){case 0:r=0,i=Object(ut.a)(e),s.prev=2,i.s();case 4:if((o=i.n()).done){s.next=13;break}return a=o.value,s.next=8,t.call(n,a,r,e);case 8:return s.next=10,A.call(n,a,r,e);case 10:++r;case 11:s.next=4;break;case 13:s.next=18;break;case 15:s.prev=15,s.t0=s.catch(2),i.e(s.t0);case 18:return s.prev=18,i.f(),s.finish(18);case 21:case"end":return s.stop()}}),mb,null,[[2,15,18,21]])}function xb(e){at.call(this,null,e)}xb.Definition={type:"Voronoi",metadata:{modifies:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"size",type:"number",array:!0,length:2},{name:"extent",type:"array",array:!0,length:2,default:[[-1e5,-1e5],[1e5,1e5]],content:{type:"number",array:!0,length:2}},{name:"as",type:"string",default:"path"}]};var Nb=[-1e5,-1e5,1e5,1e5];function Ub(e){for(var t=e[0][0],A=e[0][1],n=e.length-1;e[n][0]===t&&e[n][1]===A;--n);return"M"+e.slice(0,n+1).join("L")+"Z"}Object(ue.z)(xb,at,{transform:function(e,t){var A=e.as||"path",n=t.source;if(!n||!n.length)return t;var r=e.size;r=r?[0,0,r[0],r[1]]:(r=e.extent)?[r[0][0],r[0][1],r[1][0],r[1][1]]:Nb;for(var i=this.value=Db.from(n,e.x,e.y).voronoi(r),o=0,a=n.length;o<a;++o){var s=i.cellPolygon(o);n[o][A]=s?Ub(s):null}return t.reflow(e.modified()).modifies(A)}});var _b=Math.PI/180;function Mb(){var e,t,A,n,r,i,o,a=[256,256],s=Zb,g=[],c=Math.random,u={};function l(e,t,A){for(var n,r,i,o,g,u=t.x,l=t.y,I=Math.sqrt(a[0]*a[0]+a[1]*a[1]),C=s(a),h=c()<.5?1:-1,f=-h;(n=C(f+=h))&&(r=~~n[0],i=~~n[1],!(Math.min(Math.abs(r),Math.abs(i))>=I));)if(t.x=u+r,t.y=l+i,!(t.x+t.x0<0||t.y+t.y0<0||t.x+t.x1>a[0]||t.y+t.y1>a[1])&&(!A||!Lb(t,e,a[0]))&&(!A||(g=A,(o=t).x+o.x1>g[0].x&&o.x+o.x0<g[1].x&&o.y+o.y1>g[0].y&&o.y+o.y0<g[1].y))){for(var d,B=t.sprite,p=t.width>>5,E=a[0]>>5,Q=t.x-(p<<4),y=127&Q,v=32-y,m=t.y1-t.y0,b=(t.y+t.y0)*E+(Q>>5),w=0;w<m;w++){d=0;for(var S=0;S<=p;S++)e[b+S]|=d<<v|(S<p?(d=B[w*p+S])>>>y:0);b+=E}return t.sprite=null,!0}return!1}return u.layout=function(){for(var s=function(e){e.width=e.height=1;var t=Math.sqrt(e.getContext("2d").getImageData(0,0,1,1).data.length>>2);e.width=2048/t,e.height=2048/t;var A=e.getContext("2d");return A.fillStyle=A.strokeStyle="red",A.textAlign="center",{context:A,ratio:t}}(Ii()),u=function(e){var t=[],A=-1;for(;++A<e;)t[A]=0;return t}((a[0]>>5)*a[1]),I=null,C=g.length,h=-1,f=[],d=g.map((function(a){return{text:e(a),font:t(a),style:n(a),weight:r(a),rotate:i(a),size:~~(A(a)+1e-14),padding:o(a),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:a}})).sort((function(e,t){return t.size-e.size}));++h<C;){var B=d[h];B.x=a[0]*(c()+.5)>>1,B.y=a[1]*(c()+.5)>>1,Ob(s,B,d,h),B.hasText&&l(u,B,I)&&(f.push(B),I?Tb(I,B):I=[{x:B.x+B.x0,y:B.y+B.y0},{x:B.x+B.x1,y:B.y+B.y1}],B.x-=a[0]>>1,B.y-=a[1]>>1)}return f},u.words=function(e){return arguments.length?(g=e,u):g},u.size=function(e){return arguments.length?(a=[+e[0],+e[1]],u):a},u.font=function(e){return arguments.length?(t=Hb(e),u):t},u.fontStyle=function(e){return arguments.length?(n=Hb(e),u):n},u.fontWeight=function(e){return arguments.length?(r=Hb(e),u):r},u.rotate=function(e){return arguments.length?(i=Hb(e),u):i},u.text=function(t){return arguments.length?(e=Hb(t),u):e},u.spiral=function(e){return arguments.length?(s=Yb[e]||e,u):s},u.fontSize=function(e){return arguments.length?(A=Hb(e),u):A},u.padding=function(e){return arguments.length?(o=Hb(e),u):o},u.random=function(e){return arguments.length?(c=e,u):c},u}function Ob(e,t,A,n){if(!t.sprite){var r=e.context,i=e.ratio;r.clearRect(0,0,2048/i,2048/i);var o,a,s,g,c,u=0,l=0,I=0,C=A.length;for(--n;++n<C;){if(t=A[n],r.save(),r.font=t.style+" "+t.weight+" "+~~((t.size+1)/i)+"px "+t.font,o=r.measureText(t.text+"m").width*i,s=t.size<<1,t.rotate){var h=Math.sin(t.rotate*_b),f=Math.cos(t.rotate*_b),d=o*f,B=o*h,p=s*f,E=s*h;o=Math.max(Math.abs(d+E),Math.abs(d-E))+31>>5<<5,s=~~Math.max(Math.abs(B+p),Math.abs(B-p))}else o=o+31>>5<<5;if(s>I&&(I=s),u+o>=2048&&(u=0,l+=I,I=0),l+s>=2048)break;r.translate((u+(o>>1))/i,(l+(s>>1))/i),t.rotate&&r.rotate(t.rotate*_b),r.fillText(t.text,0,0),t.padding&&(r.lineWidth=2*t.padding,r.strokeText(t.text,0,0)),r.restore(),t.width=o,t.height=s,t.xoff=u,t.yoff=l,t.x1=o>>1,t.y1=s>>1,t.x0=-t.x1,t.y0=-t.y1,t.hasText=!0,u+=o}for(var Q=r.getImageData(0,0,2048/i,2048/i).data,y=[];--n>=0;)if((t=A[n]).hasText){for(a=(o=t.width)>>5,s=t.y1-t.y0,g=0;g<s*a;g++)y[g]=0;if(null==(u=t.xoff))return;l=t.yoff;var v=0,m=-1;for(c=0;c<s;c++){for(g=0;g<o;g++){var b=a*c+(g>>5),w=Q[2048*(l+c)+(u+g)<<2]?1<<31-g%32:0;y[b]|=w,v|=w}v?m=c:(t.y0++,s--,c--,l++)}t.y1=t.y0+m,t.sprite=y.slice(0,(t.y1-t.y0)*a)}}}function Lb(e,t,A){A>>=5;for(var n,r=e.sprite,i=e.width>>5,o=e.x-(i<<4),a=127&o,s=32-a,g=e.y1-e.y0,c=(e.y+e.y0)*A+(o>>5),u=0;u<g;u++){n=0;for(var l=0;l<=i;l++)if((n<<s|(l<i?(n=r[u*i+l])>>>a:0))&t[c+l])return!0;c+=A}return!1}function Tb(e,t){var A=e[0],n=e[1];t.x+t.x0<A.x&&(A.x=t.x+t.x0),t.y+t.y0<A.y&&(A.y=t.y+t.y0),t.x+t.x1>n.x&&(n.x=t.x+t.x1),t.y+t.y1>n.y&&(n.y=t.y+t.y1)}function Zb(e){var t=e[0]/e[1];return function(e){return[t*(e*=.1)*Math.cos(e),e*Math.sin(e)]}}function Hb(e){return"function"===typeof e?e:function(){return e}}var Yb={archimedean:Zb,rectangular:function(e){var t=4*e[0]/e[1],A=0,n=0;return function(e){var r=e<0?-1:1;switch(Math.sqrt(1+4*r*e)-r&3){case 0:A+=t;break;case 1:n+=4;break;case 2:A-=t;break;default:n-=4}return[A,n]}}},Jb=["x","y","font","fontSize","fontStyle","fontWeight","angle"],jb=["text","font","rotate","fontSize","fontStyle","fontWeight"];function Pb(e){at.call(this,Mb(),e)}Pb.Definition={type:"Wordcloud",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2},{name:"font",type:"string",expr:!0,default:"sans-serif"},{name:"fontStyle",type:"string",expr:!0,default:"normal"},{name:"fontWeight",type:"string",expr:!0,default:"normal"},{name:"fontSize",type:"number",expr:!0,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:!0,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:!0},{name:"as",type:"string",array:!0,length:7,default:Jb}]},Object(ue.z)(Pb,at,{transform:function(e,t){!e.size||e.size[0]&&e.size[1]||Object(ue.o)("Wordcloud size dimensions must be non-zero.");var A=e.modified();if(A||t.changed(t.ADD_REM)||jb.some((function(A){var n=e[A];return Object(ue.E)(n)&&t.modified(n.fields)}))){var n,r=t.materialize(t.SOURCE).source,i=this.value,o=e.as||Jb,a=e.fontSize||14;if(Object(ue.E)(a)?n=e.fontSizeRange:a=Object(ue.m)(a),n){var s=a,g=$c("sqrt")().domain(Object(ue.q)(r,s)).range(n);a=function(e){return g(s(e))}}r.forEach((function(e){e[o[0]]=NaN,e[o[1]]=NaN,e[o[3]]=0}));for(var c,u,l=i.words(r).text(e.text).size(e.size||[500,500]).padding(e.padding||1).spiral(e.spiral||"archimedean").rotate(e.rotate||0).font(e.font||"sans-serif").fontStyle(e.fontStyle||"normal").fontWeight(e.fontWeight||"normal").fontSize(a).random(Ft).layout(),I=i.size(),C=I[0]>>1,h=I[1]>>1,f=l.length,d=0;d<f;++d)(u=(c=l[d]).datum)[o[0]]=c.x+C,u[o[1]]=c.y+h,u[o[2]]=c.font,u[o[3]]=c.size,u[o[4]]=c.style,u[o[5]]=c.weight,u[o[6]]=c.rotate;return t.reflow(A).modifies(o)}}});var Vb=function(e,t){return e<t?-1:e>t?1:e>=t?0:NaN},Kb=function(e){var t=e,A=e;function n(e,t,n,r){for(null==n&&(n=0),null==r&&(r=e.length);n<r;){var i=n+r>>>1;A(e[i],t)<0?n=i+1:r=i}return n}return 1===e.length&&(t=function(t,A){return e(t)-A},A=function(e){return function(t,A){return Vb(e(t),A)}}(e)),{left:n,center:function(e,A,r,i){null==r&&(r=0),null==i&&(i=e.length);var o=n(e,A,r,i-1);return o>r&&t(e[o-1],A)>-t(e[o],A)?o-1:o},right:function(e,t,n,r){for(null==n&&(n=0),null==r&&(r=e.length);n<r;){var i=n+r>>>1;A(e[i],t)>0?r=i:n=i+1}return n}}};var Wb=Kb(Vb),Xb=Wb.right,qb=Wb.left,zb=(Kb((function(e){return null===e?NaN:+e})).center,function(e){return new Uint8Array(e)}),$b=function(e){return new Uint16Array(e)},ew=function(e){return new Uint32Array(e)};function tw(e,t,A){var n=(t<257?zb:t<65537?$b:ew)(e);return A&&n.set(A),n}function Aw(e,t,A){var n=1<<t;return{one:n,zero:~n,range:A.slice(),bisect:e.bisect,index:e.index,size:e.size,onAdd:function(e,t){var A,r=this.bisect(this.range,e.value),i=e.index,o=r[0],a=r[1],s=i.length;for(A=0;A<o;++A)t[i[A]]|=n;for(A=a;A<s;++A)t[i[A]]|=n;return this}}}function nw(){var e=ew(0),t=[],A=0;return{insert:function(n,r,i){if(!r.length)return[];var o,a,s,g,c,u,l,I=A,C=r.length,h=ew(C),f=Array(C);for(s=0;s<C;++s)f[s]=n(r[s]),h[s]=s;if(l=h,(u=f).sort.call(l,(function(e,t){var A=u[e],n=u[t];return A<n?-1:A>n?1:0})),g=u,c=l,f=Array.from(c,(function(e){return g[e]})),I)o=t,a=e,t=Array(I+C),e=ew(I+C),function(e,t,A,n,r,i,o,a,s){var g,c=0,u=0;for(g=0;c<n&&u<o;++g)t[c]<r[u]?(a[g]=t[c],s[g]=A[c++]):(a[g]=r[u],s[g]=i[u++]+e);for(;c<n;++c,++g)a[g]=t[c],s[g]=A[c];for(;u<o;++u,++g)a[g]=r[u],s[g]=i[u]+e}(i,o,a,I,f,h,C,t,e);else{if(i>0)for(s=0;s<C;++s)h[s]+=i;t=f,e=h}return A=I+C,{index:h,value:f}},remove:function(n,r){var i,o,a,s=A;for(o=0;!r[e[o]]&&o<s;++o);for(a=o;o<s;++o)r[i=e[o]]||(e[a]=i,t[a]=t[o],++a);A=s-n},bisect:function(e,n){var r;return n?r=n.length:(n=t,r=A),[qb(n,e[0],0,r),Xb(n,e[1],0,r)]},reindex:function(t){for(var n=0,r=A;n<r;++n)e[n]=t[e[n]]},index:function(){return e},size:function(){return A}}}function rw(e){at.call(this,function(){var e=8,t=[],A=ew(0),n=tw(0,e),r=tw(0,e);return{data:function(){return t},seen:function(){return e=A,n=t.length,A=e.length>=n?e:((r=r||new e.constructor(n)).set(e),r);var e,n,r},add:function(e){for(var A,n=0,r=t.length,i=e.length;n<i;++n)(A=e[n])._index=r++,t.push(A)},remove:function(e,A){var i,o,a,s=t.length,g=Array(s-e),c=t;for(o=0;!A[o]&&o<s;++o)g[o]=t[o],c[o]=o;for(a=o;o<s;++o)i=t[o],A[o]?c[o]=-1:(c[o]=a,n[a]=n[o],r[a]=r[o],g[a]=i,i._index=a++),n[o]=0;return t=g,c},size:function(){return t.length},curr:function(){return n},prev:function(){return r},reset:function(e){return r[e]=n[e]},all:function(){return e<257?255:e<65537?65535:4294967295},set:function(e,t){n[e]|=t},clear:function(e,t){n[e]&=~t},resize:function(t,A){(t>n.length||A>e)&&(e=Math.max(A,e),n=tw(t,e,n),r=tw(t,e))}}}(),e),this._indices=null,this._dims=null}function iw(e){at.call(this,null,e)}rw.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]},Object(ue.z)(rw,at,{transform:function(e,t){return this._dims?e.modified("fields")||e.fields.some((function(e){return t.modified(e.fields)}))?this.reinit(e,t):this.eval(e,t):this.init(e,t)},init:function(e,t){for(var A,n,r=e.fields,i=e.query,o=this._indices={},a=this._dims=[],s=i.length,g=0;g<s;++g)n=o[A=r[g].fname]||(o[A]=nw()),a.push(Aw(n,g,i[g]));return this.eval(e,t)},reinit:function(e,t){var A,n,r,i,o,a,s,g,c,u=t.materialize().fork(),l=e.fields,I=e.query,C=this._indices,h=this._dims,f=this.value,d=f.curr(),B=f.prev(),p=f.all(),E=u.rem=u.add,Q=u.mod,y=I.length,v={};if(B.set(d),t.rem.length&&(o=this.remove(e,t,u)),t.add.length&&f.add(t.add),t.mod.length)for(a={},s=0,g=(i=t.mod).length;s<g;++s)a[i[s]._index]=1;for(s=0;s<y;++s)c=l[s],(!h[s]||e.modified("fields",s)||t.modified(c.fields))&&((A=v[r=c.fname])||(C[r]=n=nw(),v[r]=A=n.insert(c,t.source,0)),h[s]=Aw(n,s,I[s]).onAdd(A,d));for(s=0,g=f.data().length;s<g;++s)o[s]||(B[s]!==d[s]?E.push(s):a[s]&&d[s]!==p&&Q.push(s));return f.mask=(1<<y)-1,u},eval:function(e,t){var A=t.materialize().fork(),n=this._dims.length,r=0;return t.rem.length&&(this.remove(e,t,A),r|=(1<<n)-1),e.modified("query")&&!e.modified("fields")&&(r|=this.update(e,t,A)),t.add.length&&(this.insert(e,t,A),r|=(1<<n)-1),t.mod.length&&(this.modify(t,A),r|=(1<<n)-1),this.value.mask=r,A},insert:function(e,t,A){var n,r,i,o=t.add,a=this.value,s=this._dims,g=this._indices,c=e.fields,u={},l=A.add,I=a.size()+o.length,C=s.length,h=a.size();a.resize(I,C),a.add(o);var f=a.curr(),d=a.prev(),B=a.all();for(n=0;n<C;++n)i=u[r=c[n].fname]||(u[r]=g[r].insert(c[n],o,h)),s[n].onAdd(i,f);for(;h<I;++h)d[h]=B,f[h]!==B&&l.push(h)},modify:function(e,t){var A,n,r,i=t.mod,o=this.value,a=o.curr(),s=o.all(),g=e.mod;for(A=0,n=g.length;A<n;++A)a[r=g[A]._index]!==s&&i.push(r)},remove:function(e,t,A){var n,r,i,o,a=this._indices,s=this.value,g=s.curr(),c=s.prev(),u=s.all(),l={},I=A.rem,C=t.rem;for(n=0,r=C.length;n<r;++n)l[i=C[n]._index]=1,c[i]=o=g[i],g[i]=u,o!==u&&I.push(i);for(i in a)a[i].remove(r,l);return this.reindex(t,r,l),l},reindex:function(e,t,A){var n=this._indices,r=this.value;e.runAfter((function(){var e=r.remove(t,A);for(var i in n)n[i].reindex(e)}))},update:function(e,t,A){var n,r,i=this._dims,o=e.query,a=t.stamp,s=i.length,g=0;for(A.filters=0,r=0;r<s;++r)e.modified("query",r)&&(n=r,++g);if(1===g)g=i[n].one,this.incrementOne(i[n],o[n],A.add,A.rem);else for(r=0,g=0;r<s;++r)e.modified("query",r)&&(g|=i[r].one,this.incrementAll(i[r],o[r],a,A.add),A.rem=A.add);return g},incrementAll:function(e,t,A,n){var r,i,o,a=this.value,s=a.seen(),g=a.curr(),c=a.prev(),u=e.index(),l=e.bisect(e.range),I=e.bisect(t),C=I[0],h=I[1],f=l[0],d=l[1],B=e.one;if(C<f)for(r=C,i=Math.min(f,h);r<i;++r)s[o=u[r]]!==A&&(c[o]=g[o],s[o]=A,n.push(o)),g[o]^=B;else if(C>f)for(r=f,i=Math.min(C,d);r<i;++r)s[o=u[r]]!==A&&(c[o]=g[o],s[o]=A,n.push(o)),g[o]^=B;if(h>d)for(r=Math.max(C,d),i=h;r<i;++r)s[o=u[r]]!==A&&(c[o]=g[o],s[o]=A,n.push(o)),g[o]^=B;else if(h<d)for(r=Math.max(f,h),i=d;r<i;++r)s[o=u[r]]!==A&&(c[o]=g[o],s[o]=A,n.push(o)),g[o]^=B;e.range=t.slice()},incrementOne:function(e,t,A,n){var r,i,o,a=this.value.curr(),s=e.index(),g=e.bisect(e.range),c=e.bisect(t),u=c[0],l=c[1],I=g[0],C=g[1],h=e.one;if(u<I)for(r=u,i=Math.min(I,l);r<i;++r)a[o=s[r]]^=h,A.push(o);else if(u>I)for(r=I,i=Math.min(u,C);r<i;++r)a[o=s[r]]^=h,n.push(o);if(l>C)for(r=Math.max(u,C),i=l;r<i;++r)a[o=s[r]]^=h,A.push(o);else if(l<C)for(r=Math.max(I,l),i=C;r<i;++r)a[o=s[r]]^=h,n.push(o);e.range=t.slice()}}),iw.Definition={type:"ResolveFilter",metadata:{},params:[{name:"ignore",type:"number",required:!0,description:"A bit mask indicating which filters to ignore."},{name:"filter",type:"object",required:!0,description:"Per-tuple filter bitmaps from a CrossFilter transform."}]},Object(ue.z)(iw,at,{transform:function(e,t){var A=~(e.ignore||0),n=e.filter,r=n.mask;if(0===(r&A))return t.StopPropagation;var i=t.fork(t.ALL),o=n.data(),a=n.curr(),s=n.prev(),g=function(e){return a[e]&A?null:o[e]};return i.filter(i.MOD,g),r&r-1?(i.filter(i.ADD,(function(e){var t=a[e]&A;return!t&&t^s[e]&A?o[e]:null})),i.filter(i.REM,(function(e){var t=a[e]&A;return t&&!(t^t^s[e]&A)?o[e]:null}))):(i.filter(i.ADD,g),i.filter(i.REM,(function(e){return(a[e]&A)===r?o[e]:null}))),i.filter(i.SOURCE,(function(e){return g(e._index)}))}});var ow=Math.sqrt(50),aw=Math.sqrt(10),sw=Math.sqrt(2);var gw,cw,uw,lw,Iw;function Cw(e){this.type=e}Cw.prototype.visit=function(e){var t,A,n;if(e(this))return 1;for(A=0,n=(t=function(e){switch(e.type){case"ArrayExpression":return e.elements;case"BinaryExpression":case"LogicalExpression":return[e.left,e.right];case"CallExpression":return[e.callee].concat(e.arguments);case"ConditionalExpression":return[e.test,e.consequent,e.alternate];case"MemberExpression":return[e.object,e.property];case"ObjectExpression":return e.properties;case"Property":return[e.key,e.value];case"UnaryExpression":return[e.argument];case"Identifier":case"Literal":case"RawCode":default:return[]}}(this)).length;A<n;++A)if(t[A].visit(e))return 1};(gw={})[1]="Boolean",gw[2]="<end>",gw[3]="Identifier",gw[4]="Keyword",gw[5]="Null",gw[6]="Numeric",gw[7]="Punctuator",gw[8]="String",gw[9]="RegularExpression";var hw="ILLEGAL",fw=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),dw=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function Bw(e,t){if(!e)throw new Error("ASSERT: "+t)}function pw(e){return e>=48&&e<=57}function Ew(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function Qw(e){return"01234567".indexOf(e)>=0}function yw(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0}function vw(e){return 10===e||13===e||8232===e||8233===e}function mw(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&fw.test(String.fromCharCode(e))}function bw(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&dw.test(String.fromCharCode(e))}var ww={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function Sw(){for(;uw<lw;){var e=cw.charCodeAt(uw);if(!yw(e)&&!vw(e))break;++uw}}function Fw(e){var t,A,n,r=0;for(A="u"===e?4:2,t=0;t<A;++t)uw<lw&&Ew(cw[uw])?(n=cw[uw++],r=16*r+"0123456789abcdef".indexOf(n.toLowerCase())):Jw({},"Unexpected token %0",hw);return String.fromCharCode(r)}function Rw(){var e,t,A,n;for(t=0,"}"===(e=cw[uw])&&Jw({},"Unexpected token %0",hw);uw<lw&&Ew(e=cw[uw++]);)t=16*t+"0123456789abcdef".indexOf(e.toLowerCase());return(t>1114111||"}"!==e)&&Jw({},"Unexpected token %0",hw),t<=65535?String.fromCharCode(t):(A=55296+(t-65536>>10),n=56320+(t-65536&1023),String.fromCharCode(A,n))}function Dw(){var e,t;for(e=cw.charCodeAt(uw++),t=String.fromCharCode(e),92===e&&(117!==cw.charCodeAt(uw)&&Jw({},"Unexpected token %0",hw),++uw,(e=Fw("u"))&&"\\"!==e&&mw(e.charCodeAt(0))||Jw({},"Unexpected token %0",hw),t=e);uw<lw&&bw(e=cw.charCodeAt(uw));)++uw,t+=String.fromCharCode(e),92===e&&(t=t.substr(0,t.length-1),117!==cw.charCodeAt(uw)&&Jw({},"Unexpected token %0",hw),++uw,(e=Fw("u"))&&"\\"!==e&&bw(e.charCodeAt(0))||Jw({},"Unexpected token %0",hw),t+=e);return t}function Gw(){var e,t;return e=uw,{type:1===(t=92===cw.charCodeAt(uw)?Dw():function(){var e,t;for(e=uw++;uw<lw;){if(92===(t=cw.charCodeAt(uw)))return uw=e,Dw();if(!bw(t))break;++uw}return cw.slice(e,uw)}()).length?3:ww.hasOwnProperty(t)?4:"null"===t?5:"true"===t||"false"===t?1:3,value:t,start:e,end:uw}}function kw(){var e,t,A,n,r=uw,i=cw.charCodeAt(uw),o=cw[uw];switch(i){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++uw,{type:7,value:String.fromCharCode(i),start:r,end:uw};default:if(61===(e=cw.charCodeAt(uw+1)))switch(i){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return uw+=2,{type:7,value:String.fromCharCode(i)+String.fromCharCode(e),start:r,end:uw};case 33:case 61:return uw+=2,61===cw.charCodeAt(uw)&&++uw,{type:7,value:cw.slice(r,uw),start:r,end:uw}}}return">>>="===(n=cw.substr(uw,4))?{type:7,value:n,start:r,end:uw+=4}:">>>"===(A=n.substr(0,3))||"<<="===A||">>="===A?{type:7,value:A,start:r,end:uw+=3}:o===(t=A.substr(0,2))[1]&&"+-<>&|".indexOf(o)>=0||"=>"===t?{type:7,value:t,start:r,end:uw+=2}:("//"===t&&Jw({},"Unexpected token %0",hw),"<>=!+-*%&|^/".indexOf(o)>=0?{type:7,value:o,start:r,end:++uw}:void Jw({},"Unexpected token %0",hw))}function xw(){var e,t,A;if(Bw(pw((A=cw[uw]).charCodeAt(0))||"."===A,"Numeric literal must start with a decimal digit or a decimal point"),t=uw,e="","."!==A){if(e=cw[uw++],A=cw[uw],"0"===e){if("x"===A||"X"===A)return++uw,function(e){for(var t="";uw<lw&&Ew(cw[uw]);)t+=cw[uw++];return 0===t.length&&Jw({},"Unexpected token %0",hw),mw(cw.charCodeAt(uw))&&Jw({},"Unexpected token %0",hw),{type:6,value:parseInt("0x"+t,16),start:e,end:uw}}(t);if(Qw(A))return function(e){for(var t="0"+cw[uw++];uw<lw&&Qw(cw[uw]);)t+=cw[uw++];return(mw(cw.charCodeAt(uw))||pw(cw.charCodeAt(uw)))&&Jw({},"Unexpected token %0",hw),{type:6,value:parseInt(t,8),octal:!0,start:e,end:uw}}(t);A&&pw(A.charCodeAt(0))&&Jw({},"Unexpected token %0",hw)}for(;pw(cw.charCodeAt(uw));)e+=cw[uw++];A=cw[uw]}if("."===A){for(e+=cw[uw++];pw(cw.charCodeAt(uw));)e+=cw[uw++];A=cw[uw]}if("e"===A||"E"===A)if(e+=cw[uw++],"+"!==(A=cw[uw])&&"-"!==A||(e+=cw[uw++]),pw(cw.charCodeAt(uw)))for(;pw(cw.charCodeAt(uw));)e+=cw[uw++];else Jw({},"Unexpected token %0",hw);return mw(cw.charCodeAt(uw))&&Jw({},"Unexpected token %0",hw),{type:6,value:parseFloat(e),start:t,end:uw}}function Nw(){var e,t,A,n;return Iw=null,Sw(),e=uw,t=function(){var e,t,A,n;for(Bw("/"===(e=cw[uw]),"Regular expression literal must start with a slash"),t=cw[uw++],A=!1,n=!1;uw<lw;)if(t+=e=cw[uw++],"\\"===e)vw((e=cw[uw++]).charCodeAt(0))&&Jw({},"Invalid regular expression: missing /"),t+=e;else if(vw(e.charCodeAt(0)))Jw({},"Invalid regular expression: missing /");else if(A)"]"===e&&(A=!1);else{if("/"===e){n=!0;break}"["===e&&(A=!0)}return n||Jw({},"Invalid regular expression: missing /"),{value:t.substr(1,t.length-2),literal:t}}(),A=function(){var e,t,A;for(t="",A="";uw<lw&&bw((e=cw[uw]).charCodeAt(0));)++uw,"\\"===e&&uw<lw?Jw({},"Unexpected token %0",hw):(A+=e,t+=e);return A.search(/[^gimuy]/g)>=0&&Jw({},"Invalid regular expression",A),{value:A,literal:t}}(),n=function(e,t){var A=e;t.indexOf("u")>=0&&(A=A.replace(/\\u\{([0-9a-fA-F]+)\}/g,(function(e,t){if(parseInt(t,16)<=1114111)return"x";Jw({},"Invalid regular expression")})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(A)}catch(n){Jw({},"Invalid regular expression")}try{return new RegExp(e,t)}catch(r){return null}}(t.value,A.value),{literal:t.literal+A.literal,value:n,regex:{pattern:t.value,flags:A.value},start:e,end:uw}}function Uw(){if(Sw(),uw>=lw)return{type:2,start:uw,end:uw};var e=cw.charCodeAt(uw);return mw(e)?Gw():40===e||41===e||59===e?kw():39===e||34===e?function(){var e,t,A,n,r="",i=!1;for(Bw("'"===(e=cw[uw])||'"'===e,"String literal must starts with a quote"),t=uw,++uw;uw<lw;){if((A=cw[uw++])===e){e="";break}if("\\"===A)if((A=cw[uw++])&&vw(A.charCodeAt(0)))"\r"===A&&"\n"===cw[uw]&&++uw;else switch(A){case"u":case"x":"{"===cw[uw]?(++uw,r+=Rw()):r+=Fw(A);break;case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+="\t";break;case"b":r+="\b";break;case"f":r+="\f";break;case"v":r+="\v";break;default:Qw(A)?(0!==(n="01234567".indexOf(A))&&(i=!0),uw<lw&&Qw(cw[uw])&&(i=!0,n=8*n+"01234567".indexOf(cw[uw++]),"0123".indexOf(A)>=0&&uw<lw&&Qw(cw[uw])&&(n=8*n+"01234567".indexOf(cw[uw++]))),r+=String.fromCharCode(n)):r+=A}else{if(vw(A.charCodeAt(0)))break;r+=A}}return""!==e&&Jw({},"Unexpected token %0",hw),{type:8,value:r,octal:i,start:t,end:uw}}():46===e?pw(cw.charCodeAt(uw+1))?xw():kw():pw(e)?xw():kw()}function _w(){var e=Iw;return uw=e.end,Iw=Uw(),uw=e.end,e}function Mw(){var e=uw;Iw=Uw(),uw=e}function Ow(e,t,A){var n=new Cw("||"===e||"&&"===e?"LogicalExpression":"BinaryExpression");return n.operator=e,n.left=t,n.right=A,n}function Lw(e,t){var A=new Cw("CallExpression");return A.callee=e,A.arguments=t,A}function Tw(e){var t=new Cw("Identifier");return t.name=e,t}function Zw(e){var t=new Cw("Literal");return t.value=e.value,t.raw=cw.slice(e.start,e.end),e.regex&&("//"===t.raw&&(t.raw="/(?:)/"),t.regex=e.regex),t}function Hw(e,t,A){var n=new Cw("MemberExpression");return n.computed="["===e,n.object=t,n.property=A,n.computed||(A.member=!0),n}function Yw(e,t,A){var n=new Cw("Property");return n.key=t,n.value=A,n.kind=e,n}function Jw(e,t){var A,n=Array.prototype.slice.call(arguments,2),r=t.replace(/%(\d)/g,(function(e,t){return Bw(t<n.length,"Message reference must be in range"),n[t]}));throw(A=new Error(r)).index=uw,A.description=r,A}function jw(e){2===e.type&&Jw(e,"Unexpected end of input"),6===e.type&&Jw(e,"Unexpected number"),8===e.type&&Jw(e,"Unexpected string"),3===e.type&&Jw(e,"Unexpected identifier"),4===e.type&&Jw(e,"Unexpected reserved word"),Jw(e,"Unexpected token %0",e.value)}function Pw(e){var t=_w();7===t.type&&t.value===e||jw(t)}function Vw(e){return 7===Iw.type&&Iw.value===e}function Kw(e){return 4===Iw.type&&Iw.value===e}function Ww(){var e=[];for(uw=Iw.start,Pw("[");!Vw("]");)Vw(",")?(_w(),e.push(null)):(e.push(aS()),Vw("]")||Pw(","));return _w(),function(e){var t=new Cw("ArrayExpression");return t.elements=e,t}(e)}function Xw(){uw=Iw.start;var e=_w();return 8===e.type||6===e.type?(e.octal&&Jw(e,"Octal literals are not allowed in strict mode."),Zw(e)):Tw(e.value)}function qw(){var e,t,A;return uw=Iw.start,3===(e=Iw).type?(A=Xw(),Pw(":"),Yw("init",A,aS())):2!==e.type&&7!==e.type?(t=Xw(),Pw(":"),Yw("init",t,aS())):void jw(e)}function zw(){var e,t,A=[],n={},r=String;for(uw=Iw.start,Pw("{");!Vw("}");)t="$"+("Identifier"===(e=qw()).key.type?e.key.name:r(e.key.value)),Object.prototype.hasOwnProperty.call(n,t)?Jw({},"Duplicate data property in object literal not allowed in strict mode"):n[t]=!0,A.push(e),Vw("}")||Pw(",");return Pw("}"),function(e){var t=new Cw("ObjectExpression");return t.properties=e,t}(A)}var $w={if:1};function eS(){var e,t,A;if(Vw("("))return function(){Pw("(");var e=sS();return Pw(")"),e}();if(Vw("["))return Ww();if(Vw("{"))return zw();if(e=Iw.type,uw=Iw.start,3===e||$w[Iw.value])A=Tw(_w().value);else if(8===e||6===e)Iw.octal&&Jw(Iw,"Octal literals are not allowed in strict mode."),A=Zw(_w());else{if(4===e)throw new Error("Disabled.");1===e?((t=_w()).value="true"===t.value,A=Zw(t)):5===e?((t=_w()).value=null,A=Zw(t)):Vw("/")||Vw("/=")?(A=Zw(Nw()),Mw()):jw(_w())}return A}function tS(){var e=[];if(Pw("("),!Vw(")"))for(;uw<lw&&(e.push(aS()),!Vw(")"));)Pw(",");return Pw(")"),e}function AS(){return Pw("."),function(){uw=Iw.start;var e=_w();return function(e){return 3===e.type||4===e.type||1===e.type||5===e.type}(e)||jw(e),Tw(e.value)}()}function nS(){Pw("[");var e=sS();return Pw("]"),e}function rS(){var e=function(){var e;for(e=eS();;)if(Vw("."))e=Hw(".",e,AS());else if(Vw("("))e=Lw(e,tS());else{if(!Vw("["))break;e=Hw("[",e,nS())}return e}();if(7===Iw.type&&(Vw("++")||Vw("--")))throw new Error("Disabled.");return e}function iS(){var e,t;if(7!==Iw.type&&4!==Iw.type)t=rS();else{if(Vw("++")||Vw("--"))throw new Error("Disabled.");if(Vw("+")||Vw("-")||Vw("~")||Vw("!"))e=_w(),t=iS(),t=function(e,t){var A=new Cw("UnaryExpression");return A.operator=e,A.argument=t,A.prefix=!0,A}(e.value,t);else{if(Kw("delete")||Kw("void")||Kw("typeof"))throw new Error("Disabled.");t=rS()}}return t}function oS(e){var t=0;if(7!==e.type&&4!==e.type)return 0;switch(e.value){case"||":t=1;break;case"&&":t=2;break;case"|":t=3;break;case"^":t=4;break;case"&":t=5;break;case"==":case"!=":case"===":case"!==":t=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":t=7;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11}return t}function aS(){var e,t;return e=function(){var e,t,A,n,r,i,o,a,s,g;if(e=Iw,s=iS(),0===(r=oS(n=Iw)))return s;for(n.prec=r,_w(),t=[e,Iw],i=[s,n,o=iS()];(r=oS(Iw))>0;){for(;i.length>2&&r<=i[i.length-2].prec;)o=i.pop(),a=i.pop().value,s=i.pop(),t.pop(),A=Ow(a,s,o),i.push(A);(n=_w()).prec=r,i.push(n),t.push(Iw),A=iS(),i.push(A)}for(A=i[g=i.length-1],t.pop();g>1;)t.pop(),A=Ow(i[g-1].value,i[g-2],A),g-=2;return A}(),Vw("?")&&(_w(),t=aS(),Pw(":"),e=function(e,t,A){var n=new Cw("ConditionalExpression");return n.test=e,n.consequent=t,n.alternate=A,n}(e,t,aS())),e}function sS(){var e=aS();if(Vw(","))throw new Error("Disabled.");return e}function gS(e){uw=0,lw=(cw=e).length,Iw=null,Mw();var t=sS();if(2!==Iw.type)throw new Error("Unexpect token after expression.");return t}var cS={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function uS(e){function t(t,A,n){return function(r){return function(t,A,n,r){var i=e(A[0]);return n&&(i=n+"("+i+")",0===n.lastIndexOf("new ",0)&&(i="("+i+")")),i+"."+t+(r<0?"":0===r?"()":"("+A.slice(1).map(e).join(",")+")")}(t,r,A,n)}}var A="new Date";return{isNaN:"Number.isNaN",isFinite:"Number.isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(t){t.length<3&&Object(ue.o)("Missing arguments to clamp function."),t.length>3&&Object(ue.o)("Too many arguments to clamp function.");var A=t.map(e);return"Math.max("+A[1]+", Math.min("+A[2]+","+A[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:A,date:t("getDate",A,0),day:t("getDay",A,0),year:t("getFullYear",A,0),month:t("getMonth",A,0),hours:t("getHours",A,0),minutes:t("getMinutes",A,0),seconds:t("getSeconds",A,0),milliseconds:t("getMilliseconds",A,0),time:t("getTime",A,0),timezoneoffset:t("getTimezoneOffset",A,0),utcdate:t("getUTCDate",A,0),utcday:t("getUTCDay",A,0),utcyear:t("getUTCFullYear",A,0),utcmonth:t("getUTCMonth",A,0),utchours:t("getUTCHours",A,0),utcminutes:t("getUTCMinutes",A,0),utcseconds:t("getUTCSeconds",A,0),utcmilliseconds:t("getUTCMilliseconds",A,0),length:t("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:t("toUpperCase","String",0),lower:t("toLowerCase","String",0),substring:t("substring","String"),split:t("split","String"),trim:t("trim","String",0),regexp:"RegExp",test:t("test","RegExp"),if:function(t){t.length<3&&Object(ue.o)("Missing arguments to if function."),t.length>3&&Object(ue.o)("Too many arguments to if function.");var A=t.map(e);return"("+A[0]+"?"+A[1]+":"+A[2]+")"}}}function lS(e){var t=(e=e||{}).allowed?Object(ue.fb)(e.allowed):{},A=e.forbidden?Object(ue.fb)(e.forbidden):{},n=e.constants||cS,r=(e.functions||uS)(u),i=e.globalvar,o=e.fieldvar,a=Object(ue.E)(i)?i:function(e){return"".concat(i,'["').concat(e,'"]')},s={},g={},c=0;function u(e){if(Object(ue.J)(e))return e;var t=l[e.type];return null==t&&Object(ue.o)("Unsupported type: "+e.type),t(e)}var l={Literal:function(e){return e.raw},Identifier:function(e){var r=e.name;return c>0?r:Object(ue.w)(A,r)?Object(ue.o)("Illegal identifier: "+r):Object(ue.w)(n,r)?n[r]:Object(ue.w)(t,r)?r:(s[r]=1,a(r))},MemberExpression:function(e){var t=!e.computed,A=u(e.object);t&&(c+=1);var n=u(e.property);return A===o&&(g[function(e){var t=e&&e.length-1;return t&&('"'===e[0]&&'"'===e[t]||"'"===e[0]&&"'"===e[t])?e.slice(1,-1):e}(n)]=1),t&&(c-=1),A+(t?"."+n:"["+n+"]")},CallExpression:function(e){"Identifier"!==e.callee.type&&Object(ue.o)("Illegal callee type: "+e.callee.type);var t=e.callee.name,A=e.arguments,n=Object(ue.w)(r,t)&&r[t];return n||Object(ue.o)("Unrecognized function: "+t),Object(ue.E)(n)?n(A):n+"("+A.map(u).join(",")+")"},ArrayExpression:function(e){return"["+e.elements.map(u).join(",")+"]"},BinaryExpression:function(e){return"("+u(e.left)+" "+e.operator+" "+u(e.right)+")"},UnaryExpression:function(e){return"("+e.operator+u(e.argument)+")"},ConditionalExpression:function(e){return"("+u(e.test)+"?"+u(e.consequent)+":"+u(e.alternate)+")"},LogicalExpression:function(e){return"("+u(e.left)+e.operator+u(e.right)+")"},ObjectExpression:function(e){return"{"+e.properties.map(u).join(",")+"}"},Property:function(e){c+=1;var t=u(e.key);return c-=1,t+":"+u(e.value)}};function I(e){var t={code:u(e),globals:Object.keys(s),fields:Object.keys(g)};return s={},g={},t}return I.functions=r,I.constants=n,I}var IS=function(){function e(){Object(y.a)(this,e),this._partials=new Float64Array(32),this._n=0}return Object(v.a)(e,[{key:"add",value:function(e){for(var t=this._partials,A=0,n=0;n<this._n&&n<32;n++){var r=t[n],i=e+r,o=Math.abs(e)<Math.abs(r)?e-(i-r):r-(i-e);o&&(t[A++]=o),e=i}return t[A]=e,this._n=A+1,this}},{key:"valueOf",value:function(){var e,t,A,n=this._partials,r=this._n,i=0;if(r>0){for(i=n[--r];r>0&&(e=i,!(A=(t=n[--r])-((i=e+t)-e))););r>0&&(A<0&&n[r-1]<0||A>0&&n[r-1]>0)&&(t=2*A)==(e=i+t)-i&&(i=e)}return i}}]),e}();var CS=Math.PI,hS=CS/2,fS=CS/4,dS=2*CS,BS=180/CS,pS=CS/180,ES=Math.abs,QS=(Math.atan,Math.atan2),yS=Math.cos,vS=(Math.ceil,Math.exp,Math.floor,Math.hypot),mS=(Math.log,Math.pow,Math.sin),bS=(Math.sign,Math.sqrt);Math.tan;function wS(e){return e>1?hS:e<-1?-hS:Math.asin(e)}function SS(){}function FS(e,t){e&&DS.hasOwnProperty(e.type)&&DS[e.type](e,t)}var RS={Feature:function(e,t){FS(e.geometry,t)},FeatureCollection:function(e,t){for(var A=e.features,n=-1,r=A.length;++n<r;)FS(A[n].geometry,t)}},DS={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var A=e.coordinates,n=-1,r=A.length;++n<r;)e=A[n],t.point(e[0],e[1],e[2])},LineString:function(e,t){GS(e.coordinates,t,0)},MultiLineString:function(e,t){for(var A=e.coordinates,n=-1,r=A.length;++n<r;)GS(A[n],t,0)},Polygon:function(e,t){kS(e.coordinates,t)},MultiPolygon:function(e,t){for(var A=e.coordinates,n=-1,r=A.length;++n<r;)kS(A[n],t)},GeometryCollection:function(e,t){for(var A=e.geometries,n=-1,r=A.length;++n<r;)FS(A[n],t)}};function GS(e,t,A){var n,r=-1,i=e.length-A;for(t.lineStart();++r<i;)n=e[r],t.point(n[0],n[1],n[2]);t.lineEnd()}function kS(e,t){var A=-1,n=e.length;for(t.polygonStart();++A<n;)GS(e[A],t,1);t.polygonEnd()}var xS,NS,US,_S,MS,OS=function(e,t){e&&RS.hasOwnProperty(e.type)?RS[e.type](e,t):FS(e,t)},LS=new IS,TS=new IS,ZS={point:SS,lineStart:SS,lineEnd:SS,polygonStart:function(){LS=new IS,ZS.lineStart=HS,ZS.lineEnd=YS},polygonEnd:function(){var e=+LS;TS.add(e<0?dS+e:e),this.lineStart=this.lineEnd=this.point=SS},sphere:function(){TS.add(dS)}};function HS(){ZS.point=JS}function YS(){jS(xS,NS)}function JS(e,t){ZS.point=jS,xS=e,NS=t,US=e*=pS,_S=yS(t=(t*=pS)/2+fS),MS=mS(t)}function jS(e,t){var A=(e*=pS)-US,n=A>=0?1:-1,r=n*A,i=yS(t=(t*=pS)/2+fS),o=mS(t),a=MS*o,s=_S*i+a*yS(r),g=a*n*mS(r);LS.add(QS(g,s)),US=e,_S=i,MS=o}var PS,VS,KS,WS,XS,qS,zS,$S,eF,tF,AF;function nF(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}var rF={point:iF,lineStart:aF,lineEnd:sF,polygonStart:function(){rF.point=gF,rF.lineStart=cF,rF.lineEnd=uF,eF=new IS,ZS.polygonStart()},polygonEnd:function(){ZS.polygonEnd(),rF.point=iF,rF.lineStart=aF,rF.lineEnd=sF,LS<0?(PS=-(KS=180),VS=-(WS=90)):eF>1e-6?WS=90:eF<-1e-6&&(VS=-90),AF[0]=PS,AF[1]=KS},sphere:function(){PS=-(KS=180),VS=-(WS=90)}};function iF(e,t){tF.push(AF=[PS=e,KS=e]),t<VS&&(VS=t),t>WS&&(WS=t)}function oF(e,t){var A,n=function(e){var t=e[0],A=e[1],n=yS(A);return[n*yS(t),n*mS(t),mS(A)]}([e*pS,t*pS]);if($S){var r=nF($S,n),i=nF([r[1],-r[0],0],r);!function(e){var t=bS(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}(i),i=[QS((A=i)[1],A[0]),wS(A[2])];var o,a=e-XS,s=a>0?1:-1,g=i[0]*BS*s,c=ES(a)>180;c^(s*XS<g&&g<s*e)?(o=i[1]*BS)>WS&&(WS=o):c^(s*XS<(g=(g+360)%360-180)&&g<s*e)?(o=-i[1]*BS)<VS&&(VS=o):(t<VS&&(VS=t),t>WS&&(WS=t)),c?e<XS?lF(PS,e)>lF(PS,KS)&&(KS=e):lF(e,KS)>lF(PS,KS)&&(PS=e):KS>=PS?(e<PS&&(PS=e),e>KS&&(KS=e)):e>XS?lF(PS,e)>lF(PS,KS)&&(KS=e):lF(e,KS)>lF(PS,KS)&&(PS=e)}else tF.push(AF=[PS=e,KS=e]);t<VS&&(VS=t),t>WS&&(WS=t),$S=n,XS=e}function aF(){rF.point=oF}function sF(){AF[0]=PS,AF[1]=KS,rF.point=iF,$S=null}function gF(e,t){if($S){var A=e-XS;eF.add(ES(A)>180?A+(A>0?360:-360):A)}else qS=e,zS=t;ZS.point(e,t),oF(e,t)}function cF(){ZS.lineStart()}function uF(){gF(qS,zS),ZS.lineEnd(),ES(eF)>1e-6&&(PS=-(KS=180)),AF[0]=PS,AF[1]=KS,$S=null}function lF(e,t){return(t-=e)<0?t+360:t}function IF(e,t){return e[0]-t[0]}function CF(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}var hF,fF,dF,BF,pF,EF,QF,yF,vF,mF,bF,wF,SF,FF,RF,DF,GF={sphere:SS,point:kF,lineStart:NF,lineEnd:MF,polygonStart:function(){GF.lineStart=OF,GF.lineEnd=LF},polygonEnd:function(){GF.lineStart=NF,GF.lineEnd=MF}};function kF(e,t){e*=pS;var A=yS(t*=pS);xF(A*yS(e),A*mS(e),mS(t))}function xF(e,t,A){++hF,dF+=(e-dF)/hF,BF+=(t-BF)/hF,pF+=(A-pF)/hF}function NF(){GF.point=UF}function UF(e,t){e*=pS;var A=yS(t*=pS);FF=A*yS(e),RF=A*mS(e),DF=mS(t),GF.point=_F,xF(FF,RF,DF)}function _F(e,t){e*=pS;var A=yS(t*=pS),n=A*yS(e),r=A*mS(e),i=mS(t),o=QS(bS((o=RF*i-DF*r)*o+(o=DF*n-FF*i)*o+(o=FF*r-RF*n)*o),FF*n+RF*r+DF*i);fF+=o,EF+=o*(FF+(FF=n)),QF+=o*(RF+(RF=r)),yF+=o*(DF+(DF=i)),xF(FF,RF,DF)}function MF(){GF.point=kF}function OF(){GF.point=TF}function LF(){ZF(wF,SF),GF.point=kF}function TF(e,t){wF=e,SF=t,e*=pS,t*=pS,GF.point=ZF;var A=yS(t);FF=A*yS(e),RF=A*mS(e),DF=mS(t),xF(FF,RF,DF)}function ZF(e,t){e*=pS;var A=yS(t*=pS),n=A*yS(e),r=A*mS(e),i=mS(t),o=RF*i-DF*r,a=DF*n-FF*i,s=FF*r-RF*n,g=vS(o,a,s),c=wS(g),u=g&&-c/g;vF.add(u*o),mF.add(u*a),bF.add(u*s),fF+=c,EF+=c*(FF+(FF=n)),QF+=c*(RF+(RF=r)),yF+=c*(DF+(DF=i)),xF(FF,RF,DF)}var HF=function(e,t,A){e.prototype=t.prototype=A,A.constructor=e};function YF(e,t){var A=Object.create(e.prototype);for(var n in t)A[n]=t[n];return A}function JF(){}var jF="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",PF="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",VF=/^#([0-9a-f]{3,8})$/,KF=new RegExp("^rgb\\("+["\\s*([+-]?\\d+)\\s*","\\s*([+-]?\\d+)\\s*","\\s*([+-]?\\d+)\\s*"]+"\\)$"),WF=new RegExp("^rgb\\("+[PF,PF,PF]+"\\)$"),XF=new RegExp("^rgba\\("+["\\s*([+-]?\\d+)\\s*","\\s*([+-]?\\d+)\\s*","\\s*([+-]?\\d+)\\s*",jF]+"\\)$"),qF=new RegExp("^rgba\\("+[PF,PF,PF,jF]+"\\)$"),zF=new RegExp("^hsl\\("+[jF,PF,PF]+"\\)$"),$F=new RegExp("^hsla\\("+[jF,PF,PF,jF]+"\\)$"),eR={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function tR(){return this.rgb().formatHex()}function AR(){return this.rgb().formatRgb()}function nR(e){var t,A;return e=(e+"").trim().toLowerCase(),(t=VF.exec(e))?(A=t[1].length,t=parseInt(t[1],16),6===A?rR(t):3===A?new sR(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===A?iR(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===A?iR(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=KF.exec(e))?new sR(t[1],t[2],t[3],1):(t=WF.exec(e))?new sR(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=XF.exec(e))?iR(t[1],t[2],t[3],t[4]):(t=qF.exec(e))?iR(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=zF.exec(e))?lR(t[1],t[2]/100,t[3]/100,1):(t=$F.exec(e))?lR(t[1],t[2]/100,t[3]/100,t[4]):eR.hasOwnProperty(e)?rR(eR[e]):"transparent"===e?new sR(NaN,NaN,NaN,0):null}function rR(e){return new sR(e>>16&255,e>>8&255,255&e,1)}function iR(e,t,A,n){return n<=0&&(e=t=A=NaN),new sR(e,t,A,n)}function oR(e){return e instanceof JF||(e=nR(e)),e?new sR((e=e.rgb()).r,e.g,e.b,e.opacity):new sR}function aR(e,t,A,n){return 1===arguments.length?oR(e):new sR(e,t,A,null==n?1:n)}function sR(e,t,A,n){this.r=+e,this.g=+t,this.b=+A,this.opacity=+n}function gR(){return"#"+uR(this.r)+uR(this.g)+uR(this.b)}function cR(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}function uR(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function lR(e,t,A,n){return n<=0?e=t=A=NaN:A<=0||A>=1?e=t=NaN:t<=0&&(e=NaN),new hR(e,t,A,n)}function IR(e){if(e instanceof hR)return new hR(e.h,e.s,e.l,e.opacity);if(e instanceof JF||(e=nR(e)),!e)return new hR;if(e instanceof hR)return e;var t=(e=e.rgb()).r/255,A=e.g/255,n=e.b/255,r=Math.min(t,A,n),i=Math.max(t,A,n),o=NaN,a=i-r,s=(i+r)/2;return a?(o=t===i?(A-n)/a+6*(A<n):A===i?(n-t)/a+2:(t-A)/a+4,a/=s<.5?i+r:2-i-r,o*=60):a=s>0&&s<1?0:o,new hR(o,a,s,e.opacity)}function CR(e,t,A,n){return 1===arguments.length?IR(e):new hR(e,t,A,null==n?1:n)}function hR(e,t,A,n){this.h=+e,this.s=+t,this.l=+A,this.opacity=+n}function fR(e,t,A){return 255*(e<60?t+(A-t)*e/60:e<180?A:e<240?t+(A-t)*(240-e)/60:t)}HF(JF,nR,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:tR,formatHex:tR,formatHsl:function(){return IR(this).formatHsl()},formatRgb:AR,toString:AR}),HF(sR,aR,YF(JF,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new sR(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new sR(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:gR,formatHex:gR,formatRgb:cR,toString:cR})),HF(hR,CR,YF(JF,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new hR(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new hR(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,A=this.l,n=A+(A<.5?A:1-A)*t,r=2*A-n;return new sR(fR(e>=240?e-240:e+120,r,n),fR(e,r,n),fR(e<120?e+240:e-120,r,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===e?")":", "+e+")")}}));var dR=Math.PI/180,BR=180/Math.PI;function pR(e){if(e instanceof QR)return new QR(e.l,e.a,e.b,e.opacity);if(e instanceof FR)return RR(e);e instanceof sR||(e=oR(e));var t,A,n=bR(e.r),r=bR(e.g),i=bR(e.b),o=yR((.2225045*n+.7168786*r+.0606169*i)/1);return n===r&&r===i?t=A=o:(t=yR((.4360747*n+.3850649*r+.1430804*i)/.96422),A=yR((.0139322*n+.0971045*r+.7141733*i)/.82521)),new QR(116*o-16,500*(t-o),200*(o-A),e.opacity)}function ER(e,t,A,n){return 1===arguments.length?pR(e):new QR(e,t,A,null==n?1:n)}function QR(e,t,A,n){this.l=+e,this.a=+t,this.b=+A,this.opacity=+n}function yR(e){return e>6/29*(6/29)*(6/29)?Math.pow(e,1/3):e/(6/29*3*(6/29))+4/29}function vR(e){return e>6/29?e*e*e:6/29*3*(6/29)*(e-4/29)}function mR(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function bR(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function wR(e){if(e instanceof FR)return new FR(e.h,e.c,e.l,e.opacity);if(e instanceof QR||(e=pR(e)),0===e.a&&0===e.b)return new FR(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*BR;return new FR(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function SR(e,t,A,n){return 1===arguments.length?wR(e):new FR(e,t,A,null==n?1:n)}function FR(e,t,A,n){this.h=+e,this.c=+t,this.l=+A,this.opacity=+n}function RR(e){if(isNaN(e.h))return new QR(e.l,0,0,e.opacity);var t=e.h*dR;return new QR(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}HF(QR,ER,YF(JF,{brighter:function(e){return new QR(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker:function(e){return new QR(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb:function(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,A=isNaN(this.b)?e:e-this.b/200;return new sR(mR(3.1338561*(t=.96422*vR(t))-1.6168667*(e=1*vR(e))-.4906146*(A=.82521*vR(A))),mR(-.9787684*t+1.9161415*e+.033454*A),mR(.0719453*t-.2289914*e+1.4052427*A),this.opacity)}})),HF(FR,SR,YF(JF,{brighter:function(e){return new FR(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker:function(e){return new FR(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb:function(){return RR(this).rgb()}}));function DR(e,t){for(var A,n,r=t.fields,i=t.values,o=r.length,a=0;a<o;++a)if((n=r[a]).getter=ue.u.getter||Object(ue.u)(n.field),A=n.getter(e),Object(ue.D)(A)&&(A=Object(ue.eb)(A)),Object(ue.D)(i[a])&&(i[a]=Object(ue.eb)(i[a])),Object(ue.D)(i[a][0])&&(i[a]=i[a].map(ue.eb)),"E"===n.type){if(Object(ue.B)(i[a])?i[a].indexOf(A)<0:A!==i[a])return!1}else if("R"===n.type){if(!Object(ue.A)(A,i[a]))return!1}else if("R-RE"===n.type){if(!Object(ue.A)(A,i[a],!0,!1))return!1}else if("R-E"===n.type){if(!Object(ue.A)(A,i[a],!1,!1))return!1}else if("R-LE"===n.type&&!Object(ue.A)(A,i[a],!1,!0))return!1;return!0}var GR=Object(ue.u)("_vgsid_"),kR=function(e){var t=e,A=e;function n(e,t,n,r){for(null==n&&(n=0),null==r&&(r=e.length);n<r;){var i=n+r>>>1;A(e[i],t)<0?n=i+1:r=i}return n}return 1===e.length&&(t=function(t,A){return e(t)-A},A=function(e){return function(t,A){return(n=e(t))<(r=A)?-1:n>r?1:n>=r?0:NaN;var n,r}}(e)),{left:n,center:function(e,A,r,i){null==r&&(r=0),null==i&&(i=e.length);var o=n(e,A,r,i-1);return o>r&&t(e[o-1],A)>-t(e[o],A)?o-1:o},right:function(e,t,n,r){for(null==n&&(n=0),null==r&&(r=e.length);n<r;){var i=n+r>>>1;A(e[i],t)>0?r=i:n=i+1}return n}}}(GR),xR=kR.left,NR=kR.right;var UR={E_union:function(e,t){if(!e.length)return t;for(var A=0,n=t.length;A<n;++A)e.indexOf(t[A])<0&&e.push(t[A]);return e},E_intersect:function(e,t){return e.length?e.filter((function(e){return t.indexOf(e)>=0})):t},R_union:function(e,t){var A=Object(ue.eb)(t[0]),n=Object(ue.eb)(t[1]);return A>n&&(A=t[1],n=t[0]),e.length?(e[0]>A&&(e[0]=A),e[1]<n&&(e[1]=n),e):[A,n]},R_intersect:function(e,t){var A=Object(ue.eb)(t[0]),n=Object(ue.eb)(t[1]);return A>n&&(A=t[1],n=t[0]),e.length?n<e[0]||e[1]<A?[]:(e[0]<A&&(e[0]=A),e[1]>n&&(e[1]=n),e):[A,n]}};function _R(e,t,A,n){"Literal"!==t[0].type&&Object(ue.o)("First argument to selection functions must be a string literal.");var r=t[0].value,i=":"+r;"intersect"!==(t.length>=2&&Object(ue.W)(t).value)||Object(ue.w)(n,"@unit")||(n["@unit"]=A.getData(r).indataRef(A,"unit")),Object(ue.w)(n,i)||(n[i]=A.getData(r).tuplesRef())}function MR(e){var t=this.context.data[e];return t?t.values.value:[]}var OR=function(e){return function(t,A){return this.context.dataflow.locale()[e](A)(t)}},LR=OR("format"),TR=OR("timeFormat"),ZR=OR("utcFormat"),HR=OR("timeParse"),YR=OR("utcParse"),JR=new Date(2e3,0,1);function jR(e,t,A){return Number.isInteger(e)&&Number.isInteger(t)?(JR.setYear(2e3),JR.setMonth(e),JR.setDate(t),TR.call(this,JR,A)):""}function PR(e,t,A,n){"Literal"!==t[0].type&&Object(ue.o)("First argument to data functions must be a string literal.");var r=t[0].value,i=":"+r;if(!Object(ue.w)(i,n))try{n[i]=A.getData(r).tuplesRef()}catch(o){}}function VR(e,t,A,n){if("Literal"===t[0].type)KR(A,n,t[0].value);else for(e in A.scales)KR(A,n,e)}function KR(e,t,A){var n="%"+A;if(!Object(ue.w)(t,n))try{t[n]=e.scaleRef(A)}catch(r){}}function WR(e,t){var A;return Object(ue.E)(e)?e:Object(ue.J)(e)?(A=t.scales[e])&&A.value:void 0}function XR(e,t,A){t.__bandwidth=function(e){return e&&e.bandwidth?e.bandwidth():0},A._bandwidth=VR,A._range=VR,A._scale=VR;var n=function(t){return"_["+("Literal"===t.type?Object(ue.bb)("%"+t.value):Object(ue.bb)("%")+"+"+e(t))+"]"};return{_bandwidth:function(e){return"this.__bandwidth(".concat(n(e[0]),")")},_range:function(e){return"".concat(n(e[0]),".range()")},_scale:function(t){return"".concat(n(t[0]),"(").concat(e(t[1]),")")}}}function qR(e,t){return function(A,n,r){if(A){var i=WR(A,(r||this).context);return i&&i.path[e](n)}return t(n)}}var zR=qR("area",(function(e){return TS=new IS,OS(e,ZS),2*TS})),$R=qR("bounds",(function(e){var t,A,n,r,i,o,a;if(WS=KS=-(PS=VS=1/0),tF=[],OS(e,rF),A=tF.length){for(tF.sort(IF),t=1,i=[n=tF[0]];t<A;++t)CF(n,(r=tF[t])[0])||CF(n,r[1])?(lF(n[0],r[1])>lF(n[0],n[1])&&(n[1]=r[1]),lF(r[0],n[1])>lF(n[0],n[1])&&(n[0]=r[0])):i.push(n=r);for(o=-1/0,t=0,n=i[A=i.length-1];t<=A;n=r,++t)r=i[t],(a=lF(n[1],r[0]))>o&&(o=a,PS=r[0],KS=n[1])}return tF=AF=null,PS===1/0||VS===1/0?[[NaN,NaN],[NaN,NaN]]:[[PS,VS],[KS,WS]]})),eD=qR("centroid",(function(e){hF=fF=dF=BF=pF=EF=QF=yF=0,vF=new IS,mF=new IS,bF=new IS,OS(e,GF);var t=+vF,A=+mF,n=+bF,r=vS(t,A,n);return r<1e-12&&(t=EF,A=QF,n=yF,fF<1e-6&&(t=dF,A=BF,n=pF),(r=vS(t,A,n))<1e-12)?[NaN,NaN]:[QS(A,t)*BS,wS(n/r)*BS]}));function tD(e,t,A){try{e[t].apply(e,["EXPRESSION"].concat([].slice.call(A)))}catch(n){e.warn(n)}return A[A.length-1]}function AD(e){var t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}function nD(e){var t=aR(e);return.2126*AD(t.r)+.7152*AD(t.g)+.0722*AD(t.b)}function rD(e,t){return e===t||e!==e&&t!==t||(Object(ue.B)(e)?!(!Object(ue.B)(t)||e.length!==t.length)&&function(e,t){for(var A=0,n=e.length;A<n;++A)if(!rD(e[A],t[A]))return!1;return!0}(e,t):!(!Object(ue.H)(e)||!Object(ue.H)(t))&&iD(e,t))}function iD(e,t){for(var A in e)if(!rD(e[A],t[A]))return!1;return!0}function oD(e){return function(t){return iD(e,t)}}var aD={};function sD(e){return Object(ue.B)(e)||ArrayBuffer.isView(e)?e:null}function gD(e){return sD(e)||(Object(ue.J)(e)?e:null)}var cD=function(e){return e.data};function uD(e,t){var A=MR.call(t,e);return A.root&&A.root.lookup||{}}var lD=function(){return"undefined"!==typeof window&&window||null};var ID={random:function(){return Ft()},cumulativeNormal:Lt,cumulativeLogNormal:jt,cumulativeUniform:qt,densityNormal:Ot,densityLogNormal:Jt,densityUniform:Xt,quantileNormal:Tt,quantileLogNormal:Pt,quantileUniform:zt,sampleNormal:Mt,sampleLogNormal:Yt,sampleUniform:Wt,isArray:ue.B,isBoolean:ue.C,isDate:ue.D,isDefined:function(e){return void 0!==e},isNumber:ue.G,isObject:ue.H,isRegExp:ue.I,isString:ue.J,isTuple:ye,isValid:function(e){return null!=e&&e===e},toBoolean:ue.cb,toDate:ue.db,toNumber:ue.eb,toString:ue.gb,indexof:function(e){for(var t,A=arguments.length,n=new Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];return(t=gD(e)).indexOf.apply(t,n)},join:function(e){for(var t,A=arguments.length,n=new Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];return(t=sD(e)).join.apply(t,n)},lastindexof:function(e){for(var t,A=arguments.length,n=new Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];return(t=gD(e)).lastIndexOf.apply(t,n)},replace:function(e,t,A){return Object(ue.E)(A)&&Object(ue.o)("Function argument passed to replace."),String(e).replace(t,A)},reverse:function(e){return sD(e).slice().reverse()},slice:function(e){for(var t,A=arguments.length,n=new Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];return(t=gD(e)).slice.apply(t,n)},flush:ue.v,lerp:ue.L,merge:function(){var e=[].slice.call(arguments);return e.unshift({}),ue.p.apply(void 0,Object(zn.a)(e))},pad:ue.R,peek:ue.W,pluck:function(e,t){var A=aD[t]||(aD[t]=Object(ue.u)(t));return Object(ue.B)(e)?e.map(A):A(e)},span:ue.Z,inrange:ue.A,truncate:ue.hb,rgb:aR,lab:ER,hcl:SR,hsl:CR,luminance:nD,contrast:function(e,t){var A=nD(e),n=nD(t);return(Math.max(A,n)+.05)/(Math.min(A,n)+.05)},sequence:function(e,t,A){e=+e,t=+t,A=(r=arguments.length)<2?(t=e,e=0,1):r<3?1:+A;for(var n=-1,r=0|Math.max(0,Math.ceil((t-e)/A)),i=new Array(r);++n<r;)i[n]=e+n*A;return i},format:LR,utcFormat:ZR,utcParse:YR,utcOffset:wA.w,utcSequence:wA.x,timeFormat:TR,timeParse:HR,timeOffset:wA.q,timeSequence:wA.r,timeUnitSpecifier:wA.s,monthFormat:function(e){return jR.call(this,e,1,"%B")},monthAbbrevFormat:function(e){return jR.call(this,e,1,"%b")},dayFormat:function(e){return jR.call(this,0,2+e,"%A")},dayAbbrevFormat:function(e){return jR.call(this,0,2+e,"%a")},quarter:ue.X,utcquarter:ue.jb,week:wA.A,utcweek:wA.z,dayofyear:wA.m,utcdayofyear:wA.y,warn:function(){return tD(this.context.dataflow,"warn",arguments)},info:function(){return tD(this.context.dataflow,"info",arguments)},debug:function(){return tD(this.context.dataflow,"debug",arguments)},extent:ue.q,inScope:function(e){var t=this.context.group,A=!1;if(t)for(;e;){if(e===t){A=!0;break}e=e.mark.group}return A},intersect:function(e,t,A){if(!e)return[];var n=Object(lt.a)(e,2),r=n[0],i=n[1],o=(new xl).set(r[0],r[1],i[0],i[1]);return Hh(A||this.context.dataflow.scenegraph().root,o,function(e){var t=null;if(e){var A=Object(ue.i)(e.marktype),n=Object(ue.i)(e.markname);t=function(e){return(!A.length||A.some((function(t){return e.marktype===t})))&&(!n.length||n.some((function(t){return e.name===t})))}}return t}(t))},clampRange:ue.k,pinchDistance:function(e){var t=e.touches,A=t[0].clientX-t[1].clientX,n=t[0].clientY-t[1].clientY;return Math.sqrt(A*A+n*n)},pinchAngle:function(e){var t=e.touches;return Math.atan2(t[0].clientY-t[1].clientY,t[0].clientX-t[1].clientX)},screen:function(){var e=lD();return e?e.screen:{}},containerSize:function(){var e=this.context.dataflow,t=e.container&&e.container();return t?[t.clientWidth,t.clientHeight]:[void 0,void 0]},windowSize:function(){var e=lD();return e?[e.innerWidth,e.innerHeight]:[void 0,void 0]},bandspace:function(e,t,A){return Hc(e||0,t||0,A||0)},setdata:function(e,t){var A=this.context.dataflow,n=this.context.data[e].input;return A.pulse(n,A.changeset().remove(ue.ib).insert(t)),1},pathShape:function(e){var t=null;return function(A){return A?nl(A,t=t||Pu(e)):e}},panLinear:ue.S,panLog:ue.T,panPow:ue.U,panSymlog:ue.V,zoomLinear:ue.nb,zoomLog:ue.ob,zoomPow:ue.pb,zoomSymlog:ue.qb,encode:function(e,t,A){if(e){var n=this.context.dataflow,r=e.mark.source;n.pulse(r,n.changeset().encode(e,t))}return void 0!==A?A:e},modify:function(e,t,A,n,r,i){var o,a,s=this.context.dataflow,g=this.context.data[e],c=g.input,u=s.stamp(),l=g.changes;if(!1===s._trigger||!(c.value.length||t||n))return 0;if((!l||l.stamp<u)&&(g.changes=l=s.changeset(),l.stamp=u,s.runAfter((function(){g.modified=!0,s.pulse(c,l).run()}),!0,1)),A&&(o=!0===A?ue.ib:Object(ue.B)(A)||ye(A)?A:oD(A),l.remove(o)),t&&l.insert(t),n&&(o=oD(n),c.value.some(o)?l.remove(o):l.insert(n)),r)for(a in i)l.modify(r,a,i[a]);return 1}},CD=["view","item","group","xy","x","y"],hD={},fD={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:function(e){return"_[".concat(Object(ue.bb)("$"+e),"]")},functions:function(e){var t=uS(e);for(var A in CD.forEach((function(e){return t[e]="event.vega."+e})),ID)t[A]="this."+A;return Object(ue.p)(t,XR(e,ID,hD)),t},constants:cS,visitors:hD},dD=lS(fD);function BD(e,t,A){return 1===arguments.length?ID[e]:(ID[e]=t,A&&(hD[e]=A),dD&&(dD.functions[e]="this."+e),this)}function pD(e,t){var A,n={};try{A=gS(e=Object(ue.J)(e)?e:Object(ue.bb)(e)+"")}catch(i){Object(ue.o)("Expression parse error: "+e)}A.visit((function(e){if("CallExpression"===e.type){var A=e.callee.name,r=fD.visitors[A];r&&r(A,e.arguments,t,n)}}));var r=dD(A);return r.globals.forEach((function(e){var A="$"+e;!Object(ue.w)(n,A)&&t.getSignal(e)&&(n[A]=t.signalRef(e))})),{$expr:Object(ue.p)({code:r.code},t.options.ast?{ast:A}:null),$fields:r.fields,$params:n}}BD("bandwidth",(function(e,t){var A=WR(e,(t||this).context);return A&&A.bandwidth?A.bandwidth():0}),VR),BD("copy",(function(e,t){var A=WR(e,(t||this).context);return A?A.copy():void 0}),VR),BD("domain",(function(e,t){var A=WR(e,(t||this).context);return A?A.domain():[]}),VR),BD("range",(function(e,t){var A=WR(e,(t||this).context);return A&&A.range?A.range():[]}),VR),BD("invert",(function(e,t,A){var n=WR(e,(A||this).context);return n?Object(ue.B)(t)?(n.invertRange||n.invert)(t):(n.invert||n.invertExtent)(t):void 0}),VR),BD("scale",(function(e,t,A){var n=WR(e,(A||this).context);return n?n(t):void 0}),VR),BD("gradient",(function(e,t,A,n,r){e=WR(e,(r||this).context);var i=Zu(t,A),o=e.domain(),a=o[0],s=Object(ue.W)(o),g=ue.y;return s-a?g=lu(e,a,s):e=(e.interpolator?$c("sequential")().interpolator(e.interpolator()):$c("linear")().interpolate(e.interpolate()).range(e.range())).domain([a=0,s=1]),e.ticks&&(a!==(o=e.ticks(+n||15))[0]&&o.unshift(a),s!==Object(ue.W)(o)&&o.push(s)),o.forEach((function(t){return i.stop(g(t),e(t))})),i}),VR),BD("geoArea",zR,VR),BD("geoBounds",$R,VR),BD("geoCentroid",eD,VR),BD("geoShape",(function(e,t,A){var n=WR(e,(A||this).context);return function(e){return n?n.path.context(e)(t):""}}),VR),BD("indata",(function(e,t,A){var n=this.context.data[e]["index:"+t],r=n?n.value.get(A):void 0;return r?r.count:r}),(function(e,t,A,n){"Literal"!==t[0].type&&Object(ue.o)("First argument to indata must be a string literal."),"Literal"!==t[1].type&&Object(ue.o)("Second argument to indata must be a string literal.");var r=t[0].value,i=t[1].value,o="@"+i;Object(ue.w)(o,n)||(n[o]=A.getData(r).indataRef(A,i))})),BD("data",MR,PR),BD("treePath",(function(e,t,A){var n=uD(e,this),r=n[t],i=n[A];return r&&i?r.path(i).map(cD):void 0}),PR),BD("treeAncestors",(function(e,t){var A=uD(e,this)[t];return A?A.ancestors().map(cD):void 0}),PR),BD("vlSelectionTest",(function(e,t,A){for(var n,r,i,o,a,s=this.context.data[e],g=s?s.values.value:[],c=s?s["index:unit"]&&s["index:unit"].value:void 0,u="intersect"===A,l=g.length,I=0;I<l;++I)if(n=g[I],c&&u){if(-1===(i=(r=r||{})[o=n.unit]||0))continue;if(a=DR(t,n),r[o]=a?-1:++i,a&&1===c.size)return!0;if(!a&&i===c.get(o).count)return!1}else if(u^(a=DR(t,n)))return a;return l&&u}),_R),BD("vlSelectionIdTest",(function(e,t,A){var n=this.context.data[e],r=n?n.values.value:[],i=n?n["index:unit"]&&n["index:unit"].value:void 0,o="intersect"===A,a=GR(t),s=xR(r,a);if(s===r.length)return!1;if(GR(r[s])!==a)return!1;if(i&&o){if(1===i.size)return!0;if(NR(r,a)-s<i.size)return!1}return!0}),_R),BD("vlSelectionResolve",(function(e,t,A,n){for(var r,i,o,a,s,g,c,u,l,I,C,h=this.context.data[e],f=h?h.values.value:[],d={},B={},p={},E=f.length,Q=0;Q<E;++Q){for(a=(r=f[Q]).unit,i=r.fields,o=r.values,I=0,C=i.length;I<C;++I)s=i[I],c=(g=d[s.field]||(d[s.field]={}))[a]||(g[a]=[]),p[s.field]=u=s.type.charAt(0),l=UR[u+"_union"],g[a]=l(c,Object(ue.i)(o[I]));A&&(c=B[a]||(B[a]=[])).push(Object(ue.i)(o).reduce((function(e,t,A){return e[i[A].field]=t,e}),{}))}return t=t||"union",Object.keys(d).forEach((function(e){d[e]=Object.keys(d[e]).map((function(t){return d[e][t]})).reduce((function(A,n){return void 0===A?n:UR[p[e]+"_"+t](A,n)}))})),f=Object.keys(B),A&&f.length&&(d[n?"vlPoint":"vlMulti"]="union"===t?Object($n.a)({},"or",f.reduce((function(e,t){return e.push.apply(e,Object(zn.a)(B[t])),e}),[])):Object($n.a)({},"and",f.map((function(e){return Object($n.a)({},"or",B[e])})))),d}),_R),BD("vlSelectionTuples",(function(e,t){return e.map((function(e){return Object(ue.p)({values:t.fields.map((function(t){return(t.getter||(t.getter=Object(ue.u)(t.field)))(e.datum)}))},t)}))}));var ED=Object(ue.fb)(["rule"]),QD=Object(ue.fb)(["group","image","rect"]);function yD(e){return(e+"").toLowerCase()}function vD(e,t,A){";"!==A[A.length-1]&&(A="return("+A+");");var n=Function.apply(void 0,Object(zn.a)(t.concat(A)));return e&&e.functions?n.bind(e.functions):n}var mD={operator:function(e,t){return vD(e,["_"],t.code)},parameter:function(e,t){return vD(e,["datum","_"],t.code)},event:function(e,t){return vD(e,["event"],t.code)},handler:function(e,t){return vD(e,["_","event"],"var datum=event.item&&event.item.datum;return ".concat(t.code,";"))},encode:function(e,t){var A=t.marktype,n=t.channels,r="var o=item,datum=o.datum,m=0,$;";for(var i in n){var o="o["+Object(ue.bb)(i)+"]";r+="$=".concat(n[i].code,";if(").concat(o,"!==$)").concat(o,"=$,m=1;")}return r+=function(e,t){var A="";return ED[t]||(e.x2&&(e.x?(QD[t]&&(A+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),A+="o.width=o.x2-o.x;"):A+="o.x=o.x2-(o.width||0);"),e.xc&&(A+="o.x=o.xc-(o.width||0)/2;"),e.y2&&(e.y?(QD[t]&&(A+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),A+="o.height=o.y2-o.y;"):A+="o.y=o.y2-(o.height||0);"),e.yc&&(A+="o.y=o.yc-(o.height||0)/2;")),A}(n,A),vD(e,["item","_"],r+="return m;")},codegen:{get:function(e){var t="[".concat(e.map(ue.bb).join("]["),"]"),A=Function("_","return _".concat(t,";"));return A.path=t,A},comparator:function(e,t){var A,n=Function("a","b","var u, v; return "+e.map((function(e,n){var r,i,o=t[n];return e.path?(r="a".concat(e.path),i="b".concat(e.path)):((A=A||{})["f"+n]=e,r="this.f".concat(n,"(a)"),i="this.f".concat(n,"(b)")),function(e,t,A,n){return"((u = ".concat(e,") < (v = ").concat(t,") || u == null) && v != null ? ").concat(A,"\n : (u > v || v == null) && u != null ? ").concat(n,"\n : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ").concat(A,"\n : v !== v && u === u ? ").concat(n," : ")}(r,i,-o,o)})).join("")+"0;");return A?n.bind(A):n}}};function bD(e,t,A){if(!e||!Object(ue.H)(e))return e;for(var n,r=0,i=wD.length;r<i;++r)if(n=wD[r],Object(ue.w)(e,n.key))return n.parse(e,t,A);return e}var wD=[{key:"$ref",parse:function(e,t){return t.get(e.$ref)||Object(ue.o)("Operator not defined: "+e.$ref)}},{key:"$key",parse:function(e,t){var A="k:"+e.$key+"_"+!!e.$flat;return t.fn[A]||(t.fn[A]=Object(ue.K)(e.$key,e.$flat,t.expr.codegen))}},{key:"$expr",parse:function(e,t,A){e.$params&&t.parseParameters(e.$params,A);var n="e:"+e.$expr.code+"_"+e.$name;return t.fn[n]||(t.fn[n]=Object(ue.f)(t.parameterExpression(e.$expr),e.$fields,e.$name))}},{key:"$field",parse:function(e,t){if(!e.$field)return null;var A="f:"+e.$field+"_"+e.$name;return t.fn[A]||(t.fn[A]=Object(ue.u)(e.$field,e.$name,t.expr.codegen))}},{key:"$encode",parse:function(e,t){var A=e.$encode,n={};for(var r in A){var i=A[r];n[r]=Object(ue.f)(t.encodeExpression(i.$expr),i.$fields),n[r].output=i.$output}return n}},{key:"$compare",parse:function(e,t){var A="c:"+e.$compare+"_"+e.$order,n=Object(ue.i)(e.$compare).map((function(e){return e&&e.$tupleid?ve:e}));return t.fn[A]||(t.fn[A]=Object(ue.l)(n,e.$order,t.expr.codegen))}},{key:"$context",parse:function(e,t){return t}},{key:"$subflow",parse:function(e,t){var A=e.$subflow;return function(e,n,r){var i=t.fork().parse(A),o=i.get(A.operators[0].id),a=i.signals.parent;return a&&a.set(r),o.detachSubflow=function(){return t.detach(i)},o}}},{key:"$tupleid",parse:function(){return ve}}];var SD={skip:!0};function FD(e,t,A,n){return new RD(e,t,A,n)}function RD(e,t,A,n){this.dataflow=e,this.transforms=t,this.events=e.events.bind(e),this.expr=n||mD,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},A&&(this.functions=Object.create(A),this.functions.context=this)}function DD(e){this.dataflow=e.dataflow,this.transforms=e.transforms,this.events=e.events,this.expr=e.expr,this.signals=Object.create(e.signals),this.scales=Object.create(e.scales),this.nodes=Object.create(e.nodes),this.data=Object.create(e.data),this.fn=Object.create(e.fn),e.functions&&(this.functions=Object.create(e.functions),this.functions.context=this)}RD.prototype=DD.prototype={fork:function(){var e=new DD(this);return(this.subcontext||(this.subcontext=[])).push(e),e},detach:function(e){this.subcontext=this.subcontext.filter((function(t){return t!==e}));for(var t=Object.keys(e.nodes),A=0,n=t;A<n.length;A++){var r=n[A];e.nodes[r]._targets=null}for(var i=0,o=t;i<o.length;i++){var a=o[i];e.nodes[a].detach()}e.nodes=null},get:function(e){return this.nodes[e]},set:function(e,t){return this.nodes[e]=t},add:function(e,t){var A=this,n=A.dataflow,r=e.value;if(A.set(e.id,t),"collect"===yD(e.type)&&r&&(r.$ingest?n.ingest(t,r.$ingest,r.$format):r.$request?n.preload(t,r.$request,r.$format):n.pulse(t,n.changeset().insert(r))),e.root&&(A.root=t),e.parent){var i=A.get(e.parent.$ref);i?(n.connect(i,[t]),t.targets().add(i)):(A.unresolved=A.unresolved||[]).push((function(){i=A.get(e.parent.$ref),n.connect(i,[t]),t.targets().add(i)}))}if(e.signal&&(A.signals[e.signal]=t),e.scale&&(A.scales[e.scale]=t),e.data){var o=function(n){var r=A.data[n]||(A.data[n]={});e.data[n].forEach((function(e){return r[e]=t}))};for(var a in e.data)o(a)}},resolve:function(){return(this.unresolved||[]).forEach((function(e){return e()})),delete this.unresolved,this},operator:function(e,t){this.add(e,this.dataflow.add(e.value,t))},transform:function(e,t){this.add(e,this.dataflow.add(this.transforms[yD(t)]))},stream:function(e,t){this.set(e.id,t)},update:function(e,t,A,n,r){this.dataflow.on(t,A,n,r,e.options)},operatorExpression:function(e){return this.expr.operator(this,e)},parameterExpression:function(e){return this.expr.parameter(this,e)},eventExpression:function(e){return this.expr.event(this,e)},handlerExpression:function(e){return this.expr.handler(this,e)},encodeExpression:function(e){return this.expr.encode(this,e)},parse:function(e){var t=this,A=e.operators||[];return e.background&&(t.background=e.background),e.eventConfig&&(t.eventConfig=e.eventConfig),e.locale&&(t.locale=e.locale),A.forEach((function(e){return t.parseOperator(e)})),A.forEach((function(e){return t.parseOperatorParameters(e)})),(e.streams||[]).forEach((function(e){return t.parseStream(e)})),(e.updates||[]).forEach((function(e){return t.parseUpdate(e)})),t.resolve()},parseOperator:function(e){"operator"!==yD(e.type)&&e.type?this.transform(e,e.type):this.operator(e,e.update?this.operatorExpression(e.update):null)},parseOperatorParameters:function(e){if(e.params){var t=this.get(e.id);t||Object(ue.o)("Invalid operator id: "+e.id),this.dataflow.connect(t,t.parameters(this.parseParameters(e.params),e.react,e.initonly))}},parseParameters:function(e,t){t=t||{};var A=this;for(var n in e){var r=e[n];t[n]=Object(ue.B)(r)?r.map((function(e){return bD(e,A,t)})):bD(r,A,t)}return t},parseStream:function(e){var t,A=this,n=null!=e.filter?A.eventExpression(e.filter):void 0,r=null!=e.stream?A.get(e.stream):void 0;e.source?r=A.events(e.source,e.type,n):e.merge&&(r=(t=e.merge.map((function(e){return A.get(e)})))[0].merge.apply(t[0],t.slice(1))),e.between&&(t=e.between.map((function(e){return A.get(e)})),r=r.between(t[0],t[1])),e.filter&&(r=r.filter(n)),null!=e.throttle&&(r=r.throttle(+e.throttle)),null!=e.debounce&&(r=r.debounce(+e.debounce)),null==r&&Object(ue.o)("Invalid stream definition: "+JSON.stringify(e)),e.consume&&r.consume(!0),A.stream(e,r)},parseUpdate:function(e){var t,A=Object(ue.H)(A=e.source)?A.$ref:A,n=this.get(A),r=e.update,i=void 0;n||Object(ue.o)("Source not defined: "+e.source),t=e.target&&e.target.$expr?this.eventExpression(e.target.$expr):this.get(e.target),r&&r.$expr&&(r.$params&&(i=this.parseParameters(r.$params)),r=this.handlerExpression(r.$expr)),this.update(e,n,t,r,i)},getState:function(e){var t=this,A={};if(e.signals){var n=A.signals={};Object.keys(t.signals).forEach((function(A){var r=t.signals[A];e.signals(A,r)&&(n[A]=r.value)}))}if(e.data){var r=A.data={};Object.keys(t.data).forEach((function(A){var n=t.data[A];e.data(A,n)&&(r[A]=n.input.value)}))}return t.subcontext&&!1!==e.recurse&&(A.subcontext=t.subcontext.map((function(t){return t.getState(e)}))),A},setState:function(e){var t=this,A=t.dataflow,n=e.data,r=e.signals;Object.keys(r||{}).forEach((function(e){A.update(t.signals[e],r[e],SD)})),Object.keys(n||{}).forEach((function(e){A.pulse(t.data[e].input,A.changeset().remove(ue.ib).insert(n[e]))})),(e.subcontext||[]).forEach((function(e,A){var n=t.subcontext[A];n&&n.setState(e)}))}};var GD,kD,xD=0,ND=0,UD=0,_D=0,MD=0,OD=0,LD="object"===typeof performance&&performance.now?performance:Date,TD="object"===typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ZD(){return MD||(TD(HD),MD=LD.now()+OD)}function HD(){MD=0}function YD(){this._call=this._time=this._next=null}function JD(){MD=(_D=LD.now())+OD,xD=ND=0;try{!function(){ZD(),++xD;for(var e,t=GD;t;)(e=MD-t._time)>=0&&t._call.call(null,e),t=t._next;--xD}()}finally{xD=0,function(){var e,t,A=GD,n=1/0;for(;A;)A._call?(n>A._time&&(n=A._time),e=A,A=A._next):(t=A._next,A._next=null,A=e?e._next=t:GD=t);kD=e,PD(n)}(),MD=0}}function jD(){var e=LD.now(),t=e-_D;t>1e3&&(OD-=t,_D=e)}function PD(e){xD||(ND&&(ND=clearTimeout(ND)),e-MD>24?(e<1/0&&(ND=setTimeout(JD,e-LD.now()-OD)),UD&&(UD=clearInterval(UD))):(UD||(_D=LD.now(),UD=setInterval(jD,1e3)),xD=1,TD(JD)))}YD.prototype=function(e,t,A){var n=new YD;return n.restart(e,t,A),n}.prototype={constructor:YD,restart:function(e,t,A){if("function"!==typeof e)throw new TypeError("callback is not a function");A=(null==A?ZD():+A)+(null==t?0:+t),this._next||kD===this||(kD?kD._next=this:GD=this,kD=this),this._call=e,this._time=A,PD()},stop:function(){this._call&&(this._call=null,this._time=1/0,PD())}};function VD(e,t){e&&(null==t?e.removeAttribute("aria-label"):e.setAttribute("aria-label",t))}function KD(e,t){var A=e.globalCursor()?"undefined"!==typeof document&&document.body:e.container();if(A)return null==t?A.style.removeProperty("cursor"):A.style.cursor=t}function WD(e,t){var A=e._runtime.data;return Object(ue.w)(A,t)||Object(ue.o)("Unrecognized data set: "+t),A[t]}function XD(e,t){De(t)||Object(ue.o)("Second argument to changes must be a changeset.");var A=WD(this,e);return A.modified=!0,this.pulse(A.input,t)}function qD(e){var t=e.padding();return Math.max(0,e._viewWidth+t.left+t.right)}function zD(e){var t=e.padding();return Math.max(0,e._viewHeight+t.top+t.bottom)}function $D(e){var t=e.padding(),A=e._origin;return[t.left+A[0],t.top+A[1]]}function eG(e){var t=$D(e),A=qD(e),n=zD(e);e._renderer.background(e.background()),e._renderer.resize(A,n,t),e._handler.origin(t),e._resizeListeners.forEach((function(t){try{t(A,n)}catch(r){e.error(r)}}))}function tG(e,t,A){var n,r,i=e._renderer,o=i&&i.canvas();return o&&(r=$D(e),(n=ZC(t.changedTouches?t.changedTouches[0]:t,o))[0]-=r[0],n[1]-=r[1]),t.dataflow=e,t.item=A,t.vega=function(e,t,A){var n=t?"group"===t.mark.marktype?t:t.mark.group:null;function r(e){var A,r=n;if(e)for(A=t;A;A=A.mark.group)if(A.mark.name===e){r=A;break}return r&&r.mark&&r.mark.interactive?r:{}}function i(e){if(!e)return A;Object(ue.J)(e)&&(e=r(e));for(var t=A.slice();e;)t[0]-=e.x||0,t[1]-=e.y||0,e=e.mark&&e.mark.group;return t}return{view:Object(ue.m)(e),item:Object(ue.m)(t||{}),group:r,xy:i,x:function(e){return i(e)[0]},y:function(e){return i(e)[1]}}}(e,A,n),t}var AG={trap:!1};function nG(e,t,A,n){e._eventListeners.push({type:A,sources:Object(ue.i)(t),handler:n})}function rG(e,t,A){var n=e._eventConfig&&e._eventConfig[t];return!(!1===n||Object(ue.H)(n)&&!n[A])||(e.warn("Blocked ".concat(t," ").concat(A," event listener.")),!1)}function iG(e){return e.item}function oG(e){return e.item.mark.source}function aG(e){return function(t,A){return A.vega.view().changeset().encode(A.item,e)}}function sG(e,t,A){var n=document.createElement(e);for(var r in t)n.setAttribute(r,t[r]);return null!=A&&(n.textContent=A),n}function gG(e,t,A,n){var r=A.event||"input",i=function(){return e.update(t.value)};n.signal(A.signal,t.value),t.addEventListener(r,i),nG(n,t,r,i),e.set=function(e){t.value=e,t.dispatchEvent(function(e){return"undefined"!==typeof Event?new Event(e):{type:e}}(r))}}function cG(e,t,A,n){var r=n.signal(A.signal),i=sG("div",{class:"vega-bind"}),o="radio"===A.input?i:i.appendChild(sG("label"));o.appendChild(sG("span",{class:"vega-bind-name"},A.name||A.signal)),t.appendChild(i);var a=uG;switch(A.input){case"checkbox":a=lG;break;case"select":a=IG;break;case"radio":a=CG;break;case"range":a=hG}a(e,o,A,r)}function uG(e,t,A,n){var r=sG("input");for(var i in A)"signal"!==i&&"element"!==i&&r.setAttribute("input"===i?"type":i,A[i]);r.setAttribute("name",A.signal),r.value=n,t.appendChild(r),r.addEventListener("input",(function(){return e.update(r.value)})),e.elements=[r],e.set=function(e){return r.value=e}}function lG(e,t,A,n){var r={type:"checkbox",name:A.signal};n&&(r.checked=!0);var i=sG("input",r);t.appendChild(i),i.addEventListener("change",(function(){return e.update(i.checked)})),e.elements=[i],e.set=function(e){return i.checked=!!e||null}}function IG(e,t,A,n){var r=sG("select",{name:A.signal}),i=A.labels||[];A.options.forEach((function(e,t){var A={value:e};fG(e,n)&&(A.selected=!0),r.appendChild(sG("option",A,(i[t]||e)+""))})),t.appendChild(r),r.addEventListener("change",(function(){e.update(A.options[r.selectedIndex])})),e.elements=[r],e.set=function(e){for(var t=0,n=A.options.length;t<n;++t)if(fG(A.options[t],e))return void(r.selectedIndex=t)}}function CG(e,t,A,n){var r=sG("span",{class:"vega-bind-radio"}),i=A.labels||[];t.appendChild(r),e.elements=A.options.map((function(t,o){var a={type:"radio",name:A.signal,value:t};fG(t,n)&&(a.checked=!0);var s=sG("input",a);s.addEventListener("change",(function(){return e.update(t)}));var g=sG("label",{},(i[o]||t)+"");return g.prepend(s),r.appendChild(g),s})),e.set=function(t){for(var A=e.elements,n=A.length,r=0;r<n;++r)fG(A[r].value,t)&&(A[r].checked=!0)}}function hG(e,t,A,n){n=void 0!==n?n:(+A.max+ +A.min)/2;var r=null!=A.max?A.max:Math.max(100,+n)||100,i=A.min||Math.min(0,r,+n)||0,o=A.step||function(e,t,A){var n=Math.abs(t-e)/Math.max(0,A),r=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),i=n/r;return i>=ow?r*=10:i>=aw?r*=5:i>=sw&&(r*=2),t<e?-r:r}(i,r,100),a=sG("input",{type:"range",name:A.signal,min:i,max:r,step:o});a.value=n;var s=sG("span",{},+n);t.appendChild(a),t.appendChild(s);var g=function(){s.textContent=a.value,e.update(+a.value)};a.addEventListener("input",g),a.addEventListener("change",g),e.elements=[a],e.set=function(e){a.value=e,s.textContent=e}}function fG(e,t){return e===t||e+""===t+""}function dG(e,t,A,n,r,i){return(t=t||new n(e.loader())).initialize(A,qD(e),zD(e),$D(e),r,i).background(e.background())}function BG(e,t){return t?function(){try{t.apply(this,arguments)}catch(A){e.error(A)}}:null}function pG(e,t,A){if("string"===typeof t){if("undefined"===typeof document)return e.error("DOM document instance not found."),null;if(!(t=document.querySelector(t)))return e.error("Signal bind element not found: "+t),null}if(t&&A)try{t.innerHTML=""}catch(n){t=null,e.error(n)}return t}var EG=function(e){return+e||0};function QG(e){return Object(ue.H)(e)?{top:EG(e.top),bottom:EG(e.bottom),left:EG(e.left),right:EG(e.right)}:function(e){return{top:e,bottom:e,left:e,right:e}}(EG(e))}function yG(e,t,A,n){return vG.apply(this,arguments)}function vG(){return(vG=Object(Ce.a)(Ie.a.mark((function e(t,A,n,r){var i,o;return Ie.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=Zh(A),(o=i&&i.headless)||Object(ue.o)("Unrecognized renderer type: "+A),e.next=4,t.runAsync();case 4:return e.abrupt("return",dG(t,null,null,o,n,r).renderAsync(t._scenegraph.root));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function mG(){return(mG=Object(Ce.a)(Ie.a.mark((function e(t,A){var n;return Ie.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t!==Lh.Canvas&&t!==Lh.SVG&&t!==Lh.PNG&&Object(ue.o)("Unrecognized image type: "+t),e.next=3,yG(this,t,A);case 3:return n=e.sent,e.abrupt("return",t===Lh.SVG?bG(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png"));case 5:case"end":return e.stop()}}),e,this)})))).apply(this,arguments)}function bG(e,t){var A=new Blob([e],{type:t});return window.URL.createObjectURL(A)}function wG(){return(wG=Object(Ce.a)(Ie.a.mark((function e(t,A){var n;return Ie.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,yG(this,Lh.Canvas,t,A);case 2:return n=e.sent,e.abrupt("return",n.canvas());case 4:case"end":return e.stop()}}),e,this)})))).apply(this,arguments)}function SG(){return(SG=Object(Ce.a)(Ie.a.mark((function e(t){var A;return Ie.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,yG(this,Lh.SVG,t);case 2:return A=e.sent,e.abrupt("return",A.svg());case 4:case"end":return e.stop()}}),e,this)})))).apply(this,arguments)}var FG={skip:!0};function RG(e,t){var A=e.autosize(),n=e.padding();return t-(A&&"padding"===A.contains?n.left+n.right:0)}function DG(e,t){var A=e.autosize(),n=e.padding();return t-(A&&"padding"===A.contains?n.top+n.bottom:0)}function GG(e,t){return t.modified&&Object(ue.B)(t.input.value)&&e.indexOf("_:vega:_")}function kG(e,t){return!("parent"===e||t instanceof st.proxy)}function xG(e,t,A,n){var r=e.element();r&&r.setAttribute("title",function(e){return null==e?"":Object(ue.B)(e)?NG(e):Object(ue.H)(e)&&!Object(ue.D)(e)?(t=e,Object.keys(t).map((function(e){var A=t[e];return e+": "+(Object(ue.B)(A)?NG(A):UG(A))})).join("\n")):e+"";var t}(n))}function NG(e){return"["+e.map(UG).join(", ")+"]"}function UG(e){return Object(ue.B)(e)?"[\u2026]":Object(ue.H)(e)&&!Object(ue.D)(e)?"{\u2026}":e}function _G(e,t){if(t=t||{},it.call(this),t.loader&&this.loader(t.loader),t.logger&&this.logger(t.logger),null!=t.logLevel&&this.logLevel(t.logLevel),t.locale||e.locale){var A=Object(ue.p)({},e.locale,t.locale);this.locale(Object(fe.b)(A.number,A.time))}this._el=null,this._elBind=null,this._renderType=t.renderer||Lh.Canvas,this._scenegraph=new NC;var n=this._scenegraph.root;this._renderer=null,this._tooltip=t.tooltip||xG,this._redraw=!0,this._handler=(new eh).scene(n),this._globalCursor=!1,this._preventDefault=!1,this._timers=[],this._eventListeners=[],this._resizeListeners=[],this._eventConfig=function(e){var t=Object(ue.p)({defaults:{}},e),A=function(e,t){t.forEach((function(t){Object(ue.B)(e[t])&&(e[t]=Object(ue.fb)(e[t]))}))};return A(t.defaults,["prevent","allow"]),A(t,["view","window","selector"]),t}(e.eventConfig),this.globalCursor(this._eventConfig.globalCursor);var r=function(e,t,A){return FD(e,st,ID,A).parse(t)}(this,e,t.expr);this._runtime=r,this._signals=r.signals,this._bind=(e.bindings||[]).map((function(e){return{state:null,param:Object(ue.p)({},e)}})),r.root&&r.root.set(n),n.source=r.data.root.input,this.pulse(r.data.root.input,this.changeset().insert(n.items)),this._width=this.width(),this._height=this.height(),this._viewWidth=RG(this,this._width),this._viewHeight=DG(this,this._height),this._origin=[0,0],this._resize=0,this._autosize=1,function(e){var t=e._signals,A=t.width,n=t.height,r=t.padding;function i(){e._autosize=e._resize=1}e._resizeWidth=e.add(null,(function(t){e._width=t.size,e._viewWidth=RG(e,t.size),i()}),{size:A}),e._resizeHeight=e.add(null,(function(t){e._height=t.size,e._viewHeight=DG(e,t.size),i()}),{size:n});var o=e.add(null,i,{pad:r});e._resizeWidth.rank=A.rank+1,e._resizeHeight.rank=n.rank+1,o.rank=r.rank+1}(this),function(e){e.add(null,(function(t){return e._background=t.bg,e._resize=1,t.bg}),{bg:e._signals.background})}(this),function(e){var t=e._signals.cursor||(e._signals.cursor=e.add({user:"default",item:null}));e.on(e.events("view","mousemove"),t,(function(e,A){var n=t.value,r=n?Object(ue.J)(n)?n:n.user:"default",i=A.item&&A.item.cursor||null;return n&&r===n.user&&i==n.item?n:{user:r,item:i}})),e.add(null,(function(t){var A=t.cursor,n=this.value;return Object(ue.J)(A)||(n=A.item,A=A.user),KD(e,A&&"default"!==A?A:n||A),n}),{cursor:t})}(this),this.description(e.description),t.hover&&this.hover(),t.container&&this.initialize(t.container,t.bind)}function MG(e,t){return Object(ue.w)(e._signals,t)?e._signals[t]:Object(ue.o)("Unrecognized signal name: "+Object(ue.bb)(t))}function OG(e,t){var A=(e._targets||[]).filter((function(e){return e._update&&e._update.handler===t}));return A.length?A[0]:null}function LG(e,t,A,n){var r=OG(A,n);return r||((r=BG(e,(function(){return n(t,A.value)}))).handler=n,e.on(A,null,r)),e}function TG(e,t,A){var n=OG(t,A);return n&&t._targets.remove(n),e}Object(ue.z)(_G,it,{evaluate:function(e,t,A){var n=this;return Object(Ce.a)(Ie.a.mark((function r(){return Ie.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,it.prototype.evaluate.call(n,e,t);case 2:if(!n._redraw&&!n._resize){r.next=14;break}if(r.prev=3,!n._renderer){r.next=8;break}return n._resize&&(n._resize=0,eG(n)),r.next=8,n._renderer.renderAsync(n._scenegraph.root);case 8:n._redraw=!1,r.next=14;break;case 11:r.prev=11,r.t0=r.catch(3),n.error(r.t0);case 14:return A&&Be(n,A),r.abrupt("return",n);case 16:case"end":return r.stop()}}),r,null,[[3,11]])})))()},dirty:function(e){this._redraw=!0,this._renderer&&this._renderer.dirty(e)},description:function(e){if(arguments.length){var t=null!=e?e+"":null;return t!==this._desc&&VD(this._el,this._desc=t),this}return this._desc},container:function(){return this._el},scenegraph:function(){return this._scenegraph},origin:function(){return this._origin.slice()},signal:function(e,t,A){var n=MG(this,e);return 1===arguments.length?n.value:this.update(n,t,A)},width:function(e){return arguments.length?this.signal("width",e):this.signal("width")},height:function(e){return arguments.length?this.signal("height",e):this.signal("height")},padding:function(e){return arguments.length?this.signal("padding",QG(e)):QG(this.signal("padding"))},autosize:function(e){return arguments.length?this.signal("autosize",e):this.signal("autosize")},background:function(e){return arguments.length?this.signal("background",e):this.signal("background")},renderer:function(e){return arguments.length?(Zh(e)||Object(ue.o)("Unrecognized renderer type: "+e),e!==this._renderType&&(this._renderType=e,this._resetRenderer()),this):this._renderType},tooltip:function(e){return arguments.length?(e!==this._tooltip&&(this._tooltip=e,this._resetRenderer()),this):this._tooltip},loader:function(e){return arguments.length?(e!==this._loader&&(it.prototype.loader.call(this,e),this._resetRenderer()),this):this._loader},resize:function(){return this._autosize=1,this.touch(MG(this,"autosize"))},_resetRenderer:function(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:function(e,t,A,n,r,i){this.runAfter((function(o){var a=0;o._autosize=0,o.width()!==A&&(a=1,o.signal("width",A,FG),o._resizeWidth.skip(!0)),o.height()!==n&&(a=1,o.signal("height",n,FG),o._resizeHeight.skip(!0)),o._viewWidth!==e&&(o._resize=1,o._viewWidth=e),o._viewHeight!==t&&(o._resize=1,o._viewHeight=t),o._origin[0]===r[0]&&o._origin[1]===r[1]||(o._resize=1,o._origin=r),a&&o.run("enter"),i&&o.runAfter((function(e){return e.resize()}))}),!1,1)},addEventListener:function(e,t,A){var n=t;return A&&!1===A.trap||((n=BG(this,t)).raw=t),this._handler.on(e,n),this},removeEventListener:function(e,t){for(var A,n,r=this._handler.handlers(e),i=r.length;--i>=0;)if(n=r[i].type,A=r[i].handler,e===n&&(t===A||t===A.raw)){this._handler.off(n,A);break}return this},addResizeListener:function(e){var t=this._resizeListeners;return t.indexOf(e)<0&&t.push(e),this},removeResizeListener:function(e){var t=this._resizeListeners,A=t.indexOf(e);return A>=0&&t.splice(A,1),this},addSignalListener:function(e,t){return LG(this,e,MG(this,e),t)},removeSignalListener:function(e,t){return TG(this,MG(this,e),t)},addDataListener:function(e,t){return LG(this,e,WD(this,e).values,t)},removeDataListener:function(e,t){return TG(this,WD(this,e).values,t)},globalCursor:function(e){if(arguments.length){if(this._globalCursor!==!!e){var t=KD(this,null);this._globalCursor=!!e,t&&KD(this,t)}return this}return this._globalCursor},preventDefault:function(e){return arguments.length?(this._preventDefault=e,this):this._preventDefault},timer:function(e,t){this._timers.push(function(e,t,A){var n=new YD,r=t;return null==t?(n.restart(e,t,A),n):(n._restart=n.restart,n.restart=function(e,t,A){t=+t,A=null==A?ZD():+A,n._restart((function i(o){o+=r,n._restart(i,r+=t,A),e(o)}),t,A)},n.restart(e,t,A),n)}((function(t){e({timestamp:Date.now(),elapsed:t})}),t))},events:function(e,t,A){var n,r=this,i=new Le(A),o=function(A,n){r.runAsync(null,(function(){"view"===e&&function(e,t){var A=e._eventConfig.defaults,n=A.prevent,r=A.allow;return!1!==n&&!0!==r&&(!0===n||!1===r||(n?n[t]:r?!r[t]:e.preventDefault()))}(r,t)&&A.preventDefault(),i.receive(tG(r,A,n))}))};if("timer"===e)rG(r,"timer",t)&&r.timer(o,t);else if("view"===e)rG(r,"view",t)&&r.addEventListener(t,o,AG);else if("window"===e?rG(r,"window",t)&&"undefined"!==typeof window&&(n=[window]):"undefined"!==typeof document&&rG(r,"selector",t)&&(n=document.querySelectorAll(e)),n){for(var a=0,s=n.length;a<s;++a)n[a].addEventListener(t,o);nG(r,n,t,o)}else r.warn("Can not resolve event source: "+e);return i},finalize:function(){var e,t,A,n=this._tooltip,r=this._timers,i=this._eventListeners;for(e=r.length;--e>=0;)r[e].stop();for(e=i.length;--e>=0;)for(t=(A=i[e]).sources.length;--t>=0;)A.sources[t].removeEventListener(A.type,A.handler);return n&&n.call(this,this._handler,null,null,null),this},hover:function(e,t){return t=[t||"update",(e=[e||"hover"])[0]],this.on(this.events("view","mouseover",iG),oG,aG(e)),this.on(this.events("view","mouseout",iG),oG,aG(t)),this},data:function(e,t){return arguments.length<2?WD(this,e).values.value:XD.call(this,e,Ge().remove(ue.ib).insert(t))},change:XD,insert:function(e,t){return XD.call(this,e,Ge().insert(t))},remove:function(e,t){return XD.call(this,e,Ge().remove(t))},scale:function(e){var t=this._runtime.scales;return Object(ue.w)(t,e)||Object(ue.o)("Unrecognized scale or projection: "+e),t[e].value},initialize:function(e,t){var A=this,n=A._renderType,r=A._eventConfig.bind,i=Zh(n);e=A._el=e?pG(A,e,!0):null,function(e){var t=e.container();t&&(t.setAttribute("role","graphics-document"),t.setAttribute("aria-roleDescription","visualization"),VD(t,e.description()))}(A),i||A.error("Unrecognized renderer type: "+n);var o=i.handler||eh,a=e?i.renderer:i.headless;return A._renderer=a?dG(A,A._renderer,e,a):null,A._handler=function(e,t,A,n){var r=new n(e.loader(),BG(e,e.tooltip())).scene(e.scenegraph().root).initialize(A,$D(e),e);return t&&t.handlers().forEach((function(e){r.on(e.type,e.handler)})),r}(A,A._handler,e,o),A._redraw=!0,e&&"none"!==r&&(t=t?A._elBind=pG(A,t,!0):e.appendChild(sG("form",{class:"vega-bindings"})),A._bind.forEach((function(e){e.param.element&&"container"!==r&&(e.element=pG(A,e.param.element,!!e.param.input))})),A._bind.forEach((function(e){!function(e,t,A){if(t){var n=A.param,r=A.state;r||(r=A.state={elements:null,active:!1,set:null,update:function(t){t!=e.signal(n.signal)&&e.runAsync(null,(function(){r.source=!0,e.signal(n.signal,t)}))}},n.debounce&&(r.update=Object(ue.n)(n.debounce,r.update))),(null==n.input&&n.element?gG:cG)(r,t,n,e),r.active||(e.on(e._signals[n.signal],null,(function(){r.source?r.source=!1:r.set(e.signal(n.signal))})),r.active=!0)}}(A,e.element||t,e)}))),A},toImageURL:function(e,t){return mG.apply(this,arguments)},toCanvas:function(e,t){return wG.apply(this,arguments)},toSVG:function(e){return SG.apply(this,arguments)},getState:function(e){return this._runtime.getState(e||{data:GG,signals:kG,recurse:!0})},setState:function(e){return this.runAsync(null,(function(t){t._trigger=!1,t._runtime.setState(e)}),(function(e){e._trigger=!0})),this}});var ZG,HG,YG=/[[\]{}]/,JG={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};function jG(e,t,A){return ZG=t||"view",HG=A||JG,VG(e.trim()).map(KG)}function PG(e,t,A,n,r){for(var i,o=e.length,a=0;t<o;++t){if(i=e[t],!a&&i===A)return t;r&&r.indexOf(i)>=0?--a:n&&n.indexOf(i)>=0&&++a}return t}function VG(e){for(var t=[],A=e.length,n=0,r=0;r<A;)r=PG(e,r,",","[{","]}"),t.push(e.substring(n,r).trim()),n=++r;if(0===t.length)throw"Empty event selector: "+e;return t}function KG(e){return"["===e[0]?function(e){var t,A=e.length,n=1;if((n=PG(e,n,"]","[","]"))===A)throw"Empty between selector: "+e;if(2!==(t=VG(e.substring(1,n))).length)throw"Between selector must have two elements: "+e;if(">"!==(e=e.slice(n+1).trim())[0])throw"Expected '>' after between selector: "+e;t=t.map(KG);var r=KG(e.slice(1).trim());if(r.between)return{between:t,stream:r};r.between=t;return r}(e):function(e){var t,A,n={source:ZG},r=[],i=[0,0],o=0,a=0,s=e.length,g=0;if("}"===e[s-1]){if(!((g=e.lastIndexOf("{"))>=0))throw"Unmatched right brace: "+e;try{i=function(e){var t=e.split(",");if(!e.length||t.length>2)throw e;return t.map((function(t){var A=+t;if(A!==A)throw e;return A}))}(e.substring(g+1,s-1))}catch(u){throw"Invalid throttle specification: "+e}e=e.slice(0,g).trim(),s=e.length,g=0}if(!s)throw e;"@"===e[0]&&(o=++g);(t=PG(e,g,":"))<s&&(r.push(e.substring(a,t).trim()),a=g=++t);if((g=PG(e,g,"["))===s)r.push(e.substring(a,s).trim());else if(r.push(e.substring(a,g).trim()),A=[],(a=++g)===s)throw"Unmatched left bracket: "+e;for(;g<s;){if((g=PG(e,g,"]"))===s)throw"Unmatched left bracket: "+e;if(A.push(e.substring(a,g).trim()),g<s-1&&"["!==e[++g])throw"Expected left bracket: "+e;a=++g}if(!(s=r.length)||YG.test(r[s-1]))throw"Invalid event selector: "+e;s>1?(n.type=r[1],o?n.markname=r[0].slice(1):(c=r[0],HG[c]?n.marktype=r[0]:n.source=r[0])):n.type=r[0];var c;"!"===n.type.slice(-1)&&(n.consume=!0,n.type=n.type.slice(0,-1));null!=A&&(n.filter=A);i[0]&&(n.throttle=i[0]);i[1]&&(n.debounce=i[1]);return n}(e)}function WG(e){return Object(ue.H)(e)?e:{type:e||"pad"}}var XG=function(e){return+e||0};function qG(e){return Object(ue.H)(e)?e.signal?e:{top:XG(e.top),bottom:XG(e.bottom),left:XG(e.left),right:XG(e.right)}:{top:t=XG(e),bottom:t,left:t,right:t};var t}var zG=function(e){return Object(ue.H)(e)&&!Object(ue.B)(e)?Object(ue.p)({},e):{value:e}};function $G(e,t,A,n){return null!=A?(Object(ue.H)(A)&&!Object(ue.B)(A)||Object(ue.B)(A)&&A.length&&Object(ue.H)(A[0])?e.update[t]=A:e[n||"enter"][t]={value:A},1):0}function ek(e,t,A){for(var n in t)$G(e,n,t[n]);for(var r in A)$G(e,r,A[r],"update")}function tk(e,t,A){for(var n in t)A&&Object(ue.w)(A,n)||(e[n]=Object(ue.p)(e[n]||{},t[n]));return e}function Ak(e,t){return t&&(t.enter&&t.enter[e]||t.update&&t.update[e])}function nk(e,t,A){e[t]=A&&A.signal?{signal:A.signal}:{value:A}}var rk=function(e){return Object(ue.J)(e)?Object(ue.bb)(e):e.signal?"(".concat(e.signal,")"):sk(e)};function ik(e){if(null!=e.gradient)return function(e){var t=[e.start,e.stop,e.count].map((function(e){return null==e?null:Object(ue.bb)(e)}));for(;t.length&&null==Object(ue.W)(t);)t.pop();return t.unshift(rk(e.gradient)),"gradient(".concat(t.join(","),")")}(e);var t=e.signal?"(".concat(e.signal,")"):e.color?function(e){return e.c?ok("hcl",e.h,e.c,e.l):e.h||e.s?ok("hsl",e.h,e.s,e.l):e.l||e.a?ok("lab",e.l,e.a,e.b):e.r||e.g||e.b?ok("rgb",e.r,e.g,e.b):null}(e.color):null!=e.field?sk(e.field):void 0!==e.value?Object(ue.bb)(e.value):void 0;return null!=e.scale&&(t=function(e,t){var A=rk(e.scale);null!=e.range?t="lerp(_range(".concat(A,"), ").concat(+e.range,")"):(void 0!==t&&(t="_scale(".concat(A,", ").concat(t,")")),e.band&&(t=(t?t+"+":"")+"_bandwidth(".concat(A,")")+(1===+e.band?"":"*"+ak(e.band)),e.extra&&(t="(datum.extra ? _scale(".concat(A,", datum.extra.value) : ").concat(t,")"))),null==t&&(t="0"));return t}(e,t)),void 0===t&&(t=null),null!=e.exponent&&(t="pow(".concat(t,",").concat(ak(e.exponent),")")),null!=e.mult&&(t+="*".concat(ak(e.mult))),null!=e.offset&&(t+="+".concat(ak(e.offset))),e.round&&(t="round(".concat(t,")")),t}var ok=function(e,t,A,n){return"(".concat(e,"(").concat([t,A,n].map(ik).join(","),")+'')")};function ak(e){return Object(ue.H)(e)?"("+ik(e)+")":e}function sk(e){return function e(t){var A,n,r;if(t.signal)A="datum",r=t.signal;else if(t.group||t.parent){for(n=Math.max(1,t.level||1),A="item";n-- >0;)A+=".mark.group";t.parent?(r=t.parent,A+=".datum"):r=t.group}else t.datum?(A="datum",r=t.datum):Object(ue.o)("Invalid field reference: "+Object(ue.bb)(t));t.signal||(r=Object(ue.J)(r)?Object(ue.ab)(r).map(ue.bb).join("]["):e(r));return A+"["+r+"]"}(Object(ue.H)(e)?e:{datum:e})}function gk(e,t,A,n,r,i){var o={};for(var a in(i=i||{}).encoders={$encode:o},e=function(e,t,A,n,r){var i,o,a,s={},g={};for(o in o="lineBreak","text"!==t||null==r[o]||Ak(o,e)||nk(s,o,r[o]),("legend"==A||String(A).startsWith("axis"))&&(A=null),a="frame"===A?r.group:"mark"===A?Object(ue.p)({},r.mark,r[t]):null)Ak(o,e)||("fill"===o||"stroke"===o)&&(Ak("fill",e)||Ak("stroke",e))||nk(s,o,a[o]);for(o in Object(ue.i)(n).forEach((function(t){var A=r.style&&r.style[t];for(var n in A)Ak(n,e)||nk(s,n,A[n])})),e=Object(ue.p)({},e),s)(a=s[o]).signal?(i=i||{})[o]=a:g[o]=a;return e.enter=Object(ue.p)(g,e.enter),i&&(e.update=Object(ue.p)(i,e.update)),e}(e,t,A,n,r.config))o[a]=ck(e[a],t,i,r);return i}function ck(e,t,A,n){var r,i={},o={};for(var a in e)null!=e[a]&&(i[a]=uk((r=e[a],Object(ue.B)(r)?function(e){var t="";return e.forEach((function(e){var A=ik(e);t+=e.test?"(".concat(e.test,")?").concat(A,":"):A})),":"===Object(ue.W)(t)&&(t+="null"),t}(r):ik(r)),n,A,o));return{$expr:{marktype:t,channels:i},$fields:Object.keys(o),$output:Object.keys(e)}}function uk(e,t,A,n){var r=pD(e,t);return r.$fields.forEach((function(e){return n[e]=1})),Object(ue.p)(A,r.$params),r.$expr}var lk=["value","update","init","react","bind"];function Ik(e,t){Object(ue.o)(e+' for "outer" push: '+Object(ue.bb)(t))}function Ck(e,t){var A=e.name;if("outer"===e.push)t.signals[A]||Ik("No prior signal definition",A),lk.forEach((function(t){void 0!==e[t]&&Ik("Invalid property ",t)}));else{var n=t.addSignal(A,e.value);!1===e.react&&(n.react=!1),e.bind&&t.addBinding(A,e.bind)}}function hk(e,t,A,n){this.id=-1,this.type=e,this.value=t,this.params=A,n&&(this.parent=n)}function fk(e,t,A,n){return new hk(e,t,A,n)}function dk(e,t){return fk("operator",e,t)}function Bk(e){var t={$ref:e.id};return e.id<0&&(e.refs=e.refs||[]).push(t),t}function pk(e,t){return t?{$field:e,$name:t}:{$field:e}}var Ek=pk("key");function Qk(e,t){return{$compare:e,$order:t}}function yk(e,t){return(e&&e.signal?"$"+e.signal:e||"")+(e&&t?"_":"")+(t&&t.signal?"$"+t.signal:t||"")}function vk(e){return e&&e.signal}function mk(e){if(vk(e))return!0;if(Object(ue.H)(e))for(var t in e)if(mk(e[t]))return!0;return!1}function bk(e,t){return null!=e?e:t}function wk(e){return e&&e.signal||e}function Sk(e,t){return(e.merge?Fk:e.stream?Rk:e.type?Dk:Object(ue.o)("Invalid stream specification: "+Object(ue.bb)(e)))(e,t)}function Fk(e,t){var A=Gk({merge:e.merge.map((function(e){return Sk(e,t)}))},e,t);return t.addStream(A).id}function Rk(e,t){var A=Gk({stream:Sk(e.stream,t)},e,t);return t.addStream(A).id}function Dk(e,t){var A,n;"timer"===e.type?(A=t.event("timer",e.throttle),e={between:e.between,filter:e.filter}):A=t.event("scope"===(n=e.source)?"view":n||"view",e.type);var r=Gk({stream:A},e,t);return 1===Object.keys(r).length?A:t.addStream(r).id}function Gk(e,t,A){var n=t.between;return n&&(2!==n.length&&Object(ue.o)('Stream "between" parameter must have 2 entries: '+Object(ue.bb)(t)),e.between=[Sk(n[0],A),Sk(n[1],A)]),n=t.filter?[].concat(t.filter):[],(t.marktype||t.markname||t.markrole)&&n.push(function(e,t,A){var n="event.item";return n+(e&&"*"!==e?"&&"+n+".mark.marktype==='"+e+"'":"")+(A?"&&"+n+".mark.role==='"+A+"'":"")+(t?"&&"+n+".mark.name==='"+t+"'":"")}(t.marktype,t.markname,t.markrole)),"scope"===t.source&&n.push("inScope(event.item)"),n.length&&(e.filter=pD("("+n.join(")&&(")+")",A).$expr),null!=(n=t.throttle)&&(e.throttle=+n),null!=(n=t.debounce)&&(e.debounce=+n),t.consume&&(e.consume=!0),e}var kk={code:"_.$value",ast:{type:"Identifier",value:"value"}};function xk(e,t,A){var n=e.encode,r={target:A},i=e.events,o=e.update,a=[];i||Object(ue.o)("Signal update missing events specification."),Object(ue.J)(i)&&(i=jG(i,t.isSubscope()?"scope":"view")),i=Object(ue.i)(i).filter((function(e){return e.signal||e.scale?(a.push(e),0):1})),a.length>1&&(a=[Nk(a)]),i.length&&a.push(i.length>1?{merge:i}:i[0]),null!=n&&(o&&Object(ue.o)("Signal encode and update are mutually exclusive."),o="encode(item(),"+Object(ue.bb)(n)+")"),r.update=Object(ue.J)(o)?pD(o,t):null!=o.expr?pD(o.expr,t):null!=o.value?o.value:null!=o.signal?{$expr:kk,$params:{$value:t.signalRef(o.signal)}}:Object(ue.o)("Invalid signal update specification."),e.force&&(r.options={force:!0}),a.forEach((function(e){return t.addUpdate(Object(ue.p)(function(e,t){return{source:e.signal?t.signalRef(e.signal):e.scale?t.scaleRef(e.scale):Sk(e,t)}}(e,t),r))}))}function Nk(e){return{signal:"["+e.map((function(e){return e.scale?'scale("'+e.scale+'")':e.signal}))+"]"}}var Uk=function(e){return function(t,A,n){return fk(e,A,t||void 0,n)}},_k=Uk("aggregate"),Mk=Uk("axisticks"),Ok=Uk("bound"),Lk=Uk("collect"),Tk=Uk("compare"),Zk=Uk("datajoin"),Hk=Uk("encode"),Yk=Uk("expression"),Jk=Uk("facet"),jk=Uk("field"),Pk=Uk("key"),Vk=Uk("legendentries"),Kk=Uk("load"),Wk=Uk("mark"),Xk=Uk("multiextent"),qk=Uk("multivalues"),zk=Uk("overlap"),$k=Uk("params"),ex=Uk("prefacet"),tx=Uk("projection"),Ax=Uk("proxy"),nx=Uk("relay"),rx=Uk("render"),ix=Uk("scale"),ox=Uk("sieve"),ax=Uk("sortitems"),sx=Uk("viewlayout"),gx=Uk("values"),cx=0,ux={min:"min",max:"max",count:"sum"};function lx(e,t){var A,n,r=t.getScale(e.name).params;for(A in r.domain=fx(e.domain,e,t),null!=e.range&&(r.range=function e(t,A,n){var r=A.config.range,i=t.range;if(i.signal)return A.signalRef(i.signal);if(Object(ue.J)(i)){if(r&&Object(ue.w)(r,i))return t=Object(ue.p)({},t,{range:r[i]}),e(t,A,n);"width"===i?i=[0,{signal:"width"}]:"height"===i?i=nu(t.type)?[0,{signal:"height"}]:[{signal:"height"},0]:Object(ue.o)("Unrecognized scale range value: "+Object(ue.bb)(i))}else{if(i.scheme)return n.scheme=Object(ue.B)(i.scheme)?Cx(i.scheme,A):Ix(i.scheme,A),i.extent&&(n.schemeExtent=Cx(i.extent,A)),void(i.count&&(n.schemeCount=Ix(i.count,A)));if(i.step)return void(n.rangeStep=Ix(i.step,A));if(nu(t.type)&&!Object(ue.B)(i))return fx(i,t,A);Object(ue.B)(i)||Object(ue.o)("Unsupported range type: "+Object(ue.bb)(i))}return i.map((function(e){return(Object(ue.B)(e)?Cx:Ix)(e,A)}))}(e,t,r)),null!=e.interpolate&&function(e,t){t.interpolate=Ix(e.type||e),null!=e.gamma&&(t.interpolateGamma=Ix(e.gamma))}(e.interpolate,r),null!=e.nice&&(r.nice=(n=e.nice,Object(ue.H)(n)?{interval:Ix(n.interval),step:Ix(n.step)}:Ix(n))),null!=e.bins&&(r.bins=function(e,t){return e.signal||Object(ue.B)(e)?Cx(e,t):t.objectProperty(e)}(e.bins,t)),e)Object(ue.w)(r,A)||"name"===A||(r[A]=Ix(e[A],t))}function Ix(e,t){return Object(ue.H)(e)?e.signal?t.signalRef(e.signal):Object(ue.o)("Unsupported object: "+Object(ue.bb)(e)):e}function Cx(e,t){return e.signal?t.signalRef(e.signal):e.map((function(e){return Ix(e,t)}))}function hx(e){Object(ue.o)("Can not find data set: "+Object(ue.bb)(e))}function fx(e,t,A){if(e)return e.signal?A.signalRef(e.signal):(Object(ue.B)(e)?dx:e.fields?px:Bx)(e,t,A);null==t.domainMin&&null==t.domainMax||Object(ue.o)("No scale domain defined for domainMin/domainMax to override.")}function dx(e,t,A){return e.map((function(e){return Ix(e,A)}))}function Bx(e,t,A){var n=A.getData(e.data);return n||hx(e.data),nu(t.type)?n.valuesRef(A,e.field,Qx(e.sort,!1)):au(t.type)?n.domainRef(A,e.field):n.extentRef(A,e.field)}function px(e,t,A){var n=e.data,r=e.fields.reduce((function(e,t){return t=Object(ue.J)(t)?{data:n,field:t}:Object(ue.B)(t)||t.signal?function(e,t){var A="_:vega:_"+cx++,n=Lk({});if(Object(ue.B)(e))n.value={$ingest:e};else if(e.signal){var r="setdata("+Object(ue.bb)(A)+","+e.signal+")";n.params.input=t.signalRef(r)}return t.addDataPipeline(A,[n,ox({})]),{data:A,field:"data"}}(t,A):t,e.push(t),e}),[]);return(nu(t.type)?Ex:au(t.type)?yx:vx)(e,A,r)}function Ex(e,t,A){var n,r,i=Qx(e.sort,!0),o=A.map((function(e){var A=t.getData(e.data);return A||hx(e.data),A.countsRef(t,e.field,i)})),a={groupby:Ek,pulse:o};i&&(n=i.op||"count",r=i.field?yk(n,i.field):"count",a.ops=[ux[n]],a.fields=[t.fieldRef(r)],a.as=[r]),n=t.add(_k(a));var s=t.add(Lk({pulse:Bk(n)}));return r=t.add(gx({field:Ek,sort:t.sortRef(i),pulse:Bk(s)})),Bk(r)}function Qx(e,t){return e&&(e.field||e.op?e.field||"count"===e.op?t&&e.field&&e.op&&!ux[e.op]&&Object(ue.o)("Multiple domain scales can not be sorted using "+e.op):Object(ue.o)("No field provided for sort aggregate op: "+e.op):Object(ue.H)(e)?e.field="key":e={field:"key"}),e}function yx(e,t,A){var n=A.map((function(e){var A=t.getData(e.data);return A||hx(e.data),A.domainRef(t,e.field)}));return Bk(t.add(qk({values:n})))}function vx(e,t,A){var n=A.map((function(e){var A=t.getData(e.data);return A||hx(e.data),A.extentRef(t,e.field)}));return Bk(t.add(Xk({extents:n})))}function mx(e,t,A){return Object(ue.B)(e)?e.map((function(e){return mx(e,t,A)})):Object(ue.H)(e)?e.signal?A.signalRef(e.signal):"fit"===t?e:Object(ue.o)("Unsupported parameter object: "+Object(ue.bb)(e)):e}var bx="value",wx=["size","shape","fill","stroke","strokeWidth","strokeDash","opacity"],Sx={name:1,style:1,interactive:1},Fx={value:0},Rx={value:1};function Dx(e){return e.type="group",e.interactive=e.interactive||!1,e}function Gx(e,t){var A=function(A,n){return bk(e[A],bk(t[A],n))};return A.isVertical=function(A){return"vertical"===bk(e.direction,t.direction||(A?t.symbolDirection:t.gradientDirection))},A.gradientLength=function(){return bk(e.gradientLength,t.gradientLength||t.gradientWidth)},A.gradientThickness=function(){return bk(e.gradientThickness,t.gradientThickness||t.gradientHeight)},A.entryColumns=function(){return bk(e.columns,bk(t.columns,+A.isVertical(!0)))},A}function kx(e,t){var A=t&&(t.update&&t.update[e]||t.enter&&t.enter[e]);return A&&A.signal?A:A?A.value:null}function xx(e,t,A){return"item.anchor === '".concat("start","' ? ").concat(e," : item.anchor === '").concat("end","' ? ").concat(t," : ").concat(A)}var Nx=xx(Object(ue.bb)("left"),Object(ue.bb)("right"),Object(ue.bb)("center"));function Ux(e,t){return t?e?Object(ue.H)(e)?Object.assign({},e,{offset:Ux(e.offset,t)}):{value:e,offset:t}:t:e}function _x(e,t){return t?(e.name=t.name,e.style=t.style||e.style,e.interactive=!!t.interactive,e.encode=tk(e.encode,t,Sx)):e.interactive=!1,e}function Mx(e,t,A,n){var r,i,o,a,s,g=Gx(e,A),c=g.isVertical(),u=g.gradientThickness(),l=g.gradientLength();c?(i=[0,1],o=[0,0],a=u,s=l):(i=[0,0],o=[1,0],a=l,s=u);var I={enter:r={opacity:Fx,x:Fx,y:Fx,width:zG(a),height:zG(s)},update:Object(ue.p)({},r,{opacity:Rx,fill:{gradient:t,start:i,stop:o}}),exit:{opacity:Fx}};return ek(I,{stroke:g("gradientStrokeColor"),strokeWidth:g("gradientStrokeWidth")},{opacity:g("gradientOpacity")}),_x({type:"rect",role:"legend-gradient",encode:I},n)}function Ox(e,t,A,n,r){var i,o,a,s,g=Gx(e,A),c=g.isVertical(),u=g.gradientThickness(),l=g.gradientLength(),I="";c?(i="y",a="y2",o="x",s="width",I="1-"):(i="x",a="x2",o="y",s="height");var C={opacity:Fx,fill:{scale:t,field:bx}};C[i]={signal:I+"datum.perc",mult:l},C[o]=Fx,C[a]={signal:I+"datum.perc2",mult:l},C[s]=zG(u);var h={enter:C,update:Object(ue.p)({},C,{opacity:Rx}),exit:{opacity:Fx}};return ek(h,{stroke:g("gradientStrokeColor"),strokeWidth:g("gradientStrokeWidth")},{opacity:g("gradientOpacity")}),_x({type:"rect",role:"legend-band",key:bx,from:r,encode:h},n)}var Lx="datum.".concat("perc",'<=0?"').concat("left",'":datum.').concat("perc",'>=1?"').concat("right",'":"').concat("center",'"'),Tx="datum.".concat("perc",'<=0?"').concat("bottom",'":datum.').concat("perc",'>=1?"').concat("top",'":"').concat("middle",'"');function Zx(e,t,A,n){var r,i,o,a,s=Gx(e,t),g=s.isVertical(),c=zG(s.gradientThickness()),u=s.gradientLength(),l=s("labelOverlap"),I="",C={enter:r={opacity:Fx},update:i={opacity:Rx,text:{field:"label"}},exit:{opacity:Fx}};return ek(C,{fill:s("labelColor"),fillOpacity:s("labelOpacity"),font:s("labelFont"),fontSize:s("labelFontSize"),fontStyle:s("labelFontStyle"),fontWeight:s("labelFontWeight"),limit:bk(e.labelLimit,t.gradientLabelLimit)}),g?(r.align={value:"left"},r.baseline=i.baseline={signal:Tx},o="y",a="x",I="1-"):(r.align=i.align={signal:Lx},r.baseline={value:"top"},o="x",a="y"),r[o]=i[o]={signal:I+"datum.perc",mult:u},r[a]=i[a]=c,c.offset=bk(e.labelOffset,t.gradientLabelOffset)||0,l=l?{separation:s("labelSeparation"),method:l,order:"datum.index"}:void 0,_x({type:"text",role:"legend-label",style:"guide-label",key:bx,from:n,encode:C,overlap:l},A)}function Hx(e,t,A,n,r){var i,o,a,s,g,c=Gx(e,t),u=A.entries,l=!(!u||!u.interactive),I=u?u.name:void 0,C=c("clipHeight"),h=c("symbolOffset"),f={data:"value"},d="(".concat(r,") ? datum.").concat("offset"," : datum.").concat("size"),B=C?zG(C):{field:"size"},p="datum.".concat("index"),E="max(1, ".concat(r,")");B.mult=.5,i={enter:o={opacity:Fx,x:{signal:d,mult:.5,offset:h},y:B},update:a={opacity:Rx,x:o.x,y:o.y},exit:{opacity:Fx}};var Q=null,y=null;e.fill||(Q=t.symbolBaseFillColor,y=t.symbolBaseStrokeColor),ek(i,{fill:c("symbolFillColor",Q),shape:c("symbolType"),size:c("symbolSize"),stroke:c("symbolStrokeColor",y),strokeDash:c("symbolDash"),strokeDashOffset:c("symbolDashOffset"),strokeWidth:c("symbolStrokeWidth")},{opacity:c("symbolOpacity")}),wx.forEach((function(t){e[t]&&(a[t]=o[t]={scale:e[t],field:bx})}));var v=_x({type:"symbol",role:"legend-symbol",key:bx,from:f,clip:!!C||void 0,encode:i},A.symbols),m=zG(h);m.offset=c("labelOffset"),ek(i={enter:o={opacity:Fx,x:{signal:d,offset:m},y:B},update:a={opacity:Rx,text:{field:"label"},x:o.x,y:o.y},exit:{opacity:Fx}},{align:c("labelAlign"),baseline:c("labelBaseline"),fill:c("labelColor"),fillOpacity:c("labelOpacity"),font:c("labelFont"),fontSize:c("labelFontSize"),fontStyle:c("labelFontStyle"),fontWeight:c("labelFontWeight"),limit:c("labelLimit")});var b=_x({type:"text",role:"legend-label",style:"guide-label",key:bx,from:f,encode:i},A.labels);return i={enter:{noBound:{value:!C},width:Fx,height:C?zG(C):Fx,opacity:Fx},exit:{opacity:Fx},update:a={opacity:Rx,row:{signal:null},column:{signal:null}}},c.isVertical(!0)?(s="ceil(item.mark.items.length / ".concat(E,")"),a.row.signal="".concat(p,"%").concat(s),a.column.signal="floor(".concat(p," / ").concat(s,")"),g={field:["row",p]}):(a.row.signal="floor(".concat(p," / ").concat(E,")"),a.column.signal="".concat(p," % ").concat(E),g={field:p}),a.column.signal="(".concat(r,")?").concat(a.column.signal,":").concat(p),Dx({role:"scope",from:n={facet:{data:n,name:"value",groupby:"index"}},encode:tk(i,u,Sx),marks:[v,b],name:I,interactive:l,sort:g})}var Yx='item.orient === "left"',Jx='item.orient === "right"',jx="(".concat(Yx," || ").concat(Jx,")"),Px="datum.vgrad && ".concat(jx),Vx=xx('"top"','"bottom"','"middle"'),Kx=xx('"right"','"left"','"center"'),Wx="datum.vgrad && ".concat(Jx," ? (").concat(Kx,") : (").concat(jx," && !(datum.vgrad && ").concat(Yx,')) ? "left" : ').concat(Nx),Xx="item._anchor || (".concat(jx,' ? "middle" : "start")'),qx="".concat(Px," ? (").concat(Yx," ? -90 : 90) : 0"),zx="".concat(jx," ? (datum.vgrad ? (").concat(Jx,' ? "bottom" : "top") : ').concat(Vx,') : "top"');function $x(e,t){var A;return Object(ue.H)(e)&&(e.signal?A=e.signal:e.path?A="pathShape("+eN(e.path)+")":e.sphere&&(A="geoShape("+eN(e.sphere)+', {type: "Sphere"})')),A?t.signalRef(A):!!e}function eN(e){return Object(ue.H)(e)&&e.signal?e.signal:Object(ue.bb)(e)}function tN(e){var t=e.role||"";return t.indexOf("axis")&&t.indexOf("legend")&&t.indexOf("title")?"group"===e.type?"scope":t||"mark":t}function AN(e){return{marktype:e.type,name:e.name||void 0,role:e.role||tN(e),zindex:+e.zindex||void 0,aria:e.aria,description:e.description}}function nN(e,t){return e&&e.signal?t.signalRef(e.signal):!1!==e}function rN(e,t){var A=gt(e.type);A||Object(ue.o)("Unrecognized transform type: "+Object(ue.bb)(e.type));var n=fk(A.type.toLowerCase(),null,iN(A,e,t));return e.signal&&t.addSignal(e.signal,t.proxy(n)),n.metadata=A.metadata||{},n}function iN(e,t,A){for(var n={},r=e.params.length,i=0;i<r;++i){var o=e.params[i];n[o.name]=oN(o,t,A)}return n}function oN(e,t,A){var n=e.type,r=t[e.name];return"index"===n?function(e,t,A){Object(ue.J)(t.from)||Object(ue.o)('Lookup "from" parameter must be a string literal.');return A.getData(t.from).lookupRef(A,t.key)}(0,t,A):void 0!==r?"param"===n?function(e,t,A){var n=t[e.name];return e.array?(Object(ue.B)(n)||Object(ue.o)("Expected an array of sub-parameters. Instead: "+Object(ue.bb)(n)),n.map((function(t){return sN(e,t,A)}))):sN(e,n,A)}(e,t,A):"projection"===n?A.projectionRef(t[e.name]):e.array&&!vk(r)?r.map((function(t){return aN(e,t,A)})):aN(e,r,A):void(e.required&&Object(ue.o)("Missing required "+Object(ue.bb)(t.type)+" parameter: "+Object(ue.bb)(e.name)))}function aN(e,t,A){var n=e.type;if(vk(t))return lN(n)?Object(ue.o)("Expression references can not be signals."):IN(n)?A.fieldRef(t):CN(n)?A.compareRef(t):A.signalRef(t.signal);var r=e.expr||IN(n);return r&&gN(t)?A.exprRef(t.expr,t.as):r&&cN(t)?pk(t.field,t.as):lN(n)?pD(t,A):uN(n)?Bk(A.getData(t).values):IN(n)?pk(t):CN(n)?A.compareRef(t):t}function sN(e,t,A){for(var n,r=e.params.length,i=0;i<r;++i){for(var o in(n=e.params[i]).key)if(n.key[o]!==t[o]){n=null;break}if(n)break}n||Object(ue.o)("Unsupported parameter: "+Object(ue.bb)(t));var a=Object(ue.p)(iN(n,t,A),n.key);return Bk(A.add($k(a)))}var gN=function(e){return e&&e.expr},cN=function(e){return e&&e.field},uN=function(e){return"data"===e},lN=function(e){return"expr"===e},IN=function(e){return"field"===e},CN=function(e){return"compare"===e};function hN(e,t){return e.$ref?e:e.data&&e.data.$ref?e.data:Bk(t.getData(e.data).output)}function fN(e,t,A,n,r){this.scope=e,this.input=t,this.output=A,this.values=n,this.aggregate=r,this.index={}}function dN(e){return Object(ue.J)(e)?e:null}function BN(e,t,A){var n,r=yk(A.op,A.field);if(t.ops){for(var i=0,o=t.as.length;i<o;++i)if(t.as[i]===r)return}else t.ops=["count"],t.fields=[null],t.as=["count"];A.op&&(t.ops.push((n=A.op.signal)?e.signalRef(n):A.op),t.fields.push(e.fieldRef(A.field)),t.as.push(r))}function pN(e,t,A,n,r,i,o){var a,s,g=t[A]||(t[A]={}),c=function(e){return Object(ue.H)(e)?("descending"===e.order?"-":"+")+yk(e.op,e.field):""}(i),u=dN(r);if(null!=u&&(e=t.scope,a=g[u+=c?"|"+c:""]),!a){var l=i?{field:Ek,pulse:t.countsRef(e,r,i)}:{field:e.fieldRef(r),pulse:Bk(t.output)};c&&(l.sort=e.sortRef(i)),s=e.add(fk(n,void 0,l)),o&&(t.index[r]=s),a=Bk(s),null!=u&&(g[u]=a)}return a}function EN(e,t,A){var n=e.remove,r=e.insert,i=e.toggle,o=e.modify,a=e.values,s=t.add(dk()),g=pD("if("+e.trigger+',modify("'+A+'",'+[r,n,i,o,a].map((function(e){return null==e?"null":e})).join(",")+"),0)",t);s.update=g.$expr,s.params=g.$params}function QN(e,t){var A,n,r,i,o,a,s,g=tN(e),c="group"===e.type,u=e.from&&e.from.facet,l=e.overlap,I=e.layout||"scope"===g||"frame"===g,C="mark"===g||I||u,h=function(e,t,A){var n,r,i,o,a;return e?(n=e.facet)&&(t||Object(ue.o)("Only group marks can be faceted."),null!=n.field?o=a=hN(n,A):(e.data?a=Bk(A.getData(e.data).aggregate):((i=rN(Object(ue.p)({type:"aggregate",groupby:Object(ue.i)(n.groupby)},n.aggregate),A)).params.key=A.keyRef(n.groupby),i.params.pulse=hN(n,A),o=a=Bk(A.add(i))),r=A.keyRef(n.groupby,!0))):o=Bk(A.add(Lk(null,[{}]))),o||(o=hN(e,A)),{key:r,pulse:o,parent:a}}(e.from,c,t),f=Bk(n=t.add(Zk({key:h.key||(e.key?pk(e.key):void 0),pulse:h.pulse,clean:!c})));n=r=t.add(Lk({pulse:f})),n=t.add(Wk({markdef:AN(e),interactive:nN(e.interactive,t),clip:$x(e.clip,t),context:{$context:!0},groups:t.lookup(),parent:t.signals.parent?t.signalRef("parent"):null,index:t.markpath(),pulse:Bk(n)}));var d=Bk(n);(n=i=t.add(Hk(gk(e.encode,e.type,g,e.style,t,{mod:!1,pulse:d})))).params.parent=t.encode(),e.transform&&e.transform.forEach((function(e){var A=rN(e,t),r=A.metadata;(r.generates||r.changes)&&Object(ue.o)("Mark transforms should not generate new data."),r.nomod||(i.params.mod=!0),A.params.pulse=Bk(n),t.add(n=A)})),e.sort&&(n=t.add(ax({sort:t.compareRef(e.sort),pulse:Bk(n)})));var B=Bk(n);(u||I)&&(a=Bk(I=t.add(sx({layout:t.objectProperty(e.layout),legends:t.legends,mark:d,pulse:B}))));var p=t.add(Ok({mark:d,pulse:a||B}));s=Bk(p),c&&(C&&((A=t.operators).pop(),I&&A.pop()),t.pushState(B,a||s,f),u?function(e,t,A){var n,r=e.from.facet,i=r.name,o=hN(r,t);r.name||Object(ue.o)("Facet must have a name: "+Object(ue.bb)(r)),r.data||Object(ue.o)("Facet must reference a data set: "+Object(ue.bb)(r)),r.field?n=t.add(ex({field:t.fieldRef(r.field),pulse:o})):r.groupby?n=t.add(Jk({key:t.keyRef(r.groupby),group:Bk(t.proxy(A.parent)),pulse:o})):Object(ue.o)("Facet must specify groupby or field: "+Object(ue.bb)(r));var a=t.fork(),s=a.add(Lk()),g=a.add(ox({pulse:Bk(s)}));a.addData(i,new fN(a,s,s,g)),a.addSignal("parent",null),n.params.subflow={$subflow:a.parse(e).toRuntime()}}(e,t,h):C?function(e,t,A){var n=t.add(ex({pulse:A.pulse})),r=t.fork();r.add(ox()),r.addSignal("parent",null),n.params.subflow={$subflow:r.parse(e).toRuntime()}}(e,t,h):t.parse(e),t.popState(),C&&(I&&A.push(I),A.push(p))),l&&(s=function(e,t,A){var n=e.method,r=e.bound,i=e.separation,o={separation:vk(i)?A.signalRef(i.signal):i,method:vk(n)?A.signalRef(n.signal):n,pulse:t};e.order&&(o.sort=A.compareRef({field:e.order}));if(r){var a=r.tolerance;o.boundTolerance=vk(a)?A.signalRef(a.signal):+a,o.boundScale=A.scaleRef(r.scale),o.boundOrient=r.orient}return Bk(A.add(zk(o)))}(l,s,t));var E=t.add(rx({pulse:s})),Q=t.add(ox({pulse:Bk(E)},void 0,t.parent()));null!=e.name&&(o=e.name,t.addData(o,new fN(t,r,E,Q)),e.on&&e.on.forEach((function(e){(e.insert||e.remove||e.toggle)&&Object(ue.o)("Marks only support modify triggers."),EN(e,t,o)})))}function yN(e,t){var A,n,r,i=t.config.legend,o=e.encode||{},a=Gx(e,i),s=o.legend||{},g=s.name||void 0,c=s.interactive,u=s.style,l={},I=0;wx.forEach((function(t){return e[t]?(l[t]=e[t],I=I||e[t]):0})),I||Object(ue.o)("Missing valid scale for legend.");var C=function(e,t){var A=e.type||"symbol";e.type||1!==function(e){return wx.reduce((function(t,A){return t+(e[A]?1:0)}),0)}(e)||!e.fill&&!e.stroke||(A=Au(t)?"gradient":ru(t)?"discrete":"symbol");return"gradient"!==A?A:ru(t)?"discrete":"gradient"}(e,t.scaleType(I)),h={title:null!=e.title,scales:l,type:C,vgrad:"symbol"!==C&&a.isVertical()},f=Bk(t.add(Lk(null,[h]))),d=Bk(t.add(Vk(n={type:C,scale:t.scaleRef(I),count:t.objectProperty(a("tickCount")),limit:t.property(a("symbolLimit")),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)})));return"gradient"===C?(r=[Mx(e,I,i,o.gradient),Zx(e,i,o.labels,d)],n.count=n.count||t.signalRef("max(2,2*floor((".concat(wk(a.gradientLength()),")/100))"))):"discrete"===C?r=[Ox(e,I,i,o.gradient,d),Zx(e,i,o.labels,d)]:(A=function(e,t){var A=Gx(e,t);return{align:A("gridAlign"),columns:A.entryColumns(),center:{row:!0,column:!1},padding:{row:A("rowPadding"),column:A("columnPadding")}}}(e,i),r=[Hx(e,i,o,d,wk(A.columns))],n.size=function(e,t,A){var n=wk(mN("size",e,A)),r=wk(mN("strokeWidth",e,A)),i=wk(function(e,t,A){return kx("fontSize",e)||function(e,t,A){var n=t.config.style[A];return n&&n[e]}("fontSize",t,A)}(A[1].encode,t,"guide-label"));return pD("max(ceil(sqrt(".concat(n,")+").concat(r,"),").concat(i,")"),t)}(e,t,r[0].marks)),r=[Dx({role:"legend-entry",from:f,encode:{enter:{x:{value:0},y:{value:0}}},marks:r,layout:A,interactive:c})],h.title&&r.push(function(e,t,A,n){var r=Gx(e,t),i={enter:{opacity:Fx},update:{opacity:Rx,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:Fx}};return ek(i,{orient:r("titleOrient"),_anchor:r("titleAnchor"),anchor:{signal:Xx},angle:{signal:qx},align:{signal:Wx},baseline:{signal:zx},text:e.title,fill:r("titleColor"),fillOpacity:r("titleOpacity"),font:r("titleFont"),fontSize:r("titleFontSize"),fontStyle:r("titleFontStyle"),fontWeight:r("titleFontWeight"),limit:r("titleLimit"),lineHeight:r("titleLineHeight")},{align:r("titleAlign"),baseline:r("titleBaseline")}),_x({type:"text",role:"legend-title",style:"guide-title",from:n,encode:i},A)}(e,i,o.title,f)),QN(Dx({role:"legend",from:f,encode:tk(vN(a,e,i),s,Sx),marks:r,aria:a("aria"),description:a("description"),zindex:a("zindex"),name:g,interactive:c,style:u}),t)}function vN(e,t,A){var n={enter:{},update:{}};return ek(n,{orient:e("orient"),offset:e("offset"),padding:e("padding"),titlePadding:e("titlePadding"),cornerRadius:e("cornerRadius"),fill:e("fillColor"),stroke:e("strokeColor"),strokeWidth:A.strokeWidth,strokeDash:A.strokeDash,x:e("legendX"),y:e("legendY"),format:t.format,formatType:t.formatType}),n}function mN(e,t,A){return t[e]?'scale("'.concat(t[e],'",datum)'):kx(e,A[0].encode)}fN.fromEntries=function(e,t){var A=t.length,n=t[A-1],r=t[A-2],i=t[0],o=null,a=1;for(i&&"load"===i.type&&(i=t[1]),e.add(t[0]);a<A;++a)t[a].params.pulse=Bk(t[a-1]),e.add(t[a]),"aggregate"===t[a].type&&(o=t[a]);return new fN(e,i,r,n,o)},fN.prototype={countsRef:function(e,t,A){var n,r,i,o=this.counts||(this.counts={}),a=dN(t);return null!=a&&(e=this.scope,n=o[a]),n?A&&A.field&&BN(e,n.agg.params,A):(i={groupby:e.fieldRef(t,"key"),pulse:Bk(this.output)},A&&A.field&&BN(e,i,A),r=e.add(_k(i)),n=e.add(Lk({pulse:Bk(r)})),n={agg:r,ref:Bk(n)},null!=a&&(o[a]=n)),n.ref},tuplesRef:function(){return Bk(this.values)},extentRef:function(e,t){return pN(e,this,"extent","extent",t,!1)},domainRef:function(e,t){return pN(e,this,"domain","values",t,!1)},valuesRef:function(e,t,A){return pN(e,this,"vals","values",t,A||!0)},lookupRef:function(e,t){return pN(e,this,"lookup","tupleindex",t,!1)},indataRef:function(e,t){return pN(e,this,"indata","tupleindex",t,!0,!0)}};var bN='item.orient==="'.concat("left",'"?-90:item.orient==="').concat("right",'"?90:0');function wN(e,t){var A=Gx(e=Object(ue.J)(e)?{text:e}:e,t.config.title),n=e.encode||{},r=n.group||{},i=r.name||void 0,o=r.interactive,a=r.style,s=[],g=Bk(t.add(Lk(null,[{}])));return s.push(function(e,t,A,n){var r={value:0},i=e.text,o={enter:{opacity:r},update:{opacity:{value:1}},exit:{opacity:r}};return ek(o,{text:i,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:t("dx"),dy:t("dy"),fill:t("color"),font:t("font"),fontSize:t("fontSize"),fontStyle:t("fontStyle"),fontWeight:t("fontWeight"),lineHeight:t("lineHeight")},{align:t("align"),angle:t("angle"),baseline:t("baseline")}),_x({type:"text",role:"title-text",style:"group-title",from:n,encode:o},A)}(e,A,function(e){var t=e.encode;return t&&t.title||Object(ue.p)({name:e.name,interactive:e.interactive,style:e.style},t)}(e),g)),e.subtitle&&s.push(function(e,t,A,n){var r={value:0},i=e.subtitle,o={enter:{opacity:r},update:{opacity:{value:1}},exit:{opacity:r}};return ek(o,{text:i,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:t("dx"),dy:t("dy"),fill:t("subtitleColor"),font:t("subtitleFont"),fontSize:t("subtitleFontSize"),fontStyle:t("subtitleFontStyle"),fontWeight:t("subtitleFontWeight"),lineHeight:t("subtitleLineHeight")},{align:t("align"),angle:t("angle"),baseline:t("baseline")}),_x({type:"text",role:"title-subtitle",style:"group-subtitle",from:n,encode:o},A)}(e,A,n.subtitle,g)),QN(Dx({role:"title",from:g,encode:SN(A,r),marks:s,aria:A("aria"),description:A("description"),zindex:A("zindex"),name:i,interactive:o,style:a}),t)}function SN(e,t){var A={enter:{},update:{}};return ek(A,{orient:e("orient"),anchor:e("anchor"),align:{signal:Nx},angle:{signal:bN},limit:e("limit"),frame:e("frame"),offset:e("offset")||0,padding:e("subtitlePadding")}),tk(A,t,Sx)}function FN(e,t){var A=[];e.transform&&e.transform.forEach((function(e){A.push(rN(e,t))})),e.on&&e.on.forEach((function(A){EN(A,t,e.name)})),t.addDataPipeline(e.name,function(e,t,A){var n,r,i,o,a,s=[],g=null,c=!1,u=!1;e.values?vk(e.values)||mk(e.format)?(s.push(DN(t,e)),s.push(g=RN())):s.push(g=RN({$ingest:e.values,$format:e.format})):e.url?mk(e.url)||mk(e.format)?(s.push(DN(t,e)),s.push(g=RN())):s.push(g=RN({$request:e.url,$format:e.format})):e.source&&(g=n=Object(ue.i)(e.source).map((function(e){return Bk(t.getData(e).output)})),s.push(null));for(r=0,i=A.length;r<i;++r)o=A[r],a=o.metadata,g||a.source||s.push(g=RN()),s.push(o),a.generates&&(u=!0),a.modifies&&!u&&(c=!0),a.source?g=o:a.changes&&(g=null);n&&(i=n.length-1,s[0]=nx({derive:c,pulse:i?n:n[0]}),(c||i)&&s.splice(1,0,RN()));g||s.push(RN());return s.push(ox({})),s}(e,t,A))}function RN(e){var t=Lk({},e);return t.metadata={source:!0},t}function DN(e,t){return Kk({url:t.url?e.property(t.url):void 0,async:t.async?e.property(t.async):void 0,values:t.values?e.property(t.values):void 0,format:e.objectProperty(t.format)})}var GN=function(e){return"bottom"===e||"top"===e},kN=function(e,t,A){return vk(e)?ON(e.signal,t,A):"left"===e||"top"===e?t:A},xN=function(e,t,A){return vk(e)?_N(e.signal,t,A):GN(e)?t:A},NN=function(e,t,A){return vk(e)?MN(e.signal,t,A):GN(e)?A:t},UN=function(e,t,A){return vk(e)?LN(e.signal,t,A):"top"===e?{value:t}:{value:A}},_N=function(e,t,A){return ZN("".concat(e," === '").concat("top","' || ").concat(e," === '").concat("bottom","'"),t,A)},MN=function(e,t,A){return ZN("".concat(e," !== '").concat("top","' && ").concat(e," !== '").concat("bottom","'"),t,A)},ON=function(e,t,A){return YN("".concat(e," === '").concat("left","' || ").concat(e," === '").concat("top","'"),t,A)},LN=function(e,t,A){return YN("".concat(e," === '").concat("top","'"),t,A)},TN=function(e,t,A){return YN("".concat(e," === '").concat("right","'"),t,A)},ZN=function(e,t,A){return t=null!=t?zG(t):t,A=null!=A?zG(A):A,HN(t)&&HN(A)?(t=t?t.signal||Object(ue.bb)(t.value):null,A=A?A.signal||Object(ue.bb)(A.value):null,{signal:"".concat(e," ? (").concat(t,") : (").concat(A,")")}):[Object(ue.p)({test:e},t)].concat(A||[])},HN=function(e){return null==e||1===Object.keys(e).length},YN=function(e,t,A){return{signal:"".concat(e," ? (").concat(JN(t),") : (").concat(JN(A),")")}},JN=function(e){return vk(e)?e.signal:null==e?null:Object(ue.bb)(e)},jN=function(e,t){var A=e.signal;return A&&A.endsWith("(null)")?{signal:A.slice(0,-6)+t.signal}:e};function PN(e,t,A,n){var r;if(t&&Object(ue.w)(t,e))return t[e];if(Object(ue.w)(A,e))return A[e];if(e.startsWith("title")){switch(e){case"titleColor":r="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":r=e[5].toLowerCase()+e.slice(6)}return n["guide-title"][r]}if(e.startsWith("label")){switch(e){case"labelColor":r="fill";break;case"labelFont":case"labelFontSize":r=e[5].toLowerCase()+e.slice(6)}return n["guide-label"][r]}return null}function VN(e){var t,A={},n=Object(ut.a)(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(r)for(var i in r)A[i]=1}}catch(o){n.e(o)}finally{n.f()}return Object.keys(A)}function KN(e,t){return{scale:e.scale,range:t}}function WN(e,t,A,n,r){var i,o,a,s=Gx(e,t),g=e.orient,c=e.gridScale,u=kN(g,1,-1),l=function(e,t){if(1===t);else if(Object(ue.H)(e)){for(var A=e=Object(ue.p)({},e);null!=A.mult;){if(!Object(ue.H)(A.mult))return A.mult=vk(t)?{signal:"(".concat(A.mult,") * (").concat(t.signal,")")}:A.mult*t,e;A=A.mult=Object(ue.p)({},A.mult)}A.mult=t}else e=vk(t)?{signal:"(".concat(t.signal,") * (").concat(e||0,")")}:t*(e||0);return e}(e.offset,u),I={enter:i={opacity:Fx},update:a={opacity:Rx},exit:o={opacity:Fx}};ek(I,{stroke:s("gridColor"),strokeCap:s("gridCap"),strokeDash:s("gridDash"),strokeDashOffset:s("gridDashOffset"),strokeOpacity:s("gridOpacity"),strokeWidth:s("gridWidth")});var C={scale:e.scale,field:bx,band:r.band,extra:r.extra,offset:r.offset,round:s("tickRound")},h=xN(g,{signal:"height"},{signal:"width"}),f=c?{scale:c,range:0,mult:u,offset:l}:{value:0,offset:l},d=c?{scale:c,range:1,mult:u,offset:l}:Object(ue.p)(h,{mult:u,offset:l});return i.x=a.x=xN(g,C,f),i.y=a.y=NN(g,C,f),i.x2=a.x2=NN(g,d),i.y2=a.y2=xN(g,d),o.x=xN(g,C),o.y=NN(g,C),_x({type:"rule",role:"axis-grid",key:bx,from:n,encode:I},A)}function XN(e,t,A,n,r){return{signal:'flush(range("'+e+'"), scale("'+e+'", datum.value), '+t+","+A+","+n+","+r+")"}}function qN(e,t,A,n,r,i){var o,a=Gx(e,t),s=e.orient,g=e.scale,c=kN(s,-1,1),u=wk(a("labelFlush")),l=wk(a("labelFlushOffset")),I=a("labelAlign"),C=a("labelBaseline"),h=0===u||!!u,f=zG(r);f.mult=c,f.offset=zG(a("labelPadding")||0),f.offset.mult=c;var d={scale:g,field:bx,band:.5,offset:Ux(i.offset,a("labelOffset"))},B=xN(s,h?XN(g,u,'"left"','"right"','"center"'):{value:"center"},function(e,t,A){return vk(e)?TN(e.signal,t,A):"right"===e?{value:t}:{value:A}}(s,"left","right")),p=xN(s,UN(s,"bottom","top"),h?XN(g,u,'"top"','"bottom"','"middle"'):{value:"middle"}),E=XN(g,u,"-(".concat(l,")"),l,0);h=h&&l;var Q={opacity:Fx,x:xN(s,d,f),y:NN(s,d,f)},y={enter:Q,update:o={opacity:Rx,text:{field:"label"},x:Q.x,y:Q.y,align:B,baseline:p},exit:{opacity:Fx,x:Q.x,y:Q.y}};ek(y,{dx:!I&&h?xN(s,E):null,dy:!C&&h?NN(s,E):null}),ek(y,{angle:a("labelAngle"),fill:a("labelColor"),fillOpacity:a("labelOpacity"),font:a("labelFont"),fontSize:a("labelFontSize"),fontWeight:a("labelFontWeight"),fontStyle:a("labelFontStyle"),limit:a("labelLimit"),lineHeight:a("labelLineHeight")},{align:I,baseline:C});var v=a("labelBound"),m=a("labelOverlap");return m=m||v?{separation:a("labelSeparation"),method:m,order:"datum.index",bound:v?{scale:g,orient:s,tolerance:v}:null}:void 0,o.align!==B&&(o.align=jN(o.align,B)),o.baseline!==p&&(o.baseline=jN(o.baseline,p)),_x({type:"text",role:"axis-label",style:"guide-label",key:bx,from:n,encode:y,overlap:m},A)}function zN(e,t,A,n){var r,i,o=Gx(e,t),a=e.orient,s=kN(a,-1,1),g={enter:r={opacity:Fx,anchor:zG(o("titleAnchor",null)),align:{signal:Nx}},update:i=Object(ue.p)({},r,{opacity:Rx,text:zG(e.title)}),exit:{opacity:Fx}},c={signal:'lerp(range("'.concat(e.scale,'"), ').concat(xx(0,1,.5),")")};return i.x=xN(a,c),i.y=NN(a,c),r.angle=xN(a,Fx,function(e,t){return 0===t?0:vk(e)?{signal:"(".concat(e.signal,") * ").concat(t)}:{value:e*t}}(s,90)),r.baseline=xN(a,UN(a,"bottom","top"),{value:"bottom"}),i.angle=r.angle,i.baseline=r.baseline,ek(g,{fill:o("titleColor"),fillOpacity:o("titleOpacity"),font:o("titleFont"),fontSize:o("titleFontSize"),fontStyle:o("titleFontStyle"),fontWeight:o("titleFontWeight"),limit:o("titleLimit"),lineHeight:o("titleLineHeight")},{align:o("titleAlign"),angle:o("titleAngle"),baseline:o("titleBaseline")}),function(e,t,A,n){var r=function(e,t){return null!=e?(A.update[t]=jN(zG(e),A.update[t]),!1):!Ak(t,n)},i=r(e("titleX"),"x"),o=r(e("titleY"),"y");A.enter.auto=o===i?zG(o):xN(t,zG(o),zG(i))}(o,a,g,A),g.update.align=jN(g.update.align,r.align),g.update.angle=jN(g.update.angle,r.angle),g.update.baseline=jN(g.update.baseline,r.baseline),_x({type:"text",role:"axis-title",style:"guide-title",from:n,encode:g},A)}function $N(e,t){var A,n=function(e,t){var A,n,r,i,o,a,s,g,c=t.config,u=c.style,l=c.axis,I="band"===t.scaleType(e.scale)&&c.axisBand,C=e.orient;if(vk(C)){var h=VN([c.axisX,c.axisY]),f=VN([c.axisTop,c.axisBottom,c.axisLeft,c.axisRight]);A={};var d,B=Object(ut.a)(h);try{for(B.s();!(d=B.n()).done;)A[r=d.value]=xN(C,PN(r,c.axisX,l,u),PN(r,c.axisY,l,u))}catch(Q){B.e(Q)}finally{B.f()}n={};var p,E=Object(ut.a)(f);try{for(E.s();!(p=E.n()).done;)n[r=p.value]=(i=C.signal,o=PN(r,c.axisTop,l,u),a=PN(r,c.axisBottom,l,u),s=PN(r,c.axisLeft,l,u),g=PN(r,c.axisRight,l,u),{signal:(null!=s?"".concat(i," === '").concat("left","' ? (").concat(JN(s),") : "):"")+(null!=a?"".concat(i," === '").concat("bottom","' ? (").concat(JN(a),") : "):"")+(null!=g?"".concat(i," === '").concat("right","' ? (").concat(JN(g),") : "):"")+(null!=o?"".concat(i," === '").concat("top","' ? (").concat(JN(o),") : "):"")+"(null)"})}catch(Q){E.e(Q)}finally{E.f()}}else A="top"===C||"bottom"===C?c.axisX:c.axisY,n=c["axis"+C[0].toUpperCase()+C.slice(1)];return A||n||I?Object(ue.p)({},l,A,n,I):l}(e,t),r=e.encode||{},i=r.axis||{},o=i.name||void 0,a=i.interactive,s=i.style,g=Gx(e,n),c=function(e){var t,A,n=e("tickBand"),r=e("tickOffset");return n?n.signal?(t={signal:"(".concat(n.signal,") === 'extent' ? 1 : 0.5")},A={signal:"(".concat(n.signal,") === 'extent'")},Object(ue.H)(r)||(r={signal:"(".concat(n.signal,") === 'extent' ? 0 : ").concat(r)})):"extent"===n?(t=1,A=!0,r=0):(t=.5,A=!1):(t=e("bandPosition"),A=e("tickExtra")),{extra:A,band:t,offset:r}}(g),u={scale:e.scale,ticks:!!g("ticks"),labels:!!g("labels"),grid:!!g("grid"),domain:!!g("domain"),title:null!=e.title},l=Bk(t.add(Lk({},[u]))),I=Bk(t.add(Mk({scale:t.scaleRef(e.scale),extra:t.property(c.extra),count:t.objectProperty(e.tickCount),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)}))),C=[];return u.grid&&C.push(WN(e,n,r.grid,I,c)),u.ticks&&(A=g("tickSize"),C.push(function(e,t,A,n,r,i){var o,a,s,g=Gx(e,t),c=e.orient,u=kN(c,-1,1),l={enter:o={opacity:Fx},update:s={opacity:Rx},exit:a={opacity:Fx}};ek(l,{stroke:g("tickColor"),strokeCap:g("tickCap"),strokeDash:g("tickDash"),strokeDashOffset:g("tickDashOffset"),strokeOpacity:g("tickOpacity"),strokeWidth:g("tickWidth")});var I=zG(r);I.mult=u;var C={scale:e.scale,field:bx,band:i.band,extra:i.extra,offset:i.offset,round:g("tickRound")};return s.y=o.y=xN(c,Fx,C),s.y2=o.y2=xN(c,I),a.x=xN(c,C),s.x=o.x=NN(c,Fx,C),s.x2=o.x2=NN(c,I),a.y=NN(c,C),_x({type:"rule",role:"axis-tick",key:bx,from:n,encode:l},A)}(e,n,r.ticks,I,A,c))),u.labels&&(A=u.ticks?A:0,C.push(qN(e,n,r.labels,I,A,c))),u.domain&&C.push(function(e,t,A,n){var r,i,o=Gx(e,t),a=e.orient,s={enter:r={opacity:Fx},update:i={opacity:Rx},exit:{opacity:Fx}};ek(s,{stroke:o("domainColor"),strokeCap:o("domainCap"),strokeDash:o("domainDash"),strokeDashOffset:o("domainDashOffset"),strokeWidth:o("domainWidth"),strokeOpacity:o("domainOpacity")});var g=KN(e,0),c=KN(e,1);return r.x=i.x=xN(a,g,Fx),r.x2=i.x2=xN(a,c),r.y=i.y=NN(a,g,Fx),r.y2=i.y2=NN(a,c),_x({type:"rule",role:"axis-domain",from:n,encode:s},A)}(e,n,r.domain,l)),u.title&&C.push(zN(e,n,r.title,l)),QN(Dx({role:"axis",from:l,encode:tk(eU(g,e),i,Sx),marks:C,aria:g("aria"),description:g("description"),zindex:g("zindex"),name:o,interactive:a,style:s}),t)}function eU(e,t){var A={enter:{},update:{}};return ek(A,{orient:e("orient"),offset:e("offset")||0,position:bk(t.position,0),titlePadding:e("titlePadding"),minExtent:e("minExtent"),maxExtent:e("maxExtent"),range:{signal:'abs(span(range("'.concat(t.scale,'")))')},translate:e("translate"),format:t.format,formatType:t.formatType}),A}function tU(e,t,A){var n=Object(ue.i)(e.signals),r=Object(ue.i)(e.scales);return A||n.forEach((function(e){return Ck(e,t)})),Object(ue.i)(e.projections).forEach((function(e){return function(e,t){var A=t.config.projection||{},n={};for(var r in e)"name"!==r&&(n[r]=mx(e[r],r,t));for(var i in A)null==n[i]&&(n[i]=mx(A[i],i,t));t.addProjection(e.name,n)}(e,t)})),r.forEach((function(e){return function(e,t){var A=e.type||"linear";eu(A)||Object(ue.o)("Unrecognized scale type: "+Object(ue.bb)(A)),t.addScale(e.name,{type:A,domain:void 0})}(e,t)})),Object(ue.i)(e.data).forEach((function(e){return FN(e,t)})),r.forEach((function(e){return lx(e,t)})),(A||n).forEach((function(e){return function(e,t){var A=t.getSignal(e.name),n=e.update;e.init&&(n?Object(ue.o)("Signals can not include both init and update expressions."):(n=e.init,A.initonly=!0)),n&&(n=pD(n,t),A.update=n.$expr,A.params=n.$params),e.on&&e.on.forEach((function(e){return xk(e,t,A.id)}))}(e,t)})),Object(ue.i)(e.axes).forEach((function(e){return $N(e,t)})),Object(ue.i)(e.marks).forEach((function(e){return QN(e,t)})),Object(ue.i)(e.legends).forEach((function(e){return yN(e,t)})),e.title&&wN(e.title,t),t.parseLambdas(),t}function AU(e,t){var A=t.config,n=Bk(t.root=t.add(dk())),r=function(e,t){var A=function(A){return bk(e[A],t[A])},n=[nU("background",A("background")),nU("autosize",WG(A("autosize"))),nU("padding",qG(A("padding"))),nU("width",A("width")||0),nU("height",A("height")||0)],r=n.reduce((function(e,t){return e[t.name]=t,e}),{}),i={};return Object(ue.i)(e.signals).forEach((function(e){Object(ue.w)(r,e.name)?e=Object(ue.p)(r[e.name],e):n.push(e),i[e.name]=e})),Object(ue.i)(t.signals).forEach((function(e){Object(ue.w)(i,e.name)||Object(ue.w)(r,e.name)||n.push(e)})),n}(e,A);r.forEach((function(e){return Ck(e,t)})),t.description=e.description||A.description,t.eventConfig=A.events,t.legends=t.objectProperty(A.legend&&A.legend.layout),t.locale=A.locale;var i=t.add(Lk()),o=t.add(Hk(gk(function(e){return tk({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},e)}(e.encode),"group","frame",e.style,t,{pulse:Bk(i)}))),a=t.add(sx({layout:t.objectProperty(e.layout),legends:t.legends,autosize:t.signalRef("autosize"),mark:n,pulse:Bk(o)}));t.operators.pop(),t.pushState(Bk(o),Bk(a),null),tU(e,t,r),t.operators.push(a);var s=t.add(Ok({mark:n,pulse:Bk(a)}));return s=t.add(rx({pulse:Bk(s)})),s=t.add(ox({pulse:Bk(s)})),t.addData("root",new fN(t,i,i,s)),t}function nU(e,t){return t&&t.signal?{name:e,update:t.signal}:{name:e,value:t}}function rU(e,t){this.config=e||{},this.options=t||{},this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.eventConfig=null,this.locale=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function iU(e){this.config=e.config,this.options=e.options,this.legends=e.legends,this.field=Object.create(e.field),this.signals=Object.create(e.signals),this.lambdas=Object.create(e.lambdas),this.scales=Object.create(e.scales),this.events=Object.create(e.events),this.data=Object.create(e.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++e._nextsub[0],this._nextsub=e._nextsub,this._parent=e._parent.slice(),this._encode=e._encode.slice(),this._lookup=e._lookup.slice(),this._markpath=e._markpath}function oU(e){return(Object(ue.B)(e)?aU:sU)(e)}function aU(e){for(var t=e.length,A="[",n=0;n<t;++n){var r=e[n];A+=(n>0?",":"")+(Object(ue.H)(r)?r.signal||oU(r):Object(ue.bb)(r))}return A+"]"}function sU(e){var t,A,n="{",r=0;for(t in e)A=e[t],n+=(++r>1?",":"")+Object(ue.bb)(t)+":"+(Object(ue.H)(A)?A.signal||oU(A):Object(ue.bb)(A));return n+"}"}function gU(e,t,A){return Object(ue.H)(e)||Object(ue.o)("Input Vega specification must be an object."),AU(e,new rU(t=Object(ue.P)({description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:"#4c78a8"},area:{fill:"#4c78a8"},image:null,line:{stroke:"#4c78a8",strokeWidth:2},path:{stroke:"#4c78a8"},rect:{fill:"#4c78a8"},rule:{stroke:"#000"},shape:{stroke:"#4c78a8"},symbol:{fill:"#4c78a8",size:64},text:{fill:"#000",font:"sans-serif",fontSize:11},trail:{fill:"#4c78a8",size:2},style:{"guide-label":{fill:"#000",font:"sans-serif",fontSize:10},"guide-title":{fill:"#000",font:"sans-serif",fontSize:11,fontWeight:"bold"},"group-title":{fill:"#000",font:"sans-serif",fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:"#000",font:"sans-serif",fontSize:12},point:{size:30,strokeWidth:2,shape:"circle"},circle:{size:30,strokeWidth:2},square:{size:30,strokeWidth:2,shape:"square"},cell:{fill:"transparent",stroke:"#ddd"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:"#888",grid:!1,gridWidth:1,gridColor:"#ddd",labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:"#888",tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-.5},projection:{type:"mercator"},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:"#ddd",gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,symbolLimit:30,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:"#888",titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}},t,e.config),A)).toRuntime()}rU.prototype=iU.prototype={parse:function(e){return tU(e,this)},fork:function(){return new iU(this)},isSubscope:function(){return this._subid>0},toRuntime:function(){return this.finish(),{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id:function(){return(this._subid?this._subid+":":0)+this._id++},add:function(e){return this.operators.push(e),e.id=this.id(),e.refs&&(e.refs.forEach((function(t){t.$ref=e.id})),e.refs=null),e},proxy:function(e){var t=e instanceof hk?Bk(e):e;return this.add(Ax({value:t}))},addStream:function(e){return this.streams.push(e),e.id=this.id(),e},addUpdate:function(e){return this.updates.push(e),e},finish:function(){var e,t;for(e in this.root&&(this.root.root=!0),this.signals)this.signals[e].signal=e;for(e in this.scales)this.scales[e].scale=e;function A(e,t,A){var n;e&&((n=e.data||(e.data={}))[t]||(n[t]=[])).push(A)}for(e in this.data)for(var n in A((t=this.data[e]).input,e,"input"),A(t.output,e,"output"),A(t.values,e,"values"),t.index)A(t.index[n],e,"index:"+n);return this},pushState:function(e,t,A){this._encode.push(Bk(this.add(ox({pulse:e})))),this._parent.push(t),this._lookup.push(A?Bk(this.proxy(A)):null),this._markpath.push(-1)},popState:function(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent:function(){return Object(ue.W)(this._parent)},encode:function(){return Object(ue.W)(this._encode)},lookup:function(){return Object(ue.W)(this._lookup)},markpath:function(){var e=this._markpath;return++e[e.length-1]},fieldRef:function(e,t){if(Object(ue.J)(e))return pk(e,t);e.signal||Object(ue.o)("Unsupported field reference: "+Object(ue.bb)(e));var A=e.signal,n=this.field[A];if(!n){var r={name:this.signalRef(A)};t&&(r.as=t),this.field[A]=n=Bk(this.add(jk(r)))}return n},compareRef:function(e){var t=this,A=!1,n=function(e){return vk(e)?(A=!0,t.signalRef(e.signal)):function(e){return e&&e.expr}(e)?(A=!0,t.exprRef(e.expr)):e},r=Object(ue.i)(e.field).map(n),i=Object(ue.i)(e.order).map(n);return A?Bk(this.add(Tk({fields:r,orders:i}))):Qk(r,i)},keyRef:function(e,t){var A=!1,n=this.signals;return e=Object(ue.i)(e).map((function(e){return vk(e)?(A=!0,Bk(n[e.signal])):e})),A?Bk(this.add(Pk({fields:e,flat:t}))):function(e,t){var A={$key:e};return t&&(A.$flat=!0),A}(e,t)},sortRef:function(e){if(!e)return e;var t=yk(e.op,e.field),A=e.order||"ascending";return A.signal?Bk(this.add(Tk({fields:t,orders:this.signalRef(A.signal)}))):Qk(t,A)},event:function(e,t){var A=e+":"+t;if(!this.events[A]){var n=this.id();this.streams.push({id:n,source:e,type:t}),this.events[A]=n}return this.events[A]},hasOwnSignal:function(e){return Object(ue.w)(this.signals,e)},addSignal:function(e,t){this.hasOwnSignal(e)&&Object(ue.o)("Duplicate signal name: "+Object(ue.bb)(e));var A=t instanceof hk?t:this.add(dk(t));return this.signals[e]=A},getSignal:function(e){return this.signals[e]||Object(ue.o)("Unrecognized signal name: "+Object(ue.bb)(e)),this.signals[e]},signalRef:function(e){return this.signals[e]?Bk(this.signals[e]):(Object(ue.w)(this.lambdas,e)||(this.lambdas[e]=this.add(dk(null))),Bk(this.lambdas[e]))},parseLambdas:function(){for(var e=Object.keys(this.lambdas),t=0,A=e.length;t<A;++t){var n=e[t],r=pD(n,this),i=this.lambdas[n];i.params=r.$params,i.update=r.$expr}},property:function(e){return e&&e.signal?this.signalRef(e.signal):e},objectProperty:function(e){return e&&Object(ue.H)(e)?this.signalRef(e.signal||oU(e)):e},exprRef:function(e,t){var A={expr:pD(e,this)};return t&&(A.expr.$name=t),Bk(this.add(Yk(A)))},addBinding:function(e,t){this.bindings||Object(ue.o)("Nested signals do not support binding: "+Object(ue.bb)(e)),this.bindings.push(Object(ue.p)({signal:e},t))},addScaleProj:function(e,t){Object(ue.w)(this.scales,e)&&Object(ue.o)("Duplicate scale or projection name: "+Object(ue.bb)(e)),this.scales[e]=this.add(t)},addScale:function(e,t){this.addScaleProj(e,ix(t))},addProjection:function(e,t){this.addScaleProj(e,tx(t))},getScale:function(e){return this.scales[e]||Object(ue.o)("Unrecognized scale name: "+Object(ue.bb)(e)),this.scales[e]},scaleRef:function(e){return Bk(this.getScale(e))},scaleType:function(e){return this.getScale(e).params.type},projectionRef:function(e){return this.scaleRef(e)},projectionType:function(e){return this.scaleType(e)},addData:function(e,t){return Object(ue.w)(this.data,e)&&Object(ue.o)("Duplicate data set name: "+Object(ue.bb)(e)),this.data[e]=t},getData:function(e){return this.data[e]||Object(ue.o)("Undefined data set name: "+Object(ue.bb)(e)),this.data[e]},addDataPipeline:function(e,t){return Object(ue.w)(this.data,e)&&Object(ue.o)("Duplicate data set name: "+Object(ue.bb)(e)),this.addData(e,fN.fromEntries(this,t))}};var cU="5.21.0";Object(ue.p)(st,i,a,s,g,c,l,u,I,C,h,f);var uU=cU;var lU={NaN:NaN,E:Math.E,LN2:Math.LN2,LN10:Math.LN10,LOG2E:Math.LOG2E,LOG10E:Math.LOG10E,PI:Math.PI,SQRT1_2:Math.SQRT1_2,SQRT2:Math.SQRT2,MIN_VALUE:Number.MIN_VALUE,MAX_VALUE:Number.MAX_VALUE},IU={"*":function(e,t){return e*t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},">":function(e,t){return e>t},"<":function(e,t){return e<t},"<=":function(e,t){return e<=t},">=":function(e,t){return e>=t},"==":function(e,t){return e==t},"!=":function(e,t){return e!=t},"===":function(e,t){return e===t},"!==":function(e,t){return e!==t},"&":function(e,t){return e&t},"|":function(e,t){return e|t},"^":function(e,t){return e^t},"<<":function(e,t){return e<<t},">>":function(e,t){return e>>t},">>>":function(e,t){return e>>>t}},CU={"+":function(e){return+e},"-":function(e){return-e},"~":function(e){return~e},"!":function(e){return!e}},hU=Array.prototype.slice,fU=function(e,t,A){var n=A?A(t[0]):t[0];return n[e].apply(n,hU.call(t,1))},dU={isNaN:Number.isNaN,isFinite:Number.isFinite,abs:Math.abs,acos:Math.acos,asin:Math.asin,atan:Math.atan,atan2:Math.atan2,ceil:Math.ceil,cos:Math.cos,exp:Math.exp,floor:Math.floor,log:Math.log,max:Math.max,min:Math.min,pow:Math.pow,random:Math.random,round:Math.round,sin:Math.sin,sqrt:Math.sqrt,tan:Math.tan,clamp:function(e,t,A){return Math.max(t,Math.min(A,e))},now:Date.now,utc:Date.UTC,datetime:function(e,t,A,n,r,i,o){return new Date(e,t||0,null!=A?A:1,n||0,r||0,i||0,o||0)},date:function(e){return new Date(e).getDate()},day:function(e){return new Date(e).getDay()},year:function(e){return new Date(e).getFullYear()},month:function(e){return new Date(e).getMonth()},hours:function(e){return new Date(e).getHours()},minutes:function(e){return new Date(e).getMinutes()},seconds:function(e){return new Date(e).getSeconds()},milliseconds:function(e){return new Date(e).getMilliseconds()},time:function(e){return new Date(e).getTime()},timezoneoffset:function(e){return new Date(e).getTimezoneOffset()},utcdate:function(e){return new Date(e).getUTCDate()},utcday:function(e){return new Date(e).getUTCDay()},utcyear:function(e){return new Date(e).getUTCFullYear()},utcmonth:function(e){return new Date(e).getUTCMonth()},utchours:function(e){return new Date(e).getUTCHours()},utcminutes:function(e){return new Date(e).getUTCMinutes()},utcseconds:function(e){return new Date(e).getUTCSeconds()},utcmilliseconds:function(e){return new Date(e).getUTCMilliseconds()},length:function(e){return e.length},join:function(){return fU("join",arguments)},indexof:function(){return fU("indexOf",arguments)},lastindexof:function(){return fU("lastIndexOf",arguments)},slice:function(){return fU("slice",arguments)},reverse:function(e){return e.slice().reverse()},parseFloat:parseFloat,parseInt:parseInt,upper:function(e){return String(e).toUpperCase()},lower:function(e){return String(e).toLowerCase()},substring:function(){return fU("substring",arguments,String)},split:function(){return fU("split",arguments,String)},replace:function(){return fU("replace",arguments,String)},trim:function(e){return String(e).trim()},regexp:RegExp,test:function(e,t){return RegExp(e).test(t)}},BU=["view","item","group","xy","x","y"],pU={Literal:function(e,t){return t.value},Identifier:function(e,t){var A=t.name;return e.memberDepth>0?A:"datum"===A?e.datum:"event"===A?e.event:"item"===A?e.item:lU[A]||e.params["$"+A]},MemberExpression:function(e,t){var A=!t.computed,n=e(t.object);A&&(e.memberDepth+=1);var r=e(t.property);return A&&(e.memberDepth-=1),n[r]},CallExpression:function(e,t){var A=t.arguments,n=t.callee.name;return n.startsWith("_")&&(n=n.slice(1)),"if"===n?e(A[0])?e(A[1]):e(A[2]):(e.fn[n]||dU[n]).apply(e.fn,A.map(e))},ArrayExpression:function(e,t){return t.elements.map(e)},BinaryExpression:function(e,t){return IU[t.operator](e(t.left),e(t.right))},UnaryExpression:function(e,t){return CU[t.operator](e(t.argument))},ConditionalExpression:function(e,t){return e(t.test)?e(t.consequent):e(t.alternate)},LogicalExpression:function(e,t){return"&&"===t.operator?e(t.left)&&e(t.right):e(t.left)||e(t.right)},ObjectExpression:function(e,t){return t.properties.reduce((function(t,A){e.memberDepth+=1;var n=e(A.key);return e.memberDepth-=1,t[n]=e(A.value),t}),{})}};function EU(e,t,A,n,r,i){var o=function e(t){return pU[t.type](e,t)};return o.memberDepth=0,o.fn=Object.create(t),o.params=A,o.datum=n,o.event=r,o.item=i,BU.forEach((function(e){return o.fn[e]=function(){var t;return(t=r.vega)[e].apply(t,arguments)}})),o(e)}var QU={operator:function(e,t){var A=t.ast,n=e.functions;return function(e){return EU(A,n,e)}},parameter:function(e,t){var A=t.ast,n=e.functions;return function(e,t){return EU(A,n,t,e)}},event:function(e,t){var A=t.ast,n=e.functions;return function(e){return EU(A,n,void 0,void 0,e)}},handler:function(e,t){var A=t.ast,n=e.functions;return function(e,t){var r=t.item&&t.item.datum;return EU(A,n,e,r,t)}},encode:function(e,t){var A=t.marktype,n=t.channels,r=e.functions,i="group"===A||"image"===A||"rect"===A;return function(e,t){var o,a=e.datum,s=0;for(var g in n)o=EU(n[g].ast,r,t,a,void 0,e),e[g]!==o&&(e[g]=o,s=1);return"rule"!==A&&function(e,t,A){var n;t.x2&&(t.x?(A&&e.x>e.x2&&(n=e.x,e.x=e.x2,e.x2=n),e.width=e.x2-e.x):e.x=e.x2-(e.width||0)),t.xc&&(e.x=e.xc-(e.width||0)/2),t.y2&&(t.y?(A&&e.y>e.y2&&(n=e.y,e.y=e.y2,e.y2=n),e.height=e.y2-e.y):e.y=e.y2-(e.height||0)),t.yc&&(e.y=e.yc-(e.height||0)/2)}(e,n,i),s}}},yU=A(712);function vU(e,t,A){return e.fields=t||[],e.fname=A,e}function mU(e){return 1===e.length?bU(e[0]):wU(e)}var bU=function(e){return function(t){return t[e]}},wU=function(e){var t=e.length;return function(A){for(var n=0;n<t;++n)A=A[e[n]];return A}};function SU(e){throw Error(e)}function FU(e){var t,A,n,r=[],i=e.length,o=null,a=0,s="";function g(){r.push(s+e.substring(t,A)),s="",t=A+1}for(e+="",t=A=0;A<i;++A)if("\\"===(n=e[A]))s+=e.substring(t,A),s+=e.substring(++A,++A),t=A;else if(n===o)g(),o=null,a=-1;else{if(o)continue;t===a&&'"'===n||t===a&&"'"===n?(t=A+1,o=n):"."!==n||a?"["===n?(A>t&&g(),a=t=A+1):"]"===n&&(a||SU("Access path missing open bracket: "+e),a>0&&g(),a=0,t=A+1):A>t?g():t=A+1}return a&&SU("Access path missing closing bracket: "+e),o&&SU("Access path missing closing quote: "+e),A>t&&(A++,g()),r}function RU(e,t,A){var n=FU(e);return e=1===n.length?n[0]:e,vU((A&&A.get||mU)(n),[e],t||e)}RU("id");var DU=vU((function(e){return e}),[],"identity");vU((function(){return 0}),[],"zero"),vU((function(){return 1}),[],"one"),vU((function(){return!0}),[],"true"),vU((function(){return!1}),[],"false");function GU(e,t,A){var n=[t].concat([].slice.call(A));console[e].apply(console,n)}var kU=Array.isArray;function xU(e){return e===Object(e)}var NU=function(e){return"__proto__"!==e};function UU(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];return t.reduce((function(e,t){for(var A in t)if("signals"===A)e.signals=MU(e.signals,t.signals);else{var n="legend"===A?{layout:1}:"style"===A||null;_U(e,A,t[A],n)}return e}),{})}function _U(e,t,A,n){var r,i;if(NU(t))if(xU(A)&&!kU(A))for(r in i=xU(e[t])?e[t]:e[t]={},A)n&&(!0===n||n[r])?_U(i,r,A[r]):NU(r)&&(i[r]=A[r]);else e[t]=A}function MU(e,t){if(null==e)return t;var A={},n=[];function r(e){A[e.name]||(A[e.name]=1,n.push(e))}return t.forEach(r),e.forEach(r),n}function OU(e){return null!=e?kU(e)?e:[e]:[]}function LU(e){return"function"===typeof e}var TU=Object.prototype.hasOwnProperty;function ZU(e,t){return TU.call(e,t)}function HU(e){return"boolean"===typeof e}function YU(e){return"number"===typeof e}function JU(e){return"string"===typeof e}function jU(e){return kU(e)?"["+e.map(jU)+"]":xU(e)||JU(e)?JSON.stringify(e).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):e}function PU(e){for(var t={},A=e.length,n=0;n<A;++n)t[e[n]]=!0;return t}A(1144);var VU=A(713),KU=A.n(VU),WU=A(146),XU=A.n(WU),qU=A(272),zU=A.n(qU);function $U(e){return!!e.or}function e_(e){return!!e.and}function t_(e){return!!e.not}function A_(e,t){return t_(e)?{not:A_(e.not,t)}:e_(e)?{and:e.and.map((function(e){return A_(e,t)}))}:$U(e)?{or:e.or.map((function(e){return A_(e,t)}))}:t(e)}var n_=XU.a,r_=KU.a;function i_(e,t){var A,n={},r=Object(ut.a)(t);try{for(r.s();!(A=r.n()).done;){var i=A.value;ZU(e,i)&&(n[i]=e[i])}}catch(o){r.e(o)}finally{r.f()}return n}function o_(e,t){var A,n=Object.assign({},e),r=Object(ut.a)(t);try{for(r.s();!(A=r.n()).done;){delete n[A.value]}}catch(i){r.e(i)}finally{r.f()}return n}Set.prototype.toJSON=function(){return"Set(".concat(Object(zn.a)(this).map((function(e){return zU()(e)})).join(","),")")};var a_=zU.a;function s_(e){if(YU(e))return e;var t=JU(e)?e:zU()(e);if(t.length<250)return t;for(var A=0,n=0;n<t.length;n++){A=(A<<5)-A+t.charCodeAt(n),A&=A}return A}function g_(e){return!1===e||null===e}function c_(e,t){return e.includes(t)}function u_(e,t){var A,n=0,r=Object(ut.a)(e.entries());try{for(r.s();!(A=r.n()).done;){var i=Object(lt.a)(A.value,2),o=i[0];if(t(i[1],o,n++))return!0}}catch(a){r.e(a)}finally{r.f()}return!1}function l_(e,t){var A,n=0,r=Object(ut.a)(e.entries());try{for(r.s();!(A=r.n()).done;){var i=Object(lt.a)(A.value,2),o=i[0];if(!t(i[1],o,n++))return!1}}catch(a){r.e(a)}finally{r.f()}return!0}function I_(e){for(var t=arguments.length,A=new Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];for(var r=0,i=A;r<i.length;r++){var o=i[r];C_(e,null!==o&&void 0!==o?o:{})}return e}function C_(e,t){var A,n=Object(ut.a)(y_(t));try{for(n.s();!(A=n.n()).done;){var r=A.value;_U(e,r,t[r],!0)}}catch(i){n.e(i)}finally{n.f()}}function h_(e,t){var A,n,r=[],i={},o=Object(ut.a)(e);try{for(o.s();!(n=o.n()).done;){var a=n.value;(A=t(a))in i||(i[A]=1,r.push(a))}}catch(s){o.e(s)}finally{o.f()}return r}function f_(e,t){var A=y_(e),n=y_(t);if(A.length!==n.length)return!1;var r,i=Object(ut.a)(A);try{for(i.s();!(r=i.n()).done;){var o=r.value;if(e[o]!==t[o])return!1}}catch(a){i.e(a)}finally{i.f()}return!0}function d_(e,t){if(e.size!==t.size)return!1;var A,n=Object(ut.a)(e);try{for(n.s();!(A=n.n()).done;){var r=A.value;if(!t.has(r))return!1}}catch(i){n.e(i)}finally{n.f()}return!0}function B_(e,t){var A,n=Object(ut.a)(e);try{for(n.s();!(A=n.n()).done;){var r=A.value;if(t.has(r))return!0}}catch(i){n.e(i)}finally{n.f()}return!1}function p_(e){var t,A=new Set,n=Object(ut.a)(e);try{var r=function(){var e,n=FU(t.value).map((function(e,t){return 0===t?e:"[".concat(e,"]")})),r=n.map((function(e,t){return n.slice(0,t+1).join("")})),i=Object(ut.a)(r);try{for(i.s();!(e=i.n()).done;){var o=e.value;A.add(o)}}catch(a){i.e(a)}finally{i.f()}};for(n.s();!(t=n.n()).done;)r()}catch(i){n.e(i)}finally{n.f()}return A}function E_(e,t){return void 0===e||void 0===t||B_(p_(e),p_(t))}function Q_(e){return 0===y_(e).length}var y_=Object.keys,v_=Object.values,m_=Object.entries;function b_(e){return!0===e||!1===e}function w_(e){var t=e.replace(/\W/g,"_");return(e.match(/^\d+/)?"_":"")+t}function S_(e,t){return t_(e)?"!(".concat(S_(e.not,t),")"):e_(e)?"(".concat(e.and.map((function(e){return S_(e,t)})).join(") && ("),")"):$U(e)?"(".concat(e.or.map((function(e){return S_(e,t)})).join(") || ("),")"):t(e)}function F_(e,t){if(0===t.length)return!0;var A=t.shift();return A in e&&F_(e[A],t)&&delete e[A],Q_(e)}function R_(e){return e.charAt(0).toUpperCase()+e.substr(1)}function D_(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"datum",A=FU(e),n=[],r=1;r<=A.length;r++){var i="[".concat(A.slice(0,r).map(jU).join("]["),"]");n.push("".concat(t).concat(i))}return n.join(" && ")}function G_(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"datum";return"".concat(t,"[").concat(jU(FU(e).join(".")),"]")}function k_(e){return e.replace(/(\[|\]|\.|'|")/g,"\\$1")}function x_(e){return"".concat(FU(e).map(k_).join("\\."))}function N_(e,t,A){return e.replace(new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),A)}function U_(e){return"".concat(FU(e).join("."))}function __(e){return e?FU(e).length:0}function M_(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];for(var n=0,r=t;n<r.length;n++){var i=r[n];if(void 0!==i)return i}}var O_=42;function L_(e){var t=++O_;return e?String(e)+t:t}function T_(){O_=42}function Z_(e){return H_(e)?e:"__".concat(e)}function H_(e){return e.startsWith("__")}function Y_(e){if(void 0!==e)return(e%360+360)%360}function J_(e){return!!YU(e)||!isNaN(e)&&!isNaN(parseFloat(e))}var j_=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},P_="row",V_="column",K_="radius",W_="theta",X_="theta2",q_="color",z_="fill",$_="stroke",eM="shape",tM={theta:1,theta2:1,radius:1,radius2:1};function AM(e){return e in tM}var nM={longitude:1,longitude2:1,latitude:1,latitude2:1};var rM=y_(nM),iM=Object.assign(Object.assign(Object.assign(Object.assign({},{x:1,y:1,x2:1,y2:1}),tM),nM),{color:1,fill:1,stroke:1,opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeDash:1,size:1,angle:1,shape:1,order:1,text:1,detail:1,key:1,tooltip:1,href:1,url:1,description:1});function oM(e){return e===q_||e===z_||e===$_}var aM={row:1,column:1,facet:1},sM=y_(aM),gM=Object.assign(Object.assign({},iM),aM),cM=y_(gM),uM=(gM.order,gM.detail,gM.tooltip,j_(gM,["order","detail","tooltip"])),lM=(uM.row,uM.column,uM.facet,j_(uM,["row","column","facet"]));y_(uM),y_(lM);function IM(e){return!!gM[e]}var CM=["x2","y2","latitude2","longitude2",X_,"radius2"];function hM(e){return fM(e)!==e}function fM(e){switch(e){case"x2":return"x";case"y2":return"y";case"latitude2":return"latitude";case"longitude2":return"longitude";case X_:return W_;case"radius2":return K_}return e}function dM(e){if(AM(e))switch(e){case W_:return"startAngle";case X_:return"endAngle";case K_:return"outerRadius";case"radius2":return"innerRadius"}return e}function BM(e){switch(e){case"x":return"x2";case"y":return"y2";case"latitude":return"latitude2";case"longitude":return"longitude2";case W_:return X_;case K_:return"radius2"}}function pM(e){switch(e){case"x":case"x2":return"width";case"y":case"y2":return"height"}}y_(iM),iM.x,iM.y,iM.x2,iM.y2,iM.latitude,iM.longitude,iM.latitude2,iM.longitude2,iM.theta,iM.theta2,iM.radius,iM.radius2;var EM=j_(iM,["x","y","x2","y2","latitude","longitude","latitude2","longitude2","theta","theta2","radius","radius2"]),QM=y_(EM),yM={x:1,y:1},vM=y_(yM);function mM(e){return e in yM}var bM={theta:1,radius:1},wM=y_(bM);function SM(e){return"width"===e?"x":"y"}EM.text,EM.tooltip,EM.href,EM.url,EM.description,EM.detail,EM.key,EM.order;var FM=j_(EM,["text","tooltip","href","url","description","detail","key","order"]),RM=y_(FM);var DM=Object.assign(Object.assign(Object.assign({},yM),bM),FM),GM=y_(DM);function kM(e){return!!DM[e]}function xM(e,t){return function(e){switch(e){case q_:case z_:case $_:case"description":case"detail":case"key":case"tooltip":case"href":case"order":case"opacity":case"fillOpacity":case"strokeOpacity":case"strokeWidth":case"facet":case P_:case V_:return NM;case"x":case"y":case"latitude":case"longitude":return UM;case"x2":case"y2":case"latitude2":case"longitude2":return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case"size":return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case"strokeDash":return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case eM:return{point:"always",geoshape:"always"};case"text":return{text:"always"};case"angle":return{point:"always",square:"always",text:"always"};case"url":return{image:"always"};case W_:case K_:return{text:"always",arc:"always"};case X_:case"radius2":return{arc:"always"}}}(e)[t]}var NM={arc:"always",area:"always",bar:"always",circle:"always",geoshape:"always",image:"always",line:"always",rule:"always",point:"always",rect:"always",square:"always",trail:"always",text:"always",tick:"always"},UM=j_(NM,["geoshape"]);function _M(e){switch(e){case"x":case"y":case W_:case K_:case"size":case"angle":case"strokeWidth":case"opacity":case"fillOpacity":case"strokeOpacity":case"x2":case"y2":case X_:case"radius2":return;case"facet":case P_:case V_:case eM:case"strokeDash":case"text":case"tooltip":case"href":case"url":case"description":return"discrete";case q_:case z_:case $_:return"flexible";case"latitude":case"longitude":case"latitude2":case"longitude2":case"detail":case"key":case"order":return}}var MM={argmax:1,argmin:1,average:1,count:1,distinct:1,product:1,max:1,mean:1,median:1,min:1,missing:1,q1:1,q3:1,ci0:1,ci1:1,stderr:1,stdev:1,stdevp:1,sum:1,valid:1,values:1,variance:1,variancep:1},OM={count:1,min:1,max:1};function LM(e){return!!e&&!!e.argmin}function TM(e){return!!e&&!!e.argmax}y_(MM);function ZM(e){return JU(e)&&!!MM[e]}var HM=["count","valid","missing","distinct"];function YM(e){return JU(e)&&c_(HM,e)}var JM=["count","sum","distinct","valid","missing"],jM=PU(["mean","average","median","q1","q3","min","max"]);function PM(e){return HU(e)&&(e=aY(e,void 0)),"bin"+y_(e).map((function(t){return XM(e[t])?w_("_".concat(t,"_").concat(m_(e[t]))):w_("_".concat(t,"_").concat(e[t]))})).join("")}function VM(e){return!0===e||WM(e)&&!e.binned}function KM(e){return"binned"===e||WM(e)&&!0===e.binned}function WM(e){return xU(e)}function XM(e){return null===e||void 0===e?void 0:e.param}function qM(e){switch(e){case P_:case V_:case"size":case q_:case z_:case $_:case"strokeWidth":case"opacity":case"fillOpacity":case"strokeOpacity":case eM:return 6;case"strokeDash":return 4;default:return 10}}function zM(e){return e&&!!e.expr}function $M(e){var t,A=y_(e||{}),n={},r=Object(ut.a)(A);try{for(r.s();!(t=r.n()).done;){var i=t.value;n[i]=uO(e[i])}}catch(o){r.e(o)}finally{r.f()}return n}var eO=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function tO(e){var t=e.anchor,A=e.frame,n=e.offset,r=e.orient,i=e.angle,o=e.limit,a=e.color,s=e.subtitleColor,g=e.subtitleFont,c=e.subtitleFontSize,u=e.subtitleFontStyle,l=e.subtitleFontWeight,I=e.subtitleLineHeight,C=e.subtitlePadding,h=eO(e,["anchor","frame","offset","orient","angle","limit","color","subtitleColor","subtitleFont","subtitleFontSize","subtitleFontStyle","subtitleFontWeight","subtitleLineHeight","subtitlePadding"]),f=Object.assign(Object.assign({},h),a?{fill:a}:{}),d=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},t?{anchor:t}:{}),A?{frame:A}:{}),n?{offset:n}:{}),r?{orient:r}:{}),void 0!==i?{angle:i}:{}),void 0!==o?{limit:o}:{}),B=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},s?{subtitleColor:s}:{}),g?{subtitleFont:g}:{}),c?{subtitleFontSize:c}:{}),u?{subtitleFontStyle:u}:{}),l?{subtitleFontWeight:l}:{}),I?{subtitleLineHeight:I}:{}),C?{subtitlePadding:C}:{});return{titleMarkConfig:f,subtitleMarkConfig:i_(e,["align","baseline","dx","dy","limit"]),nonMarkTitleProperties:d,subtitle:B}}function AO(e){return JU(e)||kU(e)&&JU(e[0])}function nO(e){return e&&!!e.signal}function rO(e){return!!e.step}function iO(e){return!kU(e)&&("field"in e&&"data"in e)}var oO=y_({aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1}),aO={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},sO=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"],gO=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function cO(e){var t=kU(e.condition)?e.condition.map(lO):lO(e.condition);return Object.assign(Object.assign({},uO(e)),{condition:t})}function uO(e){if(zM(e)){var t=e.expr,A=gO(e,["expr"]);return Object.assign({signal:t},A)}return e}function lO(e){if(zM(e)){var t=e.expr,A=gO(e,["expr"]);return Object.assign({signal:t},A)}return e}function IO(e){if(zM(e)){var t=e.expr,A=gO(e,["expr"]);return Object.assign({signal:t},A)}return nO(e)?e:void 0!==e?{value:e}:void 0}function CO(e){return nO(e)?e.signal:jU(e.value)}function hO(e){return nO(e)?e.signal:null==e?null:jU(e)}function fO(e){var t;return[].concat(e.type,null!==(t=e.style)&&void 0!==t?t:[])}function dO(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=n.vgChannel,i=n.ignoreVgConfig;return r&&void 0!==t[r]?t[r]:void 0!==t[e]?t[e]:!i||r&&r!==e?BO(e,t,A,n):void 0}function BO(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=n.vgChannel;return M_(r?pO(e,t,A.style):void 0,pO(e,t,A.style),r?A[t.type][r]:void 0,A[t.type][e],r?A.mark[r]:A.mark[e])}function pO(e,t,A){return EO(e,fO(t),A)}function EO(e,t,A){var n;t=OU(t);var r,i=Object(ut.a)(t);try{for(i.s();!(r=i.n()).done;){var o=A[r.value];o&&void 0!==o[e]&&(n=o[e])}}catch(a){i.e(a)}finally{i.f()}return n}function QO(e,t){return OU(e).reduce((function(e,A){var n;return e.field.push(JH(A,t)),e.order.push(null!==(n=A.sort)&&void 0!==n?n:"ascending"),e}),{field:[],order:[]})}function yO(e,t){var A=Object(zn.a)(e);return t.forEach((function(e){var t,n=Object(ut.a)(A);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(n_(r,e))return}}catch(i){n.e(i)}finally{n.f()}A.push(e)})),A}function vO(e,t){return n_(e,t)||!t?e:e?[].concat(Object(zn.a)(OU(e)),Object(zn.a)(OU(t))).join(", "):t}function mO(e,t){var A=e.value,n=t.value;if(null==A||null===n)return{explicit:e.explicit,value:null};if((AO(A)||nO(A))&&(AO(n)||nO(n)))return{explicit:e.explicit,value:vO(A,n)};if(AO(A)||nO(A))return{explicit:e.explicit,value:A};if(AO(n)||nO(n))return{explicit:e.explicit,value:n};if(!AO(A)&&!nO(A)&&!AO(n)&&!nO(n))return{explicit:e.explicit,value:yO(A,n)};throw new Error("It should never reach here")}var bO=A(91);function wO(e){return"Invalid specification ".concat(a_(e),'. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".')}var SO='Autosize "fit" only works for single views and layered views.';function FO(e){return"".concat("width"==e?"Width":"Height",' "container" only works for single views and layered views.')}function RO(e){var t="width"==e?"x":"y";return"".concat("width"==e?"Width":"Height",' "container" only works well with autosize "fit" or "fit-').concat(t,'".')}function DO(e){return e?'Dropping "fit-'.concat(e,'" because spec has discrete ').concat(pM(e),"."):'Dropping "fit" because spec has discrete size.'}function GO(e){return"Unknown field for ".concat(e,". Cannot calculate view size.")}function kO(e){return'Cannot project a selection on encoding channel "'.concat(e,'", which has no field.')}function xO(e,t){return'Cannot project a selection on encoding channel "'.concat(e,'" as it uses an aggregate function ("').concat(t,'").')}function NO(e){return'The "nearest" transform is not supported for '.concat(e," marks.")}function UO(e){return"Selection not supported for ".concat(e," yet.")}function _O(e){return'Cannot find a selection named "'.concat(e,'".')}var MO="Scale bindings are currently only supported for scales with unbinned, continuous domains.",OO="Legend bindings are only supported for selections over an individual field or encoding channel.";function LO(e){return'Lookups can only be performed on selection parameters. "'.concat(e,'" is a variable parameter.')}function TO(e){return'Cannot define and lookup the "'.concat(e,'" selection in the same view. ')+"Try moving the lookup into a second, layered view?"}var ZO="The same selection must be used to override scale domains in a layered view.",HO='Interval selections should be initialized using "x" and/or "y" keys.';function YO(e){return'Unknown repeated value "'.concat(e,'".')}function JO(e){return'The "columns" property cannot be used when "'.concat(e,'" has nested row/column.')}var jO="Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415).";function PO(e){return'Unrecognized parse "'.concat(e,'".')}function VO(e,t,A){return'An ancestor parsed field "'.concat(e,'" as ').concat(A," but a child wants to parse the field as ").concat(t,".")}var KO="Attempt to add the same child twice.";function WO(e){return"Ignoring an invalid transform: ".concat(a_(e),".")}var XO='If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.';function qO(e){return"Config.customFormatTypes is not true, thus custom format type and format for channel ".concat(e," are dropped.")}function zO(e){var t=e.parentProjection,A=e.projection;return"Layer's shared projection ".concat(a_(t)," is overridden by a child projection ").concat(a_(A),".")}var $O="Arc marks uses theta channel rather than angle, replacing angle with theta.";function eL(e,t,A){return"Channel ".concat(e," is a ").concat(t,". Converted to {value: ").concat(a_(A),"}.")}function tL(e){return'Invalid field type "'.concat(e,'".')}function AL(e,t){return'Invalid field type "'.concat(e,'" for aggregate: "').concat(t,'", using "quantitative" instead.')}function nL(e){return'Invalid aggregation operator "'.concat(e,'".')}function rL(e,t){return'Missing type for channel "'.concat(e,'", using "').concat(t,'" instead.')}function iL(e,t){var A=t.fill,n=t.stroke;return"Dropping color ".concat(e," as the plot also has ").concat(A&&n?"fill and stroke":A?"fill":"stroke",".")}function oL(e){return"Position range does not support relative band size for ".concat(e,".")}function aL(e,t){return"Dropping ".concat(a_(e),' from channel "').concat(t,'" since it does not contain any data field, datum, value, or signal.')}var sL="Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";function gL(e,t,A){return"".concat(e,' dropped as it is incompatible with "').concat(t,'"').concat(A?" when ".concat(A):"",".")}function cL(e){return"".concat(e,"-encoding is dropped as ").concat(e," is not a valid encoding channel.")}function uL(e){return"".concat(e," encoding should be discrete (ordinal / nominal / binned).")}function lL(e){return"".concat(e," encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).")}function IL(e){return"Facet encoding dropped as ".concat(e.join(" and ")," ").concat(e.length>1?"are":"is"," also specified.")}function CL(e,t){return'Using discrete channel "'.concat(e,'" to encode "').concat(t,'" field can be misleading as it does not encode ').concat("ordinal"===t?"order":"magnitude",".")}function hL(e){return"The ".concat(e," for range marks cannot be an expression")}function fL(e,t){return"Line mark is for continuous lines and thus cannot be used with ".concat(e&&t?"x2 and y2":e?"x2":"y2",". We will use the rule mark (line segments) instead.")}function dL(e,t){return'Specified orient "'.concat(e,'" overridden with "').concat(t,'".')}var BL="Custom domain scale cannot be unioned with default field-based domain.";function pL(e){return'Cannot use the scale property "'.concat(e,'" with non-color channel.')}function EL(e){return"Cannot use the relative band size with ".concat(e," scale.")}function QL(e){return"Using unaggregated domain with raw field has no effect (".concat(a_(e),").")}function yL(e){return'Unaggregated domain not applicable for "'.concat(e,'" since it produces values outside the origin domain of the source data.')}function vL(e){return"Unaggregated domain is currently unsupported for log scale (".concat(a_(e),").")}function mL(e){return'Cannot apply size to non-oriented mark "'.concat(e,'".')}function bL(e,t,A){return'Channel "'.concat(e,'" does not work with "').concat(t,'" scale. We are using "').concat(A,'" scale instead.')}function wL(e,t){return'FieldDef does not work with "'.concat(e,'" scale. We are using "').concat(t,'" scale instead.')}function SL(e,t,A){return"".concat(A,"-scale's \"").concat(t,'" is dropped as it does not work with ').concat(e," scale.")}function FL(e,t){return'Scale type "'.concat(t,'" does not work with mark "').concat(e,'".')}function RL(e){return'The step for "'.concat(e,'" is dropped because the ').concat("width"===e?"x":"y"," is continuous.")}function DL(e,t,A,n){return"Conflicting ".concat(t.toString(),' property "').concat(e.toString(),'" (').concat(a_(A)," and ").concat(a_(n),"). Using ").concat(a_(A),".")}function GL(e,t,A,n){return"Conflicting ".concat(t.toString(),' property "').concat(e.toString(),'" (').concat(a_(A)," and ").concat(a_(n),"). Using the union of the two domains.")}function kL(e){return'Setting the scale to be independent for "'.concat(e,'" means we also have to set the guide (axis or legend) to be independent.')}function xL(e){return"Dropping sort property ".concat(a_(e),' as unioned domains only support boolean or op "count", "min", and "max".')}var NL="Domains that should be unioned has conflicting sort properties. Sort will be set to true.",UL="Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect.",_L="Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect.",ML="Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.",OL="Invalid channel for axis.";function LL(e){return'Cannot stack "'.concat(e,'" if there is already "').concat(e,'2".')}function TL(e){return"Cannot stack non-linear scale (".concat(e,").")}function ZL(e){return'Stacking is applied even though the aggregate function is non-summative ("'.concat(e,'").')}function HL(e,t){return"Invalid ".concat(e,": ").concat(a_(t),".")}function YL(e){return"Dropping day from datetime ".concat(a_(e)," as day cannot be combined with other units.")}function JL(e,t){return"".concat(t?"extent ":"").concat(t&&e?"and ":"").concat(e?"center ":"").concat(t&&e?"are ":"is ","not needed when data are aggregated.")}function jL(e,t,A){return"".concat(e," is not usually used with ").concat(t," for ").concat(A,".")}function PL(e,t){return"Continuous axis should not have customized aggregation function ".concat(e,"; ").concat(t," already agregates the axis.")}function VL(e){return"1D error band does not support ".concat(e,".")}function KL(e){return"Channel ".concat(e,' is required for "binned" bin.')}function WL(e){return"Channel ".concat(e,' should not be used with "binned" bin.')}function XL(e){return"Domain for ".concat(e," is required for threshold scale.")}var qL=function(e,t){var A=e||0;return{level:function(e){return arguments.length?(A=+e,this):A},error:function(){return A>=1&&GU(t||"error","ERROR",arguments),this},warn:function(){return A>=2&&GU(t||"warn","WARN",arguments),this},info:function(){return A>=3&&GU(t||"log","INFO",arguments),this},debug:function(){return A>=4&&GU(t||"log","DEBUG",arguments),this}}}(2),zL=qL;function $L(e){return zL=e}function eT(){return zL=qL}function tT(){var e;(e=zL).warn.apply(e,arguments)}function AT(e){if(e&&xU(e)){var t,A=Object(ut.a)(IT);try{for(A.s();!(t=A.n()).done;){if(t.value in e)return!0}}catch(n){A.e(n)}finally{A.f()}}return!1}new WeakMap;var nT=["january","february","march","april","may","june","july","august","september","october","november","december"],rT=nT.map((function(e){return e.substr(0,3)})),iT=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],oT=iT.map((function(e){return e.substr(0,3)}));function aT(e,t){var A=[];if(t&&void 0!==e.day&&y_(e).length>1&&(tT(B.droppedDay(e)),delete(e=r_(e)).day),void 0!==e.year?A.push(e.year):A.push(2012),void 0!==e.month){var n=t?function(e){if(J_(e)&&(e=+e),YU(e))return e-1;var t=e.toLowerCase(),A=nT.indexOf(t);if(-1!==A)return A;var n=t.substr(0,3),r=rT.indexOf(n);if(-1!==r)return r;throw new Error(B.invalidTimeUnit("month",e))}(e.month):e.month;A.push(n)}else if(void 0!==e.quarter){var r=t?function(e){if(J_(e)&&(e=+e),YU(e))return e>4&&tT(B.invalidTimeUnit("quarter",e)),e-1;throw new Error(B.invalidTimeUnit("quarter",e))}(e.quarter):e.quarter;A.push(YU(r)?3*r:"".concat(r,"*3"))}else A.push(0);if(void 0!==e.date)A.push(e.date);else if(void 0!==e.day){var i=t?function(e){if(J_(e)&&(e=+e),YU(e))return e%7;var t=e.toLowerCase(),A=iT.indexOf(t);if(-1!==A)return A;var n=t.substr(0,3),r=oT.indexOf(n);if(-1!==r)return r;throw new Error(B.invalidTimeUnit("day",e))}(e.day):e.day;A.push(YU(i)?i+1:"".concat(i,"+1"))}else A.push(1);for(var o=0,a=["hours","minutes","seconds","milliseconds"];o<a.length;o++){var s=e[a[o]];A.push("undefined"===typeof s?0:s)}return A}function sT(e){var t=aT(e,!0).join(", ");return e.utc?"utc(".concat(t,")"):"datetime(".concat(t,")")}function gT(e){var t=aT(e,!1).join(", ");return e.utc?"utc(".concat(t,")"):"datetime(".concat(t,")")}function cT(e){var t=aT(e,!0);return e.utc?+new Date(Date.UTC.apply(Date,Object(zn.a)(t))):+Object(bO.a)(Date,Object(zn.a)(t))}var uT=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},lT={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},IT=y_(lT);function CT(e){return e.startsWith("utc")}var hT={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function fT(e){return IT.filter((function(t){return dT(e,t)}))}function dT(e,t){var A=e.indexOf(t);return!(A<0)&&(!(A>0&&"seconds"===t&&"i"===e.charAt(A-1))&&(!(e.length>A+3&&"day"===t&&"o"===e.charAt(A+3))&&!(A>0&&"year"===t&&"f"===e.charAt(A-1))))}function BT(e,t){var A,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{end:!1},r=n.end,i=D_(t),o=CT(e)?"utc":"";function a(e){return"quarter"===e?"(".concat(o,"quarter(").concat(i,")-1)"):"".concat(o).concat(e,"(").concat(i,")")}var s,g={},c=Object(ut.a)(IT);try{for(c.s();!(s=c.n()).done;){var u=s.value;dT(e,u)&&(g[u]=a(u),A=u)}}catch(l){c.e(l)}finally{c.f()}return r&&(g[A]+="+1"),gT(g)}function pT(e){if(e){var t=fT(e);return"timeUnitSpecifier(".concat(a_(t),", ").concat(a_(hT),")")}}function ET(e){var t;if(e)return JU(e)?t={unit:e}:xU(e)&&(t=Object.assign(Object.assign({},e),e.unit?{unit:e.unit}:{})),CT(t.unit)&&(t.utc=!0,t.unit=t.unit.substr(3)),t}function QT(e){var t=ET(e),A=t.utc,n=uT(t,["utc"]);return n.unit?(A?"utc":"")+y_(n).map((function(e){return w_("".concat("unit"===e?"":"_".concat(e,"_")).concat(n[e]))})).join(""):(A?"utc":"")+"timeunit"+y_(n).map((function(e){return w_("_".concat(e,"_").concat(n[e]))})).join("")}function yT(e){return e&&!!e.field&&void 0!==e.equal}function vT(e){return e&&!!e.field&&void 0!==e.lt}function mT(e){return e&&!!e.field&&void 0!==e.lte}function bT(e){return e&&!!e.field&&void 0!==e.gt}function wT(e){return e&&!!e.field&&void 0!==e.gte}function ST(e){if(null===e||void 0===e?void 0:e.field){if(kU(e.range)&&2===e.range.length)return!0;if(nO(e.range))return!0}return!1}function FT(e){return e&&!!e.field&&(kU(e.oneOf)||kU(e.in))}function RT(e){return e&&!!e.field&&void 0!==e.valid}function DT(e){return FT(e)||yT(e)||ST(e)||vT(e)||bT(e)||mT(e)||wT(e)}function GT(e,t){return uY(e,{timeUnit:t,wrapTime:!0})}function kT(e,t){return e.map((function(e){return GT(e,t)}))}function xT(e){var t,A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=e.field,r=null===(t=ET(e.timeUnit))||void 0===t?void 0:t.unit,i=r?"time(".concat(BT(r,n),")"):JH(e,{expr:"datum"});if(yT(e))return"".concat(i,"===").concat(GT(e.equal,r));if(vT(e)){var o=e.lt;return"".concat(i,"<").concat(GT(o,r))}if(bT(e)){var a=e.gt;return"".concat(i,">").concat(GT(a,r))}if(mT(e)){var s=e.lte;return"".concat(i,"<=").concat(GT(s,r))}if(wT(e)){var g=e.gte;return"".concat(i,">=").concat(GT(g,r))}if(FT(e))return"indexof([".concat(kT(e.oneOf,r).join(","),"], ").concat(i,") !== -1");if(RT(e))return NT(i,e.valid);if(ST(e)){var c=e.range,u=nO(c)?{signal:"".concat(c.signal,"[0]")}:c[0],l=nO(c)?{signal:"".concat(c.signal,"[1]")}:c[1];if(null!==u&&null!==l&&A)return"inrange("+i+", ["+GT(u,r)+", "+GT(l,r)+"])";var I=[];return null!==u&&I.push("".concat(i," >= ").concat(GT(u,r))),null!==l&&I.push("".concat(i," <= ").concat(GT(l,r))),I.length>0?I.join(" && "):"true"}throw new Error("Invalid field predicate: ".concat(a_(e)))}function NT(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return t?"isValid(".concat(e,") && isFinite(+").concat(e,")"):"!isValid(".concat(e,") || !isFinite(+").concat(e,")")}function UT(e){var t;return DT(e)&&e.timeUnit?Object.assign(Object.assign({},e),{timeUnit:null===(t=ET(e.timeUnit))||void 0===t?void 0:t.unit}):e}var _T={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};var MT=_T.quantitative,OT=_T.ordinal,LT=_T.temporal,TT=_T.nominal,ZT=_T.geojson;y_(_T);function HT(e){if(e)switch(e=e.toLowerCase()){case"q":case MT:return"quantitative";case"t":case LT:return"temporal";case"o":case OT:return"ordinal";case"n":case TT:return"nominal";case ZT:return"geojson"}}var YT=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},JT="linear",jT="log",PT="pow",VT="sqrt",KT="symlog",WT="time",XT="utc",qT="quantile",zT="quantize",$T="threshold",eZ="point",tZ="band",AZ={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",identity:"numeric",sequential:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"};y_(AZ);function nZ(e,t){var A=AZ[e],n=AZ[t];return A===n||"ordinal-position"===A&&"time"===n||"ordinal-position"===n&&"time"===A}var rZ={linear:0,log:1,pow:1,sqrt:1,symlog:1,identity:1,sequential:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0};function iZ(e){return rZ[e]}var oZ=["linear","log","pow","sqrt","symlog","time","utc"],aZ=PU(oZ),sZ=PU(["linear","log","pow","sqrt","symlog"]);var gZ=PU(["quantile","quantize","threshold"]),cZ=PU(oZ.concat(["quantile","quantize","threshold","sequential","identity"])),uZ=PU(["ordinal","bin-ordinal","point","band"]);function lZ(e){return e in uZ}function IZ(e){return e in cZ}function CZ(e){return e in aZ}function hZ(e){return e in gZ}function fZ(e){return null===e||void 0===e?void 0:e.param}var dZ={type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,align:1,range:1,rangeMax:1,rangeMin:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},BZ=(y_(dZ),YT(dZ,["type","domain","range","rangeMax","rangeMin","scheme"])),pZ=y_(BZ);function EZ(e,t){switch(t){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(e);case"bins":return!["point","band","identity","ordinal"].includes(e);case"round":return CZ(e)||"band"===e||"point"===e;case"padding":case"rangeMin":case"rangeMax":return CZ(e)||["point","band"].includes(e);case"paddingOuter":case"align":return["point","band"].includes(e);case"paddingInner":return"band"===e;case"domainMax":case"domainMid":case"domainMin":case"clamp":return CZ(e);case"nice":return CZ(e)||"quantize"===e||"threshold"===e;case"exponent":return"pow"===e;case"base":return"log"===e;case"constant":return"symlog"===e;case"zero":return IZ(e)&&!c_(["log","time","utc","threshold","quantile"],e)}}function QZ(e,t){switch(t){case"interpolate":case"scheme":case"domainMid":return oM(e)?void 0:B.cannotUseScalePropertyWithNonColor(e);case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeMax":case"rangeMin":case"reverse":case"round":case"clamp":case"zero":return}}var yZ={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"},vZ=yZ.arc,mZ=yZ.area,bZ=yZ.bar,wZ=yZ.image,SZ=yZ.line,FZ=yZ.point,RZ=yZ.rect,DZ=yZ.rule,GZ=yZ.text,kZ=yZ.tick,xZ=yZ.trail,NZ=yZ.circle,UZ=yZ.square,_Z=yZ.geoshape;function MZ(e){return["line","area","trail"].includes(e)}function OZ(e){return["rect","bar","image","arc"].includes(e)}var LZ=y_(yZ);function TZ(e){return e.type}PU(LZ);var ZZ=[].concat(["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit"],["fill","fillOpacity"]),HZ=y_({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),YZ=y_({mark:1,arc:1,area:1,bar:1,circle:1,image:1,line:1,point:1,rect:1,rule:1,square:1,text:1,tick:1,trail:1,geoshape:1});function JZ(e){return e&&void 0!=e.band}var jZ={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},PZ={binSpacing:1,continuousBandSize:5,timeUnitBandPosition:.5},VZ={binSpacing:0,continuousBandSize:5,timeUnitBandPosition:.5};function KZ(e){var t=e.channel,A=e.channelDef,n=e.markDef,r=e.scale,i=e.config,o=eH(e);return DH(A)&&!YM(A.aggregate)&&r&&CZ(r.get("type"))&&!1===r.get("zero")?WZ({fieldDef:A,channel:t,markDef:n,ref:o,config:i}):o}function WZ(e){var t=e.fieldDef,A=e.channel,n=e.markDef,r=e.ref,i=e.config;return MZ(n.type)||null===dO("invalid",n,i)?r:[XZ(t,A),r]}function XZ(e,t){var A=qZ(e,!0),n="y"===fM(t)?{field:{group:"height"}}:{value:0};return Object.assign({test:A},n)}function qZ(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return NT(JU(e)?e:JH(e,{expr:"datum"}),!t)}function zZ(e,t,A,n){var r={};if(t&&(r.scale=t),kH(e)){var i=e.datum;AT(i)?r.signal=sT(i):nO(i)?r.signal=i.signal:zM(i)?r.signal=i.expr:r.value=i}else r.field=JH(e,A);if(n){var o=n.offset,a=n.band;o&&(r.offset=o),a&&(r.band=a)}return r}function $Z(e){var t=e.scaleName,A=e.fieldOrDatumDef,n=e.fieldOrDatumDef2,r=e.offset,i=e.startSuffix,o=e.bandPosition,a=void 0===o?.5:o,s=0<a&&a<1?"datum":void 0,g=JH(A,{expr:s,suffix:i}),c=void 0!==n?JH(n,{expr:s}):JH(A,{suffix:"end",expr:s}),u={};if(0===a||1===a){u.scale=t;var l=0===a?g:c;u.field=l}else{var I=nO(a)?"".concat(a.signal," * ").concat(g," + (1-").concat(a.signal,") * ").concat(c):"".concat(a," * ").concat(g," + ").concat(1-a," * ").concat(c);u.signal='scale("'.concat(t,'", ').concat(I,")")}return r&&(u.offset=r),u}function eH(e){var t,A=e.channel,n=e.channelDef,r=e.channel2Def,i=e.markDef,o=e.config,a=e.scaleName,s=e.scale,g=e.stack,c=e.offset,u=e.defaultRef,l=e.bandPosition;if(n){if(UH(n)){if(_H(n)){null!==l&&void 0!==l||(l=mH({fieldDef:n,fieldDef2:r,markDef:i,config:o}));var I=n.bin,C=n.timeUnit,h=n.type;if(VM(I)||l&&C&&h===LT)return(null===g||void 0===g?void 0:g.impute)?zZ(n,a,{binSuffix:"mid"},{offset:c}):l?$Z({scaleName:a,fieldOrDatumDef:n,bandPosition:l,offset:c}):zZ(n,a,IY(n,A)?{binSuffix:"range"}:{},{offset:c});if(KM(I)){if(DH(r))return $Z({scaleName:a,fieldOrDatumDef:n,fieldOrDatumDef2:r,bandPosition:l,offset:c});var f="x"===A?"x2":"y2";tT(B.channelRequiredForBinned(f))}}var d=null===s||void 0===s?void 0:s.get("type");return zZ(n,a,lZ(d)?{binSuffix:"range"}:{},{offset:c,band:"band"===d?null!==(t=null!==l&&void 0!==l?l:n.bandPosition)&&void 0!==t?t:.5:void 0})}if(MH(n)){var p=n.value,E=c?{offset:c}:{};return Object.assign(Object.assign({},tH(A,p)),E)}}return LU(u)&&(u=u()),u?Object.assign(Object.assign({},u),c?{offset:c}:{}):u}function tH(e,t){return c_(["x","x2"],e)&&"width"===t?{field:{group:"width"}}:c_(["y","y2"],e)&&"height"===t?{field:{group:"height"}}:IO(t)}function AH(e){return e&&"number"!==e&&"time"!==e}function nH(e,t,A){return"".concat(e,"(").concat(t).concat(A?", ".concat(a_(A)):"",")")}function rH(e){var t,A,n=e.fieldOrDatumDef,r=e.format,i=e.formatType,o=e.expr,a=e.normalizeStack,s=e.config;if(AH(i))return oH({fieldOrDatumDef:n,format:r,formatType:i,expr:o,config:s});var g=iH(n,o,a);if(cY(n)){var c=function(e,t,A,n,r){return!t||A?(A=JU(A)?A:n,"".concat(r?"utc":"time","Format(").concat(e,", '").concat(A,"')")):function(e,t,A){if(e){var n=pT(e),r=A||CT(e);return"".concat(r?"utc":"time","Format(").concat(t,", ").concat(n,")")}}(t,e,r)}(g,DH(n)?null===(t=ET(n.timeUnit))||void 0===t?void 0:t.unit:void 0,r,s.timeFormat,OH(n)&&(null===(A=n.scale)||void 0===A?void 0:A.type)===XT);return c?{signal:c}:void 0}return r=gH(GH(n),r,s),DH(n)&&VM(n.bin)?{signal:lH(g,JH(n,{expr:o,binSuffix:"end"}),r,i,s)}:r||"quantitative"===GH(n)?{signal:"".concat(cH(g,r))}:{signal:"isValid(".concat(g,") ? ").concat(g,' : ""+').concat(g)}}function iH(e,t,A){return DH(e)?A?"".concat(JH(e,{expr:t,suffix:"end"}),"-").concat(JH(e,{expr:t,suffix:"start"})):JH(e,{expr:t}):function(e){var t=e.datum;return AT(t)?sT(t):"".concat(a_(t))}(e)}function oH(e){var t=e.fieldOrDatumDef,A=e.format,n=e.formatType,r=e.expr,i=e.normalizeStack,o=e.config,a=e.field;return null!==a&&void 0!==a||(a=iH(t,r,i)),DH(t)&&VM(t.bin)?{signal:lH(a,JH(t,{expr:r,binSuffix:"end"}),A,n,o)}:{signal:nH(n,a,A)}}function aH(e,t,A,n,r,i){var o;if(!AH(n))return cY(e)?function(e,t,A,n){if(e)return e;if(t)return{signal:pT(t)};return n?void 0:A.timeFormat}(A,DH(e)?null===(o=ET(e.timeUnit))||void 0===o?void 0:o.unit:void 0,r,i):gH(t,A,r)}function sH(e,t,A){return e&&(nO(e)||"number"===e||"time"===e)?e:cY(t)&&"time"!==A&&"utc"!==A?"time":void 0}function gH(e,t,A){return JU(t)?t:e===MT?A.numberFormat:void 0}function cH(e,t){return"format(".concat(e,', "').concat(t||"",'")')}function uH(e,t,A,n){var r;return AH(A)?nH(A,e,t):cH(e,null!==(r=JU(t)?t:void 0)&&void 0!==r?r:n.numberFormat)}function lH(e,t,A,n,r){var i=uH(e,A,n,r),o=uH(t,A,n,r);return"".concat(NT(e,!1),' ? "null" : ').concat(i,' + "').concat(" \u2013 ",'" + ').concat(o)}var IH={x:1,y:1,color:1,fill:1,stroke:1,strokeWidth:1,size:1,shape:1,fillOpacity:1,strokeOpacity:1,opacity:1,text:1};function CH(e){return e in IH}function hH(e){return!!e&&!!e.encoding}function fH(e){return!!e&&("count"===e.op||!!e.field)}function dH(e){return!!e&&kU(e)}function BH(e){return"row"in e||"column"in e}function pH(e){return!!e&&"header"in e}function EH(e){return"facet"in e}var QH=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function yH(e){var t=e.field,A=e.timeUnit,n=e.bin,r=e.aggregate;return Object.assign(Object.assign(Object.assign(Object.assign({},A?{timeUnit:A}:{}),n?{bin:n}:{}),r?{aggregate:r}:{}),{field:t})}function vH(e){return"sort"in e}function mH(e){var t=e.fieldDef,A=e.fieldDef2,n=e.markDef,r=e.config;if(UH(t)&&void 0!==t.bandPosition)return t.bandPosition;if(DH(t)){var i=t.timeUnit,o=t.bin;if(i&&!A)return OZ(n.type)?0:BO("timeUnitBandPosition",n,r);if(VM(o))return.5}}function bH(e){var t,A,n,r=e.channel,i=e.fieldDef,o=e.fieldDef2,a=e.markDef,s=e.config,g=e.scaleType,c=e.useVlSizeChannel,u=pM(r),l=dO(c?"size":u,a,s,{vgChannel:u});if(void 0!==l)return l;if(DH(i)){var I=i.timeUnit,C=i.bin;if(I&&!o)return{band:BO("timeUnitBandSize",a,s)};if(VM(C)&&!lZ(g))return{band:1}}return OZ(a.type)?g?lZ(g)?(null===(t=s[a.type])||void 0===t?void 0:t.discreteBandSize)||{band:1}:null===(A=s[a.type])||void 0===A?void 0:A.continuousBandSize:null===(n=s[a.type])||void 0===n?void 0:n.discreteBandSize:void 0}function wH(e,t,A,n){return!!(VM(e.bin)||e.timeUnit&&_H(e)&&"temporal"===e.type)&&void 0!==mH({fieldDef:e,fieldDef2:t,markDef:A,config:n})}function SH(e){return e&&"condition"in e}function FH(e){var t=e&&e.condition;return!!t&&!kU(t)&&DH(t)}function RH(e){var t=e&&e.condition;return!!t&&!kU(t)&&UH(t)}function DH(e){return e&&(!!e.field||"count"===e.aggregate)}function GH(e){return e&&e.type}function kH(e){return e&&"datum"in e}function xH(e){return _H(e)&&!jH(e)||NH(e)}function NH(e){return kH(e)&&YU(e.datum)}function UH(e){return DH(e)||kH(e)}function _H(e){return e&&("field"in e||"count"===e.aggregate)&&"type"in e}function MH(e){return e&&"value"in e&&"value"in e}function OH(e){return e&&("scale"in e||"sort"in e)}function LH(e){return e&&("axis"in e||"stack"in e||"impute"in e)}function TH(e){return e&&"legend"in e}function ZH(e){return e&&("format"in e||"formatType"in e)}function HH(e){return o_(e,["legend","axis","header","scale"])}function YH(e){return"op"in e}function JH(e){var t,A,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.field,o=r.prefix,a=r.suffix,s="";if(PH(e))i=Z_("count");else{var g;if(!r.nofn)if(YH(e))g=e.op;else{var c=e.bin,u=e.aggregate,l=e.timeUnit;VM(c)?(g=PM(c),a=(null!==(t=r.binSuffix)&&void 0!==t?t:"")+(null!==(A=r.suffix)&&void 0!==A?A:"")):u?TM(u)?(s='["'.concat(i,'"]'),i="argmax_".concat(u.argmax)):LM(u)?(s='["'.concat(i,'"]'),i="argmin_".concat(u.argmin)):g=String(u):l&&(g=QT(l),a=(!["range","mid"].includes(r.binSuffix)&&r.binSuffix||"")+(null!==(n=r.suffix)&&void 0!==n?n:""))}g&&(i=i?"".concat(g,"_").concat(i):g)}return a&&(i="".concat(i,"_").concat(a)),o&&(i="".concat(o,"_").concat(i)),r.forAs?U_(i):r.expr?G_(i,r.expr)+s:x_(i)+s}function jH(e){switch(e.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return DH(e)&&!!e.bin;case"temporal":return!1}throw new Error(B.invalidFieldType(e.type))}function PH(e){return"count"===e.aggregate}var VH=function(e,t){switch(t.fieldTitle){case"plain":return e.field;case"functional":return function(e){var t=e.aggregate,A=e.bin,n=e.timeUnit,r=e.field;if(TM(t))return"".concat(r," for argmax(").concat(t.argmax,")");if(LM(t))return"".concat(r," for argmin(").concat(t.argmin,")");var i=ET(n),o=t||(null===i||void 0===i?void 0:i.unit)||(null===i||void 0===i?void 0:i.maxbins)&&"timeunit"||VM(A)&&"bin";return o?"".concat(o.toUpperCase(),"(").concat(r,")"):r}(e);default:return function(e,t){var A,n=e.field,r=e.bin,i=e.timeUnit,o=e.aggregate;if("count"===o)return t.countTitle;if(VM(r))return"".concat(n," (binned)");if(i){var a=null===(A=ET(i))||void 0===A?void 0:A.unit;if(a)return"".concat(n," (").concat(fT(a).join("-"),")")}else if(o)return TM(o)?"".concat(n," for max ").concat(o.argmax):LM(o)?"".concat(n," for min ").concat(o.argmin):"".concat(R_(o)," of ").concat(n);return n}(e,t)}},KH=VH;function WH(e){KH=e}function XH(){WH(VH)}function qH(e,t,A){var n,r,i=A.allowDisabling,o=A.includeDefault,a=void 0===o||o,s=null===(n=zH(e))||void 0===n?void 0:n.title;if(!DH(e))return s;var g=e,c=a?$H(g,t):void 0;return i?M_(s,g.title,c):null!==(r=null!==s&&void 0!==s?s:g.title)&&void 0!==r?r:c}function zH(e){return LH(e)&&e.axis?e.axis:TH(e)&&e.legend?e.legend:pH(e)&&e.header?e.header:void 0}function $H(e,t){return KH(e,t)}function eY(e){var t;if(ZH(e))return{format:e.format,formatType:e.formatType};var A=null!==(t=zH(e))&&void 0!==t?t:{};return{format:A.format,formatType:A.formatType}}function tY(e,t){var A;switch(t){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(vH(e)&&kU(e.sort))return"ordinal";var n=e.aggregate,r=e.bin;if(e.timeUnit)return"temporal";if(r||n&&!TM(n)&&!LM(n))return"quantitative";if(OH(e)&&(null===(A=e.scale)||void 0===A?void 0:A.type))switch(AZ[e.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}function AY(e){return DH(e)?e:FH(e)?e.condition:void 0}function nY(e){return UH(e)?e:RH(e)?e.condition:void 0}function rY(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(JU(e)||YU(e)||HU(e)){var r=JU(e)?"string":YU(e)?"number":"boolean";return tT(B.primitiveChannelDef(t,r,e)),{value:e}}return UH(e)?iY(e,t,A,n):RH(e)?Object.assign(Object.assign({},e),{condition:iY(e.condition,t,A,n)}):e}function iY(e,t,A,n){if(ZH(e)){e.format;var r=e.formatType,i=QH(e,["format","formatType"]);if(AH(r)&&!A.customFormatTypes)return tT(B.customFormatTypeNotAllowed(t)),iY(i,t,A,n)}else{var o=LH(e)?"axis":TH(e)?"legend":pH(e)?"header":null;if(o&&e[o]){var a=e[o],s=(a.format,a.formatType),g=QH(a,["format","formatType"]);if(AH(s)&&!A.customFormatTypes)return tT(B.customFormatTypeNotAllowed(t)),iY(Object.assign(Object.assign({},e),Object($n.a)({},o,g)),t,A,n)}}return DH(e)?oY(e,t,n):function(e){var t=e.type;if(t)return e;var A=e.datum;return t=YU(A)?"quantitative":JU(A)?"nominal":AT(A)?"temporal":void 0,Object.assign(Object.assign({},e),{type:t})}(e)}function oY(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=A.compositeMark,r=void 0!==n&&n,i=e.aggregate,o=e.timeUnit,a=e.bin,s=e.field,g=Object.assign({},e);if(r||!i||ZM(i)||TM(i)||LM(i)||(tT(B.invalidAggregate(i)),delete g.aggregate),o&&(g.timeUnit=ET(o)),s&&(g.field="".concat(s)),VM(a)&&(g.bin=aY(a,t)),KM(a)&&!mM(t)&&tT(B.channelShouldNotBeUsedForBinned(t)),_H(g)){var c=g.type,u=HT(c);c!==u&&(g.type=u),"quantitative"!==c&&YM(i)&&(tT(B.invalidFieldTypeForCountAggregate(c,i)),g.type="quantitative")}else if(!hM(t)){var l=tY(g,t);g.type=l}if(_H(g)){var I=gY(g,t)||{},C=I.compatible,h=I.warning;!1===C&&tT(h)}if(vH(g)&&JU(g.sort)){var f=g.sort;if(CH(f))return Object.assign(Object.assign({},g),{sort:{encoding:f}});var d=f.substr(1);if("-"===f.charAt(0)&&CH(d))return Object.assign(Object.assign({},g),{sort:{encoding:d,order:"descending"}})}if(pH(g)){var p=g.header;if(p){var E=p.orient,Q=QH(p,["orient"]);if(E)return Object.assign(Object.assign({},g),{header:Object.assign(Object.assign({},Q),{labelOrient:p.labelOrient||E,titleOrient:p.titleOrient||E})})}}return g}function aY(e,t){return HU(e)?{maxbins:qM(t)}:"binned"===e?{binned:!0}:e.maxbins||e.step?e:Object.assign(Object.assign({},e),{maxbins:qM(t)})}var sY={compatible:!0};function gY(e,t){var A=e.type;if("geojson"===A&&"shape"!==t)return{compatible:!1,warning:"Channel ".concat(t," should not be used with a geojson data.")};switch(t){case P_:case V_:case"facet":return jH(e)?sY:{compatible:!1,warning:B.channelShouldBeDiscrete(t)};case"x":case"y":case q_:case z_:case $_:case"text":case"detail":case"key":case"tooltip":case"href":case"url":case"angle":case W_:case K_:case"description":return sY;case"longitude":case"longitude2":case"latitude":case"latitude2":return A!==MT?{compatible:!1,warning:"Channel ".concat(t," should be used with a quantitative field only, not ").concat(e.type," field.")}:sY;case"opacity":case"fillOpacity":case"strokeOpacity":case"strokeWidth":case"size":case X_:case"radius2":case"x2":case"y2":return"nominal"!==A||e.sort?sY:{compatible:!1,warning:"Channel ".concat(t," should not be used with an unsorted discrete field.")};case eM:case"strokeDash":return jH(e)||function(e){var t;return OH(e)&&hZ(null===(t=e.scale)||void 0===t?void 0:t.type)}(e)?sY:{compatible:!1,warning:B.channelShouldBeDiscreteOrDiscretizing(t)};case"order":return"nominal"!==e.type||"sort"in e?sY:{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}}}function cY(e){var t,A=eY(e).formatType;return"time"===A||!A&&((t=e)&&("temporal"===t.type||DH(t)&&!!t.timeUnit))}function uY(e,t){var A,n,r=t.timeUnit,i=t.type,o=t.wrapTime,a=t.undefinedIfExprNotRequired,s=r&&(null===(A=ET(r))||void 0===A?void 0:A.unit),g=s||"temporal"===i;return zM(e)?n=e.expr:nO(e)?n=e.signal:AT(e)?(g=!0,n=sT(e)):(JU(e)||YU(e))&&g&&(n="datetime(".concat(a_(e),")"),function(e){return!!lT[e]}(s)&&(YU(e)&&e<1e4||JU(e)&&isNaN(Date.parse(e)))&&(n=sT(Object($n.a)({},s,e)))),n?o&&g?"time(".concat(n,")"):n:a?void 0:a_(e)}function lY(e,t){var A=e.type;return t.map((function(t){var n=uY(t,{timeUnit:DH(e)?e.timeUnit:void 0,type:A,undefinedIfExprNotRequired:!0});return void 0!==n?{signal:n}:t}))}function IY(e,t){return VM(e.bin)?kM(t)&&["ordinal","nominal"].includes(e.type):(console.warn("Only call this method for binned field defs."),!1)}var CY={labelAlign:{part:"labels",vgProp:"align"},labelBaseline:{part:"labels",vgProp:"baseline"},labelColor:{part:"labels",vgProp:"fill"},labelFont:{part:"labels",vgProp:"font"},labelFontSize:{part:"labels",vgProp:"fontSize"},labelFontStyle:{part:"labels",vgProp:"fontStyle"},labelFontWeight:{part:"labels",vgProp:"fontWeight"},labelOpacity:{part:"labels",vgProp:"opacity"},labelOffset:null,labelPadding:null,gridColor:{part:"grid",vgProp:"stroke"},gridDash:{part:"grid",vgProp:"strokeDash"},gridDashOffset:{part:"grid",vgProp:"strokeDashOffset"},gridOpacity:{part:"grid",vgProp:"opacity"},gridWidth:{part:"grid",vgProp:"strokeWidth"},tickColor:{part:"ticks",vgProp:"stroke"},tickDash:{part:"ticks",vgProp:"strokeDash"},tickDashOffset:{part:"ticks",vgProp:"strokeDashOffset"},tickOpacity:{part:"ticks",vgProp:"opacity"},tickSize:null,tickWidth:{part:"ticks",vgProp:"strokeWidth"}};function hY(e){return e&&e.condition}var fY=["domain","grid","labels","ticks","title"],dY={grid:"grid",gridCap:"grid",gridColor:"grid",gridDash:"grid",gridDashOffset:"grid",gridOpacity:"grid",gridScale:"grid",gridWidth:"grid",orient:"main",bandPosition:"both",aria:"main",description:"main",domain:"main",domainCap:"main",domainColor:"main",domainDash:"main",domainDashOffset:"main",domainOpacity:"main",domainWidth:"main",format:"main",formatType:"main",labelAlign:"main",labelAngle:"main",labelBaseline:"main",labelBound:"main",labelColor:"main",labelFlush:"main",labelFlushOffset:"main",labelFont:"main",labelFontSize:"main",labelFontStyle:"main",labelFontWeight:"main",labelLimit:"main",labelLineHeight:"main",labelOffset:"main",labelOpacity:"main",labelOverlap:"main",labelPadding:"main",labels:"main",labelSeparation:"main",maxExtent:"main",minExtent:"main",offset:"both",position:"main",tickCap:"main",tickColor:"main",tickDash:"main",tickDashOffset:"main",tickMinStep:"both",tickOffset:"both",tickOpacity:"main",tickRound:"both",ticks:"main",tickSize:"main",tickWidth:"both",title:"main",titleAlign:"main",titleAnchor:"main",titleAngle:"main",titleBaseline:"main",titleColor:"main",titleFont:"main",titleFontSize:"main",titleFontStyle:"main",titleFontWeight:"main",titleLimit:"main",titleLineHeight:"main",titleOpacity:"main",titlePadding:"main",titleX:"main",titleY:"main",encode:"both",scale:"both",tickBand:"both",tickCount:"both",tickExtra:"both",translate:"both",values:"both",zindex:"both"},BY={orient:1,aria:1,bandPosition:1,description:1,domain:1,domainCap:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridCap:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelLineHeight:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickBand:1,tickCap:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,translate:1,values:1,zindex:1},pY=Object.assign(Object.assign({},BY),{style:1,labelExpr:1,encoding:1});function EY(e){return!!pY[e]}y_(pY);var QY=y_({axis:1,axisBand:1,axisBottom:1,axisDiscrete:1,axisLeft:1,axisPoint:1,axisQuantitative:1,axisRight:1,axisTemporal:1,axisTop:1,axisX:1,axisXBand:1,axisXDiscrete:1,axisXPoint:1,axisXQuantitative:1,axisXTemporal:1,axisY:1,axisYBand:1,axisYDiscrete:1,axisYPoint:1,axisYQuantitative:1,axisYTemporal:1});function yY(e){return"mark"in e}var vY=function(){function e(t,A){Object(y.a)(this,e),this.name=t,this.run=A}return Object(v.a)(e,[{key:"hasMatchingType",value:function(e){return!!yY(e)&&(TZ(t=e.mark)?t.type:t)===this.name;var t}}]),e}(),mY=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function bY(e,t){var A=e&&e[t];return!!A&&(kU(A)?u_(A,(function(e){return!!e.field})):DH(A)||FH(A))}function wY(e){return u_(cM,(function(t){if(bY(e,t)){var A=e[t];if(kU(A))return u_(A,(function(e){return!!e.aggregate}));var n=AY(A);return n&&!!n.aggregate}return!1}))}function SY(e,t){var A=[],n=[],r=[],i=[],o={};return GY(e,(function(a,s){if(DH(a)){var g=a.field,c=a.aggregate,u=a.bin,l=a.timeUnit,I=mY(a,["field","aggregate","bin","timeUnit"]);if(c||l||u){var C,h=zH(a),f=null===h||void 0===h?void 0:h.title,d=JH(a,{forAs:!0}),B=Object.assign(Object.assign(Object.assign({},f?[]:{title:qH(a,t,{allowDisabling:!0})}),I),{field:d});if(c){if(TM(c)?(C="argmax",d=JH({op:"argmax",field:c.argmax},{forAs:!0}),B.field="".concat(d,".").concat(g)):LM(c)?(C="argmin",d=JH({op:"argmin",field:c.argmin},{forAs:!0}),B.field="".concat(d,".").concat(g)):"boxplot"!==c&&"errorbar"!==c&&"errorband"!==c&&(C=c),C){var p={op:C,as:d};g&&(p.field=g),i.push(p)}}else if(A.push(d),_H(a)&&VM(u)){if(n.push({bin:u,field:g,as:d}),A.push(JH(a,{binSuffix:"end"})),IY(a,s)&&A.push(JH(a,{binSuffix:"range"})),mM(s)){var E={field:"".concat(d,"_end")};o["".concat(s,"2")]=E}B.bin="binned",hM(s)||(B.type=MT)}else if(l){r.push({timeUnit:l,field:g,as:d});var Q=_H(a)&&a.type!==LT&&"time";Q&&("text"===s||"tooltip"===s?B.formatType=Q:!function(e){return!!EM[e]}(s)?mM(s)&&(B.axis=Object.assign({formatType:Q},B.axis)):B.legend=Object.assign({formatType:Q},B.legend))}o[s]=B}else A.push(g),o[s]=e[s]}else o[s]=e[s]})),{bins:n,timeUnits:r,aggregate:i,groupby:A,encoding:o}}function FY(e,t,A,n){return y_(e).reduce((function(r,i){if(!IM(i))return tT(B.invalidEncodingChannel(i)),r;var o=e[i];if("angle"!==i||"arc"!==t||e.theta||(tT(B.REPLACE_ANGLE_WITH_THETA),i=W_),!function(e,t,A){var n=xM(t,A);if(!n)return!1;if("binned"===n){var r=e["x2"===t?"x":"y"];return!!(DH(r)&&DH(e[t])&&KM(r.bin))}return!0}(e,i,t))return tT(B.incompatibleChannel(i,t)),r;if("size"===i&&"line"===t){var a=AY(e[i]);if(null===a||void 0===a?void 0:a.aggregate)return tT(B.LINE_WITH_VARYING_SIZE),r}if(i===q_&&(A?"fill"in e:"stroke"in e))return tT(B.droppingColor("encoding",{fill:"fill"in e,stroke:"stroke"in e})),r;if("detail"===i||"order"===i&&!kU(o)&&!MH(o)||"tooltip"===i&&kU(o))o&&(r[i]=OU(o).reduce((function(e,t){return DH(t)?e.push(oY(t,i)):tT(B.emptyFieldDef(t,i)),e}),[]));else{if("tooltip"===i&&null===o)r[i]=null;else if(!DH(o)&&!kH(o)&&!MH(o)&&!SH(o)&&!nO(o))return tT(B.emptyFieldDef(o,i)),r;r[i]=rY(o,i,n)}return r}),{})}function RY(e,t){var A,n={},r=Object(ut.a)(y_(e));try{for(r.s();!(A=r.n()).done;){var i=A.value,o=rY(e[i],i,t,{compositeMark:!0});n[i]=o}}catch(a){r.e(a)}finally{r.f()}return n}function DY(e){var t,A=[],n=Object(ut.a)(y_(e));try{for(n.s();!(t=n.n()).done;){var r=t.value;if(bY(e,r)){var i,o=OU(e[r]),a=Object(ut.a)(o);try{for(a.s();!(i=a.n()).done;){var s=i.value;DH(s)?A.push(s):FH(s)&&A.push(s.condition)}}catch(g){a.e(g)}finally{a.f()}}}}catch(g){n.e(g)}finally{n.f()}return A}function GY(e,t,A){if(e){var n,r=Object(ut.a)(y_(e));try{for(r.s();!(n=r.n()).done;){var i=n.value,o=e[i];if(kU(o)){var a,s=Object(ut.a)(o);try{for(s.s();!(a=s.n()).done;){var g=a.value;t.call(A,g,i)}}catch(c){s.e(c)}finally{s.f()}}else t.call(A,o,i)}}catch(c){r.e(c)}finally{r.f()}}}function kY(e,t){return y_(t).reduce((function(A,n){switch(n){case"x":case"y":case"href":case"description":case"url":case"x2":case"y2":case W_:case X_:case K_:case"radius2":case"latitude":case"longitude":case"latitude2":case"longitude2":case"text":case eM:case"angle":case"tooltip":return A;case"order":if("line"===e||"trail"===e)return A;case"detail":case"key":var r=t[n];if(kU(r)||DH(r)){var i,o=Object(ut.a)(OU(r));try{for(o.s();!(i=o.n()).done;){var a=i.value;a.aggregate||A.push(JH(a,{}))}}catch(g){o.e(g)}finally{o.f()}}return A;case"size":if("trail"===e)return A;case q_:case z_:case $_:case"opacity":case"fillOpacity":case"strokeOpacity":case"strokeDash":case"strokeWidth":var s=AY(t[n]);return s&&!s.aggregate&&A.push(JH(s,{})),A}}),[])}var xY=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function NY(e,t,A){var n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if("tooltip"in A)return{tooltip:A.tooltip};var r=e.map((function(e){var A=e.fieldPrefix,r=e.titlePrefix,i=n?" of ".concat(UY(t)):"";return{field:A+t.field,type:t.type,title:nO(r)?{signal:"".concat(r,'"').concat(escape(i),'"')}:r+i}})),i=DY(A).map(HH);return{tooltip:[].concat(Object(zn.a)(r),Object(zn.a)(h_(i,s_)))}}function UY(e){return M_(e.title,e.field)}function _Y(e,t,A,n,r){var i=A.scale,o=A.axis;return function(a){var s=a.partName,g=a.mark,c=a.positionPrefix,u=a.endPositionPrefix,l=void 0===u?void 0:u,I=a.extraEncoding,C=void 0===I?{}:I,h=UY(A);return MY(e,s,r,{mark:g,encoding:Object.assign(Object.assign(Object.assign(Object($n.a)({},t,Object.assign(Object.assign(Object.assign({field:"".concat(c,"_").concat(A.field),type:A.type},void 0!==h?{title:h}:{}),void 0!==i?{scale:i}:{}),void 0!==o?{axis:o}:{})),JU(l)?Object($n.a)({},"".concat(t,"2"),{field:"".concat(l,"_").concat(A.field)}):{}),n),C)})}}function MY(e,t,A,n){var r=e.clip,i=e.color,o=e.opacity,a=e.type;return e[t]||void 0===e[t]&&A[t]?[Object.assign(Object.assign({},n),{mark:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},A[t]),r?{clip:r}:{}),i?{color:i}:{}),o?{opacity:o}:{}),TZ(n.mark)?n.mark:{type:n.mark}),{style:"".concat(a,"-").concat(t)}),HU(e[t])?{}:e[t])})]:[]}function OY(e,t,A){var n=e.encoding,r="vertical"===t?"y":"x",i=n[r],o=n["".concat(r,"2")],a=n["".concat(r,"Error")],s=n["".concat(r,"Error2")];return{continuousAxisChannelDef:LY(i,A),continuousAxisChannelDef2:LY(o,A),continuousAxisChannelDefError:LY(a,A),continuousAxisChannelDefError2:LY(s,A),continuousAxis:r}}function LY(e,t){if(null===e||void 0===e?void 0:e.aggregate){var A=e.aggregate,n=xY(e,["aggregate"]);return A!==t&&tT(B.errorBarContinuousAxisHasCustomizedAggregate(A,t)),n}return e}function TY(e,t){var A=e.mark,n=e.encoding,r=n.x,i=n.y;if(TZ(A)&&A.orient)return A.orient;if(xH(r)){if(xH(i)){var o=DH(r)&&r.aggregate,a=DH(i)&&i.aggregate;if(o||a!==t){if(a||o!==t){if(o===t&&a===t)throw new Error("Both x and y cannot have aggregate");return cY(i)&&!cY(r)?"horizontal":"vertical"}return"horizontal"}return"vertical"}return"horizontal"}if(xH(i))return"vertical";throw new Error("Need a valid continuous axis for ".concat(t,"s"))}var ZY=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},HY=new vY("boxplot",JY);function YY(e){return YU(e)?"tukey":e}function JY(e,t){var A,n,r=t.config,i=e=Object.assign(Object.assign({},e),{encoding:RY(e.encoding,r)}),o=i.mark,a=(i.encoding,i.params),s=(i.projection,ZY(e,["mark","encoding","params","projection"])),g=TZ(o)?o:{type:o};a&&tT(B.selectionNotSupported("boxplot"));var c=null!==(A=g.extent)&&void 0!==A?A:r.boxplot.extent,u=dO("size",g,r),l=YY(c),I=function(e,t,A){var n=TY(e,"boxplot"),r=OY(e,n,"boxplot"),i=r.continuousAxisChannelDef,o=r.continuousAxis,a=i.field,s=YY(t),g=[].concat(Object(zn.a)(jY(a)),[{op:"median",field:a,as:"mid_box_".concat(a)},{op:"min",field:a,as:("min-max"===s?"lower_whisker_":"min_")+a},{op:"max",field:a,as:("min-max"===s?"upper_whisker_":"max_")+a}]),c="min-max"===s||"tukey"===s?[]:[{calculate:'datum["upper_box_'.concat(a,'"] - datum["lower_box_').concat(a,'"]'),as:"iqr_".concat(a)},{calculate:'min(datum["upper_box_'.concat(a,'"] + datum["iqr_').concat(a,'"] * ').concat(t,', datum["max_').concat(a,'"])'),as:"upper_whisker_".concat(a)},{calculate:'max(datum["lower_box_'.concat(a,'"] - datum["iqr_').concat(a,'"] * ').concat(t,', datum["min_').concat(a,'"])'),as:"lower_whisker_".concat(a)}],u=e.encoding,l=o,I=(u[l],function(e){var t,A,n=e.tooltip,r=xY(e,["tooltip"]);if(!n)return{filteredEncoding:r};if(kU(n)){var i,o=Object(ut.a)(n);try{for(o.s();!(i=o.n()).done;){var a=i.value;a.aggregate?(t||(t=[]),t.push(a)):(A||(A=[]),A.push(a))}}catch(s){o.e(s)}finally{o.f()}t&&(r.tooltip=t)}else n.aggregate?r.tooltip=n:A=n;return kU(A)&&1===A.length&&(A=A[0]),{customTooltipWithoutAggregatedField:A,filteredEncoding:r}}(ZY(u,["symbol"===typeof l?l:l+""]))),C=I.customTooltipWithoutAggregatedField,h=SY(I.filteredEncoding,A),f=h.bins,d=h.timeUnits,B=h.aggregate,p=h.groupby,E=h.encoding,Q="vertical"===n?"horizontal":"vertical",y=n,v=[].concat(Object(zn.a)(f),Object(zn.a)(d),[{aggregate:[].concat(Object(zn.a)(B),Object(zn.a)(g)),groupby:p}],c);return{bins:f,timeUnits:d,transform:v,groupby:p,aggregate:B,continuousAxisChannelDef:i,continuousAxis:o,encodingWithoutContinuousAxis:E,ticksOrient:Q,boxOrient:y,customTooltipWithoutAggregatedField:C}}(e,c,r),C=I.bins,h=I.timeUnits,f=I.transform,d=I.continuousAxisChannelDef,p=I.continuousAxis,E=I.groupby,Q=I.aggregate,y=I.encodingWithoutContinuousAxis,v=I.ticksOrient,m=I.boxOrient,b=I.customTooltipWithoutAggregatedField,w=y.color,S=y.size,F=ZY(y,["color","size"]),R=function(e){return _Y(g,p,d,e,r.boxplot)},D=R(F),G=R(y),k=R(Object.assign(Object.assign({},F),S?{size:S}:{})),x=NY([{fieldPrefix:"min-max"===l?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:"min-max"===l?"lower_whisker_":"min_",titlePrefix:"Min"}],d,y),N={type:"tick",color:"black",opacity:1,orient:v,invalid:null,aria:!1},U="min-max"===l?x:NY([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],d,y),_=[].concat(Object(zn.a)(D({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:U})),Object(zn.a)(D({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:U})),Object(zn.a)(D({partName:"ticks",mark:N,positionPrefix:"lower_whisker",extraEncoding:U})),Object(zn.a)(D({partName:"ticks",mark:N,positionPrefix:"upper_whisker",extraEncoding:U}))),M=[].concat(Object(zn.a)("tukey"!==l?_:[]),Object(zn.a)(G({partName:"box",mark:Object.assign(Object.assign({type:"bar"},u?{size:u}:{}),{orient:m,invalid:null,ariaRoleDescription:"box"}),positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:x})),Object(zn.a)(k({partName:"median",mark:Object.assign(Object.assign(Object.assign({type:"tick",invalid:null},xU(r.boxplot.median)&&r.boxplot.median.color?{color:r.boxplot.median.color}:{}),u?{size:u}:{}),{orient:v,aria:!1}),positionPrefix:"mid_box",extraEncoding:x})));if("min-max"===l)return Object.assign(Object.assign({},s),{transform:(null!==(n=s.transform)&&void 0!==n?n:[]).concat(f),layer:M});var O,L,T='datum["lower_box_'.concat(d.field,'"]'),Z='datum["upper_box_'.concat(d.field,'"]'),H="(".concat(Z," - ").concat(T,")"),Y="".concat(T," - ").concat(c," * ").concat(H),J="".concat(Z," + ").concat(c," * ").concat(H),j='datum["'.concat(d.field,'"]'),P={joinaggregate:jY(d.field),groupby:E},V={transform:[{filter:"(".concat(Y," <= ").concat(j,") && (").concat(j," <= ").concat(J,")")},{aggregate:[{op:"min",field:d.field,as:"lower_whisker_".concat(d.field)},{op:"max",field:d.field,as:"upper_whisker_".concat(d.field)},{op:"min",field:"lower_box_".concat(d.field),as:"lower_box_".concat(d.field)},{op:"max",field:"upper_box_".concat(d.field),as:"upper_box_".concat(d.field)}].concat(Object(zn.a)(Q)),groupby:E}],layer:_},K=(F.tooltip,ZY(F,["tooltip"])),W=d.scale,X=d.axis,q=UY(d),z=o_(X,["title"]),$=MY(g,"outliers",r.boxplot,{transform:[{filter:"(".concat(j," < ").concat(Y,") || (").concat(j," > ").concat(J,")")}],mark:"point",encoding:Object.assign(Object.assign(Object.assign(Object($n.a)({},p,Object.assign(Object.assign(Object.assign({field:d.field,type:d.type},void 0!==q?{title:q}:{}),void 0!==W?{scale:W}:{}),Q_(z)?{}:{axis:z})),K),w?{color:w}:{}),b?{tooltip:b}:{})})[0],ee=[].concat(Object(zn.a)(C),Object(zn.a)(h),[P]);$?O={transform:ee,layer:[$,V]}:(L=(O=V).transform).unshift.apply(L,Object(zn.a)(ee));return Object.assign(Object.assign({},s),{layer:[O,{transform:f,layer:M}]})}function jY(e){return[{op:"q1",field:e,as:"lower_box_".concat(e)},{op:"q3",field:e,as:"upper_box_".concat(e)}]}var PY=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},VY=new vY("errorbar",KY);function KY(e,t){var A=t.config,n=XY(e=Object.assign(Object.assign({},e),{encoding:RY(e.encoding,A)}),"errorbar",A),r=n.transform,i=n.continuousAxisChannelDef,o=n.continuousAxis,a=n.encodingWithoutContinuousAxis,s=n.ticksOrient,g=n.markDef,c=n.outerSpec,u=n.tooltipEncoding;delete a.size;var l=_Y(g,o,i,a,A.errorbar),I=g.thickness,C=g.size,h=Object.assign(Object.assign({type:"tick",orient:s,aria:!1},void 0!==I?{thickness:I}:{}),void 0!==C?{size:C}:{}),f=[].concat(Object(zn.a)(l({partName:"ticks",mark:h,positionPrefix:"lower",extraEncoding:u})),Object(zn.a)(l({partName:"ticks",mark:h,positionPrefix:"upper",extraEncoding:u})),Object(zn.a)(l({partName:"rule",mark:Object.assign({type:"rule",ariaRoleDescription:"errorbar"},void 0!==I?{size:I}:{}),positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:u})));return Object.assign(Object.assign(Object.assign({},c),{transform:r}),f.length>1?{layer:f}:Object.assign({},f[0]))}function WY(e,t){var A=e.encoding;if(function(e){return(UH(e.x)||UH(e.y))&&!UH(e.x2)&&!UH(e.y2)&&!UH(e.xError)&&!UH(e.xError2)&&!UH(e.yError)&&!UH(e.yError2)}(A))return{orient:TY(e,t),inputType:"raw"};var n=function(e){return UH(e.x2)||UH(e.y2)}(A),r=function(e){return UH(e.xError)||UH(e.xError2)||UH(e.yError)||UH(e.yError2)}(A),i=A.x,o=A.y;if(n){if(r)throw new Error("".concat(t," cannot be both type aggregated-upper-lower and aggregated-error"));var a=A.x2,s=A.y2;if(UH(a)&&UH(s))throw new Error("".concat(t," cannot have both x2 and y2"));if(UH(a)){if(xH(i))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw new Error("Both x and x2 have to be quantitative in ".concat(t))}if(UH(s)){if(xH(o))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw new Error("Both y and y2 have to be quantitative in ".concat(t))}throw new Error("No ranged axis")}var g=A.xError,c=A.xError2,u=A.yError,l=A.yError2;if(UH(c)&&!UH(g))throw new Error("".concat(t," cannot have xError2 without xError"));if(UH(l)&&!UH(u))throw new Error("".concat(t," cannot have yError2 without yError"));if(UH(g)&&UH(u))throw new Error("".concat(t," cannot have both xError and yError with both are quantiative"));if(UH(g)){if(xH(i))return{orient:"horizontal",inputType:"aggregated-error"};throw new Error("All x, xError, and xError2 (if exist) have to be quantitative")}if(UH(u)){if(xH(o))return{orient:"vertical",inputType:"aggregated-error"};throw new Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw new Error("No ranged axis")}function XY(e,t,A){var n,r=e.mark,i=e.encoding,o=e.params,a=(e.projection,PY(e,["mark","encoding","params","projection"])),s=TZ(r)?r:{type:r};o&&tT(B.selectionNotSupported(t));var g=WY(e,t),c=g.orient,u=g.inputType,l=OY(e,c,t),I=l.continuousAxisChannelDef,C=l.continuousAxisChannelDef2,h=l.continuousAxisChannelDefError,f=l.continuousAxisChannelDefError2,d=l.continuousAxis,p=function(e,t,A,n,r,i,o,a){var s,g=[],c=[],u=t.field,l=!1;if("raw"===i){var I,C,h,f=e.center?e.center:e.extent?"iqr"===e.extent?"median":"mean":a.errorbar.center,d=e.extent?e.extent:"mean"===f?"stderr":"iqr";if("median"===f!==("iqr"===d)&&tT(B.errorBarCenterIsUsedWithWrongExtent(f,d,o)),"stderr"===d||"stdev"===d)g=[{op:d,field:u,as:"extent_".concat(u)},{op:f,field:u,as:"center_".concat(u)}],c=[{calculate:'datum["center_'.concat(u,'"] + datum["extent_').concat(u,'"]'),as:"upper_".concat(u)},{calculate:'datum["center_'.concat(u,'"] - datum["extent_').concat(u,'"]'),as:"lower_".concat(u)}],s=[{fieldPrefix:"center_",titlePrefix:R_(f)},{fieldPrefix:"upper_",titlePrefix:qY(f,d,"+")},{fieldPrefix:"lower_",titlePrefix:qY(f,d,"-")}],l=!0;else"ci"===d?(I="mean",C="ci0",h="ci1"):(I="median",C="q1",h="q3"),g=[{op:C,field:u,as:"lower_".concat(u)},{op:h,field:u,as:"upper_".concat(u)},{op:I,field:u,as:"center_".concat(u)}],s=[{fieldPrefix:"upper_",titlePrefix:qH({field:u,aggregate:h,type:"quantitative"},a,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:qH({field:u,aggregate:C,type:"quantitative"},a,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:qH({field:u,aggregate:I,type:"quantitative"},a,{allowDisabling:!1})}]}else{(e.center||e.extent)&&tT(B.errorBarCenterAndExtentAreNotNeeded(e.center,e.extent)),"aggregated-upper-lower"===i?(s=[],c=[{calculate:'datum["'.concat(A.field,'"]'),as:"upper_".concat(u)},{calculate:'datum["'.concat(u,'"]'),as:"lower_".concat(u)}]):"aggregated-error"===i&&(s=[{fieldPrefix:"",titlePrefix:u}],c=[{calculate:'datum["'.concat(u,'"] + datum["').concat(n.field,'"]'),as:"upper_".concat(u)}],r?c.push({calculate:'datum["'.concat(u,'"] + datum["').concat(r.field,'"]'),as:"lower_".concat(u)}):c.push({calculate:'datum["'.concat(u,'"] - datum["').concat(n.field,'"]'),as:"lower_".concat(u)}));var p,E=Object(ut.a)(c);try{for(E.s();!(p=E.n()).done;){var Q=p.value;s.push({fieldPrefix:Q.as.substring(0,6),titlePrefix:N_(N_(Q.calculate,'datum["',""),'"]',"")})}}catch(y){E.e(y)}finally{E.f()}}return{postAggregateCalculates:c,errorBarSpecificAggregate:g,tooltipSummary:s,tooltipTitleWithFieldName:l}}(s,I,C,h,f,u,t,A),E=p.errorBarSpecificAggregate,Q=p.postAggregateCalculates,y=p.tooltipSummary,v=p.tooltipTitleWithFieldName,m=i,b=d,w=(m[b],"x"===d?"x2":"y2"),S=(m[w],"x"===d?"xError":"yError"),F=(m[S],"x"===d?"xError2":"yError2"),R=(m[F],SY(PY(m,["symbol"===typeof b?b:b+"","symbol"===typeof w?w:w+"","symbol"===typeof S?S:S+"","symbol"===typeof F?F:F+""]),A)),D=R.bins,G=R.timeUnits,k=R.aggregate,x=R.groupby,N=R.encoding,U=[].concat(Object(zn.a)(k),Object(zn.a)(E)),_="raw"!==u?[]:x,M=NY(y,I,N,v);return{transform:[].concat(Object(zn.a)(null!==(n=a.transform)&&void 0!==n?n:[]),Object(zn.a)(D),Object(zn.a)(G),Object(zn.a)(0===U.length?[]:[{aggregate:U,groupby:_}]),Object(zn.a)(Q)),groupby:_,continuousAxisChannelDef:I,continuousAxis:d,encodingWithoutContinuousAxis:N,ticksOrient:"vertical"===c?"horizontal":"vertical",markDef:s,outerSpec:a,tooltipEncoding:M}}function qY(e,t,A){return"".concat(R_(e)," ").concat(A," ").concat(t)}var zY=new vY("errorband",$Y);function $Y(e,t){var A=t.config,n=XY(e=Object.assign(Object.assign({},e),{encoding:RY(e.encoding,A)}),"errorband",A),r=n.transform,i=n.continuousAxisChannelDef,o=n.continuousAxis,a=n.encodingWithoutContinuousAxis,s=n.markDef,g=n.outerSpec,c=n.tooltipEncoding,u=s,l=_Y(u,o,i,a,A.errorband),I=void 0!==e.encoding.x&&void 0!==e.encoding.y,C={type:I?"area":"rect"},h={type:I?"line":"rule"},f=Object.assign(Object.assign({},u.interpolate?{interpolate:u.interpolate}:{}),u.tension&&u.interpolate?{tension:u.tension}:{});return I?(C=Object.assign(Object.assign(Object.assign({},C),f),{ariaRoleDescription:"errorband"}),h=Object.assign(Object.assign(Object.assign({},h),f),{aria:!1})):u.interpolate?tT(B.errorBand1DNotSupport("interpolate")):u.tension&&tT(B.errorBand1DNotSupport("tension")),Object.assign(Object.assign({},g),{transform:r,layer:[].concat(Object(zn.a)(l({partName:"band",mark:C,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:c})),Object(zn.a)(l({partName:"borders",mark:h,positionPrefix:"lower",extraEncoding:c})),Object(zn.a)(l({partName:"borders",mark:h,positionPrefix:"upper",extraEncoding:c})))})}var eJ={};function tJ(e,t,A){var n=new vY(e,t);eJ[e]={normalizer:n,parts:A}}tJ("boxplot",JY,["box","median","outliers","rule","ticks"]),tJ("errorbar",KY,["ticks","rule"]),tJ("errorband",$Y,["band","borders"]);var AJ=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],nJ={titleAlign:"align",titleAnchor:"anchor",titleAngle:"angle",titleBaseline:"baseline",titleColor:"color",titleFont:"font",titleFontSize:"fontSize",titleFontStyle:"fontStyle",titleFontWeight:"fontWeight",titleLimit:"limit",titleLineHeight:"lineHeight",titleOrient:"orient",titlePadding:"offset"},rJ={labelAlign:"align",labelAnchor:"anchor",labelAngle:"angle",labelBaseline:"baseline",labelColor:"color",labelFont:"font",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelLimit:"limit",labelLineHeight:"lineHeight",labelOrient:"orient",labelPadding:"offset"},iJ=y_(nJ),oJ=y_(rJ),aJ=y_({header:1,headerRow:1,headerColumn:1,headerFacet:1}),sJ=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],gJ={aria:1,clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,description:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolLimit:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1},cJ=(y_(gJ),{point:{on:"click",fields:["_vgsid_"],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[mousedown, window:mouseup] > window:mousemove!",encodings:["x","y"],translate:"[mousedown, window:mouseup] > window:mousemove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}});function uJ(e){return!!e&&("legend"===e||!!e.legend)}function lJ(e){return uJ(e)&&xU(e)}function IJ(e){return!!e.select}var CJ=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function hJ(e){var t,A=[],n=Object(ut.a)(e||[]);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(!IJ(r)){var i=r.expr,o=r.bind,a=CJ(r,["expr","bind"]);if(o&&i){var s=Object.assign(Object.assign({},a),{bind:o,init:i});A.push(s)}else{var g=Object.assign(Object.assign(Object.assign({},a),i?{update:i}:{}),o?{bind:o}:{});A.push(g)}}}}catch(c){n.e(c)}finally{n.f()}return A}function fJ(e){return"concat"in e}function dJ(e){return"vconcat"in e}function BJ(e){return"hconcat"in e}function pJ(e){return xU(e)&&void 0!==e.step}function EJ(e){return e.view||e.width||e.height}var QJ=y_({align:1,bounds:1,center:1,columns:1,spacing:1});var yJ=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function vJ(e,t){var A;return null!==(A=e[t])&&void 0!==A?A:e["width"===t?"continuousWidth":"continuousHeight"]}function mJ(e,t){var A=bJ(e,t);return pJ(A)?A.step:wJ}function bJ(e,t){var A;return M_(null!==(A=e[t])&&void 0!==A?A:e["width"===t?"discreteWidth":"discreteHeight"],{step:e.step})}var wJ=20;var SJ={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:200,continuousHeight:200,step:wJ},mark:{color:"#4c78a8",invalid:"filter",timeUnitBandSize:1},arc:{},area:{},bar:PZ,circle:{},geoshape:{},image:{},line:{},point:{},rect:VZ,rule:{color:"black"},square:{},text:{color:"black"},tick:{thickness:1},trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:"white"},outliers:{},rule:{},ticks:null},errorbar:{center:"mean",rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:{pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:9,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4},projection:{},legend:{gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:cJ,style:{},title:{},facet:{spacing:20},concat:{spacing:20}},FJ=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],RJ={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},DJ={blue:FJ[0],orange:FJ[1],red:FJ[2],teal:FJ[3],green:FJ[4],yellow:FJ[5],purple:FJ[6],pink:FJ[7],brown:FJ[8],gray0:"#000",gray1:"#111",gray2:"#222",gray3:"#333",gray4:"#444",gray5:"#555",gray6:"#666",gray7:"#777",gray8:"#888",gray9:"#999",gray10:"#aaa",gray11:"#bbb",gray12:"#ccc",gray13:"#ddd",gray14:"#eee",gray15:"#fff"};function GJ(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{signals:[{name:"color",value:xU(e)?Object.assign(Object.assign({},DJ),e):DJ}],mark:{color:{signal:"color.blue"}},rule:{color:{signal:"color.gray0"}},text:{color:{signal:"color.gray0"}},style:{"guide-label":{fill:{signal:"color.gray0"}},"guide-title":{fill:{signal:"color.gray0"}},"group-title":{fill:{signal:"color.gray0"}},"group-subtitle":{fill:{signal:"color.gray0"}},cell:{stroke:{signal:"color.gray8"}}},axis:{domainColor:{signal:"color.gray13"},gridColor:{signal:"color.gray8"},tickColor:{signal:"color.gray13"}},range:{category:[{signal:"color.blue"},{signal:"color.orange"},{signal:"color.red"},{signal:"color.teal"},{signal:"color.green"},{signal:"color.yellow"},{signal:"color.purple"},{signal:"color.pink"},{signal:"color.brown"},{signal:"color.grey8"}]}}}function kJ(e){return{signals:[{name:"fontSize",value:xU(e)?Object.assign(Object.assign({},RJ),e):RJ}],text:{fontSize:{signal:"fontSize.text"}},style:{"guide-label":{fontSize:{signal:"fontSize.guideLabel"}},"guide-title":{fontSize:{signal:"fontSize.guideTitle"}},"group-title":{fontSize:{signal:"fontSize.groupTitle"}},"group-subtitle":{fontSize:{signal:"fontSize.groupSubtitle"}}}}}function xJ(e){return{text:{font:e},style:{"guide-label":{font:e},"guide-title":{font:e},"group-title":{font:e},"group-subtitle":{font:e}}}}function NJ(e){var t,A=y_(e||{}),n={},r=Object(ut.a)(A);try{for(r.s();!(t=r.n()).done;){var i=t.value,o=e[i];n[i]=hY(o)?cO(o):uO(o)}}catch(a){r.e(a)}finally{r.f()}return n}function UJ(e){var t,A=y_(e),n={},r=Object(ut.a)(A);try{for(r.s();!(t=r.n()).done;){var i=t.value;n[i]=NJ(e[i])}}catch(o){r.e(o)}finally{r.f()}return n}var _J=[].concat(Object(zn.a)(YZ),Object(zn.a)(QY),Object(zn.a)(aJ),["background","padding","legend","lineBreak","scale","style","title","view"]);function MJ(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.color,A=e.font,n=e.fontSize,r=e.selection,i=yJ(e,["color","font","fontSize","selection"]),o=UU({},r_(SJ),A?xJ(A):{},t?GJ(t):{},n?kJ(n):{},i||{});r&&Object(ue.lb)(o,"selection",r,!0);for(var a=o_(o,_J),s=0,g=["background","lineBreak","padding"];s<g.length;s++){var c=g[s];o[c]&&(a[c]=uO(o[c]))}var u,l=Object(ut.a)(YZ);try{for(l.s();!(u=l.n()).done;){var I=u.value;o[I]&&(a[I]=$M(o[I]))}}catch(E){l.e(E)}finally{l.f()}var C,h=Object(ut.a)(QY);try{for(h.s();!(C=h.n()).done;){var f=C.value;o[f]&&(a[f]=NJ(o[f]))}}catch(E){h.e(E)}finally{h.f()}var d,B=Object(ut.a)(aJ);try{for(B.s();!(d=B.n()).done;){var p=d.value;o[p]&&(a[p]=$M(o[p]))}}catch(E){B.e(E)}finally{B.f()}return o.legend&&(a.legend=$M(o.legend)),o.scale&&(a.scale=$M(o.scale)),o.style&&(a.style=UJ(o.style)),o.title&&(a.title=$M(o.title)),o.view&&(a.view=$M(o.view)),a}var OJ=["view"].concat(Object(zn.a)(LZ)),LJ=["color","fontSize","background","padding","facet","concat","numberFormat","timeFormat","countTitle","header","axisQuantitative","axisTemporal","axisDiscrete","axisPoint","axisXBand","axisXPoint","axisXDiscrete","axisXQuantitative","axisXTemporal","axisYBand","axisYPoint","axisYDiscrete","axisYQuantitative","axisYTemporal","scale","selection","overlay"],TJ=Object.assign({view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"]},{area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize"],line:["point"],tick:["bandSize","thickness"]});function ZJ(e){e=r_(e);var t,A=Object(ut.a)(LJ);try{for(A.s();!(t=A.n()).done;){delete e[t.value]}}catch(v){A.e(v)}finally{A.f()}if(e.axis)for(var n in e.axis)hY(e.axis[n])&&delete e.axis[n];if(e.legend){var r,i=Object(ut.a)(AJ);try{for(i.s();!(r=i.n()).done;){var o=r.value;delete e.legend[o]}}catch(v){i.e(v)}finally{i.f()}}if(e.mark){var a,s=Object(ut.a)(HZ);try{for(s.s();!(a=s.n()).done;){var g=a.value;delete e.mark[g]}}catch(v){s.e(v)}finally{s.f()}e.mark.tooltip&&xU(e.mark.tooltip)&&delete e.mark.tooltip}e.params&&(e.signals=(e.signals||[]).concat(hJ(e.params)),delete e.params);var c,u=Object(ut.a)(OJ);try{for(u.s();!(c=u.n()).done;){var l,I=c.value,C=Object(ut.a)(HZ);try{for(C.s();!(l=C.n()).done;){var h=l.value;delete e[I][h]}}catch(v){C.e(v)}finally{C.f()}var f=TJ[I];if(f){var d,B=Object(ut.a)(f);try{for(B.s();!(d=B.n()).done;){var p=d.value;delete e[I][p]}}catch(v){B.e(v)}finally{B.f()}}HJ(e,I)}}catch(v){u.e(v)}finally{u.f()}var E,Q=Object(ut.a)(y_(eJ));try{for(Q.s();!(E=Q.n()).done;){delete e[E.value]}}catch(v){Q.e(v)}finally{Q.f()}for(var y in function(e){var t=tO(e.title),A=t.titleMarkConfig,n=t.subtitleMarkConfig,r=t.subtitle;Q_(A)||(e.style["group-title"]=Object.assign(Object.assign({},e.style["group-title"]),A));Q_(n)||(e.style["group-subtitle"]=Object.assign(Object.assign({},e.style["group-subtitle"]),n));Q_(r)?delete e.title:e.title=r}(e),e)xU(e[y])&&Q_(e[y])&&delete e[y];return Q_(e)?void 0:e}function HJ(e,t,A,n){var r=n?e[t][n]:e[t];"view"===t&&(A="cell");var i=Object.assign(Object.assign({},r),e.style[null!==A&&void 0!==A?A:t]);Q_(i)||(e.style[null!==A&&void 0!==A?A:t]=i),n||delete e[t]}function YJ(e){return"layer"in e}var JJ=A(16),jJ=A(17),PJ=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},VJ=function(){function e(){Object(y.a)(this,e)}return Object(v.a)(e,[{key:"map",value:function(e,t){return EH(e)?this.mapFacet(e,t):function(e){return"repeat"in e}(e)?this.mapRepeat(e,t):BJ(e)?this.mapHConcat(e,t):dJ(e)?this.mapVConcat(e,t):fJ(e)?this.mapConcat(e,t):this.mapLayerOrUnit(e,t)}},{key:"mapLayerOrUnit",value:function(e,t){if(YJ(e))return this.mapLayer(e,t);if(yY(e))return this.mapUnit(e,t);throw new Error(B.invalidSpec(e))}},{key:"mapLayer",value:function(e,t){var A=this;return Object.assign(Object.assign({},e),{layer:e.layer.map((function(e){return A.mapLayerOrUnit(e,t)}))})}},{key:"mapHConcat",value:function(e,t){var A=this;return Object.assign(Object.assign({},e),{hconcat:e.hconcat.map((function(e){return A.map(e,t)}))})}},{key:"mapVConcat",value:function(e,t){var A=this;return Object.assign(Object.assign({},e),{vconcat:e.vconcat.map((function(e){return A.map(e,t)}))})}},{key:"mapConcat",value:function(e,t){var A=this,n=e.concat,r=PJ(e,["concat"]);return Object.assign(Object.assign({},r),{concat:n.map((function(e){return A.map(e,t)}))})}},{key:"mapFacet",value:function(e,t){return Object.assign(Object.assign({},e),{spec:this.map(e.spec,t)})}},{key:"mapRepeat",value:function(e,t){return Object.assign(Object.assign({},e),{spec:this.map(e.spec,t)})}}]),e}(),KJ={zero:1,center:1,normalize:1};function WJ(e){return e in KJ}var XJ=new Set([vZ,bZ,mZ,DZ,FZ,NZ,UZ,SZ,GZ,kZ]),qJ=new Set([bZ,mZ,vZ]);function zJ(e){return DH(e)&&"quantitative"===GH(e)&&!e.bin}function $J(e,t){var A,n,r="x"===t?"y":"radius",i=e[t],o=e[r];if(DH(i)&&DH(o))if(zJ(i)&&zJ(o)){if(i.stack)return t;if(o.stack)return r;var a=DH(i)&&!!i.aggregate;if(a!==(DH(o)&&!!o.aggregate))return a?t:r;var s=null===(A=i.scale)||void 0===A?void 0:A.type,g=null===(n=o.scale)||void 0===n?void 0:n.type;if(s&&"linear"!==s)return r;if(g&&"linear"!==g)return t}else{if(zJ(i))return t;if(zJ(o))return r}else{if(zJ(i))return t;if(zJ(o))return r}}function ej(e){switch(e){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}function tj(e,t){var A,n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=TZ(e)?e.type:e;if(!XJ.has(i))return null;var o=$J(t,"x")||$J(t,"theta");if(!o)return null;var a=t[o],s=DH(a)?JH(a,{}):void 0,g=ej(o),c=t[g],u=DH(c)?JH(c,{}):void 0;u===s&&(u=void 0,c=void 0,g=void 0);var l,I=QM.reduce((function(e,A){if("tooltip"!==A&&bY(t,A)){var n,r=t[A],i=Object(ut.a)(OU(r));try{for(i.s();!(n=i.n()).done;){var o=AY(n.value);if(!o.aggregate){var a=JH(o,{});a&&a===u||e.push({channel:A,fieldDef:o})}}}catch(s){i.e(s)}finally{i.f()}}return e}),[]);if(void 0!==a.stack?l=HU(a.stack)?a.stack?"zero":null:a.stack:qJ.has(i)&&(l="zero"),!l||!WJ(l))return null;if(wY(t)&&0===I.length)return null;if((null===(A=null===a||void 0===a?void 0:a.scale)||void 0===A?void 0:A.type)&&(null===(n=null===a||void 0===a?void 0:a.scale)||void 0===n?void 0:n.type)!==JT){if(r.disallowNonLinearStack)return null;tT(B.cannotStackNonLinearScale(a.scale.type))}return UH(t[BM(o)])?(void 0!==a.stack&&tT(B.cannotStackRangedMark(o)),null):(DH(a)&&a.aggregate&&!c_(JM,a.aggregate)&&tT(B.stackNonSummativeAggregate(a.aggregate)),{groupbyChannel:c?g:void 0,groupbyField:u,fieldChannel:o,impute:null!==a.impute&&MZ(i),stackBy:I,offset:l})}var Aj=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function nj(e){e.point,e.line;var t=Aj(e,["point","line"]);return y_(t).length>1?t:t.type}function rj(e){for(var t=0,A=["line","area","rule","trail"];t<A.length;t++){var n=A[t];e[n]&&(e=Object.assign(Object.assign({},e),Object($n.a)({},n,o_(e[n],["point","line"]))))}return e}function ij(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=arguments.length>2?arguments[2]:void 0;return"transparent"===e.point?{opacity:0}:e.point?xU(e.point)?e.point:{}:void 0!==e.point?null:t.point||A.shape?xU(t.point)?t.point:{}:void 0}function oj(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.line?!0===e.line?{}:e.line:void 0!==e.line?null:t.line?!0===t.line?{}:t.line:void 0}var aj=function(){function e(){Object(y.a)(this,e),this.name="path-overlay"}return Object(v.a)(e,[{key:"hasMatchingType",value:function(e,t){if(yY(e)){var A=e.mark,n=e.encoding,r=TZ(A)?A:{type:A};switch(r.type){case"line":case"rule":case"trail":return!!ij(r,t[r.type],n);case"area":return!!ij(r,t[r.type],n)||!!oj(r,t[r.type])}}return!1}},{key:"run",value:function(e,t,A){var n=t.config,r=e.params,i=e.projection,o=e.mark,a=e.encoding,s=Aj(e,["params","projection","mark","encoding"]),g=RY(a,n),c=TZ(o)?o:{type:o},u=ij(c,n[c.type],g),l="area"===c.type&&oj(c,n[c.type]),I=[Object.assign(Object.assign({},r?{params:r}:{}),{mark:nj(Object.assign(Object.assign({},"area"===c.type&&void 0===c.opacity&&void 0===c.fillOpacity?{opacity:.7}:{}),c)),encoding:o_(g,["shape"])})],C=tj(c,g),h=g;if(C){var f=C.fieldChannel,d=C.offset;h=Object.assign(Object.assign({},g),Object($n.a)({},f,Object.assign(Object.assign({},g[f]),d?{stack:d}:{})))}return l&&I.push(Object.assign(Object.assign({},i?{projection:i}:{}),{mark:Object.assign(Object.assign({type:"line"},i_(c,["clip","interpolate","tension","tooltip"])),l),encoding:h})),u&&I.push(Object.assign(Object.assign({},i?{projection:i}:{}),{mark:Object.assign(Object.assign({type:"point",opacity:1,filled:!0},i_(c,["clip","tooltip"])),u),encoding:h})),A(Object.assign(Object.assign({},s),{layer:I}),Object.assign(Object.assign({},t),{config:rj(n)}))}}]),e}(),sj=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function gj(e,t){return t?BH(e)?hj(e,t):lj(e,t):e}function cj(e,t){return t?hj(e,t):e}function uj(e,t,A){var n,r=t[e];return(n=r)&&!JU(n)&&"repeat"in n?r.repeat in A?Object.assign(Object.assign({},t),Object($n.a)({},e,A[r.repeat])):void tT(B.noSuchRepeatedValue(r.repeat)):t}function lj(e,t){if(void 0!==(e=uj("field",e,t))){if(null===e)return null;if(vH(e)&&fH(e.sort)){var A=uj("field",e.sort,t);e=Object.assign(Object.assign({},e),A?{sort:A}:{})}return e}}function Ij(e,t){if(DH(e))return lj(e,t);var A=uj("datum",e,t);return A===e||A.type||(A.type="nominal"),A}function Cj(e,t){if(!UH(e)){if(RH(e)){var A=Ij(e.condition,t);if(A)return Object.assign(Object.assign({},e),{condition:A});e.condition;return sj(e,["condition"])}return e}var n=Ij(e,t);return n||(SH(e)?{condition:e.condition}:void 0)}function hj(e,t){var A={};for(var n in e)if(ZU(e,n)){var r=e[n];if(kU(r))A[n]=r.map((function(e){return Cj(e,t)})).filter((function(e){return e}));else{var i=Cj(r,t);void 0!==i&&(A[n]=i)}}return A}var fj=function(){function e(){Object(y.a)(this,e),this.name="RuleForRangedLine"}return Object(v.a)(e,[{key:"hasMatchingType",value:function(e){if(yY(e)){var t=e.encoding,A=e.mark;if("line"===A||TZ(A)&&"line"===A.type){var n,r=Object(ut.a)(CM);try{for(r.s();!(n=r.n()).done;){var i=n.value,o=t[fM(i)];if(t[i]&&(DH(o)&&!KM(o.bin)||kH(o)))return!0}}catch(a){r.e(a)}finally{r.f()}}}return!1}},{key:"run",value:function(e,t,A){var n=e.encoding,r=e.mark;return tT(B.lineWithRange(!!n.x2,!!n.y2)),A(Object.assign(Object.assign({},e),{mark:xU(r)?Object.assign(Object.assign({},r),{type:"rule"}):"rule"}),t)}}]),e}(),dj=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},Bj=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){var e;return Object(y.a)(this,A),(e=t.apply(this,arguments)).nonFacetUnitNormalizers=[HY,VY,zY,new aj,new fj],e}return Object(v.a)(A,[{key:"map",value:function(e,t){if(yY(e)){var n=bY(e.encoding,P_),r=bY(e.encoding,V_),i=bY(e.encoding,"facet");if(n||r||i)return this.mapFacetedUnit(e,t)}return Object(jJ.a)(Object(JJ.a)(A.prototype),"map",this).call(this,e,t)}},{key:"mapUnit",value:function(e,t){var A=t.parentEncoding,n=t.parentProjection,r=cj(e.encoding,t.repeater),i=Object.assign(Object.assign({},e),r?{encoding:r}:{});if(A||n)return this.mapUnitWithParentEncodingOrProjection(i,t);var o,a=this.mapLayerOrUnit.bind(this),s=Object(ut.a)(this.nonFacetUnitNormalizers);try{for(s.s();!(o=s.n()).done;){var g=o.value;if(g.hasMatchingType(i,t.config))return g.run(i,t,a)}}catch(c){s.e(c)}finally{s.f()}return i}},{key:"mapRepeat",value:function(e,t){return function(e){return!kU(e.repeat)&&e.repeat.layer}(e)?this.mapLayerRepeat(e,t):this.mapNonLayerRepeat(e,t)}},{key:"mapLayerRepeat",value:function(e,t){var A=this,n=e.repeat,r=e.spec,i=dj(e,["repeat","spec"]),o=n.row,a=n.column,s=n.layer,g=t.repeater,c=void 0===g?{}:g,u=t.repeaterPrefix,l=void 0===u?"":u;return o||a?this.mapRepeat(Object.assign(Object.assign({},e),{repeat:Object.assign(Object.assign({},o?{row:o}:{}),a?{column:a}:{}),spec:{repeat:{layer:s},spec:r}}),t):Object.assign(Object.assign({},i),{layer:s.map((function(e){var n=Object.assign(Object.assign({},c),{layer:e}),i="".concat((r.name||"")+l,"child__layer_").concat(w_(e)),o=A.mapLayerOrUnit(r,Object.assign(Object.assign({},t),{repeater:n,repeaterPrefix:i}));return o.name=i,o}))})}},{key:"mapNonLayerRepeat",value:function(e,t){var A,n=e,r=n.repeat,i=n.spec,o=n.data,a=dj(e,["repeat","spec","data"]);!kU(r)&&e.columns&&(e=o_(e,["columns"]),tT(B.columnsNotSupportByRowCol("repeat")));var s,g=[],c=t.repeater,u=void 0===c?{}:c,l=t.repeaterPrefix,I=void 0===l?"":l,C=!kU(r)&&r.row||[u?u.row:null],h=!kU(r)&&r.column||[u?u.column:null],f=kU(r)&&r||[u?u.repeat:null],d=Object(ut.a)(f);try{for(d.s();!(s=d.n()).done;){var p,E=s.value,Q=Object(ut.a)(C);try{for(Q.s();!(p=Q.n()).done;){var y,v=p.value,m=Object(ut.a)(h);try{for(m.s();!(y=m.n()).done;){var b=y.value,w={repeat:E,row:v,column:b,layer:u.layer},S=(i.name||"")+I+"child__"+(kU(r)?"".concat(w_(E)):(r.row?"row_".concat(w_(v)):"")+(r.column?"column_".concat(w_(b)):"")),F=this.map(i,Object.assign(Object.assign({},t),{repeater:w,repeaterPrefix:S}));F.name=S,g.push(o_(F,["data"]))}}catch(D){m.e(D)}finally{m.f()}}}catch(D){Q.e(D)}finally{Q.f()}}}catch(D){d.e(D)}finally{d.f()}var R=kU(r)?e.columns:r.column?r.column.length:1;return Object.assign(Object.assign({data:null!==(A=i.data)&&void 0!==A?A:o,align:"all"},a),{columns:R,concat:g})}},{key:"mapFacet",value:function(e,t){return BH(e.facet)&&e.columns&&(e=o_(e,["columns"]),tT(B.columnsNotSupportByRowCol("facet"))),Object(jJ.a)(Object(JJ.a)(A.prototype),"mapFacet",this).call(this,e,t)}},{key:"mapUnitWithParentEncodingOrProjection",value:function(e,t){var A=e.encoding,n=e.projection,r=t.parentEncoding,i=t.parentProjection,o=t.config,a=Ej({parentProjection:i,projection:n}),s=pj({parentEncoding:r,encoding:cj(A,t.repeater)});return this.mapUnit(Object.assign(Object.assign(Object.assign({},e),a?{projection:a}:{}),s?{encoding:s}:{}),{config:o})}},{key:"mapFacetedUnit",value:function(e,t){var A=e.encoding,n=A.row,r=A.column,i=A.facet,o=dj(A,["row","column","facet"]),a=e.mark,s=e.width,g=e.projection,c=e.height,u=e.view,l=e.params,I=(e.encoding,dj(e,["mark","width","projection","height","view","params","encoding"])),C=this.getFacetMappingAndLayout({row:n,column:r,facet:i},t),h=C.facetMapping,f=C.layout,d=cj(o,t.repeater);return this.mapFacet(Object.assign(Object.assign(Object.assign({},I),f),{facet:h,spec:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},s?{width:s}:{}),c?{height:c}:{}),u?{view:u}:{}),g?{projection:g}:{}),{mark:a,encoding:d}),l?{params:l}:{})}),t)}},{key:"getFacetMappingAndLayout",value:function(e,t){var A,n=e.row,r=e.column,i=e.facet;if(n||r){i&&tT(B.facetChannelDropped([].concat(Object(zn.a)(n?[P_]:[]),Object(zn.a)(r?[V_]:[]))));for(var o={},a={},s=0,g=[P_,V_];s<g.length;s++){var c=g[s],u=e[c];if(u){u.align,u.center,u.spacing,u.columns;var l=dj(u,["align","center","spacing","columns"]);o[c]=l;for(var I=0,C=["align","center","spacing"];I<C.length;I++){var h=C[I];void 0!==u[h]&&(null!==(A=a[h])&&void 0!==A||(a[h]={}),a[h][c]=u[h])}}}return{facetMapping:o,layout:a}}var f=i.align,d=i.center,p=i.spacing,E=i.columns;return{facetMapping:gj(dj(i,["align","center","spacing","columns"]),t.repeater),layout:Object.assign(Object.assign(Object.assign(Object.assign({},f?{align:f}:{}),d?{center:d}:{}),p?{spacing:p}:{}),E?{columns:E}:{})}}},{key:"mapLayer",value:function(e,t){var n=t.parentEncoding,r=t.parentProjection,i=dj(t,["parentEncoding","parentProjection"]),o=e.encoding,a=e.projection,s=dj(e,["encoding","projection"]),g=Object.assign(Object.assign({},i),{parentEncoding:pj({parentEncoding:n,encoding:o,layer:!0}),parentProjection:Ej({parentProjection:r,projection:a})});return Object(jJ.a)(Object(JJ.a)(A.prototype),"mapLayer",this).call(this,s,g)}}]),A}(VJ);function pj(e){var t=e.parentEncoding,A=e.encoding,n=void 0===A?{}:A,r=e.layer,i={};if(t){var o,a=new Set([].concat(Object(zn.a)(y_(t)),Object(zn.a)(y_(n)))),s=Object(ut.a)(a);try{for(s.s();!(o=s.n()).done;){var g=o.value,c=n[g],u=t[g];if(UH(c)){var l=Object.assign(Object.assign({},u),c);i[g]=l}else RH(c)?i[g]=Object.assign(Object.assign({},c),{condition:Object.assign(Object.assign({},u),c.condition)}):c||null===c?i[g]=c:(r||MH(u)||nO(u)||UH(u)||kU(u))&&(i[g]=u)}}catch(I){s.e(I)}finally{s.f()}}else i=n;return!i||Q_(i)?void 0:i}function Ej(e){var t=e.parentProjection,A=e.projection;return t&&A&&tT(B.projectionOverridden({parentProjection:t,projection:A})),null!==A&&void 0!==A?A:t}function Qj(e){return"filter"in e}function yj(e){return"lookup"in e}function vj(e){return"pivot"in e}function mj(e){return"density"in e}function bj(e){return"quantile"in e}function wj(e){return"regression"in e}function Sj(e){return"loess"in e}function Fj(e){return"sample"in e}function Rj(e){return"window"in e}function Dj(e){return"joinaggregate"in e}function Gj(e){return"flatten"in e}function kj(e){return"calculate"in e}function xj(e){return"bin"in e}function Nj(e){return"impute"in e}function Uj(e){return"timeUnit"in e}function _j(e){return"aggregate"in e}function Mj(e){return"stack"in e}function Oj(e){return"fold"in e}var Lj=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},Tj=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return Object(v.a)(A,[{key:"map",value:function(e,t){var n,r;return null!==(n=t.emptySelections)&&void 0!==n||(t.emptySelections={}),null!==(r=t.selectionPredicates)&&void 0!==r||(t.selectionPredicates={}),e=Zj(e,t),Object(jJ.a)(Object(JJ.a)(A.prototype),"map",this).call(this,e,t)}},{key:"mapLayerOrUnit",value:function(e,t){if((e=Zj(e,t)).encoding){var n,r={},i=Object(ut.a)(m_(e.encoding));try{for(i.s();!(n=i.n()).done;){var o=Object(lt.a)(n.value,2),a=o[0],s=o[1];r[a]=Hj(s,t)}}catch(g){i.e(g)}finally{i.f()}e=Object.assign(Object.assign({},e),{encoding:r})}return Object(jJ.a)(Object(JJ.a)(A.prototype),"mapLayerOrUnit",this).call(this,e,t)}},{key:"mapUnit",value:function(e,t){var A=e,n=A.selection,r=Lj(A,["selection"]);return n?Object.assign(Object.assign({},r),{params:m_(n).map((function(e){var A,n=Object(lt.a)(e,2),r=n[0],i=n[1],o=i.init,a=i.bind,s=i.empty,g=Lj(i,["init","bind","empty"]);"single"===g.type?(g.type="point",g.toggle=!1):"multi"===g.type&&(g.type="point"),t.emptySelections[r]="none"!==s;var c,u=Object(ut.a)(v_(null!==(A=t.selectionPredicates[r])&&void 0!==A?A:{}));try{for(u.s();!(c=u.n()).done;){c.value.empty="none"!==s}}catch(l){u.e(l)}finally{u.f()}return{name:r,value:o,select:g,bind:a}}))}):e}}]),A}(VJ);function Zj(e,t){var A=e.transform,n=Lj(e,["transform"]);if(A){var r=A.map((function(e){if(Qj(e))return{filter:Jj(e,t)};if(xj(e)&&WM(e.bin))return Object.assign(Object.assign({},e),{bin:Yj(e.bin)});if(yj(e)){var A=e.from,n=A.selection,r=Lj(A,["selection"]);return n?Object.assign(Object.assign({},e),{from:Object.assign({param:n},r)}):e}return e}));return Object.assign(Object.assign({},n),{transform:r})}return e}function Hj(e,t){var A,n,r=r_(e);if(DH(r)&&WM(r.bin)&&(r.bin=Yj(r.bin)),OH(r)&&(null===(n=null===(A=r.scale)||void 0===A?void 0:A.domain)||void 0===n?void 0:n.selection)){var i=r.scale.domain,o=i.selection,a=Lj(i,["selection"]);r.scale.domain=Object.assign(Object.assign({},a),o?{param:o}:{})}if(SH(r))if(Object(ue.B)(r.condition))r.condition=r.condition.map((function(e){e.selection;var A=e.param,n=(e.test,Lj(e,["selection","param","test"]));return A?e:Object.assign(Object.assign({},n),{test:Jj(e,t)})}));else{var s=Hj(r.condition,t),g=(s.selection,s.param),c=(s.test,Lj(s,["selection","param","test"]));r.condition=g?r.condition:Object.assign(Object.assign({},c),{test:Jj(r.condition,t)})}return r}function Yj(e){var t=e.extent;if(null===t||void 0===t?void 0:t.selection){var A=t.selection,n=Lj(t,["selection"]);return Object.assign(Object.assign({},e),{extent:Object.assign(Object.assign({},n),{param:A})})}return e}function Jj(e,t){var A=function(e){return A_(e,(function(e){var A,n,r,i={param:e,empty:null===(A=t.emptySelections[e])||void 0===A||A};return null!==(n=(r=t.selectionPredicates)[e])&&void 0!==n||(r[e]=[]),t.selectionPredicates[e].push(i),i}))};return e.selection?A(e.selection):A_(e.test||e.filter,(function(e){return e.selection?A(e.selection):e}))}for(var jj=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return Object(v.a)(A,[{key:"map",value:function(e,t){var n,r=null!==(n=t.selections)&&void 0!==n?n:[];if(e.params&&!yY(e)){var i,o=[],a=Object(ut.a)(e.params);try{for(a.s();!(i=a.n()).done;){var s=i.value;IJ(s)?r.push(s):o.push(s)}}catch(g){a.e(g)}finally{a.f()}e.params=o}return t.selections=r,Object(jJ.a)(Object(JJ.a)(A.prototype),"map",this).call(this,e,Wj(e,t))}},{key:"mapUnit",value:function(e,t){var A,n=t.selections;if(!n||!n.length)return e;var r,i=(null!==(A=t.path)&&void 0!==A?A:[]).concat(e.name),o=[],a=Object(ut.a)(n);try{for(a.s();!(r=a.n()).done;){var s=r.value;if(s.views&&s.views.length){var g,c=Object(ut.a)(s.views);try{for(c.s();!(g=c.n()).done;){var u=g.value;(Object(ue.J)(u)&&(u===e.name||i.indexOf(u)>=0)||Object(ue.B)(u)&&u.map((function(e){return i.indexOf(e)})).every((function(e,t,A){return-1!==e&&(0===t||e>A[t-1])})))&&o.push(s)}}catch(l){c.e(l)}finally{c.f()}}else o.push(s)}}catch(l){a.e(l)}finally{a.f()}return o.length&&(e.params=o),e}}]),A}(VJ),Pj=function(){var e=Kj[Vj],t=jj.prototype[e];jj.prototype[e]=function(e,A){return t.call(this,e,Wj(e,A))}},Vj=0,Kj=["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"];Vj<Kj.length;Vj++)Pj();function Wj(e,t){var A;return e.name?Object.assign(Object.assign({},t),{path:(null!==(A=t.path)&&void 0!==A?A:[]).concat(e.name)}):t}function Xj(e,t){void 0===t&&(t=MJ(e.config));var A=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A={config:t};return $j.map(qj.map(zj.map(e,A),A),A)}(e,t),n=function(e,t,A){var n=t.width,r=t.height,i=yY(e)||YJ(e),o={};i?"container"==n&&"container"==r?(o.type="fit",o.contains="padding"):"container"==n?(o.type="fit-x",o.contains="padding"):"container"==r&&(o.type="fit-y",o.contains="padding"):("container"==n&&(tT(B.containerSizeNonSingle("width")),n=void 0),"container"==r&&(tT(B.containerSizeNonSingle("height")),r=void 0));var a=Object.assign(Object.assign(Object.assign({type:"pad"},o),A?eP(A.autosize):{}),eP(e.autosize));"fit"!==a.type||i||(tT(B.FIT_NON_SINGLE),a.type="pad");"container"==n&&"fit"!=a.type&&"fit-x"!=a.type&&tT(B.containerSizeNotCompatibleWithAutosize("width"));"container"==r&&"fit"!=a.type&&"fit-y"!=a.type&&tT(B.containerSizeNotCompatibleWithAutosize("height"));if(n_(a,{type:"pad"}))return;return a}(A,{width:e.width,height:e.height,autosize:e.autosize},t);return Object.assign(Object.assign({},A),n?{autosize:n}:{})}var qj=new Bj,zj=new Tj,$j=new jj;function eP(e){return JU(e)?{type:e}:null!==e&&void 0!==e?e:{}}var tP=["background","padding"];function AP(e,t){var A,n={},r=Object(ut.a)(tP);try{for(r.s();!(A=r.n()).done;){var i=A.value;e&&void 0!==e[i]&&(n[i]=uO(e[i]))}}catch(o){r.e(o)}finally{r.f()}return t&&(n.params=e.params),n}var nP=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(y.a)(this,e),this.explicit=t,this.implicit=A}return Object(v.a)(e,[{key:"clone",value:function(){return new e(r_(this.explicit),r_(this.implicit))}},{key:"combine",value:function(){return Object.assign(Object.assign({},this.explicit),this.implicit)}},{key:"get",value:function(e){return M_(this.explicit[e],this.implicit[e])}},{key:"getWithExplicit",value:function(e){return void 0!==this.explicit[e]?{explicit:!0,value:this.explicit[e]}:void 0!==this.implicit[e]?{explicit:!1,value:this.implicit[e]}:{explicit:!1,value:void 0}}},{key:"setWithExplicit",value:function(e,t){var A=t.value,n=t.explicit;void 0!==A&&this.set(e,A,n)}},{key:"set",value:function(e,t,A){return delete this[A?"implicit":"explicit"][e],this[A?"explicit":"implicit"][e]=t,this}},{key:"copyKeyFromSplit",value:function(e,t){var A=t.explicit,n=t.implicit;void 0!==A[e]?this.set(e,A[e],!0):void 0!==n[e]&&this.set(e,n[e],!1)}},{key:"copyKeyFromObject",value:function(e,t){void 0!==t[e]&&this.set(e,t[e],!0)}},{key:"copyAll",value:function(e){var t,A=Object(ut.a)(y_(e.combine()));try{for(A.s();!(t=A.n()).done;){var n=t.value,r=e.getWithExplicit(n);this.setWithExplicit(n,r)}}catch(i){A.e(i)}finally{A.f()}}}]),e}();function rP(e){return{explicit:!0,value:e}}function iP(e){return{explicit:!1,value:e}}function oP(e){return function(t,A,n,r){var i=e(t.value,A.value);return i>0?t:i<0?A:aP(t,A,n,r)}}function aP(e,t,A,n){return e.explicit&&t.explicit&&tT(B.mergeConflictingProperty(A,n,e.value,t.value)),e}function sP(e,t,A,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:aP;return void 0===e||void 0===e.value?t:e.explicit&&!t.explicit?e:t.explicit&&!e.explicit?t:n_(e.value,t.value)?e:r(e,t,A,n)}var gP,cP=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return Object(y.a)(this,A),(e=t.call(this,n,r)).explicit=n,e.implicit=r,e.parseNothing=i,e}return Object(v.a)(A,[{key:"clone",value:function(){var e=Object(jJ.a)(Object(JJ.a)(A.prototype),"clone",this).call(this);return e.parseNothing=this.parseNothing,e}}]),A}(nP);function uP(e){return"url"in e}function lP(e){return"values"in e}function IP(e){return"name"in e&&!uP(e)&&!lP(e)&&!CP(e)}function CP(e){return e&&(hP(e)||fP(e)||dP(e))}function hP(e){return"sequence"in e}function fP(e){return"sphere"in e}function dP(e){return"graticule"in e}!function(e){e[e.Raw=0]="Raw",e[e.Main=1]="Main",e[e.Row=2]="Row",e[e.Column=3]="Column",e[e.Lookup=4]="Lookup"}(gP||(gP={}));var BP,pP,EP=/[[\]{}]/,QP={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};function yP(e,t,A){return BP=t||"view",pP=A||QP,mP(e.trim()).map(bP)}function vP(e,t,A,n,r){for(var i,o=e.length,a=0;t<o;++t){if(i=e[t],!a&&i===A)return t;r&&r.indexOf(i)>=0?--a:n&&n.indexOf(i)>=0&&++a}return t}function mP(e){for(var t=[],A=e.length,n=0,r=0;r<A;)r=vP(e,r,",","[{","]}"),t.push(e.substring(n,r).trim()),n=++r;if(0===t.length)throw"Empty event selector: "+e;return t}function bP(e){return"["===e[0]?function(e){var t,A=e.length,n=1;if((n=vP(e,n,"]","[","]"))===A)throw"Empty between selector: "+e;if(2!==(t=mP(e.substring(1,n))).length)throw"Between selector must have two elements: "+e;if(">"!==(e=e.slice(n+1).trim())[0])throw"Expected '>' after between selector: "+e;t=t.map(bP);var r=bP(e.slice(1).trim());if(r.between)return{between:t,stream:r};r.between=t;return r}(e):function(e){var t,A,n={source:BP},r=[],i=[0,0],o=0,a=0,s=e.length,g=0;if("}"===e[s-1]){if(!((g=e.lastIndexOf("{"))>=0))throw"Unmatched right brace: "+e;try{i=function(e){var t=e.split(",");if(!e.length||t.length>2)throw e;return t.map((function(t){var A=+t;if(A!==A)throw e;return A}))}(e.substring(g+1,s-1))}catch(u){throw"Invalid throttle specification: "+e}e=e.slice(0,g).trim(),s=e.length,g=0}if(!s)throw e;"@"===e[0]&&(o=++g);(t=vP(e,g,":"))<s&&(r.push(e.substring(a,t).trim()),a=g=++t);if((g=vP(e,g,"["))===s)r.push(e.substring(a,s).trim());else if(r.push(e.substring(a,g).trim()),A=[],(a=++g)===s)throw"Unmatched left bracket: "+e;for(;g<s;){if((g=vP(e,g,"]"))===s)throw"Unmatched left bracket: "+e;if(A.push(e.substring(a,g).trim()),g<s-1&&"["!==e[++g])throw"Expected left bracket: "+e;a=++g}if(!(s=r.length)||EP.test(r[s-1]))throw"Invalid event selector: "+e;s>1?(n.type=r[1],o?n.markname=r[0].slice(1):(c=r[0],pP[c]?n.marktype=r[0]:n.source=r[0])):n.type=r[0];var c;"!"===n.type.slice(-1)&&(n.consume=!0,n.type=n.type.slice(0,-1));null!=A&&(n.filter=A);i[0]&&(n.throttle=i[0]);i[1]&&(n.debounce=i[1]);return n}(e)}var wP=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function SP(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:DU;if(kU(e)){var n=e.map((function(e){return SP(e,t,A)}));return t?"[".concat(n.join(", "),"]"):n}return AT(e)?A(t?sT(e):cT(e)):t?A(a_(e)):e}function FP(e,t){var A,n,r=Object(ut.a)(v_(null!==(A=e.component.selection)&&void 0!==A?A:{}));try{for(r.s();!(n=r.n()).done;){var i,o=n.value,a=Object(ut.a)(GV);try{for(a.s();!(i=a.n()).done;){var s=i.value;s.defined(o)&&s.marks&&(t=s.marks(e,o,t))}}catch(g){a.e(g)}finally{a.f()}}}catch(g){r.e(g)}finally{r.f()}return t}function RP(e){return e.map((function(e){return e.on&&!e.on.length&&delete e.on,e}))}var DP=function(){function e(t,A){Object(y.a)(this,e),this.debugName=A,this._children=[],this._parent=null,t&&(this.parent=t)}return Object(v.a)(e,[{key:"clone",value:function(){throw new Error("Cannot clone node")}},{key:"numChildren",value:function(){return this._children.length}},{key:"addChild",value:function(e,t){this._children.includes(e)?tT(B.ADD_SAME_CHILD_TWICE):void 0!==t?this._children.splice(t,0,e):this._children.push(e)}},{key:"removeChild",value:function(e){var t=this._children.indexOf(e);return this._children.splice(t,1),t}},{key:"remove",value:function(){var e,t=this._parent.removeChild(this),A=Object(ut.a)(this._children);try{for(A.s();!(e=A.n()).done;){var n=e.value;n._parent=this._parent,this._parent.addChild(n,t++)}}catch(r){A.e(r)}finally{A.f()}}},{key:"insertAsParentOf",value:function(e){var t=e.parent;t.removeChild(this),this.parent=t,e.parent=this}},{key:"swapWithParent",value:function(){var e,t=this._parent,A=t.parent,n=Object(ut.a)(this._children);try{for(n.s();!(e=n.n()).done;){e.value.parent=t}}catch(r){n.e(r)}finally{n.f()}this._children=[],t.removeChild(this),t.parent.removeChild(t),this.parent=A,t.parent=this}},{key:"parent",get:function(){return this._parent},set:function(e){this._parent=e,e&&e.addChild(this)}},{key:"children",get:function(){return this._children}}]),e}(),GP=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n,r,i){var o;return Object(y.a)(this,A),(o=t.call(this,e,n)).type=r,o.refCounts=i,o._source=o._name=n,o.refCounts&&!(o._name in o.refCounts)&&(o.refCounts[o._name]=0),o}return Object(v.a)(A,[{key:"clone",value:function(){var e=new this.constructor;return e.debugName="clone_".concat(this.debugName),e._source=this._source,e._name="clone_".concat(this._name),e.type=this.type,e.refCounts=this.refCounts,e.refCounts[e._name]=0,e}},{key:"dependentFields",value:function(){return new Set}},{key:"producedFields",value:function(){return new Set}},{key:"hash",value:function(){return void 0===this._hash&&(this._hash="Output ".concat(L_())),this._hash}},{key:"getSource",value:function(){return this.refCounts[this._name]++,this._source}},{key:"isRequired",value:function(){return!!this.refCounts[this._name]}},{key:"setSource",value:function(e){this._source=e}}]),A}(DP),kP=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},xP=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,e)).formula=n,r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.formula))}},{key:"merge",value:function(e){for(var t in this.formula=Object.assign({},this.formula),e.formula)this.formula[t]||(this.formula[t]=e.formula[t]);var A,n=Object(ut.a)(e.children);try{for(n.s();!(A=n.n()).done;){var r=A.value;e.removeChild(r),r.parent=this}}catch(i){n.e(i)}finally{n.f()}e.remove()}},{key:"removeFormulas",value:function(e){var t,A={},n=Object(ut.a)(m_(this.formula));try{for(n.s();!(t=n.n()).done;){var r=Object(lt.a)(t.value,2),i=r[0],o=r[1];e.has(o.as)||(A[i]=o)}}catch(a){n.e(a)}finally{n.f()}this.formula=A}},{key:"producedFields",value:function(){return new Set(v_(this.formula).map((function(e){return e.as})))}},{key:"dependentFields",value:function(){return new Set(v_(this.formula).map((function(e){return e.field})))}},{key:"hash",value:function(){return"TimeUnit ".concat(s_(this.formula))}},{key:"assemble",value:function(){var e,t=[],A=Object(ut.a)(v_(this.formula));try{for(A.s();!(e=A.n()).done;){var n=e.value,r=n.field,i=n.as,o=ET(n.timeUnit),a=o.unit,s=o.utc,g=kP(o,["unit","utc"]);t.push(Object.assign(Object.assign(Object.assign(Object.assign({field:x_(r),type:"timeunit"},a?{units:fT(a)}:{}),s?{timezone:"utc"}:{}),g),{as:[i,"".concat(i,"_end")]}))}}catch(c){A.e(c)}finally{A.f()}return t}}],[{key:"makeFromEncoding",value:function(e,t){var n=t.reduceFieldDef((function(e,t){var A=t.field,n=t.timeUnit;if(n){var r=JH(t,{forAs:!0});e[s_({as:r,field:A,timeUnit:n})]={as:r,field:A,timeUnit:n}}return e}),{});return Q_(n)?null:new A(e,n)}},{key:"makeFromTransform",value:function(e,t){var n=Object.assign({},t),r=n.timeUnit,i=kP(n,["timeUnit"]),o=ET(r),a=Object.assign(Object.assign({},i),{timeUnit:o});return new A(e,Object($n.a)({},s_(a),a))}}]),A}(DP),NP=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},UP=function e(){Object(y.a)(this,e);for(var t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];this.items=A,this.hasChannel={},this.hasField={}},_P={defined:function(){return!0},parse:function(e,t,A){var n,r=t.name,i=null!==(n=t.project)&&void 0!==n?n:t.project=new UP,o={},a={},s=new Set,g=function(e,t){for(var A="visual"===t?e.channel:e.field,n=w_("".concat(r,"_").concat(A)),i=1;s.has(n);i++)n=w_("".concat(r,"_").concat(A,"_").concat(i));return s.add(n),Object($n.a)({},t,n)},c=t.type,u=e.config.selection[c],l=void 0!==A.value?OU(A.value):null,I=xU(A.select)?A.select:{},C=I.fields,h=I.encodings;if(!C&&!h&&l){var f,d=Object(ut.a)(l);try{for(d.s();!(f=d.n()).done;){var p=f.value;if(xU(p)){var E,Q=Object(ut.a)(y_(p));try{for(Q.s();!(E=Q.n()).done;){var y=E.value;lM[y]?(h||(h=[])).push(y):"interval"===c?(tT(B.INTERVAL_INITIALIZED_WITH_X_Y),h=u.encodings):(C||(C=[])).push(y)}}catch(U){Q.e(U)}finally{Q.f()}}}}catch(U){d.e(U)}finally{d.f()}}C||h||(h=u.encodings,"fields"in u&&(C=u.fields));var v,m=Object(ut.a)(null!==h&&void 0!==h?h:[]);try{for(m.s();!(v=m.n()).done;){var b=v.value,w=e.fieldDef(b);if(w){var S=w.field;if(w.aggregate){tT(B.cannotProjectAggregate(b,w.aggregate));continue}if(!S){tT(B.cannotProjectOnChannelWithoutField(b));continue}if(w.timeUnit){S=e.vgField(b);var F={timeUnit:w.timeUnit,as:S,field:w.field};a[s_(F)]=F}if(!o[S]){var R="E";if("interval"===c)IZ(e.getScaleComponent(b).get("type"))&&(R="R");else w.bin&&(R="R-RE");var D={field:S,channel:b,type:R};D.signals=Object.assign(Object.assign({},g(D,"data")),g(D,"visual")),i.items.push(o[S]=D),i.hasField[S]=i.hasChannel[b]=o[S]}}else tT(B.cannotProjectOnChannelWithoutField(b))}}catch(U){m.e(U)}finally{m.f()}var G,k=Object(ut.a)(null!==C&&void 0!==C?C:[]);try{for(k.s();!(G=k.n()).done;){var x=G.value;if(!i.hasField[x]){var N={type:"E",field:x};N.signals=Object.assign({},g(N,"data")),i.items.push(N),i.hasField[x]=N}}}catch(U){k.e(U)}finally{k.f()}l&&(t.init=l.map((function(e){return i.items.map((function(t){return xU(e)?void 0!==e[t.channel]?e[t.channel]:e[t.field]:e}))}))),Q_(a)||(i.timeUnit=new xP(null,a))},signals:function(e,t,A){var n=t.name+"_tuple_fields";return A.filter((function(e){return e.name===n})).length>0?A:A.concat({name:n,value:t.project.items.map((function(e){e.signals,e.hasLegend;var t=NP(e,["signals","hasLegend"]);return t.field=x_(t.field),t}))})}},MP={defined:function(e){return"interval"===e.type&&"global"===e.resolve&&e.bind&&"scales"===e.bind},parse:function(e,t){var A,n=t.scales=[],r=Object(ut.a)(t.project.items);try{for(r.s();!(A=r.n()).done;){var i=A.value,o=i.channel;if(kM(o)){var a=e.getScaleComponent(o),s=a?a.get("type"):void 0;a&&IZ(s)?(a.set("selectionExtent",{param:t.name,field:i.field},!0),n.push(i)):tT(B.SCALE_BINDINGS_CONTINUOUS)}}}catch(g){r.e(g)}finally{r.f()}},topLevelSignals:function(e,t,A){var n=t.scales.filter((function(e){return 0===A.filter((function(t){return t.name===e.signals.data})).length}));if(!e.parent||LP(e)||0===n.length)return A;var r=A.filter((function(e){return e.name===t.name}))[0],i=r.update;if(i.indexOf(DV)>=0)r.update="{".concat(n.map((function(e){return"".concat(jU(x_(e.field)),": ").concat(e.signals.data)})).join(", "),"}");else{var o,a=Object(ut.a)(n);try{for(a.s();!(o=a.n()).done;){var s=o.value,g="".concat(jU(x_(s.field)),": ").concat(s.signals.data);i.includes(g)||(i="".concat(i.substring(0,i.length-1),", ").concat(g,"}"))}}catch(c){a.e(c)}finally{a.f()}r.update=i}return A.concat(n.map((function(e){return{name:e.signals.data}})))},signals:function(e,t,A){if(e.parent&&!LP(e)){var n,r=Object(ut.a)(t.scales);try{var i=function(){var e=n.value,t=A.filter((function(t){return t.name===e.signals.data}))[0];t.push="outer",delete t.value,delete t.update};for(r.s();!(n=r.n()).done;)i()}catch(o){r.e(o)}finally{r.f()}}return A}};function OP(e,t){var A=jU(e.scaleName(t));return"domain(".concat(A,")")}function LP(e){var t;return e.parent&&pq(e.parent)&&(null!==(t=!e.parent.parent)&&void 0!==t?t:LP(e.parent.parent))}var TP=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},ZP="_brush",HP={defined:function(e){return"interval"===e.type},signals:function(e,t,A){var n=t.name,r=n+"_tuple_fields",i=MP.defined(t),o=t.init?t.init[0]:null,a=[],s=[];if(t.translate&&!i){var g="!event.item || event.item.mark.name !== ".concat(jU(n+ZP));YP(t,(function(e,t){var A,n,r=OU(null!==(A=(n=t.between[0]).filter)&&void 0!==A?A:n.filter=[]);return r.includes(g)||r.push(g),e}))}t.project.items.forEach((function(n,r){var i=n.channel;if("x"===i||"y"===i){var g=o?o[r]:null,c=function(e,t,A,n){var r=A.channel,i=A.signals.visual,o=A.signals.data,a=MP.defined(t),s=jU(e.scaleName(r)),g=e.getScaleComponent(r),c=g?g.get("type"):void 0,u=function(e){return"scale(".concat(s,", ").concat(e,")")},l=e.getSizeSignalRef("x"===r?"width":"height").signal,I="".concat(r,"(unit)"),C=YP(t,(function(e,t){return[].concat(Object(zn.a)(e),[{events:t.between[0],update:"[".concat(I,", ").concat(I,"]")},{events:t,update:"[".concat(i,"[0], clamp(").concat(I,", 0, ").concat(l,")]")}])}));return C.push({events:{signal:t.name+"_scale_trigger"},update:IZ(c)?"[".concat(u("".concat(o,"[0]")),", ").concat(u("".concat(o,"[1]")),"]"):"[0, 0]"}),a?[{name:o,on:[]}]:[Object.assign(Object.assign({name:i},n?{init:SP(n,!0,u)}:{value:[]}),{on:C}),Object.assign(Object.assign({name:o},n?{init:SP(n)}:{}),{on:[{events:{signal:i},update:"".concat(i,"[0] === ").concat(i,"[1] ? null : invert(").concat(s,", ").concat(i,")")}]})]}(e,t,n,g),u=n.signals.data,l=n.signals.visual,I=jU(e.scaleName(i)),C=IZ(e.getScaleComponent(i).get("type"))?"+":"";A.push.apply(A,Object(zn.a)(c)),a.push(u),s.push({scaleName:e.scaleName(i),expr:"(!isArray(".concat(u,") || ")+"(".concat(C,"invert(").concat(I,", ").concat(l,")[0] === ").concat(C).concat(u,"[0] && ")+"".concat(C,"invert(").concat(I,", ").concat(l,")[1] === ").concat(C).concat(u,"[1]))")})}else tT("Interval selections only support x and y encoding channels.")})),!i&&s.length&&A.push({name:n+"_scale_trigger",value:{},on:[{events:s.map((function(e){return{scale:e.scaleName}})),update:"".concat(s.map((function(e){return e.expr})).join(" && ")," ? ").concat(n+"_scale_trigger"," : {}")}]});var c="unit: ".concat(xV(e),", fields: ").concat(r,", values");return A.concat(Object.assign(Object.assign({name:n+FV},o?{init:"{".concat(c,": ").concat(SP(o),"}")}:{}),a.length?{on:[{events:[{signal:a.join(" || ")}],update:"".concat(a.join(" && ")," ? {").concat(c,": [").concat(a,"]} : null")}]}:{}))},marks:function(e,t,A){var n=t.name,r=t.project.hasChannel,i=r.x,o=r.y,a=i&&i.signals.visual,s=o&&o.signals.visual,g="data(".concat(jU(t.name+SV),")");if(MP.defined(t)||!i&&!o)return A;var c={x:void 0!==i?{signal:"".concat(a,"[0]")}:{value:0},y:void 0!==o?{signal:"".concat(s,"[0]")}:{value:0},x2:void 0!==i?{signal:"".concat(a,"[1]")}:{field:{group:"width"}},y2:void 0!==o?{signal:"".concat(s,"[1]")}:{field:{group:"height"}}};if("global"===t.resolve){var u,l=Object(ut.a)(y_(c));try{for(l.s();!(u=l.n()).done;){var I=u.value;c[I]=[Object.assign({test:"".concat(g,".length && ").concat(g,"[0].unit === ").concat(xV(e))},c[I]),{value:0}]}}catch(E){l.e(E)}finally{l.f()}}var C=t.mark,h=C.fill,f=C.fillOpacity,d=C.cursor,B=TP(C,["fill","fillOpacity","cursor"]),p=y_(B).reduce((function(e,t){return e[t]=[{test:[void 0!==i&&"".concat(a,"[0] !== ").concat(a,"[1]"),void 0!==o&&"".concat(s,"[0] !== ").concat(s,"[1]")].filter((function(e){return e})).join(" && "),value:B[t]},{value:null}],e}),{});return[{name:"".concat(n+ZP,"_bg"),type:"rect",clip:!0,encode:{enter:{fill:{value:h},fillOpacity:{value:f}},update:c}}].concat(Object(zn.a)(A),[{name:n+ZP,type:"rect",clip:!0,encode:{enter:Object.assign(Object.assign({},d?{cursor:{value:d}}:{}),{fill:{value:"transparent"}}),update:Object.assign(Object.assign({},c),p)}}])}};function YP(e,t){return e.events.reduce((function(e,A){return A.between?t(e,A):(tT("".concat(A," is not an ordered event stream for interval selections.")),e)}),[])}var JP={defined:function(e){return"point"===e.type},signals:function(e,t,A){var n,r=t.name,i=r+"_tuple_fields",o=t.project,a="(item().isVoronoi ? datum.datum : datum)",s=o.items.map((function(t){var A=e.fieldDef(t.channel);return(null===A||void 0===A?void 0:A.bin)?"[".concat(a,"[").concat(jU(e.vgField(t.channel,{})),"], ")+"".concat(a,"[").concat(jU(e.vgField(t.channel,{binSuffix:"end"})),"]]"):"".concat(a,"[").concat(jU(t.field),"]")})).join(", "),g="unit: ".concat(xV(e),", fields: ").concat(i,", values"),c=t.events,u=v_(null!==(n=e.component.selection)&&void 0!==n?n:{}).reduce((function(e,t){return"interval"===t.type?e.concat(t.name+ZP):e}),[]).map((function(e){return"indexof(item().mark.name, '".concat(e,"') < 0")})).join(" && "),l="datum && item().mark.marktype !== 'group'"+(u?" && ".concat(u):"");return A.concat([{name:r+FV,on:c?[{events:c,update:"".concat(l," ? {").concat(g,": [").concat(s,"]} : null"),force:!0}]:[]}])}};function jP(e,t,A,n){var r=SH(t)&&t.condition,i=n(t);if(r){var o=OU(r).map((function(t){var A=n(t);if(function(e){return e.param}(t)){var r=t.param,i=t.empty,o=MK(e,{param:r,empty:i});return Object.assign({test:o},A)}var a=LK(e,t.test);return Object.assign({test:a},A)}));return Object($n.a)({},A,[].concat(Object(zn.a)(o),Object(zn.a)(void 0!==i?[i]:[])))}return void 0!==i?Object($n.a)({},A,i):{}}function PP(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"text",A=e.encoding[t];return jP(e,A,t,(function(t){return VP(t,e.config)}))}function VP(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"datum";if(e){if(MH(e))return IO(e.value);if(UH(e)){var n=eY(e),r=n.format,i=n.formatType;return rH({fieldOrDatumDef:e,format:r,formatType:i,expr:A,config:t})}}}function KP(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=e.encoding,n=e.markDef,r=e.config,i=e.stack,o=A.tooltip;if(kU(o))return{tooltip:XP({tooltip:o},i,r,t)};var a=t.reactiveGeom?"datum.datum":"datum";return jP(e,o,"tooltip",(function(e){var o=VP(e,r,a);if(o)return o;if(null!==e){var s=dO("tooltip",n,r);return!0===s&&(s={content:"encoding"}),JU(s)?{value:s}:xU(s)?nO(s)?s:"encoding"===s.content?XP(A,i,r,t):{signal:a}:void 0}}))}function WP(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=n.reactiveGeom,i={},o=r?"datum.datum":"datum",a=[];function s(n,r){var s,g=fM(r),c=_H(n)?n:Object.assign(Object.assign({},n),{type:e[g].type}),u=OU(c.title||$H(c,A)).join(", ");if(mM(r)){var l="x"===r?"x2":"y2",I=AY(e[l]);if(KM(c.bin)&&I){var C=JH(c,{expr:o}),h=JH(I,{expr:o}),f=eY(c);s=lH(C,h,f.format,f.formatType,A),i[l]=!0}else if(t&&t.fieldChannel===r&&"normalize"===t.offset){var d=eY(c);s=rH({fieldOrDatumDef:c,format:d.format,formatType:d.formatType,expr:o,config:A,normalizeStack:!0}).signal}}null!==s&&void 0!==s||(s=VP(c,A,o).signal),a.push({channel:r,key:u,value:s})}GY(e,(function(e,t){DH(e)?s(e,t):FH(e)&&s(e.condition,t)}));for(var g={},c=0,u=a;c<u.length;c++){var l=u[c],I=l.channel,C=l.key,h=l.value;i[I]||g[C]||(g[C]=h)}return g}function XP(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=n.reactiveGeom,i=WP(e,t,A,{reactiveGeom:r}),o=m_(i).map((function(e){var t=Object(lt.a)(e,2),A=t[0],n=t[1];return'"'.concat(A,'": ').concat(n)}));return o.length>0?{signal:"{".concat(o.join(", "),"}")}:void 0}function qP(e){var t=dO("aria",e.markDef,e.config);return!1===t?{}:Object.assign(Object.assign(Object.assign({},t?{aria:t}:{}),function(e){var t=e.mark,A=e.markDef,n=e.config;if(!1===n.aria)return{};var r=dO("ariaRoleDescription",A,n);if(null!=r)return{ariaRoleDescription:{value:r}};return t in aO?{}:{ariaRoleDescription:{value:t}}}(e)),function(e){var t=e.encoding,A=e.markDef,n=e.config,r=e.stack,i=t.description;if(i)return jP(e,i,"description",(function(t){return VP(t,e.config)}));var o=dO("description",A,n);if(null!=o)return{description:IO(o)};if(!1===n.aria)return{};var a=WP(t,r,n);if(Q_(a))return;return{description:{signal:m_(a).map((function(e,t){var A=Object(lt.a)(e,2),n=A[0],r=A[1];return'"'.concat(t>0?"; ":"").concat(n,': " + (').concat(r,")")})).join(" + ")}}}(e))}function zP(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=t.markDef,r=t.encoding,i=t.config,o=A.vgChannel,a=A.defaultRef,s=A.defaultValue;void 0===a&&(null!==s&&void 0!==s||(s=dO(e,n,i,{vgChannel:o,ignoreVgConfig:!0})),void 0!==s&&(a=IO(s)));var g=r[e];return jP(t,g,null!==o&&void 0!==o?o:e,(function(A){return eH({channel:e,channelDef:A,markDef:n,config:i,scaleName:t.scaleName(e),scale:t.getScaleComponent(e),stack:null,defaultRef:a})}))}function $P(e){var t,A,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{filled:void 0},o=e.markDef,a=e.encoding,s=e.config,g=o.type,c=null!==(t=i.filled)&&void 0!==t?t:dO("filled",o,s),u=c_(["bar","point","circle","square","geoshape"],g)?"transparent":void 0,l=null!==(n=null!==(A=dO(!0===c?"color":void 0,o,s,{vgChannel:"fill"}))&&void 0!==A?A:s.mark[!0===c&&"color"])&&void 0!==n?n:u,I=null!==(r=dO(!1===c?"color":void 0,o,s,{vgChannel:"stroke"}))&&void 0!==r?r:s.mark[!1===c&&"color"],C=c?"fill":"stroke",h=Object.assign(Object.assign({},l?{fill:IO(l)}:{}),I?{stroke:IO(I)}:{});return o.color&&(c?o.fill:o.stroke)&&tT(B.droppingColor("property",{fill:"fill"in o,stroke:"stroke"in o})),Object.assign(Object.assign(Object.assign(Object.assign({},h),zP("color",e,{vgChannel:C,defaultValue:c?l:I})),zP("fill",e,{defaultValue:a.fill?l:void 0})),zP("stroke",e,{defaultValue:a.stroke?I:void 0}))}function eV(e,t){var A=t[function(e){switch(e){case"x":return"xOffset";case"y":return"yOffset";case"x2":return"x2Offset";case"y2":return"y2Offset";case W_:return"thetaOffset";case K_:return"radiusOffset";case X_:return"theta2Offset";case"radius2":return"radius2Offset"}}(e)];if(A)return A}function tV(e,t,A){var n=A.defaultPos,r=A.vgChannel,i=t.encoding,o=t.markDef,a=t.config,s=t.stack,g=i[e],c=i[BM(e)],u=t.scaleName(e),l=t.getScaleComponent(e),I=eV(e,o),C=AV({model:t,defaultPos:n,channel:e,scaleName:u,scale:l}),h=!g&&mM(e)&&(i.latitude||i.longitude)?{field:t.getName(e)}:function(e){var t=e.channel,A=e.channelDef,n=e.scaleName,r=e.stack,i=e.offset,o=e.markDef;if(UH(A)&&r&&t===r.fieldChannel){if(DH(A)){var a=A.bandPosition;if(void 0!==a||"text"!==o.type||"radius"!==t&&"theta"!==t||(a=.5),void 0!==a)return $Z({scaleName:n,fieldOrDatumDef:A,startSuffix:"start",bandPosition:a,offset:i})}return zZ(A,n,{suffix:"end"},{offset:i})}return KZ(e)}({channel:e,channelDef:g,channel2Def:c,markDef:o,config:a,scaleName:u,scale:l,stack:s,offset:I,defaultRef:C});return h?Object($n.a)({},r||e,h):void 0}function AV(e){var t=e.model,A=e.defaultPos,n=e.channel,r=e.scaleName,i=e.scale,o=t.markDef,a=t.config;return function(){var e=fM(n),s=dM(n),g=dO(n,o,a,{vgChannel:s});if(void 0!==g)return tH(n,g);switch(A){case"zeroOrMin":case"zeroOrMax":if(r){var c=i.get("type");if(c_([jT,WT,XT],c));else if(i.domainDefinitelyIncludesZero())return{scale:r,value:0}}if("zeroOrMin"===A)return"y"===e?{field:{group:"height"}}:{value:0};switch(e){case"radius":return{signal:"min(".concat(t.width.signal,",").concat(t.height.signal,")/2")};case"theta":return{signal:"2*PI"};case"x":return{field:{group:"width"}};case"y":return{value:0}}break;case"mid":var u=t[pM(n)];return Object.assign(Object.assign({},u),{mult:.5})}}}var nV={left:"x",center:"xc",right:"x2"},rV={top:"y",middle:"yc",bottom:"y2"};function iV(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"middle";if("radius"===e||"theta"===e)return dM(e);var r,i="x"===e?"align":"baseline",o=dO(i,t,A);return nO(o)?(tT(B.rangeMarkAlignmentCannotBeExpression(i)),r=void 0):r=o,"x"===e?nV[r||("top"===n?"left":"center")]:rV[r||n]}function oV(e,t,A){var n=A.defaultPos,r=A.defaultPos2;return A.range?aV(e,t,{defaultPos:n,defaultPos2:r}):tV(e,t,{defaultPos:n})}function aV(e,t,A){var n=A.defaultPos,r=A.defaultPos2,i=t.markDef,o=t.config,a=BM(e),s=pM(e),g=function(e,t,A){var n,r=e.encoding,i=e.mark,o=e.markDef,a=e.stack,s=e.config,g=fM(A),c=pM(A),u=dM(A),l=r[g],I=e.scaleName(g),C=e.getScaleComponent(g),h=eV(A in r||A in o?A:g,e.markDef);if(!l&&("x2"===A||"y2"===A)&&(r.latitude||r.longitude)){var f=pM(A),d=e.markDef[f];return null!=d?Object($n.a)({},f,{value:d}):Object($n.a)({},u,{field:e.getName(A)})}var B=function(e){var t=e.channel,A=e.channelDef,n=e.channel2Def,r=e.markDef,i=e.config,o=e.scaleName,a=e.scale,s=e.stack,g=e.offset,c=e.defaultRef;if(UH(A)&&s&&t.charAt(0)===s.fieldChannel.charAt(0))return zZ(A,o,{suffix:"start"},{offset:g});return KZ({channel:t,channelDef:n,scaleName:o,scale:a,stack:s,markDef:r,config:i,offset:g,defaultRef:c})}({channel:A,channelDef:l,channel2Def:r[A],markDef:o,config:s,scaleName:I,scale:C,stack:a,offset:h,defaultRef:void 0});if(void 0!==B)return Object($n.a)({},u,B);return sV(A,o)||sV(A,(n={},Object($n.a)(n,A,pO(A,o,s.style)),Object($n.a)(n,c,pO(c,o,s.style)),n))||sV(A,s[i])||sV(A,s.mark)||Object($n.a)({},u,AV({model:e,defaultPos:t,channel:A,scaleName:I,scale:C})())}(t,r,a),c=g[s]?iV(e,i,o):dM(e);return Object.assign(Object.assign({},tV(e,t,{defaultPos:n,vgChannel:c})),g)}function sV(e,t){var A=pM(e),n=dM(e);if(void 0!==t[n])return Object($n.a)({},n,tH(e,t[n]));if(void 0!==t[e])return Object($n.a)({},n,tH(e,t[e]));if(t[A]){var r=t[A];if(!JZ(r))return Object($n.a)({},A,tH(e,r));tT(B.relativeBandSizeNotSupported(A))}}function gV(e,t,A){var n,r,i,o,a=e.config,s=e.encoding,g=e.markDef,c=BM(t),u=pM(t),l=s[t],I=s[c],C=e.getScaleComponent(t),h=C?C.get("type"):void 0,f=e.scaleName(t),d=g.orient,p=null!==(r=null!==(n=s[u])&&void 0!==n?n:s.size)&&void 0!==r?r:dO("size",g,a,{vgChannel:u}),E="bar"===A&&("x"===t?"vertical"===d:"horizontal"===d);if(!DH(l)||!(VM(l.bin)||KM(l.bin)||l.timeUnit&&!I)||p&&!JZ(p)||lZ(h))return(UH(l)&&lZ(h)||E)&&!I?function(e,t,A){var n,r=A.markDef,i=A.encoding,o=A.config,a=A.stack,s=r.orient,g=A.scaleName(t),c=A.getScaleComponent(t),u=pM(t),l=BM(t),I="horizontal"===s&&"y"===t||"vertical"===s&&"x"===t;(i.size||r.size)&&(I?n=zP("size",A,{vgChannel:u,defaultRef:IO(r.size)}):tT(B.cannotApplySizeToNonOrientedMark(r.type)));var C=bH({channel:t,fieldDef:e,markDef:r,config:o,scaleType:null===c||void 0===c?void 0:c.get("type"),useVlSizeChannel:I});n=n||Object($n.a)({},u,function(e,t,A,n,r){if(JZ(r)){if(!A)return{mult:r.band,field:{group:e}};var i=A.get("type");if("band"===i)return{scale:t,band:r.band};1!==r.band&&(tT(B.cannotUseRelativeBandSizeWithNonBandScale(i)),r=void 0)}else{if(nO(r))return r;if(r)return{value:r}}if(A){var o=A.get("range");if(rO(o)&&YU(o.step))return{value:o.step-2}}return{value:mJ(n.view,e)-2}}(u,g,c,o,C));var h="band"===(null===c||void 0===c?void 0:c.get("type"))&&"band"in n[u]?"top":"middle",f=iV(t,r,o,h),d="xc"===f||"yc"===f,p=eV(t,r),E=KZ({channel:t,channelDef:e,markDef:r,config:o,scaleName:g,scale:c,stack:a,offset:p,defaultRef:AV({model:A,defaultPos:"mid",channel:t,scaleName:g,scale:c}),bandPosition:d?.5:nO(C)?{signal:"(1-".concat(C,")/2")}:JZ(C)?(1-C.band)/2:0});if(u)return Object.assign(Object($n.a)({},f,E),n);var Q,y=dM(l),v=n[u],m=p?Object.assign(Object.assign({},v),{offset:p}):v;return Q={},Object($n.a)(Q,f,E),Object($n.a)(Q,y,kU(E)?[E[0],Object.assign(Object.assign({},E[1]),{offset:m})]:Object.assign(Object.assign({},E),{offset:m})),Q}(l,t,e):aV(t,e,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"});var Q=bH({channel:t,fieldDef:l,markDef:g,config:a,scaleType:h}),y=null===(i=e.component.axes[t])||void 0===i?void 0:i[0];return function(e){var t,A=e.fieldDef,n=e.fieldDef2,r=e.channel,i=e.bandSize,o=e.scaleName,a=e.markDef,s=e.spacing,g=void 0===s?0:s,c=e.axisTranslate,u=e.reverse,l=e.config,I=BM(r),C=dM(r),h=dM(I),f=eV(r,a),d=nO(i)?{signal:"(1-".concat(i.signal,")/2")}:JZ(i)?(1-i.band)/2:.5;if(VM(A.bin)||A.timeUnit)return t={},Object($n.a)(t,h,uV({channel:r,fieldDef:A,scaleName:o,markDef:a,bandPosition:d,offset:cV(I,g,u,c,f),config:l})),Object($n.a)(t,C,uV({channel:r,fieldDef:A,scaleName:o,markDef:a,bandPosition:nO(d)?{signal:"1-".concat(d.signal)}:1-d,offset:cV(r,g,u,c,f),config:l})),t;if(KM(A.bin)){var p,E,Q=zZ(A,o,{},{offset:cV(I,g,u,c,f)});if(DH(n))return p={},Object($n.a)(p,h,Q),Object($n.a)(p,C,zZ(n,o,{},{offset:cV(r,g,u,c,f)})),p;if(WM(A.bin)&&A.bin.step)return E={},Object($n.a)(E,h,Q),Object($n.a)(E,C,{signal:'scale("'.concat(o,'", ').concat(JH(A,{expr:"datum"})," + ").concat(A.bin.step,")"),offset:cV(r,g,u,c,f)}),E}return void tT(B.channelRequiredForBinned(I))}({fieldDef:l,fieldDef2:I,channel:t,markDef:g,scaleName:f,bandSize:Q,axisTranslate:null!==(o=null===y||void 0===y?void 0:y.get("translate"))&&void 0!==o?o:.5,spacing:mM(t)?dO("binSpacing",g,a):void 0,reverse:C.get("reverse"),config:a})}function cV(e,t,A,n,r){if(AM(e))return 0;var i="x"===e||"y2"===e?-t/2:t/2;if(nO(A)||nO(r)||nO(n)){var o=hO(A),a=hO(r),s=hO(n);return{signal:(s?"".concat(s," + "):"")+(o?"(".concat(o," ? -1 : 1) * "):"")+(a?"(".concat(a," + ").concat(i,")"):i)}}return r=r||0,n+(A?-r-i:+r+i)}function uV(e){var t=e.channel,A=e.fieldDef,n=e.scaleName,r=e.markDef,i=e.bandPosition,o=e.offset,a=e.config;return WZ({fieldDef:A,channel:t,markDef:r,ref:$Z({scaleName:n,fieldOrDatumDef:A,bandPosition:i,offset:o}),config:a})}var lV=new Set(["aria","width","height"]);function IV(e,t){var A="include"===t.color?$P(e):{},n=A.fill,r=void 0===n?void 0:n,i=A.stroke,o=void 0===i?void 0:i;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},function(e,t){return oO.reduce((function(A,n){return lV.has(n)||void 0===e[n]||"ignore"===t[n]||(A[n]=IO(e[n])),A}),{})}(e.markDef,t)),CV(e,"fill",r)),CV(e,"stroke",o)),zP("opacity",e)),zP("fillOpacity",e)),zP("strokeOpacity",e)),zP("strokeWidth",e)),zP("strokeDash",e)),function(e){var t=e.encoding,A=e.mark,n=t.order;return!MZ(A)&&MH(n)?jP(e,n,"zindex",(function(e){return IO(e.value)})):{}}(e)),KP(e)),PP(e,"href")),qP(e))}function CV(e,t,A){var n=e.config,r=e.mark;if("hide"===dO("invalid",e.markDef,n)&&A&&!MZ(r)){var i=function(e,t){var A=t.invalid,n=void 0!==A&&A,r=t.channels.reduce((function(t,A){var n=e.getScaleComponent(A);if(n){var r=n.get("type"),i=e.vgField(A,{expr:"datum"});i&&IZ(r)&&(t[i]=!0)}return t}),{}),i=y_(r);if(i.length>0){var o=n?"||":"&&";return i.map((function(e){return qZ(e,n)})).join(" ".concat(o," "))}return}(e,{invalid:!0,channels:GM});if(i)return Object($n.a)({},t,[{test:i,value:null}].concat(Object(zn.a)(OU(A))))}return A?Object($n.a)({},t,A):{}}function hV(e){var t=e.config;if(dO("invalid",e.markDef,t)){var A=function(e,t){var A=t.invalid,n=void 0!==A&&A,r=t.channels.reduce((function(t,A){var n=e.getScaleComponent(A);if(n){var r=n.get("type"),i=e.vgField(A,{expr:"datum"});i&&IZ(r)&&(t[i]=!0)}return t}),{}),i=y_(r);if(i.length>0){var o=n?"||":"&&";return i.map((function(e){return qZ(e,n)})).join(" ".concat(o," "))}return}(e,{channels:vM});if(A)return{defined:{signal:A}}}return{}}function fV(e,t){if(void 0!==t)return Object($n.a)({},e,IO(t))}var dV={defined:function(e){return"point"===e.type&&e.nearest},parse:function(e,t){if(t.events){var A,n=Object(ut.a)(t.events);try{for(n.s();!(A=n.n()).done;){A.value.markname=e.getName("voronoi")}}catch(r){n.e(r)}finally{n.f()}}},marks:function(e,t,A){var n=t.project.hasChannel,r=n.x,i=n.y,o=e.mark;if(MZ(o))return tT(B.nearestNotSupportForContinuous(o)),A;var a={name:e.getName("voronoi"),type:"path",interactive:!0,from:{data:e.getName("marks")},encode:{update:Object.assign({fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0}},KP(e,{reactiveGeom:!0}))},transform:[{type:"voronoi",x:{expr:r||!i?"datum.datum.x || 0":"0"},y:{expr:i||!r?"datum.datum.y || 0":"0"},size:[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]}]},s=0,g=!1;return A.forEach((function(t,A){var n,r=null!==(n=t.name)&&void 0!==n?n:"";r===e.component.mark[0].name?s=A:r.indexOf("voronoi")>=0&&(g=!0)})),g||A.splice(s+1,0,a),A}},BV={defined:function(e){return"point"===e.type&&"global"===e.resolve&&e.bind&&"scales"!==e.bind&&!uJ(e.bind)},parse:function(e,t,A){return UV(t,A)},topLevelSignals:function(e,t,A){var n=t.name,r=t.project,i=t.bind,o=t.init&&t.init[0],a=dV.defined(t)?"(item().isVoronoi ? datum.datum : datum)":"datum";return r.items.forEach((function(e,r){var s,g,c=w_("".concat(n,"_").concat(e.field));A.filter((function(e){return e.name===c})).length||A.unshift(Object.assign(Object.assign({name:c},o?{init:SP(o[r])}:{value:null}),{on:t.events?[{events:t.events,update:"datum && item().mark.marktype !== 'group' ? ".concat(a,"[").concat(jU(e.field),"] : null")}]:[],bind:null!==(g=null!==(s=i[e.field])&&void 0!==s?s:i[e.channel])&&void 0!==g?g:i}))})),A},signals:function(e,t,A){var n=t.name,r=t.project,i=A.filter((function(e){return e.name===n+FV}))[0],o=n+"_tuple_fields",a=r.items.map((function(e){return w_("".concat(n,"_").concat(e.field))})),s=a.map((function(e){return"".concat(e," !== null")})).join(" && ");return a.length&&(i.update="".concat(s," ? {fields: ").concat(o,", values: [").concat(a.join(", "),"]} : null")),delete i.value,delete i.on,A}},pV={defined:function(e){return"point"===e.type&&!!e.toggle},signals:function(e,t,A){return A.concat({name:t.name+"_toggle",value:!1,on:[{events:t.events,update:t.toggle}]})},modifyExpr:function(e,t){var A=t.name+FV,n=t.name+"_toggle";return"".concat(n," ? null : ").concat(A,", ")+("global"===t.resolve?"".concat(n," ? null : true, "):"".concat(n," ? null : {unit: ").concat(xV(e),"}, "))+"".concat(n," ? ").concat(A," : null")}},EV={defined:function(e){return void 0!==e.clear&&!1!==e.clear},parse:function(e,t){t.clear&&(t.clear=JU(t.clear)?yP(t.clear,"view"):t.clear)},topLevelSignals:function(e,t,A){if(BV.defined(t)){var n,r=Object(ut.a)(t.project.items);try{var i=function(){var e=n.value,r=A.findIndex((function(A){return A.name===w_("".concat(t.name,"_").concat(e.field))}));-1!==r&&A[r].on.push({events:t.clear,update:"null"})};for(r.s();!(n=r.n()).done;)i()}catch(o){r.e(o)}finally{r.f()}}return A},signals:function(e,t,A){function n(e,n){-1!==e&&A[e].on&&A[e].on.push({events:t.clear,update:n})}if("interval"===t.type){var r,i=Object(ut.a)(t.project.items);try{var o=function(){var e=r.value,t=A.findIndex((function(t){return t.name===e.signals.visual}));(n(t,"[0, 0]"),-1===t)&&n(A.findIndex((function(t){return t.name===e.signals.data})),"null")};for(i.s();!(r=i.n()).done;)o()}catch(s){i.e(s)}finally{i.f()}}else{var a=A.findIndex((function(e){return e.name===t.name+FV}));n(a,"null"),pV.defined(t)&&n(a=A.findIndex((function(e){return e.name===t.name+"_toggle"})),"false")}return A}},QV={defined:function(e){var t="global"===e.resolve&&e.bind&&uJ(e.bind),A=1===e.project.items.length&&"_vgsid_"!==e.project.items[0].field;return t&&!A&&tT(B.LEGEND_BINDINGS_MUST_HAVE_PROJECTION),t&&A},parse:function(e,t,A){var n,r=r_(A);if(r.select=JU(r.select)?{type:r.select,toggle:t.toggle}:Object.assign(Object.assign({},r.select),{toggle:t.toggle}),UV(t,r),Object(ue.H)(A.select)&&(A.select.on||A.select.clear)){var i,o='event.item && indexof(event.item.mark.role, "legend") < 0',a=Object(ut.a)(t.events);try{for(a.s();!(i=a.n()).done;){var s=i.value;s.filter=OU(null!==(n=s.filter)&&void 0!==n?n:[]),s.filter.includes(o)||s.filter.push(o)}}catch(u){a.e(u)}finally{a.f()}}var g=lJ(t.bind)?t.bind.legend:"click",c=JU(g)?yP(g,"view"):OU(g);t.bind={legend:{merge:c}}},topLevelSignals:function(e,t,A){var n,r=t.name,i=lJ(t.bind)&&t.bind.legend,o=function(e){return function(t){var A=r_(t);return A.markname=e,A}},a=Object(ut.a)(t.project.items);try{var s=function(){var e=n.value;if(!e.hasLegend)return"continue";var a="".concat(w_(e.field),"_legend"),s="".concat(r,"_").concat(a);if(0===A.filter((function(e){return e.name===s})).length){var g=i.merge.map(o("".concat(a,"_symbols"))).concat(i.merge.map(o("".concat(a,"_labels")))).concat(i.merge.map(o("".concat(a,"_entries"))));A.unshift(Object.assign(Object.assign({name:s},t.init?{}:{value:null}),{on:[{events:g,update:"datum.value || item().items[0].items[0].datum.value",force:!0},{events:i.merge,update:"!event.item || !datum ? null : ".concat(s),force:!0}]}))}};for(a.s();!(n=a.n()).done;)s()}catch(g){a.e(g)}finally{a.f()}return A},signals:function(e,t,A){var n=t.name,r=t.project,i=A.find((function(e){return e.name===n+FV})),o=n+"_tuple_fields",a=r.items.filter((function(e){return e.hasLegend})).map((function(e){return w_("".concat(n,"_").concat(w_(e.field),"_legend"))})),s=a.map((function(e){return"".concat(e," !== null")})).join(" && "),g="".concat(s," ? {fields: ").concat(o,", values: [").concat(a.join(", "),"]} : null");t.events&&a.length>0?i.on.push({events:a.map((function(e){return{signal:e}})),update:g}):a.length>0&&(i.update=g,delete i.value,delete i.on);var c=A.find((function(e){return e.name===n+"_toggle"})),u=lJ(t.bind)&&t.bind.legend;return c&&(t.events?c.on.push(Object.assign(Object.assign({},c.on[0]),{events:u})):c.on[0].events=u),A}};var yV="_translate_delta",vV={defined:function(e){return"interval"===e.type&&e.translate},signals:function(e,t,A){var n=t.name,r=MP.defined(t),i=n+"_translate_anchor",o=t.project.hasChannel,a=o.x,s=o.y,g=yP(t.translate,"scope");return r||(g=g.map((function(e){return e.between[0].markname=n+ZP,e}))),A.push({name:i,value:{},on:[{events:g.map((function(e){return e.between[0]})),update:"{x: x(unit), y: y(unit)"+(void 0!==a?", extent_x: ".concat(r?OP(e,"x"):"slice(".concat(a.signals.visual,")")):"")+(void 0!==s?", extent_y: ".concat(r?OP(e,"y"):"slice(".concat(s.signals.visual,")")):"")+"}"}]},{name:n+yV,value:{},on:[{events:g,update:"{x: ".concat(i,".x - x(unit), y: ").concat(i,".y - y(unit)}")}]}),void 0!==a&&mV(e,t,a,"width",A),void 0!==s&&mV(e,t,s,"height",A),A}};function mV(e,t,A,n,r){var i,o,a=t.name,s=a+"_translate_anchor",g=a+yV,c=A.channel,u=MP.defined(t),l=r.filter((function(e){return e.name===A.signals[u?"data":"visual"]}))[0],I=e.getSizeSignalRef(n).signal,C=e.getScaleComponent(c),h=C.get("type"),f=C.get("reverse"),d=u?"x"===c?f?"":"-":f?"-":"":"",B="".concat(s,".extent_").concat(c),p="".concat(d).concat(g,".").concat(c," / ").concat(u?"".concat(I):"span(".concat(B,")")),E=u?"log"===h?"panLog":"symlog"===h?"panSymlog":"pow"===h?"panPow":"panLinear":"panLinear",Q=u?"pow"===h?", ".concat(null!==(i=C.get("exponent"))&&void 0!==i?i:1):"symlog"===h?", ".concat(null!==(o=C.get("constant"))&&void 0!==o?o:1):"":"",y="".concat(E,"(").concat(B,", ").concat(p).concat(Q,")");l.on.push({events:{signal:g},update:u?y:"clampRange(".concat(y,", 0, ").concat(I,")")})}var bV={defined:function(e){return"interval"===e.type&&e.zoom},signals:function(e,t,A){var n=t.name,r=MP.defined(t),i=n+"_zoom_delta",o=t.project.hasChannel,a=o.x,s=o.y,g=jU(e.scaleName("x")),c=jU(e.scaleName("y")),u=yP(t.zoom,"scope");return r||(u=u.map((function(e){return e.markname=n+ZP,e}))),A.push({name:n+"_zoom_anchor",on:[{events:u,update:r?"{"+[g?"x: invert(".concat(g,", x(unit))"):"",c?"y: invert(".concat(c,", y(unit))"):""].filter((function(e){return!!e})).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:i,on:[{events:u,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),void 0!==a&&wV(e,t,a,"width",A),void 0!==s&&wV(e,t,s,"height",A),A}};function wV(e,t,A,n,r){var i,o,a=t.name,s=A.channel,g=MP.defined(t),c=r.filter((function(e){return e.name===A.signals[g?"data":"visual"]}))[0],u=e.getSizeSignalRef(n).signal,l=e.getScaleComponent(s),I=l.get("type"),C=g?OP(e,s):c.name,h=a+"_zoom_delta",f="".concat(a).concat("_zoom_anchor",".").concat(s),d=g?"log"===I?"zoomLog":"symlog"===I?"zoomSymlog":"pow"===I?"zoomPow":"zoomLinear":"zoomLinear",B=g?"pow"===I?", ".concat(null!==(i=l.get("exponent"))&&void 0!==i?i:1):"symlog"===I?", ".concat(null!==(o=l.get("constant"))&&void 0!==o?o:1):"":"",p="".concat(d,"(").concat(C,", ").concat(f,", ").concat(h).concat(B,")");c.on.push({events:{signal:h},update:g?p:"clampRange(".concat(p,", 0, ").concat(u,")")})}var SV="_store",FV="_tuple",RV="_modify",DV="vlSelectionResolve",GV=[JP,HP,_P,pV,BV,MP,QV,EV,vV,bV,dV];function kV(e){for(var t=e.parent;t&&!dq(t);)t=t.parent;return t}function xV(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{escape:!0},A=t.escape,n=A?jU(e.name):e.name,r=kV(e);if(r){var i,o=r.facet,a=Object(ut.a)(sM);try{for(a.s();!(i=a.n()).done;){var s=i.value;o[s]&&(n+=" + '__facet_".concat(s,"_' + (facet[").concat(jU(r.vgField(s)),"])"))}}catch(g){a.e(g)}finally{a.f()}}return n}function NV(e){var t;return v_(null!==(t=e.component.selection)&&void 0!==t?t:{}).reduce((function(e,t){return e||t.project.items.some((function(e){return"_vgsid_"===e.field}))}),!1)}function UV(e,t){!Object(ue.J)(t.select)&&t.select.on||delete e.events,!Object(ue.J)(t.select)&&t.select.clear||delete e.clear,!Object(ue.J)(t.select)&&t.select.toggle||delete e.toggle}var _V,MV,OV,LV,TV;function ZV(e){this.type=e}ZV.prototype.visit=function(e){var t,A,n;if(e(this))return 1;for(A=0,n=(t=function(e){switch(e.type){case"ArrayExpression":return e.elements;case"BinaryExpression":case"LogicalExpression":return[e.left,e.right];case"CallExpression":return[e.callee].concat(e.arguments);case"ConditionalExpression":return[e.test,e.consequent,e.alternate];case"MemberExpression":return[e.object,e.property];case"ObjectExpression":return e.properties;case"Property":return[e.key,e.value];case"UnaryExpression":return[e.argument];case"Identifier":case"Literal":case"RawCode":default:return[]}}(this)).length;A<n;++A)if(t[A].visit(e))return 1};(_V={})[1]="Boolean",_V[2]="<end>",_V[3]="Identifier",_V[4]="Keyword",_V[5]="Null",_V[6]="Numeric",_V[7]="Punctuator",_V[8]="String",_V[9]="RegularExpression";var HV=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),YV=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function JV(e,t){if(!e)throw new Error("ASSERT: "+t)}function jV(e){return e>=48&&e<=57}function PV(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function VV(e){return"01234567".indexOf(e)>=0}function KV(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0}function WV(e){return 10===e||13===e||8232===e||8233===e}function XV(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&HV.test(String.fromCharCode(e))}function qV(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&YV.test(String.fromCharCode(e))}var zV={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function $V(){for(;OV<LV;){var e=MV.charCodeAt(OV);if(!KV(e)&&!WV(e))break;++OV}}function eK(e){var t,A,n,r=0;for(A="u"===e?4:2,t=0;t<A;++t)OV<LV&&PV(MV[OV])?(n=MV[OV++],r=16*r+"0123456789abcdef".indexOf(n.toLowerCase())):fK({},"Unexpected token %0","ILLEGAL");return String.fromCharCode(r)}function tK(){var e,t,A,n;for(t=0,"}"===(e=MV[OV])&&fK({},"Unexpected token %0","ILLEGAL");OV<LV&&PV(e=MV[OV++]);)t=16*t+"0123456789abcdef".indexOf(e.toLowerCase());return(t>1114111||"}"!==e)&&fK({},"Unexpected token %0","ILLEGAL"),t<=65535?String.fromCharCode(t):(A=55296+(t-65536>>10),n=56320+(t-65536&1023),String.fromCharCode(A,n))}function AK(){var e,t;for(e=MV.charCodeAt(OV++),t=String.fromCharCode(e),92===e&&(117!==MV.charCodeAt(OV)&&fK({},"Unexpected token %0","ILLEGAL"),++OV,(e=eK("u"))&&"\\"!==e&&XV(e.charCodeAt(0))||fK({},"Unexpected token %0","ILLEGAL"),t=e);OV<LV&&qV(e=MV.charCodeAt(OV));)++OV,t+=String.fromCharCode(e),92===e&&(t=t.substr(0,t.length-1),117!==MV.charCodeAt(OV)&&fK({},"Unexpected token %0","ILLEGAL"),++OV,(e=eK("u"))&&"\\"!==e&&qV(e.charCodeAt(0))||fK({},"Unexpected token %0","ILLEGAL"),t+=e);return t}function nK(){var e,t;return e=OV,{type:1===(t=92===MV.charCodeAt(OV)?AK():function(){var e,t;for(e=OV++;OV<LV;){if(92===(t=MV.charCodeAt(OV)))return OV=e,AK();if(!qV(t))break;++OV}return MV.slice(e,OV)}()).length?3:zV.hasOwnProperty(t)?4:"null"===t?5:"true"===t||"false"===t?1:3,value:t,start:e,end:OV}}function rK(){var e,t,A,n,r=OV,i=MV.charCodeAt(OV),o=MV[OV];switch(i){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++OV,{type:7,value:String.fromCharCode(i),start:r,end:OV};default:if(61===(e=MV.charCodeAt(OV+1)))switch(i){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return OV+=2,{type:7,value:String.fromCharCode(i)+String.fromCharCode(e),start:r,end:OV};case 33:case 61:return OV+=2,61===MV.charCodeAt(OV)&&++OV,{type:7,value:MV.slice(r,OV),start:r,end:OV}}}return">>>="===(n=MV.substr(OV,4))?{type:7,value:n,start:r,end:OV+=4}:">>>"===(A=n.substr(0,3))||"<<="===A||">>="===A?{type:7,value:A,start:r,end:OV+=3}:o===(t=A.substr(0,2))[1]&&"+-<>&|".indexOf(o)>=0||"=>"===t?{type:7,value:t,start:r,end:OV+=2}:("//"===t&&fK({},"Unexpected token %0","ILLEGAL"),"<>=!+-*%&|^/".indexOf(o)>=0?{type:7,value:o,start:r,end:++OV}:void fK({},"Unexpected token %0","ILLEGAL"))}function iK(){var e,t,A;if(JV(jV((A=MV[OV]).charCodeAt(0))||"."===A,"Numeric literal must start with a decimal digit or a decimal point"),t=OV,e="","."!==A){if(e=MV[OV++],A=MV[OV],"0"===e){if("x"===A||"X"===A)return++OV,function(e){for(var t="";OV<LV&&PV(MV[OV]);)t+=MV[OV++];return 0===t.length&&fK({},"Unexpected token %0","ILLEGAL"),XV(MV.charCodeAt(OV))&&fK({},"Unexpected token %0","ILLEGAL"),{type:6,value:parseInt("0x"+t,16),start:e,end:OV}}(t);if(VV(A))return function(e){for(var t="0"+MV[OV++];OV<LV&&VV(MV[OV]);)t+=MV[OV++];return(XV(MV.charCodeAt(OV))||jV(MV.charCodeAt(OV)))&&fK({},"Unexpected token %0","ILLEGAL"),{type:6,value:parseInt(t,8),octal:!0,start:e,end:OV}}(t);A&&jV(A.charCodeAt(0))&&fK({},"Unexpected token %0","ILLEGAL")}for(;jV(MV.charCodeAt(OV));)e+=MV[OV++];A=MV[OV]}if("."===A){for(e+=MV[OV++];jV(MV.charCodeAt(OV));)e+=MV[OV++];A=MV[OV]}if("e"===A||"E"===A)if(e+=MV[OV++],"+"!==(A=MV[OV])&&"-"!==A||(e+=MV[OV++]),jV(MV.charCodeAt(OV)))for(;jV(MV.charCodeAt(OV));)e+=MV[OV++];else fK({},"Unexpected token %0","ILLEGAL");return XV(MV.charCodeAt(OV))&&fK({},"Unexpected token %0","ILLEGAL"),{type:6,value:parseFloat(e),start:t,end:OV}}function oK(){var e,t,A,n;return TV=null,$V(),e=OV,t=function(){var e,t,A,n;for(JV("/"===(e=MV[OV]),"Regular expression literal must start with a slash"),t=MV[OV++],A=!1,n=!1;OV<LV;)if(t+=e=MV[OV++],"\\"===e)WV((e=MV[OV++]).charCodeAt(0))&&fK({},"Invalid regular expression: missing /"),t+=e;else if(WV(e.charCodeAt(0)))fK({},"Invalid regular expression: missing /");else if(A)"]"===e&&(A=!1);else{if("/"===e){n=!0;break}"["===e&&(A=!0)}return n||fK({},"Invalid regular expression: missing /"),{value:t.substr(1,t.length-2),literal:t}}(),A=function(){var e,t,A;for(t="",A="";OV<LV&&qV((e=MV[OV]).charCodeAt(0));)++OV,"\\"===e&&OV<LV?fK({},"Unexpected token %0","ILLEGAL"):(A+=e,t+=e);return A.search(/[^gimuy]/g)>=0&&fK({},"Invalid regular expression",A),{value:A,literal:t}}(),n=function(e,t){var A=e;t.indexOf("u")>=0&&(A=A.replace(/\\u\{([0-9a-fA-F]+)\}/g,(function(e,t){if(parseInt(t,16)<=1114111)return"x";fK({},"Invalid regular expression")})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(A)}catch(n){fK({},"Invalid regular expression")}try{return new RegExp(e,t)}catch(r){return null}}(t.value,A.value),{literal:t.literal+A.literal,value:n,regex:{pattern:t.value,flags:A.value},start:e,end:OV}}function aK(){if($V(),OV>=LV)return{type:2,start:OV,end:OV};var e=MV.charCodeAt(OV);return XV(e)?nK():40===e||41===e||59===e?rK():39===e||34===e?function(){var e,t,A,n,r="",i=!1;for(JV("'"===(e=MV[OV])||'"'===e,"String literal must starts with a quote"),t=OV,++OV;OV<LV;){if((A=MV[OV++])===e){e="";break}if("\\"===A)if((A=MV[OV++])&&WV(A.charCodeAt(0)))"\r"===A&&"\n"===MV[OV]&&++OV;else switch(A){case"u":case"x":"{"===MV[OV]?(++OV,r+=tK()):r+=eK(A);break;case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+="\t";break;case"b":r+="\b";break;case"f":r+="\f";break;case"v":r+="\v";break;default:VV(A)?(0!==(n="01234567".indexOf(A))&&(i=!0),OV<LV&&VV(MV[OV])&&(i=!0,n=8*n+"01234567".indexOf(MV[OV++]),"0123".indexOf(A)>=0&&OV<LV&&VV(MV[OV])&&(n=8*n+"01234567".indexOf(MV[OV++]))),r+=String.fromCharCode(n)):r+=A}else{if(WV(A.charCodeAt(0)))break;r+=A}}return""!==e&&fK({},"Unexpected token %0","ILLEGAL"),{type:8,value:r,octal:i,start:t,end:OV}}():46===e?jV(MV.charCodeAt(OV+1))?iK():rK():jV(e)?iK():rK()}function sK(){var e=TV;return OV=e.end,TV=aK(),OV=e.end,e}function gK(){var e=OV;TV=aK(),OV=e}function cK(e,t,A){var n=new ZV("||"===e||"&&"===e?"LogicalExpression":"BinaryExpression");return n.operator=e,n.left=t,n.right=A,n}function uK(e,t){var A=new ZV("CallExpression");return A.callee=e,A.arguments=t,A}function lK(e){var t=new ZV("Identifier");return t.name=e,t}function IK(e){var t=new ZV("Literal");return t.value=e.value,t.raw=MV.slice(e.start,e.end),e.regex&&("//"===t.raw&&(t.raw="/(?:)/"),t.regex=e.regex),t}function CK(e,t,A){var n=new ZV("MemberExpression");return n.computed="["===e,n.object=t,n.property=A,n.computed||(A.member=!0),n}function hK(e,t,A){var n=new ZV("Property");return n.key=t,n.value=A,n.kind=e,n}function fK(e,t){var A,n=Array.prototype.slice.call(arguments,2),r=t.replace(/%(\d)/g,(function(e,t){return JV(t<n.length,"Message reference must be in range"),n[t]}));throw(A=new Error(r)).index=OV,A.description=r,A}function dK(e){2===e.type&&fK(e,"Unexpected end of input"),6===e.type&&fK(e,"Unexpected number"),8===e.type&&fK(e,"Unexpected string"),3===e.type&&fK(e,"Unexpected identifier"),4===e.type&&fK(e,"Unexpected reserved word"),fK(e,"Unexpected token %0",e.value)}function BK(e){var t=sK();7===t.type&&t.value===e||dK(t)}function pK(e){return 7===TV.type&&TV.value===e}function EK(e){return 4===TV.type&&TV.value===e}function QK(){var e=[];for(OV=TV.start,BK("[");!pK("]");)pK(",")?(sK(),e.push(null)):(e.push(xK()),pK("]")||BK(","));return sK(),function(e){var t=new ZV("ArrayExpression");return t.elements=e,t}(e)}function yK(){OV=TV.start;var e=sK();return 8===e.type||6===e.type?(e.octal&&fK(e,"Octal literals are not allowed in strict mode."),IK(e)):lK(e.value)}function vK(){var e,t,A;return OV=TV.start,3===(e=TV).type?(A=yK(),BK(":"),hK("init",A,xK())):2!==e.type&&7!==e.type?(t=yK(),BK(":"),hK("init",t,xK())):void dK(e)}function mK(){var e,t,A=[],n={},r=String;for(OV=TV.start,BK("{");!pK("}");)t="$"+("Identifier"===(e=vK()).key.type?e.key.name:r(e.key.value)),Object.prototype.hasOwnProperty.call(n,t)?fK({},"Duplicate data property in object literal not allowed in strict mode"):n[t]=!0,A.push(e),pK("}")||BK(",");return BK("}"),function(e){var t=new ZV("ObjectExpression");return t.properties=e,t}(A)}var bK={if:1};function wK(){var e,t,A;if(pK("("))return function(){BK("(");var e=NK();return BK(")"),e}();if(pK("["))return QK();if(pK("{"))return mK();if(e=TV.type,OV=TV.start,3===e||bK[TV.value])A=lK(sK().value);else if(8===e||6===e)TV.octal&&fK(TV,"Octal literals are not allowed in strict mode."),A=IK(sK());else{if(4===e)throw new Error("Disabled.");1===e?((t=sK()).value="true"===t.value,A=IK(t)):5===e?((t=sK()).value=null,A=IK(t)):pK("/")||pK("/=")?(A=IK(oK()),gK()):dK(sK())}return A}function SK(){var e=[];if(BK("("),!pK(")"))for(;OV<LV&&(e.push(xK()),!pK(")"));)BK(",");return BK(")"),e}function FK(){return BK("."),function(){OV=TV.start;var e=sK();return function(e){return 3===e.type||4===e.type||1===e.type||5===e.type}(e)||dK(e),lK(e.value)}()}function RK(){BK("[");var e=NK();return BK("]"),e}function DK(){var e=function(){var e;for(e=wK();;)if(pK("."))e=CK(".",e,FK());else if(pK("("))e=uK(e,SK());else{if(!pK("["))break;e=CK("[",e,RK())}return e}();if(7===TV.type&&(pK("++")||pK("--")))throw new Error("Disabled.");return e}function GK(){var e,t;if(7!==TV.type&&4!==TV.type)t=DK();else{if(pK("++")||pK("--"))throw new Error("Disabled.");if(pK("+")||pK("-")||pK("~")||pK("!"))e=sK(),t=GK(),t=function(e,t){var A=new ZV("UnaryExpression");return A.operator=e,A.argument=t,A.prefix=!0,A}(e.value,t);else{if(EK("delete")||EK("void")||EK("typeof"))throw new Error("Disabled.");t=DK()}}return t}function kK(e){var t=0;if(7!==e.type&&4!==e.type)return 0;switch(e.value){case"||":t=1;break;case"&&":t=2;break;case"|":t=3;break;case"^":t=4;break;case"&":t=5;break;case"==":case"!=":case"===":case"!==":t=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":t=7;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11}return t}function xK(){var e,t;return e=function(){var e,t,A,n,r,i,o,a,s,g;if(e=TV,s=GK(),0===(r=kK(n=TV)))return s;for(n.prec=r,sK(),t=[e,TV],i=[s,n,o=GK()];(r=kK(TV))>0;){for(;i.length>2&&r<=i[i.length-2].prec;)o=i.pop(),a=i.pop().value,s=i.pop(),t.pop(),A=cK(a,s,o),i.push(A);(n=sK()).prec=r,i.push(n),t.push(TV),A=GK(),i.push(A)}for(A=i[g=i.length-1],t.pop();g>1;)t.pop(),A=cK(i[g-1].value,i[g-2],A),g-=2;return A}(),pK("?")&&(sK(),t=xK(),BK(":"),e=function(e,t,A){var n=new ZV("ConditionalExpression");return n.test=e,n.consequent=t,n.alternate=A,n}(e,t,xK())),e}function NK(){var e=xK();if(pK(","))throw new Error("Disabled.");return e}function UK(e){var t=function(e){OV=0,LV=(MV=e).length,TV=null,gK();var t=NK();if(2!==TV.type)throw new Error("Unexpect token after expression.");return t}(e),A=new Set;return t.visit((function(e){"MemberExpression"===e.type&&function e(t){return"MemberExpression"===t.object.type?e(t.object):"datum"===t.object.name}(e)&&A.add(function e(t){var A=[];return"Identifier"===t.type?[t.name]:"Literal"===t.type?[t.value]:("MemberExpression"===t.type&&(A.push.apply(A,Object(zn.a)(e(t.object))),A.push.apply(A,Object(zn.a)(e(t.property)))),A)}(e).slice(1).join("."))})),A}var _K=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n,r){var i;return Object(y.a)(this,A),(i=t.call(this,e)).model=n,i.filter=r,i.expr=LK(i.model,i.filter,Object(m.a)(i)),i._dependentFields=UK(i.expr),i}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,this.model,r_(this.filter))}},{key:"dependentFields",value:function(){return this._dependentFields}},{key:"producedFields",value:function(){return new Set}},{key:"assemble",value:function(){return{type:"filter",expr:this.expr}}},{key:"hash",value:function(){return"Filter ".concat(this.expr)}}]),A}(DP);function MK(e,t,A){var n,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"datum",i=JU(t)?t:t.param,o=w_(i),a=jU(o+SV);try{n=e.getSelectionComponent(o,i)}catch(l){return"!!".concat(o)}if(n.project.timeUnit){var s=null!==A&&void 0!==A?A:e.component.data.raw,g=n.project.timeUnit.clone();s.parent?g.insertAsParentOf(s):s.parent=g}var c="vlSelectionTest(".concat(a,", ").concat(r).concat("global"===n.resolve?")":", ".concat(jU(n.resolve),")")),u="length(data(".concat(a,"))");return!1===t.empty?"".concat(u," && ").concat(c):"!".concat(u," || ").concat(c)}function OK(e,t,A){var n,r=w_(t),i=A.encoding,o=A.field;try{n=e.getSelectionComponent(r,t)}catch(s){return r}if(i||o){if(i&&!o){var a=n.project.items.filter((function(e){return e.channel===i}));!a.length||a.length>1?(o=n.project.items[0].field,tT((a.length?"Multiple ":"No ")+"matching ".concat(jU(i)," encoding found for selection ").concat(jU(A.param),". ")+'Using "field": '.concat(jU(o),"."))):o=a[0].field}}else o=n.project.items[0].field,n.project.items.length>1&&tT('A "field" or "encoding" must be specified when using a selection as a scale domain. '+'Using "field": '.concat(jU(o),"."));return"".concat(n.name,"[").concat(jU(x_(o)),"]")}function LK(e,t,A){return S_(t,(function(t){return JU(t)?t:function(e){return null===e||void 0===e?void 0:e.param}(t)?MK(e,t,A):xT(t)}))}var TK=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function ZK(e,t){if(e)return kU(e)&&!AO(e)?e.map((function(e){return $H(e,t)})).join(", "):e}function HK(e,t,A,n){var r,i,o,a,s;null!==(r=e.encode)&&void 0!==r||(e.encode={}),null!==(i=(a=e.encode)[t])&&void 0!==i||(a[t]={}),null!==(o=(s=e.encode[t]).update)&&void 0!==o||(s.update={}),e.encode[t].update[A]=n}function YK(e,t,A){var n,r,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{header:!1},o=e.combine(),a=o.disable,s=o.orient,g=o.scale,c=o.labelExpr,u=o.title,l=o.zindex,I=TK(o,["disable","orient","scale","labelExpr","title","zindex"]);if(!a){for(var C in I){var h=dY[C],f=I[C];if(h&&h!==t&&"both"!==h)delete I[C];else if(hY(f)){var d=f.condition,B=TK(f,["condition"]),p=OU(d),E=CY[C];if(E){var Q=E.vgProp,y=E.part,v=[].concat(Object(zn.a)(p.map((function(e){var t=e.test,A=TK(e,["test"]);return Object.assign({test:LK(null,t)},A)}))),[B]);HK(I,y,Q,v),delete I[C]}else if(null===E){var m={signal:p.map((function(e){var t=e.test,A=TK(e,["test"]);return"".concat(LK(null,t)," ? ").concat(CO(A)," : ")})).join("")+CO(B)};I[C]=m}}else if(nO(f)){var b=CY[C];if(b){var w=b.vgProp,S=b.part;HK(I,S,w,f),delete I[C]}}c_(["labelAlign","labelBaseline"],C)&&null===I[C]&&delete I[C]}if("grid"===t){if(!I.grid)return;if(I.encode){var F=I.encode.grid;I.encode=Object.assign({},F?{grid:F}:{}),Q_(I.encode)&&delete I.encode}return Object.assign(Object.assign({scale:g,orient:s},I),{domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:M_(l,0)})}if(i.header||!e.mainExtracted){if(void 0!==c){var R=c;(null===(r=null===(n=I.encode)||void 0===n?void 0:n.labels)||void 0===r?void 0:r.update)&&nO(I.encode.labels.update.text)&&(R=N_(c,"datum.label",I.encode.labels.update.text.signal)),HK(I,"labels","text",{signal:R})}if(null===I.labelAlign&&delete I.labelAlign,I.encode){var D,G=Object(ut.a)(fY);try{for(G.s();!(D=G.n()).done;){var k=D.value;e.hasAxisPart(k)||delete I.encode[k]}}catch(N){G.e(N)}finally{G.f()}Q_(I.encode)&&delete I.encode}var x=ZK(u,A);return Object.assign(Object.assign(Object.assign(Object.assign({scale:g,orient:s,grid:!1},x?{title:x}:{}),I),!1===A.aria?{aria:!1}:{}),{zindex:M_(l,0)})}}}function JK(e){var t,A=e.component.axes,n=[],r=Object(ut.a)(vM);try{for(r.s();!(t=r.n()).done;){var i=t.value;if(A[i]){var o,a=Object(ut.a)(A[i]);try{for(a.s();!(o=a.n()).done;){var s=o.value;if(!s.get("disable")&&!s.get("gridScale")){var g="x"===i?"height":"width",c=e.getSizeSignalRef(g).signal;g!==c&&n.push({name:g,update:c})}}}catch(u){a.e(u)}finally{a.f()}}}}catch(u){r.e(u)}finally{r.f()}return n}function jK(e,t,A,n){return Object.assign.apply(null,[{}].concat(Object(zn.a)(e.map((function(e){if("axisOrient"===e){var r,i="x"===A?"bottom":"left",o=t["x"===A?"axisBottom":"axisLeft"]||{},a=t["x"===A?"axisTop":"axisRight"]||{},s=new Set([].concat(Object(zn.a)(y_(o)),Object(zn.a)(y_(a)))),g={},c=Object(ut.a)(s.values());try{for(c.s();!(r=c.n()).done;){var u=r.value;g[u]={signal:"".concat(n.signal,' === "').concat(i,'" ? ').concat(hO(o[u])," : ").concat(hO(a[u]))}}}catch(l){c.e(l)}finally{c.f()}return g}return t[e]})))))}function PK(e,t,A,n){var r="band"===t?["axisDiscrete","axisBand"]:"point"===t?["axisDiscrete","axisPoint"]:t in sZ?["axisQuantitative"]:"time"===t||"utc"===t?["axisTemporal"]:[],i="x"===e?"axisX":"axisY",o=nO(A)?"axisOrient":"axis".concat(R_(A)),a=[].concat(r,Object(zn.a)(r.map((function(e){return i+e.substr(4)})))),s=["axis",o,i];return{vlOnlyAxisConfig:jK(a,n,e,A),vgAxisConfig:jK(s,n,e,A),axisConfigStyle:VK([].concat(s,Object(zn.a)(a)),n)}}function VK(e,t){var A,n,r=[{}],i=Object(ut.a)(e);try{for(i.s();!(n=i.n()).done;){var o=null===(A=t[n.value])||void 0===A?void 0:A.style;if(o){o=OU(o);var a,s=Object(ut.a)(o);try{for(s.s();!(a=s.n()).done;){var g=a.value;r.push(t.style[g])}}catch(c){s.e(c)}finally{s.f()}}}}catch(c){i.e(c)}finally{i.f()}return Object.assign.apply(null,r)}function KK(e,t,A){var n,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=EO(e,A,t);if(void 0!==i)return{configFrom:"style",configValue:i};for(var o=0,a=["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"];o<a.length;o++){var s=a[o];if(void 0!==(null===(n=r[s])||void 0===n?void 0:n[e]))return{configFrom:s,configValue:r[s][e]}}return{}}var WK={scale:function(e){var t=e.model,A=e.channel;return t.scaleName(A)},format:function(e){var t=e.fieldOrDatumDef,A=e.config,n=e.axis,r=n.format,i=n.formatType;return aH(t,t.type,r,i,A,!0)},formatType:function(e){var t=e.axis,A=e.fieldOrDatumDef,n=e.scaleType,r=t.formatType;return sH(r,A,n)},grid:function(e){var t,A=e.fieldOrDatumDef,n=e.axis,r=e.scaleType;return null!==(t=n.grid)&&void 0!==t?t:function(e,t){return!lZ(e)&&DH(t)&&!VM(null===t||void 0===t?void 0:t.bin)&&!KM(null===t||void 0===t?void 0:t.bin)}(r,A)},gridScale:function(e){return function(e,t){var A="x"===t?"y":"x";if(e.getScaleComponent(A))return e.scaleName(A);return}(e.model,e.channel)},labelAlign:function(e){var t=e.axis,A=e.labelAngle,n=e.orient,r=e.channel;return t.labelAlign||zK(A,n,r)},labelAngle:function(e){return e.labelAngle},labelBaseline:function(e){var t=e.axis,A=e.labelAngle,n=e.orient,r=e.channel;return t.labelBaseline||qK(A,n,r)},labelFlush:function(e){var t,A=e.axis,n=e.fieldOrDatumDef,r=e.channel;return null!==(t=A.labelFlush)&&void 0!==t?t:function(e,t){if("x"===t&&c_(["quantitative","temporal"],e))return!0;return}(n.type,r)},labelOverlap:function(e){var t,A=e.axis,n=e.fieldOrDatumDef,r=e.scaleType;return null!==(t=A.labelOverlap)&&void 0!==t?t:function(e,t,A,n){if(A&&!xU(n)||"nominal"!==e&&"ordinal"!==e)return"log"!==t&&"symlog"!==t||"greedy";return}(n.type,r,DH(n)&&!!n.timeUnit,DH(n)?n.sort:void 0)},orient:function(e){return e.orient},tickCount:function(e){var t,A=e.channel,n=e.model,r=e.axis,i=e.fieldOrDatumDef,o=e.scaleType,a="x"===A?"width":"y"===A?"height":void 0,s=a?n.getSizeSignalRef(a):void 0;return null!==(t=r.tickCount)&&void 0!==t?t:function(e){var t,A=e.fieldOrDatumDef,n=e.scaleType,r=e.size;if(!e.values&&!lZ(n)&&"log"!==n){if(DH(A)){if(VM(A.bin))return{signal:"ceil(".concat(r.signal,"/10)")};if(A.timeUnit&&c_(["month","hours","day","quarter"],null===(t=ET(A.timeUnit))||void 0===t?void 0:t.unit))return}return{signal:"ceil(".concat(r.signal,"/40)")}}return}({fieldOrDatumDef:i,scaleType:o,size:s,values:r.values})},title:function(e){var t=e.axis,A=e.model,n=e.channel;if(void 0!==t.title)return t.title;var r=$K(A,n);if(void 0!==r)return r;var i=A.typedFieldDef(n),o="x"===n?"x2":"y2",a=A.fieldDef(o);return yO(i?[yH(i)]:[],DH(a)?[yH(a)]:[])},values:function(e){return function(e,t){var A=e.values;if(kU(A))return lY(t,A);if(nO(A))return A;return}(e.axis,e.fieldOrDatumDef)},zindex:function(e){var t,A=e.axis,n=e.fieldOrDatumDef,r=e.mark;return null!==(t=A.zindex)&&void 0!==t?t:function(e,t){if("rect"===e&&jH(t))return 1;return 0}(r,n)}};function XK(e){return"(((".concat(e.signal," % 360) + 360) % 360)")}function qK(e,t,A,n){if(void 0!==e){if("x"===A){if(nO(e)){var r=XK(e),i=nO(t)?"(".concat(t.signal,' === "top")'):"top"===t;return{signal:"(45 < ".concat(r," && ").concat(r," < 135) || (225 < ").concat(r," && ").concat(r,' < 315) ? "middle" :')+"(".concat(r," <= 45 || 315 <= ").concat(r,") === ").concat(i,' ? "bottom" : "top"')}}if(45<e&&e<135||225<e&&e<315)return"middle";if(nO(t)){var o=e<=45||315<=e?"===":"!==";return{signal:"".concat(t.signal," ").concat(o,' "top" ? "bottom" : "top"')}}return(e<=45||315<=e)===("top"===t)?"bottom":"top"}if(nO(e)){var a=XK(e),s=nO(t)?"(".concat(t.signal,' === "left")'):"left"===t,g=n?'"middle"':"null";return{signal:"".concat(a," <= 45 || 315 <= ").concat(a," || (135 <= ").concat(a," && ").concat(a," <= 225) ? ").concat(g," : (45 <= ").concat(a," && ").concat(a," <= 135) === ").concat(s,' ? "top" : "bottom"')}}if(e<=45||315<=e||135<=e&&e<=225)return n?"middle":null;if(nO(t)){var c=45<=e&&e<=135?"===":"!==";return{signal:"".concat(t.signal," ").concat(c,' "left" ? "top" : "bottom"')}}return(45<=e&&e<=135)===("left"===t)?"top":"bottom"}}function zK(e,t,A){if(void 0!==e){var n="x"===A,r=n?0:90,i=n?"bottom":"left";if(nO(e)){var o=XK(e),a=nO(t)?"(".concat(t.signal,' === "').concat(i,'")'):t===i;return{signal:"(".concat(r?"(".concat(o," + 90)"):o," % 180 === 0) ? ").concat(n?null:'"center"'," :")+"(".concat(r," < ").concat(o," && ").concat(o," < ").concat(180+r,") === ").concat(a,' ? "left" : "right"')}}if((e+r)%180===0)return n?null:"center";if(nO(t)){var s=r<e&&e<180+r?"===":"!==",g="".concat(t.signal," ").concat(s,' "').concat(i,'"');return{signal:"".concat(g,' ? "left" : "right"')}}return(r<e&&e<180+r)===(t===i)?"left":"right"}}function $K(e,t){var A="x"===t?"x2":"y2",n=e.fieldDef(t),r=e.fieldDef(A),i=n?n.title:void 0,o=r?r.title:void 0;return i&&o?vO(i,o):i||(o||(void 0!==i?i:void 0!==o?o:void 0))}var eW=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,e)).transform=n,r._dependentFields=UK(r.transform.calculate),r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.transform))}},{key:"producedFields",value:function(){return new Set([this.transform.as])}},{key:"dependentFields",value:function(){return this._dependentFields}},{key:"assemble",value:function(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}}},{key:"hash",value:function(){return"Calculate ".concat(s_(this.transform))}}],[{key:"parseAllForSortIndex",value:function(e,t){return t.forEachFieldDef((function(t,n){if(OH(t)&&dH(t.sort)){var r=t.field,i=t.timeUnit,o=t.sort,a=o.map((function(e,t){return"".concat(xT({field:r,timeUnit:i,equal:e})," ? ").concat(t," : ")})).join("")+o.length;e=new A(e,{calculate:a,as:tW(t,n,{forAs:!0})})}})),e}}]),A}(DP);function tW(e,t,A){return JH(e,Object.assign({prefix:t,suffix:"sort_index"},null!==A&&void 0!==A?A:{}))}function AW(e,t){return c_(["top","bottom"],t)?"column":c_(["left","right"],t)||"row"===e?"row":"column"}function nW(e,t,A,n){var r="row"===n?A.headerRow:"column"===n?A.headerColumn:A.headerFacet;return M_((t||{})[e],r[e],A.header[e])}function rW(e,t,A,n){var r,i={},o=Object(ut.a)(e);try{for(o.s();!(r=o.n()).done;){var a=r.value,s=nW(a,t||{},A,n);void 0!==s&&(i[a]=s)}}catch(g){o.e(g)}finally{o.f()}return i}var iW=["row","column"],oW=["header","footer"];function aW(e,t){var A=e.component.layoutHeaders[t].title,n=e.config?e.config:void 0,r=e.component.layoutHeaders[t].facetFieldDef?e.component.layoutHeaders[t].facetFieldDef:void 0,i=rW(["titleAnchor","titleAngle","titleOrient"],r.header,n,t),o=i.titleAnchor,a=i.titleAngle,s=AW(t,i.titleOrient),g=Y_(a);return{name:"".concat(t,"-title"),type:"group",role:"".concat(s,"-title"),title:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:A},"row"===t?{orient:"left"}:{}),{style:"guide-title"}),gW(g,s)),sW(s,g,o)),fW(n,r,t,iJ,nJ))}}function sW(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"middle";switch(A){case"start":return{align:"left"};case"end":return{align:"right"}}var n=zK(t,"row"===e?"left":"top","row"===e?"y":"x");return n?{align:n}:{}}function gW(e,t){var A=qK(e,"row"===t?"left":"top","row"===t?"y":"x",!0);return A?{baseline:A}:{}}function cW(e,t){var A,n=e.component.layoutHeaders[t],r=[],i=Object(ut.a)(oW);try{for(i.s();!(A=i.n()).done;){var o=A.value;if(n[o]){var a,s=Object(ut.a)(n[o]);try{for(s.s();!(a=s.n()).done;){var g=IW(e,t,o,n,a.value);null!=g&&r.push(g)}}catch(c){s.e(c)}finally{s.f()}}}}catch(c){i.e(c)}finally{i.f()}return r}function uW(e,t){var A,n=e.sort;return fH(n)?{field:JH(n,{expr:"datum"}),order:null!==(A=n.order)&&void 0!==A?A:"ascending"}:kU(n)?{field:tW(e,t,{expr:"datum"}),order:"ascending"}:{field:JH(e,{expr:"datum"}),order:null!==n&&void 0!==n?n:"ascending"}}function lW(e,t,A){var n=rW(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],e.header,A,t),r=n.format,i=n.formatType,o=n.labelAngle,a=n.labelAnchor,s=n.labelOrient,g=n.labelExpr,c=rH({fieldOrDatumDef:e,format:r,formatType:i,expr:"parent",config:A}).signal,u=AW(t,s);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:{signal:g?N_(N_(g,"datum.label",c),"datum.value",JH(e,{expr:"parent"})):c}},"row"===t?{orient:"left"}:{}),{style:"guide-label",frame:"group"}),gW(o,u)),sW(u,o,a)),fW(A,e,t,oJ,rJ))}function IW(e,t,A,n,r){if(r){var i=null,o=n.facetFieldDef,a=e.config?e.config:void 0;if(o&&r.labels){var s=rW(["labelOrient"],o.header,a,t).labelOrient;("row"===t&&!c_(["top","bottom"],s)||"column"===t&&!c_(["left","right"],s))&&(i=lW(o,t,a))}var g=dq(e)&&!BH(e.facet),c=r.axes,u=(null===c||void 0===c?void 0:c.length)>0;if(i||u){var l="row"===t?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:e.getName("".concat(t,"_").concat(A)),type:"group",role:"".concat(t,"-").concat(A)},n.facetFieldDef?{from:{data:e.getName("".concat(t,"_domain"))},sort:uW(o,t)}:{}),u&&g?{from:{data:e.getName("facet_domain_".concat(t))}}:{}),i?{title:i}:{}),r.sizeSignal?{encode:{update:Object($n.a)({},l,r.sizeSignal)}}:{}),u?{axes:c}:{})}}return null}var CW={column:{start:0,end:1},row:{start:1,end:0}};function hW(e,t){return CW[t][e]}function fW(e,t,A,n,r){var i,o={},a=Object(ut.a)(n);try{for(a.s();!(i=a.n()).done;){var s=i.value;if(r[s]){var g=nW(s,null===t||void 0===t?void 0:t.header,e,A);void 0!==g&&(o[r[s]]=g)}}}catch(c){a.e(c)}finally{a.f()}return o}function dW(e){return[].concat(Object(zn.a)(BW(e,"width")),Object(zn.a)(BW(e,"height")),Object(zn.a)(BW(e,"childWidth")),Object(zn.a)(BW(e,"childHeight")))}function BW(e,t){var A="width"===t?"x":"y",n=e.component.layoutSize.get(t);if(!n||"merged"===n)return[];var r=e.getSizeSignalRef(t).signal;if("step"===n){var i=e.getScaleComponent(A);if(i){var o=i.get("type"),a=i.get("range");if(lZ(o)&&rO(a)){var s=e.scaleName(A);if(dq(e.parent))if("independent"===e.parent.component.resolve.scale[A])return[pW(s,a)];return[pW(s,a),{name:r,update:EW(s,i,"domain('".concat(s,"').length"))}]}}throw new Error("layout size is step although width/height is not step.")}if("container"==n){var g=r.endsWith("width"),c=g?"containerSize()[0]":"containerSize()[1]",u=vJ(e.config.view,g?"width":"height"),l="isFinite(".concat(c,") ? ").concat(c," : ").concat(u);return[{name:r,init:l,on:[{update:l,events:"window:resize"}]}]}return[{name:r,value:n}]}function pW(e,t){return{name:"".concat(e,"_step"),value:t.step}}function EW(e,t,A){var n=t.get("type"),r=t.get("padding"),i=M_(t.get("paddingOuter"),r),o=t.get("paddingInner");return o="band"===n?void 0!==o?o:r:1,"bandspace(".concat(A,", ").concat(hO(o),", ").concat(hO(i),") * ").concat(e,"_step")}function QW(e){return"childWidth"===e?"width":"childHeight"===e?"height":e}function yW(e,t){return y_(e).reduce((function(A,n){var r=e[n];return Object.assign(Object.assign({},A),jP(t,r,n,(function(e){return IO(e.value)})))}),{})}function vW(e,t){if(dq(t))return"theta"===e?"independent":"shared";if(pq(t))return"shared";if(Bq(t))return mM(e)||"theta"===e||"radius"===e?"independent":"shared";throw new Error("invalid model type for resolve")}function mW(e,t){var A=e.scale[t],n=mM(t)?"axis":"legend";return"independent"===A?("shared"===e[n][t]&&tT(B.independentScaleMeansIndependentGuide(t)),"independent"):e[n][t]||"shared"}var bW=Object.assign(Object.assign({},gJ),{disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1}),wW=y_(bW),SW=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return A}(nP),FW={symbols:function(e,t){var A,n,r,i,o,a,s,g,c=t.fieldOrDatumDef,u=t.model,l=t.channel,I=t.legendCmpt;if("symbol"!==t.legendType)return;var C=u.markDef,h=u.encoding,f=u.config,d=u.mark,B=C.filled&&"trail"!==d,p=Object.assign(Object.assign({},function(e,t,A){var n,r=Object(ut.a)(A);try{for(r.s();!(n=r.n()).done;){var i=n.value,o=BO(i,t.markDef,t.config);void 0!==o&&(e[i]=IO(o))}}catch(a){r.e(a)}finally{r.f()}return e}({},u,ZZ)),$P(u,{filled:B})),E=null!==(A=I.get("symbolOpacity"))&&void 0!==A?A:f.legend.symbolOpacity,Q=null!==(n=I.get("symbolFillColor"))&&void 0!==n?n:f.legend.symbolFillColor,y=null!==(r=I.get("symbolStrokeColor"))&&void 0!==r?r:f.legend.symbolStrokeColor,v=void 0===E?null!==(i=RW(h.opacity))&&void 0!==i?i:C.opacity:void 0;if(p.fill)if("fill"===l||B&&l===q_)delete p.fill;else if(p.fill.field)Q?delete p.fill:(p.fill=IO(null!==(o=f.legend.symbolBaseFillColor)&&void 0!==o?o:"black"),p.fillOpacity=IO(null!==v&&void 0!==v?v:1));else if(kU(p.fill)){var m=null!==(g=null!==(s=DW(null!==(a=h.fill)&&void 0!==a?a:h.color))&&void 0!==s?s:C.fill)&&void 0!==g?g:B&&C.color;m&&(p.fill=IO(m))}if(p.stroke)if("stroke"===l||!B&&l===q_)delete p.stroke;else if(p.stroke.field||y)delete p.stroke;else if(kU(p.stroke)){var b=M_(DW(h.stroke||h.color),C.stroke,B?C.color:void 0);b&&(p.stroke={value:b})}if("opacity"!==l){var w=DH(c)&&kW(u,I,c);w?p.opacity=[Object.assign({test:w},IO(null!==v&&void 0!==v?v:1)),IO(f.legend.unselectedOpacity)]:v&&(p.opacity=IO(v))}return Q_(p=Object.assign(Object.assign({},p),e))?void 0:p},gradient:function(e,t){var A,n=t.model,r=t.legendType,i=t.legendCmpt;if("gradient"!==r)return;var o=n.config,a=n.markDef,s=n.encoding,g={},c=void 0===(null!==(A=i.get("gradientOpacity"))&&void 0!==A?A:o.legend.gradientOpacity)?RW(s.opacity)||a.opacity:void 0;c&&(g.opacity=IO(c));return Q_(g=Object.assign(Object.assign({},g),e))?void 0:g},labels:function(e,t){var A=t.fieldOrDatumDef,n=t.model,r=t.channel,i=t.legendCmpt,o=n.legend(r)||{},a=n.config,s=DH(A)?kW(n,i,A):void 0,g=s?[{test:s,value:1},{value:a.legend.unselectedOpacity}]:void 0,c=o.format,u=o.formatType,l=AH(u)?oH({fieldOrDatumDef:A,field:"datum.value",format:c,formatType:u,config:a}):void 0,I=Object.assign(Object.assign(Object.assign({},g?{opacity:g}:{}),l?{text:l}:{}),e);return Q_(I)?void 0:I},entries:function(e,t){var A=t.legendCmpt.get("selections");return(null===A||void 0===A?void 0:A.length)?Object.assign(Object.assign({},e),{fill:{value:"transparent"}}):e}};function RW(e){return GW(e,(function(e,t){return Math.max(e,t.value)}))}function DW(e){return GW(e,(function(e,t){return M_(e,t.value)}))}function GW(e,t){return function(e){var t=e&&e.condition;return!!t&&(kU(t)||MH(t))}(e)?OU(e.condition).reduce(t,e.value):MH(e)?e.value:void 0}function kW(e,t,A){var n=t.get("selections");if(null===n||void 0===n?void 0:n.length){var r=jU(A.field);return n.map((function(e){var t=jU(w_(e)+SV);return"(!length(data(".concat(t,")) || (").concat(e,"[").concat(r,"] && indexof(").concat(e,"[").concat(r,"], datum.value) >= 0))")})).join(" || ")}}var xW={direction:function(e){return e.direction},format:function(e){var t=e.fieldOrDatumDef,A=e.legend,n=e.config,r=A.format,i=A.formatType;return aH(t,t.type,r,i,n,!1)},formatType:function(e){var t=e.legend,A=e.fieldOrDatumDef,n=e.scaleType,r=t.formatType;return sH(r,A,n)},gradientLength:function(e){var t,A,n=e.legend,r=e.legendConfig;return null!==(A=null!==(t=n.gradientLength)&&void 0!==t?t:r.gradientLength)&&void 0!==A?A:function(e){var t=e.legendConfig,A=e.model,n=e.direction,r=e.orient,i=e.scaleType,o=t.gradientHorizontalMaxLength,a=t.gradientHorizontalMinLength,s=t.gradientVerticalMaxLength,g=t.gradientVerticalMinLength;if(CZ(i))return"horizontal"===n?"top"===r||"bottom"===r?_W(A,"width",a,o):a:_W(A,"height",g,s);return}(e)},labelOverlap:function(e){var t,A,n=e.legend,r=e.legendConfig,i=e.scaleType;return null!==(A=null!==(t=n.labelOverlap)&&void 0!==t?t:r.labelOverlap)&&void 0!==A?A:function(e){if(c_(["quantile","threshold","log","symlog"],e))return"greedy";return}(i)},symbolType:function(e){var t,A=e.legend,n=e.markDef,r=e.channel,i=e.encoding;return null!==(t=A.symbolType)&&void 0!==t?t:function(e,t,A,n){var r;if("shape"!==t){var i=null!==(r=DW(A))&&void 0!==r?r:n;if(i)return i}switch(e){case"bar":case"rect":case"image":case"square":return"square";case"line":case"trail":case"rule":return"stroke";case"arc":case"point":case"circle":case"tick":case"geoshape":case"area":case"text":return"circle"}}(n.type,r,i.shape,n.shape)},title:function(e){return qH(e.fieldOrDatumDef,e.config,{allowDisabling:!0})},type:function(e){var t=e.legendType,A=e.scaleType;if(oM(e.channel)&&CZ(A)){if("gradient"===t)return}else if("symbol"===t)return;return t},values:function(e){var t=e.fieldOrDatumDef;return function(e,t){var A=e.values;if(kU(A))return lY(t,A);if(nO(A))return A;return}(e.legend,t)}};function NW(e){return M_(e.legend.type,function(e){var t=e.channel,A=e.timeUnit,n=e.scaleType;if(oM(t)){if(c_(["quarter","month","day"],A))return"symbol";if(CZ(n))return"gradient"}return"symbol"}(e))}function UW(e){var t,A,n=e.legendConfig,r=e.legendType,i=e.orient;return null!==(A=null!==(t=e.legend.direction)&&void 0!==t?t:n[r?"gradientDirection":"symbolDirection"])&&void 0!==A?A:function(e,t){switch(e){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return"gradient"===t?"horizontal":void 0}}(i,r)}function _W(e,t,A,n){var r=e.getSizeSignalRef(t).signal;return{signal:"clamp(".concat(r,", ").concat(A,", ").concat(n,")")}}function MW(e){var t=fq(e)?function(e){for(var t=e.encoding,A={},n=0,r=[q_].concat(Object(zn.a)(sJ));n<r.length;n++){var i=r[n],o=nY(t[i]);o&&e.getScaleComponent(i)&&(i===eM&&DH(o)&&o.type===ZT||(A[i]=LW(e,i)))}return A}(e):function(e){var t,A=e.component,n=A.legends,r=A.resolve,i=Object(ut.a)(e.children);try{for(i.s();!(t=i.n()).done;){var o=t.value;MW(o);var a,s=Object(ut.a)(y_(o.component.legends));try{for(s.s();!(a=s.n()).done;){var g=a.value;r.legend[g]=mW(e.component.resolve,g),"shared"===r.legend[g]&&(n[g]=TW(n[g],o.component.legends[g]),n[g]||(r.legend[g]="independent",delete n[g]))}}catch(f){s.e(f)}finally{s.f()}}}catch(f){i.e(f)}finally{i.f()}var c,u=Object(ut.a)(y_(n));try{for(u.s();!(c=u.n()).done;){var l,I=c.value,C=Object(ut.a)(e.children);try{for(C.s();!(l=C.n()).done;){var h=l.value;h.component.legends[I]&&("shared"===r.legend[I]&&delete h.component.legends[I])}}catch(f){C.e(f)}finally{C.f()}}}catch(f){u.e(f)}finally{u.f()}return n}(e);return e.component.legends=t,t}function OW(e,t,A,n){switch(t){case"disable":return void 0!==A;case"values":return!!(null===A||void 0===A?void 0:A.values);case"title":if("title"===t&&e===(null===n||void 0===n?void 0:n.title))return!0}return e===(A||{})[t]}function LW(e,t){var A,n,r,i=e.legend(t),o=e.markDef,a=e.encoding,s=e.config,g=s.legend,c=new SW({},function(e,t){var A=e.scaleName(t);if("trail"===e.mark){if("color"===t)return{stroke:A};if("size"===t)return{strokeWidth:A}}return"color"===t?e.markDef.filled?{fill:A}:{stroke:A}:Object($n.a)({},t,A)}(e,t));!function(e,t,A){var n,r,i,o,a,s=null===(n=e.fieldDef(t))||void 0===n?void 0:n.field,g=Object(ut.a)(v_(null!==(r=e.component.selection)&&void 0!==r?r:{}));try{for(g.s();!(a=g.n()).done;){var c=a.value,u=null!==(i=c.project.hasField[s])&&void 0!==i?i:c.project.hasChannel[t];if(u&&QV.defined(c)){var l=null!==(o=A.get("selections"))&&void 0!==o?o:[];l.push(c.name),A.set("selections",l,!1),u.hasLegend=!0}}}catch(I){g.e(I)}finally{g.f()}}(e,t,c);var u=void 0!==i?!i:g.disable;if(c.set("disable",u,void 0!==i),u)return c;i=i||{};var l,I=e.getScaleComponent(t).get("type"),C=nY(a[t]),h=DH(C)?null===(A=ET(C.timeUnit))||void 0===A?void 0:A.unit:void 0,f=i.orient||s.legend.orient||"right",d=NW({legend:i,channel:t,timeUnit:h,scaleType:I}),B={legend:i,channel:t,model:e,markDef:o,encoding:a,fieldOrDatumDef:C,legendConfig:g,config:s,scaleType:I,orient:f,legendType:d,direction:UW({legend:i,legendType:d,orient:f,legendConfig:g})},p=Object(ut.a)(wW);try{for(p.s();!(l=p.n()).done;){var E=l.value;if(!("gradient"===d&&E.startsWith("symbol")||"symbol"===d&&E.startsWith("gradient"))){var Q=E in xW?xW[E](B):i[E];if(void 0!==Q){var y=OW(Q,E,i,e.fieldDef(t));(y||void 0===s.legend[E])&&c.set(E,Q,y)}}}}catch(k){p.e(k)}finally{p.f()}for(var v=null!==(n=null===i||void 0===i?void 0:i.encoding)&&void 0!==n?n:{},m=c.get("selections"),b={},w={fieldOrDatumDef:C,model:e,channel:t,legendCmpt:c,legendType:d},S=0,F=["labels","legend","title","symbols","gradient","entries"];S<F.length;S++){var R=F[S],D=yW(null!==(r=v[R])&&void 0!==r?r:{},e),G=R in FW?FW[R](D,w):D;void 0===G||Q_(G)||(b[R]=Object.assign(Object.assign(Object.assign({},(null===m||void 0===m?void 0:m.length)&&DH(C)?{name:"".concat(w_(C.field),"_legend_").concat(R)}:{}),(null===m||void 0===m?void 0:m.length)?{interactive:!!m}:{}),{update:G}))}return Q_(b)||c.set("encode",b,!!(null===i||void 0===i?void 0:i.encoding)),c}function TW(e,t){var A,n,r,i;if(!e)return t.clone();var o=e.getWithExplicit("orient"),a=t.getWithExplicit("orient");if(!o.explicit||!a.explicit||o.value===a.value){var s,g=!1,c=Object(ut.a)(wW);try{var u=function(){var A=s.value,n=sP(e.getWithExplicit(A),t.getWithExplicit(A),A,"legend",(function(e,t){switch(A){case"symbolType":return function(e,t){if("circle"===t.value)return t;return e}(e,t);case"title":return mO(e,t);case"type":return g=!0,iP("symbol")}return aP(e,t,A,"legend")}));e.setWithExplicit(A,n)};for(c.s();!(s=c.n()).done;)u()}catch(l){c.e(l)}finally{c.f()}return g&&((null===(n=null===(A=e.implicit)||void 0===A?void 0:A.encode)||void 0===n?void 0:n.gradient)&&F_(e.implicit,["encode","gradient"]),(null===(i=null===(r=e.explicit)||void 0===r?void 0:r.encode)||void 0===i?void 0:i.gradient)&&F_(e.explicit,["encode","gradient"])),e}}var ZW=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function HW(e){var t,A=e.component.legends,n={},r=Object(ut.a)(y_(A));try{for(r.s();!(t=r.n()).done;){var i=t.value,o=e.getScaleComponent(i),a=a_(o.get("domains"));if(n[a]){var s,g=Object(ut.a)(n[a]);try{for(g.s();!(s=g.n()).done;){TW(s.value,A[i])||n[a].push(A[i])}}catch(c){g.e(c)}finally{g.f()}}else n[a]=[A[i].clone()]}}catch(c){r.e(c)}finally{r.f()}return v_(n).flat().map((function(t){return function(e,t){var A,n,r,i=e.combine(),o=i.disable,a=i.labelExpr,s=(i.selections,ZW(i,["disable","labelExpr","selections"]));if(o)return;!1===t.aria&&void 0==s.aria&&(s.aria=!1);if(null===(A=s.encode)||void 0===A?void 0:A.symbols){var g=s.encode.symbols.update;!g.fill||"transparent"===g.fill.value||g.stroke||s.stroke||(g.stroke={value:"transparent"});var u,l=Object(ut.a)(sJ);try{for(l.s();!(u=l.n()).done;){var I=u.value;s[I]&&delete g[I]}}catch(c){l.e(c)}finally{l.f()}}s.title||delete s.title;if(void 0!==a){var C=a;(null===(r=null===(n=s.encode)||void 0===n?void 0:n.labels)||void 0===r?void 0:r.update)&&nO(s.encode.labels.update.text)&&(C=N_(a,"datum.label",s.encode.labels.update.text.signal)),function(e,t,A,n){var r,i,o,a,s;null!==(r=e.encode)&&void 0!==r||(e.encode={}),null!==(i=(a=e.encode)[t])&&void 0!==i||(a[t]={}),null!==(o=(s=e.encode[t]).update)&&void 0!==o||(s.update={}),e.encode[t].update[A]=n}(s,"labels","text",{signal:C})}return s}(t,e.config)})).filter((function(e){return void 0!==e}))}function YW(e){return pq(e)||Bq(e)?function(e){return e.children.reduce((function(e,t){return e.concat(t.assembleProjections())}),JW(e))}(e):JW(e)}function JW(e){var t=e.component.projection;if(!t||t.merged)return[];var A=t.combine(),n=A.name;if(t.data){var r={signal:"[".concat(t.size.map((function(e){return e.signal})).join(", "),"]")},i=t.data.reduce((function(t,A){var n=nO(A)?A.signal:"data('".concat(e.lookupDataSource(A),"')");return c_(t,n)||t.push(n),t}),[]);if(i.length<=0)throw new Error("Projection's fit didn't find any data sources");return[Object.assign({name:n,size:r,fit:{signal:i.length>1?"[".concat(i.join(", "),"]"):i[0]}},A)]}return[Object.assign(Object.assign({name:n},{translate:{signal:"[width / 2, height / 2]"}}),A)]}var jW=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"],PW=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n,r,i){var o;return Object(y.a)(this,A),(o=t.call(this,Object.assign({},n),{name:e})).specifiedProjection=n,o.size=r,o.data=i,o.merged=!1,o}return Object(v.a)(A,[{key:"isFit",get:function(){return!!this.data}}]),A}(nP);function VW(e){e.component.projection=fq(e)?function(e){var t;if(e.hasProjection){var A=$M(e.specifiedProjection),n=!(A&&(null!=A.scale||null!=A.translate)),r=n?[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]:void 0,i=n?function(e){for(var t=[],A=e.encoding,n=0,r=[["longitude","latitude"],["longitude2","latitude2"]];n<r.length;n++){var i=r[n];(nY(A[i[0]])||nY(A[i[1]]))&&t.push({signal:e.getName("geojson_".concat(t.length))})}e.channelHasField(eM)&&e.typedFieldDef(eM).type===ZT&&t.push({signal:e.getName("geojson_".concat(t.length))});0===t.length&&t.push(e.requestDataName(gP.Main));return t}(e):void 0,o=new PW(e.projectionName(!0),Object.assign(Object.assign({},null!==(t=$M(e.config.projection))&&void 0!==t?t:{}),null!==A&&void 0!==A?A:{}),r,i);return o.get("type")||o.set("type","equalEarth",!1),o}return}(e):function(e){if(0===e.children.length)return;var t,A,n=Object(ut.a)(e.children);try{for(n.s();!(A=n.n()).done;){VW(A.value)}}catch(l){n.e(l)}finally{n.f()}var r=l_(e.children,(function(e){var A=e.component.projection;if(A){if(t){var n=function(e,t){var A=l_(jW,(function(A){return!ZU(e.explicit,A)&&!ZU(t.explicit,A)||!!(ZU(e.explicit,A)&&ZU(t.explicit,A)&&n_(e.get(A),t.get(A)))}));if(n_(e.size,t.size)){if(A)return e;if(n_(e.explicit,{}))return t;if(n_(t.explicit,{}))return e}return null}(t,A);return n&&(t=n),!!n}return t=A,!0}return!0}));if(t&&r){var i,o=e.projectionName(!0),a=new PW(o,t.specifiedProjection,t.size,r_(t.data)),s=Object(ut.a)(e.children);try{for(s.s();!(i=s.n()).done;){var g=i.value,c=g.component.projection;if(c){var u;if(c.isFit)(u=a.data).push.apply(u,Object(zn.a)(g.component.projection.data));g.renameProjection(c.get("name"),o),c.merged=!0}}}catch(l){s.e(l)}finally{s.f()}return a}return}(e)}var KW=A(73),WW=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function XW(e,t){return"".concat(PM(e),"_").concat(t)}function qW(e,t,A){var n,r=XW(null!==(n=aY(A,void 0))&&void 0!==n?n:{},t);return e.getName("".concat(r,"_bins"))}function zW(e,t,A){var n,r;n=function(e){return"as"in e}(e)?JU(e.as)?[e.as,"".concat(e.as,"_end")]:[e.as[0],e.as[1]]:[JH(e,{forAs:!0}),JH(e,{binSuffix:"end",forAs:!0})];var i=Object.assign({},aY(t,void 0)),o=XW(i,e.field),a=function(e,t){return{signal:e.getName("".concat(t,"_bins")),extentSignal:e.getName("".concat(t,"_extent"))}}(A,o),s=a.signal,g=a.extentSignal;if(XM(i.extent)){var c=i.extent;r=OK(A,c.param,c),delete i.extent}return{key:o,binComponent:Object.assign(Object.assign(Object.assign({bin:i,field:e.field,as:[n]},s?{signal:s}:{}),g?{extentSignal:g}:{}),r?{span:r}:{})}}var $W=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,e)).bins=n,r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.bins))}},{key:"merge",value:function(e,t){var A,n=Object(ut.a)(y_(e.bins));try{for(n.s();!(A=n.n()).done;){var r=A.value;r in this.bins?(t(e.bins[r].signal,this.bins[r].signal),this.bins[r].as=h_([].concat(Object(zn.a)(this.bins[r].as),Object(zn.a)(e.bins[r].as)),s_)):this.bins[r]=e.bins[r]}}catch(s){n.e(s)}finally{n.f()}var i,o=Object(ut.a)(e.children);try{for(o.s();!(i=o.n()).done;){var a=i.value;e.removeChild(a),a.parent=this}}catch(s){o.e(s)}finally{o.f()}e.remove()}},{key:"producedFields",value:function(){return new Set(v_(this.bins).map((function(e){return e.as})).flat(2))}},{key:"dependentFields",value:function(){return new Set(v_(this.bins).map((function(e){return e.field})))}},{key:"hash",value:function(){return"Bin ".concat(s_(this.bins))}},{key:"assemble",value:function(){return v_(this.bins).flatMap((function(e){var t=[],A=Object(KW.a)(e.as),n=A[0],r=A.slice(1),i=e.bin,o=i.extent,a=WW(i,["extent"]),s=Object.assign(Object.assign(Object.assign({type:"bin",field:x_(e.field),as:n,signal:e.signal},XM(o)?{extent:null}:{extent:o}),e.span?{span:{signal:"span(".concat(e.span,")")}}:{}),a);!o&&e.extentSignal&&(t.push({type:"extent",field:x_(e.field),signal:e.extentSignal}),s.extent={signal:e.extentSignal}),t.push(s);var g,c=Object(ut.a)(r);try{for(c.s();!(g=c.n()).done;)for(var u=g.value,l=0;l<2;l++)t.push({type:"formula",expr:JH({field:n[l]},{expr:"datum"}),as:u[l]})}catch(I){c.e(I)}finally{c.f()}return e.formula&&t.push({type:"formula",expr:e.formula,as:e.formulaAs}),t}))}}],[{key:"makeFromEncoding",value:function(e,t){var n=t.reduceFieldDef((function(e,A,n){if(_H(A)&&VM(A.bin)){var r=zW(A,A.bin,t),i=r.key,o=r.binComponent;e[i]=Object.assign(Object.assign(Object.assign({},o),e[i]),function(e,t,A,n){var r,i;if(IY(t,A)){var o=fq(e)&&null!==(i=null!==(r=e.axis(A))&&void 0!==r?r:e.legend(A))&&void 0!==i?i:{},a=JH(t,{expr:"datum"}),s=JH(t,{expr:"datum",binSuffix:"end"});return{formulaAs:JH(t,{binSuffix:"range",forAs:!0}),formula:lH(a,s,o.format,o.formatType,n)}}return{}}(t,A,n,t.config))}return e}),{});return Q_(n)?null:new A(e,n)}},{key:"makeFromTransform",value:function(e,t,n){var r=zW(t,t.bin,n),i=r.key,o=r.binComponent;return new A(e,Object($n.a)({},i,o))}}]),A}(DP);function eX(e,t,A,n){var r,i,o=fq(n)?n.encoding[BM(t)]:void 0;if(_H(A)&&fq(n)&&wH(A,o,n.markDef,n.config))e.add(JH(A,{})),e.add(JH(A,{suffix:"end"})),A.bin&&IY(A,t)&&e.add(JH(A,{binSuffix:"range"}));else if(t in nM){var a=function(e){switch(e){case"latitude":return"y";case"latitude2":return"y2";case"longitude":return"x";case"longitude2":return"x2"}}(t);e.add(n.getName(a))}else e.add(JH(A));return OH(A)&&(i=null===(r=A.scale)||void 0===r?void 0:r.range,Object(ue.H)(i)&&"field"in i)&&e.add(A.scale.range.field),e}var tX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n,r){var i;return Object(y.a)(this,A),(i=t.call(this,e)).dimensions=n,i.measures=r,i}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,new Set(this.dimensions),r_(this.measures))}},{key:"merge",value:function(e){return d_(this.dimensions,e.dimensions)?(function(e,t){var A,n,r=Object(ut.a)(y_(t));try{for(r.s();!(n=r.n()).done;){var i,o=n.value,a=t[o],s=Object(ut.a)(y_(a));try{for(s.s();!(i=s.n()).done;){var g=i.value;o in e?e[o][g]=new Set([].concat(Object(zn.a)(null!==(A=e[o][g])&&void 0!==A?A:[]),Object(zn.a)(a[g]))):e[o]=Object($n.a)({},g,a[g])}}catch(c){s.e(c)}finally{s.f()}}}catch(c){r.e(c)}finally{r.f()}}(this.measures,e.measures),!0):(function(){var e;(e=zL).debug.apply(e,arguments)}("different dimensions, cannot merge"),!1)}},{key:"addDimensions",value:function(e){e.forEach(this.dimensions.add,this.dimensions)}},{key:"dependentFields",value:function(){return new Set([].concat(Object(zn.a)(this.dimensions),Object(zn.a)(y_(this.measures))))}},{key:"producedFields",value:function(){var e,t=new Set,A=Object(ut.a)(y_(this.measures));try{for(A.s();!(e=A.n()).done;){var n,r=e.value,i=Object(ut.a)(y_(this.measures[r]));try{for(i.s();!(n=i.n()).done;){var o=n.value,a=this.measures[r][o];0===a.size?t.add("".concat(o,"_").concat(r)):a.forEach(t.add,t)}}catch(s){i.e(s)}finally{i.f()}}}catch(s){A.e(s)}finally{A.f()}return t}},{key:"hash",value:function(){return"Aggregate ".concat(s_({dimensions:this.dimensions,measures:this.measures}))}},{key:"assemble",value:function(){var e,t=[],A=[],n=[],r=Object(ut.a)(y_(this.measures));try{for(r.s();!(e=r.n()).done;){var i,o=e.value,a=Object(ut.a)(y_(this.measures[o]));try{for(a.s();!(i=a.n()).done;){var s,g=i.value,c=Object(ut.a)(this.measures[o][g]);try{for(c.s();!(s=c.n()).done;){var u=s.value;n.push(u),t.push(g),A.push("*"===o?null:x_(o))}}catch(l){c.e(l)}finally{c.f()}}}catch(l){a.e(l)}finally{a.f()}}}catch(l){r.e(l)}finally{r.f()}return{type:"aggregate",groupby:Object(zn.a)(this.dimensions).map(x_),ops:t,fields:A,as:n}}},{key:"groupBy",get:function(){return this.dimensions}}],[{key:"makeFromEncoding",value:function(e,t){var n=!1;t.forEachFieldDef((function(e){e.aggregate&&(n=!0)}));var r={},i=new Set;return n?(t.forEachFieldDef((function(e,A){var n,o,a,s,g=e.aggregate,c=e.field;if(g)if("count"===g)null!==(n=r["*"])&&void 0!==n||(r["*"]={}),r["*"].count=new Set([JH(e,{forAs:!0})]);else{if(LM(g)||TM(g)){var u=LM(g)?"argmin":"argmax",l=g[u];null!==(o=r[l])&&void 0!==o||(r[l]={}),r[l][u]=new Set([JH({op:u,field:l},{forAs:!0})])}else null!==(a=r[c])&&void 0!==a||(r[c]={}),r[c][g]=new Set([JH(e,{forAs:!0})]);kM(A)&&"unaggregated"===t.scaleDomain(A)&&(null!==(s=r[c])&&void 0!==s||(r[c]={}),r[c].min=new Set([JH({field:c,aggregate:"min"},{forAs:!0})]),r[c].max=new Set([JH({field:c,aggregate:"max"},{forAs:!0})]))}else eX(i,A,e,t)})),i.size+y_(r).length===0?null:new A(e,i,r)):null}},{key:"makeFromTransform",value:function(e,t){var n,r,i,o,a=new Set,s={},g=Object(ut.a)(t.aggregate);try{for(g.s();!(o=g.n()).done;){var c=o.value,u=c.op,l=c.field,I=c.as;u&&("count"===u?(null!==(n=s["*"])&&void 0!==n||(s["*"]={}),s["*"].count=new Set([I||JH(c,{forAs:!0})])):(null!==(r=s[l])&&void 0!==r||(s[l]={}),s[l][u]=new Set([I||JH(c,{forAs:!0})])))}}catch(d){g.e(d)}finally{g.f()}var C,h=Object(ut.a)(null!==(i=t.groupby)&&void 0!==i?i:[]);try{for(h.s();!(C=h.n()).done;){var f=C.value;a.add(f)}}catch(d){h.e(d)}finally{h.f()}return a.size+y_(s).length===0?null:new A(e,a,s)}}]),A}(DP),AX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n,r,i){var o;Object(y.a)(this,A),(o=t.call(this,e)).model=n,o.name=r,o.data=i;var a,s=Object(ut.a)(sM);try{for(s.s();!(a=s.n()).done;){var g=a.value,c=n.facet[g];if(c){var u=c.bin,l=c.sort;o[g]=Object.assign({name:n.getName("".concat(g,"_domain")),fields:[JH(c)].concat(Object(zn.a)(VM(u)?[JH(c,{binSuffix:"end"})]:[]))},fH(l)?{sortField:l}:kU(l)?{sortIndexField:tW(c,g)}:{})}}}catch(I){s.e(I)}finally{s.f()}return o.childModel=n.child,o}return Object(v.a)(A,[{key:"hash",value:function(){var e,t="Facet",A=Object(ut.a)(sM);try{for(A.s();!(e=A.n()).done;){var n=e.value;this[n]&&(t+=" ".concat(n.charAt(0),":").concat(s_(this[n])))}}catch(r){A.e(r)}finally{A.f()}return t}},{key:"dependentFields",value:function(){var e,t=new Set(this.fields),A=Object(ut.a)(sM);try{for(A.s();!(e=A.n()).done;){var n=e.value;this[n]&&(this[n].sortField&&t.add(this[n].sortField.field),this[n].sortIndexField&&t.add(this[n].sortIndexField))}}catch(r){A.e(r)}finally{A.f()}return t}},{key:"producedFields",value:function(){return new Set}},{key:"getSource",value:function(){return this.name}},{key:"getChildIndependentFieldsWithStep",value:function(){var e,t={},A=Object(ut.a)(vM);try{for(A.s();!(e=A.n()).done;){var n=e.value,r=this.childModel.component.scales[n];if(r&&!r.merged){var i=r.get("type"),o=r.get("range");if(lZ(i)&&rO(o)){var a=WX(XX(this.childModel,n));a?t[n]=a:tT(B.unknownField(n))}}}}catch(s){A.e(s)}finally{A.f()}return t}},{key:"assembleRowColumnHeaderData",value:function(e,t,A){var n={row:"y",column:"x",facet:void 0}[e],r=[],i=[],o=[];n&&A&&A[n]&&(t?(r.push("distinct_".concat(A[n])),i.push("max")):(r.push(A[n]),i.push("distinct")),o.push("distinct_".concat(A[n])));var a=this[e],s=a.sortField,g=a.sortIndexField;if(s){var c=s.op,u=void 0===c?"min":c,l=s.field;r.push(l),i.push(u),o.push(JH(s,{forAs:!0}))}else g&&(r.push(g),i.push("max"),o.push(g));return{name:this[e].name,source:null!==t&&void 0!==t?t:this.data,transform:[Object.assign({type:"aggregate",groupby:this[e].fields},r.length?{fields:r,ops:i,as:o}:{})]}}},{key:"assembleFacetHeaderData",value:function(e){var t,A,n,r=this.model.layout.columns,i=this.model.component.layoutHeaders,o=[],a={},s=Object(ut.a)(iW);try{for(s.s();!(n=s.n()).done;){var g,c=n.value,u=Object(ut.a)(oW);try{for(u.s();!(g=u.n()).done;){var l,I=g.value,C=null!==(t=i[c]&&i[c][I])&&void 0!==t?t:[],h=Object(ut.a)(C);try{for(h.s();!(l=h.n()).done;){if((null===(A=l.value.axes)||void 0===A?void 0:A.length)>0){a[c]=!0;break}}}catch(E){h.e(E)}finally{h.f()}}}catch(E){u.e(E)}finally{u.f()}if(a[c]){var f='length(data("'.concat(this.facet.name,'"))'),d="row"===c?r?{signal:"ceil(".concat(f," / ").concat(r,")")}:1:r?{signal:"min(".concat(f,", ").concat(r,")")}:{signal:f};o.push({name:"".concat(this.facet.name,"_").concat(c),transform:[{type:"sequence",start:0,stop:d}]})}}}catch(E){s.e(E)}finally{s.f()}var B=a.row,p=a.column;return(B||p)&&o.unshift(this.assembleRowColumnHeaderData("facet",null,e)),o}},{key:"assemble",value:function(){var e,t,A=[],n=null,r=this.getChildIndependentFieldsWithStep(),i=this.column,o=this.row,a=this.facet;if(i&&o&&(r.x||r.y)){n="cross_".concat(this.column.name,"_").concat(this.row.name);var s=[].concat(null!==(e=r.x)&&void 0!==e?e:[],null!==(t=r.y)&&void 0!==t?t:[]),g=s.map((function(){return"distinct"}));A.push({name:n,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:s,ops:g}]})}for(var c=0,u=[V_,P_];c<u.length;c++){var l=u[c];this[l]&&A.push(this.assembleRowColumnHeaderData(l,n,r))}if(a){var I=this.assembleFacetHeaderData(r);I&&A.push.apply(A,Object(zn.a)(I))}return A}},{key:"fields",get:function(){var e,t,A=[],n=Object(ut.a)(sM);try{for(n.s();!(t=n.n()).done;){var r=t.value;(null===(e=this[r])||void 0===e?void 0:e.fields)&&A.push.apply(A,Object(zn.a)(this[r].fields))}}catch(i){n.e(i)}finally{n.f()}return A}}]),A}(DP);function nX(e){return"'"===e[0]&&"'"===e[e.length-1]||'"'===e[0]&&'"'===e[e.length-1]?e.slice(1,-1):e}function rX(e,t){var A=D_(e);if("number"===t)return"toNumber(".concat(A,")");if("boolean"===t)return"toBoolean(".concat(A,")");if("string"===t)return"toString(".concat(A,")");if("date"===t)return"toDate(".concat(A,")");if("flatten"===t)return A;if(t.startsWith("date:")){var n=nX(t.slice(5,t.length));return"timeParse(".concat(A,",'").concat(n,"')")}if(t.startsWith("utc:")){var r=nX(t.slice(4,t.length));return"utcParse(".concat(A,",'").concat(r,"')")}return tT(B.unrecognizedParse(t)),null}function iX(e){var t={};return function e(t,A){if(t_(t))e(t.not,A);else if(e_(t)){var n,r=Object(ut.a)(t.and);try{for(r.s();!(n=r.n()).done;){e(n.value,A)}}catch(a){r.e(a)}finally{r.f()}}else if($U(t)){var i,o=Object(ut.a)(t.or);try{for(o.s();!(i=o.n()).done;){e(i.value,A)}}catch(a){o.e(a)}finally{o.f()}}else A(t)}(e.filter,(function(e){var A;if(DT(e)){var n=null;yT(e)?n=uO(e.equal):mT(e)?n=uO(e.lte):vT(e)?n=uO(e.lt):bT(e)?n=uO(e.gt):wT(e)?n=uO(e.gte):ST(e)?n=e.range[0]:FT(e)&&(n=(null!==(A=e.oneOf)&&void 0!==A?A:e.in)[0]),n&&(AT(n)?t[e.field]="date":YU(n)?t[e.field]="number":JU(n)&&(t[e.field]="string")),e.timeUnit&&(t[e.field]="date")}})),t}function oX(e){var t={};function A(e){var A;cY(e)?t[e.field]="date":"quantitative"===e.type&&(JU(A=e.aggregate)&&c_(["min","max"],A))?t[e.field]="number":__(e.field)>1?e.field in t||(t[e.field]="flatten"):OH(e)&&fH(e.sort)&&__(e.sort.field)>1&&(e.sort.field in t||(t[e.sort.field]="flatten"))}if((fq(e)||dq(e))&&e.forEachFieldDef((function(t,n){if(_H(t))A(t);else{var r=fM(n),i=e.fieldDef(r);A(Object.assign(Object.assign({},t),{type:i.type}))}})),fq(e)){var n=e.mark,r=e.markDef,i=e.encoding;if(MZ(n)&&!e.encoding.order){var o=i["horizontal"===r.orient?"y":"x"];DH(o)&&"quantitative"===o.type&&!(o.field in t)&&(t[o.field]="number")}}return t}var aX,sX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,e))._parse=n,r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this._parse))}},{key:"hash",value:function(){return"Parse ".concat(s_(this._parse))}},{key:"merge",value:function(e){this._parse=Object.assign(Object.assign({},this._parse),e.parse),e.remove()}},{key:"assembleFormatParse",value:function(){var e,t={},A=Object(ut.a)(y_(this._parse));try{for(A.s();!(e=A.n()).done;){var n=e.value,r=this._parse[n];1===__(n)&&(t[n]=r)}}catch(i){A.e(i)}finally{A.f()}return t}},{key:"producedFields",value:function(){return new Set(y_(this._parse))}},{key:"dependentFields",value:function(){return new Set(y_(this._parse))}},{key:"assembleTransforms",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return y_(this._parse).filter((function(e){return!t||__(e)>1})).map((function(t){var A=rX(t,e._parse[t]);return A?{type:"formula",expr:A,as:U_(t)}:null})).filter((function(e){return null!==e}))}},{key:"parse",get:function(){return this._parse}}],[{key:"makeExplicit",value:function(e,t,A){var n,r={},i=t.data;return!CP(i)&&(null===(n=null===i||void 0===i?void 0:i.format)||void 0===n?void 0:n.parse)&&(r=i.format.parse),this.makeWithAncestors(e,r,{},A)}},{key:"makeWithAncestors",value:function(e,t,n,r){var i,o=Object(ut.a)(y_(n));try{for(o.s();!(i=o.n()).done;){var a=i.value,s=r.getWithExplicit(a);void 0!==s.value&&(s.explicit||s.value===n[a]||"derived"===s.value||"flatten"===n[a]?delete n[a]:tT(B.differentParse(a,n[a],s.value)))}}catch(E){o.e(E)}finally{o.f()}var g,c=Object(ut.a)(y_(t));try{for(c.s();!(g=c.n()).done;){var u=g.value,l=r.get(u);void 0!==l&&(l===t[u]?delete t[u]:tT(B.differentParse(u,t[u],l)))}}catch(E){c.e(E)}finally{c.f()}var I=new nP(t,n);r.copyAll(I);var C,h={},f=Object(ut.a)(y_(I.combine()));try{for(f.s();!(C=f.n()).done;){var d=C.value,p=I.get(d);null!==p&&(h[d]=p)}}catch(E){f.e(E)}finally{f.f()}return 0===y_(h).length||r.parseNothing?null:new A(e,h)}}]),A}(DP),gX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e){return Object(y.a)(this,A),t.call(this,e)}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null)}}]),Object(v.a)(A,[{key:"dependentFields",value:function(){return new Set}},{key:"producedFields",value:function(){return new Set(["_vgsid_"])}},{key:"hash",value:function(){return"Identifier"}},{key:"assemble",value:function(){return{type:"identifier",as:"_vgsid_"}}}]),A}(DP),cX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,e)).params=n,r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,this.params)}},{key:"dependentFields",value:function(){return new Set}},{key:"producedFields",value:function(){}},{key:"hash",value:function(){return"Graticule ".concat(s_(this.params))}},{key:"assemble",value:function(){return Object.assign({type:"graticule"},!0===this.params?{}:this.params)}}]),A}(DP),uX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,e)).params=n,r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,this.params)}},{key:"dependentFields",value:function(){return new Set}},{key:"producedFields",value:function(){var e;return new Set([null!==(e=this.params.as)&&void 0!==e?e:"data"])}},{key:"hash",value:function(){return"Hash ".concat(s_(this.params))}},{key:"assemble",value:function(){return Object.assign({type:"sequence"},this.params)}}]),A}(DP),lX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e){var n,r;if(Object(y.a)(this,A),n=t.call(this,null),null!==e&&void 0!==e||(e={name:"source"}),CP(e)||(r=e.format?Object.assign({},o_(e.format,["parse"])):{}),lP(e))n._data={values:e.values};else if(uP(e)){if(n._data={url:e.url},!r.type){var i=/(?:\.([^.]+))?$/.exec(e.url)[1];c_(["json","csv","tsv","dsv","topojson"],i)||(i="json"),r.type=i}}else fP(e)?n._data={values:[{type:"Sphere"}]}:(IP(e)||CP(e))&&(n._data={});return n._generator=CP(e),e.name&&(n._name=e.name),r&&!Q_(r)&&(n._data.format=r),n}return Object(v.a)(A,[{key:"dependentFields",value:function(){return new Set}},{key:"producedFields",value:function(){}},{key:"hasName",value:function(){return!!this._name}},{key:"remove",value:function(){throw new Error("Source nodes are roots and cannot be removed.")}},{key:"hash",value:function(){throw new Error("Cannot hash sources")}},{key:"assemble",value:function(){return Object.assign(Object.assign({name:this._name},this._data),{transform:[]})}},{key:"data",get:function(){return this._data}},{key:"isGenerator",get:function(){return this._generator}},{key:"dataName",get:function(){return this._name},set:function(e){this._name=e}},{key:"parent",set:function(e){throw new Error("Source nodes have to be roots.")}}]),A}(DP),IX=function(e,t,A,n,r){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!r)throw new TypeError("Private accessor was defined without a setter");if("function"===typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?r.call(e,A):r?r.value=A:t.set(e,A),A},CX=function(e,t,A,n){if("a"===A&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"===typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===A?n:"a"===A?n.call(e):n?n.value:t.get(e)};function hX(e){return e instanceof lX||e instanceof cX||e instanceof uX}var fX=function(){function e(){Object(y.a)(this,e),aX.set(this,void 0),IX(this,aX,!1,"f")}return Object(v.a)(e,[{key:"setModified",value:function(){IX(this,aX,!0,"f")}},{key:"modifiedFlag",get:function(){return CX(this,aX,"f")}}]),e}();aX=new WeakMap;var dX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return Object(v.a)(A,[{key:"getNodeDepths",value:function(e,t,A){A.set(e,t);var n,r=Object(ut.a)(e.children);try{for(r.s();!(n=r.n()).done;){var i=n.value;this.getNodeDepths(i,t+1,A)}}catch(o){r.e(o)}finally{r.f()}return A}},{key:"optimize",value:function(e){var t,A=this.getNodeDepths(e,0,new Map),n=Object(zn.a)(A.entries()).sort((function(e,t){return t[1]-e[1]})),r=Object(ut.a)(n);try{for(r.s();!(t=r.n()).done;){var i=t.value;this.run(i[0])}}catch(o){r.e(o)}finally{r.f()}return this.modifiedFlag}}]),A}(fX),BX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return Object(v.a)(A,[{key:"optimize",value:function(e){this.run(e);var t,A=Object(ut.a)(e.children);try{for(A.s();!(t=A.n()).done;){var n=t.value;this.optimize(n)}}catch(r){A.e(r)}finally{A.f()}return this.modifiedFlag}}]),A}(fX),pX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return Object(v.a)(A,[{key:"mergeNodes",value:function(e,t){var A,n=t.shift(),r=Object(ut.a)(t);try{for(r.s();!(A=r.n()).done;){var i=A.value;e.removeChild(i),i.parent=n,i.remove()}}catch(o){r.e(o)}finally{r.f()}}},{key:"run",value:function(e){for(var t=e.children.map((function(e){return e.hash()})),A={},n=0;n<t.length;n++)void 0===A[t[n]]?A[t[n]]=[e.children[n]]:A[t[n]].push(e.children[n]);var r,i=Object(ut.a)(y_(A));try{for(i.s();!(r=i.n()).done;){var o=r.value;A[o].length>1&&(this.setModified(),this.mergeNodes(e,A[o]))}}catch(a){i.e(a)}finally{i.f()}}}]),A}(BX),EX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e){var n;return Object(y.a)(this,A),(n=t.call(this)).requiresSelectionId=e&&NV(e),n}return Object(v.a)(A,[{key:"run",value:function(e){e instanceof gX&&(this.requiresSelectionId&&(hX(e.parent)||e.parent instanceof tX||e.parent instanceof sX)||(this.setModified(),e.remove()))}}]),A}(BX),QX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return Object(v.a)(A,[{key:"optimize",value:function(e){return this.run(e,new Set),this.modifiedFlag}},{key:"run",value:function(e,t){var A=new Set;e instanceof xP&&B_(A=e.producedFields(),t)&&(this.setModified(),e.removeFormulas(t),0===e.producedFields.length&&e.remove());var n,r=Object(ut.a)(e.children);try{for(r.s();!(n=r.n()).done;){var i=n.value;this.run(i,new Set([].concat(Object(zn.a)(t),Object(zn.a)(A))))}}catch(o){r.e(o)}finally{r.f()}}}]),A}(fX),yX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.call(this)}return Object(v.a)(A,[{key:"run",value:function(e){e instanceof GP&&!e.isRequired()&&(this.setModified(),e.remove())}}]),A}(BX),vX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return Object(v.a)(A,[{key:"run",value:function(e){if(!hX(e)&&!(e.numChildren()>1)){var t,A=Object(ut.a)(e.children);try{for(A.s();!(t=A.n()).done;){var n=t.value;if(n instanceof sX)if(e instanceof sX)this.setModified(),e.merge(n);else{if(E_(e.producedFields(),n.dependentFields()))continue;this.setModified(),n.swapWithParent()}}}catch(r){A.e(r)}finally{A.f()}}}}]),A}(dX),mX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return Object(v.a)(A,[{key:"run",value:function(e){var t=Object(zn.a)(e.children),A=e.children.filter((function(e){return e instanceof sX}));if(e.numChildren()>1&&A.length>=1){var n,r={},i=new Set,o=Object(ut.a)(A);try{for(o.s();!(n=o.n()).done;){var a,s=n.value.parse,g=Object(ut.a)(y_(s));try{for(g.s();!(a=g.n()).done;){var c=a.value;c in r?r[c]!==s[c]&&i.add(c):r[c]=s[c]}}catch(E){g.e(E)}finally{g.f()}}}catch(E){o.e(E)}finally{o.f()}var u,l=Object(ut.a)(i);try{for(l.s();!(u=l.n()).done;){delete r[u.value]}}catch(E){l.e(E)}finally{l.f()}if(!Q_(r)){this.setModified();var I,C=new sX(e,r),h=Object(ut.a)(t);try{for(h.s();!(I=h.n()).done;){var f=I.value;if(f instanceof sX){var d,B=Object(ut.a)(y_(r));try{for(B.s();!(d=B.n()).done;){var p=d.value;delete f.parse[p]}}catch(E){B.e(E)}finally{B.f()}}e.removeChild(f),f.parent=C,f instanceof sX&&0===y_(f.parse).length&&f.remove()}}catch(E){h.e(E)}finally{h.f()}}}}}]),A}(dX),bX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return Object(v.a)(A,[{key:"run",value:function(e){e instanceof GP||e.numChildren()>0||e instanceof AX||e instanceof lX||(this.setModified(),e.remove())}}]),A}(dX),wX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return Object(v.a)(A,[{key:"run",value:function(e){var t,A=e.children.filter((function(e){return e instanceof xP})),n=A.pop(),r=Object(ut.a)(A);try{for(r.s();!(t=r.n()).done;){var i=t.value;this.setModified(),n.merge(i)}}catch(o){r.e(o)}finally{r.f()}}}]),A}(dX),SX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return Object(v.a)(A,[{key:"run",value:function(e){var t,A=e.children.filter((function(e){return e instanceof tX})),n={},r=Object(ut.a)(A);try{for(r.s();!(t=r.n()).done;){var i=t.value,o=s_(i.groupBy);o in n||(n[o]=[]),n[o].push(i)}}catch(C){r.e(C)}finally{r.f()}var a,s=Object(ut.a)(y_(n));try{for(s.s();!(a=s.n()).done;){var g=n[a.value];if(g.length>1){var c,u=g.pop(),l=Object(ut.a)(g);try{for(l.s();!(c=l.n()).done;){var I=c.value;u.merge(I)&&(e.removeChild(I),I.parent=u,I.remove(),this.setModified())}}catch(C){l.e(C)}finally{l.f()}}}}catch(C){s.e(C)}finally{s.f()}}}]),A}(dX),FX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e){var n;return Object(y.a)(this,A),(n=t.call(this)).model=e,n}return Object(v.a)(A,[{key:"run",value:function(e){var t,A=!(hX(e)||e instanceof _K||e instanceof sX||e instanceof gX),n=[],r=[],i=Object(ut.a)(e.children);try{for(i.s();!(t=i.n()).done;){var o=t.value;o instanceof $W&&(A&&!E_(e.producedFields(),o.dependentFields())?n.push(o):r.push(o))}}catch(h){i.e(h)}finally{i.f()}if(n.length>0){var a,s=n.pop(),g=Object(ut.a)(n);try{for(g.s();!(a=g.n()).done;){var c=a.value;s.merge(c,this.model.renameSignal.bind(this.model))}}catch(h){g.e(h)}finally{g.f()}this.setModified(),e instanceof $W?e.merge(s,this.model.renameSignal.bind(this.model)):s.swapWithParent()}if(r.length>1){var u,l=r.pop(),I=Object(ut.a)(r);try{for(I.s();!(u=I.n()).done;){var C=u.value;l.merge(C,this.model.renameSignal.bind(this.model))}}catch(h){I.e(h)}finally{I.f()}this.setModified()}}}]),A}(dX),RX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return Object(v.a)(A,[{key:"run",value:function(e){var t=Object(zn.a)(e.children);if(u_(t,(function(e){return e instanceof GP}))&&!(e.numChildren()<=1)){var A,n,r=[],i=Object(ut.a)(t);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(o instanceof GP){for(var a=o;1===a.numChildren();){var s=Object(lt.a)(a.children,1)[0];if(!(s instanceof GP))break;a=s}r.push.apply(r,Object(zn.a)(a.children)),A?(e.removeChild(o),o.parent=A.parent,A.parent.removeChild(A),A.parent=a,this.setModified()):A=a}else r.push(o)}}catch(l){i.e(l)}finally{i.f()}if(r.length){this.setModified();var g,c=Object(ut.a)(r);try{for(c.s();!(g=c.n()).done;){var u=g.value;u.parent.removeChild(u),u.parent=A}}catch(l){c.e(l)}finally{c.f()}}}}}]),A}(dX),DX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,e)).transform=n,r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.transform))}},{key:"addDimensions",value:function(e){this.transform.groupby=h_(this.transform.groupby.concat(e),(function(e){return e}))}},{key:"dependentFields",value:function(){var e=new Set;return this.transform.groupby&&this.transform.groupby.forEach(e.add,e),this.transform.joinaggregate.map((function(e){return e.field})).filter((function(e){return void 0!==e})).forEach(e.add,e),e}},{key:"producedFields",value:function(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}},{key:"getDefaultName",value:function(e){var t;return null!==(t=e.as)&&void 0!==t?t:JH(e)}},{key:"hash",value:function(){return"JoinAggregateTransform ".concat(s_(this.transform))}},{key:"assemble",value:function(){var e,t=[],A=[],n=[],r=Object(ut.a)(this.transform.joinaggregate);try{for(r.s();!(e=r.n()).done;){var i=e.value;A.push(i.op),n.push(this.getDefaultName(i)),t.push(void 0===i.field?null:i.field)}}catch(a){r.e(a)}finally{r.f()}var o=this.transform.groupby;return Object.assign({type:"joinaggregate",as:n,ops:A,fields:t},void 0!==o?{groupby:o}:{})}}]),A}(DP);var GX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,e))._stack=n,r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this._stack))}},{key:"addDimensions",value:function(e){var t;(t=this._stack.facetby).push.apply(t,Object(zn.a)(e))}},{key:"dependentFields",value:function(){var e=new Set;return e.add(this._stack.stackField),this.getGroupbyFields().forEach(e.add,e),this._stack.facetby.forEach(e.add,e),this._stack.sort.field.forEach(e.add,e),e}},{key:"producedFields",value:function(){return new Set(this._stack.as)}},{key:"hash",value:function(){return"Stack ".concat(s_(this._stack))}},{key:"getGroupbyFields",value:function(){var e=this._stack,t=e.dimensionFieldDef,A=e.impute,n=e.groupby;return t?t.bin?A?[JH(t,{binSuffix:"mid"})]:[JH(t,{}),JH(t,{binSuffix:"end"})]:[JH(t)]:null!==n&&void 0!==n?n:[]}},{key:"assemble",value:function(){var e=[],t=this._stack,A=t.facetby,n=t.dimensionFieldDef,r=t.stackField,i=t.stackby,o=t.sort,a=t.offset,s=t.impute,g=t.as;if(s&&n){var c=n.bandPosition,u=void 0===c?.5:c;n.bin&&e.push({type:"formula",expr:"".concat(u,"*")+JH(n,{expr:"datum"})+"+".concat(1-u,"*")+JH(n,{expr:"datum",binSuffix:"end"}),as:JH(n,{binSuffix:"mid",forAs:!0})}),e.push({type:"impute",field:r,groupby:[].concat(Object(zn.a)(i),Object(zn.a)(A)),key:JH(n,{binSuffix:"mid"}),method:"value",value:0})}return e.push({type:"stack",groupby:[].concat(Object(zn.a)(this.getGroupbyFields()),Object(zn.a)(A)),field:r,sort:o,as:g,offset:a}),e}},{key:"stack",get:function(){return this._stack}}],[{key:"makeFromTransform",value:function(e,t){var n=t.stack,r=t.groupby,i=t.as,o=t.offset,a=void 0===o?"zero":o,s=[],g=[];if(void 0!==t.sort){var c,u=Object(ut.a)(t.sort);try{for(u.s();!(c=u.n()).done;){var l=c.value;s.push(l.field),g.push(M_(l.order,"ascending"))}}catch(I){u.e(I)}finally{u.f()}}return new A(e,{stackField:n,groupby:r,offset:a,sort:{field:s,order:g},facetby:[],as:function(e){return kU(e)&&e.every((function(e){return JU(e)}))&&e.length>1}(i)?i:JU(i)?[i,"".concat(i,"_end")]:["".concat(t.stack,"_start"),"".concat(t.stack,"_end")]})}},{key:"makeFromEncoding",value:function(e,t){var n=t.stack,r=t.encoding;if(!n)return null;var i,o=n.groupbyChannel,a=n.fieldChannel,s=n.offset,g=n.impute;o&&(i=AY(r[o]));var c,u=function(e){return e.stack.stackBy.reduce((function(e,t){var A=JH(t.fieldDef);return A&&e.push(A),e}),[])}(t),l=t.encoding.order;return c=kU(l)||DH(l)?QO(l):u.reduce((function(e,t){return e.field.push(t),e.order.push("y"===a?"descending":"ascending"),e}),{field:[],order:[]}),new A(e,{dimensionFieldDef:i,stackField:t.vgField(a),facetby:[],stackby:u,sort:c,offset:s,impute:g,as:[t.vgField(a,{suffix:"start",forAs:!0}),t.vgField(a,{suffix:"end",forAs:!0})]})}}]),A}(DP),kX=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,e)).transform=n,r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.transform))}},{key:"addDimensions",value:function(e){this.transform.groupby=h_(this.transform.groupby.concat(e),(function(e){return e}))}},{key:"dependentFields",value:function(){var e,t,A=new Set;return(null!==(e=this.transform.groupby)&&void 0!==e?e:[]).forEach(A.add,A),(null!==(t=this.transform.sort)&&void 0!==t?t:[]).forEach((function(e){return A.add(e.field)})),this.transform.window.map((function(e){return e.field})).filter((function(e){return void 0!==e})).forEach(A.add,A),A}},{key:"producedFields",value:function(){return new Set(this.transform.window.map(this.getDefaultName))}},{key:"getDefaultName",value:function(e){var t;return null!==(t=e.as)&&void 0!==t?t:JH(e)}},{key:"hash",value:function(){return"WindowTransform ".concat(s_(this.transform))}},{key:"assemble",value:function(){var e,t,A=[],n=[],r=[],i=[],o=Object(ut.a)(this.transform.window);try{for(o.s();!(t=o.n()).done;){var a=t.value;n.push(a.op),r.push(this.getDefaultName(a)),i.push(void 0===a.param?null:a.param),A.push(void 0===a.field?null:a.field)}}catch(d){o.e(d)}finally{o.f()}var s=this.transform.frame,g=this.transform.groupby;if(s&&null===s[0]&&null===s[1]&&n.every((function(e){return ZM(e)})))return Object.assign({type:"joinaggregate",as:r,ops:n,fields:A},void 0!==g?{groupby:g}:{});var c=[],u=[];if(void 0!==this.transform.sort){var l,I=Object(ut.a)(this.transform.sort);try{for(I.s();!(l=I.n()).done;){var C=l.value;c.push(C.field),u.push(null!==(e=C.order)&&void 0!==e?e:"ascending")}}catch(d){I.e(d)}finally{I.f()}}var h={field:c,order:u},f=this.transform.ignorePeers;return Object.assign(Object.assign(Object.assign({type:"window",params:i,as:r,ops:n,fields:A,sort:h},void 0!==f?{ignorePeers:f}:{}),void 0!==g?{groupby:g}:{}),void 0!==s?{frame:s}:{})}}]),A}(DP);function xX(e){if(e instanceof AX)if(1!==e.numChildren()||e.children[0]instanceof GP){var t=e.model.component.data.main;!function e(t){if(t instanceof GP&&t.type===gP.Main&&1===t.numChildren()){var A=t.children[0];A instanceof AX||(A.swapWithParent(),e(t))}}(t);var A,n=(a=e,function e(t){if(!(t instanceof AX)){var A=t.clone();if(A instanceof GP){var n=NX+A.getSource();A.setSource(n),a.model.component.data.outputNodes[n]=A}else(A instanceof tX||A instanceof GX||A instanceof kX||A instanceof DX)&&A.addDimensions(a.fields);var r,i=Object(ut.a)(t.children.flatMap(e));try{for(i.s();!(r=i.n()).done;)r.value.parent=A}catch(o){i.e(o)}finally{i.f()}return[A]}return t.children.flatMap(e)}),r=e.children.map(n).flat(),i=Object(ut.a)(r);try{for(i.s();!(A=i.n()).done;){A.value.parent=t}}catch(s){i.e(s)}finally{i.f()}}else{var o=e.children[0];(o instanceof tX||o instanceof GX||o instanceof kX||o instanceof DX)&&o.addDimensions(e.fields),o.swapWithParent(),xX(e)}else e.children.map(xX);var a}var NX="scale_";function UX(e){var t,A=Object(ut.a)(e);try{for(A.s();!(t=A.n()).done;){var n,r=t.value,i=Object(ut.a)(r.children);try{for(i.s();!(n=i.n()).done;){if(n.value.parent!==r)return!1}}catch(o){i.e(o)}finally{i.f()}if(!UX(r.children))return!1}}catch(o){A.e(o)}finally{A.f()}return!0}function _X(e,t){var A,n=!1,r=Object(ut.a)(t);try{for(r.s();!(A=r.n()).done;){var i=A.value;n=e.optimize(i)||n}}catch(o){r.e(o)}finally{r.f()}return n}function MX(e,t,A){var n=e.sources,r=!1;return r=_X(new yX,n)||r,r=_X(new EX(t),n)||r,n=n.filter((function(e){return e.numChildren()>0})),r=_X(new bX,n)||r,n=n.filter((function(e){return e.numChildren()>0})),A||(r=_X(new vX,n)||r,r=_X(new FX(t),n)||r,r=_X(new QX,n)||r,r=_X(new mX,n)||r,r=_X(new SX,n)||r,r=_X(new wX,n)||r,r=_X(new pX,n)||r,r=_X(new RX,n)||r),e.sources=n,r}function OX(e,t){UX(e.sources);for(var A=0,n=0,r=0;r<5&&MX(e,t,!0);r++)A++;e.sources.map(xX);for(var i=0;i<5&&MX(e,t,!1);i++)n++;UX(e.sources),5===Math.max(A,n)&&tT("Maximum optimization runs(".concat(5,") reached."))}var LX=function(){function e(t){Object(y.a)(this,e),Object.defineProperty(this,"signal",{enumerable:!0,get:t})}return Object(v.a)(e,null,[{key:"fromName",value:function(t,A){return new e((function(){return t(A)}))}}]),e}(),TX=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function ZX(e){fq(e)?function(e){var t,A=e.component.scales,n=Object(ut.a)(y_(A));try{for(n.s();!(t=n.n()).done;){var r=t.value,i=HX(e,r);if(A[r].setWithExplicit("domains",i),PX(e,r),e.component.data.isFaceted){for(var o=e;!dq(o)&&o.parent;)o=o.parent;if("shared"===o.component.resolve.scale[r]){var a,s=Object(ut.a)(i.value);try{for(s.s();!(a=s.n()).done;){var g=a.value;iO(g)&&(g.data=NX+g.data.replace(NX,""))}}catch(c){s.e(c)}finally{s.f()}}}}}catch(c){n.e(c)}finally{n.f()}}(e):function(e){var t,A=Object(ut.a)(e.children);try{for(A.s();!(t=A.n()).done;){ZX(t.value)}}catch(I){A.e(I)}finally{A.f()}var n,r=e.component.scales,i=Object(ut.a)(y_(r));try{for(i.s();!(n=i.n()).done;){var o,a=n.value,s=void 0,g=null,c=Object(ut.a)(e.children);try{for(c.s();!(o=c.n()).done;){var u=o.value.component.scales[a];if(u){s=void 0===s?u.getWithExplicit("domains"):sP(s,u.getWithExplicit("domains"),"domains","scale",KX);var l=u.get("selectionExtent");g&&l&&g.param!==l.param&&tT(B.NEEDS_SAME_SELECTION),g=l}}}catch(I){c.e(I)}finally{c.f()}r[a].setWithExplicit("domains",s),g&&r[a].set("selectionExtent",g,!0)}}catch(I){i.e(I)}finally{i.f()}}(e)}function HX(e,t){var A=e.getScaleComponent(t).get("type"),n=e.encoding,r=function(e,t,A,n){if("unaggregated"===e){var r=VX(t,A),i=r.valid,o=r.reason;if(!i)return void tT(o)}else if(void 0===e&&n.useUnaggregatedDomain){if(VX(t,A).valid)return"unaggregated"}return e}(e.scaleDomain(t),e.typedFieldDef(t),A,e.config.scale);return r!==e.scaleDomain(t)&&(e.specifiedScales[t]=Object.assign(Object.assign({},e.specifiedScales[t]),{domain:r})),"x"===t&&nY(n.x2)?nY(n.x)?sP(JX(A,r,e,"x"),JX(A,r,e,"x2"),"domain","scale",KX):JX(A,r,e,"x2"):"y"===t&&nY(n.y2)?nY(n.y)?sP(JX(A,r,e,"y"),JX(A,r,e,"y2"),"domain","scale",KX):JX(A,r,e,"y2"):JX(A,r,e,t)}function YX(e,t,A){var n,r=null===(n=ET(A))||void 0===n?void 0:n.unit;return"temporal"===t||r?function(e,t,A){return e.map((function(e){var n=uY(e,{timeUnit:A,type:t});return{signal:"{data: ".concat(n,"}")}}))}(e,t,r):[e]}function JX(e,t,A,n){var r=nY(A.encoding[n]),i=r.type,o=r.timeUnit;if(function(e){return e&&e.unionWith}(t)){var a=JX(e,void 0,A,n),s=YX(t.unionWith,i,o);return rP([].concat(Object(zn.a)(a.value),Object(zn.a)(s)))}if(nO(t))return rP([t]);if(t&&"unaggregated"!==t&&!fZ(t))return rP(YX(t,i,o));var g=A.stack;if(g&&n===g.fieldChannel){if("normalize"===g.offset)return iP([[0,1]]);var c=A.requestDataName(gP.Main);return iP([{data:c,field:A.vgField(n,{suffix:"start"})},{data:c,field:A.vgField(n,{suffix:"end"})}])}var u=kM(n)&&DH(r)?function(e,t,A){if(!lZ(A))return;var n=e.fieldDef(t),r=n.sort;if(dH(r))return{op:"min",field:tW(n,t),order:"ascending"};var i=e.stack,o=i?[].concat(Object(zn.a)(i.groupbyField?[i.groupbyField]:[]),Object(zn.a)(i.stackBy.map((function(e){return e.fieldDef.field})))):void 0;if(fH(r)){var a=i&&!c_(o,r.field);return jX(r,a)}if(hH(r)){var s=r.encoding,g=r.order,c=e.fieldDef(s),u=c.aggregate,l=c.field,I=i&&!c_(o,l);if(LM(u)||TM(u))return jX({field:JH(c),order:g},I);if(ZM(u)||!u)return jX({op:u,field:l,order:g},I)}else{if("descending"===r)return{op:"min",field:e.vgField(t),order:"descending"};if(c_(["ascending",void 0],r))return!0}return}(A,n,e):void 0;if(kH(r))return iP(YX([r.datum],i,o));var l=r;if("unaggregated"===t){var I=A.requestDataName(gP.Main),C=r.field;return iP([{data:I,field:JH({field:C,aggregate:"min"})},{data:I,field:JH({field:C,aggregate:"max"})}])}if(VM(l.bin)){if(lZ(e))return iP("bin-ordinal"===e?[]:[{data:b_(u)?A.requestDataName(gP.Main):A.requestDataName(gP.Raw),field:A.vgField(n,IY(l,n)?{binSuffix:"range"}:{}),sort:!0!==u&&xU(u)?u:{field:A.vgField(n,{}),op:"min"}}]);var h=l.bin;if(VM(h)){var f=qW(A,l.field,h);return iP([new LX((function(){var e=A.getSignalName(f);return"[".concat(e,".start, ").concat(e,".stop]")}))])}return iP([{data:A.requestDataName(gP.Main),field:A.vgField(n,{})}])}if(l.timeUnit&&c_(["time","utc"],e)&&wH(l,fq(A)?A.encoding[BM(n)]:void 0,A.markDef,A.config)){var d=A.requestDataName(gP.Main);return iP([{data:d,field:A.vgField(n)},{data:d,field:A.vgField(n,{suffix:"end"})}])}return iP(u?[{data:b_(u)?A.requestDataName(gP.Main):A.requestDataName(gP.Raw),field:A.vgField(n),sort:u}]:[{data:A.requestDataName(gP.Main),field:A.vgField(n)}])}function jX(e,t){var A=e.op,n=e.field,r=e.order;return Object.assign(Object.assign({op:null!==A&&void 0!==A?A:t?"sum":"min"},n?{field:x_(n)}:{}),r?{order:r}:{})}function PX(e,t){var A,n=e.component.scales[t],r=e.specifiedScales[t].domain,i=null===(A=e.fieldDef(t))||void 0===A?void 0:A.bin,o=fZ(r)&&r,a=WM(i)&&XM(i.extent)&&i.extent;(o||a)&&n.set("selectionExtent",null!==o&&void 0!==o?o:a,!0)}function VX(e,t){var A=e.aggregate,n=e.type;return A?JU(A)&&!jM[A]?{valid:!1,reason:B.unaggregateDomainWithNonSharedDomainOp(A)}:"quantitative"===n&&"log"===t?{valid:!1,reason:B.unaggregatedDomainWithLogScale(e)}:{valid:!0}:{valid:!1,reason:B.unaggregateDomainHasNoEffectForRawField(e)}}function KX(e,t,A,n){return e.explicit&&t.explicit&&tT(B.mergeConflictingDomainProperty(A,n,e.value,t.value)),{explicit:e.explicit,value:[].concat(Object(zn.a)(e.value),Object(zn.a)(t.value))}}function WX(e){if(iO(e)&&JU(e.field))return e.field;if(function(e){return!kU(e)&&("fields"in e&&!("data"in e))}(e)){var t,A,n=Object(ut.a)(e.fields);try{for(n.s();!(A=n.n()).done;){var r=A.value;if(iO(r)&&JU(r.field))if(t){if(t!==r.field)return tT(B.FACETED_INDEPENDENT_DIFFERENT_SOURCES),t}else t=r.field}}catch(o){n.e(o)}finally{n.f()}return tT(B.FACETED_INDEPENDENT_SAME_FIELDS_DIFFERENT_SOURCES),t}if(function(e){return!kU(e)&&("fields"in e&&"data"in e)}(e)){tT(B.FACETED_INDEPENDENT_SAME_SOURCE);var i=e.fields[0];return JU(i)?i:void 0}}function XX(e,t){return function(e){var t=h_(e.map((function(e){if(iO(e)){e.sort;return TX(e,["sort"])}return e})),s_),A=h_(e.map((function(e){if(iO(e)){var t=e.sort;return void 0===t||b_(t)||("op"in t&&"count"===t.op&&delete t.field,"ascending"===t.order&&delete t.order),t}})).filter((function(e){return void 0!==e})),s_);if(0!==t.length){if(1===t.length){var n=e[0];if(iO(n)&&A.length>0){var r=A[0];if(A.length>1)tT(B.MORE_THAN_ONE_SORT),r=!0;else if(xU(r)&&"field"in r){var i=r.field;n.field===i&&(r=!r.order||{order:r.order})}return Object.assign(Object.assign({},n),{sort:r})}return n}var o,a=h_(A.map((function(e){return b_(e)||!("op"in e)||JU(e.op)&&e.op in OM?e:(tT(B.domainSortDropped(e)),!0)})),s_);1===a.length?o=a[0]:a.length>1&&(tT(B.MORE_THAN_ONE_SORT),o=!0);var s=h_(e.map((function(e){return iO(e)?e.data:null})),(function(e){return e}));return 1===s.length&&null!==s[0]?Object.assign({data:s[0],fields:t.map((function(e){return e.field}))},o?{sort:o}:{}):Object.assign({fields:t},o?{sort:o}:{})}}(e.component.scales[t].get("domains").map((function(t){return iO(t)&&(t.data=e.lookupDataSource(t.data)),t})))}var qX=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function zX(e){return pq(e)||Bq(e)?e.children.reduce((function(e,t){return e.concat(zX(t))}),$X(e)):$X(e)}function $X(e){return y_(e.component.scales).reduce((function(t,A){var n=e.component.scales[A];if(n.merged)return t;var r=n.combine(),i=r.name,o=r.type,a=r.selectionExtent,s=(r.domains,r.range,r.reverse),g=qX(r,["name","type","selectionExtent","domains","range","reverse"]),c=function(e,t,A,n){if(mM(A)){if(rO(e))return{step:{signal:"".concat(t,"_step")}}}else if(xU(e)&&iO(e))return Object.assign(Object.assign({},e),{data:n.lookupDataSource(e.data)});return e}(r.range,i,A,e),u=XX(e,A),l=a?function(e,t,A,n){var r=OK(e,t.param,t);return{signal:IZ(A.get("type"))&&kU(n)&&n[0]>n[1]?"isValid(".concat(r,") && reverse(").concat(r,")"):r}}(e,a,n,u):null;return t.push(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:i,type:o},u?{domain:u}:{}),l?{domainRaw:l}:{}),{range:c}),void 0!==s?{reverse:s}:{}),g)),t}),[])}var eq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,{},{name:e})).merged=!1,r.setWithExplicit("type",n),r}return Object(v.a)(A,[{key:"domainDefinitelyIncludesZero",value:function(){return!1!==this.get("zero")||u_(this.get("domains"),(function(e){return kU(e)&&2===e.length&&e[0]<=0&&e[1]>=0}))}}]),A}(nP),tq=["range","scheme"];function Aq(e){return"x"===e?"width":"y"===e?"height":void 0}function nq(e,t){var A=e.fieldDef(t);if(null===A||void 0===A?void 0:A.bin){var n=A.bin,r=A.field,i=Aq(t),o=e.getName(i);if(xU(n)&&n.binned&&void 0!==n.step)return new LX((function(){var A=e.scaleName(t),r='(domain("'.concat(A,'")[1] - domain("').concat(A,'")[0]) / ').concat(n.step);return"".concat(e.getSignalName(o)," / (").concat(r,")")}));if(VM(n)){var a=qW(e,r,n);return new LX((function(){var t=e.getSignalName(a),A="(".concat(t,".stop - ").concat(t,".start) / ").concat(t,".step");return"".concat(e.getSignalName(o)," / (").concat(A,")")}))}}}function rq(e,t){var A,n=t.specifiedScales[e],r=t.size,i=t.getScaleComponent(e).get("type"),o=Object(ut.a)(tq);try{for(o.s();!(A=o.n()).done;){var a=A.value;if(void 0!==n[a]){var s=EZ(i,a),g=QZ(e,a);if(s)if(g)tT(g);else switch(a){case"range":var c=n.range;if(kU(c)){if(mM(e))return rP(c.map((function(e){if("width"===e||"height"===e){var A=t.getName(e),n=t.getSignalName.bind(t);return LX.fromName(n,A)}return e})))}else if(xU(c))return rP({data:t.requestDataName(gP.Main),field:c.field,sort:{op:"min",field:t.vgField(e)}});return rP(c);case"scheme":return rP(iq(n[a]))}else tT(B.scalePropertyNotWorkWithScaleType(i,a,e))}}}catch(f){o.e(f)}finally{o.f()}if("x"===e||"y"===e){var u="x"===e?"width":"height",l=r[u];if(pJ(l)){if(lZ(i))return rP({step:l.step});tT(B.stepDropped(u))}}var I=n.rangeMin,C=n.rangeMax,h=function(e,t){var A=t.size,n=t.config,r=t.mark,i=t.encoding,o=t.getSignalName.bind(t),a=nY(i[e]).type,s=t.getScaleComponent(e).get("type"),g=t.specifiedScales[e],c=g.domain,u=g.domainMid;switch(e){case"x":case"y":if(c_(["point","band"],s))if("x"!==e||A.width){if("y"===e&&!A.height){var l=bJ(n.view,"height");if(pJ(l))return l}}else{var I=bJ(n.view,"width");if(pJ(I))return I}var C=Aq(e),h=t.getName(C);return"y"===e&&IZ(s)?[LX.fromName(o,h),0]:[0,LX.fromName(o,h)];case"size":var f=t.component.scales[e].get("zero"),d=function e(t,A,n){if(A)return nO(A)?{signal:"".concat(A.signal," ? 0 : ").concat(e(t,!1,n))}:0;switch(t){case"bar":case"tick":return n.scale.minBandSize;case"line":case"trail":case"rule":return n.scale.minStrokeWidth;case"text":return n.scale.minFontSize;case"point":case"square":case"circle":return n.scale.minSize}throw new Error(B.incompatibleChannel("size",t))}(r,f,n),p=function(e,t,A,n){var r={x:nq(A,"x"),y:nq(A,"y")};switch(e){case"bar":case"tick":if(void 0!==n.scale.maxBandSize)return n.scale.maxBandSize;var i=oq(t,r,n.view);return YU(i)?i-1:new LX((function(){return"".concat(i.signal," - 1")}));case"line":case"trail":case"rule":return n.scale.maxStrokeWidth;case"text":return n.scale.maxFontSize;case"point":case"square":case"circle":if(n.scale.maxSize)return n.scale.maxSize;var o=oq(t,r,n.view);return YU(o)?Math.pow(.95*o,2):new LX((function(){return"pow(".concat(.95," * ").concat(o.signal,", 2)")}))}throw new Error(B.incompatibleChannel("size",e))}(r,A,t,n);return hZ(s)?function(e,t,A){var n=function(){var n=hO(t),r=hO(e),i="(".concat(n," - ").concat(r,") / (").concat(A," - 1)");return"sequence(".concat(r,", ").concat(n," + ").concat(i,", ").concat(i,")")};return nO(t)?new LX(n):{signal:n()}}(d,p,function(e,t,A,n){switch(e){case"quantile":return t.scale.quantileCount;case"quantize":return t.scale.quantizeCount;case"threshold":return void 0!==A&&kU(A)?A.length+1:(tT(B.domainRequiredForThresholdScale(n)),3)}}(s,n,c,e)):[d,p];case W_:return[0,2*Math.PI];case"angle":return[0,360];case K_:return[0,new LX((function(){var e=t.getSignalName("width"),A=t.getSignalName("height");return"min(".concat(e,",").concat(A,")/2")}))];case"strokeWidth":return[n.scale.minStrokeWidth,n.scale.maxStrokeWidth];case"strokeDash":return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case eM:return"symbol";case q_:case z_:case $_:return"ordinal"===s?"nominal"===a?"category":"ordinal":void 0!==u?"diverging":"rect"===r||"geoshape"===r?"heatmap":"ramp";case"opacity":case"fillOpacity":case"strokeOpacity":return[n.scale.minOpacity,n.scale.maxOpacity]}throw new Error("Scale range undefined for channel ".concat(e))}(e,t);return(void 0!==I||void 0!==C)&&EZ(i,"rangeMin")&&kU(h)&&2===h.length?rP([null!==I&&void 0!==I?I:h[0],null!==C&&void 0!==C?C:h[1]]):iP(h)}function iq(e){return function(e){return!JU(e)&&!!e.name}(e)?Object.assign({scheme:e.name},o_(e,["name"])):{scheme:e}}function oq(e,t,A){var n=pJ(e.width)?e.width.step:mJ(A,"width"),r=pJ(e.height)?e.height.step:mJ(A,"height");return t.x||t.y?new LX((function(){var e=[t.x?t.x.signal:n,t.y?t.y.signal:r];return"min(".concat(e.join(", "),")")})):Math.min(n,r)}function aq(e,t){fq(e)?function(e,t){var A,n=e.component.scales,r=e.config,i=e.encoding,o=e.markDef,a=e.specifiedScales,s=Object(ut.a)(y_(n));try{for(s.s();!(A=s.n()).done;){var g=A.value,c=a[g],u=n[g],l=e.getScaleComponent(g),I=nY(i[g]),C=c[t],h=l.get("type"),f=l.get("padding"),d=l.get("paddingInner"),p=EZ(h,t),E=QZ(g,t);if(void 0!==C&&(p?E&&tT(E):tT(B.scalePropertyNotWorkWithScaleType(h,t,g))),p&&void 0===E)if(void 0!==C){var Q=I.timeUnit,y=I.type;switch(t){case"domainMax":case"domainMin":AT(c[t])||"temporal"===y||Q?u.set(t,{signal:uY(c[t],{type:y,timeUnit:Q})},!0):u.set(t,c[t],!0);break;default:u.copyKeyFromObject(t,c)}}else{var v=t in sq?sq[t]({model:e,channel:g,fieldOrDatumDef:I,scaleType:h,scalePadding:f,scalePaddingInner:d,domain:c.domain,markDef:o,config:r}):r.scale[t];void 0!==v&&u.set(t,v,!1)}}}catch(m){s.e(m)}finally{s.f()}}(e,t):cq(e,t)}var sq={bins:function(e){var t=e.model,A=e.fieldOrDatumDef;return DH(A)?function(e,t){var A=t.bin;if(VM(A)){var n=qW(e,t.field,A);return new LX((function(){return e.getSignalName(n)}))}if(KM(A)&&WM(A)&&void 0!==A.step)return{step:A.step};return}(t,A):void 0},interpolate:function(e){return function(e,t){if(c_([q_,z_,$_],e)&&"nominal"!==t)return"hcl";return}(e.channel,e.fieldOrDatumDef.type)},nice:function(e){return function(e,t,A,n){var r;if((null===(r=AY(n))||void 0===r?void 0:r.bin)||kU(A)||c_([WT,XT],e))return;return t in yM||void 0}(e.scaleType,e.channel,e.domain,e.fieldOrDatumDef)},padding:function(e){var t=e.channel,A=e.scaleType,n=e.fieldOrDatumDef,r=e.markDef,i=e.config;return function(e,t,A,n,r,i){if(e in yM){if(CZ(t)){if(void 0!==A.continuousPadding)return A.continuousPadding;var o=r.type,a=r.orient;if("bar"===o&&(!DH(n)||!n.bin&&!n.timeUnit)&&("vertical"===a&&"x"===e||"horizontal"===a&&"y"===e))return i.continuousBandSize}if(t===eZ)return A.pointPadding}return}(t,A,i.scale,n,r,i.bar)},paddingInner:function(e){var t=e.scalePadding,A=e.channel,n=e.markDef,r=e.config;return function(e,t,A,n){if(void 0!==e)return;if(t in yM){var r=n.bandPaddingInner,i=n.barBandPaddingInner,o=n.rectBandPaddingInner;return M_(r,"bar"===A?i:o)}return}(t,A,n.type,r.scale)},paddingOuter:function(e){var t=e.scalePadding,A=e.channel,n=e.scaleType,r=e.markDef,i=e.scalePaddingInner,o=e.config;return function(e,t,A,n,r,i){if(void 0!==e)return;if(t in yM){if(A===tZ)return M_(i.bandPaddingOuter,nO(r)?{signal:"".concat(r.signal,"/2")}:r/2)}return}(t,A,n,r.type,i,o.scale)},reverse:function(e){var t=e.fieldOrDatumDef,A=e.scaleType,n=e.channel,r=e.config;return function(e,t,A,n){if("x"===A&&void 0!==n.xReverse)return IZ(e)&&"descending"===t?nO(n.xReverse)?{signal:"!".concat(n.xReverse.signal)}:!n.xReverse:n.xReverse;if(IZ(e)&&"descending"===t)return!0;return}(A,DH(t)?t.sort:void 0,n,r.scale)},zero:function(e){return function(e,t,A,n,r){if(A&&"unaggregated"!==A&&IZ(r)){if(kU(A)){var i=A[0],o=A[A.length-1];if(i<=0&&o>=0)return!0}return!1}if("size"===e&&"quantitative"===t.type&&!hZ(r))return!0;if((!DH(t)||!t.bin)&&c_([].concat(Object(zn.a)(vM),Object(zn.a)(wM)),e)){var a=n.orient;return!c_(["bar","area","line","trail"],n.type)||!("horizontal"===a&&"y"===e||"vertical"===a&&"x"===e)}return!1}(e.channel,e.fieldOrDatumDef,e.domain,e.markDef,e.scaleType)}};function gq(e){fq(e)?function(e){var t,A=e.component.scales,n=Object(ut.a)(GM);try{for(n.s();!(t=n.n()).done;){var r=t.value,i=A[r];if(i){var o=rq(r,e);i.setWithExplicit("range",o)}}}catch(a){n.e(a)}finally{n.f()}}(e):cq(e,"range")}function cq(e,t){var A,n=e.component.scales,r=Object(ut.a)(e.children);try{for(r.s();!(A=r.n()).done;){var i=A.value;"range"===t?gq(i):aq(i,t)}}catch(I){r.e(I)}finally{r.f()}var o,a=Object(ut.a)(y_(n));try{for(a.s();!(o=a.n()).done;){var s,g=o.value,c=void 0,u=Object(ut.a)(e.children);try{for(u.s();!(s=u.n()).done;){var l=s.value.component.scales[g];if(l)c=sP(c,l.getWithExplicit(t),t,"scale",oP((function(e,A){switch(t){case"range":return e.step&&A.step?e.step-A.step:0}return 0})))}}catch(I){u.e(I)}finally{u.f()}n[g].setWithExplicit(t,c)}}catch(I){a.e(I)}finally{a.f()}}function uq(e,t,A,n){var r,i,o=function(e,t,A){var n;switch(t.type){case"nominal":case"ordinal":if(oM(e)||"discrete"===_M(e))return"shape"===e&&"ordinal"===t.type&&tT(B.discreteChannelCannotEncode(e,"ordinal")),"ordinal";if(e in yM){if(c_(["rect","bar","image","rule"],A.type))return"band"}else if("arc"===A.type&&e in bM)return"band";return JZ(A[pM(e)])||LH(t)&&(null===(n=t.axis)||void 0===n?void 0:n.tickBand)?"band":"point";case"temporal":return oM(e)?"time":"discrete"===_M(e)?(tT(B.discreteChannelCannotEncode(e,"temporal")),"ordinal"):DH(t)&&t.timeUnit&&ET(t.timeUnit).utc?"utc":"time";case"quantitative":return oM(e)?DH(t)&&VM(t.bin)?"bin-ordinal":"linear":"discrete"===_M(e)?(tT(B.discreteChannelCannotEncode(e,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(B.invalidFieldType(t.type))}(t,A,n),a=e.type;return kM(t)?void 0!==a?function(e,t){if(!kM(e))return!1;switch(e){case"x":case"y":case W_:case K_:return CZ(t)||c_(["band","point"],t);case"size":case"strokeWidth":case"opacity":case"fillOpacity":case"strokeOpacity":case"angle":return CZ(t)||hZ(t)||c_(["band","point","ordinal"],t);case q_:case z_:case $_:return"band"!==t;case"strokeDash":case eM:return"ordinal"===t||hZ(t)}}(t,a)?DH(A)&&(r=a,i=A.type,!(c_([OT,TT],i)?void 0===r||lZ(r):i===LT?c_([WT,XT,void 0],r):i!==MT||c_([jT,PT,VT,KT,qT,zT,$T,JT,void 0],r)))?(tT(B.scaleTypeNotWorkWithFieldDef(a,o)),o):a:(tT(B.scaleTypeNotWorkWithChannel(t,a,o)),o):o:null}function lq(e){fq(e)?e.component.scales=function(e){var t=e.encoding,A=e.mark,n=e.markDef;return GM.reduce((function(r,i){var o=nY(t[i]);if(o&&A===_Z&&i===eM&&o.type===ZT)return r;var a=o&&o.scale;if(o&&null!==a&&!1!==a){null!==a&&void 0!==a||(a={});var s=uq(a,i,o,n);r[i]=new eq(e.scaleName("".concat(i),!0),{value:s,explicit:a.type===s})}return r}),{})}(e):e.component.scales=function(e){var t,A,n,r=e.component.scales={},i={},o=e.component.resolve,a=Object(ut.a)(e.children);try{for(a.s();!(n=a.n()).done;){var s=n.value;lq(s);var g,c=Object(ut.a)(y_(s.component.scales));try{for(c.s();!(g=c.n()).done;){var u=g.value;if(null!==(t=(A=o.scale)[u])&&void 0!==t||(A[u]=vW(u,e)),"shared"===o.scale[u]){var l=i[u],I=s.component.scales[u].getWithExplicit("type");l?nZ(l.value,I.value)?i[u]=sP(l,I,"type","scale",Iq):(o.scale[u]="independent",delete i[u]):i[u]=I}}}catch(v){c.e(v)}finally{c.f()}}}catch(v){a.e(v)}finally{a.f()}var C,h=Object(ut.a)(y_(i));try{for(h.s();!(C=h.n()).done;){var f=C.value,d=e.scaleName(f,!0),B=i[f];r[f]=new eq(d,B);var p,E=Object(ut.a)(e.children);try{for(E.s();!(p=E.n()).done;){var Q=p.value,y=Q.component.scales[f];y&&(Q.renameScale(y.get("name"),d),y.merged=!0)}}catch(v){E.e(v)}finally{E.f()}}}catch(v){h.e(v)}finally{h.f()}return r}(e)}var Iq=oP((function(e,t){return iZ(e)-iZ(t)}));var Cq=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},hq=function(){function e(){Object(y.a)(this,e),this.nameMap={}}return Object(v.a)(e,[{key:"rename",value:function(e,t){this.nameMap[e]=t}},{key:"has",value:function(e){return void 0!==this.nameMap[e]}},{key:"get",value:function(e){for(;this.nameMap[e]&&e!==this.nameMap[e];)e=this.nameMap[e];return e}}]),e}();function fq(e){return"unit"===(null===e||void 0===e?void 0:e.type)}function dq(e){return"facet"===(null===e||void 0===e?void 0:e.type)}function Bq(e){return"concat"===(null===e||void 0===e?void 0:e.type)}function pq(e){return"layer"===(null===e||void 0===e?void 0:e.type)}var Eq=function(){function e(t,A,n,r,i,o,a){var s,g,c=this;Object(y.a)(this,e),this.type=A,this.parent=n,this.config=i,this.correctDataNames=function(e){var t,A,n;return(null===(t=e.from)||void 0===t?void 0:t.data)&&(e.from.data=c.lookupDataSource(e.from.data)),(null===(n=null===(A=e.from)||void 0===A?void 0:A.facet)||void 0===n?void 0:n.data)&&(e.from.facet.data=c.lookupDataSource(e.from.facet.data)),e},this.parent=n,this.config=i,this.view=$M(a),this.name=null!==(s=t.name)&&void 0!==s?s:r,this.title=AO(t.title)?{text:t.title}:t.title?$M(t.title):void 0,this.scaleNameMap=n?n.scaleNameMap:new hq,this.projectionNameMap=n?n.projectionNameMap:new hq,this.signalNameMap=n?n.signalNameMap:new hq,this.data=t.data,this.description=t.description,this.transforms=(null!==(g=t.transform)&&void 0!==g?g:[]).map((function(e){return Qj(e)?{filter:A_(e.filter,UT)}:e})),this.layout="layer"===A||"unit"===A?{}:function(e,t,A){var n,r,i=A[t],o={},a=i.spacing,s=i.columns;void 0!==a&&(o.spacing=a),void 0!==s&&(EH(e)&&!BH(e.facet)||fJ(e))&&(o.columns=s),dJ(e)&&(o.columns=1);var g,c=Object(ut.a)(QJ);try{for(c.s();!(g=c.n()).done;){var u=g.value;if(void 0!==e[u])if("spacing"===u){var l=e[u];o[u]=YU(l)?l:{row:null!==(n=l.row)&&void 0!==n?n:a,column:null!==(r=l.column)&&void 0!==r?r:a}}else o[u]=e[u]}}catch(I){c.e(I)}finally{c.f()}return o}(t,A,i),this.component={data:{sources:n?n.component.data.sources:[],outputNodes:n?n.component.data.outputNodes:{},outputNodeRefCounts:n?n.component.data.outputNodeRefCounts:{},isFaceted:EH(t)||n&&n.component.data.isFaceted&&void 0===t.data},layoutSize:new nP,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:Object.assign({scale:{},axis:{},legend:{}},o?r_(o):{}),selection:null,scales:null,projection:null,axes:{},legends:{}}}return Object(v.a)(e,[{key:"parse",value:function(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}},{key:"parseScale",value:function(){!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.ignoreRange;lq(e),ZX(e);var n,r=Object(ut.a)(pZ);try{for(r.s();!(n=r.n()).done;){var i=n.value;aq(e,i)}}catch(o){r.e(o)}finally{r.f()}A||gq(e)}(this)}},{key:"parseProjection",value:function(){VW(this)}},{key:"renameTopLevelLayoutSizeSignal",value:function(){"width"!==this.getName("width")&&this.renameSignal(this.getName("width"),"width"),"height"!==this.getName("height")&&this.renameSignal(this.getName("height"),"height")}},{key:"parseLegends",value:function(){MW(this)}},{key:"assembleEncodeFromView",value:function(e){e.style;var t,A=Cq(e,["style"]),n={},r=Object(ut.a)(y_(A));try{for(r.s();!(t=r.n()).done;){var i=t.value,o=A[i];void 0!==o&&(n[i]=IO(o))}}catch(a){r.e(a)}finally{r.f()}return n}},{key:"assembleGroupEncodeEntry",value:function(e){var t={};return this.view&&(t=this.assembleEncodeFromView(this.view)),e||(this.description&&(t.description=IO(this.description)),"unit"!==this.type&&"layer"!==this.type)?Q_(t)?void 0:t:Object.assign({width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height")},null!==t&&void 0!==t?t:{})}},{key:"assembleLayout",value:function(){if(this.layout){var e=this.layout,t=e.spacing,A=Cq(e,["spacing"]),n=this.component,r=this.config,i=function(e,t){var A,n={},r=Object(ut.a)(sM);try{for(r.s();!(A=r.n()).done;){var i=A.value,o=e[i];if(null===o||void 0===o?void 0:o.facetFieldDef){var a=rW(["titleAnchor","titleOrient"],o.facetFieldDef.header,t,i),s=a.titleAnchor,g=AW(i,a.titleOrient),c=hW(s,g);void 0!==c&&(n[g]=c)}}}catch(u){r.e(u)}finally{r.f()}return Q_(n)?void 0:n}(n.layoutHeaders,r);return Object.assign(Object.assign(Object.assign({padding:t},this.assembleDefaultLayout()),A),i?{titleBand:i}:{})}}},{key:"assembleDefaultLayout",value:function(){return{}}},{key:"assembleHeaderMarks",value:function(){var e,t=this.component.layoutHeaders,A=[],n=Object(ut.a)(sM);try{for(n.s();!(e=n.n()).done;){var r=e.value;t[r].title&&A.push(aW(this,r))}}catch(s){n.e(s)}finally{n.f()}var i,o=Object(ut.a)(iW);try{for(o.s();!(i=o.n()).done;){var a=i.value;A=A.concat(cW(this,a))}}catch(s){o.e(s)}finally{o.f()}return A}},{key:"assembleAxes",value:function(){return function(e,t){var A=e.x,n=void 0===A?[]:A,r=e.y,i=void 0===r?[]:r;return[].concat(Object(zn.a)(n.map((function(e){return YK(e,"grid",t)}))),Object(zn.a)(i.map((function(e){return YK(e,"grid",t)}))),Object(zn.a)(n.map((function(e){return YK(e,"main",t)}))),Object(zn.a)(i.map((function(e){return YK(e,"main",t)})))).filter((function(e){return e}))}(this.component.axes,this.config)}},{key:"assembleLegends",value:function(){return HW(this)}},{key:"assembleProjections",value:function(){return YW(this)}},{key:"assembleTitle",value:function(){var e,t,A,n=null!==(e=this.title)&&void 0!==e?e:{},r=n.encoding,i=Cq(n,["encoding"]),o=Object.assign(Object.assign(Object.assign({},tO(this.config.title).nonMarkTitleProperties),i),r?{encode:{update:r}}:{});if(o.text)return c_(["unit","layer"],this.type)?c_(["middle",void 0],o.anchor)&&(null!==(t=o.frame)&&void 0!==t||(o.frame="group")):null!==(A=o.anchor)&&void 0!==A||(o.anchor="start"),Q_(o)?void 0:o}},{key:"assembleGroup",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={};(e=e.concat(this.assembleSignals())).length>0&&(t.signals=e);var A=this.assembleLayout();A&&(t.layout=A),t.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());var n=!this.parent||dq(this.parent)?zX(this):[];n.length>0&&(t.scales=n);var r=this.assembleAxes();r.length>0&&(t.axes=r);var i=this.assembleLegends();return i.length>0&&(t.legends=i),t}},{key:"getName",value:function(e){return w_((this.name?"".concat(this.name,"_"):"")+e)}},{key:"getDataName",value:function(e){return this.getName(gP[e].toLowerCase())}},{key:"requestDataName",value:function(e){var t=this.getDataName(e),A=this.component.data.outputNodeRefCounts;return A[t]=(A[t]||0)+1,t}},{key:"getSizeSignalRef",value:function(e){if(dq(this.parent)){var t=SM(QW(e)),A=this.component.scales[t];if(A&&!A.merged){var n=A.get("type"),r=A.get("range");if(lZ(n)&&rO(r)){var i=A.get("name"),o=WX(XX(this,t));return o?{signal:EW(i,A,JH({aggregate:"distinct",field:o},{expr:"datum"}))}:(tT(B.unknownField(t)),null)}}}return{signal:this.signalNameMap.get(this.getName(e))}}},{key:"lookupDataSource",value:function(e){var t=this.component.data.outputNodes[e];return t?t.getSource():e}},{key:"getSignalName",value:function(e){return this.signalNameMap.get(e)}},{key:"renameSignal",value:function(e,t){this.signalNameMap.rename(e,t)}},{key:"renameScale",value:function(e,t){this.scaleNameMap.rename(e,t)}},{key:"renameProjection",value:function(e,t){this.projectionNameMap.rename(e,t)}},{key:"scaleName",value:function(e,t){return t?this.getName(e):IM(e)&&kM(e)&&this.component.scales[e]||this.scaleNameMap.has(this.getName(e))?this.scaleNameMap.get(this.getName(e)):void 0}},{key:"projectionName",value:function(e){return e?this.getName("projection"):this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection"))?this.projectionNameMap.get(this.getName("projection")):void 0}},{key:"getScaleComponent",value:function(e){if(!this.component.scales)throw new Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");var t=this.component.scales[e];return t&&!t.merged?t:this.parent?this.parent.getScaleComponent(e):void 0}},{key:"getSelectionComponent",value:function(e,t){var A=this.component.selection[e];if(!A&&this.parent&&(A=this.parent.getSelectionComponent(e,t)),!A)throw new Error(B.selectionNotFound(t));return A}},{key:"hasAxisOrientSignalRef",value:function(){var e,t;return(null===(e=this.component.axes.x)||void 0===e?void 0:e.some((function(e){return e.hasOrientSignalRef()})))||(null===(t=this.component.axes.y)||void 0===t?void 0:t.some((function(e){return e.hasOrientSignalRef()})))}},{key:"width",get:function(){return this.getSizeSignalRef("width")}},{key:"height",get:function(){return this.getSizeSignalRef("height")}}]),e}(),Qq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){return Object(y.a)(this,A),t.apply(this,arguments)}return Object(v.a)(A,[{key:"vgField",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=this.fieldDef(e);if(A)return JH(A,t)}},{key:"reduceFieldDef",value:function(e,t){return function(e,t,A,n){return e?y_(e).reduce((function(A,r){var i=e[r];return kU(i)?i.reduce((function(e,A){return t.call(n,e,A,r)}),A):t.call(n,A,i,r)}),A):A}(this.getMapping(),(function(t,A,n){var r=AY(A);return r?e(t,r,n):t}),t)}},{key:"forEachFieldDef",value:function(e,t){GY(this.getMapping(),(function(t,A){var n=AY(t);n&&e(n,A)}),t)}}]),A}(Eq),yq=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},vq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r,i,o,a;Object(y.a)(this,A),(r=t.call(this,e)).transform=n,r.transform=r_(n);var s=null!==(i=r.transform.as)&&void 0!==i?i:[void 0,void 0];return r.transform.as=[null!==(o=s[0])&&void 0!==o?o:"value",null!==(a=s[1])&&void 0!==a?a:"density"],r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.transform))}},{key:"dependentFields",value:function(){var e;return new Set([this.transform.density].concat(Object(zn.a)(null!==(e=this.transform.groupby)&&void 0!==e?e:[])))}},{key:"producedFields",value:function(){return new Set(this.transform.as)}},{key:"hash",value:function(){return"DensityTransform ".concat(s_(this.transform))}},{key:"assemble",value:function(){var e=this.transform,t=e.density,A=yq(e,["density"]);return Object.assign({type:"kde",field:t},A)}}]),A}(DP),mq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,e)).filter=n,r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,Object.assign({},this.filter))}},{key:"dependentFields",value:function(){return new Set(y_(this.filter))}},{key:"producedFields",value:function(){return new Set}},{key:"hash",value:function(){return"FilterInvalid ".concat(s_(this.filter))}},{key:"assemble",value:function(){var e=this,t=y_(this.filter).reduce((function(t,A){var n=e.filter[A],r=JH(n,{expr:"datum"});return null!==n&&("temporal"===n.type?t.push("(isDate(".concat(r,") || (isValid(").concat(r,") && isFinite(+").concat(r,")))")):"quantitative"===n.type&&(t.push("isValid(".concat(r,")")),t.push("isFinite(+".concat(r,")")))),t}),[]);return t.length>0?{type:"filter",expr:t.join(" && ")}:null}}],[{key:"make",value:function(e,t){var n=t.config,r=t.mark;if("filter"!==dO("invalid",t.markDef,n))return null;var i=t.reduceFieldDef((function(e,A,n){var i=kM(n)&&t.getScaleComponent(n);i&&(IZ(i.get("type"))&&"count"!==A.aggregate&&!MZ(r)&&(e[A.field]=A));return e}),{});return y_(i).length?new A(e,i):null}}]),A}(DP),bq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;Object(y.a)(this,A),(r=t.call(this,e)).transform=n,r.transform=r_(n);var i=r.transform,o=i.flatten,a=i.as,s=void 0===a?[]:a;return r.transform.as=o.map((function(e,t){var A;return null!==(A=s[t])&&void 0!==A?A:e})),r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(this.parent,r_(this.transform))}},{key:"dependentFields",value:function(){return new Set(this.transform.flatten)}},{key:"producedFields",value:function(){return new Set(this.transform.as)}},{key:"hash",value:function(){return"FlattenTransform ".concat(s_(this.transform))}},{key:"assemble",value:function(){var e=this.transform;return{type:"flatten",fields:e.flatten,as:e.as}}}]),A}(DP),wq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r,i,o,a;Object(y.a)(this,A),(r=t.call(this,e)).transform=n,r.transform=r_(n);var s=null!==(i=r.transform.as)&&void 0!==i?i:[void 0,void 0];return r.transform.as=[null!==(o=s[0])&&void 0!==o?o:"key",null!==(a=s[1])&&void 0!==a?a:"value"],r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.transform))}},{key:"dependentFields",value:function(){return new Set(this.transform.fold)}},{key:"producedFields",value:function(){return new Set(this.transform.as)}},{key:"hash",value:function(){return"FoldTransform ".concat(s_(this.transform))}},{key:"assemble",value:function(){var e=this.transform;return{type:"fold",fields:e.fold,as:e.as}}}]),A}(DP),Sq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n,r,i){var o;return Object(y.a)(this,A),(o=t.call(this,e)).fields=n,o.geojson=r,o.signal=i,o}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.fields),this.geojson,this.signal)}},{key:"dependentFields",value:function(){var e,t=(null!==(e=this.fields)&&void 0!==e?e:[]).filter(JU);return new Set([].concat(Object(zn.a)(this.geojson?[this.geojson]:[]),Object(zn.a)(t)))}},{key:"producedFields",value:function(){return new Set}},{key:"hash",value:function(){return"GeoJSON ".concat(this.geojson," ").concat(this.signal," ").concat(s_(this.fields))}},{key:"assemble",value:function(){return[].concat(Object(zn.a)(this.geojson?[{type:"filter",expr:'isValid(datum["'.concat(this.geojson,'"])')}]:[]),[Object.assign(Object.assign(Object.assign({type:"geojson"},this.fields?{fields:this.fields}:{}),this.geojson?{geojson:this.geojson}:{}),{signal:this.signal})])}}],[{key:"parseAll",value:function(e,t){if(t.component.projection&&!t.component.projection.isFit)return e;for(var n=0,r=0,i=[["longitude","latitude"],["longitude2","latitude2"]];r<i.length;r++){var o=i[r].map((function(e){var A=nY(t.encoding[e]);return DH(A)?A.field:kH(A)?{expr:"".concat(A.datum)}:MH(A)?{expr:"".concat(A.value)}:void 0}));(o[0]||o[1])&&(e=new A(e,o,null,t.getName("geojson_".concat(n++))))}if(t.channelHasField(eM)){var a=t.typedFieldDef(eM);a.type===ZT&&(e=new A(e,null,a.field,t.getName("geojson_".concat(n++))))}return e}}]),A}(DP),Fq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n,r,i){var o;return Object(y.a)(this,A),(o=t.call(this,e)).projection=n,o.fields=r,o.as=i,o}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,this.projection,r_(this.fields),r_(this.as))}},{key:"dependentFields",value:function(){return new Set(this.fields.filter(JU))}},{key:"producedFields",value:function(){return new Set(this.as)}},{key:"hash",value:function(){return"Geopoint ".concat(this.projection," ").concat(s_(this.fields)," ").concat(s_(this.as))}},{key:"assemble",value:function(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}}],[{key:"parseAll",value:function(e,t){if(!t.projectionName())return e;for(var n=0,r=[["longitude","latitude"],["longitude2","latitude2"]];n<r.length;n++){var i=r[n],o=i.map((function(e){var A=nY(t.encoding[e]);return DH(A)?A.field:kH(A)?{expr:"".concat(A.datum)}:MH(A)?{expr:"".concat(A.value)}:void 0})),a="longitude2"===i[0]?"2":"";(o[0]||o[1])&&(e=new A(e,t.projectionName(),o,[t.getName("x".concat(a)),t.getName("y".concat(a))]))}return e}}]),A}(DP),Rq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,e)).transform=n,r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.transform))}},{key:"dependentFields",value:function(){var e;return new Set([this.transform.impute,this.transform.key].concat(Object(zn.a)(null!==(e=this.transform.groupby)&&void 0!==e?e:[])))}},{key:"producedFields",value:function(){return new Set([this.transform.impute])}},{key:"processSequence",value:function(e){var t=e.start,A=void 0===t?0:t,n=e.stop,r=e.step,i=[A,n].concat(Object(zn.a)(r?[r]:[])).join(",");return{signal:"sequence(".concat(i,")")}}},{key:"hash",value:function(){return"Impute ".concat(s_(this.transform))}},{key:"assemble",value:function(){var e,t=this.transform,A=t.impute,n=t.key,r=t.keyvals,i=t.method,o=t.groupby,a=t.value,s=t.frame,g=void 0===s?[null,null]:s,c=Object.assign(Object.assign(Object.assign(Object.assign({type:"impute",field:A,key:n},r?{keyvals:(e=r,void 0!==(null===e||void 0===e?void 0:e.stop)?this.processSequence(r):r)}:{}),{method:"value"}),o?{groupby:o}:{}),{value:i&&"value"!==i?null:a});return i&&"value"!==i?[c,Object.assign({type:"window",as:["imputed_".concat(A,"_value")],ops:[i],fields:[A],frame:g,ignorePeers:!1},o?{groupby:o}:{}),{type:"formula",expr:"datum.".concat(A," === null ? datum.imputed_").concat(A,"_value : datum.").concat(A),as:A}]:[c]}}],[{key:"makeFromTransform",value:function(e,t){return new A(e,t)}},{key:"makeFromEncoding",value:function(e,t){var n=t.encoding,r=n.x,i=n.y;if(DH(r)&&DH(i)){var o=r.impute?r:i.impute?i:void 0;if(void 0===o)return;var a=r.impute?i:i.impute?r:void 0,s=o.impute,g=s.method,c=s.value,u=s.frame,l=s.keyvals,I=kY(t.mark,n);return new A(e,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({impute:o.field,key:a.field},g?{method:g}:{}),void 0!==c?{value:c}:{}),u?{frame:u}:{}),void 0!==l?{keyvals:l}:{}),I.length?{groupby:I}:{}))}return null}}]),A}(DP),Dq=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},Gq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r,i,o,a;Object(y.a)(this,A),(r=t.call(this,e)).transform=n,r.transform=r_(n);var s=null!==(i=r.transform.as)&&void 0!==i?i:[void 0,void 0];return r.transform.as=[null!==(o=s[0])&&void 0!==o?o:n.on,null!==(a=s[1])&&void 0!==a?a:n.loess],r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.transform))}},{key:"dependentFields",value:function(){var e;return new Set([this.transform.loess,this.transform.on].concat(Object(zn.a)(null!==(e=this.transform.groupby)&&void 0!==e?e:[])))}},{key:"producedFields",value:function(){return new Set(this.transform.as)}},{key:"hash",value:function(){return"LoessTransform ".concat(s_(this.transform))}},{key:"assemble",value:function(){var e=this.transform,t=e.loess,A=e.on,n=Dq(e,["loess","on"]);return Object.assign({type:"loess",x:A,y:t},n)}}]),A}(DP),kq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n,r){var i;return Object(y.a)(this,A),(i=t.call(this,e)).transform=n,i.secondary=r,i}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.transform),this.secondary)}},{key:"dependentFields",value:function(){return new Set([this.transform.lookup])}},{key:"producedFields",value:function(){return new Set(this.transform.as?OU(this.transform.as):this.transform.from.fields)}},{key:"hash",value:function(){return"Lookup ".concat(s_({transform:this.transform,secondary:this.secondary}))}},{key:"assemble",value:function(){var e;if(this.transform.from.fields)e=Object.assign({values:this.transform.from.fields},this.transform.as?{as:OU(this.transform.as)}:{});else{var t=this.transform.as;JU(t)||(tT(B.NO_FIELDS_NEEDS_AS),t="_lookup"),e={as:[t]}}return Object.assign(Object.assign({type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup]},e),this.transform.default?{default:this.transform.default}:{})}}],[{key:"make",value:function(e,t,n,r){var i=t.component.data.sources,o=n.from,a=null;if(function(e){return"data"in e}(o)){var s=Wq(o.data,i);s||(s=new lX(o.data),i.push(s));var g=t.getName("lookup_".concat(r));a=new GP(s,g,gP.Lookup,t.component.data.outputNodeRefCounts),t.component.data.outputNodes[g]=a}else if(function(e){return"param"in e}(o)){var c,u=o.param;n=Object.assign({as:u},n);try{c=t.getSelectionComponent(w_(u),u)}catch(l){throw new Error(B.cannotLookupVariableParameter(u))}if(!(a=c.materialized))throw new Error(B.noSameUnitLookup(u))}return new A(e,n,a.getSource())}}]),A}(DP),xq=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},Nq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r,i,o,a;Object(y.a)(this,A),(r=t.call(this,e)).transform=n,r.transform=r_(n);var s=null!==(i=r.transform.as)&&void 0!==i?i:[void 0,void 0];return r.transform.as=[null!==(o=s[0])&&void 0!==o?o:"prob",null!==(a=s[1])&&void 0!==a?a:"value"],r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.transform))}},{key:"dependentFields",value:function(){var e;return new Set([this.transform.quantile].concat(Object(zn.a)(null!==(e=this.transform.groupby)&&void 0!==e?e:[])))}},{key:"producedFields",value:function(){return new Set(this.transform.as)}},{key:"hash",value:function(){return"QuantileTransform ".concat(s_(this.transform))}},{key:"assemble",value:function(){var e=this.transform,t=e.quantile,A=xq(e,["quantile"]);return Object.assign({type:"quantile",field:t},A)}}]),A}(DP),Uq=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A},_q=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r,i,o,a;Object(y.a)(this,A),(r=t.call(this,e)).transform=n,r.transform=r_(n);var s=null!==(i=r.transform.as)&&void 0!==i?i:[void 0,void 0];return r.transform.as=[null!==(o=s[0])&&void 0!==o?o:n.on,null!==(a=s[1])&&void 0!==a?a:n.regression],r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.transform))}},{key:"dependentFields",value:function(){var e;return new Set([this.transform.regression,this.transform.on].concat(Object(zn.a)(null!==(e=this.transform.groupby)&&void 0!==e?e:[])))}},{key:"producedFields",value:function(){return new Set(this.transform.as)}},{key:"hash",value:function(){return"RegressionTransform ".concat(s_(this.transform))}},{key:"assemble",value:function(){var e=this.transform,t=e.regression,A=e.on,n=Uq(e,["regression","on"]);return Object.assign({type:"regression",x:A,y:t},n)}}]),A}(DP),Mq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,e)).transform=n,r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.transform))}},{key:"addDimensions",value:function(e){var t;this.transform.groupby=h_((null!==(t=this.transform.groupby)&&void 0!==t?t:[]).concat(e),(function(e){return e}))}},{key:"producedFields",value:function(){}},{key:"dependentFields",value:function(){var e;return new Set([this.transform.pivot,this.transform.value].concat(Object(zn.a)(null!==(e=this.transform.groupby)&&void 0!==e?e:[])))}},{key:"hash",value:function(){return"PivotTransform ".concat(s_(this.transform))}},{key:"assemble",value:function(){var e=this.transform,t=e.pivot,A=e.value,n=e.groupby,r=e.limit,i=e.op;return Object.assign(Object.assign(Object.assign({type:"pivot",field:t,value:A},void 0!==r?{limit:r}:{}),void 0!==i?{op:i}:{}),void 0!==n?{groupby:n}:{})}}]),A}(DP),Oq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n){var r;return Object(y.a)(this,A),(r=t.call(this,e)).transform=n,r}return Object(v.a)(A,[{key:"clone",value:function(){return new A(null,r_(this.transform))}},{key:"dependentFields",value:function(){return new Set}},{key:"producedFields",value:function(){return new Set}},{key:"hash",value:function(){return"SampleTransform ".concat(s_(this.transform))}},{key:"assemble",value:function(){return{type:"sample",size:this.transform.sample}}}]),A}(DP);function Lq(e){var t=0;return function A(n,r){var i,o,a,s;if(n instanceof lX&&(n.isGenerator||uP(n.data)||(e.push(r),r={name:null,source:r.name,transform:[]})),n instanceof sX&&(n.parent instanceof lX&&!r.source?(r.format=Object.assign(Object.assign({},null!==(i=r.format)&&void 0!==i?i:{}),{parse:n.assembleFormatParse()}),(o=r.transform).push.apply(o,Object(zn.a)(n.assembleTransforms(!0)))):(a=r.transform).push.apply(a,Object(zn.a)(n.assembleTransforms()))),n instanceof AX)return r.name||(r.name="data_".concat(t++)),!r.source||r.transform.length>0?(e.push(r),n.data=r.name):n.data=r.source,void e.push.apply(e,Object(zn.a)(n.assemble()));if((n instanceof cX||n instanceof uX||n instanceof mq||n instanceof _K||n instanceof eW||n instanceof Fq||n instanceof tX||n instanceof kq||n instanceof kX||n instanceof DX||n instanceof wq||n instanceof bq||n instanceof vq||n instanceof Gq||n instanceof Nq||n instanceof _q||n instanceof gX||n instanceof Oq||n instanceof Mq)&&r.transform.push(n.assemble()),(n instanceof $W||n instanceof xP||n instanceof Rq||n instanceof GX||n instanceof Sq)&&(s=r.transform).push.apply(s,Object(zn.a)(n.assemble())),n instanceof GP)if(r.source&&0===r.transform.length)n.setSource(r.source);else if(n.parent instanceof GP)n.setSource(r.name);else{if(r.name||(r.name="data_".concat(t++)),n.setSource(r.name),1===n.numChildren())e.push(r),r={name:null,source:r.name,transform:[]}}switch(n.numChildren()){case 0:n instanceof GP&&(!r.source||r.transform.length>0)&&e.push(r);break;case 1:A(n.children[0],r);break;default:r.name||(r.name="data_".concat(t++));var g=r.name;!r.source||r.transform.length>0?e.push(r):g=r.source;var c,u=Object(ut.a)(n.children);try{for(u.s();!(c=u.n()).done;){A(c.value,{name:null,source:g,transform:[]})}}catch(l){u.e(l)}finally{u.f()}}}}function Tq(e,t){var A,n,r,i=[],o=Lq(i),a=0,s=Object(ut.a)(e.sources);try{for(s.s();!(r=s.n()).done;){var g=r.value;g.hasName()||(g.dataName="source_".concat(a++));var c=g.assemble();o(g,c)}}catch(R){s.e(R)}finally{s.f()}for(var u=0,l=i;u<l.length;u++){var I=l[u];0===I.transform.length&&delete I.transform}var C,h=0,f=Object(ut.a)(i.entries());try{for(f.s();!(C=f.n()).done;){var d=Object(lt.a)(C.value,2),B=d[0],p=d[1];0!==(null!==(A=p.transform)&&void 0!==A?A:[]).length||p.source||i.splice(h++,0,i.splice(B,1)[0])}}catch(R){f.e(R)}finally{f.f()}for(var E=0,Q=i;E<Q.length;E++){var y,v=Q[E],m=Object(ut.a)(null!==(n=v.transform)&&void 0!==n?n:[]);try{for(m.s();!(y=m.n()).done;){var b=y.value;"lookup"===b.type&&(b.from=e.outputNodes[b.from].getSource())}}catch(R){m.e(R)}finally{m.f()}}for(var w=0,S=i;w<S.length;w++){var F=S[w];F.name in t&&(F.values=t[F.name])}return i}function Zq(e,t){var A,n=e.facet,r=e.config,i=e.child,o=e.component;if(e.channelHasField(t)){var a=n[t],s=nW("title",null,r,t),g=qH(a,r,{allowDisabling:!0,includeDefault:void 0===s||!!s});i.component.layoutHeaders[t].title&&(g=kU(g)?g.join(", "):g,g+=" / ".concat(i.component.layoutHeaders[t].title),i.component.layoutHeaders[t].title=null);var c=nW("labelOrient",a.header,r,t),u=null!==a.header&&M_(null===(A=a.header)||void 0===A?void 0:A.labels,r.header.labels,!0),l=c_(["bottom","right"],c)?"footer":"header";o.layoutHeaders[t]=Object($n.a)({title:null!==a.header?g:null,facetFieldDef:a},l,"facet"===t?[]:[Hq(e,t,u)])}}function Hq(e,t,A){var n="row"===t?"height":"width";return{labels:A,sizeSignal:e.child.component.layoutSize.get(n)?e.child.getSizeSignalRef(n):void 0,axes:[]}}function Yq(e,t){var A,n,r=e.child;if(r.component.axes[t]){var i=e.component,o=i.layoutHeaders,a=i.resolve;if(a.axis[t]=mW(a,t),"shared"===a.axis[t]){var s,g="x"===t?"column":"row",c=o[g],u=Object(ut.a)(r.component.axes[t]);try{for(u.s();!(s=u.n()).done;){var l=s.value,I="top"===(n=l.get("orient"))||"left"===n||nO(n)?"header":"footer";null!==(A=c[I])&&void 0!==A||(c[I]=[Hq(e,g,!1)]);var C=YK(l,"main",e.config,{header:!0});C&&c[I][0].axes.push(C),l.mainExtracted=!0}}catch(h){u.e(h)}finally{u.f()}}}}function Jq(e){var t,A=Object(ut.a)(e.children);try{for(A.s();!(t=A.n()).done;){t.value.parseLayoutSize()}}catch(n){A.e(n)}finally{A.f()}}function jq(e,t){var A,n,r,i=QW(t),o=SM(i),a=e.component.resolve,s=e.component.layoutSize,g=Object(ut.a)(e.children);try{for(g.s();!(r=g.n()).done;){var c=r.value.component.layoutSize.getWithExplicit(i),u=null!==(A=a.scale[o])&&void 0!==A?A:vW(o,e);if("independent"===u&&"step"===c.value){n=void 0;break}if(n){if("independent"===u&&n.value!==c.value){n=void 0;break}n=sP(n,c,i,"")}else n=c}}catch(h){g.e(h)}finally{g.f()}if(n){var l,I=Object(ut.a)(e.children);try{for(I.s();!(l=I.n()).done;){var C=l.value;e.renameSignal(C.getName(i),e.getName(t)),C.component.layoutSize.set(i,"merged",!1)}}catch(h){I.e(h)}finally{I.f()}s.setWithExplicit(t,n)}else s.setWithExplicit(t,{explicit:!1,value:void 0})}function Pq(e,t){var A="width"===t?"x":"y",n=e.config,r=e.getScaleComponent(A);if(r){var i=r.get("type"),o=r.get("range");if(lZ(i)){var a=bJ(n.view,t);return rO(o)||pJ(a)?"step":a}return vJ(n.view,t)}if(e.hasProjection||"arc"===e.mark)return vJ(n.view,t);var s=bJ(n.view,t);return pJ(s)?s.step:s}function Vq(e,t,A){return JH(t,Object.assign({suffix:"by_".concat(JH(e))},null!==A&&void 0!==A?A:{}))}var Kq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n,r,i){var o;return Object(y.a)(this,A),(o=t.call(this,e,"facet",n,r,i,e.resolve)).child=Qz(e.spec,Object(m.a)(o),o.getName("child"),void 0,i),o.children=[o.child],o.facet=o.initFacet(e.facet),o}return Object(v.a)(A,[{key:"initFacet",value:function(e){if(!BH(e))return{facet:this.initFacetFieldDef(e,"facet")};var t,A=y_(e),n={},r=Object(ut.a)(A);try{for(r.s();!(t=r.n()).done;){var i=t.value;if(![P_,V_].includes(i)){tT(B.incompatibleChannel(i,"facet"));break}var o=e[i];if(void 0===o.field){tT(B.emptyFieldDef(o,i));break}n[i]=this.initFacetFieldDef(o,i)}}catch(a){r.e(a)}finally{r.f()}return n}},{key:"initFacetFieldDef",value:function(e,t){var A=oY(e,t);return A.header?A.header=$M(A.header):null===A.header&&(A.header=null),A}},{key:"channelHasField",value:function(e){return!!this.facet[e]}},{key:"fieldDef",value:function(e){return this.facet[e]}},{key:"parseData",value:function(){this.component.data=Xq(this),this.child.parseData()}},{key:"parseLayoutSize",value:function(){Jq(this)}},{key:"parseSelections",value:function(){this.child.parseSelections(),this.component.selection=this.child.component.selection}},{key:"parseMarkGroup",value:function(){this.child.parseMarkGroup()}},{key:"parseAxesAndHeaders",value:function(){this.child.parseAxesAndHeaders(),function(e){var t,A=Object(ut.a)(sM);try{for(A.s();!(t=A.n()).done;){Zq(e,t.value)}}catch(n){A.e(n)}finally{A.f()}Yq(e,"x"),Yq(e,"y")}(this)}},{key:"assembleSelectionTopLevelSignals",value:function(e){return this.child.assembleSelectionTopLevelSignals(e)}},{key:"assembleSignals",value:function(){return this.child.assembleSignals(),[]}},{key:"assembleSelectionData",value:function(e){return this.child.assembleSelectionData(e)}},{key:"getHeaderLayoutMixins",value:function(){var e,t,A,n,r={},i=Object(ut.a)(sM);try{for(i.s();!(n=i.n()).done;){var o,a=n.value,s=Object(ut.a)(oW);try{for(s.s();!(o=s.n()).done;){var g=o.value,c=this.component.layoutHeaders[a],u=c[g],l=c.facetFieldDef;if(l){var I=nW("titleOrient",l.header,this.config,a);if(["right","bottom"].includes(I)){var C=AW(a,I);null!==(e=r.titleAnchor)&&void 0!==e||(r.titleAnchor={}),r.titleAnchor[C]="end"}}if(null===u||void 0===u?void 0:u[0]){var h="row"===a?"height":"width",f="header"===g?"headerBand":"footerBand";"facet"===a||this.child.component.layoutSize.get(h)||(null!==(t=r[f])&&void 0!==t||(r[f]={}),r[f][a]=.5),c.title&&(null!==(A=r.offset)&&void 0!==A||(r.offset={}),r.offset["row"===a?"rowTitle":"columnTitle"]=10)}}}catch(d){s.e(d)}finally{s.f()}}}catch(d){i.e(d)}finally{i.f()}return r}},{key:"assembleDefaultLayout",value:function(){var e=this.facet,t=e.column,A=e.row,n=t?this.columnDistinctSignal():A?1:void 0,r="all";return(A||"independent"!==this.component.resolve.scale.x)&&(t||"independent"!==this.component.resolve.scale.y)||(r="none"),Object.assign(Object.assign(Object.assign({},this.getHeaderLayoutMixins()),n?{columns:n}:{}),{bounds:"full",align:r})}},{key:"assembleLayoutSignals",value:function(){return this.child.assembleLayoutSignals()}},{key:"columnDistinctSignal",value:function(){if(!(this.parent&&this.parent instanceof A)){var e=this.getName("column_domain");return{signal:"length(data('".concat(e,"'))")}}}},{key:"assembleGroupStyle",value:function(){}},{key:"assembleGroup",value:function(e){return this.parent&&this.parent instanceof A?Object.assign(Object.assign({},this.channelHasField("column")?{encode:{update:{columns:{field:JH(this.facet.column,{prefix:"distinct"})}}}}:{}),Object(jJ.a)(Object(JJ.a)(A.prototype),"assembleGroup",this).call(this,e)):Object(jJ.a)(Object(JJ.a)(A.prototype),"assembleGroup",this).call(this,e)}},{key:"getCardinalityAggregateForChild",value:function(){var e=[],t=[],n=[];if(this.child instanceof A){if(this.child.channelHasField("column")){var r=JH(this.child.facet.column);e.push(r),t.push("distinct"),n.push("distinct_".concat(r))}}else{var i,o=Object(ut.a)(vM);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=this.child.component.scales[a];if(s&&!s.merged){var g=s.get("type"),c=s.get("range");if(lZ(g)&&rO(c)){var u=WX(XX(this.child,a));u?(e.push(u),t.push("distinct"),n.push("distinct_".concat(u))):tT(B.unknownField(a))}}}}catch(l){o.e(l)}finally{o.f()}}return{fields:e,ops:t,as:n}}},{key:"assembleFacet",value:function(){var e,t=this.component.data.facetRoot,A=t.name,n=t.data,r=this.facet,i=r.row,o=r.column,a=this.getCardinalityAggregateForChild(),s=a.fields,g=a.ops,c=a.as,u=[],l=Object(ut.a)(sM);try{for(l.s();!(e=l.n()).done;){var I=e.value,C=this.facet[I];if(C){u.push(JH(C));var h=C.bin,f=C.sort;if(VM(h)&&u.push(JH(C,{binSuffix:"end"})),fH(f)){var d=f.field,B=f.op,p=void 0===B?"min":B,E=Vq(C,f);i&&o?(s.push(E),g.push("max"),c.push(E)):(s.push(d),g.push(p),c.push(E))}else if(kU(f)){var Q=tW(C,I);s.push(Q),g.push("max"),c.push(Q)}}}}catch(v){l.e(v)}finally{l.f()}var y=!!i&&!!o;return Object.assign({name:A,data:n,groupby:u},y||s.length>0?{aggregate:Object.assign(Object.assign({},y?{cross:y}:{}),s.length?{fields:s,ops:g,as:c}:{})}:{})}},{key:"facetSortFields",value:function(e){var t=this.facet[e];return t?fH(t.sort)?[Vq(t,t.sort,{expr:"datum"})]:kU(t.sort)?[tW(t,e,{expr:"datum"})]:[JH(t,{expr:"datum"})]:[]}},{key:"facetSortOrder",value:function(e){var t=this.facet[e];if(t){var A=t.sort;return[(fH(A)?A.order:!kU(A)&&A)||"ascending"]}return[]}},{key:"assembleLabelTitle",value:function(){var e,t=this.facet,A=this.config;if(t.facet)return lW(t.facet,"facet",A);var n,r={row:["top","bottom"],column:["left","right"]},i=Object(ut.a)(iW);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(t[o]){var a=nW("labelOrient",null===(e=t[o])||void 0===e?void 0:e.header,A,o);if(r[o].includes(a))return lW(t[o],o,A)}}}catch(s){i.e(s)}finally{i.f()}}},{key:"assembleMarks",value:function(){var e=this,t=this.child,A=function(e){var t,A=[],n=Lq(A),r=Object(ut.a)(e.children);try{for(r.s();!(t=r.n()).done;){n(t.value,{source:e.name,name:null,transform:[]})}}catch(i){r.e(i)}finally{r.f()}return A}(this.component.data.facetRoot),n=t.assembleGroupEncodeEntry(!1),r=this.assembleLabelTitle()||t.assembleTitle(),i=t.assembleGroupStyle();return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:this.getName("cell"),type:"group"},r?{title:r}:{}),i?{style:i}:{}),{from:{facet:this.assembleFacet()},sort:{field:sM.map((function(t){return e.facetSortFields(t)})).flat(),order:sM.map((function(t){return e.facetSortOrder(t)})).flat()}}),A.length>0?{data:A}:{}),n?{encode:{update:n}}:{}),t.assembleGroup(function(e,t){if(e.component.selection&&y_(e.component.selection).length){var A=jU(e.getName("cell"));t.unshift({name:"facet",value:{},on:[{events:yP("mousemove","scope"),update:"isTuple(facet) ? facet : group(".concat(A,").datum")}]})}return RP(t)}(this,[])))]}},{key:"getMapping",value:function(){return this.facet}}]),A}(Qq);function Wq(e,t){var A,n,r,i,o,a=Object(ut.a)(t);try{for(a.s();!(o=a.n()).done;){var s=o.value,g=s.data;if(!e.name||!s.hasName()||e.name===s.dataName){var c=null===(A=e.format)||void 0===A?void 0:A.mesh,u=null===(n=g.format)||void 0===n?void 0:n.feature;if(!c||!u){var l=null===(r=e.format)||void 0===r?void 0:r.feature;if(!l&&!u||l===u){var I=null===(i=g.format)||void 0===i?void 0:i.mesh;if(!c&&!I||c===I)if(lP(e)&&lP(g)){if(n_(e.values,g.values))return s}else if(uP(e)&&uP(g)){if(e.url===g.url)return s}else if(IP(e)&&e.name===s.dataName)return s}}}}}catch(C){a.e(C)}finally{a.f()}return null}function Xq(e){var t,A,n,r,i,o,a,s,g,c,u=function(e,t){if(e.data||!e.parent){if(null===e.data){var A=new lX({values:[]});return t.push(A),A}var n=Wq(e.data,t);if(n)return CP(e.data)||(n.data.format=I_({},e.data.format,n.data.format)),!n.hasName()&&e.data.name&&(n.dataName=e.data.name),n;var r=new lX(e.data);return t.push(r),r}return e.parent.component.data.facetRoot?e.parent.component.data.facetRoot:e.parent.component.data.main}(e,e.component.data.sources),l=e.component.data,I=l.outputNodes,C=l.outputNodeRefCounts,h=e.data,f=!(h&&(CP(h)||uP(h)||lP(h)))&&e.parent?e.parent.component.data.ancestorParse.clone():new cP;CP(h)?(hP(h)?u=new uX(u,h.sequence):dP(h)&&(u=new cX(u,h.graticule)),f.parseNothing=!0):null===(null===(t=null===h||void 0===h?void 0:h.format)||void 0===t?void 0:t.parse)&&(f.parseNothing=!0),u=null!==(A=sX.makeExplicit(u,e,f))&&void 0!==A?A:u,u=new gX(u);var d=e.parent&&pq(e.parent);(fq(e)||dq(e))&&d&&(u=null!==(n=$W.makeFromEncoding(u,e))&&void 0!==n?n:u),e.transforms.length>0&&(u=function(e,t,A){var n,r,i,o=0,a=Object(ut.a)(t.transforms);try{for(a.s();!(i=a.n()).done;){var s=i.value,g=void 0,c=void 0;if(kj(s))c=e=new eW(e,s),g="derived";else if(Qj(s)){var u=iX(s);c=e=null!==(n=sX.makeWithAncestors(e,{},u,A))&&void 0!==n?n:e,e=new _K(e,t,s.filter)}else if(xj(s))c=e=$W.makeFromTransform(e,s,t),g="number";else if(Uj(s)){g="date",void 0===A.getWithExplicit(s.field).value&&(e=new sX(e,Object($n.a)({},s.field,g)),A.set(s.field,g,!1)),c=e=xP.makeFromTransform(e,s)}else if(_j(s))c=e=tX.makeFromTransform(e,s),g="number",NV(t)&&(e=new gX(e));else if(yj(s))c=e=kq.make(e,t,s,o++),g="derived";else if(Rj(s))c=e=new kX(e,s),g="number";else if(Dj(s))c=e=new DX(e,s),g="number";else if(Mj(s))c=e=GX.makeFromTransform(e,s),g="derived";else if(Oj(s))c=e=new wq(e,s),g="derived";else if(Gj(s))c=e=new bq(e,s),g="derived";else if(vj(s))c=e=new Mq(e,s),g="derived";else if(Fj(s))e=new Oq(e,s);else if(Nj(s))c=e=Rq.makeFromTransform(e,s),g="derived";else if(mj(s))c=e=new vq(e,s),g="derived";else if(bj(s))c=e=new Nq(e,s),g="derived";else if(wj(s))c=e=new _q(e,s),g="derived";else{if(!Sj(s)){tT(B.invalidTransformIgnored(s));continue}c=e=new Gq(e,s),g="derived"}if(c&&void 0!==g){var l,I=Object(ut.a)(null!==(r=c.producedFields())&&void 0!==r?r:[]);try{for(I.s();!(l=I.n()).done;){var C=l.value;A.set(C,g,!1)}}catch(h){I.e(h)}finally{I.f()}}}}catch(h){a.e(h)}finally{a.f()}return e}(u,e,f));var p=function(e){var t={};if(fq(e)&&e.component.selection){var A,n=Object(ut.a)(y_(e.component.selection));try{for(n.s();!(A=n.n()).done;){var r,i=A.value,o=e.component.selection[i],a=Object(ut.a)(o.project.items);try{for(a.s();!(r=a.n()).done;){var s=r.value;!s.channel&&__(s.field)>1&&(t[s.field]="flatten")}}catch(g){a.e(g)}finally{a.f()}}}catch(g){n.e(g)}finally{n.f()}}return t}(e),E=oX(e);u=null!==(r=sX.makeWithAncestors(u,{},Object.assign(Object.assign({},p),E),f))&&void 0!==r?r:u,fq(e)&&(u=Sq.parseAll(u,e),u=Fq.parseAll(u,e)),(fq(e)||dq(e))&&(d||(u=null!==(i=$W.makeFromEncoding(u,e))&&void 0!==i?i:u),u=null!==(o=xP.makeFromEncoding(u,e))&&void 0!==o?o:u,u=eW.parseAllForSortIndex(u,e));var Q=e.getDataName(gP.Raw),y=new GP(u,Q,gP.Raw,C);if(I[Q]=y,u=y,fq(e)){var v=tX.makeFromEncoding(u,e);v&&(u=v,NV(e)&&(u=new gX(u))),u=null!==(a=Rq.makeFromEncoding(u,e))&&void 0!==a?a:u,u=null!==(s=GX.makeFromEncoding(u,e))&&void 0!==s?s:u}fq(e)&&(u=null!==(g=mq.make(u,e))&&void 0!==g?g:u);var m=e.getDataName(gP.Main),b=new GP(u,m,gP.Main,C);I[m]=b,u=b,fq(e)&&function(e,t){var A,n,r=Object(ut.a)(m_(null!==(A=e.component.selection)&&void 0!==A?A:{}));try{for(r.s();!(n=r.n()).done;){var i=Object(lt.a)(n.value,2),o=i[0],a=i[1],s=e.getName("lookup_".concat(o));e.component.data.outputNodes[s]=a.materialized=new GP(new _K(t,e,{param:o}),s,gP.Lookup,e.component.data.outputNodeRefCounts)}}catch(g){r.e(g)}finally{r.f()}}(e,b);var w=null;if(dq(e)){var S=e.getName("facet");u=null!==(c=function(e,t){var A=t.row,n=t.column;if(A&&n){for(var r=null,i=0,o=[A,n];i<o.length;i++){var a=o[i];if(fH(a.sort)){var s=a.sort,g=s.field,c=s.op;e=r=new DX(e,{joinaggregate:[{op:void 0===c?"min":c,field:g,as:Vq(a,a.sort,{forAs:!0})}],groupby:[JH(a)]})}}return r}return null}(u,e.facet))&&void 0!==c?c:u,w=new AX(u,e,S,b.getSource()),I[S]=w}return Object.assign(Object.assign({},e.component.data),{outputNodes:I,outputNodeRefCounts:C,raw:y,main:b,facetRoot:w,ancestorParse:f})}var qq=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n,r,i){var o,a,s,g,c;return Object(y.a)(this,A),o=t.call(this,e,"concat",n,r,i,e.resolve),"shared"!==(null===(s=null===(a=e.resolve)||void 0===a?void 0:a.axis)||void 0===s?void 0:s.x)&&"shared"!==(null===(c=null===(g=e.resolve)||void 0===g?void 0:g.axis)||void 0===c?void 0:c.y)||tT(B.CONCAT_CANNOT_SHARE_AXIS),o.children=o.getChildren(e).map((function(e,t){return Qz(e,Object(m.a)(o),o.getName("concat_".concat(t)),void 0,i)})),o}return Object(v.a)(A,[{key:"parseData",value:function(){this.component.data=Xq(this);var e,t=Object(ut.a)(this.children);try{for(t.s();!(e=t.n()).done;){e.value.parseData()}}catch(A){t.e(A)}finally{t.f()}}},{key:"parseSelections",value:function(){this.component.selection={};var e,t=Object(ut.a)(this.children);try{for(t.s();!(e=t.n()).done;){var A=e.value;A.parseSelections();var n,r=Object(ut.a)(y_(A.component.selection));try{for(r.s();!(n=r.n()).done;){var i=n.value;this.component.selection[i]=A.component.selection[i]}}catch(o){r.e(o)}finally{r.f()}}}catch(o){t.e(o)}finally{t.f()}}},{key:"parseMarkGroup",value:function(){var e,t=Object(ut.a)(this.children);try{for(t.s();!(e=t.n()).done;){e.value.parseMarkGroup()}}catch(A){t.e(A)}finally{t.f()}}},{key:"parseAxesAndHeaders",value:function(){var e,t=Object(ut.a)(this.children);try{for(t.s();!(e=t.n()).done;){e.value.parseAxesAndHeaders()}}catch(A){t.e(A)}finally{t.f()}}},{key:"getChildren",value:function(e){return dJ(e)?e.vconcat:BJ(e)?e.hconcat:e.concat}},{key:"parseLayoutSize",value:function(){!function(e){Jq(e);var t=1===e.layout.columns?"width":"childWidth",A=void 0===e.layout.columns?"height":"childHeight";jq(e,t),jq(e,A)}(this)}},{key:"parseAxisGroup",value:function(){return null}},{key:"assembleSelectionTopLevelSignals",value:function(e){return this.children.reduce((function(e,t){return t.assembleSelectionTopLevelSignals(e)}),e)}},{key:"assembleSignals",value:function(){return this.children.forEach((function(e){return e.assembleSignals()})),[]}},{key:"assembleLayoutSignals",value:function(){var e,t=dW(this),A=Object(ut.a)(this.children);try{for(A.s();!(e=A.n()).done;){var n=e.value;t.push.apply(t,Object(zn.a)(n.assembleLayoutSignals()))}}catch(r){A.e(r)}finally{A.f()}return t}},{key:"assembleSelectionData",value:function(e){return this.children.reduce((function(e,t){return t.assembleSelectionData(e)}),e)}},{key:"assembleMarks",value:function(){return this.children.map((function(e){var t=e.assembleTitle(),A=e.assembleGroupStyle(),n=e.assembleGroupEncodeEntry(!1);return Object.assign(Object.assign(Object.assign(Object.assign({type:"group",name:e.getName("group")},t?{title:t}:{}),A?{style:A}:{}),n?{encode:{update:n}}:{}),e.assembleGroup())}))}},{key:"assembleGroupStyle",value:function(){}},{key:"assembleDefaultLayout",value:function(){var e=this.layout.columns;return Object.assign(Object.assign({},null!=e?{columns:e}:{}),{bounds:"full",align:"each"})}}]),A}(Eq);var zq=Object.assign(Object.assign({disable:1,gridScale:1,scale:1},BY),{labelExpr:1,encode:1}),$q=y_(zq),ez=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return Object(y.a)(this,A),(e=t.call(this)).explicit=n,e.implicit=r,e.mainExtracted=i,e}return Object(v.a)(A,[{key:"clone",value:function(){return new A(r_(this.explicit),r_(this.implicit),this.mainExtracted)}},{key:"hasAxisPart",value:function(e){return"axis"===e||("grid"===e||"title"===e?!!this.get(e):!(!1===(t=this.get(e))||null===t));var t}},{key:"hasOrientSignalRef",value:function(){return nO(this.explicit.orient)}}]),A}(nP);var tz={bottom:"top",top:"bottom",left:"right",right:"left"};function Az(e,t){if(!e)return t.map((function(e){return e.clone()}));if(e.length===t.length){for(var A=e.length,n=0;n<A;n++){var r=e[n],i=t[n];if(!!r!==!!i)return;if(r&&i){var o=r.getWithExplicit("orient"),a=i.getWithExplicit("orient");if(o.explicit&&a.explicit&&o.value!==a.value)return;e[n]=nz(r,i)}}return e}}function nz(e,t){var A,n=Object(ut.a)($q);try{var r=function(){var n=A.value,r=sP(e.getWithExplicit(n),t.getWithExplicit(n),n,"axis",(function(e,t){switch(n){case"title":return mO(e,t);case"gridScale":return{explicit:e.explicit,value:M_(e.value,t.value)}}return aP(e,t,n,"axis")}));e.setWithExplicit(n,r)};for(n.s();!(A=n.n()).done;)r()}catch(i){n.e(i)}finally{n.f()}return e}function rz(e,t,A,n,r){if("disable"===t)return void 0!==A;switch(A=A||{},t){case"titleAngle":case"labelAngle":return e===(nO(A.labelAngle)?A.labelAngle:Y_(A.labelAngle));case"values":return!!A.values;case"encode":return!!A.encoding||!!A.labelAngle;case"title":if(e===$K(n,r))return!0}return e===A[t]}var iz=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function oz(e,t){var A,n,r,i=t.axis(e),o=new ez,a=nY(t.encoding[e]),s=t.mark,g=t.config,c=(null===i||void 0===i?void 0:i.orient)||(null===(A=g["x"===e?"axisX":"axisY"])||void 0===A?void 0:A.orient)||(null===(n=g.axis)||void 0===n?void 0:n.orient)||function(e){return"x"===e?"bottom":"left"}(e),u=t.getScaleComponent(e).get("type"),l=PK(e,u,c,t.config),I=void 0!==i?!i:KK("disable",g.style,null===i||void 0===i?void 0:i.style,l).configValue;if(o.set("disable",I,void 0!==i),I)return o;var C,h=function(e,t,A,n,r){var i=null===t||void 0===t?void 0:t.labelAngle;if(void 0!==i)return nO(i)?i:Y_(i);var o=KK("labelAngle",n,null===t||void 0===t?void 0:t.style,r).configValue;return void 0!==o?Y_(o):"x"!==A||!c_([TT,OT],e.type)||DH(e)&&e.timeUnit?void 0:270}(a,i=i||{},e,g.style,l),f={fieldOrDatumDef:a,axis:i,channel:e,model:t,scaleType:u,orient:c,labelAngle:h,mark:s,config:g},d=Object(ut.a)($q);try{for(d.s();!(C=d.n()).done;){var B=C.value,p=B in WK?WK[B](f):EY(B)?i[B]:void 0,E=void 0!==p,Q=rz(p,B,i,t,e);if(E&&Q)o.set(B,p,Q);else{var y=EY(B)&&"values"!==B?KK(B,g.style,i.style,l):{},v=y.configValue,m=void 0===v?void 0:v,b=y.configFrom,w=void 0===b?void 0:b,S=void 0!==m;E&&!S?o.set(B,p,Q):("vgAxisConfig"!==w||iz.has(B)&&S||hY(m)||nO(m))&&o.set(B,m,!1)}}}catch(D){d.e(D)}finally{d.f()}var F=null!==(r=i.encoding)&&void 0!==r?r:{},R=fY.reduce((function(A,n){var r;if(!o.hasAxisPart(n))return A;var i=yW(null!==(r=F[n])&&void 0!==r?r:{},t),a="labels"===n?function(e,t,A){var n,r=e.encoding,i=e.config,o=null!==(n=nY(r[t]))&&void 0!==n?n:nY(r[BM(t)]),a=e.axis(t)||{},s=a.format,g=a.formatType;return AH(g)?Object.assign({text:oH({fieldOrDatumDef:o,field:"datum.value",format:s,formatType:g,config:i})},A):A}(t,e,i):i;return void 0===a||Q_(a)||(A[n]={update:a}),A}),{});return Q_(R)||o.set("encode",R,!!i.encoding||void 0!==i.labelAngle),o}function az(e){var t,A=e.encoding,n=e.size,r=Object(ut.a)(vM);try{for(r.s();!(t=r.n()).done;){var i=t.value,o=pM(i);pJ(n[o])&&xH(A[i])&&(delete n[o],tT(B.stepDropped(o)))}}catch(a){r.e(a)}finally{r.f()}return n}function sz(e,t,A){var n=$M(e),r=dO("orient",n,A);if(n.orient=function(e,t,A){switch(e){case FZ:case NZ:case UZ:case GZ:case RZ:case wZ:return}var n=t.x,r=t.y,i=t.x2,o=t.y2;switch(e){case bZ:if(DH(n)&&(KM(n.bin)||DH(r)&&r.aggregate&&!n.aggregate))return"vertical";if(DH(r)&&(KM(r.bin)||DH(n)&&n.aggregate&&!r.aggregate))return"horizontal";if(o||i){if(A)return A;if(!i&&(DH(n)&&n.type===MT&&!VM(n.bin)||NH(n)))return"horizontal";if(!o&&(DH(r)&&r.type===MT&&!VM(r.bin)||NH(r)))return"vertical"}case DZ:if(i&&(!DH(n)||!KM(n.bin))&&o&&(!DH(r)||!KM(r.bin)))return;case mZ:if(o)return DH(r)&&KM(r.bin)?"horizontal":"vertical";if(i)return DH(n)&&KM(n.bin)?"vertical":"horizontal";if(e===DZ){if(n&&!r)return"vertical";if(r&&!n)return"horizontal"}case SZ:case kZ:var a=xH(n),s=xH(r);if(A)return A;if(a&&!s)return"tick"!==e?"horizontal":"vertical";if(!a&&s)return"tick"!==e?"vertical":"horizontal";if(a&&s){var g=n,c=r,u=g.type===LT,l=c.type===LT;return u&&!l?"tick"!==e?"vertical":"horizontal":!u&&l?"tick"!==e?"horizontal":"vertical":!g.aggregate&&c.aggregate?"tick"!==e?"vertical":"horizontal":g.aggregate&&!c.aggregate&&"tick"!==e?"horizontal":"vertical"}return}return"vertical"}(n.type,t,r),void 0!==r&&r!==n.orient&&tT(B.orientOverridden(n.orient,r)),"bar"===n.type&&n.orient){var i=dO("cornerRadiusEnd",n,A);if(void 0!==i){var o,a="horizontal"===n.orient&&t.x2||"vertical"===n.orient&&t.y2?["cornerRadius"]:jZ[n.orient],s=Object(ut.a)(a);try{for(s.s();!(o=s.n()).done;){n[o.value]=i}}catch(g){s.e(g)}finally{s.f()}void 0!==n.cornerRadiusEnd&&delete n.cornerRadiusEnd}}return void 0===dO("opacity",n,A)&&(n.opacity=function(e,t){if(c_([FZ,kZ,NZ,UZ],e)&&!wY(t))return.7;return}(n.type,t)),void 0===dO("cursor",n,A)&&(n.cursor=function(e,t,A){if(t.href||e.href||dO("href",e,A))return"pointer";return e.cursor}(n,t,A)),n}function gz(e,t,A){if(A.graticule)return!1;var n=BO("filled",e,t),r=e.type;return M_(n,r!==FZ&&r!==SZ&&r!==DZ)}function cz(e,t){e.config;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},IV(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),tV("x",e,{defaultPos:"mid"})),tV("y",e,{defaultPos:"mid"})),zP("size",e)),zP("angle",e)),function(e,t,A){if(A)return{shape:{value:A}};return zP("shape",e)}(e,0,t))}function uz(e){var t,A=e.config,n=e.markDef,r=n.orient,i="horizontal"===r?"width":"height",o=e.getScaleComponent("horizontal"===r?"x":"y"),a=null!==(t=dO("size",n,A,{vgChannel:i}))&&void 0!==t?t:A.tick.bandSize;if(void 0!==a)return a;var s=o?o.get("range"):void 0;return s&&rO(s)&&YU(s.step)?3*s.step/4:3*mJ(A.view,i)/4}var lz={arc:{vgMark:"arc",encodeEntry:function(e){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},IV(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),tV("x",e,{defaultPos:"mid"})),tV("y",e,{defaultPos:"mid"})),gV(e,"radius","arc")),gV(e,"theta","arc"))}},area:{vgMark:"area",encodeEntry:function(e){return Object.assign(Object.assign(Object.assign(Object.assign({},IV(e,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"})),oV("x",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"horizontal"===e.markDef.orient})),oV("y",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"vertical"===e.markDef.orient})),hV(e))}},bar:{vgMark:"rect",encodeEntry:function(e){return Object.assign(Object.assign(Object.assign({},IV(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),gV(e,"x","bar")),gV(e,"y","bar"))}},circle:{vgMark:"symbol",encodeEntry:function(e){return cz(e,"circle")}},geoshape:{vgMark:"shape",encodeEntry:function(e){return Object.assign({},IV(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}))},postEncodingTransform:function(e){var t=e.encoding.shape;return[Object.assign({type:"geoshape",projection:e.projectionName()},t&&DH(t)&&t.type===ZT?{field:JH(t,{expr:"datum"})}:{})]}},image:{vgMark:"image",encodeEntry:function(e){return Object.assign(Object.assign(Object.assign(Object.assign({},IV(e,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"})),gV(e,"x","image")),gV(e,"y","image")),PP(e,"url"))}},line:{vgMark:"line",encodeEntry:function(e){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},IV(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),tV("x",e,{defaultPos:"mid"})),tV("y",e,{defaultPos:"mid"})),zP("size",e,{vgChannel:"strokeWidth"})),hV(e))}},point:{vgMark:"symbol",encodeEntry:function(e){return cz(e)}},rect:{vgMark:"rect",encodeEntry:function(e){return Object.assign(Object.assign(Object.assign({},IV(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),gV(e,"x","rect")),gV(e,"y","rect"))}},rule:{vgMark:"rule",encodeEntry:function(e){var t=e.markDef.orient;return e.encoding.x||e.encoding.y||e.encoding.latitude||e.encoding.longitude?Object.assign(Object.assign(Object.assign(Object.assign({},IV(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),oV("x",e,{defaultPos:"horizontal"===t?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"vertical"!==t})),oV("y",e,{defaultPos:"vertical"===t?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"horizontal"!==t})),zP("size",e,{vgChannel:"strokeWidth"})):{}}},square:{vgMark:"symbol",encodeEntry:function(e){return cz(e,"square")}},text:{vgMark:"text",encodeEntry:function(e){var t=e.config;e.encoding;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},IV(e,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"})),tV("x",e,{defaultPos:"mid"})),tV("y",e,{defaultPos:"mid"})),PP(e)),zP("size",e,{vgChannel:"fontSize"})),zP("angle",e)),fV("align",function(e,t,A){if(void 0===dO("align",e,A))return"center";return}(e.markDef,0,t))),fV("baseline",function(e,t,A){if(void 0===dO("baseline",e,A))return"middle";return}(e.markDef,0,t))),tV("radius",e,{defaultPos:null})),tV("theta",e,{defaultPos:null}))}},tick:{vgMark:"rect",encodeEntry:function(e){var t=e.config,A=e.markDef,n=A.orient,r="horizontal"===n?"width":"height",i="horizontal"===n?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},IV(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),tV("x",e,{defaultPos:"mid",vgChannel:"xc"})),tV("y",e,{defaultPos:"mid",vgChannel:"yc"})),zP("size",e,{defaultValue:uz(e),vgChannel:r})),Object($n.a)({},i,IO(dO("thickness",A,t))))}},trail:{vgMark:"trail",encodeEntry:function(e){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},IV(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),tV("x",e,{defaultPos:"mid"})),tV("y",e,{defaultPos:"mid"})),zP("size",e)),hV(e))}}};function Iz(e){if(c_([SZ,mZ,xZ],e.mark)){var t=kY(e.mark,e.encoding);if(t.length>0)return function(e,t){return[{name:e.getName("pathgroup"),type:"group",from:{facet:{name:"faceted_path_"+e.requestDataName(gP.Main),data:e.requestDataName(gP.Main),groupby:t}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:hz(e,{fromPrefix:"faceted_path_"})}]}(e,t)}else if(e.mark===bZ){var A=sO.some((function(t){return dO(t,e.markDef,e.config)}));if(e.stack&&!e.fieldDef("size")&&A)return function(e){var t,A,n=hz(e,{fromPrefix:"stack_group_"}),r=Object(lt.a)(n,1)[0],i=e.scaleName(e.stack.fieldChannel),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.vgField(e.stack.fieldChannel,t)},a=function(e,t){var A=[o({prefix:"min",suffix:"start",expr:t}),o({prefix:"max",suffix:"start",expr:t}),o({prefix:"min",suffix:"end",expr:t}),o({prefix:"max",suffix:"end",expr:t})];return"".concat(e,"(").concat(A.map((function(e){return"scale('".concat(i,"',").concat(e,")")})).join(","),")")};"x"===e.stack.fieldChannel?(t=Object.assign(Object.assign({},i_(r.encode.update,["y","yc","y2","height"].concat(Object(zn.a)(sO)))),{x:{signal:a("min","datum")},x2:{signal:a("max","datum")},clip:{value:!0}}),A={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},r.encode.update=Object.assign(Object.assign({},o_(r.encode.update,["y","yc","y2"])),{height:{field:{group:"height"}}})):(t=Object.assign(Object.assign({},i_(r.encode.update,["x","xc","x2","width"])),{y:{signal:a("min","datum")},y2:{signal:a("max","datum")},clip:{value:!0}}),A={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},r.encode.update=Object.assign(Object.assign({},o_(r.encode.update,["x","xc","x2"])),{width:{field:{group:"width"}}}));var s,g=Object(ut.a)(sO);try{for(g.s();!(s=g.n()).done;){var c=s.value,u=BO(c,e.markDef,e.config);r.encode.update[c]?(t[c]=r.encode.update[c],delete r.encode.update[c]):u&&(t[c]=IO(u)),u&&(r.encode.update[c]={value:0})}}catch(h){g.e(h)}finally{g.f()}var l=[];if(e.stack.groupbyChannel){var I=e.fieldDef(e.stack.groupbyChannel),C=JH(I);C&&l.push(C),((null===I||void 0===I?void 0:I.bin)||(null===I||void 0===I?void 0:I.timeUnit))&&l.push(JH(I,{binSuffix:"end"}))}(t=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce((function(t,A){if(r.encode.update[A])return Object.assign(Object.assign({},t),Object($n.a)({},A,r.encode.update[A]));var n=BO(A,e.markDef,e.config);return void 0!==n?Object.assign(Object.assign({},t),Object($n.a)({},A,IO(n))):t}),t)).stroke&&(t.strokeForeground={value:!0},t.strokeOffset={value:0});return[{type:"group",from:{facet:{data:e.requestDataName(gP.Main),name:"stack_group_"+e.requestDataName(gP.Main),groupby:l,aggregate:{fields:[o({suffix:"start"}),o({suffix:"start"}),o({suffix:"end"}),o({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:t},marks:[{type:"group",encode:{update:A},marks:[r]}]}]}(e)}return hz(e)}function Cz(e){var t,A=e.encoding,n=e.stack,r=e.mark,i=e.markDef,o=e.config,a=A.order;if(!(!kU(a)&&MH(a)&&g_(a.value)||!a&&g_(dO("order",i,o)))){if((kU(a)||DH(a))&&!n)return QO(a,{expr:"datum"});if(MZ(r)){var s="horizontal"===i.orient?"y":"x",g=A[s];if(DH(g)){var c=g.sort;return kU(c)?{field:JH(g,{prefix:s,suffix:"sort_index",expr:"datum"})}:fH(c)?{field:JH({aggregate:wY(e.encoding)?c.op:void 0,field:c.field},{expr:"datum"})}:hH(c)?{field:JH(e.fieldDef(c.encoding),{expr:"datum"}),order:c.order}:null===c?void 0:{field:JH(g,{binSuffix:(null===(t=e.stack)||void 0===t?void 0:t.impute)?"mid":void 0,expr:"datum"})}}}else;}}function hz(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{fromPrefix:""},A=e.mark,n=e.markDef,r=e.encoding,i=e.config,o=M_(n.clip,fz(e),dz(e)),a=fO(n),s=r.key,g=Cz(e),c=Bz(e),u=dO("aria",n,i),l=lz[A].postEncodingTransform?lz[A].postEncodingTransform(e):null;return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:e.getName("marks"),type:lz[A].vgMark},o?{clip:!0}:{}),a?{style:a}:{}),s?{key:s.field}:{}),g?{sort:g}:{}),c||{}),!1===u?{aria:u}:{}),{from:{data:t.fromPrefix+e.requestDataName(gP.Main)},encode:{update:lz[A].encodeEntry(e)}}),l?{transform:l}:{})]}function fz(e){var t=e.getScaleComponent("x"),A=e.getScaleComponent("y");return!!(t&&t.get("selectionExtent")||A&&A.get("selectionExtent"))||void 0}function dz(e){var t=e.component.projection;return!(!t||t.isFit)||void 0}function Bz(e){if(!e.component.selection)return null;for(var t=y_(e.component.selection).length,A=t,n=e.parent;n&&0===A;)A=y_(n.component.selection).length,n=n.parent;return A?{interactive:t>0||!!e.encoding.tooltip}:null}var pz=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n,r){var i,o,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=arguments.length>4?arguments[4]:void 0;Object(y.a)(this,A),(i=t.call(this,e,"unit",n,r,s,void 0,EJ(e)?e.view:void 0)).specifiedScales={},i.specifiedAxes={},i.specifiedLegends={},i.specifiedProjection={},i.selection=[],i.children=[];var g=TZ(e.mark)?Object.assign({},e.mark):{type:e.mark},c=g.type;void 0===g.filled&&(g.filled=gz(g,s,{graticule:e.data&&dP(e.data)}));var u=i.encoding=FY(e.encoding||{},c,g.filled,s);return i.markDef=sz(g,u,s),i.size=az({encoding:u,size:EJ(e)?Object.assign(Object.assign(Object.assign({},a),e.width?{width:e.width}:{}),e.height?{height:e.height}:{}):a}),i.stack=tj(c,u),i.specifiedScales=i.initScales(c,u),i.specifiedAxes=i.initAxes(u),i.specifiedLegends=i.initLegends(u),i.specifiedProjection=e.projection,i.selection=(null!==(o=e.params)&&void 0!==o?o:[]).filter((function(e){return IJ(e)})),i}return Object(v.a)(A,[{key:"scaleDomain",value:function(e){var t=this.specifiedScales[e];return t?t.domain:void 0}},{key:"axis",value:function(e){return this.specifiedAxes[e]}},{key:"legend",value:function(e){return this.specifiedLegends[e]}},{key:"initScales",value:function(e,t){var A=this;return GM.reduce((function(e,n){var r,i=nY(t[n]);return i&&(e[n]=A.initScale(null!==(r=i.scale)&&void 0!==r?r:{})),e}),{})}},{key:"initScale",value:function(e){var t=e.domain,A=e.range,n=$M(e);return kU(t)&&(n.domain=t.map(uO)),kU(A)&&(n.range=A.map(uO)),n}},{key:"initAxes",value:function(e){var t=this;return vM.reduce((function(A,n){var r=e[n];if(UH(r)||"x"===n&&UH(e.x2)||"y"===n&&UH(e.y2)){var i=UH(r)?r.axis:void 0;A[n]=i?t.initAxis(Object.assign({},i)):i}return A}),{})}},{key:"initAxis",value:function(e){var t,A=y_(e),n={},r=Object(ut.a)(A);try{for(r.s();!(t=r.n()).done;){var i=t.value,o=e[i];n[i]=hY(o)?cO(o):uO(o)}}catch(a){r.e(a)}finally{r.f()}return n}},{key:"initLegends",value:function(e){return RM.reduce((function(t,A){var n=nY(e[A]);if(n&&function(e){switch(e){case q_:case z_:case $_:case"size":case eM:case"opacity":case"strokeWidth":case"strokeDash":return!0;case"fillOpacity":case"strokeOpacity":case"angle":return!1}}(A)){var r=n.legend;t[A]=r?$M(r):r}return t}),{})}},{key:"parseData",value:function(){this.component.data=Xq(this)}},{key:"parseLayoutSize",value:function(){!function(e){var t,A=e.size,n=e.component,r=Object(ut.a)(vM);try{for(r.s();!(t=r.n()).done;){var i=pM(t.value);if(A[i]){var o=A[i];n.layoutSize.set(i,pJ(o)?"step":o,!0)}else{var a=Pq(e,i);n.layoutSize.set(i,a,!1)}}}catch(s){r.e(s)}finally{r.f()}}(this)}},{key:"parseSelections",value:function(){this.component.selection=function(e,t){var A,n={},r=e.config.selection;if(!t||!t.length)return n;var i,o=Object(ut.a)(t);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=w_(a.name),g=a.select,c=JU(g)?g:g.type,u=xU(g)?r_(g):{type:c},l=r[c];for(var I in l)"fields"!==I&&"encodings"!==I&&("mark"===I&&(u[I]=Object.assign(Object.assign({},l[I]),u[I])),void 0!==u[I]&&!0!==u[I]||(u[I]=null!==(A=l[I])&&void 0!==A?A:u[I]));var C,h=n[s]=Object.assign(Object.assign({},u),{name:s,type:c,init:a.value,bind:a.bind,events:JU(u.on)?yP(u.on,"scope"):OU(r_(u.on))}),f=Object(ut.a)(GV);try{for(f.s();!(C=f.n()).done;){var d=C.value;d.defined(h)&&d.parse&&d.parse(e,h,a)}}catch(B){f.e(B)}finally{f.f()}}}catch(B){o.e(B)}finally{o.f()}return n}(this,this.selection)}},{key:"parseMarkGroup",value:function(){this.component.mark=Iz(this)}},{key:"parseAxesAndHeaders",value:function(){var e;this.component.axes=(e=this,vM.reduce((function(t,A){return e.component.scales[A]&&(t[A]=[oz(A,e)]),t}),{}))}},{key:"assembleSelectionTopLevelSignals",value:function(e){return function(e,t){var A,n,r=!1,i=Object(ut.a)(v_(null!==(A=e.component.selection)&&void 0!==A?A:{}));try{var o=function(){var A=n.value,i=A.name,o=jU(i+SV);if(0===t.filter((function(e){return e.name===i})).length){var a="global"===A.resolve?"union":A.resolve,s="point"===A.type?", true, true)":")";t.push({name:A.name,update:"".concat(DV,"(").concat(o,", ").concat(jU(a)).concat(s)})}r=!0;var g,c=Object(ut.a)(GV);try{for(c.s();!(g=c.n()).done;){var u=g.value;u.defined(A)&&u.topLevelSignals&&(t=u.topLevelSignals(e,A,t))}}catch(l){c.e(l)}finally{c.f()}};for(i.s();!(n=i.n()).done;)o()}catch(a){i.e(a)}finally{i.f()}return r&&0===t.filter((function(e){return"unit"===e.name})).length&&t.unshift({name:"unit",value:{},on:[{events:"mousemove",update:"isTuple(group()) ? group() : unit"}]}),RP(t)}(this,e)}},{key:"assembleSignals",value:function(){return[].concat(Object(zn.a)(JK(this)),Object(zn.a)(function(e,t){var A,n,r=Object(ut.a)(v_(null!==(A=e.component.selection)&&void 0!==A?A:{}));try{for(r.s();!(n=r.n()).done;){var i,o=n.value,a=o.name,s="".concat(a).concat(FV,", ").concat("global"===o.resolve?"true":"{unit: ".concat(xV(e),"}")),g=Object(ut.a)(GV);try{for(g.s();!(i=g.n()).done;){var c=i.value;c.defined(o)&&(c.signals&&(t=c.signals(e,o,t)),c.modifyExpr&&(s=c.modifyExpr(e,o,s)))}}catch(u){g.e(u)}finally{g.f()}t.push({name:a+RV,on:[{events:{signal:o.name+FV},update:"modify(".concat(jU(o.name+SV),", ").concat(s,")")}]})}}catch(u){r.e(u)}finally{r.f()}return RP(t)}(this,[])))}},{key:"assembleSelectionData",value:function(e){return function(e,t){var A,n,r=Object(zn.a)(t),i=Object(ut.a)(v_(null!==(A=e.component.selection)&&void 0!==A?A:{}));try{var o=function(){var t=n.value,A={name:t.name+SV};if(t.init){var i=t.project.items.map((function(e){e.signals;return wP(e,["signals"])}));A.values=t.init.map((function(t){return{unit:xV(e,{escape:!1}),fields:i,values:SP(t,!1)}}))}r.filter((function(e){return e.name===t.name+SV})).length||r.push(A)};for(i.s();!(n=i.n()).done;)o()}catch(a){i.e(a)}finally{i.f()}return r}(this,e)}},{key:"assembleLayout",value:function(){return null}},{key:"assembleLayoutSignals",value:function(){return dW(this)}},{key:"assembleMarks",value:function(){var e,t=null!==(e=this.component.mark)&&void 0!==e?e:[];return this.parent&&pq(this.parent)||(t=FP(this,t)),t.map(this.correctDataNames)}},{key:"assembleGroupStyle",value:function(){var e=(this.view||{}).style;return void 0!==e?e:this.encoding.x||this.encoding.y?"cell":void 0}},{key:"getMapping",value:function(){return this.encoding}},{key:"channelHasField",value:function(e){return bY(this.encoding,e)}},{key:"fieldDef",value:function(e){return AY(this.encoding[e])}},{key:"typedFieldDef",value:function(e){var t=this.fieldDef(e);return _H(t)?t:null}},{key:"hasProjection",get:function(){var e=this.encoding,t=this.mark===_Z,A=e&&rM.some((function(t){return UH(e[t])}));return t||A}},{key:"mark",get:function(){return this.markDef.type}}]),A}(Qq),Ez=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(e,n,r,i,o){var a;Object(y.a)(this,A),a=t.call(this,e,"layer",n,r,o,e.resolve,e.view);var s=Object.assign(Object.assign(Object.assign({},i),e.width?{width:e.width}:{}),e.height?{height:e.height}:{});return a.children=e.layer.map((function(e,t){if(YJ(e))return new A(e,Object(m.a)(a),a.getName("layer_".concat(t)),s,o);if(yY(e))return new pz(e,Object(m.a)(a),a.getName("layer_".concat(t)),s,o);throw new Error(B.invalidSpec(e))})),a}return Object(v.a)(A,[{key:"parseData",value:function(){this.component.data=Xq(this);var e,t=Object(ut.a)(this.children);try{for(t.s();!(e=t.n()).done;){e.value.parseData()}}catch(A){t.e(A)}finally{t.f()}}},{key:"parseLayoutSize",value:function(){var e;Jq(e=this),jq(e,"width"),jq(e,"height")}},{key:"parseSelections",value:function(){this.component.selection={};var e,t=Object(ut.a)(this.children);try{for(t.s();!(e=t.n()).done;){var A=e.value;A.parseSelections();var n,r=Object(ut.a)(y_(A.component.selection));try{for(r.s();!(n=r.n()).done;){var i=n.value;this.component.selection[i]=A.component.selection[i]}}catch(o){r.e(o)}finally{r.f()}}}catch(o){t.e(o)}finally{t.f()}}},{key:"parseMarkGroup",value:function(){var e,t=Object(ut.a)(this.children);try{for(t.s();!(e=t.n()).done;){e.value.parseMarkGroup()}}catch(A){t.e(A)}finally{t.f()}}},{key:"parseAxesAndHeaders",value:function(){!function(e){var t,A,n=e.component,r=n.axes,i=n.resolve,o={top:0,bottom:0,right:0,left:0},a=Object(ut.a)(e.children);try{for(a.s();!(A=a.n()).done;){var s=A.value;s.parseAxesAndHeaders();var g,c=Object(ut.a)(y_(s.component.axes));try{for(c.s();!(g=c.n()).done;){var u=g.value;i.axis[u]=mW(e.component.resolve,u),"shared"===i.axis[u]&&(r[u]=Az(r[u],s.component.axes[u]),r[u]||(i.axis[u]="independent",delete r[u]))}}catch(F){c.e(F)}finally{c.f()}}}catch(F){a.e(F)}finally{a.f()}var l,I=Object(ut.a)(vM);try{for(I.s();!(l=I.n()).done;){var C,h=l.value,f=Object(ut.a)(e.children);try{for(f.s();!(C=f.n()).done;){var d=C.value;if(d.component.axes[h]){if("independent"===i.axis[h]){r[h]=(null!==(t=r[h])&&void 0!==t?t:[]).concat(d.component.axes[h]);var B,p=Object(ut.a)(d.component.axes[h]);try{for(p.s();!(B=p.n()).done;){var E=B.value,Q=E.getWithExplicit("orient"),y=Q.value,v=Q.explicit;if(!nO(y)){if(o[y]>0&&!v){var m=tz[y];o[y]>o[m]&&E.set("orient",m,!1)}o[y]++}}}catch(F){p.e(F)}finally{p.f()}}delete d.component.axes[h]}}}catch(F){f.e(F)}finally{f.f()}if("independent"===i.axis[h]&&r[h]&&r[h].length>1){var b,w=Object(ut.a)(r[h]);try{for(w.s();!(b=w.n()).done;){var S=b.value;S.get("grid")&&!S.explicit.grid&&(S.implicit.grid=!1)}}catch(F){w.e(F)}finally{w.f()}}}}catch(F){I.e(F)}finally{I.f()}}(this)}},{key:"assembleSelectionTopLevelSignals",value:function(e){return this.children.reduce((function(e,t){return t.assembleSelectionTopLevelSignals(e)}),e)}},{key:"assembleSignals",value:function(){return this.children.reduce((function(e,t){return e.concat(t.assembleSignals())}),JK(this))}},{key:"assembleLayoutSignals",value:function(){return this.children.reduce((function(e,t){return e.concat(t.assembleLayoutSignals())}),dW(this))}},{key:"assembleSelectionData",value:function(e){return this.children.reduce((function(e,t){return t.assembleSelectionData(e)}),e)}},{key:"assembleGroupStyle",value:function(){var e,t=new Set,A=Object(ut.a)(this.children);try{for(A.s();!(e=A.n()).done;){var n,r=e.value,i=Object(ut.a)(OU(r.assembleGroupStyle()));try{for(i.s();!(n=i.n()).done;){var o=n.value;t.add(o)}}catch(s){i.e(s)}finally{i.f()}}}catch(s){A.e(s)}finally{A.f()}var a=Array.from(t);return a.length>1?a:1===a.length?a[0]:void 0}},{key:"assembleTitle",value:function(){var e=Object(jJ.a)(Object(JJ.a)(A.prototype),"assembleTitle",this).call(this);if(e)return e;var t,n=Object(ut.a)(this.children);try{for(n.s();!(t=n.n()).done;){if(e=t.value.assembleTitle())return e}}catch(r){n.e(r)}finally{n.f()}}},{key:"assembleLayout",value:function(){return null}},{key:"assembleMarks",value:function(){return function(e,t){var A,n=Object(ut.a)(e.children);try{for(n.s();!(A=n.n()).done;){var r=A.value;fq(r)&&(t=FP(r,t))}}catch(i){n.e(i)}finally{n.f()}return t}(this,this.children.flatMap((function(e){return e.assembleMarks()})))}},{key:"assembleLegends",value:function(){return this.children.reduce((function(e,t){return e.concat(t.assembleLegends())}),HW(this))}}]),A}(Eq);function Qz(e,t,A,n,r){if(EH(e))return new Kq(e,t,A,r);if(YJ(e))return new Ez(e,t,A,n,r);if(yY(e))return new pz(e,t,A,n,r);if(function(e){return dJ(e)||BJ(e)||fJ(e)}(e))return new qq(e,t,A,r);throw new Error(B.invalidSpec(e))}var yz=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(A[n[r]]=e[n[r]])}return A};function vz(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.logger&&$L(t.logger),t.fieldTitle&&WH(t.fieldTitle);try{var A=MJ(UU(t.config,e.config)),n=Xj(e,A),r=Qz(n,null,"",void 0,A);r.parse(),OX(r.component.data,r);var i=bz(r,mz(e,n.autosize,A,r),e.datasets,e.usermeta);return{spec:i,normalized:n}}finally{t.logger&&eT(),t.fieldTitle&&XH()}}function mz(e,t,A,n){var r,i=n.component.layoutSize.get("width"),o=n.component.layoutSize.get("height");if(void 0===t?(t={type:"pad"},n.hasAxisOrientSignalRef()&&(t.resize=!0)):JU(t)&&(t={type:t}),i&&o&&("fit"===(r=t.type)||"fit-x"===r||"fit-y"===r))if("step"===i&&"step"===o)tT(B.droppingFit()),t.type="pad";else if("step"===i||"step"===o){var a="step"===i?"width":"height";tT(B.droppingFit(SM(a)));var s="width"===a?"height":"width";t.type=function(e){return e?"fit-".concat(SM(e)):"fit"}(s)}return Object.assign(Object.assign(Object.assign({},1===y_(t).length&&t.type?"pad"===t.type?{}:{autosize:t.type}:{autosize:t}),AP(A,!1)),AP(e,!0))}function bz(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0,r=e.config?ZJ(e.config):void 0,i=[].concat(e.assembleSelectionData([]),Tq(e.component.data,A)),o=e.assembleProjections(),a=e.assembleTitle(),s=e.assembleGroupStyle(),g=e.assembleGroupEncodeEntry(!0),c=e.assembleLayoutSignals();c=c.filter((function(e){return"width"!==e.name&&"height"!==e.name||void 0===e.value||(t[e.name]=+e.value,!1)}));var u=t.params,l=yz(t,["params"]);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({$schema:"https://vega.github.io/schema/vega/v5.json"},e.description?{description:e.description}:{}),l),a?{title:a}:{}),s?{style:s}:{}),g?{encode:{update:g}}:{}),{data:i}),o.length>0?{projections:o}:{}),e.assembleGroup([].concat(Object(zn.a)(c),Object(zn.a)(e.assembleSelectionTopLevelSignals([])),Object(zn.a)(hJ(u))))),r?{config:r}:{}),n?{usermeta:n}:{})}var wz=yU.version;var Sz=function(e){var t=/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1,3),A=Object(lt.a)(t,2);return{library:A[0],version:A[1]}},Fz={background:"#333",title:{color:"#fff",subtitleColor:"#fff"},style:{"guide-label":{fill:"#fff"},"guide-title":{fill:"#fff"}},axis:{domainColor:"#fff",gridColor:"#888",tickColor:"#fff"}},Rz={background:"#fff",arc:{fill:"#4572a7"},area:{fill:"#4572a7"},line:{stroke:"#4572a7",strokeWidth:2},path:{stroke:"#4572a7"},rect:{fill:"#4572a7"},shape:{stroke:"#4572a7"},symbol:{fill:"#4572a7",strokeWidth:1.5,size:50},axis:{bandPosition:.5,grid:!0,gridColor:"#000000",gridOpacity:1,gridWidth:.5,labelPadding:10,tickSize:5,tickWidth:.5},axisBand:{grid:!1,tickExtra:!0},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:50,symbolType:"square"},range:{category:["#4572a7","#aa4643","#8aa453","#71598e","#4598ae","#d98445","#94aace","#d09393","#b9cc98","#a99cbc"]}},Dz={arc:{fill:"#30a2da"},area:{fill:"#30a2da"},axis:{domainColor:"#cbcbcb",grid:!0,gridColor:"#cbcbcb",gridWidth:1,labelColor:"#999",labelFontSize:10,titleColor:"#333",tickColor:"#cbcbcb",tickSize:10,titleFontSize:14,titlePadding:10,labelPadding:4},axisBand:{grid:!1},background:"#f0f0f0",group:{fill:"#f0f0f0"},legend:{labelColor:"#333",labelFontSize:11,padding:1,symbolSize:30,symbolType:"square",titleColor:"#333",titleFontSize:14,titlePadding:10},line:{stroke:"#30a2da",strokeWidth:2},path:{stroke:"#30a2da",strokeWidth:.5},rect:{fill:"#30a2da"},range:{category:["#30a2da","#fc4f30","#e5ae38","#6d904f","#8b8b8b","#b96db8","#ff9e27","#56cc60","#52d2ca","#52689e","#545454","#9fe4f8"],diverging:["#cc0020","#e77866","#f6e7e1","#d6e8ed","#91bfd9","#1d78b5"],heatmap:["#d6e8ed","#cee0e5","#91bfd9","#549cc6","#1d78b5"]},point:{filled:!0,shape:"circle"},shape:{stroke:"#30a2da"},bar:{binSpacing:2,fill:"#30a2da",stroke:null},title:{anchor:"start",fontSize:24,fontWeight:600,offset:20}},Gz={group:{fill:"#e5e5e5"},arc:{fill:"#000"},area:{fill:"#000"},line:{stroke:"#000"},path:{stroke:"#000"},rect:{fill:"#000"},shape:{stroke:"#000"},symbol:{fill:"#000",size:40},axis:{domain:!1,grid:!0,gridColor:"#FFFFFF",gridOpacity:1,labelColor:"#7F7F7F",labelPadding:4,tickColor:"#7F7F7F",tickSize:5.67,titleFontSize:16,titleFontWeight:"normal"},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:40},range:{category:["#000000","#7F7F7F","#1A1A1A","#999999","#333333","#B0B0B0","#4D4D4D","#C9C9C9","#666666","#DCDCDC"]}},kz="Benton Gothic Bold, sans-serif",xz={"category-6":["#ec8431","#829eb1","#c89d29","#3580b1","#adc839","#ab7fb4"],"fire-7":["#fbf2c7","#f9e39c","#f8d36e","#f4bb6a","#e68a4f","#d15a40","#ab4232"],"fireandice-6":["#e68a4f","#f4bb6a","#f9e39c","#dadfe2","#a6b7c6","#849eae"],"ice-7":["#edefee","#dadfe2","#c4ccd2","#a6b7c6","#849eae","#607785","#47525d"]},Nz={background:"#ffffff",title:{anchor:"start",color:"#000000",font:kz,fontSize:22,fontWeight:"normal"},arc:{fill:"#82c6df"},area:{fill:"#82c6df"},line:{stroke:"#82c6df",strokeWidth:2},path:{stroke:"#82c6df"},rect:{fill:"#82c6df"},shape:{stroke:"#82c6df"},symbol:{fill:"#82c6df",size:30},axis:{labelFont:"Benton Gothic, sans-serif",labelFontSize:11.5,labelFontWeight:"normal",titleFont:kz,titleFontSize:13,titleFontWeight:"normal"},axisX:{labelAngle:0,labelPadding:4,tickSize:3},axisY:{labelBaseline:"middle",maxExtent:45,minExtent:45,tickSize:2,titleAlign:"left",titleAngle:0,titleX:-45,titleY:-11},legend:{labelFont:"Benton Gothic, sans-serif",labelFontSize:11.5,symbolType:"square",titleFont:kz,titleFontSize:13,titleFontWeight:"normal"},range:{category:xz["category-6"],diverging:xz["fireandice-6"],heatmap:xz["fire-7"],ordinal:xz["fire-7"],ramp:xz["fire-7"]}},Uz={background:"#f9f9f9",arc:{fill:"#ab5787"},area:{fill:"#ab5787"},line:{stroke:"#ab5787"},path:{stroke:"#ab5787"},rect:{fill:"#ab5787"},shape:{stroke:"#ab5787"},symbol:{fill:"#ab5787",size:30},axis:{domainColor:"#979797",domainWidth:.5,gridWidth:.2,labelColor:"#979797",tickColor:"#979797",tickWidth:.2,titleColor:"#979797"},axisBand:{grid:!1},axisX:{grid:!0,tickSize:10},axisY:{domain:!1,grid:!0,tickSize:0},legend:{labelFontSize:11,padding:1,symbolSize:30,symbolType:"square"},range:{category:["#ab5787","#51b2e5","#703c5c","#168dd9","#d190b6","#00609f","#d365ba","#154866","#666666","#c4c4c4"]}},_z={background:"#fff",arc:{fill:"#3e5c69"},area:{fill:"#3e5c69"},line:{stroke:"#3e5c69"},path:{stroke:"#3e5c69"},rect:{fill:"#3e5c69"},shape:{stroke:"#3e5c69"},symbol:{fill:"#3e5c69"},axis:{domainWidth:.5,grid:!0,labelPadding:2,tickSize:5,tickWidth:.5,titleFontWeight:"normal"},axisBand:{grid:!1},axisX:{gridWidth:.2},axisY:{gridDash:[3],gridWidth:.4},legend:{labelFontSize:11,padding:1,symbolType:"square"},range:{category:["#3e5c69","#6793a6","#182429","#0570b0","#3690c0","#74a9cf","#a6bddb","#e2ddf2"]}},Mz={"main-colors":["#1696d2","#d2d2d2","#000000","#fdbf11","#ec008b","#55b748","#5c5859","#db2b27"],"shades-blue":["#CFE8F3","#A2D4EC","#73BFE2","#46ABDB","#1696D2","#12719E","#0A4C6A","#062635"],"shades-gray":["#F5F5F5","#ECECEC","#E3E3E3","#DCDBDB","#D2D2D2","#9D9D9D","#696969","#353535"],"shades-yellow":["#FFF2CF","#FCE39E","#FDD870","#FCCB41","#FDBF11","#E88E2D","#CA5800","#843215"],"shades-magenta":["#F5CBDF","#EB99C2","#E46AA7","#E54096","#EC008B","#AF1F6B","#761548","#351123"],"shades-green":["#DCEDD9","#BCDEB4","#98CF90","#78C26D","#55B748","#408941","#2C5C2D","#1A2E19"],"shades-black":["#D5D5D4","#ADABAC","#848081","#5C5859","#332D2F","#262223","#1A1717","#0E0C0D"],"shades-red":["#F8D5D4","#F1AAA9","#E9807D","#E25552","#DB2B27","#A4201D","#6E1614","#370B0A"],"one-group":["#1696d2","#000000"],"two-groups-cat-1":["#1696d2","#000000"],"two-groups-cat-2":["#1696d2","#fdbf11"],"two-groups-cat-3":["#1696d2","#db2b27"],"two-groups-seq":["#a2d4ec","#1696d2"],"three-groups-cat":["#1696d2","#fdbf11","#000000"],"three-groups-seq":["#a2d4ec","#1696d2","#0a4c6a"],"four-groups-cat-1":["#000000","#d2d2d2","#fdbf11","#1696d2"],"four-groups-cat-2":["#1696d2","#ec0008b","#fdbf11","#5c5859"],"four-groups-seq":["#cfe8f3","#73bf42","#1696d2","#0a4c6a"],"five-groups-cat-1":["#1696d2","#fdbf11","#d2d2d2","#ec008b","#000000"],"five-groups-cat-2":["#1696d2","#0a4c6a","#d2d2d2","#fdbf11","#332d2f"],"five-groups-seq":["#cfe8f3","#73bf42","#1696d2","#0a4c6a","#000000"],"six-groups-cat-1":["#1696d2","#ec008b","#fdbf11","#000000","#d2d2d2","#55b748"],"six-groups-cat-2":["#1696d2","#d2d2d2","#ec008b","#fdbf11","#332d2f","#0a4c6a"],"six-groups-seq":["#cfe8f3","#a2d4ec","#73bfe2","#46abdb","#1696d2","#12719e"],"diverging-colors":["#ca5800","#fdbf11","#fdd870","#fff2cf","#cfe8f3","#73bfe2","#1696d2","#0a4c6a"]},Oz={background:"#FFFFFF",title:{anchor:"start",fontSize:18,font:"Lato"},axisX:{domain:!0,domainColor:"#000000",domainWidth:1,grid:!1,labelFontSize:12,labelFont:"Lato",labelAngle:0,tickColor:"#000000",tickSize:5,titleFontSize:12,titlePadding:10,titleFont:"Lato"},axisY:{domain:!1,domainWidth:1,grid:!0,gridColor:"#DEDDDD",gridWidth:1,labelFontSize:12,labelFont:"Lato",labelPadding:8,ticks:!1,titleFontSize:12,titlePadding:10,titleFont:"Lato",titleAngle:0,titleY:-10,titleX:18},legend:{labelFontSize:12,labelFont:"Lato",symbolSize:100,titleFontSize:12,titlePadding:10,titleFont:"Lato",orient:"right",offset:10},view:{stroke:"transparent"},range:{category:Mz["six-groups-cat-1"],diverging:Mz["diverging-colors"],heatmap:Mz["diverging-colors"],ordinal:Mz["six-groups-seq"],ramp:Mz["shades-blue"]},area:{fill:"#1696d2"},rect:{fill:"#1696d2"},line:{color:"#1696d2",stroke:"#1696d2",strokeWidth:5},trail:{color:"#1696d2",stroke:"#1696d2",strokeWidth:0,size:1},path:{stroke:"#1696d2",strokeWidth:.5},point:{filled:!0},text:{font:"Lato",color:"#1696d2",fontSize:11,align:"center",fontWeight:400,size:11},style:{bar:{fill:"#1696d2",stroke:null}},arc:{fill:"#1696d2"},shape:{stroke:"#1696d2"},symbol:{fill:"#1696d2",size:30}},Lz={arc:{fill:"#3366CC"},area:{fill:"#3366CC"},path:{stroke:"#3366CC"},rect:{fill:"#3366CC"},shape:{stroke:"#3366CC"},symbol:{stroke:"#3366CC"},circle:{fill:"#3366CC"},background:"#fff",padding:{top:10,right:10,bottom:10,left:10},style:{"guide-label":{font:"Arial, sans-serif",fontSize:12},"guide-title":{font:"Arial, sans-serif",fontSize:12},"group-title":{font:"Arial, sans-serif",fontSize:12}},title:{font:"Arial, sans-serif",fontSize:14,fontWeight:"bold",dy:-3,anchor:"start"},axis:{gridColor:"#ccc",tickColor:"#ccc",domain:!1,grid:!0},range:{category:["#4285F4","#DB4437","#F4B400","#0F9D58","#AB47BC","#00ACC1","#FF7043","#9E9D24","#5C6BC0","#F06292","#00796B","#C2185B"],heatmap:["#c6dafc","#5e97f6","#2a56c6"]}},Tz="2.10.0",Zz=A(420);function Hz(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function Yz(e,t,A,n,r,i,o){try{var a=e[i](o),s=a.value}catch(g){return void A(g)}a.done?t(s):Promise.resolve(s).then(n,r)}function Jz(e){return function(){var t=this,A=arguments;return new Promise((function(n,r){var i=e.apply(t,A);function o(e){Yz(i,n,r,o,a,"next",e)}function a(e){Yz(i,n,r,o,a,"throw",e)}o(void 0)}))}}var jz=Object.prototype,Pz=jz.hasOwnProperty,Vz="function"===typeof Symbol?Symbol:{},Kz=Vz.iterator||"@@iterator",Wz=Vz.asyncIterator||"@@asyncIterator",Xz=Vz.toStringTag||"@@toStringTag";function qz(e,t,A,n){var r=t&&t.prototype instanceof e$?t:e$,i=Object.create(r.prototype),o=new I$(n||[]);return i._invoke=function(e,t,A){var n="suspendedStart";return function(r,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===r)throw i;return h$()}for(A.method=r,A.arg=i;;){var o=A.delegate;if(o){var a=c$(o,A);if(a){if(a===$z)continue;return a}}if("next"===A.method)A.sent=A._sent=A.arg;else if("throw"===A.method){if("suspendedStart"===n)throw n="completed",A.arg;A.dispatchException(A.arg)}else"return"===A.method&&A.abrupt("return",A.arg);n="executing";var s=zz(e,t,A);if("normal"===s.type){if(n=A.done?"completed":"suspendedYield",s.arg===$z)continue;return{value:s.arg,done:A.done}}"throw"===s.type&&(n="completed",A.method="throw",A.arg=s.arg)}}}(e,A,o),i}function zz(e,t,A){try{return{type:"normal",arg:e.call(t,A)}}catch(n){return{type:"throw",arg:n}}}var $z={};function e$(){}function t$(){}function A$(){}var n$={};n$[Kz]=function(){return this};var r$=Object.getPrototypeOf,i$=r$&&r$(r$(C$([])));i$&&i$!==jz&&Pz.call(i$,Kz)&&(n$=i$);var o$=A$.prototype=e$.prototype=Object.create(n$);function a$(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function s$(e){var t="function"===typeof e&&e.constructor;return!!t&&(t===t$||"GeneratorFunction"===(t.displayName||t.name))}function g$(e,t){var A;this._invoke=function(n,r){function i(){return new t((function(A,i){!function A(n,r,i,o){var a=zz(e[n],e,r);if("throw"!==a.type){var s=a.arg,g=s.value;return g&&"object"===typeof g&&Pz.call(g,"__await")?t.resolve(g.__await).then((function(e){A("next",e,i,o)}),(function(e){A("throw",e,i,o)})):t.resolve(g).then((function(e){s.value=e,i(s)}),(function(e){return A("throw",e,i,o)}))}o(a.arg)}(n,r,A,i)}))}return A=A?A.then(i,i):i()}}function c$(e,t){var A=e.iterator[t.method];if(void 0===A){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,c$(e,t),"throw"===t.method))return $z;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return $z}var n=zz(A,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,$z;var r=n.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,$z):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,$z)}function u$(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function l$(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function I$(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(u$,this),this.reset(!0)}function C$(e){if(e){var t=e[Kz];if(t)return t.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var A=-1,n=function t(){for(;++A<e.length;)if(Pz.call(e,A))return t.value=e[A],t.done=!1,t;return t.value=void 0,t.done=!0,t};return n.next=n}}return{next:h$}}function h$(){return{value:void 0,done:!0}}t$.prototype=o$.constructor=A$,A$.constructor=t$,A$[Xz]=t$.displayName="GeneratorFunction",a$(g$.prototype),g$.prototype[Wz]=function(){return this},a$(o$),o$[Xz]="Generator",o$[Kz]=function(){return this},o$.toString=function(){return"[object Generator]"},I$.prototype={constructor:I$,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(l$),!e)for(var t in this)"t"===t.charAt(0)&&Pz.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function A(A,n){return i.type="throw",i.arg=e,t.next=A,n&&(t.method="next",t.arg=void 0),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n],i=r.completion;if("root"===r.tryLoc)return A("end");if(r.tryLoc<=this.prev){var o=Pz.call(r,"catchLoc"),a=Pz.call(r,"finallyLoc");if(o&&a){if(this.prev<r.catchLoc)return A(r.catchLoc,!0);if(this.prev<r.finallyLoc)return A(r.finallyLoc)}else if(o){if(this.prev<r.catchLoc)return A(r.catchLoc,!0)}else{if(!a)throw new Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return A(r.finallyLoc)}}}},abrupt:function(e,t){for(var A=this.tryEntries.length-1;A>=0;--A){var n=this.tryEntries[A];if(n.tryLoc<=this.prev&&Pz.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var r=n;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=t&&t<=r.finallyLoc&&(r=null);var i=r?r.completion:{};return i.type=e,i.arg=t,r?(this.method="next",this.next=r.finallyLoc,$z):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),$z},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var A=this.tryEntries[t];if(A.finallyLoc===e)return this.complete(A.completion,A.afterLoc),l$(A),$z}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var A=this.tryEntries[t];if(A.tryLoc===e){var n=A.completion;if("throw"===n.type){var r=n.arg;l$(A)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,A){return this.delegate={iterator:C$(e),resultName:t,nextLoc:A},"next"===this.method&&(this.arg=void 0),$z}};var f$={wrap:qz,isGeneratorFunction:s$,AsyncIterator:g$,mark:function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,A$):(e.__proto__=A$,Xz in e||(e[Xz]="GeneratorFunction")),e.prototype=Object.create(o$),e},awrap:function(e){return{__await:e}},async:function(e,t,A,n,r){void 0===r&&(r=Promise);var i=new g$(qz(e,t,A,n),r);return s$(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},keys:function(e){var t=[];for(var A in e)t.push(A);return t.reverse(),function A(){for(;t.length;){var n=t.pop();if(n in e)return A.value=n,A.done=!1,A}return A.done=!0,A}},values:C$};function d$(e,t,A){var n=e.open(t),r=new URL(t).origin,i=40;e.addEventListener("message",(function t(A){A.source===n&&(i=0,e.removeEventListener("message",t,!1))}),!1),setTimeout((function e(){i<=0||(n.postMessage(A,r),setTimeout(e,250),i-=1)}),250)}var B$='.vega-embed {\n position: relative;\n display: inline-block;\n box-sizing: border-box; }\n .vega-embed.has-actions {\n padding-right: 38px; }\n .vega-embed details:not([open]) > :not(summary) {\n display: none !important; }\n .vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n outline: none;\n cursor: pointer;\n line-height: 0px; }\n .vega-embed summary::-webkit-details-marker {\n display: none; }\n .vega-embed summary:active {\n box-shadow: #aaa 0px 0px 0px 1px inset; }\n .vega-embed summary svg {\n width: 14px;\n height: 14px; }\n .vega-embed details[open] summary {\n opacity: 0.7; }\n .vega-embed:hover summary,\n .vega-embed:focus summary {\n opacity: 1 !important;\n transition: opacity 0.2s ease; }\n .vega-embed .vega-actions {\n position: absolute;\n z-index: 1001;\n top: 35px;\n right: -9px;\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n padding-top: 8px;\n border-radius: 4px;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n border: 1px solid #d9d9d9;\n background: white;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n text-align: left; }\n .vega-embed .vega-actions a {\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n color: #434a56;\n text-decoration: none; }\n .vega-embed .vega-actions a:hover {\n background-color: #f7f7f9;\n color: black; }\n .vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n content: "";\n display: inline-block;\n position: absolute; }\n .vega-embed .vega-actions::before {\n left: auto;\n right: 14px;\n top: -16px;\n border: 8px solid #0000;\n border-bottom-color: #d9d9d9; }\n .vega-embed .vega-actions::after {\n left: auto;\n right: 15px;\n top: -14px;\n border: 7px solid #0000;\n border-bottom-color: #fff; }\n .vega-embed .chart-wrapper.fit-x {\n width: 100%; }\n .vega-embed .chart-wrapper.fit-y {\n height: 100%; }\n\n.vega-embed-wrapper {\n max-width: 100%;\n overflow: auto;\n padding-right: 14px; }\n\n@keyframes scale-in {\n from {\n opacity: 0;\n transform: scale(0.6); }\n to {\n opacity: 1;\n transform: scale(1); } }\n';function p$(e){for(var t=arguments.length,A=new Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];for(var r=0,i=A;r<i.length;r++){var o=i[r];E$(e,o)}return e}function E$(e,t){for(var A=0,n=Object.keys(t);A<n.length;A++){var r=n[A];Object(ue.lb)(e,r,t[r],!0)}}String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return this.substr(!t||t<0?0:+t,e.length)===e});var Q$;function y$(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function v$(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?y$(Object(A),!0).forEach((function(t){Hz(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):y$(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}var m$=d,b$=p,w$="undefined"!==typeof window?window:void 0;void 0===b$&&null!==w$&&void 0!==w$&&null!==(Q$=w$.vl)&&void 0!==Q$&&Q$.compile&&(b$=w$.vl);var S$={export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},F$={CLICK_TO_VIEW_ACTIONS:"Click to view actions",COMPILED_ACTION:"View Compiled Vega",EDITOR_ACTION:"Open in Vega Editor",PNG_ACTION:"Save as PNG",SOURCE_ACTION:"View Source",SVG_ACTION:"Save as SVG"},R$={vega:"Vega","vega-lite":"Vega-Lite"},D$={vega:m$.version,"vega-lite":b$?b$.version:"not available"},G$={vega:function(e){return e},"vega-lite":function(e,t){return b$.compile(e,{config:t}).spec}},k$='\n<svg viewBox="0 0 16 16" fill="currentColor" stroke="none" stroke-width="1" stroke-linecap="round" stroke-linejoin="round">\n <circle r="2" cy="8" cx="2"></circle>\n <circle r="2" cy="8" cx="8"></circle>\n <circle r="2" cy="8" cx="14"></circle>\n</svg>';function x$(e){return"function"===typeof e}function N$(e,t,A,n){var r="<html><head>".concat(t,'</head><body><pre><code class="json">'),i="</code></pre>".concat(A,"</body></html>"),o=window.open("");o.document.write(r+e+i),o.document.title="".concat(R$[n]," JSON Source")}function U$(e,t){if(e.$schema){var A,n=Sz(e.$schema);if(t&&t!==n.library)console.warn("The given visualization spec is written in ".concat(R$[n.library],", but mode argument sets ").concat(null!==(A=R$[t])&&void 0!==A?A:t,"."));var r=n.library;return Object(ce.satisfies)(D$[r],"^".concat(n.version.slice(1)))||console.warn("The input spec uses ".concat(R$[r]," ").concat(n.version,", but the current version of ").concat(R$[r]," is v").concat(D$[r],".")),r}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":null!==t&&void 0!==t?t:"vega"}function _$(e){return(t=e)&&"load"in t?e:m$.loader(e);var t}function M$(e){var t;return null!==(t=e.usermeta&&e.usermeta.embedOptions)&&void 0!==t?t:{}}function O$(){return(O$=Jz(f$.mark((function e(t,A){var n,r,i,o,a,s,g,c,u,l,I=arguments;return f$.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=I.length>2&&void 0!==I[2]?I[2]:{},!Object(ue.J)(A)){e.next=10;break}return a=_$(i.loader),e.t0=JSON,e.next=6,a.load(A);case 6:e.t1=e.sent,o=e.t0.parse.call(e.t0,e.t1),e.next=11;break;case 10:o=A;case 11:return s=M$(o).loader,a&&!s||(a=_$(null!==(g=i.loader)&&void 0!==g?g:s)),e.next=15,L$(M$(o),a);case 15:return c=e.sent,e.next=18,L$(i,a);case 18:return u=e.sent,l=v$(v$({},p$(u,c)),{},{config:Object(ue.P)(null!==(n=u.config)&&void 0!==n?n:{},null!==(r=c.config)&&void 0!==r?r:{})}),e.next=22,H$(t,o,l,a);case 22:return e.abrupt("return",e.sent);case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function L$(e,t){return T$.apply(this,arguments)}function T$(){return(T$=Jz(f$.mark((function e(t,A){var n,r,i;return f$.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Object(ue.J)(t.config)){e.next=8;break}return e.t1=JSON,e.next=4,A.load(t.config);case 4:e.t2=e.sent,e.t0=e.t1.parse.call(e.t1,e.t2),e.next=9;break;case 8:e.t0=null!==(n=t.config)&&void 0!==n?n:{};case 9:if(r=e.t0,!Object(ue.J)(t.patch)){e.next=18;break}return e.t4=JSON,e.next=14,A.load(t.patch);case 14:e.t5=e.sent,e.t3=e.t4.parse.call(e.t4,e.t5),e.next=19;break;case 18:e.t3=t.patch;case 19:return i=e.t3,e.abrupt("return",v$(v$(v$({},t),i?{patch:i}:{}),r?{config:r}:{}));case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Z$(e){var t,A=e.getRootNode?e.getRootNode():document;return A instanceof ShadowRoot?{root:A,rootContainer:A}:{root:document,rootContainer:null!==(t=document.head)&&void 0!==t?t:document.body}}function H$(e,t){return Y$.apply(this,arguments)}function Y$(){return(Y$=Jz(f$.mark((function e(t,A){var n,r,i,o,a,s,g,c,u,l,I,C,h,f,d,B,p,Q,y,v,m,b,w,S,F,R,D,G,k,x,N,U,_,M,O,L,T,Z,H,Y,J,j,P,V,K,X,q,z,$,ee=arguments;return f$.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if($=function(){L&&document.removeEventListener("click",L),x.finalize()},c=ee.length>2&&void 0!==ee[2]?ee[2]:{},u=ee.length>3?ee[3]:void 0,l=c.theme?Object(ue.P)(E[c.theme],null!==(n=c.config)&&void 0!==n?n:{}):c.config,I=Object(ue.C)(c.actions)?c.actions:p$({},S$,null!==(r=c.actions)&&void 0!==r?r:{}),C=v$(v$({},F$),c.i18n),h=null!==(i=c.renderer)&&void 0!==i?i:"canvas",f=null!==(o=c.logLevel)&&void 0!==o?o:m$.Warn,d=null!==(a=c.downloadFileName)&&void 0!==a?a:"visualization",B="string"===typeof t?document.querySelector(t):t){e.next=12;break}throw new Error("".concat(t," does not exist"));case 12:return!1!==c.defaultStyle&&(p="vega-embed-style",Q=Z$(B),y=Q.root,v=Q.rootContainer,y.getElementById(p)||((m=document.createElement("style")).id=p,m.innerText=void 0===c.defaultStyle||!0===c.defaultStyle?B$.toString():c.defaultStyle,v.appendChild(m))),b=U$(A,c.mode),w=G$[b](A,l),"vega-lite"===b&&w.$schema&&(S=Sz(w.$schema),Object(ce.satisfies)(D$.vega,"^".concat(S.version.slice(1)))||console.warn("The compiled spec uses Vega ".concat(S.version,", but current version is v").concat(D$.vega,"."))),B.classList.add("vega-embed"),I&&B.classList.add("has-actions"),B.innerHTML="",F=B,I&&((R=document.createElement("div")).classList.add("chart-wrapper"),B.appendChild(R),F=R),(D=c.patch)&&(w=D instanceof Function?D(w):W(w,D,!0,!1).newDocument),c.formatLocale&&m$.formatLocale(c.formatLocale),c.timeFormatLocale&&m$.timeFormatLocale(c.timeFormatLocale),G=c.ast,k=m$.parse(w,"vega-lite"===b?{}:l,{ast:G}),(x=new(c.viewClass||m$.View)(k,v$({loader:u,logLevel:f,renderer:h},G?{expr:null!==(s=null!==(g=m$.expressionInterpreter)&&void 0!==g?g:c.expr)&&void 0!==s?s:QU}:{}))).addSignalListener("autosize",(function(e,t){var A=t.type;"fit-x"==A?(F.classList.add("fit-x"),F.classList.remove("fit-y")):"fit-y"==A?(F.classList.remove("fit-x"),F.classList.add("fit-y")):"fit"==A?F.classList.add("fit-x","fit-y"):F.classList.remove("fit-x","fit-y")})),!1!==c.tooltip&&(N=x$(c.tooltip)?c.tooltip:new Zz.a(!0===c.tooltip?{}:c.tooltip).call,x.tooltip(N)),void 0===(U=c.hover)&&(U="vega"===b),U&&(M=(_="boolean"===typeof U?{}:U).hoverSet,O=_.updateSet,x.hover(M,O)),c&&(null!=c.width&&x.width(c.width),null!=c.height&&x.height(c.height),null!=c.padding&&x.padding(c.padding)),e.next=36,x.initialize(F,c.bind).runAsync();case 36:if(!1!==I){if(T=B,!1!==c.defaultStyle&&((Z=document.createElement("details")).title=C.CLICK_TO_VIEW_ACTIONS,B.append(Z),T=Z,(H=document.createElement("summary")).innerHTML=k$,Z.append(H),L=function(e){Z.contains(e.target)||Z.removeAttribute("open")},document.addEventListener("click",L)),Y=document.createElement("div"),T.append(Y),Y.classList.add("vega-actions"),!0===I||!1!==I.export)for(J=function(){var e=P[j];if(!0===I||!0===I.export||I.export[e]){var t=C["".concat(e.toUpperCase(),"_ACTION")],A=document.createElement("a");A.text=t,A.href="#",A.target="_blank",A.download="".concat(d,".").concat(e),A.addEventListener("mousedown",function(){var t=Jz(f$.mark((function t(A){var n;return f$.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return A.preventDefault(),t.next=3,x.toImageURL(e,c.scaleFactor);case 3:n=t.sent,this.href=n;case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()),Y.append(A)}},j=0,P=["svg","png"];j<P.length;j++)J();!0!==I&&!1===I.source||((V=document.createElement("a")).text=C.SOURCE_ACTION,V.href="#",V.addEventListener("click",(function(e){var t,n;N$(ge()(A),null!==(t=c.sourceHeader)&&void 0!==t?t:"",null!==(n=c.sourceFooter)&&void 0!==n?n:"",b),e.preventDefault()})),Y.append(V)),"vega-lite"!==b||!0!==I&&!1===I.compiled||((K=document.createElement("a")).text=C.COMPILED_ACTION,K.href="#",K.addEventListener("click",(function(e){var t,A;N$(ge()(w),null!==(t=c.sourceHeader)&&void 0!==t?t:"",null!==(A=c.sourceFooter)&&void 0!==A?A:"","vega"),e.preventDefault()})),Y.append(K)),!0!==I&&!1===I.editor||(q=null!==(X=c.editorUrl)&&void 0!==X?X:"https://vega.github.io/editor/",(z=document.createElement("a")).text=C.EDITOR_ACTION,z.href="#",z.addEventListener("click",(function(e){d$(window,q,{config:l,mode:b,renderer:h,spec:ge()(A)}),e.preventDefault()})),Y.append(z))}return e.abrupt("return",{view:x,spec:A,vgSpec:w,finalize:$});case 38:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function J$(e,t){Object.keys(t).forEach((function(A){!function(e,t,A){var n;A&&((n=A)&&"[object Function]"==={}.toString.call(n)?A(e.data(t)):e.change(t,m$.changeset().remove((function(){return!0})).insert(A)))}(e,A,t[A])}))}function j$(e){var t=new Set;return e.forEach((function(e){Object.keys(e).forEach((function(e){t.add(e)}))})),t}var P$=function(){};function V$(e,t){var A=Object.keys(t);return A.forEach((function(A){try{e.addSignalListener(A,t[A])}catch(n){console.warn("Cannot add invalid signal listener.",n)}})),A.length>0}function K$(e,t){var A=Object.keys(t);return A.forEach((function(A){try{e.removeSignalListener(A,t[A])}catch(n){console.warn("Cannot remove invalid signal listener.",n)}})),A.length>0}var W$=A(7);function X$(e){var t=e.spec,A=e.width,n=e.height;return"undefined"!==typeof A&&"undefined"!==typeof n?Object(W$.a)({},t,{width:A,height:n}):"undefined"!==typeof A?Object(W$.a)({},t,{width:A}):"undefined"!==typeof n?Object(W$.a)({},t,{height:n}):t}function q$(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var z$=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){var e;Object(y.a)(this,A);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return e=t.call.apply(t,[this].concat(r)),q$(Object(m.a)(e),"containerRef",D.a.createRef()),q$(Object(m.a)(e),"resultPromise",void 0),q$(Object(m.a)(e),"handleError",(function(t){var A=e.props.onError;(void 0===A?P$:A)(t),console.warn(t)})),q$(Object(m.a)(e),"modifyView",(function(t){e.resultPromise&&e.resultPromise.then((function(e){return e&&t(e.view),!0})).catch(e.handleError)})),e}return Object(v.a)(A,[{key:"componentDidMount",value:function(){this.createView()}},{key:"componentDidUpdate",value:function(e){var t=this,A=j$([this.props,e]);if(A.delete("className"),A.delete("signalListeners"),A.delete("spec"),A.delete("style"),A.delete("width"),A.delete("height"),Array.from(A).some((function(A){return t.props[A]!==e[A]})))this.clearView(),this.createView();else{var n=function(e,t){if(e===t)return!1;var A={width:!1,height:!1,isExpensive:!1},n=j$([e,t]);return!n.has("width")||"width"in e&&"width"in t&&e.width===t.width||("width"in e&&"number"===typeof e.width?A.width=e.width:A.isExpensive=!0),!n.has("height")||"height"in e&&"height"in t&&e.height===t.height||("height"in e&&"number"===typeof e.height?A.height=e.height:A.isExpensive=!0),n.delete("width"),n.delete("height"),Object(zn.a)(n).some((function(A){return!(A in e)||!(A in t)||!XU()(e[A],t[A])}))&&(A.isExpensive=!0),!(!1===A.width&&!1===A.height&&!A.isExpensive)&&A}(X$(this.props),X$(e)),r=this.props.signalListeners,i=e.signalListeners;if(n)if(n.isExpensive)this.clearView(),this.createView();else{var o=!k(r,i);this.modifyView((function(e){!1!==n.width&&e.width(n.width),!1!==n.height&&e.height(n.height),o&&(i&&K$(e,i),r&&V$(e,r)),e.run()}))}else k(r,i)||this.modifyView((function(e){i&&K$(e,i),r&&V$(e,r),e.run()}))}}},{key:"componentWillUnmount",value:function(){this.clearView()}},{key:"createView",value:function(){var e=this.props,t=(e.spec,e.onNewView),A=e.signalListeners,n=void 0===A?{}:A,r=(e.width,e.height,Object(Q.a)(e,["spec","onNewView","signalListeners","width","height"]));if(this.containerRef.current){var i=X$(this.props);this.resultPromise=function(e,t){return O$.apply(this,arguments)}(this.containerRef.current,i,r).then((function(e){if(e){var t=e.view;V$(t,n)&&t.run()}return e})).catch(this.handleError),t&&this.modifyView(t)}}},{key:"clearView",value:function(){return this.resultPromise&&this.resultPromise.then((function(e){e&&e.finalize()})).catch(this.handleError),this.resultPromise=void 0,this}},{key:"render",value:function(){var e=this.props,t=e.className,A=e.style;return D.a.createElement("div",{ref:this.containerRef,className:t,style:A})}}]),A}(D.a.PureComponent);function $$(){return($$=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function e0(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}q$(z$,"propTypes",{className:F.a.string,onError:F.a.func}),A.d(t,"a",(function(){return t0}));var t0=function(e){Object(b.a)(A,e);var t=Object(w.a)(A);function A(){var e;Object(y.a)(this,A);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return e=t.call.apply(t,[this].concat(r)),e0(Object(m.a)(e),"vegaEmbed",D.a.createRef()),e0(Object(m.a)(e),"handleNewView",(function(t){e.update();var A=e.props.onNewView;(void 0===A?P$:A)(t)})),e}return Object(v.a)(A,[{key:"componentDidMount",value:function(){this.update()}},{key:"componentDidUpdate",value:function(e){k(this.props.data,e.data)||this.update()}},{key:"update",value:function(){var e=this.props.data;this.vegaEmbed.current&&e&&Object.keys(e).length>0&&this.vegaEmbed.current.modifyView((function(t){J$(t,e),t.resize().run()}))}},{key:"render",value:function(){var e=this.props,t=(e.data,Object(Q.a)(e,["data"]));return D.a.createElement(z$,$$({ref:this.vegaEmbed},t,{onNewView:this.handleNewView}))}}]),A}(D.a.PureComponent);e0(t0,"defaultProps",{data:{}})},function(e,t,A){"use strict";var n={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function r(e){return"number"===typeof e}function i(e){return e&&!0===e.constructor.prototype.isBigNumber||!1}function o(e){return e&&"object"===typeof e&&!0===Object.getPrototypeOf(e).isComplex||!1}function a(e){return e&&"object"===typeof e&&!0===Object.getPrototypeOf(e).isFraction||!1}function s(e){return e&&!0===e.constructor.prototype.isUnit||!1}function g(e){return"string"===typeof e}var c=Array.isArray;function u(e){return e&&!0===e.constructor.prototype.isMatrix||!1}function l(e){return Array.isArray(e)||u(e)}function I(e){return e&&e.isDenseMatrix&&!0===e.constructor.prototype.isMatrix||!1}function C(e){return e&&e.isSparseMatrix&&!0===e.constructor.prototype.isMatrix||!1}function h(e){return e&&!0===e.constructor.prototype.isRange||!1}function f(e){return e&&!0===e.constructor.prototype.isIndex||!1}function d(e){return"boolean"===typeof e}function B(e){return e&&!0===e.constructor.prototype.isResultSet||!1}function p(e){return e&&!0===e.constructor.prototype.isHelp||!1}function E(e){return"function"===typeof e}function Q(e){return e instanceof Date}function y(e){return e instanceof RegExp}function v(e){return!(!e||"object"!==typeof e||e.constructor!==Object||o(e)||a(e))}function m(e){return null===e}function b(e){return void 0===e}function w(e){return e&&!0===e.isAccessorNode&&!0===e.constructor.prototype.isNode||!1}function S(e){return e&&!0===e.isArrayNode&&!0===e.constructor.prototype.isNode||!1}function F(e){return e&&!0===e.isAssignmentNode&&!0===e.constructor.prototype.isNode||!1}function R(e){return e&&!0===e.isBlockNode&&!0===e.constructor.prototype.isNode||!1}function D(e){return e&&!0===e.isConditionalNode&&!0===e.constructor.prototype.isNode||!1}function G(e){return e&&!0===e.isConstantNode&&!0===e.constructor.prototype.isNode||!1}function k(e){return e&&!0===e.isFunctionAssignmentNode&&!0===e.constructor.prototype.isNode||!1}function x(e){return e&&!0===e.isFunctionNode&&!0===e.constructor.prototype.isNode||!1}function N(e){return e&&!0===e.isIndexNode&&!0===e.constructor.prototype.isNode||!1}function U(e){return e&&!0===e.isNode&&!0===e.constructor.prototype.isNode||!1}function _(e){return e&&!0===e.isObjectNode&&!0===e.constructor.prototype.isNode||!1}function M(e){return e&&!0===e.isOperatorNode&&!0===e.constructor.prototype.isNode||!1}function O(e){return e&&!0===e.isParenthesisNode&&!0===e.constructor.prototype.isNode||!1}function L(e){return e&&!0===e.isRangeNode&&!0===e.constructor.prototype.isNode||!1}function T(e){return e&&!0===e.isSymbolNode&&!0===e.constructor.prototype.isNode||!1}function Z(e){return e&&!0===e.constructor.prototype.isChain||!1}function H(e){var t=typeof e;return"object"===t?null===e?"null":Array.isArray(e)?"Array":e instanceof Date?"Date":e instanceof RegExp?"RegExp":i(e)?"BigNumber":o(e)?"Complex":a(e)?"Fraction":u(e)?"Matrix":s(e)?"Unit":f(e)?"Index":h(e)?"Range":B(e)?"ResultSet":U(e)?e.type:Z(e)?"Chain":p(e)?"Help":"Object":"function"===t?"Function":t}function Y(e){var t=typeof e;if("number"===t||"string"===t||"boolean"===t||null===e||void 0===e)return e;if("function"===typeof e.clone)return e.clone();if(Array.isArray(e))return e.map((function(e){return Y(e)}));if(e instanceof Date)return new Date(e.valueOf());if(i(e))return e;if(e instanceof RegExp)throw new TypeError("Cannot clone "+e);return J(e,Y)}function J(e,t){var A={};for(var n in e)V(e,n)&&(A[n]=t(e[n]));return A}function j(e,t){for(var A in t)V(t,A)&&(e[A]=t[A]);return e}function P(e,t){var A,n,r;if(Array.isArray(e)){if(!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(n=0,r=e.length;n<r;n++)if(!P(e[n],t[n]))return!1;return!0}if("function"===typeof e)return e===t;if(e instanceof Object){if(Array.isArray(t)||!(t instanceof Object))return!1;for(A in e)if(!(A in t)||!P(e[A],t[A]))return!1;for(A in t)if(!(A in e)||!P(e[A],t[A]))return!1;return!0}return e===t}function V(e,t){return e&&Object.hasOwnProperty.call(e,t)}var K=["Matrix","Array"],W=["number","BigNumber","Fraction"];function X(){return(X=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}var q=function(e){if(e)throw new Error("The global config is readonly. \nPlease create a mathjs instance if you want to change the default configuration. \nExample:\n\n import { create, all } from 'mathjs';\n const mathjs = create(all);\n mathjs.config({ number: 'BigNumber' });\n");return Object.freeze(n)};function z(e){return"boolean"===typeof e||!!isFinite(e)&&e===Math.round(e)}X(q,n,{MATRIX_OPTIONS:K,NUMBER_OPTIONS:W});var $=Math.sign||function(e){return e>0?1:e<0?-1:0},ee=Math.log2||function(e){return Math.log(e)/Math.LN2},te=Math.log10||function(e){return Math.log(e)/Math.LN10},Ae=(Math.log1p,Math.cbrt||function(e){if(0===e)return e;var t,A=e<0;return A&&(e=-e),t=isFinite(e)?(e/((t=Math.exp(Math.log(e)/3))*t)+2*t)/3:e,A?-t:t}),ne=Math.expm1||function(e){return e>=2e-4||e<=-2e-4?Math.exp(e)-1:e+e*e/2+e*e*e/6};function re(e,t,A){var n={2:"0b",8:"0o",16:"0x"}[t],r="";if(A){if(A<1)throw new Error("size must be in greater than 0");if(!z(A))throw new Error("size must be an integer");if(e>Math.pow(2,A-1)-1||e<-Math.pow(2,A-1))throw new Error("Value must be in range [-2^".concat(A-1,", 2^").concat(A-1,"-1]"));if(!z(e))throw new Error("Value must be an integer");e<0&&(e+=Math.pow(2,A)),r="i".concat(A)}var i="";return e<0&&(e=-e,i="-"),"".concat(i).concat(n).concat(e.toString(t)).concat(r)}function ie(e,t){if("function"===typeof t)return t(e);if(e===1/0)return"Infinity";if(e===-1/0)return"-Infinity";if(isNaN(e))return"NaN";var A,n,i="auto";if(t&&(t.notation&&(i=t.notation),r(t)?A=t:r(t.precision)&&(A=t.precision),t.wordSize&&"number"!==typeof(n=t.wordSize)))throw new Error('Option "wordSize" must be a number');switch(i){case"fixed":return ae(e,A);case"exponential":return se(e,A);case"engineering":return function(e,t){if(isNaN(e)||!isFinite(e))return String(e);var A=ge(oe(e),t),n=A.exponent,i=A.coefficients,o=n%3===0?n:n<0?n-3-n%3:n-n%3;if(r(t))for(;t>i.length||n-o+1>i.length;)i.push(0);else for(var a=Math.abs(n-o)-(i.length-1),s=0;s<a;s++)i.push(0);var g=Math.abs(n-o),c=1;for(;g>0;)c++,g--;var u=i.slice(c).join(""),l=r(t)&&u.length||u.match(/[1-9]/)?"."+u:"",I=i.slice(0,c).join("")+l+"e"+(n>=0?"+":"")+o.toString();return A.sign+I}(e,A);case"bin":return re(e,2,n);case"oct":return re(e,8,n);case"hex":return re(e,16,n);case"auto":return function(e,t,A){if(isNaN(e)||!isFinite(e))return String(e);var n=A&&void 0!==A.lowerExp?A.lowerExp:-3,r=A&&void 0!==A.upperExp?A.upperExp:5,i=oe(e),o=t?ge(i,t):i;if(o.exponent<n||o.exponent>=r)return se(e,t);var a=o.coefficients,s=o.exponent;a.length<t&&(a=a.concat(ce(t-a.length))),a=a.concat(ce(s-a.length+1+(a.length<t?t-a.length:0))),a=ce(-s).concat(a);var g=s>0?s:0;return g<a.length-1&&a.splice(g+1,0,"."),o.sign+a.join("")}(e,A,t&&t).replace(/((\.\d*?)(0+))($|e)/,(function(){var e=arguments[2],t=arguments[4];return"."!==e?e+t:t}));default:throw new Error('Unknown notation "'+i+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function oe(e){var t=String(e).toLowerCase().match(/^0*?(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!t)throw new SyntaxError("Invalid number "+e);var A=t[1],n=t[2],r=parseFloat(t[4]||"0"),i=n.indexOf(".");r+=-1!==i?i-1:n.length-1;var o=n.replace(".","").replace(/^0*/,(function(e){return r-=e.length,""})).replace(/0*$/,"").split("").map((function(e){return parseInt(e)}));return 0===o.length&&(o.push(0),r++),{sign:A,coefficients:o,exponent:r}}function ae(e,t){if(isNaN(e)||!isFinite(e))return String(e);var A=oe(e),n="number"===typeof t?ge(A,A.exponent+1+t):A,r=n.coefficients,i=n.exponent+1,o=i+(t||0);return r.length<o&&(r=r.concat(ce(o-r.length))),i<0&&(r=ce(1-i).concat(r),i=1),i<r.length&&r.splice(i,0,0===i?"0.":"."),n.sign+r.join("")}function se(e,t){if(isNaN(e)||!isFinite(e))return String(e);var A=oe(e),n=t?ge(A,t):A,r=n.coefficients,i=n.exponent;r.length<t&&(r=r.concat(ce(t-r.length)));var o=r.shift();return n.sign+o+(r.length>0?"."+r.join(""):"")+"e"+(i>=0?"+":"")+i}function ge(e,t){for(var A={sign:e.sign,coefficients:e.coefficients,exponent:e.exponent},n=A.coefficients;t<=0;)n.unshift(0),A.exponent++,t++;if(n.length>t&&n.splice(t,n.length-t)[0]>=5){var r=t-1;for(n[r]++;10===n[r];)n.pop(),0===r&&(n.unshift(0),A.exponent++,r++),n[--r]++}return A}function ce(e){for(var t=[],A=0;A<e;A++)t.push(0);return t}var ue=Number.EPSILON||2220446049250313e-31;function le(e,t,A){if(null===A||void 0===A)return e===t;if(e===t)return!0;if(isNaN(e)||isNaN(t))return!1;if(isFinite(e)&&isFinite(t)){var n=Math.abs(e-t);return n<ue||n<=Math.max(Math.abs(e),Math.abs(t))*A}return!1}var Ie=Math.acosh||function(e){return Math.log(Math.sqrt(e*e-1)+e)},Ce=Math.asinh||function(e){return Math.log(Math.sqrt(e*e+1)+e)},he=Math.atanh||function(e){return Math.log((1+e)/(1-e))/2},fe=(Math.cosh,Math.sinh||function(e){return(Math.exp(e)-Math.exp(-e))/2});Math.tanh;function de(e,t,A){var n=new(0,e.constructor)(2),r="";if(A){if(A<1)throw new Error("size must be in greater than 0");if(!z(A))throw new Error("size must be an integer");if(e.greaterThan(n.pow(A-1).sub(1))||e.lessThan(n.pow(A-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(A-1,", 2^").concat(A-1,"-1]"));if(!e.isInteger())throw new Error("Value must be an integer");e.lessThan(0)&&(e=e.add(n.pow(A))),r="i".concat(A)}switch(t){case 2:return"".concat(e.toBinary()).concat(r);case 8:return"".concat(e.toOctal()).concat(r);case 16:return"".concat(e.toHexadecimal()).concat(r);default:throw new Error("Base ".concat(t," not supported "))}}function Be(e,t){if("function"===typeof t)return t(e);if(!e.isFinite())return e.isNaN()?"NaN":e.gt(0)?"Infinity":"-Infinity";var A,n,r="auto";if(void 0!==t&&(t.notation&&(r=t.notation),"number"===typeof t?A=t:t.precision&&(A=t.precision),t.wordSize&&"number"!==typeof(n=t.wordSize)))throw new Error('Option "wordSize" must be a number');switch(r){case"fixed":return function(e,t){return e.toFixed(t)}(e,A);case"exponential":return pe(e,A);case"engineering":return function(e,t){var A=e.e,n=A%3===0?A:A<0?A-3-A%3:A-A%3,r=e.mul(Math.pow(10,-n)),i=r.toPrecision(t);-1!==i.indexOf("e")&&(i=r.toString());return i+"e"+(A>=0?"+":"")+n.toString()}(e,A);case"bin":return de(e,2,n);case"oct":return de(e,8,n);case"hex":return de(e,16,n);case"auto":var i=t&&void 0!==t.lowerExp?t.lowerExp:-3,o=t&&void 0!==t.upperExp?t.upperExp:5;if(e.isZero())return"0";var a=e.toSignificantDigits(A),s=a.e;return(s>=i&&s<o?a.toFixed():pe(e,A)).replace(/((\.\d*?)(0+))($|e)/,(function(){var e=arguments[2],t=arguments[4];return"."!==e?e+t:t}));default:throw new Error('Unknown notation "'+r+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function pe(e,t){return void 0!==t?e.toExponential(t-1):e.toExponential()}function Ee(e,t){var A=e.length-t.length,n=e.length;return e.substring(A,n)===t}function Qe(e,t){return"number"===typeof e?ie(e,t):i(e)?Be(e,t):function(e){return e&&"object"===typeof e&&"number"===typeof e.s&&"number"===typeof e.n&&"number"===typeof e.d||!1}(e)?t&&"decimal"===t.fraction?e.toString():e.s*e.n+"/"+e.d:Array.isArray(e)?function e(t,A){if(Array.isArray(t)){for(var n="[",r=t.length,i=0;i<r;i++)0!==i&&(n+=", "),n+=e(t[i],A);return n+="]"}return Qe(t,A)}(e,t):g(e)?'"'+e+'"':"function"===typeof e?e.syntax?String(e.syntax):"function":e&&"object"===typeof e?"function"===typeof e.format?e.format(t):e&&e.toString(t)!=={}.toString()?e.toString(t):"{"+Object.keys(e).map((function(A){return'"'+A+'": '+Qe(e[A],t)})).join(", ")+"}":String(e)}function ye(e,t,A){if(!(this instanceof ye))throw new SyntaxError("Constructor must be called with the new operator");this.actual=e,this.expected=t,this.relation=A,this.message="Dimension mismatch ("+(Array.isArray(e)?"["+e.join(", ")+"]":e)+" "+(this.relation||"!=")+" "+(Array.isArray(t)?"["+t.join(", ")+"]":t)+")",this.stack=(new Error).stack}function ve(e,t,A){if(!(this instanceof ve))throw new SyntaxError("Constructor must be called with the new operator");this.index=e,arguments.length<3?(this.min=0,this.max=t):(this.min=t,this.max=A),void 0!==this.min&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":void 0!==this.max&&this.index>=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=(new Error).stack}function me(e){for(var t=[];Array.isArray(e);)t.push(e.length),e=e[0];return t}function be(e,t){if(0===t.length){if(Array.isArray(e))throw new ye(e.length,0)}else!function e(t,A,n){var r,i=t.length;if(i!==A[n])throw new ye(i,A[n]);if(n<A.length-1){var o=n+1;for(r=0;r<i;r++){var a=t[r];if(!Array.isArray(a))throw new ye(A.length-1,A.length,"<");e(t[r],A,o)}}else for(r=0;r<i;r++)if(Array.isArray(t[r]))throw new ye(A.length+1,A.length,">")}(e,t,0)}function we(e,t){if(!r(e)||!z(e))throw new TypeError("Index must be an integer (value: "+e+")");if(e<0||"number"===typeof t&&e>=t)throw new ve(e,t)}function Se(e,t,A){if(!Array.isArray(e)||!Array.isArray(t))throw new TypeError("Array expected");if(0===t.length)throw new Error("Resizing to scalar is not supported");return t.forEach((function(e){if(!r(e)||!z(e)||e<0)throw new TypeError("Invalid size, must contain positive integers (size: "+Qe(t)+")")})),function e(t,A,n,r){var i,o,a=t.length,s=A[n],g=Math.min(a,s);if(t.length=s,n<A.length-1){var c=n+1;for(i=0;i<g;i++)o=t[i],Array.isArray(o)||(o=[o],t[i]=o),e(o,A,c,r);for(i=g;i<s;i++)o=[],t[i]=o,e(o,A,c,r)}else{for(i=0;i<g;i++)for(;Array.isArray(t[i]);)t[i]=t[i][0];for(i=g;i<s;i++)t[i]=r}}(e,t,0,void 0!==A?A:0),e}function Fe(e,t){var A=ke(e),n=A.length;if(!Array.isArray(e)||!Array.isArray(t))throw new TypeError("Array expected");if(0===t.length)throw new ye(0,n,"!=");var r=De(t=Re(t,n));if(n!==r)throw new ye(r,n,"!=");try{return function(e,t){for(var A,n=e,r=t.length-1;r>0;r--){var i=t[r];A=[];for(var o=n.length/i,a=0;a<o;a++)A.push(n.slice(a*i,(a+1)*i));n=A}return n}(A,t)}catch(i){if(i instanceof ye)throw new ye(r,n,"!=");throw i}}function Re(e,t){var A=De(e),n=e.slice(),r=e.indexOf(-1);if(e.indexOf(-1,r+1)>=0)throw new Error("More than one wildcard in sizes");if(r>=0){if(!(t%A===0))throw new Error("Could not replace wildcard, since "+t+" is no multiple of "+-A);n[r]=-t/A}return n}function De(e){return e.reduce((function(e,t){return e*t}),1)}function Ge(e,t,A,n){var r=n||me(e);if(A)for(var i=0;i<A;i++)e=[e],r.unshift(1);for(e=function e(t,A,n){var r,i;if(Array.isArray(t)){var o=n+1;for(r=0,i=t.length;r<i;r++)t[r]=e(t[r],A,o)}else for(var a=n;a<A;a++)t=[t];return t}(e,t,0);r.length<t;)r.push(1);return e}function ke(e){if(!Array.isArray(e))return e;var t=[];return e.forEach((function e(A){Array.isArray(A)?A.forEach(e):t.push(A)})),t}function xe(e,t){for(var A,n=0,r=0;r<e.length;r++){var i=e[r],o=Array.isArray(i);if(0===r&&o&&(n=i.length),o&&i.length!==n)return;var a=o?xe(i,t):t(i);if(void 0===A)A=a;else if(A!==a)return"mixed"}return A}function Ne(e,t,A,n){function r(n){var r=function(e,t){for(var A={},n=0;n<t.length;n++){var r=t[n],i=e[r];void 0!==i&&(A[r]=i)}return A}(n,t.map(Ue));return function(e,t,A){if(!t.filter((function(e){return!function(e){return e&&"?"===e[0]}(e)})).every((function(e){return void 0!==A[e]}))){var n=t.filter((function(e){return void 0===A[e]}));throw new Error('Cannot create function "'.concat(e,'", ')+"some dependencies are missing: ".concat(n.map((function(e){return'"'.concat(e,'"')})).join(", "),"."))}}(e,t,n),A(r)}return r.isFactory=!0,r.fn=e,r.dependencies=t.slice().sort(),n&&(r.meta=n),r}function Ue(e){return e&&"?"===e[0]?e.slice(1):e}ye.prototype=new RangeError,ye.prototype.constructor=RangeError,ye.prototype.name="DimensionError",ye.prototype.isDimensionError=!0,ve.prototype=new RangeError,ve.prototype.constructor=RangeError,ve.prototype.name="IndexError",ve.prototype.isIndexError=!0;var _e=A(110),Me=A.n(_e),Oe=Ne("Complex",[],(function(){return Me.a.prototype.type="Complex",Me.a.prototype.isComplex=!0,Me.a.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},Me.a.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},Me.a.prototype.format=function(e){var t=this.im,A=this.re,n=ie(this.re,e),i=ie(this.im,e),o=r(e)?e:e?e.precision:null;if(null!==o){var a=Math.pow(10,-o);Math.abs(A/t)<a&&(A=0),Math.abs(t/A)<a&&(t=0)}return 0===t?n:0===A?1===t?"i":-1===t?"-i":i+"i":t<0?-1===t?n+" - i":n+" - "+i.substring(1)+"i":1===t?n+" + i":n+" + "+i+"i"},Me.a.fromPolar=function(e){switch(arguments.length){case 1:var t=arguments[0];if("object"===typeof t)return Me()(t);throw new TypeError("Input has to be an object with r and phi keys.");case 2:var A=arguments[0],n=arguments[1];if(r(A)){if(s(n)&&n.hasBase("ANGLE")&&(n=n.toNumber("rad")),r(n))return new Me.a({r:A,phi:n});throw new TypeError("Phi is not a number nor an angle unit.")}throw new TypeError("Radius r is not a number.");default:throw new SyntaxError("Wrong number of arguments in function fromPolar")}},Me.a.prototype.valueOf=Me.a.prototype.toString,Me.a.fromJSON=function(e){return new Me.a(e)},Me.a.compare=function(e,t){return e.re>t.re?1:e.re<t.re?-1:e.im>t.im?1:e.im<t.im?-1:0},Me.a}),{isClass:!0});function Le(e){var t=0,A=1,n=Object.create(null),r=Object.create(null),i=0,o=function(e){var o=r[e];if(o&&(delete n[o],delete r[e],--t,A===o)){if(!t)return i=0,void(A=1);for(;!hasOwnProperty.call(n,++A););}};return e=Math.abs(e),{hit:function(a){var s=r[a],g=++i;if(n[g]=a,r[a]=g,!s){if(++t<=e)return;return a=n[A],o(a),a}if(delete n[s],A===s)for(;!hasOwnProperty.call(n,++A););},delete:o,clear:function(){t=i=0,A=1,n=Object.create(null),r=Object.create(null)}}}function Te(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.hasher,n=t.limit;return n=null==n?Number.POSITIVE_INFINITY:n,A=null==A?JSON.stringify:A,function t(){"object"!==typeof t.cache&&(t.cache={values:new Map,lru:Le(n||Number.POSITIVE_INFINITY)});for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];var o=A(r);if(t.cache.values.has(o))return t.cache.lru.hit(o),t.cache.values.get(o);var a=e.apply(e,r);return t.cache.values.set(o,a),t.cache.values.delete(t.cache.lru.hit(o)),a}}Te((function(e){return new e(1).exp()}),{hasher:He}),Te((function(e){return new e(1).plus(new e(5).sqrt()).div(2)}),{hasher:He});var Ze=Te((function(e){return e.acos(-1)}),{hasher:He});Te((function(e){return Ze(e).times(2)}),{hasher:He});function He(e){return e[0].precision}Math.PI,Math.PI,Math.E;var Ye=A(277),Je=A.n(Ye),je=Ne("BigNumber",["?on","config"],(function(e){var t=e.on,A=e.config,n=Je.a.clone({precision:A.precision,modulo:9});return n.prototype.type="BigNumber",n.prototype.isBigNumber=!0,n.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},n.fromJSON=function(e){return new n(e.value)},t&&t("config",(function(e,t){e.precision!==t.precision&&n.config({precision:e.precision})})),n}),{isClass:!0}),Pe=Ne("Matrix",[],(function(){function e(){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator")}return e.prototype.type="Matrix",e.prototype.isMatrix=!0,e.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},e.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},e.prototype.create=function(e,t){throw new Error("Cannot invoke create on a Matrix interface")},e.prototype.subset=function(e,t,A){throw new Error("Cannot invoke subset on a Matrix interface")},e.prototype.get=function(e){throw new Error("Cannot invoke get on a Matrix interface")},e.prototype.set=function(e,t,A){throw new Error("Cannot invoke set on a Matrix interface")},e.prototype.resize=function(e,t){throw new Error("Cannot invoke resize on a Matrix interface")},e.prototype.reshape=function(e,t){throw new Error("Cannot invoke reshape on a Matrix interface")},e.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},e.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},e.prototype.map=function(e,t){throw new Error("Cannot invoke map on a Matrix interface")},e.prototype.forEach=function(e){throw new Error("Cannot invoke forEach on a Matrix interface")},e.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},e.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},e.prototype.format=function(e){throw new Error("Cannot invoke format on a Matrix interface")},e.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},e}),{isClass:!0});Ve("fineStructure",.0072973525693),Ve("weakMixingAngle",.2229),Ve("efimovFactor",22.7),Ve("sackurTetrode",-1.16487052358);function Ve(e,t){return Ne(e,["config","BigNumber"],(function(e){var A=e.config,n=e.BigNumber;return"BigNumber"===A.number?new n(t):t}))}var Ke=A(241),We=A.n(Ke),Xe=Ne("Fraction",[],(function(){return We.a.prototype.type="Fraction",We.a.prototype.isFraction=!0,We.a.prototype.toJSON=function(){return{mathjs:"Fraction",n:this.s*this.n,d:this.d}},We.a.fromJSON=function(e){return new We.a(e)},We.a}),{isClass:!0}),qe=Ne("DenseMatrix",["Matrix"],(function(e){var t=e.Matrix;function A(e,t){if(!(this instanceof A))throw new SyntaxError("Constructor must be called with the new operator");if(t&&!g(t))throw new Error("Invalid datatype: "+t);if(u(e))"DenseMatrix"===e.type?(this._data=Y(e._data),this._size=Y(e._size),this._datatype=t||e._datatype):(this._data=e.toArray(),this._size=e.size(),this._datatype=t||e._datatype);else if(e&&c(e.data)&&c(e.size))this._data=e.data,this._size=e.size,be(this._data,this._size),this._datatype=t||e.datatype;else if(c(e))this._data=function e(t){for(var A=0,n=t.length;A<n;A++){var r=t[A];c(r)?t[A]=e(r):r&&!0===r.isMatrix&&(t[A]=e(r.valueOf()))}return t}(e),this._size=me(this._data),be(this._data,this._size),this._datatype=t;else{if(e)throw new TypeError("Unsupported type of data ("+H(e)+")");this._data=[],this._size=[0],this._datatype=t}}function n(e,t){if(!f(t))throw new TypeError("Invalid index");if(t.isScalar())return e.get(t.min());var n=t.size();if(n.length!==e._size.length)throw new ye(n.length,e._size.length);for(var r=t.min(),i=t.max(),o=0,a=e._size.length;o<a;o++)we(r[o],e._size[o]),we(i[o],e._size[o]);return new A(function e(t,A,n,r){var i=r===n-1,o=A.dimension(r);return i?o.map((function(e){return we(e,t.length),t[e]})).valueOf():o.map((function(i){we(i,t.length);var o=t[i];return e(o,A,n,r+1)})).valueOf()}(e._data,t,n.length,0),e._datatype)}function o(e,t,A,n){if(!t||!0!==t.isIndex)throw new TypeError("Invalid index");var r,i=t.size(),o=t.isScalar();if(u(A)?(r=A.size(),A=A.valueOf()):r=me(A),o){if(0!==r.length)throw new TypeError("Scalar expected");e.set(t.min(),A,n)}else{if(i.length<e._size.length)throw new ye(i.length,e._size.length,"<");if(r.length<i.length){for(var a=0,g=0;1===i[a]&&1===r[a];)a++;for(;1===i[a];)g++,a++;A=Ge(A,i.length,g,r)}if(!P(i,r))throw new ye(i,r,">");s(e,t.max().map((function(e){return e+1})),n);var c=i.length;!function e(t,A,n,r,i){var o=i===r-1,a=A.dimension(i);o?a.forEach((function(e,A){we(e),t[e]=n[A[0]]})):a.forEach((function(o,a){we(o),e(t[o],A,n[a[0]],r,i+1)}))}(e._data,t,A,c,0)}return e}function a(e,t,A){if(0===t.length){for(var n=e._data;c(n);)n=n[0];return n}return e._size=t.slice(0),e._data=Se(e._data,e._size,A),e}function s(e,t,A){for(var n=e._size.slice(0),r=!1;n.length<t.length;)n.push(0),r=!0;for(var i=0,o=t.length;i<o;i++)t[i]>n[i]&&(n[i]=t[i],r=!0);r&&a(e,n,A)}return A.prototype=new t,A.prototype.createDenseMatrix=function(e,t){return new A(e,t)},A.prototype.type="DenseMatrix",A.prototype.isDenseMatrix=!0,A.prototype.getDataType=function(){return xe(this._data,H)},A.prototype.storage=function(){return"dense"},A.prototype.datatype=function(){return this._datatype},A.prototype.create=function(e,t){return new A(e,t)},A.prototype.subset=function(e,t,A){switch(arguments.length){case 1:return n(this,e);case 2:case 3:return o(this,e,t,A);default:throw new SyntaxError("Wrong number of arguments")}},A.prototype.get=function(e){if(!c(e))throw new TypeError("Array expected");if(e.length!==this._size.length)throw new ye(e.length,this._size.length);for(var t=0;t<e.length;t++)we(e[t],this._size[t]);for(var A=this._data,n=0,r=e.length;n<r;n++){var i=e[n];we(i,A.length),A=A[i]}return A},A.prototype.set=function(e,t,A){if(!c(e))throw new TypeError("Array expected");if(e.length<this._size.length)throw new ye(e.length,this._size.length,"<");var n,r,i;s(this,e.map((function(e){return e+1})),A);var o=this._data;for(n=0,r=e.length-1;n<r;n++)we(i=e[n],o.length),o=o[i];return we(i=e[e.length-1],o.length),o[i]=t,this},A.prototype.resize=function(e,t,A){if(!l(e))throw new TypeError("Array or Matrix expected");var n=e.valueOf().map((function(e){return Array.isArray(e)&&1===e.length?e[0]:e}));return a(A?this.clone():this,n,t)},A.prototype.reshape=function(e,t){var A=t?this.clone():this;A._data=Fe(A._data,e);var n=A._size.reduce((function(e,t){return e*t}));return A._size=Re(e,n),A},A.prototype.clone=function(){return new A({data:Y(this._data),size:Y(this._size),datatype:this._datatype})},A.prototype.size=function(){return this._size.slice(0)},A.prototype.map=function(e){var t=this,n=function A(n,r){return c(n)?n.map((function(e,t){return A(e,r.concat(t))})):e(n,r,t)}(this._data,[]);return new A(n,void 0!==this._datatype?xe(n,H):void 0)},A.prototype.forEach=function(e){var t=this;!function A(n,r){c(n)?n.forEach((function(e,t){A(e,r.concat(t))})):e(n,r,t)}(this._data,[])},A.prototype.toArray=function(){return Y(this._data)},A.prototype.valueOf=function(){return this._data},A.prototype.format=function(e){return Qe(this._data,e)},A.prototype.toString=function(){return Qe(this._data)},A.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},A.prototype.diagonal=function(e){if(e){if(i(e)&&(e=e.toNumber()),!r(e)||!z(e))throw new TypeError("The parameter k must be an integer number")}else e=0;for(var t=e>0?e:0,n=e<0?-e:0,o=this._size[0],a=this._size[1],s=Math.min(o-n,a-t),g=[],c=0;c<s;c++)g[c]=this._data[c+n][c+t];return new A({data:g,size:[s],datatype:this._datatype})},A.diagonal=function(e,t,n,o){if(!c(e))throw new TypeError("Array expected, size parameter");if(2!==e.length)throw new Error("Only two dimensions matrix are supported");if(e=e.map((function(e){if(i(e)&&(e=e.toNumber()),!r(e)||!z(e)||e<1)throw new Error("Size values must be positive integers");return e})),n){if(i(n)&&(n=n.toNumber()),!r(n)||!z(n))throw new TypeError("The parameter k must be an integer number")}else n=0;var a,s=n>0?n:0,g=n<0?-n:0,l=e[0],I=e[1],C=Math.min(l-g,I-s);if(c(t)){if(t.length!==C)throw new Error("Invalid value array length");a=function(e){return t[e]}}else if(u(t)){var h=t.size();if(1!==h.length||h[0]!==C)throw new Error("Invalid matrix length");a=function(e){return t.get([e])}}else a=function(){return t};o||(o=i(a(0))?a(0).mul(0):0);var f=[];if(e.length>0){f=Se(f,e,o);for(var d=0;d<C;d++)f[d+g][d+s]=a(d)}return new A({data:f,size:[l,I]})},A.fromJSON=function(e){return new A(e)},A.prototype.swapRows=function(e,t){if(!r(e)||!z(e)||!r(t)||!z(t))throw new Error("Row index must be positive integers");if(2!==this._size.length)throw new Error("Only two dimensional matrix is supported");return we(e,this._size[0]),we(t,this._size[0]),A._swapRows(e,t,this._data),this},A._swapRows=function(e,t,A){var n=A[e];A[e]=A[t],A[t]=n},A}),{isClass:!0}),ze=A(517),$e=A.n(ze),et=function(){return et=$e.a.create,$e.a},tt=Ne("typed",["?BigNumber","?Complex","?DenseMatrix","?Fraction"],(function(e){var t=e.BigNumber,A=e.Complex,n=e.DenseMatrix,l=e.Fraction,H=et();return H.types=[{name:"number",test:r},{name:"Complex",test:o},{name:"BigNumber",test:i},{name:"Fraction",test:a},{name:"Unit",test:s},{name:"string",test:g},{name:"Chain",test:Z},{name:"Array",test:c},{name:"Matrix",test:u},{name:"DenseMatrix",test:I},{name:"SparseMatrix",test:C},{name:"Range",test:h},{name:"Index",test:f},{name:"boolean",test:d},{name:"ResultSet",test:B},{name:"Help",test:p},{name:"function",test:E},{name:"Date",test:Q},{name:"RegExp",test:y},{name:"null",test:m},{name:"undefined",test:b},{name:"AccessorNode",test:w},{name:"ArrayNode",test:S},{name:"AssignmentNode",test:F},{name:"BlockNode",test:R},{name:"ConditionalNode",test:D},{name:"ConstantNode",test:G},{name:"FunctionNode",test:x},{name:"FunctionAssignmentNode",test:k},{name:"IndexNode",test:N},{name:"Node",test:U},{name:"ObjectNode",test:_},{name:"OperatorNode",test:M},{name:"ParenthesisNode",test:O},{name:"RangeNode",test:L},{name:"SymbolNode",test:T},{name:"Object",test:v}],H.conversions=[{from:"number",to:"BigNumber",convert:function(e){if(t||At(e),e.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+e+"). Use function bignumber(x) to convert to BigNumber.");return new t(e)}},{from:"number",to:"Complex",convert:function(e){return A||nt(e),new A(e,0)}},{from:"number",to:"string",convert:function(e){return e+""}},{from:"BigNumber",to:"Complex",convert:function(e){return A||nt(e),new A(e.toNumber(),0)}},{from:"Fraction",to:"BigNumber",convert:function(e){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(e){return A||nt(e),new A(e.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(e){l||rt(e);var t=new l(e);if(t.valueOf()!==e)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+e+"). Use function fraction(x) to convert to Fraction.");return t}},{from:"string",to:"number",convert:function(e){var t=Number(e);if(isNaN(t))throw new Error('Cannot convert "'+e+'" to a number');return t}},{from:"string",to:"BigNumber",convert:function(e){t||At(e);try{return new t(e)}catch(A){throw new Error('Cannot convert "'+e+'" to BigNumber')}}},{from:"string",to:"Fraction",convert:function(e){l||rt(e);try{return new l(e)}catch(t){throw new Error('Cannot convert "'+e+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(e){A||nt(e);try{return new A(e)}catch(t){throw new Error('Cannot convert "'+e+'" to Complex')}}},{from:"boolean",to:"number",convert:function(e){return+e}},{from:"boolean",to:"BigNumber",convert:function(e){return t||At(e),new t(+e)}},{from:"boolean",to:"Fraction",convert:function(e){return l||rt(e),new l(+e)}},{from:"boolean",to:"string",convert:function(e){return String(e)}},{from:"Array",to:"Matrix",convert:function(e){return n||function(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}(),new n(e)}},{from:"Matrix",to:"Array",convert:function(e){return e.valueOf()}}],H}));function At(e){throw new Error("Cannot convert value ".concat(e," into a BigNumber: no class 'BigNumber' provided"))}function nt(e){throw new Error("Cannot convert value ".concat(e," into a Complex number: no class 'Complex' provided"))}function rt(e){throw new Error("Cannot convert value ".concat(e," into a Fraction, no class 'Fraction' provided."))}function it(e,t,A){return e&&"function"===typeof e.map?e.map((function(e){return it(e,t,A)})):t(e)}var ot=Ne("isNumeric",["typed"],(function(e){return(0,e.typed)("isNumeric",{"number | BigNumber | Fraction | boolean":function(){return!0},"Complex | Unit | string | null | undefined | Node":function(){return!1},"Array | Matrix":function(e){return it(e,this)}})})),at="number";function st(e){return e<0}function gt(e){return e>0}function ct(e){return 0===e}function ut(e){return Number.isNaN(e)}st.signature=at,gt.signature=at,ct.signature=at,ut.signature=at;function lt(e,t,A){if(null===A||void 0===A)return e.eq(t);if(e.eq(t))return!0;if(e.isNaN()||t.isNaN())return!1;if(e.isFinite()&&t.isFinite()){var n=e.minus(t).abs();if(n.isZero())return!0;var r=e.constructor.max(e.abs(),t.abs());return n.lte(r.times(A))}return!1}var It=Ne("equalScalar",["typed","config"],(function(e){var t=e.typed,A=e.config;return t("equalScalar",{"boolean, boolean":function(e,t){return e===t},"number, number":function(e,t){return le(e,t,A.epsilon)},"BigNumber, BigNumber":function(e,t){return e.eq(t)||lt(e,t,A.epsilon)},"Fraction, Fraction":function(e,t){return e.equals(t)},"Complex, Complex":function(e,t){return function(e,t,A){return le(e.re,t.re,A)&&le(e.im,t.im,A)}(e,t,A.epsilon)},"Unit, Unit":function(e,t){if(!e.equalBase(t))throw new Error("Cannot compare units with different base");return this(e.value,t.value)}})})),Ct=(Ne("equalScalar",["typed","config"],(function(e){var t=e.typed,A=e.config;return t("equalScalar",{"number, number":function(e,t){return le(e,t,A.epsilon)}})})),Ne("number",["typed"],(function(e){var t=(0,e.typed)("number",{"":function(){return 0},number:function(e){return e},string:function(e){if("NaN"===e)return NaN;var t=0,A=e.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);A&&(t=Number(A[2]),e=A[1]);var n=Number(e);if(isNaN(n))throw new SyntaxError('String "'+e+'" is no valid number');if(A){if(n>Math.pow(2,t)-1)throw new SyntaxError('String "'.concat(e,'" is out of range'));n>=Math.pow(2,t-1)&&(n-=Math.pow(2,t))}return n},BigNumber:function(e){return e.toNumber()},Fraction:function(e){return e.valueOf()},Unit:function(e){throw new Error("Second argument with valueless unit expected")},null:function(e){return 0},"Unit, string | Unit":function(e,t){return e.toNumber(t)},"Array | Matrix":function(e){return it(e,this)}});return t.fromJSON=function(e){return parseFloat(e.value)},t}))),ht="number, number";function ft(e){return Math.abs(e)}function dt(e,t){return e+t}function Bt(e,t){return e*t}function pt(e){return-e}function Et(e){return e}function Qt(e){return Ae(e)}function yt(e){return Math.ceil(e)}function vt(e){return e*e*e}function mt(e){return Math.exp(e)}function bt(e){return ne(e)}function wt(e,t){if(!z(e)||!z(t))throw new Error("Parameters in function gcd must be integer numbers");for(var A;0!==t;)A=e%t,e=t,t=A;return e<0?-e:e}function St(e,t){if(!z(e)||!z(t))throw new Error("Parameters in function lcm must be integer numbers");if(0===e||0===t)return 0;for(var A,n=e*t;0!==t;)t=e%(A=t),e=A;return Math.abs(n/e)}function Ft(e){return Math.log(e)}function Rt(e){return te(e)}function Dt(e){return ee(e)}function Gt(e,t){if(t>0)return e-t*Math.floor(e/t);if(0===t)return e;throw new Error("Cannot calculate mod for a negative divisor")}function kt(e,t){var A=t<0;if(A&&(t=-t),0===t)throw new Error("Root must be non-zero");if(e<0&&Math.abs(t)%2!==1)throw new Error("Root must be odd when a is negative.");if(0===e)return A?1/0:0;if(!isFinite(e))return A?0:e;var n=Math.pow(Math.abs(e),1/t);return n=e<0?-n:n,A?1/n:n}function xt(e){return $(e)}function Nt(e){return e*e}function Ut(e,t){var A,n,r,i=0,o=1,a=1,s=0;if(!z(e)||!z(t))throw new Error("Parameters in function xgcd must be integer numbers");for(;t;)r=e-(n=Math.floor(e/t))*t,A=i,i=o-n*i,o=A,A=a,a=s-n*a,s=A,e=t,t=r;return e<0?[-e,-o,-s]:[e,e?o:0,s]}function _t(e,t){return e*e<1&&t===1/0||e*e>1&&t===-1/0?0:Math.pow(e,t)}function Mt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return parseFloat(ae(e,t))}ft.signature="number",dt.signature=ht,Bt.signature=ht,pt.signature="number",Et.signature="number",Qt.signature="number",yt.signature="number",vt.signature="number",mt.signature="number",bt.signature="number",wt.signature=ht,St.signature=ht,Ft.signature="number",Rt.signature="number",Dt.signature="number",Gt.signature=ht,kt.signature=ht,xt.signature="number",Nt.signature="number",Ut.signature=ht,_t.signature=ht,Mt.signature=ht;var Ot=Ne("multiplyScalar",["typed"],(function(e){return(0,e.typed)("multiplyScalar",{"number, number":Bt,"Complex, Complex":function(e,t){return e.mul(t)},"BigNumber, BigNumber":function(e,t){return e.times(t)},"Fraction, Fraction":function(e,t){return e.mul(t)},"number | Fraction | BigNumber | Complex, Unit":function(e,t){var A=t.clone();return A.value=null===A.value?A._normalize(e):this(A.value,e),A},"Unit, number | Fraction | BigNumber | Complex":function(e,t){var A=e.clone();return A.value=null===A.value?A._normalize(t):this(A.value,t),A},"Unit, Unit":function(e,t){return e.multiply(t)}})}));var Lt="number, number";function Tt(e,t){if(!z(e)||!z(t))throw new Error("Integers expected in function bitAnd");return e&t}function Zt(e){if(!z(e))throw new Error("Integer expected in function bitNot");return~e}function Ht(e,t){if(!z(e)||!z(t))throw new Error("Integers expected in function bitOr");return e|t}function Yt(e,t){if(!z(e)||!z(t))throw new Error("Integers expected in function bitXor");return e^t}function Jt(e,t){if(!z(e)||!z(t))throw new Error("Integers expected in function leftShift");return e<<t}function jt(e,t){if(!z(e)||!z(t))throw new Error("Integers expected in function rightArithShift");return e>>t}function Pt(e,t){if(!z(e)||!z(t))throw new Error("Integers expected in function rightLogShift");return e>>>t}Tt.signature=Lt,Zt.signature="number",Ht.signature=Lt,Yt.signature=Lt,Jt.signature=Lt,jt.signature=Lt,Pt.signature=Lt;function Vt(e){return!e}function Kt(e,t){return!(!e&&!t)}function Wt(e,t){return!!e!==!!t}function Xt(e,t){return!(!e||!t)}Vt.signature="number",Kt.signature="number, number",Wt.signature="number, number",Xt.signature="number, number";Math.pow(2,53);var qt=Ne("format",["typed"],(function(e){return(0,e.typed)("format",{any:Qe,"any, Object | function | number":Qe})}));Ne("oct",["typed","format"],(function(e){var t=e.typed,A=e.format;return t("oct",{"number | BigNumber":function(e){return A(e,{notation:"oct"})},"number | BigNumber, number":function(e,t){return A(e,{notation:"oct",wordSize:t})}})}));function zt(e){return Ie(e)}function $t(e){return Math.atan(1/e)}function eA(e){return isFinite(e)?(Math.log((e+1)/e)+Math.log(e/(e-1)))/2:0}function tA(e){return Math.asin(1/e)}function AA(e){var t=1/e;return Math.log(t+Math.sqrt(t*t+1))}function nA(e){return Math.acos(1/e)}function rA(e){var t=1/e,A=Math.sqrt(t*t-1);return Math.log(A+t)}function iA(e){return Ce(e)}function oA(e){return he(e)}function aA(e){return 1/Math.tan(e)}function sA(e){var t=Math.exp(2*e);return(t+1)/(t-1)}function gA(e){return 1/Math.sin(e)}function cA(e){return 0===e?Number.POSITIVE_INFINITY:Math.abs(2/(Math.exp(e)-Math.exp(-e)))*$(e)}function uA(e){return 1/Math.cos(e)}function lA(e){return 2/(Math.exp(e)+Math.exp(-e))}function IA(e){return fe(e)}zt.signature="number",$t.signature="number",eA.signature="number",tA.signature="number",AA.signature="number",nA.signature="number",rA.signature="number",iA.signature="number",oA.signature="number",aA.signature="number",sA.signature="number",gA.signature="number",cA.signature="number",uA.signature="number",lA.signature="number",IA.signature="number";function CA(e,t){if(t<e)return 1;if(t===e)return t;var A=t+e>>1;return CA(e,A)*CA(A+1,t)}function hA(e,t){if(!z(e)||e<0)throw new TypeError("Positive integer value expected in function combinations");if(!z(t)||t<0)throw new TypeError("Positive integer value expected in function combinations");if(t>e)throw new TypeError("k must be less than or equal to n");var A=e-t;return t<A?CA(A+1,e)/CA(1,t):CA(t+1,e)/CA(1,A)}hA.signature="number, number";var fA=A(518),dA=A.n(fA);Date.now();var BA=Ne("fraction",["typed","Fraction"],(function(e){var t=e.typed,A=e.Fraction;return t("fraction",{number:function(e){if(!isFinite(e)||isNaN(e))throw new Error(e+" cannot be represented as a fraction");return new A(e)},string:function(e){return new A(e)},"number, number":function(e,t){return new A(e,t)},null:function(e){return new A(0)},BigNumber:function(e){return new A(e.toString())},Fraction:function(e){return e},Object:function(e){return new A(e)},"Array | Matrix":function(e){return it(e,this)}})})),pA=Ne("unaryMinus",["typed"],(function(e){return(0,e.typed)("unaryMinus",{number:pt,Complex:function(e){return e.neg()},BigNumber:function(e){return e.neg()},Fraction:function(e){return e.neg()},Unit:function(e){var t=e.clone();return t.value=this(e.value),t},"Array | Matrix":function(e){return it(e,this,!0)}})})),EA=Ne("addScalar",["typed"],(function(e){return(0,e.typed)("addScalar",{"number, number":dt,"Complex, Complex":function(e,t){return e.add(t)},"BigNumber, BigNumber":function(e,t){return e.plus(t)},"Fraction, Fraction":function(e,t){return e.add(t)},"Unit, Unit":function(e,t){if(null===e.value||void 0===e.value)throw new Error("Parameter x contains a unit with undefined value");if(null===t.value||void 0===t.value)throw new Error("Parameter y contains a unit with undefined value");if(!e.equalBase(t))throw new Error("Units do not match");var A=e.clone();return A.value=this(A.value,t.value),A.fixPrefix=!1,A}})})),QA=Ne("conj",["typed"],(function(e){return(0,e.typed)("conj",{number:function(e){return e},BigNumber:function(e){return e},Complex:function(e){return e.conjugate()},"Array | Matrix":function(e){return it(e,this)}})}));Ne("bin",["typed","format"],(function(e){var t=e.typed,A=e.format;return t("bin",{"number | BigNumber":function(e){return A(e,{notation:"bin"})},"number | BigNumber, number":function(e,t){return A(e,{notation:"bin",wordSize:t})}})}));var yA=Ne("SparseMatrix",["typed","equalScalar","Matrix"],(function(e){var t=e.typed,A=e.equalScalar,n=e.Matrix;function o(e,t){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(t&&!g(t))throw new Error("Invalid datatype: "+t);if(u(e))!function(e,t,A){"SparseMatrix"===t.type?(e._values=t._values?Y(t._values):void 0,e._index=Y(t._index),e._ptr=Y(t._ptr),e._size=Y(t._size),e._datatype=A||t._datatype):a(e,t.valueOf(),A||t._datatype)}(this,e,t);else if(e&&c(e.index)&&c(e.ptr)&&c(e.size))this._values=e.values,this._index=e.index,this._ptr=e.ptr,this._size=e.size,this._datatype=t||e.datatype;else if(c(e))a(this,e,t);else{if(e)throw new TypeError("Unsupported type of data ("+H(e)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=t}}function a(e,n,r){e._values=[],e._index=[],e._ptr=[],e._datatype=r;var i=n.length,o=0,a=A,s=0;if(g(r)&&(a=t.find(A,[r,r])||A,s=t.convert(0,r)),i>0){var u=0;do{e._ptr.push(e._index.length);for(var l=0;l<i;l++){var I=n[l];if(c(I)){if(0===u&&o<I.length&&(o=I.length),u<I.length){var C=I[u];a(C,s)||(e._values.push(C),e._index.push(l))}}else 0===u&&o<1&&(o=1),a(I,s)||(e._values.push(I),e._index.push(l))}u++}while(u<o)}e._ptr.push(e._index.length),e._size=[i,o]}function s(e,t){if(!f(t))throw new TypeError("Invalid index");if(t.isScalar())return e.get(t.min());var A,n,r,i,a=t.size();if(a.length!==e._size.length)throw new ye(a.length,e._size.length);var s=t.min(),g=t.max();for(A=0,n=e._size.length;A<n;A++)we(s[A],e._size[A]),we(g[A],e._size[A]);var c=e._values,u=e._index,l=e._ptr,I=t.dimension(0),C=t.dimension(1),h=[],d=[];I.forEach((function(e,t){d[e]=t[0],h[e]=!0}));var B=c?[]:void 0,p=[],E=[];return C.forEach((function(e){for(E.push(p.length),r=l[e],i=l[e+1];r<i;r++)A=u[r],!0===h[A]&&(p.push(d[A]),B&&B.push(c[r]))})),E.push(p.length),new o({values:B,index:p,ptr:E,size:a,datatype:e._datatype})}function I(e,t,A,n){if(!t||!0!==t.isIndex)throw new TypeError("Invalid index");var r,i=t.size(),o=t.isScalar();if(u(A)?(r=A.size(),A=A.toArray()):r=me(A),o){if(0!==r.length)throw new TypeError("Scalar expected");e.set(t.min(),A,n)}else{if(1!==i.length&&2!==i.length)throw new ye(i.length,e._size.length,"<");if(r.length<i.length){for(var a=0,s=0;1===i[a]&&1===r[a];)a++;for(;1===i[a];)s++,a++;A=Ge(A,i.length,s,r)}if(!P(i,r))throw new ye(i,r,">");for(var g=t.min()[0],c=t.min()[1],l=r[0],I=r[1],C=0;C<l;C++)for(var h=0;h<I;h++){var f=A[C][h];e.set([C+g,h+c],f,n)}}return e}function C(e,t,A,n){if(A-t===0)return A;for(var r=t;r<A;r++)if(n[r]===e)return r;return t}function h(e,t,A,n,r,i,o){r.splice(e,0,n),i.splice(e,0,t);for(var a=A+1;a<o.length;a++)o[a]++}function d(e,n,r,i){var o=i||0,a=A,s=0;g(e._datatype)&&(a=t.find(A,[e._datatype,e._datatype])||A,s=t.convert(0,e._datatype),o=t.convert(o,e._datatype));var c,u,l,I=!a(o,s),C=e._size[0],h=e._size[1];if(r>h){for(u=h;u<r;u++)if(e._ptr[u]=e._values.length,I)for(c=0;c<C;c++)e._values.push(o),e._index.push(c);e._ptr[r]=e._values.length}else r<h&&(e._ptr.splice(r+1,h-r),e._values.splice(e._ptr[r],e._values.length),e._index.splice(e._ptr[r],e._index.length));if(h=r,n>C){if(I){var f=0;for(u=0;u<h;u++){e._ptr[u]=e._ptr[u]+f,l=e._ptr[u+1]+f;var d=0;for(c=C;c<n;c++,d++)e._values.splice(l+d,0,o),e._index.splice(l+d,0,c),f++}e._ptr[h]=e._values.length}}else if(n<C){var B=0;for(u=0;u<h;u++){e._ptr[u]=e._ptr[u]-B;var p=e._ptr[u],E=e._ptr[u+1]-B;for(l=p;l<E;l++)(c=e._index[l])>n-1&&(e._values.splice(l,1),e._index.splice(l,1),B++)}e._ptr[u]=e._values.length}return e._size[0]=n,e._size[1]=r,e}function B(e,t,A,n,r){var i,o,a=n[0],s=n[1],g=[];for(i=0;i<a;i++)for(g[i]=[],o=0;o<s;o++)g[i][o]=0;for(o=0;o<s;o++)for(var c=A[o],u=A[o+1],l=c;l<u;l++)g[i=t[l]][o]=e?r?Y(e[l]):e[l]:1;return g}return o.prototype=new n,o.prototype.createSparseMatrix=function(e,t){return new o(e,t)},o.prototype.type="SparseMatrix",o.prototype.isSparseMatrix=!0,o.prototype.getDataType=function(){return xe(this._values,H)},o.prototype.storage=function(){return"sparse"},o.prototype.datatype=function(){return this._datatype},o.prototype.create=function(e,t){return new o(e,t)},o.prototype.density=function(){var e=this._size[0],t=this._size[1];return 0!==e&&0!==t?this._index.length/(e*t):0},o.prototype.subset=function(e,t,A){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return s(this,e);case 2:case 3:return I(this,e,t,A);default:throw new SyntaxError("Wrong number of arguments")}},o.prototype.get=function(e){if(!c(e))throw new TypeError("Array expected");if(e.length!==this._size.length)throw new ye(e.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var t=e[0],A=e[1];we(t,this._size[0]),we(A,this._size[1]);var n=C(t,this._ptr[A],this._ptr[A+1],this._index);return n<this._ptr[A+1]&&this._index[n]===t?this._values[n]:0},o.prototype.set=function(e,n,r){if(!c(e))throw new TypeError("Array expected");if(e.length!==this._size.length)throw new ye(e.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var i=e[0],o=e[1],a=this._size[0],s=this._size[1],u=A,l=0;g(this._datatype)&&(u=t.find(A,[this._datatype,this._datatype])||A,l=t.convert(0,this._datatype)),(i>a-1||o>s-1)&&(d(this,Math.max(i+1,a),Math.max(o+1,s),r),a=this._size[0],s=this._size[1]),we(i,a),we(o,s);var I=C(i,this._ptr[o],this._ptr[o+1],this._index);return I<this._ptr[o+1]&&this._index[I]===i?u(n,l)?function(e,t,A,n,r){A.splice(e,1),n.splice(e,1);for(var i=t+1;i<r.length;i++)r[i]--}(I,o,this._values,this._index,this._ptr):this._values[I]=n:h(I,i,o,n,this._values,this._index,this._ptr),this},o.prototype.resize=function(e,t,A){if(!l(e))throw new TypeError("Array or Matrix expected");var n=e.valueOf().map((function(e){return Array.isArray(e)&&1===e.length?e[0]:e}));if(2!==n.length)throw new Error("Only two dimensions matrix are supported");return n.forEach((function(e){if(!r(e)||!z(e)||e<0)throw new TypeError("Invalid size, must contain positive integers (size: "+Qe(n)+")")})),d(A?this.clone():this,n[0],n[1],t)},o.prototype.reshape=function(e,t){if(!c(e))throw new TypeError("Array expected");if(2!==e.length)throw new Error("Sparse matrices can only be reshaped in two dimensions");e.forEach((function(t){if(!r(t)||!z(t)||t<=-2||0===t)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+Qe(e)+")")}));var A=this._size[0]*this._size[1];if(A!==(e=Re(e,A))[0]*e[1])throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var n=t?this.clone():this;if(this._size[0]===e[0]&&this._size[1]===e[1])return n;for(var i=[],o=0;o<n._ptr.length;o++)for(var a=0;a<n._ptr[o+1]-n._ptr[o];a++)i.push(o);for(var s=n._values.slice(),g=n._index.slice(),u=0;u<n._index.length;u++){var l=g[u],I=i[u],f=l*n._size[1]+I;i[u]=f%e[1],g[u]=Math.floor(f/e[1])}n._values.length=0,n._index.length=0,n._ptr.length=e[1]+1,n._size=e.slice();for(var d=0;d<n._ptr.length;d++)n._ptr[d]=0;for(var B=0;B<s.length;B++){var p=g[B],E=i[B],Q=s[B];h(C(p,n._ptr[E],n._ptr[E+1],n._index),p,E,Q,n._values,n._index,n._ptr)}return n},o.prototype.clone=function(){return new o({values:this._values?Y(this._values):void 0,index:Y(this._index),ptr:Y(this._ptr),size:Y(this._size),datatype:this._datatype})},o.prototype.size=function(){return this._size.slice(0)},o.prototype.map=function(e,n){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var r=this;return function(e,n,r,i,a,s,c){var u=[],l=[],I=[],C=A,h=0;g(e._datatype)&&(C=t.find(A,[e._datatype,e._datatype])||A,h=t.convert(0,e._datatype));for(var f=function(e,t,A){e=s(e,t,A),C(e,h)||(u.push(e),l.push(t))},d=i;d<=a;d++){I.push(u.length);var B=e._ptr[d],p=e._ptr[d+1];if(c)for(var E=B;E<p;E++){var Q=e._index[E];Q>=n&&Q<=r&&f(e._values[E],Q-n,d-i)}else{for(var y={},v=B;v<p;v++){var m=e._index[v];y[m]=e._values[v]}for(var b=n;b<=r;b++){var w=b in y?y[b]:0;f(w,b-n,d-i)}}}return I.push(u.length),new o({values:u,index:l,ptr:I,size:[r-n+1,a-i+1]})}(this,0,this._size[0]-1,0,this._size[1]-1,(function(t,A,n){return e(t,[A,n],r)}),n)},o.prototype.forEach=function(e,t){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var A=this._size[0],n=this._size[1],r=0;r<n;r++){var i=this._ptr[r],o=this._ptr[r+1];if(t)for(var a=i;a<o;a++){var s=this._index[a];e(this._values[a],[s,r],this)}else{for(var g={},c=i;c<o;c++){g[this._index[c]]=this._values[c]}for(var u=0;u<A;u++){e(u in g?g[u]:0,[u,r],this)}}}},o.prototype.toArray=function(){return B(this._values,this._index,this._ptr,this._size,!0)},o.prototype.valueOf=function(){return B(this._values,this._index,this._ptr,this._size,!1)},o.prototype.format=function(e){for(var t=this._size[0],A=this._size[1],n=this.density(),r="Sparse Matrix ["+Qe(t,e)+" x "+Qe(A,e)+"] density: "+Qe(n,e)+"\n",i=0;i<A;i++)for(var o=this._ptr[i],a=this._ptr[i+1],s=o;s<a;s++){r+="\n ("+Qe(this._index[s],e)+", "+Qe(i,e)+") ==> "+(this._values?Qe(this._values[s],e):"X")}return r},o.prototype.toString=function(){return Qe(this.toArray())},o.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},o.prototype.diagonal=function(e){if(e){if(i(e)&&(e=e.toNumber()),!r(e)||!z(e))throw new TypeError("The parameter k must be an integer number")}else e=0;var t=e>0?e:0,A=e<0?-e:0,n=this._size[0],a=this._size[1],s=Math.min(n-A,a-t),g=[],c=[],u=[];u[0]=0;for(var l=t;l<a&&g.length<s;l++)for(var I=this._ptr[l],C=this._ptr[l+1],h=I;h<C;h++){var f=this._index[h];if(f===l-t+A){g.push(this._values[h]),c[g.length-1]=f-A;break}}return u.push(g.length),new o({values:g,index:c,ptr:u,size:[s,1]})},o.fromJSON=function(e){return new o(e)},o.diagonal=function(e,n,a,s,l){if(!c(e))throw new TypeError("Array expected, size parameter");if(2!==e.length)throw new Error("Only two dimensions matrix are supported");if(e=e.map((function(e){if(i(e)&&(e=e.toNumber()),!r(e)||!z(e)||e<1)throw new Error("Size values must be positive integers");return e})),a){if(i(a)&&(a=a.toNumber()),!r(a)||!z(a))throw new TypeError("The parameter k must be an integer number")}else a=0;var I=A,C=0;g(l)&&(I=t.find(A,[l,l])||A,C=t.convert(0,l));var h,f=a>0?a:0,d=a<0?-a:0,B=e[0],p=e[1],E=Math.min(B-d,p-f);if(c(n)){if(n.length!==E)throw new Error("Invalid value array length");h=function(e){return n[e]}}else if(u(n)){var Q=n.size();if(1!==Q.length||Q[0]!==E)throw new Error("Invalid matrix length");h=function(e){return n.get([e])}}else h=function(){return n};for(var y=[],v=[],m=[],b=0;b<p;b++){m.push(y.length);var w=b-f;if(w>=0&&w<E){var S=h(w);I(S,C)||(v.push(w+d),y.push(S))}}return m.push(y.length),new o({values:y,index:v,ptr:m,size:[B,p]})},o.prototype.swapRows=function(e,t){if(!r(e)||!z(e)||!r(t)||!z(t))throw new Error("Row index must be positive integers");if(2!==this._size.length)throw new Error("Only two dimensional matrix is supported");return we(e,this._size[0]),we(t,this._size[0]),o._swapRows(e,t,this._size[1],this._values,this._index,this._ptr),this},o._forEachRow=function(e,t,A,n,r){for(var i=n[e],o=n[e+1],a=i;a<o;a++)r(A[a],t[a])},o._swapRows=function(e,t,A,n,r,i){for(var o=0;o<A;o++){var a=i[o],s=i[o+1],g=C(e,a,s,r),c=C(t,a,s,r);if(g<s&&c<s&&r[g]===e&&r[c]===t){if(n){var u=n[g];n[g]=n[c],n[c]=u}}else if(g<s&&r[g]===e&&(c>=s||r[c]!==t)){var l=n?n[g]:void 0;r.splice(c,0,t),n&&n.splice(c,0,l),r.splice(c<=g?g+1:g,1),n&&n.splice(c<=g?g+1:g,1)}else if(c<s&&r[c]===t&&(g>=s||r[g]!==e)){var I=n?n[c]:void 0;r.splice(g,0,e),n&&n.splice(g,0,I),r.splice(g<=c?c+1:c,1),n&&n.splice(g<=c?c+1:c,1)}}},o}),{isClass:!0}),vA=Ne("matrix",["typed","Matrix","DenseMatrix","SparseMatrix"],(function(e){var t=e.typed,A=(e.Matrix,e.DenseMatrix),n=e.SparseMatrix;return t("matrix",{"":function(){return r([])},string:function(e){return r([],e)},"string, string":function(e,t){return r([],e,t)},Array:function(e){return r(e)},Matrix:function(e){return r(e,e.storage())},"Array | Matrix, string":r,"Array | Matrix, string, string":r});function r(e,t,r){if("dense"===t||"default"===t||void 0===t)return new A(e,r);if("sparse"===t)return new n(e,r);throw new TypeError("Unknown matrix type "+JSON.stringify(t)+".")}})),mA=Ne("algorithm01",["typed"],(function(e){var t=e.typed;return function(e,A,n,r){var i=e._data,o=e._size,a=e._datatype,s=A._values,g=A._index,c=A._ptr,u=A._size,l=A._datatype;if(o.length!==u.length)throw new ye(o.length,u.length);if(o[0]!==u[0]||o[1]!==u[1])throw new RangeError("Dimension mismatch. Matrix A ("+o+") must match Matrix B ("+u+")");if(!s)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var I,C,h=o[0],f=o[1],d="string"===typeof a&&a===l?a:void 0,B=d?t.find(n,[d,d]):n,p=[];for(I=0;I<h;I++)p[I]=[];var E=[],Q=[];for(C=0;C<f;C++){for(var y=C+1,v=c[C],m=c[C+1],b=v;b<m;b++)E[I=g[b]]=r?B(s[b],i[I][C]):B(i[I][C],s[b]),Q[I]=y;for(I=0;I<h;I++)Q[I]===y?p[I][C]=E[I]:p[I][C]=i[I][C]}return e.createDenseMatrix({data:p,size:[h,f],datatype:d})}})),bA=Ne("algorithm10",["typed","DenseMatrix"],(function(e){var t=e.typed,A=e.DenseMatrix;return function(e,n,r,i){var o=e._values,a=e._index,s=e._ptr,g=e._size,c=e._datatype;if(!o)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var u,l=g[0],I=g[1],C=r;"string"===typeof c&&(u=c,n=t.convert(n,u),C=t.find(r,[u,u]));for(var h=[],f=[],d=[],B=0;B<I;B++){for(var p=B+1,E=s[B],Q=s[B+1],y=E;y<Q;y++){var v=a[y];f[v]=o[y],d[v]=p}for(var m=0;m<l;m++)0===B&&(h[m]=[]),d[m]===p?h[m][B]=i?C(n,f[m]):C(f[m],n):h[m][B]=n}return new A({data:h,size:[l,I],datatype:u})}})),wA=Ne("algorithm13",["typed"],(function(e){var t=e.typed;return function(e,A,n){var r,i=e._data,o=e._size,a=e._datatype,s=A._data,g=A._size,c=A._datatype,u=[];if(o.length!==g.length)throw new ye(o.length,g.length);for(var l=0;l<o.length;l++){if(o[l]!==g[l])throw new RangeError("Dimension mismatch. Matrix A ("+o+") must match Matrix B ("+g+")");u[l]=o[l]}var I=n;"string"===typeof a&&a===c&&(r=a,I=t.find(n,[r,r]));var C=u.length>0?function e(t,A,n,r,i,o){var a=[];if(A===n.length-1)for(var s=0;s<r;s++)a[s]=t(i[s],o[s]);else for(var g=0;g<r;g++)a[g]=e(t,A+1,n,n[A+1],i[g],o[g]);return a}(I,0,u,u[0],i,s):[];return e.createDenseMatrix({data:C,size:u,datatype:r})}})),SA=Ne("algorithm14",["typed"],(function(e){var t=e.typed;return function(e,A,n,r){var i,o=e._data,a=e._size,s=e._datatype,g=n;"string"===typeof s&&(i=s,A=t.convert(A,i),g=t.find(n,[i,i]));var c=a.length>0?function e(t,A,n,r,i,o,a){var s=[];if(A===n.length-1)for(var g=0;g<r;g++)s[g]=a?t(o,i[g]):t(i[g],o);else for(var c=0;c<r;c++)s[c]=e(t,A+1,n,n[A+1],i[c],o,a);return s}(g,0,a,a[0],o,A,r):[];return e.createDenseMatrix({data:c,size:Y(a),datatype:i})}})),FA=Ne("algorithm03",["typed"],(function(e){var t=e.typed;return function(e,A,n,r){var i=e._data,o=e._size,a=e._datatype,s=A._values,g=A._index,c=A._ptr,u=A._size,l=A._datatype;if(o.length!==u.length)throw new ye(o.length,u.length);if(o[0]!==u[0]||o[1]!==u[1])throw new RangeError("Dimension mismatch. Matrix A ("+o+") must match Matrix B ("+u+")");if(!s)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var I,C=o[0],h=o[1],f=0,d=n;"string"===typeof a&&a===l&&(I=a,f=t.convert(0,I),d=t.find(n,[I,I]));for(var B=[],p=0;p<C;p++)B[p]=[];for(var E=[],Q=[],y=0;y<h;y++){for(var v=y+1,m=c[y],b=c[y+1],w=m;w<b;w++){var S=g[w];E[S]=r?d(s[w],i[S][y]):d(i[S][y],s[w]),Q[S]=v}for(var F=0;F<C;F++)Q[F]===v?B[F][y]=E[F]:B[F][y]=r?d(f,i[F][y]):d(i[F][y],f)}return e.createDenseMatrix({data:B,size:[C,h],datatype:I})}})),RA=Ne("algorithm05",["typed","equalScalar"],(function(e){var t=e.typed,A=e.equalScalar;return function(e,n,r){var i=e._values,o=e._index,a=e._ptr,s=e._size,g=e._datatype,c=n._values,u=n._index,l=n._ptr,I=n._size,C=n._datatype;if(s.length!==I.length)throw new ye(s.length,I.length);if(s[0]!==I[0]||s[1]!==I[1])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+I+")");var h,f=s[0],d=s[1],B=A,p=0,E=r;"string"===typeof g&&g===C&&(h=g,B=t.find(A,[h,h]),p=t.convert(0,h),E=t.find(r,[h,h]));var Q,y,v,m,b=i&&c?[]:void 0,w=[],S=[],F=b?[]:void 0,R=b?[]:void 0,D=[],G=[];for(y=0;y<d;y++){S[y]=w.length;var k=y+1;for(v=a[y],m=a[y+1];v<m;v++)Q=o[v],w.push(Q),D[Q]=k,F&&(F[Q]=i[v]);for(v=l[y],m=l[y+1];v<m;v++)D[Q=u[v]]!==k&&w.push(Q),G[Q]=k,R&&(R[Q]=c[v]);if(b)for(v=S[y];v<w.length;){var x=D[Q=w[v]],N=G[Q];if(x===k||N===k){var U=E(x===k?F[Q]:p,N===k?R[Q]:p);B(U,p)?w.splice(v,1):(b.push(U),v++)}}}return S[d]=w.length,e.createSparseMatrix({values:b,index:w,ptr:S,size:[f,d],datatype:h})}})),DA=Ne("algorithm11",["typed","equalScalar"],(function(e){var t=e.typed,A=e.equalScalar;return function(e,n,r,i){var o=e._values,a=e._index,s=e._ptr,g=e._size,c=e._datatype;if(!o)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var u,l=g[0],I=g[1],C=A,h=0,f=r;"string"===typeof c&&(u=c,C=t.find(A,[u,u]),h=t.convert(0,u),n=t.convert(n,u),f=t.find(r,[u,u]));for(var d=[],B=[],p=[],E=0;E<I;E++){p[E]=B.length;for(var Q=s[E],y=s[E+1],v=Q;v<y;v++){var m=a[v],b=i?f(n,o[v]):f(o[v],n);C(b,h)||(B.push(m),d.push(b))}}return p[I]=B.length,e.createSparseMatrix({values:d,index:B,ptr:p,size:[l,I],datatype:u})}})),GA=Ne("algorithm12",["typed","DenseMatrix"],(function(e){var t=e.typed,A=e.DenseMatrix;return function(e,n,r,i){var o=e._values,a=e._index,s=e._ptr,g=e._size,c=e._datatype;if(!o)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var u,l=g[0],I=g[1],C=r;"string"===typeof c&&(u=c,n=t.convert(n,u),C=t.find(r,[u,u]));for(var h=[],f=[],d=[],B=0;B<I;B++){for(var p=B+1,E=s[B],Q=s[B+1],y=E;y<Q;y++){var v=a[y];f[v]=o[y],d[v]=p}for(var m=0;m<l;m++)0===B&&(h[m]=[]),d[m]===p?h[m][B]=i?C(n,f[m]):C(f[m],n):h[m][B]=i?C(n,0):C(0,n)}return new A({data:h,size:[l,I],datatype:u})}})),kA=Ne("algorithm07",["typed","DenseMatrix"],(function(e){var t=e.typed,A=e.DenseMatrix;return function(e,r,i){var o=e._size,a=e._datatype,s=r._size,g=r._datatype;if(o.length!==s.length)throw new ye(o.length,s.length);if(o[0]!==s[0]||o[1]!==s[1])throw new RangeError("Dimension mismatch. Matrix A ("+o+") must match Matrix B ("+s+")");var c,u,l,I=o[0],C=o[1],h=0,f=i;"string"===typeof a&&a===g&&(c=a,h=t.convert(0,c),f=t.find(i,[c,c]));var d=[];for(u=0;u<I;u++)d[u]=[];var B=[],p=[],E=[],Q=[];for(l=0;l<C;l++){var y=l+1;for(n(e,l,E,B,y),n(r,l,Q,p,y),u=0;u<I;u++){var v=E[u]===y?B[u]:h,m=Q[u]===y?p[u]:h;d[u][l]=f(v,m)}}return new A({data:d,size:[I,C],datatype:c})};function n(e,t,A,n,r){for(var i=e._values,o=e._index,a=e._ptr,s=a[t],g=a[t+1];s<g;s++){var c=o[s];A[c]=r,n[c]=i[s]}}}));var xA=Ne("identity",["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],(function(e){var t=e.typed,A=e.config,n=e.matrix,r=e.BigNumber,o=e.DenseMatrix,a=e.SparseMatrix;return t("identity",{"":function(){return"Matrix"===A.matrix?n([]):[]},string:function(e){return n(e)},"number | BigNumber":function(e){return g(e,e,"Matrix"===A.matrix?"dense":void 0)},"number | BigNumber, string":function(e,t){return g(e,e,t)},"number | BigNumber, number | BigNumber":function(e,t){return g(e,t,"Matrix"===A.matrix?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(e,t,A){return g(e,t,A)},Array:function(e){return s(e)},"Array, string":function(e,t){return s(e,t)},Matrix:function(e){return s(e.valueOf(),e.storage())},"Matrix, string":function(e,t){return s(e.valueOf(),t)}});function s(e,t){switch(e.length){case 0:return t?n(t):[];case 1:return g(e[0],e[0],t);case 2:return g(e[0],e[1],t);default:throw new Error("Vector containing two values expected")}}function g(e,t,A){var n=i(e)||i(t)?r:null;if(i(e)&&(e=e.toNumber()),i(t)&&(t=t.toNumber()),!z(e)||e<1)throw new Error("Parameters in function identity must be positive integers");if(!z(t)||t<1)throw new Error("Parameters in function identity must be positive integers");var s=n?new r(1):1,g=n?new n(0):0,c=[e,t];if(A){if("sparse"===A)return a.diagonal(c,s,0,g);if("dense"===A)return o.diagonal(c,s,0,g);throw new TypeError('Unknown matrix type "'.concat(A,'"'))}for(var u=Se([],c,g),l=e<t?e:t,I=0;I<l;I++)u[I][I]=s;return u}}));function NA(){throw new Error('No "bignumber" implementation available')}function UA(){throw new Error('No "fraction" implementation available')}function _A(){throw new Error('No "matrix" implementation available')}var MA=Ne("size",["typed","config","?matrix"],(function(e){var t=e.typed,A=e.config,n=e.matrix;return t("size",{Matrix:function(e){return e.create(e.size())},Array:me,string:function(e){return"Array"===A.matrix?[e.length]:n([e.length])},"number | Complex | BigNumber | Unit | boolean | null":function(e){return"Array"===A.matrix?[]:n?n([]):_A()}})}));var OA=Ne("zeros",["typed","config","matrix","BigNumber"],(function(e){var t=e.typed,A=e.config,n=e.matrix,r=e.BigNumber;return t("zeros",{"":function(){return"Array"===A.matrix?o([]):o([],"default")},"...number | BigNumber | string":function(e){if("string"===typeof e[e.length-1]){var t=e.pop();return o(e,t)}return"Array"===A.matrix?o(e):o(e,"default")},Array:o,Matrix:function(e){var t=e.storage();return o(e.valueOf(),t)},"Array | Matrix, string":function(e,t){return o(e.valueOf(),t)}});function o(e,t){var A=function(e){var t=!1;return e.forEach((function(e,A,n){i(e)&&(t=!0,n[A]=e.toNumber())})),t}(e)?new r(0):0;if(function(e){e.forEach((function(e){if("number"!==typeof e||!z(e)||e<0)throw new Error("Parameters in function zeros must be positive integers")}))}(e),t){var o=n(t);return e.length>0?o.resize(e,A):o}var a=[];return e.length>0?Se(a,e,A):a}}));Ne("hex",["typed","format"],(function(e){var t=e.typed,A=e.format;return t("hex",{"number | BigNumber":function(e){return A(e,{notation:"hex"})},"number | BigNumber, number":function(e,t){return A(e,{notation:"hex",wordSize:t})}})}));function LA(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function TA(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?LA(Object(A),!0).forEach((function(t){ZA(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):LA(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function ZA(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var HA="Number of decimals in function round must be an integer",YA=Ne("round",["typed","matrix","equalScalar","zeros","BigNumber","DenseMatrix"],(function(e){var t=e.typed,A=e.matrix,n=e.equalScalar,r=e.zeros,i=e.BigNumber,o=e.DenseMatrix,a=DA({typed:t,equalScalar:n}),s=GA({typed:t,DenseMatrix:o}),g=SA({typed:t});return t("round",TA(TA({},JA),{},{Complex:function(e){return e.round()},"Complex, number":function(e,t){if(t%1)throw new TypeError(HA);return e.round(t)},"Complex, BigNumber":function(e,t){if(!t.isInteger())throw new TypeError(HA);var A=t.toNumber();return e.round(A)},"number, BigNumber":function(e,t){if(!t.isInteger())throw new TypeError(HA);return new i(e).toDecimalPlaces(t.toNumber())},BigNumber:function(e){return e.toDecimalPlaces(0)},"BigNumber, BigNumber":function(e,t){if(!t.isInteger())throw new TypeError(HA);return e.toDecimalPlaces(t.toNumber())},Fraction:function(e){return e.round()},"Fraction, number":function(e,t){if(t%1)throw new TypeError(HA);return e.round(t)},"Array | Matrix":function(e){return it(e,this,!0)},"SparseMatrix, number | BigNumber":function(e,t){return a(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return g(e,t,this,!1)},"number | Complex | BigNumber, SparseMatrix":function(e,t){return n(e,0)?r(t.size(),t.storage()):s(t,e,this,!0)},"number | Complex | BigNumber, DenseMatrix":function(e,t){return n(e,0)?r(t.size(),t.storage()):g(t,e,this,!0)},"Array, number | BigNumber":function(e,t){return g(A(e),t,this,!1).valueOf()},"number | Complex | BigNumber, Array":function(e,t){return g(A(t),e,this,!0).valueOf()}}))})),JA={number:Mt,"number, number":function(e,t){if(!z(t))throw new TypeError(HA);if(t<0||t>15)throw new Error("Number of decimals in function round must be in te range of 0-15");return Mt(e,t)}},jA=Ne("compare",["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix"],(function(e){var t=e.typed,A=e.config,n=e.equalScalar,r=e.matrix,i=e.BigNumber,o=e.Fraction,a=e.DenseMatrix,s=FA({typed:t}),g=RA({typed:t,equalScalar:n}),c=GA({typed:t,DenseMatrix:a}),u=wA({typed:t}),l=SA({typed:t});return t("compare",{"boolean, boolean":function(e,t){return e===t?0:e>t?1:-1},"number, number":function(e,t){return le(e,t,A.epsilon)?0:e>t?1:-1},"BigNumber, BigNumber":function(e,t){return lt(e,t,A.epsilon)?new i(0):new i(e.cmp(t))},"Fraction, Fraction":function(e,t){return new o(e.compare(t))},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")},"Unit, Unit":function(e,t){if(!e.equalBase(t))throw new Error("Cannot compare units with different base");return this(e.value,t.value)},"SparseMatrix, SparseMatrix":function(e,t){return g(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return s(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return s(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return u(e,t,this)},"Array, Array":function(e,t){return this(r(e),r(t)).valueOf()},"Array, Matrix":function(e,t){return this(r(e),t)},"Matrix, Array":function(e,t){return this(e,r(t))},"SparseMatrix, any":function(e,t){return c(e,t,this,!1)},"DenseMatrix, any":function(e,t){return l(e,t,this,!1)},"any, SparseMatrix":function(e,t){return c(t,e,this,!0)},"any, DenseMatrix":function(e,t){return l(t,e,this,!0)},"Array, any":function(e,t){return l(r(e),t,this,!1).valueOf()},"any, Array":function(e,t){return l(r(t),e,this,!0).valueOf()}})})),PA=Ne("smaller",["typed","config","matrix","DenseMatrix"],(function(e){var t=e.typed,A=e.config,n=e.matrix,r=e.DenseMatrix,i=FA({typed:t}),o=kA({typed:t,DenseMatrix:r}),a=GA({typed:t,DenseMatrix:r}),s=wA({typed:t}),g=SA({typed:t});return t("smaller",{"boolean, boolean":function(e,t){return e<t},"number, number":function(e,t){return e<t&&!le(e,t,A.epsilon)},"BigNumber, BigNumber":function(e,t){return e.lt(t)&&!lt(e,t,A.epsilon)},"Fraction, Fraction":function(e,t){return-1===e.compare(t)},"Complex, Complex":function(e,t){throw new TypeError("No ordering relation is defined for complex numbers")},"Unit, Unit":function(e,t){if(!e.equalBase(t))throw new Error("Cannot compare units with different base");return this(e.value,t.value)},"SparseMatrix, SparseMatrix":function(e,t){return o(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return i(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return i(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return s(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return a(e,t,this,!1)},"DenseMatrix, any":function(e,t){return g(e,t,this,!1)},"any, SparseMatrix":function(e,t){return a(t,e,this,!0)},"any, DenseMatrix":function(e,t){return g(t,e,this,!0)},"Array, any":function(e,t){return g(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return g(n(t),e,this,!0).valueOf()}})})),VA=Ne("larger",["typed","config","matrix","DenseMatrix"],(function(e){var t=e.typed,A=e.config,n=e.matrix,r=e.DenseMatrix,i=FA({typed:t}),o=kA({typed:t,DenseMatrix:r}),a=GA({typed:t,DenseMatrix:r}),s=wA({typed:t}),g=SA({typed:t});return t("larger",{"boolean, boolean":function(e,t){return e>t},"number, number":function(e,t){return e>t&&!le(e,t,A.epsilon)},"BigNumber, BigNumber":function(e,t){return e.gt(t)&&!lt(e,t,A.epsilon)},"Fraction, Fraction":function(e,t){return 1===e.compare(t)},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")},"Unit, Unit":function(e,t){if(!e.equalBase(t))throw new Error("Cannot compare units with different base");return this(e.value,t.value)},"SparseMatrix, SparseMatrix":function(e,t){return o(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return i(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return i(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return s(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return a(e,t,this,!1)},"DenseMatrix, any":function(e,t){return g(e,t,this,!1)},"any, SparseMatrix":function(e,t){return a(t,e,this,!0)},"any, DenseMatrix":function(e,t){return g(t,e,this,!0)},"Array, any":function(e,t){return g(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return g(n(t),e,this,!0).valueOf()}})})),KA=(Ne("unequal",["typed","equalScalar"],(function(e){var t=e.typed,A=e.equalScalar;return t("unequal",{"any, any":function(e,t){return null===e?null!==t:null===t?null!==e:void 0===e?void 0!==t:void 0===t?void 0!==e:!A(e,t)}})})),Ne("FibonacciHeap",["smaller","larger"],(function(e){var t=e.smaller,A=e.larger,n=1/Math.log((1+Math.sqrt(5))/2);function r(){if(!(this instanceof r))throw new SyntaxError("Constructor must be called with the new operator");this._minimum=null,this._size=0}function i(e,t,A){t.left.right=t.right,t.right.left=t.left,A.degree--,A.child===t&&(A.child=t.right),0===A.degree&&(A.child=null),t.left=e,t.right=e.right,e.right=t,t.right.left=t,t.parent=null,t.mark=!1}r.prototype.type="FibonacciHeap",r.prototype.isFibonacciHeap=!0,r.prototype.insert=function(e,A){var n={key:e,value:A,degree:0};if(this._minimum){var r=this._minimum;n.left=r,n.right=r.right,r.right=n,n.right.left=n,t(e,r.key)&&(this._minimum=n)}else n.left=n,n.right=n,this._minimum=n;return this._size++,n},r.prototype.size=function(){return this._size},r.prototype.clear=function(){this._minimum=null,this._size=0},r.prototype.isEmpty=function(){return 0===this._size},r.prototype.extractMinimum=function(){var e=this._minimum;if(null===e)return e;for(var r=this._minimum,i=e.degree,a=e.child;i>0;){var s=a.right;a.left.right=a.right,a.right.left=a.left,a.left=r,a.right=r.right,r.right=a,a.right.left=a,a.parent=null,a=s,i--}return e.left.right=e.right,e.right.left=e.left,r=e===e.right?null:function(e,r){var i,a=Math.floor(Math.log(r)*n)+1,s=new Array(a),g=0,c=e;if(c)for(g++,c=c.right;c!==e;)g++,c=c.right;for(;g>0;){for(var u=c.degree,l=c.right;i=s[u];){if(A(c.key,i.key)){var I=i;i=c,c=I}o(i,c),s[u]=null,u++}s[u]=c,c=l,g--}e=null;for(var C=0;C<a;C++)(i=s[C])&&(e?(i.left.right=i.right,i.right.left=i.left,i.left=e,i.right=e.right,e.right=i,i.right.left=i,t(i.key,e.key)&&(e=i)):e=i);return e}(r=e.right,this._size),this._size--,this._minimum=r,e},r.prototype.remove=function(e){this._minimum=function(e,A,n){A.key=n;var r=A.parent;r&&t(A.key,r.key)&&(i(e,A,r),function e(t,A){var n=A.parent;if(!n)return;A.mark?(i(t,A,n),e(n)):A.mark=!0}(e,r));t(A.key,e.key)&&(e=A);return e}(this._minimum,e,-1),this.extractMinimum()};var o=function(e,t){e.left.right=e.right,e.right.left=e.left,e.parent=t,t.child?(e.left=t.child,e.right=t.child.right,t.child.right=e,e.right.left=e):(t.child=e,e.right=e,e.left=e),t.degree++,e.mark=!1};return r}),{isClass:!0})),WA=Ne("dot",["typed","addScalar","multiplyScalar","conj","size"],(function(e){var t=e.typed,A=e.addScalar,n=e.multiplyScalar,r=e.conj,i=e.size;return t("dot",{"Array | DenseMatrix, Array | DenseMatrix":function(e,i){var s=o(e,i),g=u(e)?e._data:e,c=u(e)?e._datatype:void 0,l=u(i)?i._data:i,I=u(i)?i._datatype:void 0,C=2===a(e).length,h=2===a(i).length,f=A,d=n;if(c&&I&&c===I&&"string"===typeof c){var B=c;f=t.find(A,[B,B]),d=t.find(n,[B,B])}if(!C&&!h){for(var p=d(r(g[0]),l[0]),E=1;E<s;E++)p=f(p,d(r(g[E]),l[E]));return p}if(!C&&h){for(var Q=d(r(g[0]),l[0][0]),y=1;y<s;y++)Q=f(Q,d(r(g[y]),l[y][0]));return Q}if(C&&!h){for(var v=d(r(g[0][0]),l[0]),m=1;m<s;m++)v=f(v,d(r(g[m][0]),l[m]));return v}if(C&&h){for(var b=d(r(g[0][0]),l[0][0]),w=1;w<s;w++)b=f(b,d(r(g[w][0]),l[w][0]));return b}},"SparseMatrix, SparseMatrix":function(e,t){o(e,t);var r=e._index,i=e._values,a=t._index,s=t._values,g=0,c=A,u=n,l=0,I=0;for(;l<r.length&&I<a.length;){var C=r[l],h=a[I];C<h?l++:C>h?I++:C===h&&(g=c(g,u(i[l],s[I])),l++,I++)}return g}});function o(e,t){var A,n,r=a(e),i=a(t);if(1===r.length)A=r[0];else{if(2!==r.length||1!==r[1])throw new RangeError("Expected a column vector, instead got a matrix of size ("+r.join(", ")+")");A=r[0]}if(1===i.length)n=i[0];else{if(2!==i.length||1!==i[1])throw new RangeError("Expected a column vector, instead got a matrix of size ("+i.join(", ")+")");n=i[0]}if(A!==n)throw new RangeError("Vectors must have equal length ("+A+" != "+n+")");if(0===A)throw new RangeError("Cannot calculate the dot product of empty vectors");return A}function a(e){return u(e)?e.size():i(e)}})),XA=Ne("abs",["typed"],(function(e){return(0,e.typed)("abs",{number:ft,Complex:function(e){return e.abs()},BigNumber:function(e){return e.abs()},Fraction:function(e){return e.abs()},"Array | Matrix":function(e){return it(e,this,!0)},Unit:function(e){return e.abs()}})})),qA=A(8),zA=Ne("floor",["typed","config","round","matrix","equalScalar"],(function(e){var t=e.typed,A=e.config,n=e.round,r=e.matrix,i=e.equalScalar,o=DA({typed:t,equalScalar:i}),a=SA({typed:t});return t("floor",{number:function(e){return le(e,n(e),A.epsilon)?n(e):Math.floor(e)},"number, number":function(e,t){if(le(e,n(e,t),A.epsilon))return n(e,t);var r="".concat(e,"e").split("e"),i=Object(qA.a)(r,2),o=i[0],a=i[1],s=Math.floor(Number("".concat(o,"e").concat(Number(a)+t))),g="".concat(s,"e").split("e"),c=Object(qA.a)(g,2);return o=c[0],a=c[1],Number("".concat(o,"e").concat(Number(a)-t))},Complex:function(e){return e.floor()},"Complex, number":function(e,t){return e.floor(t)},BigNumber:function(e){return lt(e,n(e),A.epsilon)?n(e):e.floor()},"BigNumber, BigNumber":function(e,t){return lt(e,n(e,t),A.epsilon)?n(e,t):e.toDecimalPlaces(t.toNumber(),Je.a.ROUND_FLOOR)},Fraction:function(e){return e.floor()},"Fraction, number":function(e,t){return e.floor(t)},"Array | Matrix":function(e){return it(e,this,!0)},"Array | Matrix, number":function(e,t){var A=this;return it(e,(function(e){return A(e,t)}),!0)},"SparseMatrix, number | BigNumber":function(e,t){return o(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return a(e,t,this,!1)},"number | Complex | BigNumber, Array":function(e,t){return a(r(t),e,this,!0).valueOf()}})})),$A=Ne("multiply",["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],(function(e){var t=e.typed,A=e.matrix,n=e.addScalar,r=e.multiplyScalar,i=e.equalScalar,o=e.dot,a=DA({typed:t,equalScalar:i}),s=SA({typed:t});function g(e,t){switch(e.length){case 1:switch(t.length){case 1:if(e[0]!==t[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(e[0]!==t[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+e[0]+") must match Matrix rows ("+t[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+t.length+" dimensions)")}break;case 2:switch(t.length){case 1:if(e[1]!==t[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+e[1]+") must match Vector length ("+t[0]+")");break;case 2:if(e[1]!==t[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+e[1]+") must match Matrix B rows ("+t[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+t.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+e.length+" dimensions)")}}function c(e,A){if("dense"!==A.storage())throw new Error("Support for SparseMatrix not implemented");return function(e,A){var i,o=e._data,a=e._size,s=e._datatype,g=A._data,c=A._size,u=A._datatype,l=a[0],I=c[1],C=n,h=r;s&&u&&s===u&&"string"===typeof s&&(i=s,C=t.find(n,[i,i]),h=t.find(r,[i,i]));for(var f=[],d=0;d<I;d++){for(var B=h(o[0],g[0][d]),p=1;p<l;p++)B=C(B,h(o[p],g[p][d]));f[d]=B}return e.createDenseMatrix({data:f,size:[I],datatype:i})}(e,A)}var l=t("_multiplyMatrixVector",{"DenseMatrix, any":function(e,A){var i,o=e._data,a=e._size,s=e._datatype,g=A._data,c=A._datatype,u=a[0],l=a[1],I=n,C=r;s&&c&&s===c&&"string"===typeof s&&(i=s,I=t.find(n,[i,i]),C=t.find(r,[i,i]));for(var h=[],f=0;f<u;f++){for(var d=o[f],B=C(d[0],g[0]),p=1;p<l;p++)B=I(B,C(d[p],g[p]));h[f]=B}return e.createDenseMatrix({data:h,size:[u],datatype:i})},"SparseMatrix, any":function(e,A){var o=e._values,a=e._index,s=e._ptr,g=e._datatype;if(!o)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var c,u=A._data,l=A._datatype,I=e._size[0],C=A._size[0],h=[],f=[],d=[],B=n,p=r,E=i,Q=0;g&&l&&g===l&&"string"===typeof g&&(c=g,B=t.find(n,[c,c]),p=t.find(r,[c,c]),E=t.find(i,[c,c]),Q=t.convert(0,c));var y=[],v=[];d[0]=0;for(var m=0;m<C;m++){var b=u[m];if(!E(b,Q))for(var w=s[m],S=s[m+1],F=w;F<S;F++){var R=a[F];v[R]?y[R]=B(y[R],p(b,o[F])):(v[R]=!0,f.push(R),y[R]=p(b,o[F]))}}for(var D=f.length,G=0;G<D;G++){var k=f[G];h[G]=y[k]}return d[1]=f.length,e.createSparseMatrix({values:h,index:f,ptr:d,size:[I,1],datatype:c})}}),I=t("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":function(e,A){var i,o=e._data,a=e._size,s=e._datatype,g=A._data,c=A._size,u=A._datatype,l=a[0],I=a[1],C=c[1],h=n,f=r;s&&u&&s===u&&"string"===typeof s&&(i=s,h=t.find(n,[i,i]),f=t.find(r,[i,i]));for(var d=[],B=0;B<l;B++){var p=o[B];d[B]=[];for(var E=0;E<C;E++){for(var Q=f(p[0],g[0][E]),y=1;y<I;y++)Q=h(Q,f(p[y],g[y][E]));d[B][E]=Q}}return e.createDenseMatrix({data:d,size:[l,C],datatype:i})},"DenseMatrix, SparseMatrix":function(e,A){var o=e._data,a=e._size,s=e._datatype,g=A._values,c=A._index,u=A._ptr,l=A._size,I=A._datatype;if(!g)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var C,h=a[0],f=l[1],d=n,B=r,p=i,E=0;s&&I&&s===I&&"string"===typeof s&&(C=s,d=t.find(n,[C,C]),B=t.find(r,[C,C]),p=t.find(i,[C,C]),E=t.convert(0,C));for(var Q=[],y=[],v=[],m=A.createSparseMatrix({values:Q,index:y,ptr:v,size:[h,f],datatype:C}),b=0;b<f;b++){v[b]=y.length;var w=u[b],S=u[b+1];if(S>w)for(var F=0,R=0;R<h;R++){for(var D=R+1,G=void 0,k=w;k<S;k++){var x=c[k];F!==D?(G=B(o[R][x],g[k]),F=D):G=d(G,B(o[R][x],g[k]))}F!==D||p(G,E)||(y.push(R),Q.push(G))}}return v[f]=y.length,m},"SparseMatrix, DenseMatrix":function(e,A){var o=e._values,a=e._index,s=e._ptr,g=e._datatype;if(!o)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var c,u=A._data,l=A._datatype,I=e._size[0],C=A._size[0],h=A._size[1],f=n,d=r,B=i,p=0;g&&l&&g===l&&"string"===typeof g&&(c=g,f=t.find(n,[c,c]),d=t.find(r,[c,c]),B=t.find(i,[c,c]),p=t.convert(0,c));for(var E=[],Q=[],y=[],v=e.createSparseMatrix({values:E,index:Q,ptr:y,size:[I,h],datatype:c}),m=[],b=[],w=0;w<h;w++){y[w]=Q.length;for(var S=w+1,F=0;F<C;F++){var R=u[F][w];if(!B(R,p))for(var D=s[F],G=s[F+1],k=D;k<G;k++){var x=a[k];b[x]!==S?(b[x]=S,Q.push(x),m[x]=d(R,o[k])):m[x]=f(m[x],d(R,o[k]))}}for(var N=y[w],U=Q.length,_=N;_<U;_++){var M=Q[_];E[_]=m[M]}}return y[h]=Q.length,v},"SparseMatrix, SparseMatrix":function(e,A){var i,o=e._values,a=e._index,s=e._ptr,g=e._datatype,c=A._values,u=A._index,l=A._ptr,I=A._datatype,C=e._size[0],h=A._size[1],f=o&&c,d=n,B=r;g&&I&&g===I&&"string"===typeof g&&(i=g,d=t.find(n,[i,i]),B=t.find(r,[i,i]));for(var p,E,Q,y,v,m,b,w,S=f?[]:void 0,F=[],R=[],D=e.createSparseMatrix({values:S,index:F,ptr:R,size:[C,h],datatype:i}),G=f?[]:void 0,k=[],x=0;x<h;x++){R[x]=F.length;var N=x+1;for(v=l[x],m=l[x+1],y=v;y<m;y++)if(w=u[y],f)for(E=s[w],Q=s[w+1],p=E;p<Q;p++)b=a[p],k[b]!==N?(k[b]=N,F.push(b),G[b]=B(c[y],o[p])):G[b]=d(G[b],B(c[y],o[p]));else for(E=s[w],Q=s[w+1],p=E;p<Q;p++)b=a[p],k[b]!==N&&(k[b]=N,F.push(b));if(f)for(var U=R[x],_=F.length,M=U;M<_;M++){var O=F[M];S[M]=G[O]}}return R[h]=F.length,D}});return t("multiply",j({"Array, Array":function(e,t){g(me(e),me(t));var n=this(A(e),A(t));return u(n)?n.valueOf():n},"Matrix, Matrix":function(e,t){var A=e.size(),n=t.size();return g(A,n),1===A.length?1===n.length?function(e,t,A){if(0===A)throw new Error("Cannot multiply two empty vectors");return o(e,t)}(e,t,A[0]):c(e,t):1===n.length?l(e,t):I(e,t)},"Matrix, Array":function(e,t){return this(e,A(t))},"Array, Matrix":function(e,t){return this(A(e,t.storage()),t)},"SparseMatrix, any":function(e,t){return a(e,t,r,!1)},"DenseMatrix, any":function(e,t){return s(e,t,r,!1)},"any, SparseMatrix":function(e,t){return a(t,e,r,!0)},"any, DenseMatrix":function(e,t){return s(t,e,r,!0)},"Array, any":function(e,t){return s(A(e),t,r,!1).valueOf()},"any, Array":function(e,t){return s(A(t),e,r,!0).valueOf()},"any, any":r,"any, any, ...any":function(e,t,A){for(var n=this(e,t),r=0;r<A.length;r++)n=this(n,A[r]);return n}},r.signatures))}));function en(e,t,A,n){if(!(this instanceof en))throw new SyntaxError("Constructor must be called with the new operator");this.fn=e,this.count=t,this.min=A,this.max=n,this.message="Wrong number of arguments in function "+e+" ("+t+" provided, "+A+(void 0!==n&&null!==n?"-"+n:"")+" expected)",this.stack=(new Error).stack}en.prototype=new Error,en.prototype.constructor=Error,en.prototype.name="ArgumentsError",en.prototype.isArgumentsError=!0;var tn=Ne("pow",["typed","config","identity","multiply","matrix","fraction","number","Complex"],(function(e){var t=e.typed,A=e.config,n=e.identity,r=e.multiply,i=e.matrix,o=e.number,a=e.fraction,s=e.Complex;return t("pow",{"number, number":g,"Complex, Complex":function(e,t){return e.pow(t)},"BigNumber, BigNumber":function(e,t){return t.isInteger()||e>=0||A.predictable?e.pow(t):new s(e.toNumber(),0).pow(t.toNumber(),0)},"Fraction, Fraction":function(e,t){if(1!==t.d){if(A.predictable)throw new Error("Function pow does not support non-integer exponents for fractions.");return g(e.valueOf(),t.valueOf())}return e.pow(t)},"Array, number":c,"Array, BigNumber":function(e,t){return c(e,t.toNumber())},"Matrix, number":u,"Matrix, BigNumber":function(e,t){return u(e,t.toNumber())},"Unit, number | BigNumber":function(e,t){return e.pow(t)}});function g(e,t){if(A.predictable&&!z(t)&&e<0)try{var n=a(t),r=o(n);if((t===r||Math.abs((t-r)/t)<1e-14)&&n.d%2===1)return(n.n%2===0?1:-1)*Math.pow(-e,t)}catch(i){}return A.predictable&&(e<-1&&t===1/0||e>-1&&e<0&&t===-1/0)?NaN:z(t)||e>=0||A.predictable?_t(e,t):e*e<1&&t===1/0||e*e>1&&t===-1/0?0:new s(e,0).pow(t,0)}function c(e,t){if(!z(t)||t<0)throw new TypeError("For A^b, b must be a positive integer (value is "+t+")");var A=me(e);if(2!==A.length)throw new Error("For A^b, A must be 2 dimensional (A has "+A.length+" dimensions)");if(A[0]!==A[1])throw new Error("For A^b, A must be square (size is "+A[0]+"x"+A[1]+")");for(var i=n(A[0]).valueOf(),o=e;t>=1;)1===(1&t)&&(i=r(o,i)),t>>=1,o=r(o,o);return i}function u(e,t){return i(c(e.valueOf(),t))}}));A(242);function An(e){var t;if(z(e))return e<=0?isFinite(e)?1/0:NaN:e>171?1/0:CA(1,e-1);if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*An(1-e));if(e>=171.35)return 1/0;if(e>85){var A=e*e,n=A*e,r=n*e,i=r*e;return Math.sqrt(2*Math.PI/e)*Math.pow(e/Math.E,e)*(1+1/(12*e)+1/(288*A)-139/(51840*n)-571/(2488320*r)+163879/(209018880*i)+5246819/(75246796800*i*e))}--e,t=rn[0];for(var o=1;o<rn.length;++o)t+=rn[o]/(e+o);var a=e+nn+.5;return Math.sqrt(2*Math.PI)*Math.pow(a,e+.5)*Math.exp(-a)*t}An.signature="number";var nn=4.7421875,rn=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22],on=Ne("bignumber",["typed","BigNumber"],(function(e){var t=e.typed,A=e.BigNumber;return t("bignumber",{"":function(){return new A(0)},number:function(e){return new A(e+"")},string:function(e){var t=e.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(t){var n=t[2],r=A(t[1]),i=new A(2).pow(Number(n));if(r.gt(i.sub(1)))throw new SyntaxError('String "'.concat(e,'" is out of range'));var o=new A(2).pow(Number(n)-1);return r.gte(o)?r.sub(i):r}return new A(e)},BigNumber:function(e){return e},Fraction:function(e){return new A(e.n).div(e.d).times(e.s)},null:function(e){return new A(0)},"Array | Matrix":function(e){return it(e,this)}})})),an=Ne("numeric",["number","?bignumber","?fraction"],(function(e){var t=e.number,A=e.bignumber,n=e.fraction,r={string:!0,number:!0,BigNumber:!0,Fraction:!0},i={number:function(e){return t(e)},BigNumber:A?function(e){return A(e)}:NA,Fraction:n?function(e){return n(e)}:UA};return function(e,t){var A=H(e);if(!(A in r))throw new TypeError("Cannot convert "+e+' of type "'+A+'"; valid input types are '+Object.keys(r).join(", "));if(!(t in i))throw new TypeError("Cannot convert "+e+' to type "'+t+'"; valid output types are '+Object.keys(i).join(", "));return t===A?e:i[t](e)}}));var sn=Ne("ceil",["typed","config","round","matrix","equalScalar"],(function(e){var t=e.typed,A=e.config,n=e.round,r=e.matrix,i=e.equalScalar,o=DA({typed:t,equalScalar:i}),a=SA({typed:t});return t("ceil",{number:function(e){return le(e,n(e),A.epsilon)?n(e):yt(e)},"number, number":function(e,t){if(le(e,n(e,t),A.epsilon))return n(e,t);var r="".concat(e,"e").split("e"),i=Object(qA.a)(r,2),o=i[0],a=i[1],s=Math.ceil(Number("".concat(o,"e").concat(Number(a)+t))),g="".concat(s,"e").split("e"),c=Object(qA.a)(g,2);return o=c[0],a=c[1],Number("".concat(o,"e").concat(Number(a)-t))},Complex:function(e){return e.ceil()},"Complex, number":function(e,t){return e.ceil(t)},BigNumber:function(e){return lt(e,n(e),A.epsilon)?n(e):e.ceil()},"BigNumber, BigNumber":function(e,t){return lt(e,n(e,t),A.epsilon)?n(e,t):e.toDecimalPlaces(t.toNumber(),Je.a.ROUND_CEIL)},Fraction:function(e){return e.ceil()},"Fraction, number":function(e,t){return e.ceil(t)},"Array | Matrix":function(e){return it(e,this,!0)},"Array | Matrix, number":function(e,t){var A=this;return it(e,(function(e){return A(e,t)}),!0)},"SparseMatrix, number | BigNumber":function(e,t){return o(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return a(e,t,this,!1)},"number | Complex | BigNumber, Array":function(e,t){return a(r(t),e,this,!0).valueOf()}})})),gn=Ne("subtract",["typed","matrix","equalScalar","addScalar","unaryMinus","DenseMatrix"],(function(e){var t=e.typed,A=e.matrix,n=e.equalScalar,r=e.addScalar,i=e.unaryMinus,o=e.DenseMatrix,a=mA({typed:t}),s=FA({typed:t}),g=RA({typed:t,equalScalar:n}),c=bA({typed:t,DenseMatrix:o}),u=wA({typed:t}),l=SA({typed:t});return t("subtract",{"number, number":function(e,t){return e-t},"Complex, Complex":function(e,t){return e.sub(t)},"BigNumber, BigNumber":function(e,t){return e.minus(t)},"Fraction, Fraction":function(e,t){return e.sub(t)},"Unit, Unit":function(e,t){if(null===e.value)throw new Error("Parameter x contains a unit with undefined value");if(null===t.value)throw new Error("Parameter y contains a unit with undefined value");if(!e.equalBase(t))throw new Error("Units do not match");var A=e.clone();return A.value=this(A.value,t.value),A.fixPrefix=!1,A},"SparseMatrix, SparseMatrix":function(e,t){return cn(e,t),g(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return cn(e,t),s(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return cn(e,t),a(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return cn(e,t),u(e,t,this)},"Array, Array":function(e,t){return this(A(e),A(t)).valueOf()},"Array, Matrix":function(e,t){return this(A(e),t)},"Matrix, Array":function(e,t){return this(e,A(t))},"SparseMatrix, any":function(e,t){return c(e,i(t),r)},"DenseMatrix, any":function(e,t){return l(e,t,this)},"any, SparseMatrix":function(e,t){return c(t,e,this,!0)},"any, DenseMatrix":function(e,t){return l(t,e,this,!0)},"Array, any":function(e,t){return l(A(e),t,this,!1).valueOf()},"any, Array":function(e,t){return l(A(t),e,this,!0).valueOf()}})}));function cn(e,t){var A=e.size(),n=t.size();if(A.length!==n.length)throw new ye(A.length,n.length)}var un=Ne("equal",["typed","matrix","equalScalar","DenseMatrix"],(function(e){var t=e.typed,A=e.matrix,n=e.equalScalar,r=e.DenseMatrix,i=FA({typed:t}),o=kA({typed:t,DenseMatrix:r}),a=GA({typed:t,DenseMatrix:r}),s=wA({typed:t}),g=SA({typed:t});return t("equal",{"any, any":function(e,t){return null===e?null===t:null===t?null===e:void 0===e?void 0===t:void 0===t?void 0===e:n(e,t)},"SparseMatrix, SparseMatrix":function(e,t){return o(e,t,n)},"SparseMatrix, DenseMatrix":function(e,t){return i(t,e,n,!0)},"DenseMatrix, SparseMatrix":function(e,t){return i(e,t,n,!1)},"DenseMatrix, DenseMatrix":function(e,t){return s(e,t,n)},"Array, Array":function(e,t){return this(A(e),A(t)).valueOf()},"Array, Matrix":function(e,t){return this(A(e),t)},"Matrix, Array":function(e,t){return this(e,A(t))},"SparseMatrix, any":function(e,t){return a(e,t,n,!1)},"DenseMatrix, any":function(e,t){return g(e,t,n,!1)},"any, SparseMatrix":function(e,t){return a(t,e,n,!0)},"any, DenseMatrix":function(e,t){return g(t,e,n,!0)},"Array, any":function(e,t){return g(A(e),t,n,!1).valueOf()},"any, Array":function(e,t){return g(A(t),e,n,!0).valueOf()}})})),ln=(Ne("equal",["typed","equalScalar"],(function(e){var t=e.typed,A=e.equalScalar;return t("equal",{"any, any":function(e,t){return null===e?null===t:null===t?null===e:void 0===e?void 0===t:void 0===t?void 0===e:A(e,t)}})})),Ne("fix",["typed","Complex","matrix","ceil","floor"],(function(e){var t=e.typed,A=e.Complex,n=e.matrix,r=e.ceil,i=e.floor,o=SA({typed:t});return t("fix",{number:function(e){return e>0?i(e):r(e)},"number, number | BigNumber":function(e,t){return e>0?i(e,t):r(e,t)},Complex:function(e){return new A(e.re>0?Math.floor(e.re):Math.ceil(e.re),e.im>0?Math.floor(e.im):Math.ceil(e.im))},"Complex, number | BigNumber":function(e,t){return new A(e.re>0?i(e.re,t):r(e.re,t),e.im>0?i(e.im,t):r(e.im,t))},BigNumber:function(e){return e.isNegative()?r(e):i(e)},"BigNumber, number | BigNumber":function(e,t){return e.isNegative()?r(e,t):i(e,t)},Fraction:function(e){return e.s<0?e.ceil():e.floor()},"Fraction, number | BigNumber":function(e,t){return e.s<0?e.ceil(t):e.floor(t)},"Array | Matrix":function(e){return it(e,this,!0)},"Array | Matrix, number | BigNumber":function(e,t){var A=this;return it(e,(function(e){return A(e,t)}),!0)},"number | Complex | BigNumber, Array":function(e,t){return o(n(t),e,this,!0).valueOf()}})}))),In=Ne("divideScalar",["typed","numeric"],(function(e){var t=e.typed,A=e.numeric;return t("divideScalar",{"number, number":function(e,t){return e/t},"Complex, Complex":function(e,t){return e.div(t)},"BigNumber, BigNumber":function(e,t){return e.div(t)},"Fraction, Fraction":function(e,t){return e.div(t)},"Unit, number | Fraction | BigNumber":function(e,t){var n=e.clone(),r=A(1,H(t));return n.value=this(null===n.value?n._normalize(r):n.value,t),n},"number | Fraction | BigNumber, Unit":function(e,t){var n=t.clone();n=n.pow(-1);var r=A(1,H(e));return n.value=this(e,null===t.value?t._normalize(r):t.value),n},"Unit, Unit":function(e,t){return e.divide(t)}})}));A(11);var Cn=Ne("Spa",["addScalar","equalScalar","FibonacciHeap"],(function(e){var t=e.addScalar,A=e.equalScalar,n=e.FibonacciHeap;function r(){if(!(this instanceof r))throw new SyntaxError("Constructor must be called with the new operator");this._values=[],this._heap=new n}return r.prototype.type="Spa",r.prototype.isSpa=!0,r.prototype.set=function(e,t){if(this._values[e])this._values[e].value=t;else{var A=this._heap.insert(e,t);this._values[e]=A}},r.prototype.get=function(e){var t=this._values[e];return t?t.value:0},r.prototype.accumulate=function(e,A){var n=this._values[e];n?n.value=t(n.value,A):(n=this._heap.insert(e,A),this._values[e]=n)},r.prototype.forEach=function(e,t,n){var r=this._heap,i=this._values,o=[],a=r.extractMinimum();for(a&&o.push(a);a&&a.key<=t;)a.key>=e&&(A(a.value,0)||n(a.key,a.value,this)),(a=r.extractMinimum())&&o.push(a);for(var s=0;s<o.length;s++){var g=o[s];i[(a=r.insert(g.key,g.value)).key]=a}},r.prototype.swap=function(e,t){var A=this._values[e],n=this._values[t];if(!A&&n)A=this._heap.insert(e,n.value),this._heap.remove(n),this._values[e]=A,this._values[t]=void 0;else if(A&&!n)n=this._heap.insert(t,A.value),this._heap.remove(A),this._values[t]=n,this._values[e]=void 0;else if(A&&n){var r=A.value;A.value=n.value,n.value=r}},r}),{isClass:!0}),hn=Ne("lup",["typed","matrix","abs","addScalar","divideScalar","multiplyScalar","subtract","larger","equalScalar","unaryMinus","DenseMatrix","SparseMatrix","Spa"],(function(e){var t=e.typed,A=e.matrix,n=e.abs,r=e.addScalar,i=e.divideScalar,o=e.multiplyScalar,a=e.subtract,s=e.larger,g=e.equalScalar,c=e.unaryMinus,u=e.DenseMatrix,l=e.SparseMatrix,I=e.Spa;return t("lup",{DenseMatrix:function(e){return C(e)},SparseMatrix:function(e){return h(e)},Array:function(e){var t=C(A(e));return{L:t.L.valueOf(),U:t.U.valueOf(),p:t.p}}});function C(e){var t,A,c,l=e._size[0],I=e._size[1],C=Math.min(l,I),h=Y(e._data),f=[],d=[l,C],B=[],p=[C,I],E=[];for(t=0;t<l;t++)E[t]=t;for(A=0;A<I;A++){if(A>0)for(t=0;t<l;t++){var Q=Math.min(t,A),y=0;for(c=0;c<Q;c++)y=r(y,o(h[t][c],h[c][A]));h[t][A]=a(h[t][A],y)}var v=A,m=0,b=0;for(t=A;t<l;t++){var w=h[t][A],S=n(w);s(S,m)&&(v=t,m=S,b=w)}if(A!==v&&(E[A]=[E[v],E[v]=E[A]][0],u._swapRows(A,v,h)),A<l)for(t=A+1;t<l;t++){var F=h[t][A];g(F,0)||(h[t][A]=i(h[t][A],b))}}for(A=0;A<I;A++)for(t=0;t<l;t++)0===A&&(t<I&&(B[t]=[]),f[t]=[]),t<A?(t<I&&(B[t][A]=h[t][A]),A<l&&(f[t][A]=0)):t!==A?(t<I&&(B[t][A]=0),A<l&&(f[t][A]=h[t][A])):(t<I&&(B[t][A]=h[t][A]),A<l&&(f[t][A]=1));var R=new u({data:f,size:d}),D=new u({data:B,size:p}),G=[];for(t=0,C=E.length;t<C;t++)G[E[t]]=t;return{L:R,U:D,p:G,toString:function(){return"L: "+this.L.toString()+"\nU: "+this.U.toString()+"\nP: "+this.p}}}function h(e){var t,A,r,a=e._size[0],u=e._size[1],C=Math.min(a,u),h=e._values,f=e._index,d=e._ptr,B=[],p=[],E=[],Q=[a,C],y=[],v=[],m=[],b=[C,u],w=[],S=[];for(t=0;t<a;t++)w[t]=t,S[t]=t;var F=function(){var e=new I;A<a&&(E.push(B.length),B.push(1),p.push(A)),m.push(y.length);var u=d[A],C=d[A+1];for(r=u;r<C;r++)t=f[r],e.set(w[t],h[r]);A>0&&e.forEach(0,A-1,(function(t,A){l._forEachRow(t,B,p,E,(function(n,r){n>t&&e.accumulate(n,c(o(r,A)))}))}));var F=A,R=e.get(A),D=n(R);e.forEach(A+1,a-1,(function(e,t){var A=n(t);s(A,D)&&(F=e,D=A,R=t)})),A!==F&&(l._swapRows(A,F,Q[1],B,p,E),l._swapRows(A,F,b[1],y,v,m),e.swap(A,F),function(e,t){var A=S[e],n=S[t];w[A]=t,w[n]=e,S[e]=n,S[t]=A}(A,F)),e.forEach(0,a-1,(function(e,t){e<=A?(y.push(t),v.push(e)):(t=i(t,R),g(t,0)||(B.push(t),p.push(e)))}))};for(A=0;A<u;A++)F();return m.push(y.length),E.push(B.length),{L:new l({values:B,index:p,ptr:E,size:Q}),U:new l({values:y,index:v,ptr:m,size:b}),p:w,toString:function(){return"L: "+this.L.toString()+"\nU: "+this.U.toString()+"\nP: "+this.p}}}}));var fn=Ne("det",["typed","matrix","subtract","multiply","unaryMinus","lup"],(function(e){var t=e.typed,A=e.matrix,n=e.subtract,r=e.multiply,i=e.unaryMinus,o=e.lup;return t("det",{any:function(e){return Y(e)},"Array | Matrix":function(e){var t;switch((t=u(e)?e.size():Array.isArray(e)?(e=A(e)).size():[]).length){case 0:return Y(e);case 1:if(1===t[0])return Y(e.valueOf()[0]);throw new RangeError("Matrix must be square (size: "+Qe(t)+")");case 2:var a=t[0],s=t[1];if(a===s)return function(e,t,A){if(1===t)return Y(e[0][0]);if(2===t)return n(r(e[0][0],e[1][1]),r(e[1][0],e[0][1]));for(var a=o(e),s=a.U[0][0],g=1;g<t;g++)s=r(s,a.U[g][g]);for(var c=0,u=0,l=[];;){for(;l[u];)u++;if(u>=t)break;for(var I=u,C=0;!l[a.p[I]];)l[a.p[I]]=!0,I=a.p[I],C++;C%2===0&&c++}return c%2===0?s:i(s)}(e.clone().valueOf(),a);throw new RangeError("Matrix must be square (size: "+Qe(t)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+Qe(t)+")")}}})}));var dn=Ne("inv",["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],(function(e){var t=e.typed,A=e.matrix,n=e.divideScalar,r=e.addScalar,i=e.multiply,o=e.unaryMinus,a=e.det,s=e.identity,g=e.abs;return t("inv",{"Array | Matrix":function(e){var t=u(e)?e.size():me(e);switch(t.length){case 1:if(1===t[0])return u(e)?A([n(1,e.valueOf()[0])]):[n(1,e[0])];throw new RangeError("Matrix must be square (size: "+Qe(t)+")");case 2:var r=t[0],i=t[1];if(r===i)return u(e)?A(c(e.valueOf(),r,i),e.storage()):c(e,r,i);throw new RangeError("Matrix must be square (size: "+Qe(t)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+Qe(t)+")")}},any:function(e){return n(1,e)}});function c(e,t,A){var c,u,l,I,C;if(1===t){if(0===(I=e[0][0]))throw Error("Cannot calculate inverse, determinant is zero");return[[n(1,I)]]}if(2===t){var h=a(e);if(0===h)throw Error("Cannot calculate inverse, determinant is zero");return[[n(e[1][1],h),n(o(e[0][1]),h)],[n(o(e[1][0]),h),n(e[0][0],h)]]}var f=e.concat();for(c=0;c<t;c++)f[c]=f[c].concat();for(var d=s(t).valueOf(),B=0;B<A;B++){var p=g(f[B][B]),E=B;for(c=B+1;c<t;)g(f[c][B])>p&&(p=g(f[c][B]),E=c),c++;if(0===p)throw Error("Cannot calculate inverse, determinant is zero");(c=E)!==B&&(C=f[B],f[B]=f[c],f[c]=C,C=d[B],d[B]=d[c],d[c]=C);var Q=f[B],y=d[B];for(c=0;c<t;c++){var v=f[c],m=d[c];if(c!==B){if(0!==v[B]){for(l=n(o(v[B]),Q[B]),u=B;u<A;u++)v[u]=r(v[u],i(l,Q[u]));for(u=0;u<A;u++)m[u]=r(m[u],i(l,y[u]))}}else{for(l=Q[B],u=B;u<A;u++)v[u]=n(v[u],l);for(u=0;u<A;u++)m[u]=n(m[u],l)}}}return d}})),Bn=Ne("divide",["typed","matrix","multiply","equalScalar","divideScalar","inv"],(function(e){var t=e.typed,A=e.matrix,n=e.multiply,r=e.equalScalar,i=e.divideScalar,o=e.inv,a=DA({typed:t,equalScalar:r}),s=SA({typed:t});return t("divide",j({"Array | Matrix, Array | Matrix":function(e,t){return n(e,o(t))},"DenseMatrix, any":function(e,t){return s(e,t,i,!1)},"SparseMatrix, any":function(e,t){return a(e,t,i,!1)},"Array, any":function(e,t){return s(A(e),t,i,!1).valueOf()},"any, Array | Matrix":function(e,t){return n(e,o(t))}},i.signatures))}));function pn(){return(pn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function En(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function Qn(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?En(Object(A),!0).forEach((function(t){yn(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):En(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function yn(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}var vn=Ne("Unit",["?on","config","addScalar","subtract","multiplyScalar","divideScalar","pow","abs","fix","round","equal","isNumeric","format","number","Complex","BigNumber","Fraction"],(function(e){var t,A,n,r=e.on,i=e.config,a=e.addScalar,g=e.subtract,c=e.multiplyScalar,u=e.divideScalar,l=e.pow,I=e.abs,C=e.fix,h=e.round,f=e.equal,d=e.isNumeric,B=e.format,p=e.number,E=e.Complex,Q=e.BigNumber,y=e.Fraction,v=p;function m(e,t){if(!(this instanceof m))throw new Error("Constructor must be called with the new operator");if(null!==e&&void 0!==e&&!d(e)&&!o(e))throw new TypeError("First parameter in Unit constructor must be number, BigNumber, Fraction, Complex, or undefined");if(void 0!==t&&("string"!==typeof t||""===t))throw new TypeError("Second parameter in Unit constructor must be a string");if(void 0!==t){var A=m.parse(t);this.units=A.units,this.dimensions=A.dimensions}else{this.units=[{unit:O,prefix:N.NONE,power:0}],this.dimensions=[];for(var n=0;n<U.length;n++)this.dimensions[n]=0}this.value=void 0!==e&&null!==e?this._normalize(e):null,this.fixPrefix=!1,this.skipAutomaticSimplification=!0}function b(){for(;" "===n||"\t"===n;)S()}function w(e){return e>="0"&&e<="9"}function S(){A++,n=t.charAt(A)}function F(e){A=e,n=t.charAt(A)}function R(){var e="",t=A;if("+"===n?S():"-"===n&&(e+=n,S()),!function(e){return e>="0"&&e<="9"||"."===e}(n))return F(t),null;if("."===n){if(e+=n,S(),!w(n))return F(t),null}else{for(;w(n);)e+=n,S();"."===n&&(e+=n,S())}for(;w(n);)e+=n,S();if("E"===n||"e"===n){var r="",i=A;if(r+=n,S(),"+"!==n&&"-"!==n||(r+=n,S()),!w(n))return F(i),e;for(e+=r;w(n);)e+=n,S()}return e}function D(){for(var e="";w(n)||m.isValidAlpha(n);)e+=n,S();var t=e.charAt(0);return m.isValidAlpha(t)?e:null}function G(e){return n===e?(S(),e):null}m.prototype.type="Unit",m.prototype.isUnit=!0,m.parse=function(e,r){if(r=r||{},A=-1,n="","string"!==typeof(t=e))throw new TypeError("Invalid argument in Unit.parse, string expected");var o=new m;o.units=[];var a=1,s=!1;S(),b();var g=R(),c=null;if(g){if("BigNumber"===i.number)c=new Q(g);else if("Fraction"===i.number)try{c=new y(g)}catch(E){c=parseFloat(g)}else c=parseFloat(g);b(),G("*")?(a=1,s=!0):G("/")&&(a=-1,s=!0)}for(var u=[],l=1;;){for(b();"("===n;)u.push(a),l*=a,a=1,S(),b();var I=void 0;if(!n)break;var C=n;if(null===(I=D()))throw new SyntaxError('Unexpected "'+C+'" in "'+t+'" at index '+A.toString());var h=k(I);if(null===h)throw new SyntaxError('Unit "'+I+'" not found.');var f=a*l;if(b(),G("^")){b();var d=R();if(null===d)throw new SyntaxError('In "'+e+'", "^" must be followed by a floating-point number');f*=d}o.units.push({unit:h.unit,prefix:h.prefix,power:f});for(var B=0;B<U.length;B++)o.dimensions[B]+=(h.unit.dimensions[B]||0)*f;for(b();")"===n;){if(0===u.length)throw new SyntaxError('Unmatched ")" in "'+t+'" at index '+A.toString());l/=u.pop(),S(),b()}if(s=!1,G("*")?(a=1,s=!0):G("/")?(a=-1,s=!0):a=1,h.unit.base){var p=h.unit.base.key;J.auto[p]={unit:h.unit,prefix:h.prefix}}}if(b(),n)throw new SyntaxError('Could not parse: "'+e+'"');if(s)throw new SyntaxError('Trailing characters: "'+e+'"');if(0!==u.length)throw new SyntaxError('Unmatched "(" in "'+t+'"');if(0===o.units.length&&!r.allowNoUnits)throw new SyntaxError('"'+e+'" contains no units');return o.value=void 0!==c?o._normalize(c):null,o},m.prototype.clone=function(){var e=new m;e.fixPrefix=this.fixPrefix,e.skipAutomaticSimplification=this.skipAutomaticSimplification,e.value=Y(this.value),e.dimensions=this.dimensions.slice(0),e.units=[];for(var t=0;t<this.units.length;t++)for(var A in e.units[t]={},this.units[t])V(this.units[t],A)&&(e.units[t][A]=this.units[t][A]);return e},m.prototype._isDerived=function(){return 0!==this.units.length&&(this.units.length>1||Math.abs(this.units[0].power-1)>1e-15)},m.prototype._normalize=function(e){var t,A,n,r,i;if(null===e||void 0===e||0===this.units.length)return e;if(this._isDerived()){var o=e;i=m._getNumberConverter(H(e));for(var s=0;s<this.units.length;s++)t=i(this.units[s].unit.value),r=i(this.units[s].prefix.value),n=i(this.units[s].power),o=c(o,l(c(t,r),n));return o}return t=(i=m._getNumberConverter(H(e)))(this.units[0].unit.value),A=i(this.units[0].unit.offset),r=i(this.units[0].prefix.value),c(a(e,A),c(t,r))},m.prototype._denormalize=function(e,t){var A,n,r,i,o;if(null===e||void 0===e||0===this.units.length)return e;if(this._isDerived()){var a=e;o=m._getNumberConverter(H(e));for(var s=0;s<this.units.length;s++)A=o(this.units[s].unit.value),i=o(this.units[s].prefix.value),r=o(this.units[s].power),a=u(a,l(c(A,i),r));return a}return A=(o=m._getNumberConverter(H(e)))(this.units[0].unit.value),i=o(this.units[0].prefix.value),n=o(this.units[0].unit.offset),g(u(u(e,A),void 0===t||null===t?i:t),n)};var k=Te((function(e){if(V(L,e)){var t=L[e];return{unit:t,prefix:t.prefixes[""]}}for(var A in L)if(V(L,A)&&Ee(e,A)){var n=L[A],r=e.length-A.length,i=e.substring(0,r),o=V(n.prefixes,i)?n.prefixes[i]:void 0;if(void 0!==o)return{unit:n,prefix:o}}return null}),{hasher:function(e){return e[0]},limit:100});function x(e){return e.equalBase(_.NONE)&&null!==e.value&&!i.predictable?e.value:e}m.isValuelessUnit=function(e){return null!==k(e)},m.prototype.hasBase=function(e){if("string"===typeof e&&(e=_[e]),!e)return!1;for(var t=0;t<U.length;t++)if(Math.abs((this.dimensions[t]||0)-(e.dimensions[t]||0))>1e-12)return!1;return!0},m.prototype.equalBase=function(e){for(var t=0;t<U.length;t++)if(Math.abs((this.dimensions[t]||0)-(e.dimensions[t]||0))>1e-12)return!1;return!0},m.prototype.equals=function(e){return this.equalBase(e)&&f(this.value,e.value)},m.prototype.multiply=function(e){for(var t=this.clone(),A=0;A<U.length;A++)t.dimensions[A]=(this.dimensions[A]||0)+(e.dimensions[A]||0);for(var n=0;n<e.units.length;n++){var r=Qn({},e.units[n]);t.units.push(r)}if(null!==this.value||null!==e.value){var i=null===this.value?this._normalize(1):this.value,o=null===e.value?e._normalize(1):e.value;t.value=c(i,o)}else t.value=null;return t.skipAutomaticSimplification=!1,x(t)},m.prototype.divide=function(e){for(var t=this.clone(),A=0;A<U.length;A++)t.dimensions[A]=(this.dimensions[A]||0)-(e.dimensions[A]||0);for(var n=0;n<e.units.length;n++){var r=Qn(Qn({},e.units[n]),{},{power:-e.units[n].power});t.units.push(r)}if(null!==this.value||null!==e.value){var i=null===this.value?this._normalize(1):this.value,o=null===e.value?e._normalize(1):e.value;t.value=u(i,o)}else t.value=null;return t.skipAutomaticSimplification=!1,x(t)},m.prototype.pow=function(e){for(var t=this.clone(),A=0;A<U.length;A++)t.dimensions[A]=(this.dimensions[A]||0)*e;for(var n=0;n<t.units.length;n++)t.units[n].power*=e;return null!==t.value?t.value=l(t.value,e):t.value=null,t.skipAutomaticSimplification=!1,x(t)},m.prototype.abs=function(){var e=this.clone();for(var t in e.value=null!==e.value?I(e.value):null,e.units)"VA"!==e.units[t].unit.name&&"VAR"!==e.units[t].unit.name||(e.units[t].unit=L.W);return e},m.prototype.to=function(e){var t,A=null===this.value?this._normalize(1):this.value;if("string"===typeof e){if(t=m.parse(e),!this.equalBase(t))throw new Error("Units do not match ('".concat(t.toString(),"' != '").concat(this.toString(),"')"));if(null!==t.value)throw new Error("Cannot convert to a unit with a value");return t.value=Y(A),t.fixPrefix=!0,t.skipAutomaticSimplification=!0,t}if(s(e)){if(!this.equalBase(e))throw new Error("Units do not match ('".concat(e.toString(),"' != '").concat(this.toString(),"')"));if(null!==e.value)throw new Error("Cannot convert to a unit with a value");return(t=e.clone()).value=Y(A),t.fixPrefix=!0,t.skipAutomaticSimplification=!0,t}throw new Error("String or Unit expected as parameter")},m.prototype.toNumber=function(e){return v(this.toNumeric(e))},m.prototype.toNumeric=function(e){var t;return(t=e?this.to(e):this.clone())._isDerived()||0===t.units.length?t._denormalize(t.value):t._denormalize(t.value,t.units[0].prefix.value)},m.prototype.toString=function(){return this.format()},m.prototype.toJSON=function(){return{mathjs:"Unit",value:this._denormalize(this.value),unit:this.formatUnits(),fixPrefix:this.fixPrefix}},m.fromJSON=function(e){var t=new m(e.value,e.unit);return t.fixPrefix=e.fixPrefix||!1,t},m.prototype.valueOf=m.prototype.toString,m.prototype.simplify=function(){var e,t,A=this.clone(),n=[];for(var r in j)if(V(j,r)&&A.hasBase(_[r])){e=r;break}if("NONE"===e)A.units=[];else if(e&&V(j,e)&&(t=j[e]),t)A.units=[{unit:t.unit,prefix:t.prefix,power:1}];else{for(var i=!1,o=0;o<U.length;o++){var a=U[o];Math.abs(A.dimensions[o]||0)>1e-12&&(V(j,a)?n.push({unit:j[a].unit,prefix:j[a].prefix,power:A.dimensions[o]||0}):i=!0)}n.length<A.units.length&&!i&&(A.units=n)}return A},m.prototype.toSI=function(){for(var e=this.clone(),t=[],A=0;A<U.length;A++){var n=U[A];if(Math.abs(e.dimensions[A]||0)>1e-12){if(!V(J.si,n))throw new Error("Cannot express custom unit "+n+" in SI units");t.push({unit:J.si[n].unit,prefix:J.si[n].prefix,power:e.dimensions[A]||0})}}return e.units=t,e.fixPrefix=!0,e.skipAutomaticSimplification=!0,e},m.prototype.formatUnits=function(){for(var e="",t="",A=0,n=0,r=0;r<this.units.length;r++)this.units[r].power>0?(A++,e+=" "+this.units[r].prefix.name+this.units[r].unit.name,Math.abs(this.units[r].power-1)>1e-15&&(e+="^"+this.units[r].power)):this.units[r].power<0&&n++;if(n>0)for(var i=0;i<this.units.length;i++)this.units[i].power<0&&(A>0?(t+=" "+this.units[i].prefix.name+this.units[i].unit.name,Math.abs(this.units[i].power+1)>1e-15&&(t+="^"+-this.units[i].power)):(t+=" "+this.units[i].prefix.name+this.units[i].unit.name,t+="^"+this.units[i].power));e=e.substr(1),t=t.substr(1),A>1&&n>0&&(e="("+e+")"),n>1&&A>0&&(t="("+t+")");var o=e;return A>0&&n>0&&(o+=" / "),o+=t},m.prototype.format=function(e){var t=this.skipAutomaticSimplification||null===this.value?this.clone():this.simplify(),A=!1;for(var n in"undefined"!==typeof t.value&&null!==t.value&&o(t.value)&&(A=Math.abs(t.value.re)<1e-14),t.units)V(t.units,n)&&t.units[n].unit&&("VA"===t.units[n].unit.name&&A?t.units[n].unit=L.VAR:"VAR"!==t.units[n].unit.name||A||(t.units[n].unit=L.VA));1!==t.units.length||t.fixPrefix||Math.abs(t.units[0].power-Math.round(t.units[0].power))<1e-14&&(t.units[0].prefix=t._bestPrefix());var r=t._denormalize(t.value),i=null!==t.value?B(r,e||{}):"",a=t.formatUnits();return t.value&&o(t.value)&&(i="("+i+")"),a.length>0&&i.length>0&&(i+=" "),i+=a},m.prototype._bestPrefix=function(){if(1!==this.units.length)throw new Error("Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!");if(Math.abs(this.units[0].power-Math.round(this.units[0].power))>=1e-14)throw new Error("Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!");var e=null!==this.value?I(this.value):0,t=I(this.units[0].unit.value),A=this.units[0].prefix;if(0===e)return A;var n=this.units[0].power,r=Math.log(e/Math.pow(A.value*t,n))/Math.LN10-1.2;if(r>-2.200001&&r<1.800001)return A;r=Math.abs(r);var i=this.units[0].unit.prefixes;for(var o in i)if(V(i,o)){var a=i[o];if(a.scientific){var s=Math.abs(Math.log(e/Math.pow(a.value*t,n))/Math.LN10-1.2);(s<r||s===r&&a.name.length<A.name.length)&&(A=a,r=s)}}return A},m.prototype.splitUnit=function(e){for(var t=this.clone(),A=[],n=0;n<e.length&&(t=t.to(e[n]),n!==e.length-1);n++){var r=t.toNumeric(),i=h(r),o=new m(f(i,r)?i:C(t.toNumeric()),e[n].toString());A.push(o),t=g(t,o)}for(var s=0,c=0;c<A.length;c++)s=a(s,A[c].value);return f(s,this.value)&&(t.value=0),A.push(t),A};var N={NONE:{"":{name:"",value:1,scientific:!0}},SHORT:{"":{name:"",value:1,scientific:!0},da:{name:"da",value:10,scientific:!1},h:{name:"h",value:100,scientific:!1},k:{name:"k",value:1e3,scientific:!0},M:{name:"M",value:1e6,scientific:!0},G:{name:"G",value:1e9,scientific:!0},T:{name:"T",value:1e12,scientific:!0},P:{name:"P",value:1e15,scientific:!0},E:{name:"E",value:1e18,scientific:!0},Z:{name:"Z",value:1e21,scientific:!0},Y:{name:"Y",value:1e24,scientific:!0},d:{name:"d",value:.1,scientific:!1},c:{name:"c",value:.01,scientific:!1},m:{name:"m",value:.001,scientific:!0},u:{name:"u",value:1e-6,scientific:!0},n:{name:"n",value:1e-9,scientific:!0},p:{name:"p",value:1e-12,scientific:!0},f:{name:"f",value:1e-15,scientific:!0},a:{name:"a",value:1e-18,scientific:!0},z:{name:"z",value:1e-21,scientific:!0},y:{name:"y",value:1e-24,scientific:!0}},LONG:{"":{name:"",value:1,scientific:!0},deca:{name:"deca",value:10,scientific:!1},hecto:{name:"hecto",value:100,scientific:!1},kilo:{name:"kilo",value:1e3,scientific:!0},mega:{name:"mega",value:1e6,scientific:!0},giga:{name:"giga",value:1e9,scientific:!0},tera:{name:"tera",value:1e12,scientific:!0},peta:{name:"peta",value:1e15,scientific:!0},exa:{name:"exa",value:1e18,scientific:!0},zetta:{name:"zetta",value:1e21,scientific:!0},yotta:{name:"yotta",value:1e24,scientific:!0},deci:{name:"deci",value:.1,scientific:!1},centi:{name:"centi",value:.01,scientific:!1},milli:{name:"milli",value:.001,scientific:!0},micro:{name:"micro",value:1e-6,scientific:!0},nano:{name:"nano",value:1e-9,scientific:!0},pico:{name:"pico",value:1e-12,scientific:!0},femto:{name:"femto",value:1e-15,scientific:!0},atto:{name:"atto",value:1e-18,scientific:!0},zepto:{name:"zepto",value:1e-21,scientific:!0},yocto:{name:"yocto",value:1e-24,scientific:!0}},SQUARED:{"":{name:"",value:1,scientific:!0},da:{name:"da",value:100,scientific:!1},h:{name:"h",value:1e4,scientific:!1},k:{name:"k",value:1e6,scientific:!0},M:{name:"M",value:1e12,scientific:!0},G:{name:"G",value:1e18,scientific:!0},T:{name:"T",value:1e24,scientific:!0},P:{name:"P",value:1e30,scientific:!0},E:{name:"E",value:1e36,scientific:!0},Z:{name:"Z",value:1e42,scientific:!0},Y:{name:"Y",value:1e48,scientific:!0},d:{name:"d",value:.01,scientific:!1},c:{name:"c",value:1e-4,scientific:!1},m:{name:"m",value:1e-6,scientific:!0},u:{name:"u",value:1e-12,scientific:!0},n:{name:"n",value:1e-18,scientific:!0},p:{name:"p",value:1e-24,scientific:!0},f:{name:"f",value:1e-30,scientific:!0},a:{name:"a",value:1e-36,scientific:!0},z:{name:"z",value:1e-42,scientific:!0},y:{name:"y",value:1e-48,scientific:!0}},CUBIC:{"":{name:"",value:1,scientific:!0},da:{name:"da",value:1e3,scientific:!1},h:{name:"h",value:1e6,scientific:!1},k:{name:"k",value:1e9,scientific:!0},M:{name:"M",value:1e18,scientific:!0},G:{name:"G",value:1e27,scientific:!0},T:{name:"T",value:1e36,scientific:!0},P:{name:"P",value:1e45,scientific:!0},E:{name:"E",value:1e54,scientific:!0},Z:{name:"Z",value:1e63,scientific:!0},Y:{name:"Y",value:1e72,scientific:!0},d:{name:"d",value:.001,scientific:!1},c:{name:"c",value:1e-6,scientific:!1},m:{name:"m",value:1e-9,scientific:!0},u:{name:"u",value:1e-18,scientific:!0},n:{name:"n",value:1e-27,scientific:!0},p:{name:"p",value:1e-36,scientific:!0},f:{name:"f",value:1e-45,scientific:!0},a:{name:"a",value:1e-54,scientific:!0},z:{name:"z",value:1e-63,scientific:!0},y:{name:"y",value:1e-72,scientific:!0}},BINARY_SHORT_SI:{"":{name:"",value:1,scientific:!0},k:{name:"k",value:1e3,scientific:!0},M:{name:"M",value:1e6,scientific:!0},G:{name:"G",value:1e9,scientific:!0},T:{name:"T",value:1e12,scientific:!0},P:{name:"P",value:1e15,scientific:!0},E:{name:"E",value:1e18,scientific:!0},Z:{name:"Z",value:1e21,scientific:!0},Y:{name:"Y",value:1e24,scientific:!0}},BINARY_SHORT_IEC:{"":{name:"",value:1,scientific:!0},Ki:{name:"Ki",value:1024,scientific:!0},Mi:{name:"Mi",value:Math.pow(1024,2),scientific:!0},Gi:{name:"Gi",value:Math.pow(1024,3),scientific:!0},Ti:{name:"Ti",value:Math.pow(1024,4),scientific:!0},Pi:{name:"Pi",value:Math.pow(1024,5),scientific:!0},Ei:{name:"Ei",value:Math.pow(1024,6),scientific:!0},Zi:{name:"Zi",value:Math.pow(1024,7),scientific:!0},Yi:{name:"Yi",value:Math.pow(1024,8),scientific:!0}},BINARY_LONG_SI:{"":{name:"",value:1,scientific:!0},kilo:{name:"kilo",value:1e3,scientific:!0},mega:{name:"mega",value:1e6,scientific:!0},giga:{name:"giga",value:1e9,scientific:!0},tera:{name:"tera",value:1e12,scientific:!0},peta:{name:"peta",value:1e15,scientific:!0},exa:{name:"exa",value:1e18,scientific:!0},zetta:{name:"zetta",value:1e21,scientific:!0},yotta:{name:"yotta",value:1e24,scientific:!0}},BINARY_LONG_IEC:{"":{name:"",value:1,scientific:!0},kibi:{name:"kibi",value:1024,scientific:!0},mebi:{name:"mebi",value:Math.pow(1024,2),scientific:!0},gibi:{name:"gibi",value:Math.pow(1024,3),scientific:!0},tebi:{name:"tebi",value:Math.pow(1024,4),scientific:!0},pebi:{name:"pebi",value:Math.pow(1024,5),scientific:!0},exi:{name:"exi",value:Math.pow(1024,6),scientific:!0},zebi:{name:"zebi",value:Math.pow(1024,7),scientific:!0},yobi:{name:"yobi",value:Math.pow(1024,8),scientific:!0}},BTU:{"":{name:"",value:1,scientific:!0},MM:{name:"MM",value:1e6,scientific:!0}}};N.SHORTLONG=pn({},N.SHORT,N.LONG),N.BINARY_SHORT=pn({},N.BINARY_SHORT_SI,N.BINARY_SHORT_IEC),N.BINARY_LONG=pn({},N.BINARY_LONG_SI,N.BINARY_LONG_IEC);var U=["MASS","LENGTH","TIME","CURRENT","TEMPERATURE","LUMINOUS_INTENSITY","AMOUNT_OF_SUBSTANCE","ANGLE","BIT"],_={NONE:{dimensions:[0,0,0,0,0,0,0,0,0]},MASS:{dimensions:[1,0,0,0,0,0,0,0,0]},LENGTH:{dimensions:[0,1,0,0,0,0,0,0,0]},TIME:{dimensions:[0,0,1,0,0,0,0,0,0]},CURRENT:{dimensions:[0,0,0,1,0,0,0,0,0]},TEMPERATURE:{dimensions:[0,0,0,0,1,0,0,0,0]},LUMINOUS_INTENSITY:{dimensions:[0,0,0,0,0,1,0,0,0]},AMOUNT_OF_SUBSTANCE:{dimensions:[0,0,0,0,0,0,1,0,0]},FORCE:{dimensions:[1,1,-2,0,0,0,0,0,0]},SURFACE:{dimensions:[0,2,0,0,0,0,0,0,0]},VOLUME:{dimensions:[0,3,0,0,0,0,0,0,0]},ENERGY:{dimensions:[1,2,-2,0,0,0,0,0,0]},POWER:{dimensions:[1,2,-3,0,0,0,0,0,0]},PRESSURE:{dimensions:[1,-1,-2,0,0,0,0,0,0]},ELECTRIC_CHARGE:{dimensions:[0,0,1,1,0,0,0,0,0]},ELECTRIC_CAPACITANCE:{dimensions:[-1,-2,4,2,0,0,0,0,0]},ELECTRIC_POTENTIAL:{dimensions:[1,2,-3,-1,0,0,0,0,0]},ELECTRIC_RESISTANCE:{dimensions:[1,2,-3,-2,0,0,0,0,0]},ELECTRIC_INDUCTANCE:{dimensions:[1,2,-2,-2,0,0,0,0,0]},ELECTRIC_CONDUCTANCE:{dimensions:[-1,-2,3,2,0,0,0,0,0]},MAGNETIC_FLUX:{dimensions:[1,2,-2,-1,0,0,0,0,0]},MAGNETIC_FLUX_DENSITY:{dimensions:[1,0,-2,-1,0,0,0,0,0]},FREQUENCY:{dimensions:[0,0,-1,0,0,0,0,0,0]},ANGLE:{dimensions:[0,0,0,0,0,0,0,1,0]},BIT:{dimensions:[0,0,0,0,0,0,0,0,1]}};for(var M in _)V(_,M)&&(_[M].key=M);var O={name:"",base:{},value:1,offset:0,dimensions:U.map((function(e){return 0}))},L={meter:{name:"meter",base:_.LENGTH,prefixes:N.LONG,value:1,offset:0},inch:{name:"inch",base:_.LENGTH,prefixes:N.NONE,value:.0254,offset:0},foot:{name:"foot",base:_.LENGTH,prefixes:N.NONE,value:.3048,offset:0},yard:{name:"yard",base:_.LENGTH,prefixes:N.NONE,value:.9144,offset:0},mile:{name:"mile",base:_.LENGTH,prefixes:N.NONE,value:1609.344,offset:0},link:{name:"link",base:_.LENGTH,prefixes:N.NONE,value:.201168,offset:0},rod:{name:"rod",base:_.LENGTH,prefixes:N.NONE,value:5.0292,offset:0},chain:{name:"chain",base:_.LENGTH,prefixes:N.NONE,value:20.1168,offset:0},angstrom:{name:"angstrom",base:_.LENGTH,prefixes:N.NONE,value:1e-10,offset:0},m:{name:"m",base:_.LENGTH,prefixes:N.SHORT,value:1,offset:0},in:{name:"in",base:_.LENGTH,prefixes:N.NONE,value:.0254,offset:0},ft:{name:"ft",base:_.LENGTH,prefixes:N.NONE,value:.3048,offset:0},yd:{name:"yd",base:_.LENGTH,prefixes:N.NONE,value:.9144,offset:0},mi:{name:"mi",base:_.LENGTH,prefixes:N.NONE,value:1609.344,offset:0},li:{name:"li",base:_.LENGTH,prefixes:N.NONE,value:.201168,offset:0},rd:{name:"rd",base:_.LENGTH,prefixes:N.NONE,value:5.02921,offset:0},ch:{name:"ch",base:_.LENGTH,prefixes:N.NONE,value:20.1168,offset:0},mil:{name:"mil",base:_.LENGTH,prefixes:N.NONE,value:254e-7,offset:0},m2:{name:"m2",base:_.SURFACE,prefixes:N.SQUARED,value:1,offset:0},sqin:{name:"sqin",base:_.SURFACE,prefixes:N.NONE,value:64516e-8,offset:0},sqft:{name:"sqft",base:_.SURFACE,prefixes:N.NONE,value:.09290304,offset:0},sqyd:{name:"sqyd",base:_.SURFACE,prefixes:N.NONE,value:.83612736,offset:0},sqmi:{name:"sqmi",base:_.SURFACE,prefixes:N.NONE,value:2589988.110336,offset:0},sqrd:{name:"sqrd",base:_.SURFACE,prefixes:N.NONE,value:25.29295,offset:0},sqch:{name:"sqch",base:_.SURFACE,prefixes:N.NONE,value:404.6873,offset:0},sqmil:{name:"sqmil",base:_.SURFACE,prefixes:N.NONE,value:6.4516e-10,offset:0},acre:{name:"acre",base:_.SURFACE,prefixes:N.NONE,value:4046.86,offset:0},hectare:{name:"hectare",base:_.SURFACE,prefixes:N.NONE,value:1e4,offset:0},m3:{name:"m3",base:_.VOLUME,prefixes:N.CUBIC,value:1,offset:0},L:{name:"L",base:_.VOLUME,prefixes:N.SHORT,value:.001,offset:0},l:{name:"l",base:_.VOLUME,prefixes:N.SHORT,value:.001,offset:0},litre:{name:"litre",base:_.VOLUME,prefixes:N.LONG,value:.001,offset:0},cuin:{name:"cuin",base:_.VOLUME,prefixes:N.NONE,value:16387064e-12,offset:0},cuft:{name:"cuft",base:_.VOLUME,prefixes:N.NONE,value:.028316846592,offset:0},cuyd:{name:"cuyd",base:_.VOLUME,prefixes:N.NONE,value:.764554857984,offset:0},teaspoon:{name:"teaspoon",base:_.VOLUME,prefixes:N.NONE,value:5e-6,offset:0},tablespoon:{name:"tablespoon",base:_.VOLUME,prefixes:N.NONE,value:15e-6,offset:0},drop:{name:"drop",base:_.VOLUME,prefixes:N.NONE,value:5e-8,offset:0},gtt:{name:"gtt",base:_.VOLUME,prefixes:N.NONE,value:5e-8,offset:0},minim:{name:"minim",base:_.VOLUME,prefixes:N.NONE,value:6.161152e-8,offset:0},fluiddram:{name:"fluiddram",base:_.VOLUME,prefixes:N.NONE,value:36966911e-13,offset:0},fluidounce:{name:"fluidounce",base:_.VOLUME,prefixes:N.NONE,value:2957353e-11,offset:0},gill:{name:"gill",base:_.VOLUME,prefixes:N.NONE,value:.0001182941,offset:0},cc:{name:"cc",base:_.VOLUME,prefixes:N.NONE,value:1e-6,offset:0},cup:{name:"cup",base:_.VOLUME,prefixes:N.NONE,value:.0002365882,offset:0},pint:{name:"pint",base:_.VOLUME,prefixes:N.NONE,value:.0004731765,offset:0},quart:{name:"quart",base:_.VOLUME,prefixes:N.NONE,value:.0009463529,offset:0},gallon:{name:"gallon",base:_.VOLUME,prefixes:N.NONE,value:.003785412,offset:0},beerbarrel:{name:"beerbarrel",base:_.VOLUME,prefixes:N.NONE,value:.1173478,offset:0},oilbarrel:{name:"oilbarrel",base:_.VOLUME,prefixes:N.NONE,value:.1589873,offset:0},hogshead:{name:"hogshead",base:_.VOLUME,prefixes:N.NONE,value:.238481,offset:0},fldr:{name:"fldr",base:_.VOLUME,prefixes:N.NONE,value:36966911e-13,offset:0},floz:{name:"floz",base:_.VOLUME,prefixes:N.NONE,value:2957353e-11,offset:0},gi:{name:"gi",base:_.VOLUME,prefixes:N.NONE,value:.0001182941,offset:0},cp:{name:"cp",base:_.VOLUME,prefixes:N.NONE,value:.0002365882,offset:0},pt:{name:"pt",base:_.VOLUME,prefixes:N.NONE,value:.0004731765,offset:0},qt:{name:"qt",base:_.VOLUME,prefixes:N.NONE,value:.0009463529,offset:0},gal:{name:"gal",base:_.VOLUME,prefixes:N.NONE,value:.003785412,offset:0},bbl:{name:"bbl",base:_.VOLUME,prefixes:N.NONE,value:.1173478,offset:0},obl:{name:"obl",base:_.VOLUME,prefixes:N.NONE,value:.1589873,offset:0},g:{name:"g",base:_.MASS,prefixes:N.SHORT,value:.001,offset:0},gram:{name:"gram",base:_.MASS,prefixes:N.LONG,value:.001,offset:0},ton:{name:"ton",base:_.MASS,prefixes:N.SHORT,value:907.18474,offset:0},t:{name:"t",base:_.MASS,prefixes:N.SHORT,value:1e3,offset:0},tonne:{name:"tonne",base:_.MASS,prefixes:N.LONG,value:1e3,offset:0},grain:{name:"grain",base:_.MASS,prefixes:N.NONE,value:6479891e-11,offset:0},dram:{name:"dram",base:_.MASS,prefixes:N.NONE,value:.0017718451953125,offset:0},ounce:{name:"ounce",base:_.MASS,prefixes:N.NONE,value:.028349523125,offset:0},poundmass:{name:"poundmass",base:_.MASS,prefixes:N.NONE,value:.45359237,offset:0},hundredweight:{name:"hundredweight",base:_.MASS,prefixes:N.NONE,value:45.359237,offset:0},stick:{name:"stick",base:_.MASS,prefixes:N.NONE,value:.115,offset:0},stone:{name:"stone",base:_.MASS,prefixes:N.NONE,value:6.35029318,offset:0},gr:{name:"gr",base:_.MASS,prefixes:N.NONE,value:6479891e-11,offset:0},dr:{name:"dr",base:_.MASS,prefixes:N.NONE,value:.0017718451953125,offset:0},oz:{name:"oz",base:_.MASS,prefixes:N.NONE,value:.028349523125,offset:0},lbm:{name:"lbm",base:_.MASS,prefixes:N.NONE,value:.45359237,offset:0},cwt:{name:"cwt",base:_.MASS,prefixes:N.NONE,value:45.359237,offset:0},s:{name:"s",base:_.TIME,prefixes:N.SHORT,value:1,offset:0},min:{name:"min",base:_.TIME,prefixes:N.NONE,value:60,offset:0},h:{name:"h",base:_.TIME,prefixes:N.NONE,value:3600,offset:0},second:{name:"second",base:_.TIME,prefixes:N.LONG,value:1,offset:0},sec:{name:"sec",base:_.TIME,prefixes:N.LONG,value:1,offset:0},minute:{name:"minute",base:_.TIME,prefixes:N.NONE,value:60,offset:0},hour:{name:"hour",base:_.TIME,prefixes:N.NONE,value:3600,offset:0},day:{name:"day",base:_.TIME,prefixes:N.NONE,value:86400,offset:0},week:{name:"week",base:_.TIME,prefixes:N.NONE,value:604800,offset:0},month:{name:"month",base:_.TIME,prefixes:N.NONE,value:2629800,offset:0},year:{name:"year",base:_.TIME,prefixes:N.NONE,value:31557600,offset:0},decade:{name:"decade",base:_.TIME,prefixes:N.NONE,value:315576e3,offset:0},century:{name:"century",base:_.TIME,prefixes:N.NONE,value:315576e4,offset:0},millennium:{name:"millennium",base:_.TIME,prefixes:N.NONE,value:315576e5,offset:0},hertz:{name:"Hertz",base:_.FREQUENCY,prefixes:N.LONG,value:1,offset:0,reciprocal:!0},Hz:{name:"Hz",base:_.FREQUENCY,prefixes:N.SHORT,value:1,offset:0,reciprocal:!0},rad:{name:"rad",base:_.ANGLE,prefixes:N.SHORT,value:1,offset:0},radian:{name:"radian",base:_.ANGLE,prefixes:N.LONG,value:1,offset:0},deg:{name:"deg",base:_.ANGLE,prefixes:N.SHORT,value:null,offset:0},degree:{name:"degree",base:_.ANGLE,prefixes:N.LONG,value:null,offset:0},grad:{name:"grad",base:_.ANGLE,prefixes:N.SHORT,value:null,offset:0},gradian:{name:"gradian",base:_.ANGLE,prefixes:N.LONG,value:null,offset:0},cycle:{name:"cycle",base:_.ANGLE,prefixes:N.NONE,value:null,offset:0},arcsec:{name:"arcsec",base:_.ANGLE,prefixes:N.NONE,value:null,offset:0},arcmin:{name:"arcmin",base:_.ANGLE,prefixes:N.NONE,value:null,offset:0},A:{name:"A",base:_.CURRENT,prefixes:N.SHORT,value:1,offset:0},ampere:{name:"ampere",base:_.CURRENT,prefixes:N.LONG,value:1,offset:0},K:{name:"K",base:_.TEMPERATURE,prefixes:N.NONE,value:1,offset:0},degC:{name:"degC",base:_.TEMPERATURE,prefixes:N.NONE,value:1,offset:273.15},degF:{name:"degF",base:_.TEMPERATURE,prefixes:N.NONE,value:1/1.8,offset:459.67},degR:{name:"degR",base:_.TEMPERATURE,prefixes:N.NONE,value:1/1.8,offset:0},kelvin:{name:"kelvin",base:_.TEMPERATURE,prefixes:N.NONE,value:1,offset:0},celsius:{name:"celsius",base:_.TEMPERATURE,prefixes:N.NONE,value:1,offset:273.15},fahrenheit:{name:"fahrenheit",base:_.TEMPERATURE,prefixes:N.NONE,value:1/1.8,offset:459.67},rankine:{name:"rankine",base:_.TEMPERATURE,prefixes:N.NONE,value:1/1.8,offset:0},mol:{name:"mol",base:_.AMOUNT_OF_SUBSTANCE,prefixes:N.SHORT,value:1,offset:0},mole:{name:"mole",base:_.AMOUNT_OF_SUBSTANCE,prefixes:N.LONG,value:1,offset:0},cd:{name:"cd",base:_.LUMINOUS_INTENSITY,prefixes:N.SHORT,value:1,offset:0},candela:{name:"candela",base:_.LUMINOUS_INTENSITY,prefixes:N.LONG,value:1,offset:0},N:{name:"N",base:_.FORCE,prefixes:N.SHORT,value:1,offset:0},newton:{name:"newton",base:_.FORCE,prefixes:N.LONG,value:1,offset:0},dyn:{name:"dyn",base:_.FORCE,prefixes:N.SHORT,value:1e-5,offset:0},dyne:{name:"dyne",base:_.FORCE,prefixes:N.LONG,value:1e-5,offset:0},lbf:{name:"lbf",base:_.FORCE,prefixes:N.NONE,value:4.4482216152605,offset:0},poundforce:{name:"poundforce",base:_.FORCE,prefixes:N.NONE,value:4.4482216152605,offset:0},kip:{name:"kip",base:_.FORCE,prefixes:N.LONG,value:4448.2216,offset:0},kilogramforce:{name:"kilogramforce",base:_.FORCE,prefixes:N.NONE,value:9.80665,offset:0},J:{name:"J",base:_.ENERGY,prefixes:N.SHORT,value:1,offset:0},joule:{name:"joule",base:_.ENERGY,prefixes:N.SHORT,value:1,offset:0},erg:{name:"erg",base:_.ENERGY,prefixes:N.NONE,value:1e-7,offset:0},Wh:{name:"Wh",base:_.ENERGY,prefixes:N.SHORT,value:3600,offset:0},BTU:{name:"BTU",base:_.ENERGY,prefixes:N.BTU,value:1055.05585262,offset:0},eV:{name:"eV",base:_.ENERGY,prefixes:N.SHORT,value:1602176565e-28,offset:0},electronvolt:{name:"electronvolt",base:_.ENERGY,prefixes:N.LONG,value:1602176565e-28,offset:0},W:{name:"W",base:_.POWER,prefixes:N.SHORT,value:1,offset:0},watt:{name:"watt",base:_.POWER,prefixes:N.LONG,value:1,offset:0},hp:{name:"hp",base:_.POWER,prefixes:N.NONE,value:745.6998715386,offset:0},VAR:{name:"VAR",base:_.POWER,prefixes:N.SHORT,value:E.I,offset:0},VA:{name:"VA",base:_.POWER,prefixes:N.SHORT,value:1,offset:0},Pa:{name:"Pa",base:_.PRESSURE,prefixes:N.SHORT,value:1,offset:0},psi:{name:"psi",base:_.PRESSURE,prefixes:N.NONE,value:6894.75729276459,offset:0},atm:{name:"atm",base:_.PRESSURE,prefixes:N.NONE,value:101325,offset:0},bar:{name:"bar",base:_.PRESSURE,prefixes:N.SHORTLONG,value:1e5,offset:0},torr:{name:"torr",base:_.PRESSURE,prefixes:N.NONE,value:133.322,offset:0},mmHg:{name:"mmHg",base:_.PRESSURE,prefixes:N.NONE,value:133.322,offset:0},mmH2O:{name:"mmH2O",base:_.PRESSURE,prefixes:N.NONE,value:9.80665,offset:0},cmH2O:{name:"cmH2O",base:_.PRESSURE,prefixes:N.NONE,value:98.0665,offset:0},coulomb:{name:"coulomb",base:_.ELECTRIC_CHARGE,prefixes:N.LONG,value:1,offset:0},C:{name:"C",base:_.ELECTRIC_CHARGE,prefixes:N.SHORT,value:1,offset:0},farad:{name:"farad",base:_.ELECTRIC_CAPACITANCE,prefixes:N.LONG,value:1,offset:0},F:{name:"F",base:_.ELECTRIC_CAPACITANCE,prefixes:N.SHORT,value:1,offset:0},volt:{name:"volt",base:_.ELECTRIC_POTENTIAL,prefixes:N.LONG,value:1,offset:0},V:{name:"V",base:_.ELECTRIC_POTENTIAL,prefixes:N.SHORT,value:1,offset:0},ohm:{name:"ohm",base:_.ELECTRIC_RESISTANCE,prefixes:N.SHORTLONG,value:1,offset:0},henry:{name:"henry",base:_.ELECTRIC_INDUCTANCE,prefixes:N.LONG,value:1,offset:0},H:{name:"H",base:_.ELECTRIC_INDUCTANCE,prefixes:N.SHORT,value:1,offset:0},siemens:{name:"siemens",base:_.ELECTRIC_CONDUCTANCE,prefixes:N.LONG,value:1,offset:0},S:{name:"S",base:_.ELECTRIC_CONDUCTANCE,prefixes:N.SHORT,value:1,offset:0},weber:{name:"weber",base:_.MAGNETIC_FLUX,prefixes:N.LONG,value:1,offset:0},Wb:{name:"Wb",base:_.MAGNETIC_FLUX,prefixes:N.SHORT,value:1,offset:0},tesla:{name:"tesla",base:_.MAGNETIC_FLUX_DENSITY,prefixes:N.LONG,value:1,offset:0},T:{name:"T",base:_.MAGNETIC_FLUX_DENSITY,prefixes:N.SHORT,value:1,offset:0},b:{name:"b",base:_.BIT,prefixes:N.BINARY_SHORT,value:1,offset:0},bits:{name:"bits",base:_.BIT,prefixes:N.BINARY_LONG,value:1,offset:0},B:{name:"B",base:_.BIT,prefixes:N.BINARY_SHORT,value:8,offset:0},bytes:{name:"bytes",base:_.BIT,prefixes:N.BINARY_LONG,value:8,offset:0}},T={meters:"meter",inches:"inch",feet:"foot",yards:"yard",miles:"mile",links:"link",rods:"rod",chains:"chain",angstroms:"angstrom",lt:"l",litres:"litre",liter:"litre",liters:"litre",teaspoons:"teaspoon",tablespoons:"tablespoon",minims:"minim",fluiddrams:"fluiddram",fluidounces:"fluidounce",gills:"gill",cups:"cup",pints:"pint",quarts:"quart",gallons:"gallon",beerbarrels:"beerbarrel",oilbarrels:"oilbarrel",hogsheads:"hogshead",gtts:"gtt",grams:"gram",tons:"ton",tonnes:"tonne",grains:"grain",drams:"dram",ounces:"ounce",poundmasses:"poundmass",hundredweights:"hundredweight",sticks:"stick",lb:"lbm",lbs:"lbm",kips:"kip",kgf:"kilogramforce",acres:"acre",hectares:"hectare",sqfeet:"sqft",sqyard:"sqyd",sqmile:"sqmi",sqmiles:"sqmi",mmhg:"mmHg",mmh2o:"mmH2O",cmh2o:"cmH2O",seconds:"second",secs:"second",minutes:"minute",mins:"minute",hours:"hour",hr:"hour",hrs:"hour",days:"day",weeks:"week",months:"month",years:"year",decades:"decade",centuries:"century",millennia:"millennium",hertz:"hertz",radians:"radian",degrees:"degree",gradians:"gradian",cycles:"cycle",arcsecond:"arcsec",arcseconds:"arcsec",arcminute:"arcmin",arcminutes:"arcmin",BTUs:"BTU",watts:"watt",joules:"joule",amperes:"ampere",coulombs:"coulomb",volts:"volt",ohms:"ohm",farads:"farad",webers:"weber",teslas:"tesla",electronvolts:"electronvolt",moles:"mole",bit:"bits",byte:"bytes"};function Z(e){if("BigNumber"===e.number){var t=Ze(Q);L.rad.value=new Q(1),L.deg.value=t.div(180),L.grad.value=t.div(200),L.cycle.value=t.times(2),L.arcsec.value=t.div(648e3),L.arcmin.value=t.div(10800)}else L.rad.value=1,L.deg.value=Math.PI/180,L.grad.value=Math.PI/200,L.cycle.value=2*Math.PI,L.arcsec.value=Math.PI/648e3,L.arcmin.value=Math.PI/10800;L.radian.value=L.rad.value,L.degree.value=L.deg.value,L.gradian.value=L.grad.value}Z(i),r&&r("config",(function(e,t){e.number!==t.number&&Z(e)}));var J={si:{NONE:{unit:O,prefix:N.NONE[""]},LENGTH:{unit:L.m,prefix:N.SHORT[""]},MASS:{unit:L.g,prefix:N.SHORT.k},TIME:{unit:L.s,prefix:N.SHORT[""]},CURRENT:{unit:L.A,prefix:N.SHORT[""]},TEMPERATURE:{unit:L.K,prefix:N.SHORT[""]},LUMINOUS_INTENSITY:{unit:L.cd,prefix:N.SHORT[""]},AMOUNT_OF_SUBSTANCE:{unit:L.mol,prefix:N.SHORT[""]},ANGLE:{unit:L.rad,prefix:N.SHORT[""]},BIT:{unit:L.bits,prefix:N.SHORT[""]},FORCE:{unit:L.N,prefix:N.SHORT[""]},ENERGY:{unit:L.J,prefix:N.SHORT[""]},POWER:{unit:L.W,prefix:N.SHORT[""]},PRESSURE:{unit:L.Pa,prefix:N.SHORT[""]},ELECTRIC_CHARGE:{unit:L.C,prefix:N.SHORT[""]},ELECTRIC_CAPACITANCE:{unit:L.F,prefix:N.SHORT[""]},ELECTRIC_POTENTIAL:{unit:L.V,prefix:N.SHORT[""]},ELECTRIC_RESISTANCE:{unit:L.ohm,prefix:N.SHORT[""]},ELECTRIC_INDUCTANCE:{unit:L.H,prefix:N.SHORT[""]},ELECTRIC_CONDUCTANCE:{unit:L.S,prefix:N.SHORT[""]},MAGNETIC_FLUX:{unit:L.Wb,prefix:N.SHORT[""]},MAGNETIC_FLUX_DENSITY:{unit:L.T,prefix:N.SHORT[""]},FREQUENCY:{unit:L.Hz,prefix:N.SHORT[""]}}};J.cgs=JSON.parse(JSON.stringify(J.si)),J.cgs.LENGTH={unit:L.m,prefix:N.SHORT.c},J.cgs.MASS={unit:L.g,prefix:N.SHORT[""]},J.cgs.FORCE={unit:L.dyn,prefix:N.SHORT[""]},J.cgs.ENERGY={unit:L.erg,prefix:N.NONE[""]},J.us=JSON.parse(JSON.stringify(J.si)),J.us.LENGTH={unit:L.ft,prefix:N.NONE[""]},J.us.MASS={unit:L.lbm,prefix:N.NONE[""]},J.us.TEMPERATURE={unit:L.degF,prefix:N.NONE[""]},J.us.FORCE={unit:L.lbf,prefix:N.NONE[""]},J.us.ENERGY={unit:L.BTU,prefix:N.BTU[""]},J.us.POWER={unit:L.hp,prefix:N.NONE[""]},J.us.PRESSURE={unit:L.psi,prefix:N.NONE[""]},J.auto=JSON.parse(JSON.stringify(J.si));var j=J.auto;for(var P in m.setUnitSystem=function(e){if(!V(J,e))throw new Error("Unit system "+e+" does not exist. Choices are: "+Object.keys(J).join(", "));j=J[e]},m.getUnitSystem=function(){for(var e in J)if(V(J,e)&&J[e]===j)return e},m.typeConverters={BigNumber:function(e){return new Q(e+"")},Fraction:function(e){return new y(e)},Complex:function(e){return e},number:function(e){return e}},m._getNumberConverter=function(e){if(!m.typeConverters[e])throw new TypeError('Unsupported type "'+e+'"');return m.typeConverters[e]},L)if(V(L,P)){var K=L[P];K.dimensions=K.base.dimensions}for(var W in T)if(V(T,W)){var X=L[T[W]],q={};for(var z in X)V(X,z)&&(q[z]=X[z]);q.name=W,L[W]=q}return m.isValidAlpha=function(e){return/^[a-zA-Z]$/.test(e)},m.createUnit=function(e,t){if("object"!==typeof e)throw new TypeError("createUnit expects first parameter to be of type 'Object'");if(t&&t.override)for(var A in e)if(V(e,A)&&m.deleteUnit(A),e[A].aliases)for(var n=0;n<e[A].aliases.length;n++)m.deleteUnit(e[A].aliases[n]);var r;for(var i in e)V(e,i)&&(r=m.createUnitSingle(i,e[i]));return r},m.createUnitSingle=function(e,t,A){if("undefined"!==typeof t&&null!==t||(t={}),"string"!==typeof e)throw new TypeError("createUnitSingle expects first parameter to be of type 'string'");if(V(L,e))throw new Error('Cannot create unit "'+e+'": a unit with that name already exists');!function(e){for(var t=0;t<e.length;t++){if(n=e.charAt(t),0===t&&!m.isValidAlpha(n))throw new Error('Invalid unit name (must begin with alpha character): "'+e+'"');if(t>0&&!m.isValidAlpha(n)&&!w(n))throw new Error('Invalid unit name (only alphanumeric characters are allowed): "'+e+'"')}}(e);var r,i,o,a=null,s=[],g=0;if(t&&"Unit"===t.type)a=t.clone();else if("string"===typeof t)""!==t&&(r=t);else{if("object"!==typeof t)throw new TypeError('Cannot create unit "'+e+'" from "'+t.toString()+'": expecting "string" or "Unit" or "Object"');r=t.definition,i=t.prefixes,g=t.offset,o=t.baseName,t.aliases&&(s=t.aliases.valueOf())}if(s)for(var c=0;c<s.length;c++)if(V(L,s[c]))throw new Error('Cannot create alias "'+s[c]+'": a unit with that name already exists');if(r&&"string"===typeof r&&!a)try{a=m.parse(r,{allowNoUnits:!0})}catch(b){throw b.message='Could not create unit "'+e+'" from "'+r+'": '+b.message,b}else r&&"Unit"===r.type&&(a=r.clone());s=s||[],g=g||0,i=i&&i.toUpperCase&&N[i.toUpperCase()]||N.NONE;var u={};if(a){u={name:e,value:a.value,dimensions:a.dimensions.slice(0),prefixes:i,offset:g};var l=!1;for(var I in _)if(V(_,I)){for(var C=!0,h=0;h<U.length;h++)if(Math.abs((u.dimensions[h]||0)-(_[I].dimensions[h]||0))>1e-12){C=!1;break}if(C){l=!0,u.base=_[I];break}}if(!l){o=o||e+"_STUFF";var f={dimensions:a.dimensions.slice(0)};f.key=o,_[o]=f,j[o]={unit:u,prefix:N.NONE[""]},u.base=_[o]}}else{if(o=o||e+"_STUFF",U.indexOf(o)>=0)throw new Error('Cannot create new base unit "'+e+'": a base unit with that name already exists (and cannot be overridden)');for(var d in U.push(o),_)V(_,d)&&(_[d].dimensions[U.length-1]=0);for(var B={dimensions:[]},p=0;p<U.length;p++)B.dimensions[p]=0;B.dimensions[U.length-1]=1,B.key=o,_[o]=B,u={name:e,value:1,dimensions:_[o].dimensions.slice(0),prefixes:i,offset:g,base:_[o]},j[o]={unit:u,prefix:N.NONE[""]}}m.UNITS[e]=u;for(var E=0;E<s.length;E++){var Q=s[E],y={};for(var v in u)V(u,v)&&(y[v]=u[v]);y.name=Q,m.UNITS[Q]=y}return delete k.cache,new m(null,e)},m.deleteUnit=function(e){delete m.UNITS[e]},m.PREFIXES=N,m.BASE_DIMENSIONS=U,m.BASE_UNITS=_,m.UNIT_SYSTEMS=J,m.UNITS=L,m}),{isClass:!0});var mn=Ne("unit",["typed","Unit"],(function(e){var t=e.typed,A=e.Unit;return t("unit",{Unit:function(e){return e.clone()},string:function(e){return A.isValuelessUnit(e)?new A(null,e):A.parse(e,{allowNoUnits:!0})},"number | BigNumber | Fraction | Complex, string":function(e,t){return new A(e,t)},"Array | Matrix":function(e){return it(e,this)}})}));A.d(t,"a",(function(){return Pn})),A.d(t,"b",(function(){return lr})),A.d(t,"c",(function(){return Cr}));var bn=Oe({}),wn=je({config:q}),Sn=Pe({}),Fn=Xe({}),Rn=qe({Matrix:Sn}),Dn=tt({BigNumber:wn,Complex:bn,DenseMatrix:Rn,Fraction:Fn}),Gn=ot({typed:Dn}),kn=It({config:q,typed:Dn}),xn=Ct({typed:Dn}),Nn=Ot({typed:Dn}),Un=qt({typed:Dn}),_n=BA({Fraction:Fn,typed:Dn}),Mn=pA({typed:Dn}),On=EA({typed:Dn}),Ln=QA({typed:Dn}),Tn=yA({Matrix:Sn,equalScalar:kn,typed:Dn}),Zn=vA({DenseMatrix:Rn,Matrix:Sn,SparseMatrix:Tn,typed:Dn}),Hn=xA({BigNumber:wn,DenseMatrix:Rn,SparseMatrix:Tn,config:q,matrix:Zn,typed:Dn}),Yn=MA({matrix:Zn,config:q,typed:Dn}),Jn=OA({BigNumber:wn,config:q,matrix:Zn,typed:Dn}),jn=YA({BigNumber:wn,DenseMatrix:Rn,equalScalar:kn,matrix:Zn,typed:Dn,zeros:Jn}),Pn=jA({BigNumber:wn,DenseMatrix:Rn,Fraction:Fn,config:q,equalScalar:kn,matrix:Zn,typed:Dn}),Vn=PA({DenseMatrix:Rn,config:q,matrix:Zn,typed:Dn}),Kn=VA({DenseMatrix:Rn,config:q,matrix:Zn,typed:Dn}),Wn=KA({larger:Kn,smaller:Vn}),Xn=WA({addScalar:On,conj:Ln,multiplyScalar:Nn,size:Yn,typed:Dn}),qn=XA({typed:Dn}),zn=zA({config:q,equalScalar:kn,matrix:Zn,round:jn,typed:Dn}),$n=$A({addScalar:On,dot:Xn,equalScalar:kn,matrix:Zn,multiplyScalar:Nn,typed:Dn}),er=tn({Complex:bn,config:q,fraction:_n,identity:Hn,matrix:Zn,multiply:$n,number:xn,typed:Dn}),tr=on({BigNumber:wn,typed:Dn}),Ar=an({bignumber:tr,fraction:_n,number:xn}),nr=sn({config:q,equalScalar:kn,matrix:Zn,round:jn,typed:Dn}),rr=gn({DenseMatrix:Rn,addScalar:On,equalScalar:kn,matrix:Zn,typed:Dn,unaryMinus:Mn}),ir=un({DenseMatrix:Rn,equalScalar:kn,matrix:Zn,typed:Dn}),or=ln({Complex:bn,ceil:nr,floor:zn,matrix:Zn,typed:Dn}),ar=In({numeric:Ar,typed:Dn}),sr=Cn({FibonacciHeap:Wn,addScalar:On,equalScalar:kn}),gr=hn({DenseMatrix:Rn,Spa:sr,SparseMatrix:Tn,abs:qn,addScalar:On,divideScalar:ar,equalScalar:kn,larger:Kn,matrix:Zn,multiplyScalar:Nn,subtract:rr,typed:Dn,unaryMinus:Mn}),cr=fn({lup:gr,matrix:Zn,multiply:$n,subtract:rr,typed:Dn,unaryMinus:Mn}),ur=dn({abs:qn,addScalar:On,det:cr,divideScalar:ar,identity:Hn,matrix:Zn,multiply:$n,typed:Dn,unaryMinus:Mn}),lr=Bn({divideScalar:ar,equalScalar:kn,inv:ur,matrix:Zn,multiply:$n,typed:Dn}),Ir=vn({BigNumber:wn,Complex:bn,Fraction:Fn,abs:qn,addScalar:On,config:q,divideScalar:ar,equal:ir,fix:or,format:Un,isNumeric:Gn,multiplyScalar:Nn,number:xn,pow:er,round:jn,subtract:rr}),Cr=mn({Unit:Ir,typed:Dn})},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(1242)),a=A(101),s=A(220),g=A(717),c=(A(195),A(19)),u=A(69),l=A(40),I=A(28),C=A(39),h=A(148),f=A(201),d=A(165),B=A(532),p=A(1250),E=A(1160),Q=A(51),y=A(66),v=A(402);var m=A(287),b=A(137),w=A(414);function S(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function F(e){return parseInt(window.getComputedStyle(e)["padding-right"],10)||0}function R(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],r=arguments.length>4?arguments[4]:void 0,i=[t,A].concat(Object(b.a)(n)),o=["TEMPLATE","SCRIPT","STYLE"];[].forEach.call(e.children,(function(e){1===e.nodeType&&-1===i.indexOf(e)&&-1===o.indexOf(e.tagName)&&S(e,r)}))}function D(e,t){var A=-1;return e.some((function(e,n){return!!t(e)&&(A=n,!0)})),A}function G(e,t){var A,n=[],r=[],i=e.container;if(!t.disableScrollLock){if(function(e){var t=Object(u.a)(e);return t.body===e?Object(f.a)(t).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}(i)){var o=Object(w.a)();n.push({value:i.style.paddingRight,key:"padding-right",el:i}),i.style["padding-right"]="".concat(F(i)+o,"px"),A=Object(u.a)(i).querySelectorAll(".mui-fixed"),[].forEach.call(A,(function(e){r.push(e.style.paddingRight),e.style.paddingRight="".concat(F(e)+o,"px")}))}var a=i.parentElement,s="HTML"===a.nodeName&&"scroll"===window.getComputedStyle(a)["overflow-y"]?a:i;n.push({value:s.style.overflow,key:"overflow",el:s}),s.style.overflow="hidden"}return function(){A&&[].forEach.call(A,(function(e,t){r[t]?e.style.paddingRight=r[t]:e.style.removeProperty("padding-right")})),n.forEach((function(e){var t=e.value,A=e.el,n=e.key;t?A.style.setProperty(n,t):A.style.removeProperty(n)}))}}var k=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.modals=[],this.containers=[]}return Object(m.a)(e,[{key:"add",value:function(e,t){var A=this.modals.indexOf(e);if(-1!==A)return A;A=this.modals.length,this.modals.push(e),e.modalRef&&S(e.modalRef,!1);var n=function(e){var t=[];return[].forEach.call(e.children,(function(e){e.getAttribute&&"true"===e.getAttribute("aria-hidden")&&t.push(e)})),t}(t);R(t,e.mountNode,e.modalRef,n,!0);var r=D(this.containers,(function(e){return e.container===t}));return-1!==r?(this.containers[r].modals.push(e),A):(this.containers.push({modals:[e],container:t,restore:null,hiddenSiblingNodes:n}),A)}},{key:"mount",value:function(e,t){var A=D(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),n=this.containers[A];n.restore||(n.restore=G(n,t))}},{key:"remove",value:function(e){var t=this.modals.indexOf(e);if(-1===t)return t;var A=D(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),n=this.containers[A];if(n.modals.splice(n.modals.indexOf(e),1),this.modals.splice(t,1),0===n.modals.length)n.restore&&n.restore(),e.modalRef&&S(e.modalRef,!0),R(n.container,e.mountNode,e.modalRef,n.hiddenSiblingNodes,!1),this.containers.splice(A,1);else{var r=n.modals[n.modals.length-1];r.modalRef&&S(r.modalRef,!1)}return t}},{key:"isTopModal",value:function(e){return this.modals.length>0&&this.modals[this.modals.length-1]===e}}]),e}();var x=function(e){var t=e.children,A=e.disableAutoFocus,n=void 0!==A&&A,r=e.disableEnforceFocus,o=void 0!==r&&r,a=e.disableRestoreFocus,s=void 0!==a&&a,g=e.getDoc,c=e.isEnabled,l=e.open,I=i.useRef(),h=i.useRef(null),f=i.useRef(null),d=i.useRef(),B=i.useRef(null),p=i.useCallback((function(e){B.current=C.findDOMNode(e)}),[]),E=Object(Q.a)(t.ref,p),y=i.useRef();return i.useEffect((function(){y.current=l}),[l]),!y.current&&l&&"undefined"!==typeof window&&(d.current=g().activeElement),i.useEffect((function(){if(l){var e=Object(u.a)(B.current);n||!B.current||B.current.contains(e.activeElement)||(B.current.hasAttribute("tabIndex")||B.current.setAttribute("tabIndex",-1),B.current.focus());var t=function(){null!==B.current&&(e.hasFocus()&&!o&&c()&&!I.current?B.current&&!B.current.contains(e.activeElement)&&B.current.focus():I.current=!1)},A=function(t){!o&&c()&&9===t.keyCode&&e.activeElement===B.current&&(I.current=!0,t.shiftKey?f.current.focus():h.current.focus())};e.addEventListener("focus",t,!0),e.addEventListener("keydown",A,!0);var r=setInterval((function(){t()}),50);return function(){clearInterval(r),e.removeEventListener("focus",t,!0),e.removeEventListener("keydown",A,!0),s||(d.current&&d.current.focus&&d.current.focus(),d.current=null)}}}),[n,o,s,c,l]),i.createElement(i.Fragment,null,i.createElement("div",{tabIndex:0,ref:h,"data-test":"sentinelStart"}),i.cloneElement(t,{ref:E}),i.createElement("div",{tabIndex:0,ref:f,"data-test":"sentinelEnd"}))},N={root:{zIndex:-1,position:"fixed",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},invisible:{backgroundColor:"transparent"}},U=i.forwardRef((function(e,t){var A=e.invisible,o=void 0!==A&&A,a=e.open,s=Object(r.a)(e,["invisible","open"]);return a?i.createElement("div",Object(n.a)({"aria-hidden":!0,ref:t},s,{style:Object(n.a)({},N.root,o?N.invisible:{},s.style)})):null}));var _=new k,M=i.forwardRef((function(e,t){var A=Object(B.a)(),o=Object(p.a)({name:"MuiModal",props:Object(n.a)({},e),theme:A}),a=o.BackdropComponent,s=void 0===a?U:a,g=o.BackdropProps,c=o.children,l=o.closeAfterTransition,I=void 0!==l&&l,h=o.container,f=o.disableAutoFocus,m=void 0!==f&&f,b=o.disableBackdropClick,w=void 0!==b&&b,F=o.disableEnforceFocus,R=void 0!==F&&F,D=o.disableEscapeKeyDown,G=void 0!==D&&D,k=o.disablePortal,N=void 0!==k&&k,M=o.disableRestoreFocus,O=void 0!==M&&M,L=o.disableScrollLock,T=void 0!==L&&L,Z=o.hideBackdrop,H=void 0!==Z&&Z,Y=o.keepMounted,J=void 0!==Y&&Y,j=o.manager,P=void 0===j?_:j,V=o.onBackdropClick,K=o.onClose,W=o.onEscapeKeyDown,X=o.onRendered,q=o.open,z=Object(r.a)(o,["BackdropComponent","BackdropProps","children","closeAfterTransition","container","disableAutoFocus","disableBackdropClick","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","manager","onBackdropClick","onClose","onEscapeKeyDown","onRendered","open"]),$=i.useState(!0),ee=$[0],te=$[1],Ae=i.useRef({}),ne=i.useRef(null),re=i.useRef(null),ie=Object(Q.a)(re,t),oe=function(e){return!!e.children&&e.children.props.hasOwnProperty("in")}(o),ae=function(){return Object(u.a)(ne.current)},se=function(){return Ae.current.modalRef=re.current,Ae.current.mountNode=ne.current,Ae.current},ge=function(){P.mount(se(),{disableScrollLock:T}),re.current.scrollTop=0},ce=Object(y.a)((function(){var e=function(e){return e="function"===typeof e?e():e,C.findDOMNode(e)}(h)||ae().body;P.add(se(),e),re.current&&ge()})),ue=i.useCallback((function(){return P.isTopModal(se())}),[P]),le=Object(y.a)((function(e){ne.current=e,e&&(X&&X(),q&&ue()?ge():S(re.current,!0))})),Ie=i.useCallback((function(){P.remove(se())}),[P]);if(i.useEffect((function(){return function(){Ie()}}),[Ie]),i.useEffect((function(){q?ce():oe&&I||Ie()}),[q,Ie,oe,I,ce]),!J&&!q&&(!oe||ee))return null;var Ce=function(e){return{root:{position:"fixed",zIndex:e.zIndex.modal,right:0,bottom:0,top:0,left:0},hidden:{visibility:"hidden"}}}(A||{zIndex:v.a}),he={};return void 0===c.props.tabIndex&&(he.tabIndex=c.props.tabIndex||"-1"),oe&&(he.onEnter=Object(d.a)((function(){te(!1)}),c.props.onEnter),he.onExited=Object(d.a)((function(){te(!0),I&&Ie()}),c.props.onExited)),i.createElement(E.a,{ref:le,container:h,disablePortal:N},i.createElement("div",Object(n.a)({ref:ie,onKeyDown:function(e){"Escape"===e.key&&ue()&&(W&&W(e),G||(e.stopPropagation(),K&&K(e,"escapeKeyDown")))},role:"presentation"},z,{style:Object(n.a)({},Ce.root,!q&&ee?Ce.hidden:{},z.style)}),H?null:i.createElement(s,Object(n.a)({open:q,onClick:function(e){e.target===e.currentTarget&&(V&&V(e),!w&&K&&K(e,"backdropClick"))}},g)),i.createElement(x,{disableEnforceFocus:R,disableAutoFocus:m,disableRestoreFocus:O,getDoc:ae,isEnabled:ue,open:q},i.cloneElement(c,he))))})),O=A(1166),L=A(114),T=A(151);function Z(e){return"scale(".concat(e,", ").concat(Math.pow(e,2),")")}var H={entering:{opacity:1,transform:Z(1)},entered:{opacity:1,transform:"none"}},Y=i.forwardRef((function(e,t){var A=e.children,o=e.disableStrictModeCompat,s=void 0!==o&&o,g=e.in,c=e.onEnter,u=e.onEntered,l=e.onEntering,I=e.onExit,C=e.onExited,h=e.onExiting,f=e.style,d=e.timeout,B=void 0===d?"auto":d,p=e.TransitionComponent,E=void 0===p?O.a:p,y=Object(r.a)(e,["children","disableStrictModeCompat","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"]),v=i.useRef(),m=i.useRef(),b=Object(L.a)(),w=b.unstable_strictMode&&!s,S=i.useRef(null),F=Object(Q.a)(A.ref,t),R=Object(Q.a)(w?S:void 0,F),D=function(e){return function(t,A){if(e){var n=w?[S.current,t]:[t,A],r=Object(a.a)(n,2),i=r[0],o=r[1];void 0===o?e(i):e(i,o)}}},G=D(l),k=D((function(e,t){Object(T.b)(e);var A,n=Object(T.a)({style:f,timeout:B},{mode:"enter"}),r=n.duration,i=n.delay;"auto"===B?(A=b.transitions.getAutoHeightDuration(e.clientHeight),m.current=A):A=r,e.style.transition=[b.transitions.create("opacity",{duration:A,delay:i}),b.transitions.create("transform",{duration:.666*A,delay:i})].join(","),c&&c(e,t)})),x=D(u),N=D(h),U=D((function(e){var t,A=Object(T.a)({style:f,timeout:B},{mode:"exit"}),n=A.duration,r=A.delay;"auto"===B?(t=b.transitions.getAutoHeightDuration(e.clientHeight),m.current=t):t=n,e.style.transition=[b.transitions.create("opacity",{duration:t,delay:r}),b.transitions.create("transform",{duration:.666*t,delay:r||.333*t})].join(","),e.style.opacity="0",e.style.transform=Z(.75),I&&I(e)})),_=D(C);return i.useEffect((function(){return function(){clearTimeout(v.current)}}),[]),i.createElement(E,Object(n.a)({appear:!0,in:g,nodeRef:w?S:void 0,onEnter:k,onEntered:x,onEntering:G,onExit:U,onExited:_,onExiting:N,addEndListener:function(e,t){var A=w?e:t;"auto"===B&&(v.current=setTimeout(A,m.current||0))},timeout:"auto"===B?null:B},y),(function(e,t){return i.cloneElement(A,Object(n.a)({style:Object(n.a)({opacity:0,transform:Z(.75),visibility:"exited"!==e||g?void 0:"hidden"},H[e],f,A.props.style),ref:R},t))}))}));Y.muiSupportAuto=!0;var J=Y,j=A(1254);function P(e,t){var A=0;return"number"===typeof t?A=t:"center"===t?A=e.height/2:"bottom"===t&&(A=e.height),A}function V(e,t){var A=0;return"number"===typeof t?A=t:"center"===t?A=e.width/2:"right"===t&&(A=e.width),A}function K(e){return[e.horizontal,e.vertical].map((function(e){return"number"===typeof e?"".concat(e,"px"):e})).join(" ")}function W(e){return"function"===typeof e?e():e}var X=i.forwardRef((function(e,t){var A=e.action,o=e.anchorEl,a=e.anchorOrigin,s=void 0===a?{vertical:"top",horizontal:"left"}:a,g=e.anchorPosition,l=e.anchorReference,I=void 0===l?"anchorEl":l,B=e.children,p=e.classes,E=e.className,Q=e.container,y=e.elevation,v=void 0===y?8:y,m=e.getContentAnchorEl,b=e.marginThreshold,w=void 0===b?16:b,S=e.onEnter,F=e.onEntered,R=e.onEntering,D=e.onExit,G=e.onExited,k=e.onExiting,x=e.open,N=e.PaperProps,U=void 0===N?{}:N,_=e.transformOrigin,O=void 0===_?{vertical:"top",horizontal:"left"}:_,L=e.TransitionComponent,T=void 0===L?J:L,Z=e.transitionDuration,H=void 0===Z?"auto":Z,Y=e.TransitionProps,X=void 0===Y?{}:Y,q=Object(r.a)(e,["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","classes","className","container","elevation","getContentAnchorEl","marginThreshold","onEnter","onEntered","onEntering","onExit","onExited","onExiting","open","PaperProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps"]),z=i.useRef(),$=i.useCallback((function(e){if("anchorPosition"===I)return g;var t=W(o),A=(t&&1===t.nodeType?t:Object(u.a)(z.current).body).getBoundingClientRect(),n=0===e?s.vertical:"center";return{top:A.top+P(A,n),left:A.left+V(A,s.horizontal)}}),[o,s.horizontal,s.vertical,g,I]),ee=i.useCallback((function(e){var t=0;if(m&&"anchorEl"===I){var A=m(e);if(A&&e.contains(A)){var n=function(e,t){for(var A=t,n=0;A&&A!==e;)n+=(A=A.parentElement).scrollTop;return n}(e,A);t=A.offsetTop+A.clientHeight/2-n||0}0}return t}),[s.vertical,I,m]),te=i.useCallback((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return{vertical:P(e,O.vertical)+t,horizontal:V(e,O.horizontal)}}),[O.horizontal,O.vertical]),Ae=i.useCallback((function(e){var t=ee(e),A={width:e.offsetWidth,height:e.offsetHeight},n=te(A,t);if("none"===I)return{top:null,left:null,transformOrigin:K(n)};var r=$(t),i=r.top-n.vertical,a=r.left-n.horizontal,s=i+A.height,g=a+A.width,c=Object(f.a)(W(o)),u=c.innerHeight-w,l=c.innerWidth-w;if(i<w){var C=i-w;i-=C,n.vertical+=C}else if(s>u){var h=s-u;i-=h,n.vertical+=h}if(a<w){var d=a-w;a-=d,n.horizontal+=d}else if(g>l){var B=g-l;a-=B,n.horizontal+=B}return{top:"".concat(Math.round(i),"px"),left:"".concat(Math.round(a),"px"),transformOrigin:K(n)}}),[o,I,$,ee,te,w]),ne=i.useCallback((function(){var e=z.current;if(e){var t=Ae(e);null!==t.top&&(e.style.top=t.top),null!==t.left&&(e.style.left=t.left),e.style.transformOrigin=t.transformOrigin}}),[Ae]),re=i.useCallback((function(e){z.current=C.findDOMNode(e)}),[]);i.useEffect((function(){x&&ne()})),i.useImperativeHandle(A,(function(){return x?{updatePosition:function(){ne()}}:null}),[x,ne]),i.useEffect((function(){if(x){var e=Object(h.a)((function(){ne()}));return window.addEventListener("resize",e),function(){e.clear(),window.removeEventListener("resize",e)}}}),[x,ne]);var ie=H;"auto"!==H||T.muiSupportAuto||(ie=void 0);var oe=Q||(o?Object(u.a)(W(o)).body:void 0);return i.createElement(M,Object(n.a)({container:oe,open:x,ref:t,BackdropProps:{invisible:!0},className:Object(c.a)(p.root,E)},q),i.createElement(T,Object(n.a)({appear:!0,in:x,onEnter:S,onEntered:F,onExit:D,onExited:G,onExiting:k,timeout:ie},X,{onEntering:Object(d.a)((function(e,t){R&&R(e,t),ne()}),X.onEntering)}),i.createElement(j.a,Object(n.a)({elevation:v,ref:re},U,{className:Object(c.a)(p.paper,U.className)}),B)))})),q=Object(I.a)({root:{},paper:{position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}},{name:"MuiPopover"})(X),z=A(1300),$=A(136),ee={vertical:"top",horizontal:"right"},te={vertical:"top",horizontal:"left"},Ae=i.forwardRef((function(e,t){var A=e.autoFocus,o=void 0===A||A,a=e.children,s=e.classes,g=e.disableAutoFocusItem,u=void 0!==g&&g,l=e.MenuListProps,I=void 0===l?{}:l,h=e.onClose,f=e.onEntering,d=e.open,B=e.PaperProps,p=void 0===B?{}:B,E=e.PopoverClasses,Q=e.transitionDuration,y=void 0===Q?"auto":Q,v=e.TransitionProps,m=(v=void 0===v?{}:v).onEntering,b=Object(r.a)(v,["onEntering"]),w=e.variant,S=void 0===w?"selectedMenu":w,F=Object(r.a)(e,["autoFocus","children","classes","disableAutoFocusItem","MenuListProps","onClose","onEntering","open","PaperProps","PopoverClasses","transitionDuration","TransitionProps","variant"]),R=Object(L.a)(),D=o&&!u&&d,G=i.useRef(null),k=i.useRef(null),x=-1;i.Children.map(a,(function(e,t){i.isValidElement(e)&&(e.props.disabled||("menu"!==S&&e.props.selected||-1===x)&&(x=t))}));var N=i.Children.map(a,(function(e,t){return t===x?i.cloneElement(e,{ref:function(t){k.current=C.findDOMNode(t),Object($.a)(e.ref,t)}}):e}));return i.createElement(q,Object(n.a)({getContentAnchorEl:function(){return k.current},classes:E,onClose:h,TransitionProps:Object(n.a)({onEntering:function(e,t){G.current&&G.current.adjustStyleForScrollbar(e,R),f&&f(e,t),m&&m(e,t)}},b),anchorOrigin:"rtl"===R.direction?ee:te,transformOrigin:"rtl"===R.direction?ee:te,PaperProps:Object(n.a)({},p,{classes:Object(n.a)({},p.classes,{root:s.paper})}),open:d,ref:t,transitionDuration:y},F),i.createElement(z.a,Object(n.a)({onKeyDown:function(e){"Tab"===e.key&&(e.preventDefault(),h&&h(e,"tabKeyDown"))},actions:G,autoFocus:o&&(-1===x||u),autoFocusItem:D,variant:S},I,{className:Object(c.a)(s.list,I.className)}),N))})),ne=Object(I.a)({paper:{maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"},list:{outline:0}},{name:"MuiMenu"})(Ae),re=A(231),ie=A(160);function oe(e,t){return"object"===Object(s.a)(t)&&null!==t?e===t:String(e)===String(t)}var ae=i.forwardRef((function(e,t){var A=e["aria-label"],o=e.autoFocus,s=e.autoWidth,I=e.children,C=e.classes,h=e.className,f=e.defaultValue,d=e.disabled,B=e.displayEmpty,p=e.IconComponent,E=e.inputRef,y=e.labelId,v=e.MenuProps,m=void 0===v?{}:v,b=e.multiple,w=e.name,S=e.onBlur,F=e.onChange,R=e.onClose,D=e.onFocus,G=e.onOpen,k=e.open,x=e.readOnly,N=e.renderValue,U=e.SelectDisplayProps,_=void 0===U?{}:U,M=e.tabIndex,O=(e.type,e.value),L=e.variant,T=void 0===L?"standard":L,Z=Object(r.a)(e,["aria-label","autoFocus","autoWidth","children","classes","className","defaultValue","disabled","displayEmpty","IconComponent","inputRef","labelId","MenuProps","multiple","name","onBlur","onChange","onClose","onFocus","onOpen","open","readOnly","renderValue","SelectDisplayProps","tabIndex","type","value","variant"]),H=Object(ie.a)({controlled:O,default:f,name:"Select"}),Y=Object(a.a)(H,2),J=Y[0],j=Y[1],P=i.useRef(null),V=i.useState(null),K=V[0],W=V[1],X=i.useRef(null!=k).current,q=i.useState(),z=q[0],$=q[1],ee=i.useState(!1),te=ee[0],Ae=ee[1],ae=Object(Q.a)(t,E);i.useImperativeHandle(ae,(function(){return{focus:function(){K.focus()},node:P.current,value:J}}),[K,J]),i.useEffect((function(){o&&K&&K.focus()}),[o,K]),i.useEffect((function(){if(K){var e=Object(u.a)(K).getElementById(y);if(e){var t=function(){getSelection().isCollapsed&&K.focus()};return e.addEventListener("click",t),function(){e.removeEventListener("click",t)}}}}),[y,K]);var se,ge,ce=function(e,t){e?G&&G(t):R&&R(t),X||($(s?null:K.clientWidth),Ae(e))},ue=i.Children.toArray(I),le=function(e){return function(t){var A;if(b||ce(!1,t),b){A=Array.isArray(J)?J.slice():[];var n=J.indexOf(e.props.value);-1===n?A.push(e.props.value):A.splice(n,1)}else A=e.props.value;e.props.onClick&&e.props.onClick(t),J!==A&&(j(A),F&&(t.persist(),Object.defineProperty(t,"target",{writable:!0,value:{value:A,name:w}}),F(t,e)))}},Ie=null!==K&&(X?k:te);delete Z["aria-invalid"];var Ce=[],he=!1;(Object(re.b)({value:J})||B)&&(N?se=N(J):he=!0);var fe=ue.map((function(e){if(!i.isValidElement(e))return null;var t;if(b){if(!Array.isArray(J))throw new Error(Object(g.a)(2));(t=J.some((function(t){return oe(t,e.props.value)})))&&he&&Ce.push(e.props.children)}else(t=oe(J,e.props.value))&&he&&(ge=e.props.children);return t&&!0,i.cloneElement(e,{"aria-selected":t?"true":void 0,onClick:le(e),onKeyUp:function(t){" "===t.key&&t.preventDefault(),e.props.onKeyUp&&e.props.onKeyUp(t)},role:"option",selected:t,value:void 0,"data-value":e.props.value})}));he&&(se=b?Ce.join(", "):ge);var de,Be=z;!s&&X&&K&&(Be=K.clientWidth),de="undefined"!==typeof M?M:d?null:0;var pe=_.id||(w?"mui-component-select-".concat(w):void 0);return i.createElement(i.Fragment,null,i.createElement("div",Object(n.a)({className:Object(c.a)(C.root,C.select,C.selectMenu,C[T],h,d&&C.disabled),ref:W,tabIndex:de,role:"button","aria-disabled":d?"true":void 0,"aria-expanded":Ie?"true":void 0,"aria-haspopup":"listbox","aria-label":A,"aria-labelledby":[y,pe].filter(Boolean).join(" ")||void 0,onKeyDown:function(e){if(!x){-1!==[" ","ArrowUp","ArrowDown","Enter"].indexOf(e.key)&&(e.preventDefault(),ce(!0,e))}},onMouseDown:d||x?null:function(e){0===e.button&&(e.preventDefault(),K.focus(),ce(!0,e))},onBlur:function(e){!Ie&&S&&(e.persist(),Object.defineProperty(e,"target",{writable:!0,value:{value:J,name:w}}),S(e))},onFocus:D},_,{id:pe}),function(e){return null==e||"string"===typeof e&&!e.trim()}(se)?i.createElement("span",{dangerouslySetInnerHTML:{__html:"​"}}):se),i.createElement("input",Object(n.a)({value:Array.isArray(J)?J.join(","):J,name:w,ref:P,"aria-hidden":!0,onChange:function(e){var t=ue.map((function(e){return e.props.value})).indexOf(e.target.value);if(-1!==t){var A=ue[t];j(A.props.value),F&&F(e,A)}},tabIndex:-1,className:C.nativeInput,autoFocus:o},Z)),i.createElement(p,{className:Object(c.a)(C.icon,C["icon".concat(Object(l.a)(T))],Ie&&C.iconOpen,d&&C.disabled)}),i.createElement(ne,Object(n.a)({id:"menu-".concat(w||""),anchorEl:K,open:Ie,onClose:function(e){ce(!1,e)}},m,{MenuListProps:Object(n.a)({"aria-labelledby":y,role:"listbox",disableListWrap:!0},m.MenuListProps),PaperProps:Object(n.a)({},m.PaperProps,{style:Object(n.a)({minWidth:Be},null!=m.PaperProps?m.PaperProps.style:null)})}),fe))})),se=A(166),ge=A(167),ce=A(113),ue=Object(ce.a)(i.createElement("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown"),le=A(230);function Ie(e,t){return parseInt(e[t],10)||0}var Ce="undefined"!==typeof window?i.useLayoutEffect:i.useEffect,he={visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"},fe=i.forwardRef((function(e,t){var A=e.onChange,o=e.rows,a=e.rowsMax,s=e.rowsMin,g=e.maxRows,c=e.minRows,u=void 0===c?1:c,l=e.style,I=e.value,C=Object(r.a)(e,["onChange","rows","rowsMax","rowsMin","maxRows","minRows","style","value"]),f=g||a,d=o||s||u,B=i.useRef(null!=I).current,p=i.useRef(null),E=Object(Q.a)(t,p),y=i.useRef(null),v=i.useRef(0),m=i.useState({}),b=m[0],w=m[1],S=i.useCallback((function(){var t=p.current,A=window.getComputedStyle(t),n=y.current;n.style.width=A.width,n.value=t.value||e.placeholder||"x","\n"===n.value.slice(-1)&&(n.value+=" ");var r=A["box-sizing"],i=Ie(A,"padding-bottom")+Ie(A,"padding-top"),o=Ie(A,"border-bottom-width")+Ie(A,"border-top-width"),a=n.scrollHeight-i;n.value="x";var s=n.scrollHeight-i,g=a;d&&(g=Math.max(Number(d)*s,g)),f&&(g=Math.min(Number(f)*s,g));var c=(g=Math.max(g,s))+("border-box"===r?i+o:0),u=Math.abs(g-a)<=1;w((function(e){return v.current<20&&(c>0&&Math.abs((e.outerHeightStyle||0)-c)>1||e.overflow!==u)?(v.current+=1,{overflow:u,outerHeightStyle:c}):e}))}),[f,d,e.placeholder]);i.useEffect((function(){var e=Object(h.a)((function(){v.current=0,S()}));return window.addEventListener("resize",e),function(){e.clear(),window.removeEventListener("resize",e)}}),[S]),Ce((function(){S()})),i.useEffect((function(){v.current=0}),[I]);return i.createElement(i.Fragment,null,i.createElement("textarea",Object(n.a)({value:I,onChange:function(e){v.current=0,B||S(),A&&A(e)},ref:E,rows:d,style:Object(n.a)({height:b.outerHeightStyle,overflow:b.overflow?"hidden":null},l)},C)),i.createElement("textarea",{"aria-hidden":!0,className:e.className,readOnly:!0,ref:y,tabIndex:-1,style:Object(n.a)({},he,l)}))})),de="undefined"===typeof window?i.useEffect:i.useLayoutEffect,Be=i.forwardRef((function(e,t){var A=e["aria-describedby"],o=e.autoComplete,a=e.autoFocus,s=e.classes,u=e.className,I=(e.color,e.defaultValue),C=e.disabled,h=e.endAdornment,f=(e.error,e.fullWidth),d=void 0!==f&&f,B=e.id,p=e.inputComponent,E=void 0===p?"input":p,y=e.inputProps,v=void 0===y?{}:y,m=e.inputRef,b=(e.margin,e.multiline),w=void 0!==b&&b,S=e.name,F=e.onBlur,R=e.onChange,D=e.onClick,G=e.onFocus,k=e.onKeyDown,x=e.onKeyUp,N=e.placeholder,U=e.readOnly,_=e.renderSuffix,M=e.rows,O=e.rowsMax,L=e.rowsMin,T=e.maxRows,Z=e.minRows,H=e.startAdornment,Y=e.type,J=void 0===Y?"text":Y,j=e.value,P=Object(r.a)(e,["aria-describedby","autoComplete","autoFocus","classes","className","color","defaultValue","disabled","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","rowsMax","rowsMin","maxRows","minRows","startAdornment","type","value"]),V=null!=v.value?v.value:j,K=i.useRef(null!=V).current,W=i.useRef(),X=i.useCallback((function(e){0}),[]),q=Object(Q.a)(v.ref,X),z=Object(Q.a)(m,q),$=Object(Q.a)(W,z),ee=i.useState(!1),te=ee[0],Ae=ee[1],ne=Object(le.b)();var ie=Object(se.a)({props:e,muiFormControl:ne,states:["color","disabled","error","hiddenLabel","margin","required","filled"]});ie.focused=ne?ne.focused:te,i.useEffect((function(){!ne&&C&&te&&(Ae(!1),F&&F())}),[ne,C,te,F]);var oe=ne&&ne.onFilled,ae=ne&&ne.onEmpty,ge=i.useCallback((function(e){Object(re.b)(e)?oe&&oe():ae&&ae()}),[oe,ae]);de((function(){K&&ge({value:V})}),[V,ge,K]);i.useEffect((function(){ge(W.current)}),[]);var ce=E,ue=Object(n.a)({},v,{ref:$});"string"!==typeof ce?ue=Object(n.a)({inputRef:$,type:J},ue,{ref:null}):w?!M||T||Z||O||L?(ue=Object(n.a)({minRows:M||Z,rowsMax:O,maxRows:T},ue),ce=fe):ce="textarea":ue=Object(n.a)({type:J},ue);return i.useEffect((function(){ne&&ne.setAdornedStart(Boolean(H))}),[ne,H]),i.createElement("div",Object(n.a)({className:Object(c.a)(s.root,s["color".concat(Object(l.a)(ie.color||"primary"))],u,ie.disabled&&s.disabled,ie.error&&s.error,d&&s.fullWidth,ie.focused&&s.focused,ne&&s.formControl,w&&s.multiline,H&&s.adornedStart,h&&s.adornedEnd,"dense"===ie.margin&&s.marginDense),onClick:function(e){W.current&&e.currentTarget===e.target&&W.current.focus(),D&&D(e)},ref:t},P),H,i.createElement(le.a.Provider,{value:null},i.createElement(ce,Object(n.a)({"aria-invalid":ie.error,"aria-describedby":A,autoComplete:o,autoFocus:a,defaultValue:I,disabled:ie.disabled,id:B,onAnimationStart:function(e){ge("mui-auto-fill-cancel"===e.animationName?W.current:{value:"x"})},name:S,placeholder:N,readOnly:U,required:ie.required,rows:M,value:V,onKeyDown:k,onKeyUp:x},ue,{className:Object(c.a)(s.input,v.className,ie.disabled&&s.disabled,w&&s.inputMultiline,ie.hiddenLabel&&s.inputHiddenLabel,H&&s.inputAdornedStart,h&&s.inputAdornedEnd,"search"===J&&s.inputTypeSearch,"dense"===ie.margin&&s.inputMarginDense),onBlur:function(e){F&&F(e),v.onBlur&&v.onBlur(e),ne&&ne.onBlur?ne.onBlur(e):Ae(!1)},onChange:function(e){if(!K){var t=e.target||W.current;if(null==t)throw new Error(Object(g.a)(1));ge({value:t.value})}for(var A=arguments.length,n=new Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];v.onChange&&v.onChange.apply(v,[e].concat(n)),R&&R.apply(void 0,[e].concat(n))},onFocus:function(e){ie.disabled?e.stopPropagation():(G&&G(e),v.onFocus&&v.onFocus(e),ne&&ne.onFocus?ne.onFocus(e):Ae(!0))}}))),h,_?_(Object(n.a)({},ie,{startAdornment:H})):null)})),pe=Object(I.a)((function(e){var t="light"===e.palette.type,A={color:"currentColor",opacity:t?.42:.5,transition:e.transitions.create("opacity",{duration:e.transitions.duration.shorter})},r={opacity:"0 !important"},i={opacity:t?.42:.5};return{"@global":{"@keyframes mui-auto-fill":{},"@keyframes mui-auto-fill-cancel":{}},root:Object(n.a)({},e.typography.body1,{color:e.palette.text.primary,lineHeight:"1.1876em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center","&$disabled":{color:e.palette.text.disabled,cursor:"default"}}),formControl:{},focused:{},disabled:{},adornedStart:{},adornedEnd:{},error:{},marginDense:{},multiline:{padding:"".concat(6,"px 0 ").concat(7,"px"),"&$marginDense":{paddingTop:3}},colorSecondary:{},fullWidth:{width:"100%"},input:{font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"".concat(6,"px 0 ").concat(7,"px"),border:0,boxSizing:"content-box",background:"none",height:"1.1876em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":A,"&::-moz-placeholder":A,"&:-ms-input-placeholder":A,"&::-ms-input-placeholder":A,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{"-webkit-appearance":"none"},"label[data-shrink=false] + $formControl &":{"&::-webkit-input-placeholder":r,"&::-moz-placeholder":r,"&:-ms-input-placeholder":r,"&::-ms-input-placeholder":r,"&:focus::-webkit-input-placeholder":i,"&:focus::-moz-placeholder":i,"&:focus:-ms-input-placeholder":i,"&:focus::-ms-input-placeholder":i},"&$disabled":{opacity:1},"&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}},inputMarginDense:{paddingTop:3},inputMultiline:{height:"auto",resize:"none",padding:0},inputTypeSearch:{"-moz-appearance":"textfield","-webkit-appearance":"textfield"},inputAdornedStart:{},inputAdornedEnd:{},inputHiddenLabel:{}}}),{name:"MuiInputBase"})(Be),Ee=i.forwardRef((function(e,t){var A=e.disableUnderline,o=e.classes,a=e.fullWidth,s=void 0!==a&&a,g=e.inputComponent,u=void 0===g?"input":g,l=e.multiline,I=void 0!==l&&l,C=e.type,h=void 0===C?"text":C,f=Object(r.a)(e,["disableUnderline","classes","fullWidth","inputComponent","multiline","type"]);return i.createElement(pe,Object(n.a)({classes:Object(n.a)({},o,{root:Object(c.a)(o.root,!A&&o.underline),underline:null}),fullWidth:s,inputComponent:u,multiline:I,ref:t,type:h},f))}));Ee.muiName="Input";var Qe=Object(I.a)((function(e){var t="light"===e.palette.type?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return{root:{position:"relative"},formControl:{"label + &":{marginTop:16}},focused:{},disabled:{},colorSecondary:{"&$underline:after":{borderBottomColor:e.palette.secondary.main}},underline:{"&:after":{borderBottom:"2px solid ".concat(e.palette.primary.main),left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},"&$focused:after":{transform:"scaleX(1)"},"&$error:after":{borderBottomColor:e.palette.error.main,transform:"scaleX(1)"},"&:before":{borderBottom:"1px solid ".concat(t),left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},"&:hover:not($disabled):before":{borderBottom:"2px solid ".concat(e.palette.text.primary),"@media (hover: none)":{borderBottom:"1px solid ".concat(t)}},"&$disabled:before":{borderBottomStyle:"dotted"}},error:{},marginDense:{},multiline:{},fullWidth:{},input:{},inputMarginDense:{},inputMultiline:{},inputTypeSearch:{}}}),{name:"MuiInput"})(Ee),ye=i.forwardRef((function(e,t){var A=e.classes,o=e.className,a=e.disabled,s=e.IconComponent,g=e.inputRef,u=e.variant,I=void 0===u?"standard":u,C=Object(r.a)(e,["classes","className","disabled","IconComponent","inputRef","variant"]);return i.createElement(i.Fragment,null,i.createElement("select",Object(n.a)({className:Object(c.a)(A.root,A.select,A[I],o,a&&A.disabled),disabled:a,ref:g||t},C)),e.multiple?null:i.createElement(s,{className:Object(c.a)(A.icon,A["icon".concat(Object(l.a)(I))],a&&A.disabled)}))})),ve=function(e){return{root:{},select:{"-moz-appearance":"none","-webkit-appearance":"none",userSelect:"none",borderRadius:0,minWidth:16,cursor:"pointer","&:focus":{backgroundColor:"light"===e.palette.type?"rgba(0, 0, 0, 0.05)":"rgba(255, 255, 255, 0.05)",borderRadius:0},"&::-ms-expand":{display:"none"},"&$disabled":{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:e.palette.background.paper},"&&":{paddingRight:24}},filled:{"&&":{paddingRight:32}},outlined:{borderRadius:e.shape.borderRadius,"&&":{paddingRight:32}},selectMenu:{height:"auto",minHeight:"1.1876em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},disabled:{},icon:{position:"absolute",right:0,top:"calc(50% - 12px)",pointerEvents:"none",color:e.palette.action.active,"&$disabled":{color:e.palette.action.disabled}},iconOpen:{transform:"rotate(180deg)"},iconFilled:{right:7},iconOutlined:{right:7},nativeInput:{bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%"}}},me=i.createElement(Qe,null),be=i.forwardRef((function(e,t){var A=e.children,o=e.classes,a=e.IconComponent,s=void 0===a?ue:a,g=e.input,c=void 0===g?me:g,u=e.inputProps,l=(e.variant,Object(r.a)(e,["children","classes","IconComponent","input","inputProps","variant"])),I=Object(ge.a)(),C=Object(se.a)({props:e,muiFormControl:I,states:["variant"]});return i.cloneElement(c,Object(n.a)({inputComponent:ye,inputProps:Object(n.a)({children:A,classes:o,IconComponent:s,variant:C.variant,type:void 0},u,c?c.props.inputProps:{}),ref:t},l))}));be.muiName="Select";Object(I.a)(ve,{name:"MuiNativeSelect"})(be);var we=i.forwardRef((function(e,t){var A=e.disableUnderline,o=e.classes,a=e.fullWidth,s=void 0!==a&&a,g=e.inputComponent,u=void 0===g?"input":g,l=e.multiline,I=void 0!==l&&l,C=e.type,h=void 0===C?"text":C,f=Object(r.a)(e,["disableUnderline","classes","fullWidth","inputComponent","multiline","type"]);return i.createElement(pe,Object(n.a)({classes:Object(n.a)({},o,{root:Object(c.a)(o.root,!A&&o.underline),underline:null}),fullWidth:s,inputComponent:u,multiline:I,ref:t,type:h},f))}));we.muiName="Input";var Se=Object(I.a)((function(e){var t="light"===e.palette.type,A=t?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",n=t?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.09)";return{root:{position:"relative",backgroundColor:n,borderTopLeftRadius:e.shape.borderRadius,borderTopRightRadius:e.shape.borderRadius,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),"&:hover":{backgroundColor:t?"rgba(0, 0, 0, 0.13)":"rgba(255, 255, 255, 0.13)","@media (hover: none)":{backgroundColor:n}},"&$focused":{backgroundColor:t?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.09)"},"&$disabled":{backgroundColor:t?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)"}},colorSecondary:{"&$underline:after":{borderBottomColor:e.palette.secondary.main}},underline:{"&:after":{borderBottom:"2px solid ".concat(e.palette.primary.main),left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},"&$focused:after":{transform:"scaleX(1)"},"&$error:after":{borderBottomColor:e.palette.error.main,transform:"scaleX(1)"},"&:before":{borderBottom:"1px solid ".concat(A),left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},"&:hover:before":{borderBottom:"1px solid ".concat(e.palette.text.primary)},"&$disabled:before":{borderBottomStyle:"dotted"}},focused:{},disabled:{},adornedStart:{paddingLeft:12},adornedEnd:{paddingRight:12},error:{},marginDense:{},multiline:{padding:"27px 12px 10px","&$marginDense":{paddingTop:23,paddingBottom:6}},input:{padding:"27px 12px 10px","&:-webkit-autofill":{WebkitBoxShadow:"light"===e.palette.type?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:"light"===e.palette.type?null:"#fff",caretColor:"light"===e.palette.type?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},inputMarginDense:{paddingTop:23,paddingBottom:6},inputHiddenLabel:{paddingTop:18,paddingBottom:19,"&$inputMarginDense":{paddingTop:10,paddingBottom:11}},inputMultiline:{padding:0},inputAdornedStart:{paddingLeft:0},inputAdornedEnd:{paddingRight:0}}}),{name:"MuiFilledInput"})(we),Fe=A(25),Re=i.forwardRef((function(e,t){e.children;var A=e.classes,o=e.className,a=e.label,s=e.labelWidth,g=e.notched,u=e.style,I=Object(r.a)(e,["children","classes","className","label","labelWidth","notched","style"]),C="rtl"===Object(L.a)().direction?"right":"left";if(void 0!==a)return i.createElement("fieldset",Object(n.a)({"aria-hidden":!0,className:Object(c.a)(A.root,o),ref:t,style:u},I),i.createElement("legend",{className:Object(c.a)(A.legendLabelled,g&&A.legendNotched)},a?i.createElement("span",null,a):i.createElement("span",{dangerouslySetInnerHTML:{__html:"​"}})));var h=s>0?.75*s+8:.01;return i.createElement("fieldset",Object(n.a)({"aria-hidden":!0,style:Object(n.a)(Object(Fe.a)({},"padding".concat(Object(l.a)(C)),8),u),className:Object(c.a)(A.root,o),ref:t},I),i.createElement("legend",{className:A.legend,style:{width:g?h:.01}},i.createElement("span",{dangerouslySetInnerHTML:{__html:"​"}})))})),De=Object(I.a)((function(e){return{root:{position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden"},legend:{textAlign:"left",padding:0,lineHeight:"11px",transition:e.transitions.create("width",{duration:150,easing:e.transitions.easing.easeOut})},legendLabelled:{display:"block",width:"auto",textAlign:"left",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:e.transitions.create("max-width",{duration:50,easing:e.transitions.easing.easeOut}),"& > span":{paddingLeft:5,paddingRight:5,display:"inline-block"}},legendNotched:{maxWidth:1e3,transition:e.transitions.create("max-width",{duration:100,easing:e.transitions.easing.easeOut,delay:50})}}}),{name:"PrivateNotchedOutline"})(Re),Ge=i.forwardRef((function(e,t){var A=e.classes,o=e.fullWidth,a=void 0!==o&&o,s=e.inputComponent,g=void 0===s?"input":s,u=e.label,l=e.labelWidth,I=void 0===l?0:l,C=e.multiline,h=void 0!==C&&C,f=e.notched,d=e.type,B=void 0===d?"text":d,p=Object(r.a)(e,["classes","fullWidth","inputComponent","label","labelWidth","multiline","notched","type"]);return i.createElement(pe,Object(n.a)({renderSuffix:function(e){return i.createElement(De,{className:A.notchedOutline,label:u,labelWidth:I,notched:"undefined"!==typeof f?f:Boolean(e.startAdornment||e.filled||e.focused)})},classes:Object(n.a)({},A,{root:Object(c.a)(A.root,A.underline),notchedOutline:null}),fullWidth:a,inputComponent:g,multiline:h,ref:t,type:B},p))}));Ge.muiName="Input";var ke=Object(I.a)((function(e){var t="light"===e.palette.type?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{root:{position:"relative",borderRadius:e.shape.borderRadius,"&:hover $notchedOutline":{borderColor:e.palette.text.primary},"@media (hover: none)":{"&:hover $notchedOutline":{borderColor:t}},"&$focused $notchedOutline":{borderColor:e.palette.primary.main,borderWidth:2},"&$error $notchedOutline":{borderColor:e.palette.error.main},"&$disabled $notchedOutline":{borderColor:e.palette.action.disabled}},colorSecondary:{"&$focused $notchedOutline":{borderColor:e.palette.secondary.main}},focused:{},disabled:{},adornedStart:{paddingLeft:14},adornedEnd:{paddingRight:14},error:{},marginDense:{},multiline:{padding:"18.5px 14px","&$marginDense":{paddingTop:10.5,paddingBottom:10.5}},notchedOutline:{borderColor:t},input:{padding:"18.5px 14px","&:-webkit-autofill":{WebkitBoxShadow:"light"===e.palette.type?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:"light"===e.palette.type?null:"#fff",caretColor:"light"===e.palette.type?null:"#fff",borderRadius:"inherit"}},inputMarginDense:{paddingTop:10.5,paddingBottom:10.5},inputMultiline:{padding:0},inputAdornedStart:{paddingLeft:0},inputAdornedEnd:{paddingRight:0}}}),{name:"MuiOutlinedInput"})(Ge),xe=ve,Ne=i.createElement(Qe,null),Ue=i.createElement(Se,null),_e=i.forwardRef((function e(t,A){var a=t.autoWidth,s=void 0!==a&&a,g=t.children,c=t.classes,u=t.displayEmpty,l=void 0!==u&&u,I=t.IconComponent,C=void 0===I?ue:I,h=t.id,f=t.input,d=t.inputProps,B=t.label,p=t.labelId,E=t.labelWidth,Q=void 0===E?0:E,y=t.MenuProps,v=t.multiple,m=void 0!==v&&v,b=t.native,w=void 0!==b&&b,S=t.onClose,F=t.onOpen,R=t.open,D=t.renderValue,G=t.SelectDisplayProps,k=t.variant,x=void 0===k?"standard":k,N=Object(r.a)(t,["autoWidth","children","classes","displayEmpty","IconComponent","id","input","inputProps","label","labelId","labelWidth","MenuProps","multiple","native","onClose","onOpen","open","renderValue","SelectDisplayProps","variant"]),U=w?ye:ae,_=Object(ge.a)(),M=Object(se.a)({props:t,muiFormControl:_,states:["variant"]}).variant||x,O=f||{standard:Ne,outlined:i.createElement(ke,{label:B,labelWidth:Q}),filled:Ue}[M];return i.cloneElement(O,Object(n.a)({inputComponent:U,inputProps:Object(n.a)({children:g,IconComponent:C,variant:M,type:void 0,multiple:m},w?{id:h}:{autoWidth:s,displayEmpty:l,labelId:p,MenuProps:y,onClose:S,onOpen:F,open:R,renderValue:D,SelectDisplayProps:Object(n.a)({id:h},G)},d,{classes:d?Object(o.a)({baseClasses:c,newClasses:d.classes,Component:e}):c},f?f.props.inputProps:{}),ref:A},N))}));_e.muiName="Select";t.a=Object(I.a)(xe,{name:"MuiSelect"})(_e)},function(e,t,A){"use strict";var n={};A.r(n),A.d(n,"decode",(function(){return T})),A.d(n,"encode",(function(){return H}));var r={};A.r(r),A.d(r,"decode",(function(){return K})),A.d(r,"encode",(function(){return X}));var i={};A.r(i),A.d(i,"decode",(function(){return q})),A.d(i,"encode",(function(){return $}));var o={};A.r(o),A.d(o,"decode",(function(){return te})),A.d(o,"encode",(function(){return ne}));var a=A(3),s=A.n(a),g=A(7),c=A(12),u=A(1286),l=A(638),I=A(194);function C(e,t){if(!e)throw new Error(t||"assert failed: gltf")}function h(e,t){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;var A=t.baseUri||t.uri;if(!A)throw new Error("'baseUri' must be provided to resolve relative url ".concat(e));return A.substr(0,A.lastIndexOf("/")+1)+e}function f(e,t,A){var n=e.bufferViews[A];C(n);var r=t[n.buffer];C(r);var i=(n.byteOffset||0)+r.byteOffset;return new Uint8Array(r.arrayBuffer,i,n.byteLength)}var d=A(8),B=A(2),p=A(6),E=A(421),Q=A(1),y=A(4),v=A(25),m=A(408),b=A(367),w=["SCALAR","VEC2","VEC3","VEC4"],S=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],F=new Map(S),R={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},D={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},G={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function k(e){return w[e-1]||w[0]}function x(e){var t=F.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function N(e,t){var A=G[e.componentType],n=R[e.type],r=D[e.componentType],i=e.count*n,o=e.count*n*r;return C(o>=0&&o<=t.byteLength),{ArrayType:A,length:i,byteLength:o}}var U={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]},_=function(){function e(t){Object(Q.a)(this,e),Object(v.a)(this,"gltf",void 0),Object(v.a)(this,"sourceBuffers",void 0),Object(v.a)(this,"byteLength",void 0),this.gltf=t||{json:Object(g.a)({},U),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}return Object(y.a)(e,[{key:"getApplicationData",value:function(e){return this.json[e]}},{key:"getExtraData",value:function(e){return(this.json.extras||{})[e]}},{key:"getExtension",value:function(e){var t=this.getUsedExtensions().find((function(t){return t===e})),A=this.json.extensions||{};return t?A[e]||!0:null}},{key:"getRequiredExtension",value:function(e){return this.getRequiredExtensions().find((function(t){return t===e}))?this.getExtension(e):null}},{key:"getRequiredExtensions",value:function(){return this.json.extensionsRequired||[]}},{key:"getUsedExtensions",value:function(){return this.json.extensionsUsed||[]}},{key:"getObjectExtension",value:function(e,t){return(e.extensions||{})[t]}},{key:"getScene",value:function(e){return this.getObject("scenes",e)}},{key:"getNode",value:function(e){return this.getObject("nodes",e)}},{key:"getSkin",value:function(e){return this.getObject("skins",e)}},{key:"getMesh",value:function(e){return this.getObject("meshes",e)}},{key:"getMaterial",value:function(e){return this.getObject("materials",e)}},{key:"getAccessor",value:function(e){return this.getObject("accessors",e)}},{key:"getTexture",value:function(e){return this.getObject("textures",e)}},{key:"getSampler",value:function(e){return this.getObject("samplers",e)}},{key:"getImage",value:function(e){return this.getObject("images",e)}},{key:"getBufferView",value:function(e){return this.getObject("bufferViews",e)}},{key:"getBuffer",value:function(e){return this.getObject("buffers",e)}},{key:"getObject",value:function(e,t){if("object"===typeof t)return t;var A=this.json[e]&&this.json[e][t];if(!A)throw new Error("glTF file error: Could not find ".concat(e,"[").concat(t,"]"));return A}},{key:"getTypedArrayForBufferView",value:function(e){var t=(e=this.getBufferView(e)).buffer,A=this.gltf.buffers[t];C(A);var n=(e.byteOffset||0)+A.byteOffset;return new Uint8Array(A.arrayBuffer,n,e.byteLength)}},{key:"getTypedArrayForAccessor",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),A=this.getBuffer(t.buffer).data,n=N(e,t),r=n.ArrayType,i=n.length;return new r(A,t.byteOffset+e.byteOffset,i)}},{key:"getTypedArrayForImageData",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),A=this.getBuffer(t.buffer).data,n=t.byteOffset||0;return new Uint8Array(A,n,t.byteLength)}},{key:"addApplicationData",value:function(e,t){return this.json[e]=t,this}},{key:"addExtraData",value:function(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}},{key:"addObjectExtension",value:function(e,t,A){return e.extensions=e.extensions||{},e.extensions[t]=A,this.registerUsedExtension(t),this}},{key:"setObjectExtension",value:function(e,t,A){(e.extensions||{})[t]=A}},{key:"removeObjectExtension",value:function(e,t){var A=e.extensions||{},n=A[t];return delete A[t],n}},{key:"addExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return C(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}},{key:"addRequiredExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return C(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}},{key:"registerUsedExtension",value:function(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find((function(t){return t===e}))||this.json.extensionsUsed.push(e)}},{key:"registerRequiredExtension",value:function(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find((function(t){return t===e}))||this.json.extensionsRequired.push(e)}},{key:"removeExtension",value:function(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}},{key:"setDefaultScene",value:function(e){this.json.scene=e}},{key:"addScene",value:function(e){var t=e.nodeIndices;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}},{key:"addNode",value:function(e){var t=e.meshIndex,A=e.matrix;this.json.nodes=this.json.nodes||[];var n={mesh:t};return A&&(n.matrix=A),this.json.nodes.push(n),this.json.nodes.length-1}},{key:"addMesh",value:function(e){var t=e.attributes,A=e.indices,n=e.material,r=e.mode,i=void 0===r?4:r,o={primitives:[{attributes:this._addAttributes(t),mode:i}]};if(A){var a=this._addIndices(A);o.primitives[0].indices=a}return Number.isFinite(n)&&(o.primitives[0].material=n),this.json.meshes=this.json.meshes||[],this.json.meshes.push(o),this.json.meshes.length-1}},{key:"addPointCloud",value:function(e){var t={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(t),this.json.meshes.length-1}},{key:"addImage",value:function(e,t){var A=Object(m.a)(e),n=t||(null===A||void 0===A?void 0:A.mimeType),r={bufferView:this.addBufferView(e),mimeType:n};return this.json.images=this.json.images||[],this.json.images.push(r),this.json.images.length-1}},{key:"addBufferView",value:function(e){var t=e.byteLength;C(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);var A={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=Object(b.b)(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(A),this.json.bufferViews.length-1}},{key:"addAccessor",value:function(e,t){var A={bufferView:e,type:k(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(A),this.json.accessors.length-1}},{key:"addBinaryBuffer",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{size:3},A=this.addBufferView(e),n={min:t.min,max:t.max};n.min&&n.max||(n=this._getAccessorMinMax(e,t.size));var r={size:t.size,componentType:x(e),count:Math.round(e.length/t.size),min:n.min,max:n.max};return this.addAccessor(A,Object.assign(r,t))}},{key:"addTexture",value:function(e){var t={source:e.imageIndex};return this.json.textures=this.json.textures||[],this.json.textures.push(t),this.json.textures.length-1}},{key:"addMaterial",value:function(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}},{key:"createBinaryChunk",value:function(){var e,t;this.gltf.buffers=[];var A,n=this.byteLength,r=new ArrayBuffer(n),i=new Uint8Array(r),o=0,a=Object(p.a)(this.sourceBuffers||[]);try{for(a.s();!(A=a.n()).done;){var s=A.value;o=Object(b.a)(s,i,o)}}catch(g){a.e(g)}finally{a.f()}null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=r,this.sourceBuffers=[r]}},{key:"_removeStringFromArray",value:function(e,t){for(var A=!0;A;){var n=e.indexOf(t);n>-1?e.splice(n,1):A=!1}}},{key:"_addAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};for(var A in e){var n=e[A],r=this._getGltfAttributeName(A),i=this.addBinaryBuffer(n.value,n);t[r]=i}return t}},{key:"_addIndices",value:function(e){return this.addBinaryBuffer(e,{size:1})}},{key:"_getGltfAttributeName",value:function(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}},{key:"_getAccessorMinMax",value:function(e,t){var A={min:null,max:null};if(e.length<t)return A;A.min=[],A.max=[];var n,r=e.subarray(0,t),i=Object(p.a)(r);try{for(i.s();!(n=i.n()).done;){var o=n.value;A.min.push(o),A.max.push(o)}}catch(g){i.e(g)}finally{i.f()}for(var a=t;a<e.length;a+=t)for(var s=0;s<t;s++)A.min[0+s]=Math.min(A.min[0+s],e[a+s]),A.max[0+s]=Math.max(A.max[0+s],e[a+s]);return A}},{key:"json",get:function(){return this.gltf.json}}]),e}();function M(e){var t={};for(var A in e){var n=e[A];if("indices"!==A){var r=O(n);t[A]=r}}return t}function O(e){var t=function(e){var t=e,A=1,n=0;e&&e.value&&(t=e.value,A=e.size||1);t&&(ArrayBuffer.isView(t)||(t=function(e,t){var A=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!e)return null;if(Array.isArray(e))return new t(e);if(A&&!(e instanceof t))return new t(e);return e}(t,Float32Array)),n=t.length/A);return{buffer:t,size:A,count:n}}(e),A=t.buffer,n=t.size;return{value:A,size:n,byteOffset:0,count:t.count,type:k(n),componentType:x(A)}}var L=s.a.mark(V);function T(e,t,A){return Z.apply(this,arguments)}function Z(){return(Z=Object(c.a)(s.a.mark((function e(t,A,n){var r,i,o,a,g,c;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==A&&void 0!==A&&null!==(r=A.gltf)&&void 0!==r&&r.decompressMeshes){e.next=2;break}return e.abrupt("return");case 2:i=new _(t),o=[],a=Object(p.a)(V(i));try{for(a.s();!(g=a.n()).done;)c=g.value,i.getObjectExtension(c,"KHR_draco_mesh_compression")&&o.push(Y(i,c,A,n))}catch(s){a.e(s)}finally{a.f()}return e.next=8,Promise.all(o);case 8:i.removeExtension("KHR_draco_mesh_compression");case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function H(e){var t,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new _(e),r=Object(p.a)(n.json.meshes||[]);try{for(r.s();!(t=r.n()).done;){var i=t.value;j(i,A),n.addRequiredExtension("KHR_draco_mesh_compression")}}catch(o){r.e(o)}finally{r.f()}}function Y(e,t,A,n){return J.apply(this,arguments)}function J(){return(J=Object(c.a)(s.a.mark((function e(t,A,n,r){var i,o,a,c,u,l,C,h,f,B,p,Q,y,v;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.getObjectExtension(A,"KHR_draco_mesh_compression")){e.next=3;break}return e.abrupt("return");case 3:return o=t.getTypedArrayForBufferView(i.bufferView),a=Object(I.c)(o.buffer,o.byteOffset),c=r.parse,delete(u=Object(g.a)({},n))["3d-tiles"],e.next=10,c(a,E.a,u,r);case 10:for(l=e.sent,C=M(l.attributes),h=0,f=Object.entries(C);h<f.length;h++)B=Object(d.a)(f[h],2),p=B[0],Q=B[1],p in A.attributes&&(y=A.attributes[p],null!==(v=t.getAccessor(y))&&void 0!==v&&v.min&&null!==v&&void 0!==v&&v.max&&(Q.min=v.min,Q.max=v.max));A.attributes=C,l.indices&&(A.indices=O(l.indices)),P(A);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function j(e,t){var A,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4,r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;if(!r.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");var o=r.DracoWriter.encodeSync({attributes:e}),a=null===i||void 0===i||null===(A=i.parseSync)||void 0===A?void 0:A.call(i,{attributes:e}),s=r._addFauxAttributes(a.attributes),g=r.addBufferView(o),c={primitives:[{attributes:s,mode:n,extensions:Object(B.a)({},"KHR_draco_mesh_compression",{bufferView:g,attributes:s})}]};return c}function P(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function V(e){var t,A,n,r,i,o;return s.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:t=Object(p.a)(e.json.meshes||[]),a.prev=1,t.s();case 3:if((A=t.n()).done){a.next=24;break}n=A.value,r=Object(p.a)(n.primitives),a.prev=6,r.s();case 8:if((i=r.n()).done){a.next=14;break}return o=i.value,a.next=12,o;case 12:a.next=8;break;case 14:a.next=19;break;case 16:a.prev=16,a.t0=a.catch(6),r.e(a.t0);case 19:return a.prev=19,r.f(),a.finish(19);case 22:a.next=3;break;case 24:a.next=29;break;case 26:a.prev=26,a.t1=a.catch(1),t.e(a.t1);case 29:return a.prev=29,t.f(),a.finish(29);case 32:case"end":return a.stop()}}),L,null,[[1,26,29,32],[6,16,19,22]])}function K(e){return W.apply(this,arguments)}function W(){return(W=Object(c.a)(s.a.mark((function e(t){var A,n,r,i,o;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:A=new _(t),n=A.json,A.removeExtension("KHR_materials_unlit"),r=Object(p.a)(n.materials||[]);try{for(r.s();!(i=r.n()).done;)o=i.value,o.extensions&&o.extensions.KHR_materials_unlit&&(o.unlit=!0),A.removeObjectExtension(o,"KHR_materials_unlit")}catch(a){r.e(a)}finally{r.f()}case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function X(e){var t=new _(e),A=t.json;if(t.materials){var n,r=Object(p.a)(A.materials||[]);try{for(r.s();!(n=r.n()).done;){var i=n.value;i.unlit&&(delete i.unlit,t.addObjectExtension(i,"KHR_materials_unlit",{}),t.addExtension("KHR_materials_unlit"))}}catch(o){r.e(o)}finally{r.f()}}}function q(e){return z.apply(this,arguments)}function z(){return(z=Object(c.a)(s.a.mark((function e(t){var A,n,r,i,o,a,g;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:A=new _(t),n=A.json,(r=A.getExtension("KHR_lights_punctual"))&&(A.json.lights=r.lights,A.removeExtension("KHR_lights_punctual")),i=Object(p.a)(n.nodes||[]);try{for(i.s();!(o=i.n()).done;)a=o.value,(g=A.getObjectExtension(a,"KHR_lights_punctual"))&&(a.light=g.light),A.removeObjectExtension(a,"KHR_lights_punctual")}catch(s){i.e(s)}finally{i.f()}case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function $(e){return ee.apply(this,arguments)}function ee(){return(ee=Object(c.a)(s.a.mark((function e(t){var A,n,r,i,o,a,g;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=new _(t),(n=A.json).lights&&(C(!(r=A.addExtension("KHR_lights_punctual")).lights),r.lights=n.lights,delete n.lights),A.json.lights){i=Object(p.a)(A.json.lights);try{for(i.s();!(o=i.n()).done;)a=o.value,g=a.node,A.addObjectExtension(g,"KHR_lights_punctual",a)}catch(s){i.e(s)}finally{i.f()}delete A.json.lights}case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function te(e){return Ae.apply(this,arguments)}function Ae(){return(Ae=Object(c.a)(s.a.mark((function e(t){var A,n,r,i,o,a,g,c;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=new _(t),n=A.json,r=A.getExtension("KHR_techniques_webgl")){i=ie(r,A),o=Object(p.a)(n.materials||[]);try{for(o.s();!(a=o.n()).done;)g=a.value,(c=A.getObjectExtension(g,"KHR_techniques_webgl"))&&(g.technique=Object.assign({},c,i[c.technique]),g.technique.values=oe(g.technique,A)),A.removeObjectExtension(g,"KHR_techniques_webgl")}catch(s){o.e(s)}finally{o.f()}A.removeExtension("KHR_techniques_webgl")}case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ne(e,t){return re.apply(this,arguments)}function re(){return(re=Object(c.a)(s.a.mark((function e(t,A){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ie(e,t){var A=e.programs,n=void 0===A?[]:A,r=e.shaders,i=void 0===r?[]:r,o=e.techniques,a=void 0===o?[]:o,s=new TextDecoder;return i.forEach((function(e){if(!Number.isFinite(e.bufferView))throw new Error("KHR_techniques_webgl: no shader code");e.code=s.decode(t.getTypedArrayForBufferView(e.bufferView))})),n.forEach((function(e){e.fragmentShader=i[e.fragmentShader],e.vertexShader=i[e.vertexShader]})),a.forEach((function(e){e.program=n[e.program]})),a}function oe(e,t){var A=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach((function(t){e.uniforms[t].value&&!(t in A)&&(A[t]=e.uniforms[t].value)})),Object.keys(A).forEach((function(e){"object"===typeof A[e]&&void 0!==A[e].index&&(A[e].texture=t.getTexture(A[e].index))})),A}var ae={KHR_draco_mesh_compression:n,KHR_materials_unlit:r,KHR_lights_punctual:i,KHR_techniques_webgl:o};function se(e){return ge.apply(this,arguments)}function ge(){return(ge=Object(c.a)(s.a.mark((function e(t){var A,n,r,i,o,a,g=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:A=g.length>1&&void 0!==g[1]?g[1]:{},n=g.length>2?g[2]:void 0,e.t0=s.a.keys(ae);case 3:if((e.t1=e.t0()).done){e.next=13;break}if(r=e.t1.value,o=(null===A||void 0===A||null===(i=A.gltf)||void 0===i?void 0:i.excludeExtensions)||{},r in o&&!o[r]){e.next=11;break}return a=ae[r],e.next=11,a.decode(t,A,n);case 11:e.next=3;break;case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var ce,ue={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},le={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},Ie=function(){function e(t){Object(Q.a)(this,e),this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}return Object(y.a)(e,[{key:"normalize",value:function(e,t){this.json=e.json;var A=e.json;switch(A.asset&&A.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn("glTF: Unknown version ".concat(A.asset.version))}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(A),this._convertTopLevelObjectsToArrays(A),function(e){var t,A=new _(e),n=A.json,r=Object(p.a)(n.images||[]);try{for(r.s();!(t=r.n()).done;){var i=t.value,o=A.removeObjectExtension(i,"KHR_binary_glTF");o&&Object.assign(i,o)}}catch(a){r.e(a)}finally{r.f()}n.buffers&&n.buffers[0]&&delete n.buffers[0].uri,A.removeExtension("KHR_binary_glTF")}(e),this._convertObjectIdsToArrayIndices(A),this._updateObjects(A),this._updateMaterial(A)}},{key:"_addAsset",value:function(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}},{key:"_convertTopLevelObjectsToArrays",value:function(e){for(var t in ue)this._convertTopLevelObjectToArray(e,t)}},{key:"_convertTopLevelObjectToArray",value:function(e,t){var A=e[t];if(A&&!Array.isArray(A))for(var n in e[t]=[],A){var r=A[n];r.id=r.id||n;var i=e[t].length;e[t].push(r),this.idToIndexMap[t][n]=i}}},{key:"_convertObjectIdsToArrayIndices",value:function(e){for(var t in ue)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));var A,n=Object(p.a)(e.textures);try{for(n.s();!(A=n.n()).done;){var r=A.value;this._convertTextureIds(r)}}catch(C){n.e(C)}finally{n.f()}var i,o=Object(p.a)(e.meshes);try{for(o.s();!(i=o.n()).done;){var a=i.value;this._convertMeshIds(a)}}catch(C){o.e(C)}finally{o.f()}var s,g=Object(p.a)(e.nodes);try{for(g.s();!(s=g.n()).done;){var c=s.value;this._convertNodeIds(c)}}catch(C){g.e(C)}finally{g.f()}var u,l=Object(p.a)(e.scenes);try{for(l.s();!(u=l.n()).done;){var I=u.value;this._convertSceneIds(I)}}catch(C){l.e(C)}finally{l.f()}}},{key:"_convertTextureIds",value:function(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}},{key:"_convertMeshIds",value:function(e){var t,A=Object(p.a)(e.primitives);try{for(A.s();!(t=A.n()).done;){var n=t.value,r=n.attributes,i=n.indices,o=n.material;for(var a in r)r[a]=this._convertIdToIndex(r[a],"accessor");i&&(n.indices=this._convertIdToIndex(i,"accessor")),o&&(n.material=this._convertIdToIndex(o,"material"))}}catch(s){A.e(s)}finally{A.f()}}},{key:"_convertNodeIds",value:function(e){var t=this;e.children&&(e.children=e.children.map((function(e){return t._convertIdToIndex(e,"node")}))),e.meshes&&(e.meshes=e.meshes.map((function(e){return t._convertIdToIndex(e,"mesh")})))}},{key:"_convertSceneIds",value:function(e){var t=this;e.nodes&&(e.nodes=e.nodes.map((function(e){return t._convertIdToIndex(e,"node")})))}},{key:"_convertIdsToIndices",value:function(e,t){e[t]||(console.warn("gltf v1: json doesn't contain attribute ".concat(t)),e[t]=[]);var A,n=Object(p.a)(e[t]);try{for(n.s();!(A=n.n()).done;){var r=A.value;for(var i in r){var o=r[i],a=this._convertIdToIndex(o,i);r[i]=a}}}catch(s){n.e(s)}finally{n.f()}}},{key:"_convertIdToIndex",value:function(e,t){var A=le[t];if(A in this.idToIndexMap){var n=this.idToIndexMap[A][e];if(!Number.isFinite(n))throw new Error("gltf v1: failed to resolve ".concat(t," with id ").concat(e));return n}return e}},{key:"_updateObjects",value:function(e){var t,A=Object(p.a)(this.json.buffers);try{for(A.s();!(t=A.n()).done;){delete t.value.type}}catch(n){A.e(n)}finally{A.f()}}},{key:"_updateMaterial",value:function(e){var t,A=Object(p.a)(e.materials);try{var n=function(){var A=t.value;A.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};var n=A.values&&A.values.tex,r=e.textures.findIndex((function(e){return e.id===n}));-1!==r&&(A.pbrMetallicRoughness.baseColorTexture={index:r})};for(A.s();!(t=A.n()).done;)n()}catch(r){A.e(r)}finally{A.f()}}}]),e}();function Ce(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(new Ie).normalize(e,t)}var he={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},fe={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},de={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},Be={magFilter:de.TEXTURE_MAG_FILTER,minFilter:de.TEXTURE_MIN_FILTER,wrapS:de.TEXTURE_WRAP_S,wrapT:de.TEXTURE_WRAP_T},pe=(ce={},Object(B.a)(ce,de.TEXTURE_MAG_FILTER,de.LINEAR),Object(B.a)(ce,de.TEXTURE_MIN_FILTER,de.NEAREST_MIPMAP_LINEAR),Object(B.a)(ce,de.TEXTURE_WRAP_S,de.REPEAT),Object(B.a)(ce,de.TEXTURE_WRAP_,de.REPEAT),ce);var Ee=function(){function e(){Object(Q.a)(this,e)}return Object(y.a)(e,[{key:"postProcess",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=e.json,n=e.buffers,r=void 0===n?[]:n,i=e.images,o=void 0===i?[]:i,a=e.baseUri,s=void 0===a?"":a;return C(A),this.baseUri=s,this.json=A,this.buffers=r,this.images=o,this._resolveTree(this.json,t),this.json}},{key:"_resolveTree",value:function(e){var t=this;arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.bufferViews&&(e.bufferViews=e.bufferViews.map((function(e,A){return t._resolveBufferView(e,A)}))),e.images&&(e.images=e.images.map((function(e,A){return t._resolveImage(e,A)}))),e.samplers&&(e.samplers=e.samplers.map((function(e,A){return t._resolveSampler(e,A)}))),e.textures&&(e.textures=e.textures.map((function(e,A){return t._resolveTexture(e,A)}))),e.accessors&&(e.accessors=e.accessors.map((function(e,A){return t._resolveAccessor(e,A)}))),e.materials&&(e.materials=e.materials.map((function(e,A){return t._resolveMaterial(e,A)}))),e.meshes&&(e.meshes=e.meshes.map((function(e,A){return t._resolveMesh(e,A)}))),e.nodes&&(e.nodes=e.nodes.map((function(e,A){return t._resolveNode(e,A)}))),e.skins&&(e.skins=e.skins.map((function(e,A){return t._resolveSkin(e,A)}))),e.scenes&&(e.scenes=e.scenes.map((function(e,A){return t._resolveScene(e,A)}))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}},{key:"getScene",value:function(e){return this._get("scenes",e)}},{key:"getNode",value:function(e){return this._get("nodes",e)}},{key:"getSkin",value:function(e){return this._get("skins",e)}},{key:"getMesh",value:function(e){return this._get("meshes",e)}},{key:"getMaterial",value:function(e){return this._get("materials",e)}},{key:"getAccessor",value:function(e){return this._get("accessors",e)}},{key:"getCamera",value:function(e){return null}},{key:"getTexture",value:function(e){return this._get("textures",e)}},{key:"getSampler",value:function(e){return this._get("samplers",e)}},{key:"getImage",value:function(e){return this._get("images",e)}},{key:"getBufferView",value:function(e){return this._get("bufferViews",e)}},{key:"getBuffer",value:function(e){return this._get("buffers",e)}},{key:"_get",value:function(e,t){if("object"===typeof t)return t;var A=this.json[e]&&this.json[e][t];return A||console.warn("glTF file error: Could not find ".concat(e,"[").concat(t,"]")),A}},{key:"_resolveScene",value:function(e,t){var A=this;return e.id=e.id||"scene-".concat(t),e.nodes=(e.nodes||[]).map((function(e){return A.getNode(e)})),e}},{key:"_resolveNode",value:function(e,t){var A=this;return e.id=e.id||"node-".concat(t),e.children&&(e.children=e.children.map((function(e){return A.getNode(e)}))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((function(e,t){var n=A.getMesh(t);return e.id=n.id,e.primitives=e.primitives.concat(n.primitives),e}),{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}},{key:"_resolveSkin",value:function(e,t){return e.id=e.id||"skin-".concat(t),e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}},{key:"_resolveMesh",value:function(e,t){var A=this;return e.id=e.id||"mesh-".concat(t),e.primitives&&(e.primitives=e.primitives.map((function(e){var t=(e=Object(g.a)({},e)).attributes;for(var n in e.attributes={},t)e.attributes[n]=A.getAccessor(t[n]);return void 0!==e.indices&&(e.indices=A.getAccessor(e.indices)),void 0!==e.material&&(e.material=A.getMaterial(e.material)),e}))),e}},{key:"_resolveMaterial",value:function(e,t){if(e.id=e.id||"material-".concat(t),e.normalTexture&&(e.normalTexture=Object(g.a)({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=Object(g.a)({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=Object(g.a)({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=Object(g.a)({},e.pbrMetallicRoughness);var A=e.pbrMetallicRoughness;A.baseColorTexture&&(A.baseColorTexture=Object(g.a)({},A.baseColorTexture),A.baseColorTexture.texture=this.getTexture(A.baseColorTexture.index)),A.metallicRoughnessTexture&&(A.metallicRoughnessTexture=Object(g.a)({},A.metallicRoughnessTexture),A.metallicRoughnessTexture.texture=this.getTexture(A.metallicRoughnessTexture.index))}return e}},{key:"_resolveAccessor",value:function(e,t){var A,n;if(e.id=e.id||"accessor-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=(A=e.componentType,fe[A]),e.components=(n=e.type,he[n]),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){var r=e.bufferView.buffer,i=N(e,e.bufferView),o=i.ArrayType,a=i.byteLength,s=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+r.byteOffset,g=r.arrayBuffer.slice(s,s+a);e.value=new o(g)}return e}},{key:"_resolveTexture",value:function(e,t){return e.id=e.id||"texture-".concat(t),e.sampler="sampler"in e?this.getSampler(e.sampler):pe,e.source=this.getImage(e.source),e}},{key:"_resolveSampler",value:function(e,t){for(var A in e.id=e.id||"sampler-".concat(t),e.parameters={},e){var n=this._enumSamplerParameter(A);void 0!==n&&(e.parameters[n]=e[A])}return e}},{key:"_enumSamplerParameter",value:function(e){return Be[e]}},{key:"_resolveImage",value:function(e,t){e.id=e.id||"image-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));var A=this.images[t];return A&&(e.image=A),e}},{key:"_resolveBufferView",value:function(e,t){e.id=e.id||"bufferView-".concat(t);var A=e.buffer;e.buffer=this.buffers[A];var n=this.buffers[A].arrayBuffer,r=this.buffers[A].byteOffset||0;return"byteOffset"in e&&(r+=e.byteOffset),e.data=new Uint8Array(n,r,e.byteLength),e}},{key:"_resolveCamera",value:function(e,t){return e.id=e.id||"camera-".concat(t),e.perspective,e.orthographic,e}}]),e}();function Qe(e,t){return(new Ee).postProcess(e,t)}var ye=A(227);function ve(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return"".concat(String.fromCharCode(e.getUint8(t+0))).concat(String.fromCharCode(e.getUint8(t+1))).concat(String.fromCharCode(e.getUint8(t+2))).concat(String.fromCharCode(e.getUint8(t+3)))}function me(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=new DataView(e),r=A.magic,i=void 0===r?1735152710:r,o=n.getUint32(t,!1);return o===i||1735152710===o}function be(e,t,A){Object(ye.a)(e.header.byteLength>20);var n=t.getUint32(A+0,!0),r=t.getUint32(A+4,!0);return A+=8,Object(ye.a)(0===r),Se(e,t,A,n),A+=n,A+=Fe(e,t,A,e.header.byteLength)}function we(e,t,A,n){return Object(ye.a)(e.header.byteLength>20),function(e,t,A,n){for(;A+8<=e.header.byteLength;){var r=t.getUint32(A+0,!0),i=t.getUint32(A+4,!0);switch(A+=8,i){case 1313821514:Se(e,t,A,r);break;case 5130562:Fe(e,t,A,r);break;case 0:n.strict||Se(e,t,A,r);break;case 1:n.strict||Fe(e,t,A,r)}A+=Object(b.b)(r,4)}}(e,t,A,n),A+e.header.byteLength}function Se(e,t,A,n){var r=new Uint8Array(t.buffer,A,n),i=new TextDecoder("utf8").decode(r);return e.json=JSON.parse(i),Object(b.b)(n,4)}function Fe(e,t,A,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:A,byteLength:n,arrayBuffer:t.buffer}),Object(b.b)(n,4)}function Re(e,t){return De.apply(this,arguments)}function De(){return(De=Object(c.a)(s.a.mark((function e(t,A){var n,r,i,o,a,g,c,u,l,I,C=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=C.length>2&&void 0!==C[2]?C[2]:0,r=C.length>3?C[3]:void 0,i=C.length>4?C[4]:void 0,Ge(t,A,n,r),Ce(t,{normalize:null===r||void 0===r||null===(o=r.gltf)||void 0===o?void 0:o.normalize}),u=[],null===r||void 0===r||null===(a=r.gltf)||void 0===a||!a.loadBuffers||!t.json.buffers){e.next=9;break}return e.next=9,ke(t,r,i);case 9:return null!==r&&void 0!==r&&null!==(g=r.gltf)&&void 0!==g&&g.loadImages&&(l=Ne(t,r,i),u.push(l)),I=se(t,r,i),u.push(I),e.next=14,Promise.all(u);case 14:return e.abrupt("return",null!==r&&void 0!==r&&null!==(c=r.gltf)&&void 0!==c&&c.postProcess?Qe(t,r):t);case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ge(e,t,A,n){(n.uri&&(e.baseUri=n.uri),t instanceof ArrayBuffer&&!me(t,A,n))&&(t=(new TextDecoder).decode(t));if("string"===typeof t)e.json=Object(l.a)(t);else if(t instanceof ArrayBuffer){var r={};A=function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],new DataView(t)),r=ve(n,A+0),i=n.getUint32(A+4,!0),o=n.getUint32(A+8,!0);switch(Object.assign(e,{header:{byteOffset:A,byteLength:o,hasBinChunk:!1},type:r,version:i,json:{},binChunks:[]}),A+=12,e.version){case 1:return be(e,n,A);case 2:return we(e,n,A,{});default:throw new Error("Invalid GLB version ".concat(e.version,". Only supports v1 and v2."))}}(r,t,A,n.glb),C("glTF"===r.type,"Invalid GLB magic string ".concat(r.type)),e._glb=r,e.json=r.json}else C(!1,"GLTF: must be ArrayBuffer or string");var i=e.json.buffers||[];if(e.buffers=new Array(i.length).fill(null),e._glb&&e._glb.header.hasBinChunk){var o=e._glb.binChunks;e.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}var a=e.json.images||[];e.images=new Array(a.length).fill({})}function ke(e,t,A){return xe.apply(this,arguments)}function xe(){return(xe=Object(c.a)(s.a.mark((function e(t,A,n){var r,i,o,a,g,c,u;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=0;case 1:if(!(r<t.json.buffers.length)){e.next=18;break}if(!(i=t.json.buffers[r]).uri){e.next=15;break}return C(n.fetch),g=h(i.uri,A),e.next=9,null===n||void 0===n||null===(o=n.fetch)||void 0===o?void 0:o.call(n,g);case 9:return c=e.sent,e.next=12,null===c||void 0===c||null===(a=c.arrayBuffer)||void 0===a?void 0:a.call(c);case 12:u=e.sent,t.buffers[r]={arrayBuffer:u,byteOffset:0,byteLength:u.byteLength},delete i.uri;case 15:++r,e.next=1;break;case 18:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ne(e,t,A){return Ue.apply(this,arguments)}function Ue(){return(Ue=Object(c.a)(s.a.mark((function e(t,A,n){var r,i,o;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=t.json.images||[],i=[],o=0;o<r.length;++o)i.push(_e(t,r[o],o,A,n));return e.next=5,Promise.all(i);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function _e(e,t,A,n,r){return Me.apply(this,arguments)}function Me(){return(Me=Object(c.a)(s.a.mark((function e(t,A,n,r,i){var o,a,g,c,l,d,B;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=i.fetch,a=i.parse,!A.uri){e.next=9;break}return c=h(A.uri,r),e.next=5,o(c);case 5:return l=e.sent,e.next=8,l.arrayBuffer();case 8:g=e.sent;case 9:return Number.isFinite(A.bufferView)&&(d=f(t.json,t.buffers,A.bufferView),g=Object(I.c)(d.buffer,d.byteOffset,d.byteLength)),C(g,"glTF image has no data"),e.next=13,a(g,u.a,{},i);case 13:B=e.sent,t.images[n]=B;case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}A.d(t,"a",(function(){return Oe}));var Oe={name:"glTF",id:"gltf",module:"gltf",version:"3.0.12",extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:function(e){return Le.apply(this,arguments)},options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0,postProcess:!0},log:console},deprecatedOptions:{fetchImages:"gltf.loadImages",createImages:"gltf.loadImages",decompress:"gltf.decompressMeshes",postProcess:"gltf.postProcess",gltf:{decompress:"gltf.decompressMeshes"}}};function Le(){return(Le=Object(c.a)(s.a.mark((function e(t){var A,n,r,i,o,a=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=a.length>1&&void 0!==a[1]?a[1]:{},n=a.length>2?a[2]:void 0,(A=Object(g.a)({},Oe.options,{},A)).gltf=Object(g.a)({},Oe.options.gltf,{},A.gltf),r=A.byteOffset,i=void 0===r?0:r,o={},e.next=8,Re(o,t,i,A,n);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},function(e,t,A){"use strict";var n=A(137),r=A(14),i=(A(13),A(174));function o(e,t){var A={};return Object.keys(e).forEach((function(n){-1===t.indexOf(n)&&(A[n]=e[n])})),A}function a(e){var t=function(t){var A=e(t);return t.css?Object(r.a)({},Object(i.a)(A,e(Object(r.a)({theme:t.theme},t.css))),o(t.css,[e.filterProps])):t.sx?Object(r.a)({},Object(i.a)(A,e(Object(r.a)({theme:t.theme},t.sx))),o(t.sx,[e.filterProps])):A};return t.propTypes={},t.filterProps=["css","sx"].concat(Object(n.a)(e.filterProps)),t}var s=a;var g=function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];var n=function(e){return t.reduce((function(t,A){var n=A(e);return n?Object(i.a)(t,n):t}),{})};return n.propTypes={},n.filterProps=t.reduce((function(e,t){return e.concat(t.filterProps)}),[]),n},c=A(25),u=A(401);function l(e,t){return t&&"string"===typeof t?t.split(".").reduce((function(e,t){return e&&e[t]?e[t]:null}),e):null}var I=function(e){var t=e.prop,A=e.cssProperty,n=void 0===A?e.prop:A,r=e.themeKey,i=e.transform,o=function(e){if(null==e[t])return null;var A=e[t],o=l(e.theme,r)||{};return Object(u.a)(e,A,(function(e){var t;return"function"===typeof o?t=o(e):Array.isArray(o)?t=o[e]||e:(t=l(o,e)||e,i&&(t=i(t))),!1===n?t:Object(c.a)({},n,t)}))};return o.propTypes={},o.filterProps=[t],o};function C(e){return"number"!==typeof e?e:"".concat(e,"px solid")}var h=g(I({prop:"border",themeKey:"borders",transform:C}),I({prop:"borderTop",themeKey:"borders",transform:C}),I({prop:"borderRight",themeKey:"borders",transform:C}),I({prop:"borderBottom",themeKey:"borders",transform:C}),I({prop:"borderLeft",themeKey:"borders",transform:C}),I({prop:"borderColor",themeKey:"palette"}),I({prop:"borderRadius",themeKey:"shape"})),f=g(I({prop:"displayPrint",cssProperty:!1,transform:function(e){return{"@media print":{display:e}}}}),I({prop:"display"}),I({prop:"overflow"}),I({prop:"textOverflow"}),I({prop:"visibility"}),I({prop:"whiteSpace"})),d=g(I({prop:"flexBasis"}),I({prop:"flexDirection"}),I({prop:"flexWrap"}),I({prop:"justifyContent"}),I({prop:"alignItems"}),I({prop:"alignContent"}),I({prop:"order"}),I({prop:"flex"}),I({prop:"flexGrow"}),I({prop:"flexShrink"}),I({prop:"alignSelf"}),I({prop:"justifyItems"}),I({prop:"justifySelf"})),B=g(I({prop:"gridGap"}),I({prop:"gridColumnGap"}),I({prop:"gridRowGap"}),I({prop:"gridColumn"}),I({prop:"gridRow"}),I({prop:"gridAutoFlow"}),I({prop:"gridAutoColumns"}),I({prop:"gridAutoRows"}),I({prop:"gridTemplateColumns"}),I({prop:"gridTemplateRows"}),I({prop:"gridTemplateAreas"}),I({prop:"gridArea"})),p=g(I({prop:"position"}),I({prop:"zIndex",themeKey:"zIndex"}),I({prop:"top"}),I({prop:"right"}),I({prop:"bottom"}),I({prop:"left"})),E=g(I({prop:"color",themeKey:"palette"}),I({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette"})),Q=I({prop:"boxShadow",themeKey:"shadows"});function y(e){return e<=1?"".concat(100*e,"%"):e}var v=I({prop:"width",transform:y}),m=I({prop:"maxWidth",transform:y}),b=I({prop:"minWidth",transform:y}),w=I({prop:"height",transform:y}),S=I({prop:"maxHeight",transform:y}),F=I({prop:"minHeight",transform:y}),R=(I({prop:"size",cssProperty:"width",transform:y}),I({prop:"size",cssProperty:"height",transform:y}),g(v,m,b,w,S,F,I({prop:"boxSizing"}))),D=A(1297),G=g(I({prop:"fontFamily",themeKey:"typography"}),I({prop:"fontSize",themeKey:"typography"}),I({prop:"fontStyle",themeKey:"typography"}),I({prop:"fontWeight",themeKey:"typography"}),I({prop:"letterSpacing"}),I({prop:"lineHeight"}),I({prop:"textAlign"})),k=A(21),x=A(0),N=A.n(x),U=A(19),_=A(413),M=A.n(_),O=A(1164);function L(e,t){var A={};return Object.keys(e).forEach((function(n){-1===t.indexOf(n)&&(A[n]=e[n])})),A}var T=A(205),Z=function(e){var t=function(e){return function(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=A.name,i=Object(k.a)(A,["name"]);var o,a=n,s="function"===typeof t?function(e){return{root:function(A){return t(Object(r.a)({theme:e},A))}}}:{root:t},g=Object(O.a)(s,Object(r.a)({Component:e,name:n||e.displayName,classNamePrefix:a},i));t.filterProps&&(o=t.filterProps,delete t.filterProps),t.propTypes&&(t.propTypes,delete t.propTypes);var c=N.a.forwardRef((function(t,A){var n=t.children,i=t.className,a=t.clone,s=t.component,c=Object(k.a)(t,["children","className","clone","component"]),u=g(t),l=Object(U.a)(u.root,i),I=c;if(o&&(I=L(I,o)),a)return N.a.cloneElement(n,Object(r.a)({className:Object(U.a)(n.props.className,l)},I));if("function"===typeof n)return n(Object(r.a)({className:l},I));var C=s||e;return N.a.createElement(C,Object(r.a)({ref:A,className:l},I),n)}));return M()(c,e),c}}(e);return function(e,A){return t(e,Object(r.a)({defaultTheme:T.a},A))}},H=s(g(h,f,d,B,p,E,Q,R,D.b,G)),Y=Z("div")(H,{name:"MuiBox"});t.a=Y},function(e,t,A){"use strict";var n=A(3),r=A.n(n),i=A(12),o=A(55),a=A(176),s=A(178),g=A(115),c=A(377);function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.a;Object(g.a)(e,"no worker provided");var A=e.version;return!(!t||!A)}var l=A(508),I=A(464),C=r.a.mark(h);function h(e,t){var A,n,i,o,a;return r.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:A=(null===t||void 0===t?void 0:t.chunkSize)||262144,n=0,i=new TextEncoder;case 3:if(!(n<e.length)){r.next=11;break}return o=Math.min(e.length-n,A),a=e.slice(n,n+o),n+=o,r.next=9,i.encode(a);case 9:r.next=3;break;case 11:case"end":return r.stop()}}),C)}var f=r.a.mark(d);function d(e){var t,A,n,i,o,a,s,g=arguments;return r.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:t=g.length>1&&void 0!==g[1]?g[1]:{},A=t.chunkSize,n=void 0===A?262144:A,i=0;case 3:if(!(i<e.byteLength)){r.next=14;break}return o=Math.min(e.byteLength-i,n),a=new ArrayBuffer(o),s=new Uint8Array(e,i,o),new Uint8Array(a).set(s),i+=o,r.next=12,a;case 12:r.next=3;break;case 14:case"end":return r.stop()}}),f)}function B(e){this.wrapped=e}function p(e){return new B(e)}function E(e){var t,A;function n(t,A){try{var i=e[t](A),o=i.value,a=o instanceof B;Promise.resolve(a?o.wrapped:o).then((function(e){a?n("return"===t?"return":"next",e):r(i.done?"return":"normal",e)}),(function(e){n("throw",e)}))}catch(s){r("throw",s)}}function r(e,r){switch(e){case"return":t.resolve({value:r,done:!0});break;case"throw":t.reject(r);break;default:t.resolve({value:r,done:!1})}(t=t.next)?n(t.key,t.arg):A=null}this._invoke=function(e,r){return new Promise((function(i,o){var a={key:e,arg:r,resolve:i,reject:o,next:null};A?A=A.next=a:(t=A=a,n(e,r))}))},"function"!==typeof e.return&&(this.return=void 0)}function Q(e){return function(){return new E(e.apply(this,arguments))}}"function"===typeof Symbol&&Symbol.asyncIterator&&(E.prototype[Symbol.asyncIterator]=function(){return this}),E.prototype.next=function(e){return this._invoke("next",e)},E.prototype.throw=function(e){return this._invoke("throw",e)},E.prototype.return=function(e){return this._invoke("return",e)};function y(){return(y=Q(r.a.mark((function e(t,A){var n,i,o,a;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=(null===A||void 0===A?void 0:A.chunkSize)||1048576,i=0;case 2:if(!(i<t.size)){e.next=12;break}return o=i+n,e.next=6,p(t.slice(i,o).arrayBuffer());case 6:return a=e.sent,i=o,e.next=10,a;case 10:e.next=2;break;case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var v=A(228),m=A(189),b=A(194);function w(e,t){return m.b?function(e,t){return S.apply(this,arguments)}(e,t):function(e,t){return F.apply(this,arguments)}(e,t)}function S(){return(S=Q(r.a.mark((function e(t,A){var n,i,o,a,s,g;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.getReader(),e.prev=1;case 2:return o=i||n.read(),null!==A&&void 0!==A&&A._streamReadAhead&&(i=n.read()),e.next=7,p(o);case 7:if(a=e.sent,s=a.done,g=a.value,!s){e.next=12;break}return e.abrupt("return");case 12:return e.next=14,Object(b.d)(g);case 14:e.next=2;break;case 16:e.next=21;break;case 18:e.prev=18,e.t0=e.catch(1),n.releaseLock();case 21:case"end":return e.stop()}}),e,null,[[1,18]])})))).apply(this,arguments)}function F(){return(F=Q(r.a.mark((function e(t,A){var n,i,o,a,s,g,c;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=!0,i=!1,e.prev=2,a=Object(v.a)(t);case 4:return e.next=6,p(a.next());case 6:return s=e.sent,n=s.done,e.next=10,p(s.value);case 10:if(g=e.sent,n){e.next=18;break}return c=g,e.next=15,Object(b.d)(c);case 15:n=!0,e.next=4;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(2),i=!0,o=e.t0;case 24:if(e.prev=24,e.prev=25,n||null==a.return){e.next=29;break}return e.next=29,p(a.return());case 29:if(e.prev=29,!i){e.next=32;break}throw o;case 32:return e.finish(29);case 33:return e.finish(24);case 34:case"end":return e.stop()}}),e,null,[[2,20,24,34],[25,,29,33]])})))).apply(this,arguments)}function R(e,t){if("string"===typeof e)return h(e,t);if(e instanceof ArrayBuffer)return d(e,t);if(Object(o.b)(e))return function(e,t){return y.apply(this,arguments)}(e,t);if(Object(o.h)(e))return w(e,t);if(Object(o.i)(e))return w(e.body,t);throw new Error("makeIterator")}var D=A(234),G="Cannot convert supplied data type";function k(e,t,A){if(t.text&&"string"===typeof e)return e;if(Object(o.c)(e)&&(e=e.buffer),e instanceof ArrayBuffer){var n=e;return t.text&&!t.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(e)){if(t.text&&!t.binary)return new TextDecoder("utf8").decode(e);var r=e.buffer,i=e.byteLength||e.length;return 0===e.byteOffset&&i===r.byteLength||(r=r.slice(e.byteOffset,e.byteOffset+i)),r}throw new Error(G)}function x(e,t,A){return N.apply(this,arguments)}function N(){return(N=Object(i.a)(r.a.mark((function e(t,A,n){var i,a;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t instanceof ArrayBuffer||ArrayBuffer.isView(t),"string"!==typeof t&&!i){e.next=3;break}return e.abrupt("return",k(t,A));case 3:if(!Object(o.b)(t)){e.next=7;break}return e.next=6,Object(D.b)(t);case 6:t=e.sent;case 7:if(!Object(o.i)(t)){e.next=21;break}return a=t,e.next=11,Object(D.a)(a);case 11:if(!A.binary){e.next=17;break}return e.next=14,a.arrayBuffer();case 14:e.t0=e.sent,e.next=20;break;case 17:return e.next=19,a.text();case 19:e.t0=e.sent;case 20:return e.abrupt("return",e.t0);case 21:if(Object(o.h)(t)&&(t=R(t,n)),!Object(o.d)(t)&&!Object(o.a)(t)){e.next=24;break}return e.abrupt("return",Object(I.a)(t));case 24:throw new Error(G);case 25:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var U=A(11),_=A(7);function M(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(A)return A;var n=Object(_.a)({fetch:Object(s.a)(t,e)},e);return Array.isArray(n.loaders)||(n.loaders=null),n}function O(e,t){if(!t&&e&&!Array.isArray(e))return e;var A;if(e&&(A=Array.isArray(e)?e:[e]),t&&t.loaders){var n=Array.isArray(t.loaders)?t.loaders:[t.loaders];A=A?[].concat(Object(U.a)(A),Object(U.a)(n)):n}return A&&A.length?A:null}var L=A(209),T=A(6),Z=A(666),H=/\.([^.]+)$/;function Y(e){return J.apply(this,arguments)}function J(){return(J=Object(i.a)(r.a.mark((function e(t){var A,n,i,a,s=arguments;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=s.length>1&&void 0!==s[1]?s[1]:[],n=s.length>2?s[2]:void 0,i=s.length>3?s[3]:void 0,V(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(!(a=j(t,A,Object(_.a)({},n,{nothrow:!0}),i))){e.next=8;break}return e.abrupt("return",a);case 8:if(!Object(o.b)(t)){e.next=13;break}return e.next=11,t.slice(0,10).arrayBuffer();case 11:t=e.sent,a=j(t,A,n,i);case 13:if(a||null!==n&&void 0!==n&&n.nothrow){e.next=15;break}throw new Error(K(t));case 15:return e.abrupt("return",a);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function j(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],A=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0;if(!V(e))return null;if(t&&!Array.isArray(t))return Object(a.b)(t);var r,i=[];(t&&(i=i.concat(t)),null!==A&&void 0!==A&&A.ignoreRegisteredLoaders)||(r=i).push.apply(r,Object(U.a)(Object(Z.a)()));W(i);var o=P(e,i,A,n);if(!o&&(null===A||void 0===A||!A.nothrow))throw new Error(K(e));return o}function P(e,t,A,n){var r=Object(L.b)(e),i=r.url,o=r.type,a=i||(null===n||void 0===n?void 0:n.url),s=null;return null!==A&&void 0!==A&&A.mimeType&&(s=X(t,null===A||void 0===A?void 0:A.mimeType)),s=(s=(s=(s=s||function(e,t){var A=t&&H.exec(t),n=A&&A[1];return n?function(e,t){t=t.toLowerCase();var A,n=Object(T.a)(e);try{for(n.s();!(A=n.n()).done;){var r,i=A.value,o=Object(T.a)(i.extensions);try{for(o.s();!(r=o.n()).done;){if(r.value.toLowerCase()===t)return i}}catch(a){o.e(a)}finally{o.f()}}}catch(a){n.e(a)}finally{n.f()}return null}(e,n):null}(t,a))||X(t,o))||function(e,t){if(!t)return null;var A,n=Object(T.a)(e);try{for(n.s();!(A=n.n()).done;){var r=A.value;if("string"===typeof t){if(q(t,r))return r}else if(ArrayBuffer.isView(t)){if(z(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer){if(z(t,0,r))return r}}}catch(i){n.e(i)}finally{n.f()}return null}(t,e))||X(t,null===A||void 0===A?void 0:A.fallbackMimeType)}function V(e){return!(e instanceof Response&&204===e.status)}function K(e){var t=Object(L.b)(e),A=t.url,n=t.type,r="No valid loader found";return e&&(r+=' data: "'.concat(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;if("string"===typeof e)return e.slice(0,t);if(ArrayBuffer.isView(e))return $(e.buffer,e.byteOffset,t);if(e instanceof ArrayBuffer){var A=0;return $(e,A,t)}return""}(e),'", contentType: "').concat(n,'"')),A&&(r+=" url: ".concat(A)),r}function W(e){var t,A=Object(T.a)(e);try{for(A.s();!(t=A.n()).done;){var n=t.value;Object(a.b)(n)}}catch(r){A.e(r)}finally{A.f()}}function X(e,t){var A,n=Object(T.a)(e);try{for(n.s();!(A=n.n()).done;){var r=A.value;if(r.mimeTypes&&r.mimeTypes.includes(t))return r;if(t==="application/x.".concat(r.id))return r}}catch(i){n.e(i)}finally{n.f()}return null}function q(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some((function(t){return e.startsWith(t)}))}function z(e,t,A){return(Array.isArray(A.tests)?A.tests:[A.tests]).some((function(n){return function(e,t,A,n){if(n instanceof ArrayBuffer)return Object(b.a)(n,e,n.byteLength);switch(typeof n){case"function":return n(e,A);case"string":var r=$(e,t,n.length);return n===r;default:return!1}}(e,t,A,n)}))}function $(e,t,A){if(e.byteLength<t+A)return"";for(var n=new DataView(e),r="",i=0;i<A;i++)r+=String.fromCharCode(n.getUint8(t+i));return r}function ee(e,t,A,n){return te.apply(this,arguments)}function te(){return(te=Object(i.a)(r.a.mark((function e(t,A,n,i){var o,c,u,l;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Object(g.a)(!i||"object"===typeof i),!A||Array.isArray(A)||Object(a.a)(A)||(i=void 0,n=A,A=void 0),e.next=4,t;case 4:return t=e.sent,n=n||{},o=Object(L.b)(t),c=o.url,u=O(A,i),e.next=11,Y(t,u,n);case 11:if(l=e.sent){e.next=14;break}return e.abrupt("return",null);case 14:return n=Object(s.c)(n,l,u,c),i=M({url:c,parse:ee,loaders:u},n,i),e.next=18,Ae(l,t,n,i);case 18:return e.abrupt("return",e.sent);case 19:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ae(e,t,A,n){return ne.apply(this,arguments)}function ne(){return(ne=Object(i.a)(r.a.mark((function e(t,A,n,i){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u(t),e.next=3,x(A,t,n);case 3:if(A=e.sent,!t.parseTextSync||"string"!==typeof A){e.next=7;break}return n.dataType="text",e.abrupt("return",t.parseTextSync(A,n,i,t));case 7:if(!Object(l.a)(t,n)){e.next=11;break}return e.next=10,Object(l.b)(t,A,n,i,ee);case 10:return e.abrupt("return",e.sent);case 11:if(!t.parseText||"string"!==typeof A){e.next=15;break}return e.next=14,t.parseText(A,n,i,t);case 14:return e.abrupt("return",e.sent);case 15:if(!t.parse){e.next=19;break}return e.next=18,t.parse(A,n,i,t);case 18:return e.abrupt("return",e.sent);case 19:throw Object(g.a)(!t.parseSync),new Error("".concat(t.id," loader - no parser found and worker is disabled"));case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function re(e,t,A,n){return ie.apply(this,arguments)}function ie(){return(ie=Object(i.a)(r.a.mark((function e(t,A,n,i){var g,c;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Array.isArray(A)||Object(a.a)(A)||(void 0,n=A,A=void 0),g=Object(s.a)(n),c=t,"string"!==typeof t){e.next=7;break}return e.next=6,g(t);case 6:c=e.sent;case 7:if(!Object(o.b)(t)){e.next=11;break}return e.next=10,g(t);case 10:c=e.sent;case 11:return e.next=13,ee(c,A,n);case 13:return e.abrupt("return",e.sent);case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}A.d(t,"a",(function(){return re}))},function(e,t,A){"use strict";function n(e,t,A,n){if(isNaN(t)||isNaN(A))return e;var r,i,o,a,s,g,c,u,l,I=e._root,C={data:n},h=e._x0,f=e._y0,d=e._x1,B=e._y1;if(!I)return e._root=C,e;for(;I.length;)if((g=t>=(i=(h+d)/2))?h=i:d=i,(c=A>=(o=(f+B)/2))?f=o:B=o,r=I,!(I=I[u=c<<1|g]))return r[u]=C,e;if(a=+e._x.call(null,I.data),s=+e._y.call(null,I.data),t===a&&A===s)return C.next=I,r?r[u]=C:e._root=C,e;do{r=r?r[u]=new Array(4):e._root=new Array(4),(g=t>=(i=(h+d)/2))?h=i:d=i,(c=A>=(o=(f+B)/2))?f=o:B=o}while((u=c<<1|g)===(l=(s>=o)<<1|a>=i));return r[l]=I,r[u]=C,e}var r=function(e,t,A,n,r){this.node=e,this.x0=t,this.y0=A,this.x1=n,this.y1=r};function i(e){return e[0]}function o(e){return e[1]}function a(e,t,A){var n=new s(null==t?i:t,null==A?o:A,NaN,NaN,NaN,NaN);return null==e?n:n.addAll(e)}function s(e,t,A,n,r,i){this._x=e,this._y=t,this._x0=A,this._y0=n,this._x1=r,this._y1=i,this._root=void 0}function g(e){for(var t={data:e.data},A=t;e=e.next;)A=A.next={data:e.data};return t}A.d(t,"a",(function(){return a}));var c=a.prototype=s.prototype;c.copy=function(){var e,t,A=new s(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return A;if(!n.length)return A._root=g(n),A;for(e=[{source:n,target:A._root=new Array(4)}];n=e.pop();)for(var r=0;r<4;++r)(t=n.source[r])&&(t.length?e.push({source:t,target:n.target[r]=new Array(4)}):n.target[r]=g(t));return A},c.add=function(e){var t=+this._x.call(null,e),A=+this._y.call(null,e);return n(this.cover(t,A),t,A,e)},c.addAll=function(e){var t,A,r,i,o=e.length,a=new Array(o),s=new Array(o),g=1/0,c=1/0,u=-1/0,l=-1/0;for(A=0;A<o;++A)isNaN(r=+this._x.call(null,t=e[A]))||isNaN(i=+this._y.call(null,t))||(a[A]=r,s[A]=i,r<g&&(g=r),r>u&&(u=r),i<c&&(c=i),i>l&&(l=i));if(g>u||c>l)return this;for(this.cover(g,c).cover(u,l),A=0;A<o;++A)n(this,a[A],s[A],e[A]);return this},c.cover=function(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var A=this._x0,n=this._y0,r=this._x1,i=this._y1;if(isNaN(A))r=(A=Math.floor(e))+1,i=(n=Math.floor(t))+1;else{for(var o,a,s=r-A,g=this._root;A>e||e>=r||n>t||t>=i;)switch(a=(t<n)<<1|e<A,(o=new Array(4))[a]=g,g=o,s*=2,a){case 0:r=A+s,i=n+s;break;case 1:A=r-s,i=n+s;break;case 2:r=A+s,n=i-s;break;case 3:A=r-s,n=i-s}this._root&&this._root.length&&(this._root=g)}return this._x0=A,this._y0=n,this._x1=r,this._y1=i,this},c.data=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},c.extent=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},c.find=function(e,t,A){var n,i,o,a,s,g,c,u=this._x0,l=this._y0,I=this._x1,C=this._y1,h=[],f=this._root;for(f&&h.push(new r(f,u,l,I,C)),null==A?A=1/0:(u=e-A,l=t-A,I=e+A,C=t+A,A*=A);g=h.pop();)if(!(!(f=g.node)||(i=g.x0)>I||(o=g.y0)>C||(a=g.x1)<u||(s=g.y1)<l))if(f.length){var d=(i+a)/2,B=(o+s)/2;h.push(new r(f[3],d,B,a,s),new r(f[2],i,B,d,s),new r(f[1],d,o,a,B),new r(f[0],i,o,d,B)),(c=(t>=B)<<1|e>=d)&&(g=h[h.length-1],h[h.length-1]=h[h.length-1-c],h[h.length-1-c]=g)}else{var p=e-+this._x.call(null,f.data),E=t-+this._y.call(null,f.data),Q=p*p+E*E;if(Q<A){var y=Math.sqrt(A=Q);u=e-y,l=t-y,I=e+y,C=t+y,n=f.data}}return n},c.remove=function(e){if(isNaN(i=+this._x.call(null,e))||isNaN(o=+this._y.call(null,e)))return this;var t,A,n,r,i,o,a,s,g,c,u,l,I=this._root,C=this._x0,h=this._y0,f=this._x1,d=this._y1;if(!I)return this;if(I.length)for(;;){if((g=i>=(a=(C+f)/2))?C=a:f=a,(c=o>=(s=(h+d)/2))?h=s:d=s,t=I,!(I=I[u=c<<1|g]))return this;if(!I.length)break;(t[u+1&3]||t[u+2&3]||t[u+3&3])&&(A=t,l=u)}for(;I.data!==e;)if(n=I,!(I=I.next))return this;return(r=I.next)&&delete I.next,n?(r?n.next=r:delete n.next,this):t?(r?t[u]=r:delete t[u],(I=t[0]||t[1]||t[2]||t[3])&&I===(t[3]||t[2]||t[1]||t[0])&&!I.length&&(A?A[l]=I:this._root=I),this):(this._root=r,this)},c.removeAll=function(e){for(var t=0,A=e.length;t<A;++t)this.remove(e[t]);return this},c.root=function(){return this._root},c.size=function(){var e=0;return this.visit((function(t){if(!t.length)do{++e}while(t=t.next)})),e},c.visit=function(e){var t,A,n,i,o,a,s=[],g=this._root;for(g&&s.push(new r(g,this._x0,this._y0,this._x1,this._y1));t=s.pop();)if(!e(g=t.node,n=t.x0,i=t.y0,o=t.x1,a=t.y1)&&g.length){var c=(n+o)/2,u=(i+a)/2;(A=g[3])&&s.push(new r(A,c,u,o,a)),(A=g[2])&&s.push(new r(A,n,u,c,a)),(A=g[1])&&s.push(new r(A,c,i,o,u)),(A=g[0])&&s.push(new r(A,n,i,c,u))}return this},c.visitAfter=function(e){var t,A=[],n=[];for(this._root&&A.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));t=A.pop();){var i=t.node;if(i.length){var o,a=t.x0,s=t.y0,g=t.x1,c=t.y1,u=(a+g)/2,l=(s+c)/2;(o=i[0])&&A.push(new r(o,a,s,u,l)),(o=i[1])&&A.push(new r(o,u,s,g,l)),(o=i[2])&&A.push(new r(o,a,l,u,c)),(o=i[3])&&A.push(new r(o,u,l,g,c))}n.push(t)}for(;t=n.pop();)e(t.node,t.x0,t.y0,t.x1,t.y1);return this},c.x=function(e){return arguments.length?(this._x=e,this):this._x},c.y=function(e){return arguments.length?(this._y=e,this):this._y}},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=A.n(i),a=(A(13),A(1243)),s=A(102),g=Date.now(),c="fnValues"+g,u="fnStyle"+ ++g,l=function(){return{onCreateRule:function(e,t,A){if("function"!==typeof t)return null;var n=Object(s.c)(e,{},A);return n[u]=t,n},onProcessStyle:function(e,t){if(c in t||u in t)return e;var A={};for(var n in e){var r=e[n];"function"===typeof r&&(delete e[n],A[n]=r)}return t[c]=A,e},onUpdate:function(e,t,A,n){var r=t,i=r[u];i&&(r.style=i(e)||{});var o=r[c];if(o)for(var a in o)r.prop(a,o[a](e),n)}}},I="@global",C=function(){function e(e,t,A){for(var r in this.type="global",this.at=I,this.isProcessed=!1,this.key=e,this.options=A,this.rules=new s.a(Object(n.a)({},A,{parent:this})),t)this.rules.add(r,t[r]);this.rules.process()}var t=e.prototype;return t.getRule=function(e){return this.rules.get(e)},t.addRule=function(e,t,A){var n=this.rules.add(e,t,A);return n&&this.options.jss.plugins.onProcessRule(n),n},t.indexOf=function(e){return this.rules.indexOf(e)},t.toString=function(){return this.rules.toString()},e}(),h=function(){function e(e,t,A){this.type="global",this.at=I,this.isProcessed=!1,this.key=e,this.options=A;var r=e.substr("@global ".length);this.rule=A.jss.createRule(r,t,Object(n.a)({},A,{parent:this}))}return e.prototype.toString=function(e){return this.rule?this.rule.toString(e):""},e}(),f=/\s*,\s*/g;function d(e,t){for(var A=e.split(f),n="",r=0;r<A.length;r++)n+=t+" "+A[r].trim(),A[r+1]&&(n+=", ");return n}var B=function(){return{onCreateRule:function(e,t,A){if(!e)return null;if(e===I)return new C(e,t,A);if("@"===e[0]&&"@global "===e.substr(0,"@global ".length))return new h(e,t,A);var n=A.parent;return n&&("global"===n.type||n.options.parent&&"global"===n.options.parent.type)&&(A.scoped=!1),!1===A.scoped&&(A.selector=e),null},onProcessRule:function(e,t){"style"===e.type&&t&&(function(e,t){var A=e.options,r=e.style,i=r?r[I]:null;if(i){for(var o in i)t.addRule(o,i[o],Object(n.a)({},A,{selector:d(o,e.selector)}));delete r[I]}}(e,t),function(e,t){var A=e.options,r=e.style;for(var i in r)if("@"===i[0]&&i.substr(0,I.length)===I){var o=d(i.substr(I.length),e.selector);t.addRule(o,r[i],Object(n.a)({},A,{selector:o})),delete r[i]}}(e,t))}}},p=/\s*,\s*/g,E=/&/g,Q=/\$([\w-]+)/g;var y=function(){function e(e,t){return function(A,n){var r=e.getRule(n)||t&&t.getRule(n);return r?r.selector:n}}function t(e,t){for(var A=t.split(p),n=e.split(p),r="",i=0;i<A.length;i++)for(var o=A[i],a=0;a<n.length;a++){var s=n[a];r&&(r+=", "),r+=-1!==s.indexOf("&")?s.replace(E,o):o+" "+s}return r}function A(e,t,A){if(A)return Object(n.a)({},A,{index:A.index+1});var r=e.options.nestingLevel;r=void 0===r?1:r+1;var i=Object(n.a)({},e.options,{nestingLevel:r,index:t.indexOf(e)+1});return delete i.name,i}return{onProcessStyle:function(r,i,o){if("style"!==i.type)return r;var a,s,g=i,c=g.options.parent;for(var u in r){var l=-1!==u.indexOf("&"),I="@"===u[0];if(l||I){if(a=A(g,c,a),l){var C=t(u,g.selector);s||(s=e(c,o)),C=C.replace(Q,s),c.addRule(C,r[u],Object(n.a)({},a,{selector:C}))}else I&&c.addRule(u,{},a).addRule(g.key,r[u],{selector:g.selector});delete r[u]}}return r}}},v=/[A-Z]/g,m=/^ms-/,b={};function w(e){return"-"+e.toLowerCase()}var S=function(e){if(b.hasOwnProperty(e))return b[e];var t=e.replace(v,w);return b[e]=m.test(t)?"-"+t:t};function F(e){var t={};for(var A in e){t[0===A.indexOf("--")?A:S(A)]=e[A]}return e.fallbacks&&(Array.isArray(e.fallbacks)?t.fallbacks=e.fallbacks.map(F):t.fallbacks=F(e.fallbacks)),t}var R=function(){return{onProcessStyle:function(e){if(Array.isArray(e)){for(var t=0;t<e.length;t++)e[t]=F(e[t]);return e}return F(e)},onChangeValue:function(e,t,A){if(0===t.indexOf("--"))return e;var n=S(t);return t===n?e:(A.prop(n,e),null)}}},D=s.e&&CSS?CSS.px:"px",G=s.e&&CSS?CSS.ms:"ms",k=s.e&&CSS?CSS.percent:"%";function x(e){var t=/(-[a-z])/g,A=function(e){return e[1].toUpperCase()},n={};for(var r in e)n[r]=e[r],n[r.replace(t,A)]=e[r];return n}var N=x({"animation-delay":G,"animation-duration":G,"background-position":D,"background-position-x":D,"background-position-y":D,"background-size":D,border:D,"border-bottom":D,"border-bottom-left-radius":D,"border-bottom-right-radius":D,"border-bottom-width":D,"border-left":D,"border-left-width":D,"border-radius":D,"border-right":D,"border-right-width":D,"border-top":D,"border-top-left-radius":D,"border-top-right-radius":D,"border-top-width":D,"border-width":D,"border-block":D,"border-block-end":D,"border-block-end-width":D,"border-block-start":D,"border-block-start-width":D,"border-block-width":D,"border-inline":D,"border-inline-end":D,"border-inline-end-width":D,"border-inline-start":D,"border-inline-start-width":D,"border-inline-width":D,"border-start-start-radius":D,"border-start-end-radius":D,"border-end-start-radius":D,"border-end-end-radius":D,margin:D,"margin-bottom":D,"margin-left":D,"margin-right":D,"margin-top":D,"margin-block":D,"margin-block-end":D,"margin-block-start":D,"margin-inline":D,"margin-inline-end":D,"margin-inline-start":D,padding:D,"padding-bottom":D,"padding-left":D,"padding-right":D,"padding-top":D,"padding-block":D,"padding-block-end":D,"padding-block-start":D,"padding-inline":D,"padding-inline-end":D,"padding-inline-start":D,"mask-position-x":D,"mask-position-y":D,"mask-size":D,height:D,width:D,"min-height":D,"max-height":D,"min-width":D,"max-width":D,bottom:D,left:D,top:D,right:D,inset:D,"inset-block":D,"inset-block-end":D,"inset-block-start":D,"inset-inline":D,"inset-inline-end":D,"inset-inline-start":D,"box-shadow":D,"text-shadow":D,"column-gap":D,"column-rule":D,"column-rule-width":D,"column-width":D,"font-size":D,"font-size-delta":D,"letter-spacing":D,"text-decoration-thickness":D,"text-indent":D,"text-stroke":D,"text-stroke-width":D,"word-spacing":D,motion:D,"motion-offset":D,outline:D,"outline-offset":D,"outline-width":D,perspective:D,"perspective-origin-x":k,"perspective-origin-y":k,"transform-origin":k,"transform-origin-x":k,"transform-origin-y":k,"transform-origin-z":k,"transition-delay":G,"transition-duration":G,"vertical-align":D,"flex-basis":D,"shape-margin":D,size:D,gap:D,grid:D,"grid-gap":D,"row-gap":D,"grid-row-gap":D,"grid-column-gap":D,"grid-template-rows":D,"grid-template-columns":D,"grid-auto-rows":D,"grid-auto-columns":D,"box-shadow-x":D,"box-shadow-y":D,"box-shadow-blur":D,"box-shadow-spread":D,"font-line-height":D,"text-shadow-x":D,"text-shadow-y":D,"text-shadow-blur":D});function U(e,t,A){if(null==t)return t;if(Array.isArray(t))for(var n=0;n<t.length;n++)t[n]=U(e,t[n],A);else if("object"===typeof t)if("fallbacks"===e)for(var r in t)t[r]=U(r,t[r],A);else for(var i in t)t[i]=U(e+"-"+i,t[i],A);else if("number"===typeof t&&!1===isNaN(t)){var o=A[e]||N[e];return!o||0===t&&o===D?t.toString():"function"===typeof o?o(t).toString():""+t+o}return t}var _=function(e){void 0===e&&(e={});var t=x(e);return{onProcessStyle:function(e,A){if("style"!==A.type)return e;for(var n in e)e[n]=U(n,e[n],t);return e},onChangeValue:function(e,A){return U(A,e,t)}}},M=A(233),O=A(137),L="",T="",Z="",H="",Y=M.a&&"ontouchstart"in document.documentElement;if(M.a){var J={Moz:"-moz-",ms:"-ms-",O:"-o-",Webkit:"-webkit-"},j=document.createElement("p").style;for(var P in J)if(P+"Transform"in j){L=P,T=J[P];break}"Webkit"===L&&"msHyphens"in j&&(L="ms",T=J.ms,H="edge"),"Webkit"===L&&"-apple-trailing-word"in j&&(Z="apple")}var V=L,K=T,W=Z,X=H,q=Y;var z={noPrefill:["appearance"],supportedProperty:function(e){return"appearance"===e&&("ms"===V?"-webkit-"+e:K+e)}},$={noPrefill:["color-adjust"],supportedProperty:function(e){return"color-adjust"===e&&("Webkit"===V?K+"print-"+e:e)}},ee=/[-\s]+(.)?/g;function te(e,t){return t?t.toUpperCase():""}function Ae(e){return e.replace(ee,te)}function ne(e){return Ae("-"+e)}var re,ie={noPrefill:["mask"],supportedProperty:function(e,t){if(!/^mask/.test(e))return!1;if("Webkit"===V){if(Ae("mask-image")in t)return e;if(V+ne("mask-image")in t)return K+e}return e}},oe={noPrefill:["text-orientation"],supportedProperty:function(e){return"text-orientation"===e&&("apple"!==W||q?e:K+e)}},ae={noPrefill:["transform"],supportedProperty:function(e,t,A){return"transform"===e&&(A.transform?e:K+e)}},se={noPrefill:["transition"],supportedProperty:function(e,t,A){return"transition"===e&&(A.transition?e:K+e)}},ge={noPrefill:["writing-mode"],supportedProperty:function(e){return"writing-mode"===e&&("Webkit"===V||"ms"===V&&"edge"!==X?K+e:e)}},ce={noPrefill:["user-select"],supportedProperty:function(e){return"user-select"===e&&("Moz"===V||"ms"===V||"apple"===W?K+e:e)}},ue={supportedProperty:function(e,t){return!!/^break-/.test(e)&&("Webkit"===V?"WebkitColumn"+ne(e)in t&&K+"column-"+e:"Moz"===V&&("page"+ne(e)in t&&"page-"+e))}},le={supportedProperty:function(e,t){if(!/^(border|margin|padding)-inline/.test(e))return!1;if("Moz"===V)return e;var A=e.replace("-inline","");return V+ne(A)in t&&K+A}},Ie={supportedProperty:function(e,t){return Ae(e)in t&&e}},Ce={supportedProperty:function(e,t){var A=ne(e);return"-"===e[0]||"-"===e[0]&&"-"===e[1]?e:V+A in t?K+e:"Webkit"!==V&&"Webkit"+A in t&&"-webkit-"+e}},he={supportedProperty:function(e){return"scroll-snap"===e.substring(0,11)&&("ms"===V?""+K+e:e)}},fe={supportedProperty:function(e){return"overscroll-behavior"===e&&("ms"===V?K+"scroll-chaining":e)}},de={"flex-grow":"flex-positive","flex-shrink":"flex-negative","flex-basis":"flex-preferred-size","justify-content":"flex-pack",order:"flex-order","align-items":"flex-align","align-content":"flex-line-pack"},Be={supportedProperty:function(e,t){var A=de[e];return!!A&&(V+ne(A)in t&&K+A)}},pe={flex:"box-flex","flex-grow":"box-flex","flex-direction":["box-orient","box-direction"],order:"box-ordinal-group","align-items":"box-align","flex-flow":["box-orient","box-direction"],"justify-content":"box-pack"},Ee=Object.keys(pe),Qe=function(e){return K+e},ye=[z,$,ie,oe,ae,se,ge,ce,ue,le,Ie,Ce,he,fe,Be,{supportedProperty:function(e,t,A){var n=A.multiple;if(Ee.indexOf(e)>-1){var r=pe[e];if(!Array.isArray(r))return V+ne(r)in t&&K+r;if(!n)return!1;for(var i=0;i<r.length;i++)if(!(V+ne(r[0])in t))return!1;return r.map(Qe)}return!1}}],ve=ye.filter((function(e){return e.supportedProperty})).map((function(e){return e.supportedProperty})),me=ye.filter((function(e){return e.noPrefill})).reduce((function(e,t){return e.push.apply(e,Object(O.a)(t.noPrefill)),e}),[]),be={};if(M.a){re=document.createElement("p");var we=window.getComputedStyle(document.documentElement,"");for(var Se in we)isNaN(Se)||(be[we[Se]]=we[Se]);me.forEach((function(e){return delete be[e]}))}function Fe(e,t){if(void 0===t&&(t={}),!re)return e;if(null!=be[e])return be[e];"transition"!==e&&"transform"!==e||(t[e]=e in re.style);for(var A=0;A<ve.length&&(be[e]=ve[A](e,re.style,t),!be[e]);A++);try{re.style[e]=""}catch(n){return!1}return be[e]}var Re,De={},Ge={transition:1,"transition-property":1,"-webkit-transition":1,"-webkit-transition-property":1},ke=/(^\s*[\w-]+)|, (\s*[\w-]+)(?![^()]*\))/g;function xe(e,t,A){if("var"===t)return"var";if("all"===t)return"all";if("all"===A)return", all";var n=t?Fe(t):", "+Fe(A);return n||(t||A)}function Ne(e,t){var A=t;if(!Re||"content"===e)return t;if("string"!==typeof A||!isNaN(parseInt(A,10)))return A;var n=e+A;if(null!=De[n])return De[n];try{Re.style[e]=A}catch(r){return De[n]=!1,!1}if(Ge[e])A=A.replace(ke,xe);else if(""===Re.style[e]&&("-ms-flex"===(A=K+A)&&(Re.style[e]="-ms-flexbox"),Re.style[e]=A,""===Re.style[e]))return De[n]=!1,!1;return Re.style[e]="",De[n]=A,De[n]}M.a&&(Re=document.createElement("p"));var Ue=function(){function e(t){for(var A in t){var n=t[A];if("fallbacks"===A&&Array.isArray(n))t[A]=n.map(e);else{var r=!1,i=Fe(A);i&&i!==A&&(r=!0);var o=!1,a=Ne(i,Object(s.f)(n));a&&a!==n&&(o=!0),(r||o)&&(r&&delete t[A],t[i||A]=a||n)}}return t}return{onProcessRule:function(e){if("keyframes"===e.type){var t=e;t.at="-"===(A=t.at)[1]||"ms"===V?A:"@"+K+"keyframes"+A.substr(10)}var A},onProcessStyle:function(t,A){return"style"!==A.type?t:e(t)},onChangeValue:function(e,t){return Ne(t,Object(s.f)(e))||e}}};var _e=function(){var e=function(e,t){return e.length===t.length?e>t?1:-1:e.length-t.length};return{onProcessStyle:function(t,A){if("style"!==A.type)return t;for(var n={},r=Object.keys(t).sort(e),i=0;i<r.length;i++)n[r[i]]=t[r[i]];return n}}};function Me(){return{plugins:[l(),B(),y(),R(),_(),"undefined"===typeof window?null:Ue(),_e()]}}A.d(t,"a",(function(){return Ze})),A.d(t,"b",(function(){return He}));var Oe,Le=Object(s.b)(Me()),Te={disableGeneration:!1,generateClassName:Object(a.a)(),jss:Le,sheetsCache:null,sheetsManager:new Map,sheetsRegistry:null},Ze=o.a.createContext(Te);function He(e){var t=e.children,A=e.injectFirst,i=void 0!==A&&A,a=e.disableGeneration,g=void 0!==a&&a,c=Object(r.a)(e,["children","injectFirst","disableGeneration"]),u=o.a.useContext(Ze),l=Object(n.a)({},u,{disableGeneration:g},c);if(!l.jss.options.insertionPoint&&i&&"undefined"!==typeof window){if(!Oe){var I=document.head;Oe=document.createComment("mui-inject-first"),I.insertBefore(Oe,I.firstChild)}l.jss=Object(s.b)({plugins:Me().plugins,insertionPoint:Oe})}return o.a.createElement(Ze.Provider,{value:l},t)}},function(e,t,A){"use strict";var n=A(3),r=A.n(n),i=A(12);function o(e,t){if(!e)throw new Error(t)}var a=A(325),s=a.a._parseImageNode,g="undefined"!==typeof Image,c="undefined"!==typeof ImageBitmap,u=Boolean(s),l=!!a.b||u;function I(e){var t=h(e);if(!t)throw new Error("Not an image");return t}function C(e){switch(I(e)){case"data":return e;case"image":case"imagebitmap":var t=document.createElement("canvas"),A=t.getContext("2d");if(!A)throw new Error("getImageData");return t.width=e.width,t.height=e.height,A.drawImage(e,0,0),A.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function h(e){return"undefined"!==typeof ImageBitmap&&e instanceof ImageBitmap?"imagebitmap":"undefined"!==typeof Image&&e instanceof Image?"image":e&&"object"===typeof e&&e.data&&e.width&&e.height?"data":null}var f=/^data:image\/svg\+xml/,d=/\.svg((\?|#).*)?$/;function B(e){return e&&(f.test(e)||d.test(e))}function p(e,t){if(B(t)){var A=(new TextDecoder).decode(e);try{"function"===typeof unescape&&"function"===typeof encodeURIComponent&&(A=unescape(encodeURIComponent(A)))}catch(n){throw new Error(n.message)}return"data:image/svg+xml;base64,".concat(btoa(A))}return E(e,t)}function E(e,t){if(B(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}function Q(e,t,A){return y.apply(this,arguments)}function y(){return(y=Object(i.a)(r.a.mark((function e(t,A,n){var i,o,a;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=p(t,n),o=self.URL||self.webkitURL,a="string"!==typeof i&&o.createObjectURL(i),e.prev=3,e.next=6,v(a||i,A);case 6:return e.abrupt("return",e.sent);case 7:return e.prev=7,a&&o.revokeObjectURL(a),e.finish(7);case 10:case"end":return e.stop()}}),e,null,[[3,,7,10]])})))).apply(this,arguments)}function v(e,t){return m.apply(this,arguments)}function m(){return(m=Object(i.a)(r.a.mark((function e(t,A){var n;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((n=new Image).src=t,!(A.image&&A.image.decode&&n.decode)){e.next=6;break}return e.next=5,n.decode();case 5:return e.abrupt("return",n);case 6:return e.next=8,new Promise((function(e,A){try{n.onload=function(){return e(n)},n.onerror=function(e){return A(new Error("Could not load image ".concat(t,": ").concat(e)))}}catch(r){A(r)}}));case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var b={},w=!0;function S(e,t,A){return F.apply(this,arguments)}function F(){return(F=Object(i.a)(r.a.mark((function e(t,A,n){var i,o,a;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!B(n)){e.next=7;break}return e.next=3,Q(t,A,n);case 3:o=e.sent,i=o,e.next=8;break;case 7:i=E(t,n);case 8:return a=A&&A.imagebitmap,e.next=11,R(i,a);case 11:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function R(e){return D.apply(this,arguments)}function D(){return(D=Object(i.a)(r.a.mark((function e(t){var A,n=arguments;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!G(A=n.length>1&&void 0!==n[1]?n[1]:null)&&w||(A=null),!A){e.next=13;break}return e.prev=3,e.next=6,createImageBitmap(t,A);case 6:return e.abrupt("return",e.sent);case 9:e.prev=9,e.t0=e.catch(3),console.warn(e.t0),w=!1;case 13:return e.next=15,createImageBitmap(t);case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e,null,[[3,9]])})))).apply(this,arguments)}function G(e){for(var t in e||b)return!1;return!0}var k=A(408);function x(e,t){var A=(Object(k.a)(e)||{}).mimeType,n=a.a._parseImageNode;return o(n),n(e,A,t)}function N(){return(N=Object(i.a)(r.a.mark((function e(t,A,n){var i,a,s,g,c;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=(A=A||{}).image||{},a=i.type||"auto",s=(n||{}).url,g=U(a),e.t0=g,e.next="imagebitmap"===e.t0?8:"image"===e.t0?12:"data"===e.t0?16:20;break;case 8:return e.next=10,S(t,A,s);case 10:return c=e.sent,e.abrupt("break",21);case 12:return e.next=14,Q(t,A,s);case 14:return c=e.sent,e.abrupt("break",21);case 16:return e.next=18,x(t,A);case 18:return c=e.sent,e.abrupt("break",21);case 20:o(!1);case 21:return"data"===a&&(c=C(c)),e.abrupt("return",c);case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function U(e){switch(e){case"auto":case"data":return function(){if(c)return"imagebitmap";if(g)return"image";if(l)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(e){switch(e){case"auto":return c||g||l;case"imagebitmap":return c;case"image":return g;case"data":return l;default:throw new Error("@loaders.gl/images: image ".concat(e," not supported in this environment"))}}(e),e}}A.d(t,"a",(function(){return _}));var _={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(e,t,A){return N.apply(this,arguments)},tests:[function(e){return Boolean(Object(k.a)(new DataView(e)))}],options:{image:{type:"auto",decode:!0}}}},function(e,t,A){"use strict";var n,r=A(14),i=A(21),o=A(25),a=A(0),s=(A(195),A(13),A(19)),g=A(148),c=A(201);function u(){if(n)return n;var e=document.createElement("div"),t=document.createElement("div");return t.style.width="10px",t.style.height="1px",e.appendChild(t),e.dir="rtl",e.style.fontSize="14px",e.style.width="4px",e.style.height="1px",e.style.position="absolute",e.style.top="-1000px",e.style.overflow="scroll",document.body.appendChild(e),n="reverse",e.scrollLeft>0?n="default":(e.scrollLeft=1,0===e.scrollLeft&&(n="negative")),document.body.removeChild(e),n}function l(e,t){var A=e.scrollLeft;if("rtl"!==t)return A;switch(u()){case"negative":return e.scrollWidth-e.clientWidth+A;case"reverse":return e.scrollWidth-e.clientWidth-A;default:return A}}function I(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}var C={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};function h(e){var t=e.onChange,A=Object(i.a)(e,["onChange"]),n=a.useRef(),o=a.useRef(null),s=function(){n.current=o.current.offsetHeight-o.current.clientHeight};return a.useEffect((function(){var e=Object(g.a)((function(){var e=n.current;s(),e!==n.current&&t(n.current)}));return window.addEventListener("resize",e),function(){e.clear(),window.removeEventListener("resize",e)}}),[t]),a.useEffect((function(){s(),t(n.current)}),[t]),a.createElement("div",Object(r.a)({style:C,ref:o},A))}var f=A(28),d=A(40),B=a.forwardRef((function(e,t){var A=e.classes,n=e.className,o=e.color,g=e.orientation,c=Object(i.a)(e,["classes","className","color","orientation"]);return a.createElement("span",Object(r.a)({className:Object(s.a)(A.root,A["color".concat(Object(d.a)(o))],n,"vertical"===g&&A.vertical),ref:t},c))})),p=Object(f.a)((function(e){return{root:{position:"absolute",height:2,bottom:0,width:"100%",transition:e.transitions.create()},colorPrimary:{backgroundColor:e.palette.primary.main},colorSecondary:{backgroundColor:e.palette.secondary.main},vertical:{height:"100%",width:2,right:0}}}),{name:"PrivateTabIndicator"})(B),E=A(113),Q=Object(E.a)(a.createElement("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),y=Object(E.a)(a.createElement("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight"),v=A(433),m=a.createElement(Q,{fontSize:"small"}),b=a.createElement(y,{fontSize:"small"}),w=a.forwardRef((function(e,t){var A=e.classes,n=e.className,o=e.direction,g=e.orientation,c=e.disabled,u=Object(i.a)(e,["classes","className","direction","orientation","disabled"]);return a.createElement(v.a,Object(r.a)({component:"div",className:Object(s.a)(A.root,n,c&&A.disabled,"vertical"===g&&A.vertical),ref:t,role:null,tabIndex:null},u),"left"===o?m:b)})),S=Object(f.a)({root:{width:40,flexShrink:0,opacity:.8,"&$disabled":{opacity:0}},vertical:{width:"100%",height:40,"& svg":{transform:"rotate(90deg)"}},disabled:{}},{name:"MuiTabScrollButton"})(w),F=A(66),R=A(114),D=a.forwardRef((function(e,t){var A=e["aria-label"],n=e["aria-labelledby"],C=e.action,f=e.centered,d=void 0!==f&&f,B=e.children,E=e.classes,Q=e.className,y=e.component,v=void 0===y?"div":y,m=e.indicatorColor,b=void 0===m?"secondary":m,w=e.onChange,D=e.orientation,G=void 0===D?"horizontal":D,k=e.ScrollButtonComponent,x=void 0===k?S:k,N=e.scrollButtons,U=void 0===N?"auto":N,_=e.selectionFollowsFocus,M=e.TabIndicatorProps,O=void 0===M?{}:M,L=e.TabScrollButtonProps,T=e.textColor,Z=void 0===T?"inherit":T,H=e.value,Y=e.variant,J=void 0===Y?"standard":Y,j=Object(i.a)(e,["aria-label","aria-labelledby","action","centered","children","classes","className","component","indicatorColor","onChange","orientation","ScrollButtonComponent","scrollButtons","selectionFollowsFocus","TabIndicatorProps","TabScrollButtonProps","textColor","value","variant"]),P=Object(R.a)(),V="scrollable"===J,K="rtl"===P.direction,W="vertical"===G,X=W?"scrollTop":"scrollLeft",q=W?"top":"left",z=W?"bottom":"right",$=W?"clientHeight":"clientWidth",ee=W?"height":"width";var te=a.useState(!1),Ae=te[0],ne=te[1],re=a.useState({}),ie=re[0],oe=re[1],ae=a.useState({start:!1,end:!1}),se=ae[0],ge=ae[1],ce=a.useState({overflow:"hidden",marginBottom:null}),ue=ce[0],le=ce[1],Ie=new Map,Ce=a.useRef(null),he=a.useRef(null),fe=function(){var e,t,A=Ce.current;if(A){var n=A.getBoundingClientRect();e={clientWidth:A.clientWidth,scrollLeft:A.scrollLeft,scrollTop:A.scrollTop,scrollLeftNormalized:l(A,P.direction),scrollWidth:A.scrollWidth,top:n.top,bottom:n.bottom,left:n.left,right:n.right}}if(A&&!1!==H){var r=he.current.children;if(r.length>0){var i=r[Ie.get(H)];0,t=i?i.getBoundingClientRect():null}}return{tabsMeta:e,tabMeta:t}},de=Object(F.a)((function(){var e,t=fe(),A=t.tabsMeta,n=t.tabMeta,r=0;if(n&&A)if(W)r=n.top-A.top+A.scrollTop;else{var i=K?A.scrollLeftNormalized+A.clientWidth-A.scrollWidth:A.scrollLeft;r=n.left-A.left+i}var a=(e={},Object(o.a)(e,q,r),Object(o.a)(e,ee,n?n[ee]:0),e);if(isNaN(ie[q])||isNaN(ie[ee]))oe(a);else{var s=Math.abs(ie[q]-a[q]),g=Math.abs(ie[ee]-a[ee]);(s>=1||g>=1)&&oe(a)}})),Be=function(e){!function(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},i=n.ease,o=void 0===i?I:i,a=n.duration,s=void 0===a?300:a,g=null,c=t[e],u=!1,l=function(){u=!0},C=function n(i){if(u)r(new Error("Animation cancelled"));else{null===g&&(g=i);var a=Math.min(1,(i-g)/s);t[e]=o(a)*(A-c)+c,a>=1?requestAnimationFrame((function(){r(null)})):requestAnimationFrame(n)}};c===A?r(new Error("Element already at target position")):requestAnimationFrame(C)}(X,Ce.current,e)},pe=function(e){var t=Ce.current[X];W?t+=e:(t+=e*(K?-1:1),t*=K&&"reverse"===u()?-1:1),Be(t)},Ee=function(){pe(-Ce.current[$])},Qe=function(){pe(Ce.current[$])},ye=a.useCallback((function(e){le({overflow:null,marginBottom:-e})}),[]),ve=Object(F.a)((function(){var e=fe(),t=e.tabsMeta,A=e.tabMeta;if(A&&t)if(A[q]<t[q]){var n=t[X]+(A[q]-t[q]);Be(n)}else if(A[z]>t[z]){var r=t[X]+(A[z]-t[z]);Be(r)}})),me=Object(F.a)((function(){if(V&&"off"!==U){var e,t,A=Ce.current,n=A.scrollTop,r=A.scrollHeight,i=A.clientHeight,o=A.scrollWidth,a=A.clientWidth;if(W)e=n>1,t=n<r-i-1;else{var s=l(Ce.current,P.direction);e=K?s<o-a-1:s>1,t=K?s>1:s<o-a-1}e===se.start&&t===se.end||ge({start:e,end:t})}}));a.useEffect((function(){var e=Object(g.a)((function(){de(),me()})),t=Object(c.a)(Ce.current);return t.addEventListener("resize",e),function(){e.clear(),t.removeEventListener("resize",e)}}),[de,me]);var be=a.useCallback(Object(g.a)((function(){me()})));a.useEffect((function(){return function(){be.clear()}}),[be]),a.useEffect((function(){ne(!0)}),[]),a.useEffect((function(){de(),me()})),a.useEffect((function(){ve()}),[ve,ie]),a.useImperativeHandle(C,(function(){return{updateIndicator:de,updateScrollButtons:me}}),[de,me]);var we=a.createElement(p,Object(r.a)({className:E.indicator,orientation:G,color:b},O,{style:Object(r.a)({},ie,O.style)})),Se=0,Fe=a.Children.map(B,(function(e){if(!a.isValidElement(e))return null;var t=void 0===e.props.value?Se:e.props.value;Ie.set(t,Se);var A=t===H;return Se+=1,a.cloneElement(e,{fullWidth:"fullWidth"===J,indicator:A&&!Ae&&we,selected:A,selectionFollowsFocus:_,onChange:w,textColor:Z,value:t})})),Re=function(){var e={};e.scrollbarSizeListener=V?a.createElement(h,{className:E.scrollable,onChange:ye}):null;var t=se.start||se.end,A=V&&("auto"===U&&t||"desktop"===U||"on"===U);return e.scrollButtonStart=A?a.createElement(x,Object(r.a)({orientation:G,direction:K?"right":"left",onClick:Ee,disabled:!se.start,className:Object(s.a)(E.scrollButtons,"on"!==U&&E.scrollButtonsDesktop)},L)):null,e.scrollButtonEnd=A?a.createElement(x,Object(r.a)({orientation:G,direction:K?"left":"right",onClick:Qe,disabled:!se.end,className:Object(s.a)(E.scrollButtons,"on"!==U&&E.scrollButtonsDesktop)},L)):null,e}();return a.createElement(v,Object(r.a)({className:Object(s.a)(E.root,Q,W&&E.vertical),ref:t},j),Re.scrollButtonStart,Re.scrollbarSizeListener,a.createElement("div",{className:Object(s.a)(E.scroller,V?E.scrollable:E.fixed),style:ue,ref:Ce,onScroll:be},a.createElement("div",{"aria-label":A,"aria-labelledby":n,className:Object(s.a)(E.flexContainer,W&&E.flexContainerVertical,d&&!V&&E.centered),onKeyDown:function(e){var t=e.target;if("tab"===t.getAttribute("role")){var A=null,n="vertical"!==G?"ArrowLeft":"ArrowUp",r="vertical"!==G?"ArrowRight":"ArrowDown";switch("vertical"!==G&&"rtl"===P.direction&&(n="ArrowRight",r="ArrowLeft"),e.key){case n:A=t.previousElementSibling||he.current.lastChild;break;case r:A=t.nextElementSibling||he.current.firstChild;break;case"Home":A=he.current.firstChild;break;case"End":A=he.current.lastChild}null!==A&&(A.focus(),e.preventDefault())}},ref:he,role:"tablist"},Fe),Ae&&we),Re.scrollButtonEnd)}));t.a=Object(f.a)((function(e){return{root:{overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex"},vertical:{flexDirection:"column"},flexContainer:{display:"flex"},flexContainerVertical:{flexDirection:"column"},centered:{justifyContent:"center"},scroller:{position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap"},fixed:{overflowX:"hidden",width:"100%"},scrollable:{overflowX:"scroll",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},scrollButtons:{},scrollButtonsDesktop:Object(o.a)({},e.breakpoints.down("xs"),{display:"none"}),indicator:{}}}),{name:"MuiTabs"})(D)},function(e,t,A){"use strict";var n,r=A(6),i=A(1),o=A(4),a=A(24),s=A(16),g=A(17),c=A(9),u=A(10),l=A(92),I=A(124),C=A(161),h=A(2),f=A(18),d=A(238),B=A(26),p=(n={},Object(h.a)(n,5126,N.bind(null,"uniform1fv",b,1,U)),Object(h.a)(n,35664,N.bind(null,"uniform2fv",b,2,U)),Object(h.a)(n,35665,N.bind(null,"uniform3fv",b,3,U)),Object(h.a)(n,35666,N.bind(null,"uniform4fv",b,4,U)),Object(h.a)(n,5124,N.bind(null,"uniform1iv",w,1,U)),Object(h.a)(n,35667,N.bind(null,"uniform2iv",w,2,U)),Object(h.a)(n,35668,N.bind(null,"uniform3iv",w,3,U)),Object(h.a)(n,35669,N.bind(null,"uniform4iv",w,4,U)),Object(h.a)(n,35670,N.bind(null,"uniform1iv",w,1,U)),Object(h.a)(n,35671,N.bind(null,"uniform2iv",w,2,U)),Object(h.a)(n,35672,N.bind(null,"uniform3iv",w,3,U)),Object(h.a)(n,35673,N.bind(null,"uniform4iv",w,4,U)),Object(h.a)(n,35674,N.bind(null,"uniformMatrix2fv",b,4,_)),Object(h.a)(n,35675,N.bind(null,"uniformMatrix3fv",b,9,_)),Object(h.a)(n,35676,N.bind(null,"uniformMatrix4fv",b,16,_)),Object(h.a)(n,35678,x),Object(h.a)(n,35680,x),Object(h.a)(n,5125,N.bind(null,"uniform1uiv",S,1,U)),Object(h.a)(n,36294,N.bind(null,"uniform2uiv",S,2,U)),Object(h.a)(n,36295,N.bind(null,"uniform3uiv",S,3,U)),Object(h.a)(n,36296,N.bind(null,"uniform4uiv",S,4,U)),Object(h.a)(n,35685,N.bind(null,"uniformMatrix2x3fv",b,6,_)),Object(h.a)(n,35686,N.bind(null,"uniformMatrix2x4fv",b,8,_)),Object(h.a)(n,35687,N.bind(null,"uniformMatrix3x2fv",b,6,_)),Object(h.a)(n,35688,N.bind(null,"uniformMatrix3x4fv",b,12,_)),Object(h.a)(n,35689,N.bind(null,"uniformMatrix4x2fv",b,8,_)),Object(h.a)(n,35690,N.bind(null,"uniformMatrix4x3fv",b,12,_)),Object(h.a)(n,35678,x),Object(h.a)(n,35680,x),Object(h.a)(n,35679,x),Object(h.a)(n,35682,x),Object(h.a)(n,36289,x),Object(h.a)(n,36292,x),Object(h.a)(n,36293,x),Object(h.a)(n,36298,x),Object(h.a)(n,36299,x),Object(h.a)(n,36300,x),Object(h.a)(n,36303,x),Object(h.a)(n,36306,x),Object(h.a)(n,36307,x),Object(h.a)(n,36308,x),Object(h.a)(n,36311,x),n),E={},Q={},y={},v=[0];function m(e,t,A,n){1===t&&"boolean"===typeof e&&(e=e?1:0),Number.isFinite(e)&&(v[0]=e,e=v);var r=e.length;if(r%t&&f.k.warn("Uniform size should be multiples of ".concat(t),e)(),e instanceof A)return e;var i=n[r];i||(i=new A(r),n[r]=i);for(var o=0;o<r;o++)i[o]=e[o];return i}function b(e,t){return m(e,t,Float32Array,E)}function w(e,t){return m(e,t,Int32Array,Q)}function S(e,t){return m(e,t,Uint32Array,y)}function F(e,t,A){var n=p[A.type];if(!n)throw new Error("Unknown GLSL uniform type ".concat(A.type));return n().bind(null,e,t)}function R(e){if("]"!==e[e.length-1])return{name:e,length:1,isArray:!1};var t=e.match(/([^[]*)(\[[0-9]+\])?/);if(!t||t.length<2)throw new Error("Failed to parse GLSL uniform name ".concat(e));return{name:t[1],length:t[2]||1,isArray:Boolean(t[2])}}function D(e,t,A){for(var n in e){var r=e[n];if((!A||Boolean(A[n]))&&!G(r))throw t=t?"".concat(t," "):"",console.error("".concat(t," Bad uniform ").concat(n),r),new Error("".concat(t," Bad uniform ").concat(n))}return!0}function G(e){return Array.isArray(e)||ArrayBuffer.isView(e)?function(e){if(0===e.length)return!1;for(var t=Math.min(e.length,16),A=0;A<t;++A)if(!Number.isFinite(e[A]))return!1;return!0}(e):!!isFinite(e)||(!0===e||!1===e||(e instanceof I.a||(e instanceof d.a||e instanceof C.a&&Boolean(e.texture))))}function k(e,t,A){if(Array.isArray(A)||ArrayBuffer.isView(A))if(e[t])for(var n=e[t],r=0,i=A.length;r<i;++r)n[r]=A[r];else e[t]=A.slice();else e[t]=A}function x(){var e=null;return function(t,A,n){var r=e!==n;return r&&(t.uniform1i(A,n),e=n),r}}function N(e,t,A,n){var r=null,i=null;return function(o,a,s){var g=t(s,A),c=g.length,u=!1;if(null===r)r=new Float32Array(c),i=c,u=!0;else{Object(B.a)(i===c,"Uniform length cannot change.");for(var l=0;l<c;++l)if(g[l]!==r[l]){u=!0;break}}return u&&(n(o,e,a,g),r.set(g)),u}}function U(e,t,A,n){e[t](A,n)}function _(e,t,A,n){e[t](A,!1,n)}function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"unnamed",A=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/,n=e.match(A);return n?n[1]:t}function O(e,t,A,n){for(var r=e.split(/\r?\n/),i={},o={},a=n||M(t)||"(unnamed)",s="".concat(function(e){switch(e){case 35632:return"fragment";case 35633:return"vertex";default:return"unknown type"}}(A)," shader ").concat(a),g=0;g<r.length;g++){var c=r[g];if(!(c.length<=1)){var u=c.split(":"),l=u[0],I=parseInt(u[2],10);if(isNaN(I))throw new Error("GLSL compilation error in ".concat(s,": ").concat(e));"WARNING"!==l?i[I]=c:o[I]=c}}var C=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:": ",n=e.split(/\r?\n/),r=String(n.length+t-1).length;return n.map((function(e,n){var i=String(n+t),o=i.length;return T(i,r-o)+A+e}))}(t);return{shaderName:s,errors:L(i,C),warnings:L(o,C)}}function L(e,t){for(var A="",n=0;n<t.length;n++){var r=t[n];if((e[n+3]||e[n+2]||e[n+1])&&(A+="".concat(r,"\n"),e[n+1])){var i=e[n+1],o=i.split(":",3),a=o[0],s=parseInt(o[1],10)||0,g=i.substring(o.join(":").length+1).trim();A+=T("^^^ ".concat(a,": ").concat(g,"\n\n"),s)}}return A}function T(e,t){for(var A="",n=0;n<t;++n)A+=" ";return"".concat(A).concat(e)}var Z=A(108),H=function(e){Object(c.a)(A,e);var t=Object(u.a)(A);function A(e,n){var r;Object(i.a)(this,A),Object(f.b)(e),Object(B.a)("string"===typeof n.source,"Shader: GLSL source code must be a JavaScript string");var o=M(n.source,null)||n.id||Object(Z.c)("unnamed ".concat(A.getTypeName(n.shaderType)));return(r=t.call(this,e,{id:o})).shaderType=n.shaderType,r.source=n.source,r.initialize(n),r}return Object(o.a)(A,null,[{key:"getTypeName",value:function(e){switch(e){case 35633:return"vertex-shader";case 35632:return"fragment-shader";default:return Object(B.a)(!1),"unknown"}}}]),Object(o.a)(A,[{key:"initialize",value:function(e){var t=e.source,A=M(t,null);A&&(this.id=Object(Z.c)(A)),this._compile(t)}},{key:"getParameter",value:function(e){return this.gl.getShaderParameter(this.handle,e)}},{key:"toString",value:function(){return"".concat(A.getTypeName(this.shaderType),":").concat(this.id)}},{key:"getName",value:function(){return M(this.source)||"unnamed-shader"}},{key:"getSource",value:function(){return this.gl.getShaderSource(this.handle)}},{key:"getTranslatedSource",value:function(){var e=this.gl.getExtension("WEBGL_debug_shaders");return e?e.getTranslatedShaderSource(this.handle):"No translated source available. WEBGL_debug_shaders not implemented"}},{key:"_compile",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.source;e.startsWith("#version ")||(e="#version 100\n".concat(e)),this.source=e,this.gl.shaderSource(this.handle,this.source),this.gl.compileShader(this.handle);var t=this.getParameter(35713);if(!t){var A=this.gl.getShaderInfoLog(this.handle),n=O(A,this.source,this.shaderType,this.id),r=n.shaderName,i=n.errors,o=n.warnings;throw f.k.error("GLSL compilation errors in ".concat(r,"\n").concat(i))(),f.k.warn("GLSL compilation warnings in ".concat(r,"\n").concat(o))(),new Error("GLSL compilation errors in ".concat(r))}}},{key:"_deleteHandle",value:function(){this.gl.deleteShader(this.handle)}},{key:"_getOptsFromHandle",value:function(){return{type:this.getParameter(35663),source:this.getSource()}}}]),A}(l.a),Y=function(e){Object(c.a)(A,e);var t=Object(u.a)(A);function A(e,n){return Object(i.a)(this,A),"string"===typeof n&&(n={source:n}),t.call(this,e,Object.assign({},n,{shaderType:35633}))}return Object(o.a)(A,[{key:"_createHandle",value:function(){return this.gl.createShader(35633)}}]),A}(H),J=function(e){Object(c.a)(A,e);var t=Object(u.a)(A);function A(e,n){return Object(i.a)(this,A),"string"===typeof n&&(n={source:n}),t.call(this,e,Object.assign({},n,{shaderType:35632}))}return Object(o.a)(A,[{key:"_createHandle",value:function(){return this.gl.createShader(35632)}}]),A}(H),j=A(139),P=A(175),V=function(){function e(t){Object(i.a)(this,e),this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}return Object(o.a)(e,[{key:"getAttributeInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}},{key:"getAttributeLocation",value:function(e){var t=this.getAttributeInfo(e);return t?t.location:-1}},{key:"getAttributeAccessor",value:function(e){var t=this.getAttributeInfo(e);return t?t.accessor:null}},{key:"getVaryingInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}},{key:"getVaryingIndex",value:function(e){var t=this.getVaryingInfo();return t?t.location:-1}},{key:"getVaryingAccessor",value:function(e){var t=this.getVaryingInfo();return t?t.accessor:null}},{key:"_readAttributesFromProgram",value:function(e){for(var t=e.gl,A=t.getProgramParameter(e.handle,35721),n=0;n<A;n++){var r=t.getActiveAttrib(e.handle,n),i=r.name,o=r.type,a=r.size,s=t.getAttribLocation(e.handle,i);s>=0&&this._addAttribute(s,i,o,a)}this.attributeInfos.sort((function(e,t){return e.location-t.location}))}},{key:"_readVaryingsFromProgram",value:function(e){var t=e.gl;if(Object(f.j)(t)){for(var A=t.getProgramParameter(e.handle,35971),n=0;n<A;n++){var r=t.getTransformFeedbackVarying(e.handle,n),i=r.name,o=r.type,a=r.size;this._addVarying(n,i,o,a)}this.varyingInfos.sort((function(e,t){return e.location-t.location}))}}},{key:"_addAttribute",value:function(e,t,A,n){var r=Object(P.a)(A),i={type:r.type,size:n*r.components};this._inferProperties(e,t,i);var o={location:e,name:t,accessor:new j.a(i)};this.attributeInfos.push(o),this.attributeInfosByLocation[e]=o,this.attributeInfosByName[o.name]=o}},{key:"_inferProperties",value:function(e,t,A){/instance/i.test(t)&&(A.divisor=1)}},{key:"_addVarying",value:function(e,t,A,n){var r=Object(P.a)(A),i=r.type,o=r.components,a={location:e,name:t,accessor:new j.a({type:i,size:n*o})};this.varyingInfos.push(a),this.varyingInfosByName[a.name]=a}}]),e}(),K=A(109);A.d(t,"a",(function(){return X}));var W=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"],X=function(e){Object(c.a)(A,e);var t=Object(u.a)(A);function A(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(i.a)(this,A),(n=t.call(this,e,r)).stubRemovedMethods("Program","v6.0",W),n._isCached=!1,n.initialize(r),Object.seal(Object(a.a)(n)),n._setId(r.id),n}return Object(o.a)(A,[{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hash,A=e.vs,n=e.fs,r=e.varyings,i=e.bufferMode,o=void 0===i?35981:i;return this.hash=t||"",this.vs="string"===typeof A?new Y(this.gl,{id:"".concat(e.id,"-vs"),source:A}):A,this.fs="string"===typeof n?new J(this.gl,{id:"".concat(e.id,"-fs"),source:n}):n,Object(B.a)(this.vs instanceof Y),Object(B.a)(this.fs instanceof J),this.uniforms={},this._textureUniforms={},r&&r.length>0&&(Object(f.a)(this.gl),this.varyings=r,this.gl2.transformFeedbackVaryings(this.handle,r,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new V(this),this.setProps(e)}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._isCached?this:Object(g.a)(Object(s.a)(A.prototype),"delete",this).call(this,e)}},{key:"setProps",value:function(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}},{key:"draw",value:function(e){var t=this,A=e.logPriority,n=e.drawMode,r=void 0===n?4:n,i=e.vertexCount,o=e.offset,a=void 0===o?0:o,s=e.start,g=e.end,c=e.isIndexed,u=void 0!==c&&c,l=e.indexType,I=void 0===l?5123:l,C=e.instanceCount,h=void 0===C?0:C,d=e.isInstanced,p=void 0===d?h>0:d,E=e.vertexArray,Q=void 0===E?null:E,y=e.transformFeedback,v=e.framebuffer,m=e.parameters,b=void 0===m?{}:m,w=e.uniforms,S=e.samplers;if((w||S)&&(f.k.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(w||{})),f.k.priority>=A){var F=v?v.id:"default",R="mode=".concat(Object(K.a)(this.gl,r)," verts=").concat(i," ")+"instances=".concat(h," indexType=").concat(Object(K.a)(this.gl,I)," ")+"isInstanced=".concat(p," isIndexed=").concat(u," ")+"Framebuffer=".concat(F);f.k.log(A,R)()}return Object(B.a)(Q),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||p&&0===h)&&(Q.bindForDraw(i,h,(function(){if(void 0!==v&&(b=Object.assign({},b,{framebuffer:v})),y){var e=Object(P.c)(r);y.begin(e)}t._bindTextures(),Object(f.o)(t.gl,b,(function(){u&&p?t.gl2.drawElementsInstanced(r,i,I,a,h):u&&Object(f.j)(t.gl)&&!isNaN(s)&&!isNaN(g)?t.gl2.drawRangeElements(r,s,g,i,I,a):u?t.gl.drawElements(r,i,I,a):p?t.gl2.drawArraysInstanced(r,a,i,h):t.gl.drawArrays(r,a,i)})),y&&y.end()})),!0)}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in f.k.priority>=2&&D(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle),e){var A=e[t],n=this._uniformSetters[t];if(n){var r=A,i=!1;if(r instanceof C.a&&(r=r.texture),r instanceof I.a)if(i=this.uniforms[t]!==A){void 0===n.textureIndex&&(n.textureIndex=this._textureIndexCounter++);var o=r,a=n.textureIndex;o.bind(a),r=a,this._textureUniforms[t]=o}else r=n.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(n(r)||i)&&k(this.uniforms,t,A)}}return this}},{key:"_areTexturesRenderable",value:function(){var e=!0;for(var t in this._textureUniforms){var A=this._textureUniforms[t];A.update(),e=e&&A.loaded}return e}},{key:"_bindTextures",value:function(){for(var e in this._textureUniforms){var t=this._uniformSetters[e].textureIndex;this._textureUniforms[e].bind(t)}}},{key:"_createHandle",value:function(){return this.gl.createProgram()}},{key:"_deleteHandle",value:function(){this.gl.deleteProgram(this.handle)}},{key:"_getOptionsFromHandle",value:function(e){var t,A=this.gl.getAttachedShaders(e),n={},i=Object(r.a)(A);try{for(i.s();!(t=i.n()).done;){var o=t.value;switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new Y({handle:o});break;case 35632:n.fs=new J({handle:o})}}}catch(a){i.e(a)}finally{i.f()}return n}},{key:"_getParameter",value:function(e){return this.gl.getProgramParameter(this.handle,e)}},{key:"_setId",value:function(e){if(!e){var t=this._getName();this.id=Object(Z.c)(t)}}},{key:"_getName",value:function(){var e=this.vs.getName()||this.fs.getName();return e=(e=e.replace(/shader/i,""))?"".concat(e,"-program"):"program"}},{key:"_compileAndLink",value:function(){var e=this.gl;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),f.k.time(4,"linkProgram for ".concat(this._getName()))(),e.linkProgram(this.handle),f.k.timeEnd(4,"linkProgram for ".concat(this._getName()))(),e.debug||f.k.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error("Error linking: ".concat(e.getProgramInfoLog(this.handle)));if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error("Error validating: ".concat(e.getProgramInfoLog(this.handle)))}}},{key:"_readUniformLocationsFromLinkedProgram",value:function(){var e=this.gl;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(var t=0;t<this._uniformCount;t++){var A=this.gl.getActiveUniform(this.handle,t),n=R(A.name).name,r=e.getUniformLocation(this.handle,n);if(this._uniformSetters[n]=F(e,r,A),A.size>1)for(var i=0;i<A.size;i++)r=e.getUniformLocation(this.handle,"".concat(n,"[").concat(i,"]")),this._uniformSetters["".concat(n,"[").concat(i,"]")]=F(e,r,A)}this._textureIndexCounter=0}},{key:"getActiveUniforms",value:function(e,t){return this.gl2.getActiveUniforms(this.handle,e,t)}},{key:"getUniformBlockIndex",value:function(e){return this.gl2.getUniformBlockIndex(this.handle,e)}},{key:"getActiveUniformBlockParameter",value:function(e,t){return this.gl2.getActiveUniformBlockParameter(this.handle,e,t)}},{key:"uniformBlockBinding",value:function(e,t){this.gl2.uniformBlockBinding(this.handle,e,t)}}]),A}(l.a)},function(e,t,A){"use strict";var n=A(6),r=A(1),i=A(4),o=A(8),a=A(429),s="void main() {gl_FragColor = vec4(0);}",g="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",c="#version 300 es\n".concat(g);function u(e,t){t=Array.isArray(t)?t:[t];var A=e.replace(/^\s+/,"").split(/\s+/),n=Object(o.a)(A,3),r=n[0],i=n[1],a=n[2];return t.includes(r)&&i&&a?{qualifier:r,type:i,name:a.split(";")[0]}:null}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.version,A=void 0===t?100:t,n=e.input,r=e.inputType,i=e.output;if(!n)return 300===A?c:A>300?"#version ".concat(A,"\n").concat(g):s;var o=C(n,r);return A>=300?"#version ".concat(A," ").concat(300===A?"es":"","\nin ").concat(r," ").concat(n,";\nout vec4 ").concat(i,";\nvoid main() {\n ").concat(i," = ").concat(o,";\n}"):"varying ".concat(r," ").concat(n,";\nvoid main() {\n gl_FragColor = ").concat(o,";\n}")}function I(e){switch(e){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Object(a.a)(!1),null}}function C(e,t){switch(t){case"float":return"vec4(".concat(e,", 0.0, 0.0, 1.0)");case"vec2":return"vec4(".concat(e,", 0.0, 1.0)");case"vec3":return"vec4(".concat(e,", 1.0)");case"vec4":return e;default:return Object(a.a)(!1),null}}var h=A(18),f=A(80),d=A(1246),B=A(26),p=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(r.a)(this,e),this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(A),Object.seal(this)}return Object(i.a)(e,[{key:"setupResources",value:function(e){var t,A=Object(n.a)(this.bindings);try{for(A.s();!(t=A.n()).done;){var r=t.value;this._setupTransformFeedback(r,e)}}catch(i){A.e(i)}finally{A.f()}}},{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.varyings;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],A=t.sourceBuffers,n=t.transformFeedback,r=Object.assign({},A,e.attributes);return{attributes:r,transformFeedback:n}}},{key:"swap",value:function(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e)}},{key:"getBuffer",value:function(e){var t=this.bindings[this.currentIndex].feedbackBuffers,A=e?t[e]:null;return A?A instanceof f.a?A:A.buffer:null}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.varyingName,A=this.getBuffer(t);return A?A.getData():null}},{key:"delete",value:function(){for(var e in this.resources)this.resources[e].delete()}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&Object(B.a)(Object(h.j)(this.gl))}},{key:"_getFeedbackBuffers",value:function(e){var t=e.sourceBuffers,A=void 0===t?{}:t,n={};if(this.bindings[this.currentIndex]&&Object.assign(n,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(var r in this.feedbackMap){var i=this.feedbackMap[r];r in A&&(n[i]=r)}for(var o in Object.assign(n,e.feedbackBuffers),n){var a=n[o];if("string"===typeof a){var s=A[a],g=s.byteLength,c=s.usage,u=s.accessor;n[o]=this._createNewBuffer(o,{byteLength:g,usage:c,accessor:u})}}return n}},{key:"_setupBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,A=void 0===t?null:t;Object.assign(this.feedbackMap,e.feedbackMap);var n=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:A,feedbackBuffers:n})}},{key:"_setupTransformFeedback",value:function(e,t){var A=t.model.program;e.transformFeedback=new d.a(this.gl,{program:A,buffers:e.feedbackBuffers})}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){var t=this._swapBuffers(this.bindings[this.currentIndex]),A=t.sourceBuffers,n=t.feedbackBuffers,r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:A,feedbackBuffers:n})}}},{key:"_updateBinding",value:function(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}},{key:"_swapBuffers",value:function(e){if(!this.feedbackMap)return null;var t=Object.assign({},e.sourceBuffers),A=Object.assign({},e.feedbackBuffers);for(var n in this.feedbackMap){var r=this.feedbackMap[n];t[n]=e.feedbackBuffers[r],A[r]=e.sourceBuffers[n],Object(B.a)(A[r]instanceof f.a)}return{sourceBuffers:t,feedbackBuffers:A}}},{key:"_createNewBuffer",value:function(e,t){var A=new f.a(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=A,A}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}}]),e}(),E=A(2),Q=A(530),y=A(232),v=A(161),m=A(663);function b(e){var t=100,A=e.match(/[^\s]+/g);if(A.length>=2&&"#version"===A[0]){var n=parseInt(A[1],10);Number.isFinite(n)&&(t=n)}return t}var w,S=A(432),F={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null};function R(e){var t=e.vs,A=e.sourceTextureMap,n=e.targetTextureVarying,r=e.targetTexture,i=Object.keys(A).length,o=null,s={},g=t,c={};if(i>0||n){var l=g.split("\n"),I=l.slice();if(l.forEach((function(e,t,r){if(i>0){var g=function(e,t){var A={},n=function(e){return u(e,["attribute","in"])}(e);if(!n)return null;var r=n.type,i=n.name;if(i&&t[i]){var o="// ".concat(e," => Replaced by Transform with a sampler"),s=function(e){var t="".concat("transform_uSampler_").concat(e),A="".concat("transform_uSize_").concat(e),n=" uniform sampler2D ".concat(t,";\n uniform vec2 ").concat(A,";");return{samplerName:t,sizeName:A,uniformDeclerations:n}}(i),g=s.samplerName,c=s.sizeName,l=s.uniformDeclerations,I=function(e){switch(e){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Object(a.a)(!1),null}}(r),C=" ".concat(r," ").concat(i," = transform_getInput(").concat(g,", ").concat(c,").").concat(I,";\n");return A[g]=i,{updatedLine:o,inject:{"vs:#decl":l,"vs:#main-start":C},samplerTextureMap:A}}return null}(e,A);if(g){var l=g.updatedLine,C=g.inject;I[t]=l,c=Object(S.b)([c,C]),Object.assign(s,g.samplerTextureMap),i--}}n&&!o&&(o=function(e,t){var A=u(e,["varying","out"]);if(!A)return null;return A.name===t?A.type:null}(e,n))})),n){Object(B.a)(r);var C="".concat("transform_uSize_").concat(n),h={"vs:#decl":"uniform vec2 ".concat(C,";\n"),"vs:#main-start":" vec2 ".concat("transform_position"," = transform_getPos(").concat(C,");\n gl_Position = vec4(").concat("transform_position",", 0, 1.);\n")};c=Object(S.b)([c,h])}g=I.join("\n")}return{vs:g,targetTextureType:o,inject:c,samplerTextureMap:s}}function D(e){var t,A,n=e.sourceTextureMap,r=e.targetTextureVarying,i=e.targetTexture,o={};for(var a in r&&(t=i.width,A=i.height,o["".concat("transform_uSize_").concat(r)]=[t,A]),n){var s=n[a];t=s.width,A=s.height,o["".concat("transform_uSize_").concat(a)]=[t,A]}return o}var G=(w={},Object(E.a)(w,10241,9728),Object(E.a)(w,10240,9728),Object(E.a)(w,10242,33071),Object(E.a)(w,10243,33071),w),k=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(r.a)(this,e),this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(A),Object.seal(this)}return Object(i.a)(e,[{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._processVertexShader(e);return Object.assign({},e,t)}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],A=t.sourceBuffers,n=t.sourceTextures,r=t.framebuffer,i=t.targetTexture,o=Object.assign({},A,e.attributes),a=Object.assign({},e.uniforms),s=Object.assign({},e.parameters),g=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){for(var c in o.transform_elementID=this.elementIDBuffer,this.samplerTextureMap){var u=this.samplerTextureMap[c];a[c]=n[u]}this._setSourceTextureParameters();var l=D({sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:i});Object.assign(a,l)}return this.hasTargetTexture&&(g=!1,s.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:g,parameters:s}}},{key:"swap",value:function(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupTextures(e)}},{key:"getTargetTexture",value:function(){return this.bindings[this.currentIndex].targetTexture}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.packed,A=void 0!==t&&t,n=this.bindings[this.currentIndex].framebuffer,r=Object(Q.c)(n);if(!A)return r;for(var i=r.constructor,o=I(this.targetTextureType),a=new i(r.length*o/4),s=0,g=0;g<r.length;g+=4)for(var c=0;c<o;c++)a[s++]=r[g+c];return a}},{key:"getFramebuffer",value:function(){return this.bindings[this.currentIndex].framebuffer}},{key:"delete",value:function(){this.ownTexture&&this.ownTexture.delete(),this.elementIDBuffer&&this.elementIDBuffer.delete()}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e._targetTextureVarying,A=e._swapTexture;this._swapTexture=A,this.targetTextureVarying=t,this.hasTargetTexture=t,this._setupTextures(e)}},{key:"_createTargetTexture",value:function(e){var t=e.sourceTextures,A=e.textureOrReference;if(A instanceof y.a)return A;var n=t[A];return n?(this._targetRefTexName=A,this._createNewTexture(n)):null}},{key:"_setupTextures",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,A=e._sourceTextures,n=void 0===A?{}:A,r=e._targetTexture,i=this._createTargetTexture({sourceTextures:n,textureOrReference:r});this.hasSourceTextures=this.hasSourceTextures||n&&Object.keys(n).length>0,this._updateBindings({sourceBuffers:t,sourceTextures:n,targetTexture:i}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}},{key:"_updateElementIDBuffer",value:function(e){if(!("number"!==typeof e||this.elementCount>=e)){var t=new Float32Array(e);t.forEach((function(e,t,A){A[t]=t})),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new f.a(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){var t=this._swapTextures(this.bindings[this.currentIndex]),A=t.sourceTextures,n=t.targetTexture,r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:A,targetTexture:n})}}},{key:"_updateBinding",value:function(e,t){var A=t.sourceBuffers,n=t.sourceTextures,r=t.targetTexture;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,n),Object.assign(e.sourceBuffers,A),r){e.targetTexture=r;var i=r.width,o=r.height,a=e.framebuffer;a?(a.update({attachments:Object(E.a)({},36064,r),resizeAttachments:!1}),a.resize({width:i,height:o})):e.framebuffer=new v.a(this.gl,{id:"transform-framebuffer",width:i,height:o,attachments:Object(E.a)({},36064,r)})}return e}},{key:"_setSourceTextureParameters",value:function(){var e=this.currentIndex,t=this.bindings[e].sourceTextures;for(var A in t)t[A].setParameters(G)}},{key:"_swapTextures",value:function(e){if(!this._swapTexture)return null;var t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}},{key:"_createNewTexture",value:function(e){var t,A=Object(m.a)(e,{parameters:(t={},Object(E.a)(t,10241,9728),Object(E.a)(t,10240,9728),Object(E.a)(t,10242,33071),Object(E.a)(t,10243,33071),t),pixelStore:Object(E.a)({},37440,!1)});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=A,A}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}},{key:"_processVertexShader",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],A=t.sourceTextures,n=t.targetTexture,r=R({vs:e.vs,sourceTextureMap:A,targetTextureVarying:this.targetTextureVarying,targetTexture:n}),i=r.vs,o=r.uniforms,a=r.targetTextureType,s=r.inject,g=r.samplerTextureMap,c=Object(S.b)([e.inject||{},s]);this.targetTextureType=a,this.samplerTextureMap=g;var u=e._fs||l({version:b(i),input:this.targetTextureVarying,inputType:a,output:"transform_output"}),I=this.hasSourceTextures||this.targetTextureVarying?[F].concat(e.modules||[]):e.modules;return{vs:i,fs:u,modules:I,uniforms:o,inject:c}}}]),e}(),x=A(108),N=A(422);A.d(t,"a",(function(){return U}));var U=function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(r.a)(this,e),this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(A),Object.seal(this)}return Object(i.a)(e,null,[{key:"isSupported",value:function(e){return Object(h.j)(e)}}]),Object(i.a)(e,[{key:"delete",value:function(){var e=this.model,t=this.bufferTransform,A=this.textureTransform;e&&e.delete(),t&&t.delete(),A&&A.delete()}},{key:"run",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearRenderTarget,A=void 0===t||t,n=this._updateDrawOptions(e);A&&n.framebuffer&&n.framebuffer.clear({color:!0}),this.model.transform(n)}},{key:"swap",value:function(){var e,t=!1,A=[this.bufferTransform,this.textureTransform].filter(Boolean),r=Object(n.a)(A);try{for(r.s();!(e=r.n()).done;){var i=e.value;t=t||i.swap()}}catch(o){r.e(o)}finally{r.f()}Object(B.a)(t,"Nothing to swap")}},{key:"getBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.bufferTransform&&this.bufferTransform.getBuffer(e)}},{key:"getData",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=[this.bufferTransform,this.textureTransform].filter(Boolean),r=Object(n.a)(A);try{for(r.s();!(e=r.n()).done;){var i=e.value,o=i.getData(t);if(o)return o}}catch(a){r.e(a)}finally{r.f()}return null}},{key:"getFramebuffer",value:function(){return this.textureTransform&&this.textureTransform.getFramebuffer()}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};"elementCount"in e&&this.model.setVertexCount(e.elementCount);var t,A=[this.bufferTransform,this.textureTransform].filter(Boolean),r=Object(n.a)(A);try{for(r.s();!(t=r.n()).done;){var i=t.value;i.update(e)}}catch(o){r.e(o)}finally{r.f()}}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.gl;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new N.a(t,Object.assign({},e,{fs:e.fs||l({version:b(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}},{key:"_updateModelProps",value:function(e){var t,A=Object.assign({},e),r=[this.bufferTransform,this.textureTransform].filter(Boolean),i=Object(n.a)(r);try{for(i.s();!(t=i.n()).done;){A=t.value.updateModelProps(A)}}catch(o){i.e(o)}finally{i.f()}return A}},{key:"_buildResourceTransforms",value:function(e,t){(function(e){if(!Object(x.a)(e.feedbackBuffers)||!Object(x.a)(e.feedbackMap)||e.varyings&&e.varyings.length>0)return!0;return!1})(t)&&(this.bufferTransform=new p(e,t)),function(e){if(!Object(x.a)(e._sourceTextures)||e._targetTexture||e._targetTextureVarying)return!0;return!1}(t)&&(this.textureTransform=new k(e,t)),Object(B.a)(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}},{key:"_updateDrawOptions",value:function(e){var t,A=Object.assign({},e),r=[this.bufferTransform,this.textureTransform].filter(Boolean),i=Object(n.a)(r);try{for(i.s();!(t=i.n()).done;){var o=t.value;A=Object.assign(A,o.getDrawOptions(A))}}catch(a){i.e(a)}finally{i.f()}return A}}]),e}()},function(e,t,A){"use strict";var n=A(8),r=A(7),i=A(0),o=A.n(i),a=A(13),s=A.n(a),g=A(644),c="undefined"!==typeof window?i.useLayoutEffect:i.useEffect,u=A(11);function l(e,t){for(;e;){if(e===t)return!0;e=Object.getPrototypeOf(e)}return!1}var I=A(134),C=A(384);function h(e){return e?"function"===typeof e?Object(i.createElement)(I.a,{},e):Array.isArray(e)?e.map(h):e.type===o.a.Fragment?h(e.props.children):(l(e.type,I.a),e):e}var f=A(6),d={position:"absolute",zIndex:-1};function B(e,t){return e?"function"===typeof e?e(t):Array.isArray(e)?e.map((function(e){return B(e,t)})):function(e){var t=e&&e.type,A=t&&t.defaultProps;return A&&A.mapStyle}(e)?(t.style=d,Object(i.cloneElement)(e,t)):function(e){var t=e&&e.type;return t&&t.deckGLViewProps}(e)?Object(i.cloneElement)(e,t):e:e}var p={mixBlendMode:null};function E(e){e.redrawReason&&(e.deck._drawLayers(e.redrawReason),e.redrawReason=null)}var Q=Object(i.forwardRef)((function(e,t){var A=Object(i.useRef)({}).current,a=Object(i.useState)(0),s=Object(n.a)(a,2),d=s[0],Q=s[1];A.forceUpdate=Q;var y=Object(i.useRef)(null),v=Object(i.useRef)(null),m=Object(i.useMemo)((function(){return function(e){var t=e.children,A=e.layers,n=e.views,r=[],i=[],a={};return o.a.Children.forEach(h(t),(function(e){if(e){var t=e.type;if(l(t,C.a)){var A=function(e,t){var A={},n=e.defaultProps||{};for(var r in t)n[r]!==t[r]&&(A[r]=t[r]);return new e(A)}(t,e.props);i.push(A)}else r.push(e);if(t!==I.a&&l(t,I.a)&&e.props.id){var n=new t(e.props);a[n.id]=n}}})),Object.keys(a).length>0&&(Array.isArray(n)?n.forEach((function(e){a[e.id]=e})):n&&(a[n.id]=n),n=Object.values(a)),{layers:A=i.length>0?[].concat(i,Object(u.a)(A)):A,children:r,views:n}}(e)}),[e.layers,e.views,e.children]),b=!0,w=function(t){return b&&e.viewState?(A.viewStateUpdateRequested=t,null):(A.viewStateUpdateRequested=null,e.onViewStateChange(t))},S=function(t){b?A.interactionStateUpdateRequested=t:(A.interactionStateUpdateRequested=null,e.onInteractionStateChange(t))},F=Object(i.useMemo)((function(){var t=Object(r.a)({},e,{style:null,width:"100%",height:"100%",layers:m.layers,views:m.views,onViewStateChange:w,onInteractionStateChange:S});return A.deck&&A.deck.setProps(t),t}),[e]);Object(i.useEffect)((function(){return A.deck=function(e,t){var A=new(t.Deck||g.a)(Object(r.a)({},t,{style:null,width:"100%",height:"100%",_customRender:function(t){e.redrawReason=t;var n=A.viewManager.getViewports();e.lastRenderedViewports!==n?e.forceUpdate((function(e){return e+1})):E(e)}}));return A}(A,Object(r.a)({},F,{parent:y.current,canvas:v.current})),function(){return A.deck.finalize()}}),[]),c((function(){E(A);var e=A.viewStateUpdateRequested,t=A.interactionStateUpdateRequested;e&&w(e),t&&S(t)})),Object(i.useImperativeHandle)(t,(function(){return function(e){var t={pickObject:function(t){return e.deck.pickObject(t)},pickMultipleObjects:function(t){return e.deck.pickMultipleObjects(t)},pickObjects:function(t){return e.deck.pickObjects(t)}};return Object.defineProperty(t,"deck",{get:function(){return e.deck}}),t}(A)}),[]);var R=(A.deck||{}).viewManager,D=R&&R.getViewports(),G=e.ContextProvider,k=e.width,x=e.height,N=e.id,U=e.style,_=Object(i.useMemo)((function(){return function(e){var t=e.width,A=e.height,n=e.style,r={position:"absolute",zIndex:0,left:0,top:0,width:t,height:A},i={left:0,top:0};if(n)for(var o in n)o in p?i[o]=n[o]:r[o]=n[o];return{containerStyle:r,canvasStyle:i}}({width:k,height:x,style:U})}),[k,x,U]),M=_.containerStyle,O=_.canvasStyle;if(!A.viewStateUpdateRequested&&A.lastRenderedViewports===D||A.version!==d){A.lastRenderedViewports=D,A.version=d;var L=function(e){var t=e.children,A=e.deck,n=e.ContextProvider,r=(A||{}).viewManager;if(!r||!r.views.length)return[];var o,a={},s=r.views[0].id,g=Object(f.a)(t);try{for(g.s();!(o=g.n()).done;){var c=o.value,C=s,h=c;l(c.type,I.a)&&(C=c.props.id||s,h=c.props.children);var d=r.getViewport(C),p=r.getViewState(C);if(d)h=B(h,{x:d.x,y:d.y,width:d.width,height:d.height,viewport:d,viewState:p}),a[C]||(a[C]={viewport:d,children:[]}),a[C].children.push(h)}}catch(E){g.e(E)}finally{g.f()}return Object.keys(a).map((function(e){var t=a[e],r=t.viewport,o=t.children,s={position:"absolute",left:r.x,top:r.y,width:r.width,height:r.height},g="view-".concat(e),c=i.createElement.apply(void 0,["div",{key:g,id:g,style:s}].concat(Object(u.a)(o)));if(n){var l={viewport:r,container:A.canvas.offsetParent,eventManager:A.eventManager,onViewStateChange:function(t){t.viewId=e,A._onViewStateChange(t)}};return Object(i.createElement)(n,{key:g,value:l},c)}return c}))}({children:m.children,deck:A.deck,ContextProvider:G}),T=Object(i.createElement)("canvas",{key:"canvas",id:N||"deckgl-overlay",ref:v,style:O});A.control=Object(i.createElement)("div",{id:"".concat(N||"deckgl","-wrapper"),ref:y,style:M},[T,L])}return b=!1,A.control}));Q.propTypes=g.a.getPropTypes(s.a),Q.defaultProps=g.a.defaultProps;t.a=Q},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(19)),a=A(101),s=A(160),g=A(167),c=A(28),u=A(1159),l=i.forwardRef((function(e,t){var A=e.autoFocus,c=e.checked,l=e.checkedIcon,I=e.classes,C=e.className,h=e.defaultChecked,f=e.disabled,d=e.icon,B=e.id,p=e.inputProps,E=e.inputRef,Q=e.name,y=e.onBlur,v=e.onChange,m=e.onFocus,b=e.readOnly,w=e.required,S=e.tabIndex,F=e.type,R=e.value,D=Object(r.a)(e,["autoFocus","checked","checkedIcon","classes","className","defaultChecked","disabled","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"]),G=Object(s.a)({controlled:c,default:Boolean(h),name:"SwitchBase",state:"checked"}),k=Object(a.a)(G,2),x=k[0],N=k[1],U=Object(g.a)(),_=f;U&&"undefined"===typeof _&&(_=U.disabled);var M="checkbox"===F||"radio"===F;return i.createElement(u.a,Object(n.a)({component:"span",className:Object(o.a)(I.root,C,x&&I.checked,_&&I.disabled),disabled:_,tabIndex:null,role:void 0,onFocus:function(e){m&&m(e),U&&U.onFocus&&U.onFocus(e)},onBlur:function(e){y&&y(e),U&&U.onBlur&&U.onBlur(e)},ref:t},D),i.createElement("input",Object(n.a)({autoFocus:A,checked:c,defaultChecked:h,className:I.input,disabled:_,id:M&&B,name:Q,onChange:function(e){var t=e.target.checked;N(t),v&&v(e,t)},readOnly:b,ref:E,required:w,tabIndex:S,type:F,value:R},p)),x?l:d)})),I=Object(c.a)({root:{padding:9},checked:{},disabled:{},input:{cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}},{name:"PrivateSwitchBase"})(l),C=A(113),h=Object(C.a)(i.createElement("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),f=Object(C.a)(i.createElement("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),d=A(60),B=Object(C.a)(i.createElement("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),p=A(40),E=i.createElement(f,null),Q=i.createElement(h,null),y=i.createElement(B,null),v=i.forwardRef((function(e,t){var A=e.checkedIcon,a=void 0===A?E:A,s=e.classes,g=e.color,c=void 0===g?"secondary":g,u=e.icon,l=void 0===u?Q:u,C=e.indeterminate,h=void 0!==C&&C,f=e.indeterminateIcon,d=void 0===f?y:f,B=e.inputProps,v=e.size,m=void 0===v?"medium":v,b=Object(r.a)(e,["checkedIcon","classes","color","icon","indeterminate","indeterminateIcon","inputProps","size"]),w=h?d:l,S=h?d:a;return i.createElement(I,Object(n.a)({type:"checkbox",classes:{root:Object(o.a)(s.root,s["color".concat(Object(p.a)(c))],h&&s.indeterminate),checked:s.checked,disabled:s.disabled},color:c,inputProps:Object(n.a)({"data-indeterminate":h},B),icon:i.cloneElement(w,{fontSize:void 0===w.props.fontSize&&"small"===m?m:w.props.fontSize}),checkedIcon:i.cloneElement(S,{fontSize:void 0===S.props.fontSize&&"small"===m?m:S.props.fontSize}),ref:t},b))}));t.a=Object(c.a)((function(e){return{root:{color:e.palette.text.secondary},checked:{},disabled:{},indeterminate:{},colorPrimary:{"&$checked":{color:e.palette.primary.main,"&:hover":{backgroundColor:Object(d.a)(e.palette.primary.main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&$disabled":{color:e.palette.action.disabled}},colorSecondary:{"&$checked":{color:e.palette.secondary.main,"&:hover":{backgroundColor:Object(d.a)(e.palette.secondary.main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&$disabled":{color:e.palette.action.disabled}}}}),{name:"MuiCheckbox"})(v)},function(e,t,A){"use strict";var n=A(14),r=A(399),i=A(397),o=A(400);var a=A(101),s=A(21),g=A(0),c=(A(195),A(13),A(19)),u=A(1166),l=A(28),I=A(226),C=A(151),h=A(114),f=A(51),d=g.forwardRef((function(e,t){var A=e.children,r=e.classes,i=e.className,o=e.collapsedHeight,l=e.collapsedSize,d=void 0===l?"0px":l,B=e.component,p=void 0===B?"div":B,E=e.disableStrictModeCompat,Q=void 0!==E&&E,y=e.in,v=e.onEnter,m=e.onEntered,b=e.onEntering,w=e.onExit,S=e.onExited,F=e.onExiting,R=e.style,D=e.timeout,G=void 0===D?I.b.standard:D,k=e.TransitionComponent,x=void 0===k?u.a:k,N=Object(s.a)(e,["children","classes","className","collapsedHeight","collapsedSize","component","disableStrictModeCompat","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"]),U=Object(h.a)(),_=g.useRef(),M=g.useRef(null),O=g.useRef(),L="number"===typeof(o||d)?"".concat(o||d,"px"):o||d;g.useEffect((function(){return function(){clearTimeout(_.current)}}),[]);var T=U.unstable_strictMode&&!Q,Z=g.useRef(null),H=Object(f.a)(t,T?Z:void 0),Y=function(e){return function(t,A){if(e){var n=T?[Z.current,t]:[t,A],r=Object(a.a)(n,2),i=r[0],o=r[1];void 0===o?e(i):e(i,o)}}},J=Y((function(e,t){e.style.height=L,v&&v(e,t)})),j=Y((function(e,t){var A=M.current?M.current.clientHeight:0,n=Object(C.a)({style:R,timeout:G},{mode:"enter"}).duration;if("auto"===G){var r=U.transitions.getAutoHeightDuration(A);e.style.transitionDuration="".concat(r,"ms"),O.current=r}else e.style.transitionDuration="string"===typeof n?n:"".concat(n,"ms");e.style.height="".concat(A,"px"),b&&b(e,t)})),P=Y((function(e,t){e.style.height="auto",m&&m(e,t)})),V=Y((function(e){var t=M.current?M.current.clientHeight:0;e.style.height="".concat(t,"px"),w&&w(e)})),K=Y(S),W=Y((function(e){var t=M.current?M.current.clientHeight:0,A=Object(C.a)({style:R,timeout:G},{mode:"exit"}).duration;if("auto"===G){var n=U.transitions.getAutoHeightDuration(t);e.style.transitionDuration="".concat(n,"ms"),O.current=n}else e.style.transitionDuration="string"===typeof A?A:"".concat(A,"ms");e.style.height=L,F&&F(e)}));return g.createElement(x,Object(n.a)({in:y,onEnter:J,onEntered:P,onEntering:j,onExit:V,onExited:K,onExiting:W,addEndListener:function(e,t){var A=T?e:t;"auto"===G&&(_.current=setTimeout(A,O.current||0))},nodeRef:T?Z:void 0,timeout:"auto"===G?null:G},N),(function(e,t){return g.createElement(p,Object(n.a)({className:Object(c.a)(r.root,r.container,i,{entered:r.entered,exited:!y&&"0px"===L&&r.hidden}[e]),style:Object(n.a)({minHeight:L},R),ref:H},t),g.createElement("div",{className:r.wrapper,ref:M},g.createElement("div",{className:r.wrapperInner},A)))}))}));d.muiSupportAuto=!0;var B=Object(l.a)((function(e){return{root:{height:0,overflow:"hidden",transition:e.transitions.create("height")},entered:{height:"auto",overflow:"visible"},hidden:{visibility:"hidden"},wrapper:{display:"flex"},wrapperInner:{width:"100%"}}}),{name:"MuiCollapse"})(d),p=A(1254),E=A(418),Q=A(160),y=g.forwardRef((function(e,t){var A,u=e.children,l=e.classes,I=e.className,C=e.defaultExpanded,h=void 0!==C&&C,f=e.disabled,d=void 0!==f&&f,y=e.expanded,v=e.onChange,m=e.square,b=void 0!==m&&m,w=e.TransitionComponent,S=void 0===w?B:w,F=e.TransitionProps,R=Object(s.a)(e,["children","classes","className","defaultExpanded","disabled","expanded","onChange","square","TransitionComponent","TransitionProps"]),D=Object(Q.a)({controlled:y,default:h,name:"Accordion",state:"expanded"}),G=Object(a.a)(D,2),k=G[0],x=G[1],N=g.useCallback((function(e){x(!k),v&&v(e,!k)}),[k,v,x]),U=g.Children.toArray(u),_=(A=U,Object(r.a)(A)||Object(i.a)(A)||Object(o.a)()),M=_[0],O=_.slice(1),L=g.useMemo((function(){return{expanded:k,disabled:d,toggle:N}}),[k,d,N]);return g.createElement(p.a,Object(n.a)({className:Object(c.a)(l.root,I,k&&l.expanded,d&&l.disabled,!b&&l.rounded),ref:t,square:b},R),g.createElement(E.a.Provider,{value:L},M),g.createElement(S,Object(n.a)({in:k,timeout:"auto"},F),g.createElement("div",{"aria-labelledby":M.props.id,id:M.props["aria-controls"],role:"region"},O)))}));t.a=Object(l.a)((function(e){var t={duration:e.transitions.duration.shortest};return{root:{position:"relative",transition:e.transitions.create(["margin"],t),"&:before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:e.palette.divider,transition:e.transitions.create(["opacity","background-color"],t)},"&:first-child":{"&:before":{display:"none"}},"&$expanded":{margin:"16px 0","&:first-child":{marginTop:0},"&:last-child":{marginBottom:0},"&:before":{opacity:0}},"&$expanded + &":{"&:before":{display:"none"}},"&$disabled":{backgroundColor:e.palette.action.disabledBackground}},rounded:{borderRadius:0,"&:first-child":{borderTopLeftRadius:e.shape.borderRadius,borderTopRightRadius:e.shape.borderRadius},"&:last-child":{borderBottomLeftRadius:e.shape.borderRadius,borderBottomRightRadius:e.shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}},expanded:{},disabled:{}}}),{name:"MuiAccordion"})(y)},function(e,t,A){"use strict";var n=A(3),r=A.n(n),i=A(12),o=A(1),a=A(4),s=A(18),g=A(330),c=A(26),u=A(6),l=A(24),I=A(9),C=A(10),h=A(92),f=A(718),d=A(427),B=function(e){Object(I.a)(A,e);var t=Object(C.a)(A);function A(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(o.a)(this,A),(n=t.call(this,e,r)).target=null,n._queryPending=!1,n._pollingPromise=null,Object.seal(Object(l.a)(n)),n}return Object(a.a)(A,null,[{key:"isSupported",value:function(e){var t,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=Object(s.j)(e),r=Object(f.c)(e,d.a.TIMER_QUERY),i=n||r,o=Object(u.a)(A);try{for(o.s();!(t=o.n()).done;){var a=t.value;switch(a){case"queries":i=i&&n;break;case"timers":i=i&&r;break;default:Object(c.a)(!1)}}}catch(g){o.e(g)}finally{o.f()}return i}}]),Object(a.a)(A,[{key:"beginTimeElapsedQuery",value:function(){return this.begin(35007)}},{key:"beginOcclusionQuery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.conservative,A=void 0!==t&&t;return this.begin(A?36202:35887)}},{key:"beginTransformFeedbackQuery",value:function(){return this.begin(35976)}},{key:"begin",value:function(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}},{key:"end",value:function(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}},{key:"isResultAvailable",value:function(){if(!this._queryPending)return!1;var e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}},{key:"isTimerDisjoint",value:function(){return this.gl2.getParameter(36795)}},{key:"getResult",value:function(){return this.gl2.getQueryParameter(this.handle,34918)}},{key:"getTimerMilliseconds",value:function(){return this.getResult()/1e6}},{key:"createPoll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;if(this._pollingPromise)return this._pollingPromise;var A=0;return this._pollingPromise=new Promise((function(n,r){requestAnimationFrame((function i(){e.isResultAvailable()?(n(e.getResult()),e._pollingPromise=null):A++>t?(r("Timed out"),e._pollingPromise=null):requestAnimationFrame(i)}))})),this._pollingPromise}},{key:"_createHandle",value:function(){return A.isSupported(this.gl)?this.gl2.createQuery():null}},{key:"_deleteHandle",value:function(){this.gl2.deleteQuery(this.handle)}}]),A}(h.a);var p=A(161),E=A(62);A.d(t,"a",(function(){return v}));var Q=Object(E.isBrowser)()&&"undefined"!==typeof document,y=0,v=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(o.a)(this,e);var A=t.onCreateContext,n=void 0===A?function(e){return Object(s.c)(e)}:A,r=t.onAddHTML,i=void 0===r?null:r,a=t.onInitialize,c=void 0===a?function(){}:a,u=t.onRender,l=void 0===u?function(){}:u,I=t.onFinalize,C=void 0===I?function(){}:I,h=t.onError,f=t.gl,d=void 0===f?null:f,B=t.glOptions,p=void 0===B?{}:B,E=t.debug,Q=void 0!==E&&E,v=t.createFramebuffer,m=void 0!==v&&v,b=t.autoResizeViewport,w=void 0===b||b,S=t.autoResizeDrawingBuffer,F=void 0===S||S,R=t.stats,D=void 0===R?g.a.get("animation-loop-".concat(y++)):R,G=t.useDevicePixels,k=void 0===G||G;"useDevicePixelRatio"in t&&(s.k.deprecated("useDevicePixelRatio","useDevicePixels")(),k=t.useDevicePixelRatio),this.props={onCreateContext:n,onAddHTML:i,onInitialize:c,onRender:l,onFinalize:C,onError:h,gl:d,glOptions:p,debug:Q,createFramebuffer:m},this.gl=d,this.needsRedraw=null,this.timeline=null,this.stats=D,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:w,autoResizeDrawingBuffer:F,useDevicePixels:k}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}return Object(a.a)(e,[{key:"delete",value:function(){this.stop(),this._setDisplay(null)}},{key:"setNeedsRedraw",value:function(e){return Object(c.a)("string"===typeof e),this.needsRedraw=this.needsRedraw||e,this}},{key:"setProps",value:function(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}},{key:"start",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this._running)return this;this._running=!0;var A=this._getPageLoadPromise().then((function(){return!e._running||e._initialized?null:(e._createWebGLContext(t),e._createFramebuffer(),e._startEventHandling(),e._initializeCallbackData(),e._updateCallbackData(),e._resizeCanvasDrawingBuffer(),e._resizeViewport(),e._gpuTimeQuery=B.isSupported(e.gl,["timers"])?new B(e.gl):null,e._initialized=!0,e.onInitialize(e.animationProps))})).then((function(t){e._running&&(e._addCallbackData(t||{}),!1!==t&&e._startLoop())}));return this.props.onError&&A.catch(this.props.onError),this}},{key:"redraw",value:function(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}},{key:"stop",value:function(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}},{key:"attachTimeline",value:function(e){return this.timeline=e,this.timeline}},{key:"detachTimeline",value:function(){this.timeline=null}},{key:"waitForRender",value:function(){var e=this;return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise((function(t){e._resolveNextFrame=t}))),this._nextFramePromise}},{key:"toDataURL",value:function(){var e=Object(i.a)(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.setNeedsRedraw("toDataURL"),e.next=3,this.waitForRender();case 3:return e.abrupt("return",this.gl.canvas.toDataURL());case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"isContextLost",value:function(){return this.gl.isContextLost()}},{key:"onCreateContext",value:function(){var e;return(e=this.props).onCreateContext.apply(e,arguments)}},{key:"onInitialize",value:function(){var e;return(e=this.props).onInitialize.apply(e,arguments)}},{key:"onRender",value:function(){var e;return(e=this.props).onRender.apply(e,arguments)}},{key:"onFinalize",value:function(){var e;return(e=this.props).onFinalize.apply(e,arguments)}},{key:"getHTMLControlValue",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,A=document.getElementById(e);return A?Number(A.value):t}},{key:"setViewParameters",value:function(){return s.k.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}},{key:"_startLoop",value:function(){var e=this;this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame((function t(){e._running&&(e.redraw(),e._animationFrameId=e._requestAnimationFrame(t))}))}},{key:"_getPageLoadPromise",value:function(){return this._pageLoadPromise||(this._pageLoadPromise=Q?new Promise((function(e,t){Q&&"complete"===document.readyState?e(document):window.addEventListener("load",(function(){e(document)}))})):Promise.resolve({})),this._pageLoadPromise}},{key:"_setDisplay",value:function(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}},{key:"_cancelAnimationFrame",value:function(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):(t=e,"undefined"!==typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(t):clearTimeout(t));var t}},{key:"_requestAnimationFrame",value:function(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):(t=e,"undefined"!==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(t):setTimeout(t,1e3/60));var t}},{key:"_renderFrame",value:function(){var e;this.display?(e=this.display)._renderFrame.apply(e,arguments):this.onRender.apply(this,arguments)}},{key:"_clearNeedsRedraw",value:function(){this.needsRedraw=null}},{key:"_setupFrame",value:function(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}},{key:"_initializeCallbackData",value:function(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}},{key:"_updateCallbackData",value:function(){var e=this._getSizeAndAspect(),t=e.width,A=e.height,n=e.aspect;t===this.animationProps.width&&A===this.animationProps.height||this.setNeedsRedraw("drawing buffer resized"),n!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=A,this.animationProps.aspect=n,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}},{key:"_finalizeCallbackData",value:function(){this.onFinalize(this.animationProps)}},{key:"_addCallbackData",value:function(e){"object"===typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}},{key:"_createWebGLContext",value:function(e){if(this.offScreen=e.canvas&&"undefined"!==typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?Object(s.h)(this.props.gl,e):this.onCreateContext(e),!Object(s.i)(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");Object(s.l)(this.gl),this._createInfoDiv()}},{key:"_createInfoDiv",value:function(){if(this.gl.canvas&&this.props.onAddHTML){var e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";var t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);var A=this.props.onAddHTML(t);A&&(t.innerHTML=A)}}},{key:"_getSizeAndAspect",value:function(){var e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight,A=1,n=this.gl.canvas;return n&&n.clientHeight?A=n.clientWidth/n.clientHeight:e>0&&t>0&&(A=e/t),{width:e,height:t,aspect:A}}},{key:"_resizeViewport",value:function(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}},{key:"_resizeCanvasDrawingBuffer",value:function(){this.autoResizeDrawingBuffer&&Object(s.m)(this.gl,{useDevicePixels:this.useDevicePixels})}},{key:"_createFramebuffer",value:function(){this.props.createFramebuffer&&(this.framebuffer=new p.a(this.gl))}},{key:"_resizeFramebuffer",value:function(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}},{key:"_beginTimers",value:function(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}},{key:"_endTimers",value:function(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}},{key:"_startEventHandling",value:function(){var e=this.gl.canvas;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}},{key:"_onMousemove",value:function(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}},{key:"_onMouseleave",value:function(e){this.animationProps._mousePosition=null}}]),e}()},function(e,t,A){"use strict";var n=A(7),r=A(1),i=A(4),o=A(9),a=A(10),s=A(579),g="\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n",c="\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n",u=function(e){if(!e||!e.extensions)return{};var t=e.filterRange,A=void 0===t?[-1,1]:t,n=e.filterEnabled,r=void 0===n||n,i=e.filterTransformSize,o=void 0===i||i,a=e.filterTransformColor,s=void 0===a||a,g=e.filterSoftRange||A,c=Number.isFinite(A[0])?{filter_min:A[0],filter_softMin:g[0],filter_softMax:g[1],filter_max:A[1]}:{filter_min:A.map((function(e){return e[0]})),filter_softMin:g.map((function(e){return e[0]})),filter_softMax:g.map((function(e){return e[1]})),filter_max:A.map((function(e){return e[1]}))};return c.filter_enabled=r,c.filter_useSoftMargin=Boolean(e.filterSoftRange),c.filter_transformSize=r&&o,c.filter_transformColor=r&&s,c},l={"vs:#main-start":"\n #ifdef DATAFILTER_DOUBLE\n dataFilter_setValue(\n DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,\n DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW\n );\n #else\n dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB);\n #endif\n ","vs:DECKGL_FILTER_SIZE":"\n if (filter_transformSize) {\n size = size * dataFilter_value;\n }\n ","fs:DECKGL_FILTER_COLOR":"\n if (dataFilter_value == 0.0) discard;\n if (filter_transformColor) {\n color.a *= dataFilter_value;\n }\n "},I={name:"data-filter",vs:g,fs:c,inject:l,getUniforms:u},C={name:"data-filter-fp64",vs:g,fs:c,inject:l,getUniforms:function(e){if(!e||!e.extensions)return{};var t=u(e);if(Number.isFinite(t.filter_min)){var A=Math.fround(t.filter_min);t.filter_min-=A,t.filter_softMin-=A,t.filter_min64High=A;var n=Math.fround(t.filter_max);t.filter_max-=n,t.filter_softMax-=n,t.filter_max64High=n}else{var r=t.filter_min.map(Math.fround);t.filter_min=t.filter_min.map((function(e,t){return e-r[t]})),t.filter_softMin=t.filter_softMin.map((function(e,t){return e-r[t]})),t.filter_min64High=r;var i=t.filter_max.map(Math.fround);t.filter_max=t.filter_max.map((function(e,t){return e-i[t]})),t.filter_softMax=t.filter_softMax.map((function(e,t){return e-i[t]})),t.filter_max64High=i}return t}},h=A(2),f=A(161),d=A(232),B=A(18),p=A(422);var E={blend:!0,blendFunc:[1,1,1,1],blendEquation:[32774,32774],depthTest:!1},Q=A(428),y=A(530);A.d(t,"a",(function(){return m}));var v={1:"float",2:"vec2",3:"vec3",4:"vec4"},m=function(e){Object(o.a)(A,e);var t=Object(a.a)(A);function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.filterSize,i=void 0===n?1:n,o=e.fp64,a=void 0!==o&&o,s=e.countItems,g=void 0!==s&&s;if(Object(r.a)(this,A),!v[i])throw new Error("filterSize out of range");return t.call(this,{filterSize:i,fp64:a,countItems:g})}return Object(i.a)(A,[{key:"getShaders",value:function(e){var t=e.opts,A=t.filterSize,n=t.fp64;return{modules:[n?C:I],defines:{DATAFILTER_TYPE:v[A],DATAFILTER_DOUBLE:Boolean(n)}}}},{key:"initializeState",value:function(e,t){var A=this.getAttributeManager();A&&A.add({filterValues:{size:t.opts.filterSize,type:t.opts.fp64?5130:5126,accessor:"getFilterValue",shaderAttributes:{filterValues:{divisor:0},instanceFilterValues:{divisor:1}}}});var r=this.context.gl;if(A&&t.opts.countItems){var i=function(e){return e.getExtension("EXT_float_blend")&&(e.getExtension("EXT_color_buffer_float")||e.getExtension("WEBGL_color_buffer_float"))}(r);A.add({filterIndices:{size:i?1:2,vertexOffset:1,type:5121,normalized:!0,accessor:function(e,t){var A=t.index,n=e&&e.__source?e.__source.index:A;return i?(n+1)%255:[(n+1)%255,Math.floor(n/255)%255]},shaderAttributes:{filterPrevIndices:{vertexOffset:0},filterIndices:{vertexOffset:1}}}});var o=function(e,t){return t?new f.a(e,{width:1,height:1,attachments:Object(h.a)({},36064,new d.a(e,{format:Object(B.j)(e)?34836:6408,type:5126,mipmaps:!1}))}):new f.a(e,{width:256,height:64,depth:!1})}(r,i),a=function(e,t,A){return t.defines.NON_INSTANCED_MODEL=1,A&&(t.defines.FLOAT_TARGET=1),new p.a(e,Object(n.a)({id:"data-filter-aggregation-model",vertexCount:1,isInstanced:!1,drawMode:0,vs:"#define SHADER_NAME data-filter-vertex-shader\n\n#ifdef FLOAT_TARGET\n attribute float filterIndices;\n attribute float filterPrevIndices;\n#else\n attribute vec2 filterIndices;\n attribute vec2 filterPrevIndices;\n#endif\n\nvarying vec4 vColor;\nconst float component = 1.0 / 255.0;\n\nvoid main() {\n #ifdef FLOAT_TARGET\n dataFilter_value *= float(filterIndices != filterPrevIndices);\n gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\n vColor = vec4(0.0, 0.0, 0.0, 1.0);\n #else\n // Float texture is not supported: pack result into 4 channels x 256 px x 64px\n dataFilter_value *= float(filterIndices.x != filterPrevIndices.x);\n float col = filterIndices.x;\n float row = filterIndices.y * 4.0;\n float channel = floor(row);\n row = fract(row);\n vColor = component * vec4(bvec4(channel == 0.0, channel == 1.0, channel == 2.0, channel == 3.0));\n gl_Position = vec4(col * 2.0 - 1.0, row * 2.0 - 1.0, 0.0, 1.0);\n #endif\n gl_PointSize = 1.0;\n}\n",fs:"#define SHADER_NAME data-filter-fragment-shader\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main() {\n if (dataFilter_value < 0.5) {\n discard;\n }\n gl_FragColor = vColor;\n}\n"},t))}(r,t.getShaders(t),i);this.setState({filterFBO:o,filterModel:a})}}},{key:"updateState",value:function(e){var t=e.props,A=e.oldProps;if(this.state.filterModel){var n=this.getAttributeManager().attributes.filterValues.needsUpdate()||t.filterEnabled!==A.filterEnabled||t.filterRange!==A.filterRange||t.filterSoftRange!==A.filterSoftRange;n&&this.setState({filterNeedsUpdate:n})}}},{key:"draw",value:function(e,t){var A=this.state,r=A.filterFBO,i=A.filterModel,o=A.filterNeedsUpdate,a=this.props.onFilteredItemsChange;if(o&&a&&i){var s=this.getAttributeManager().attributes,g=s.filterValues,c=s.filterIndices;i.setVertexCount(this.getNumInstances());var u=this.context.gl;Object(Q.a)(u,{framebuffer:r,color:[0,0,0,0]}),i.updateModuleSettings(e.moduleParameters).setAttributes(Object(n.a)({},g.getShaderAttributes(),{},c&&c.getShaderAttributes())).draw({framebuffer:r,parameters:Object(n.a)({},E,{viewport:[0,0,r.width,r.height]})});for(var l=Object(y.c)(r),I=0,C=0;C<l.length;C++)I+=l[C];a({id:this.id,count:I}),this.state.filterNeedsUpdate=!1}}},{key:"finalizeState",value:function(){var e=this.state,t=e.filterFBO,A=e.filterModel;t&&(t.color.delete(),t.delete(),A.delete())}}]),A}(s.a);m.extensionName="DataFilterExtension",m.defaultProps={getFilterValue:{type:"accessor",value:0},onFilteredItemsChange:{type:"function",value:null,compare:!1},filterEnabled:!0,filterRange:[-1,1],filterSoftRange:null,filterTransformSize:!0,filterTransformColor:!0}},function(e,t,A){"use strict";var n=A(329);A.d(t,"a",(function(){return r}));var r={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[n.a]}},function(e,t,A){"use strict";function n(e){return e}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";var n=A(101),r=A(401),i=A(174);A.d(t,"a",(function(){return u}));var o={m:"margin",p:"padding"},a={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},s={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},g=function(e){var t={};return function(A){return void 0===t[A]&&(t[A]=e(A)),t[A]}}((function(e){if(e.length>2){if(!s[e])return[e];e=s[e]}var t=e.split(""),A=Object(n.a)(t,2),r=A[0],i=A[1],g=o[r],c=a[i]||"";return Array.isArray(c)?c.map((function(e){return g+e})):[g+c]})),c=["m","mt","mr","mb","ml","mx","my","p","pt","pr","pb","pl","px","py","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY"];function u(e){var t=e.spacing||8;return"number"===typeof t?function(e){return t*e}:Array.isArray(t)?function(e){return t[e]}:"function"===typeof t?t:function(){}}function l(e,t){return function(A){return e.reduce((function(e,n){return e[n]=function(e,t){if("string"===typeof t||null==t)return t;var A=e(Math.abs(t));return t>=0?A:"number"===typeof A?-A:"-".concat(A)}(t,A),e}),{})}}function I(e){var t=u(e.theme);return Object.keys(e).map((function(A){if(-1===c.indexOf(A))return null;var n=l(g(A),t),i=e[A];return Object(r.a)(e,i,n)})).reduce(i.a,{})}I.propTypes={},I.filterProps=c;t.b=I},function(e,t,A){"use strict";var n=A(21),r=A(25),i=A(14),o=A(0),a=(A(13),A(19)),s=A(28),g=A(433),c=A(207),u=A(51),l=A(289),I=A(39),C="undefined"===typeof window?o.useEffect:o.useLayoutEffect,h=o.forwardRef((function(e,t){var A=e.alignItems,r=void 0===A?"center":A,s=e.autoFocus,h=void 0!==s&&s,f=e.button,d=void 0!==f&&f,B=e.children,p=e.classes,E=e.className,Q=e.component,y=e.ContainerComponent,v=void 0===y?"li":y,m=e.ContainerProps,b=(m=void 0===m?{}:m).className,w=Object(n.a)(m,["className"]),S=e.dense,F=void 0!==S&&S,R=e.disabled,D=void 0!==R&&R,G=e.disableGutters,k=void 0!==G&&G,x=e.divider,N=void 0!==x&&x,U=e.focusVisibleClassName,_=e.selected,M=void 0!==_&&_,O=Object(n.a)(e,["alignItems","autoFocus","button","children","classes","className","component","ContainerComponent","ContainerProps","dense","disabled","disableGutters","divider","focusVisibleClassName","selected"]),L=o.useContext(l.a),T={dense:F||L.dense||!1,alignItems:r},Z=o.useRef(null);C((function(){h&&Z.current&&Z.current.focus()}),[h]);var H=o.Children.toArray(B),Y=H.length&&Object(c.a)(H[H.length-1],["ListItemSecondaryAction"]),J=o.useCallback((function(e){Z.current=I.findDOMNode(e)}),[]),j=Object(u.a)(J,t),P=Object(i.a)({className:Object(a.a)(p.root,E,T.dense&&p.dense,!k&&p.gutters,N&&p.divider,D&&p.disabled,d&&p.button,"center"!==r&&p.alignItemsFlexStart,Y&&p.secondaryAction,M&&p.selected),disabled:D},O),V=Q||"li";return d&&(P.component=Q||"div",P.focusVisibleClassName=Object(a.a)(p.focusVisible,U),V=g.a),Y?(V=P.component||Q?V:"div","li"===v&&("li"===V?V="div":"li"===P.component&&(P.component="div")),o.createElement(l.a.Provider,{value:T},o.createElement(v,Object(i.a)({className:Object(a.a)(p.container,b),ref:j},w),o.createElement(V,P,H),H.pop()))):o.createElement(l.a.Provider,{value:T},o.createElement(V,Object(i.a)({ref:j},P),H))})),f=Object(s.a)((function(e){return{root:{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,"&$focusVisible":{backgroundColor:e.palette.action.selected},"&$selected, &$selected:hover":{backgroundColor:e.palette.action.selected},"&$disabled":{opacity:.5}},container:{position:"relative"},focusVisible:{},dense:{paddingTop:4,paddingBottom:4},alignItemsFlexStart:{alignItems:"flex-start"},disabled:{},divider:{borderBottom:"1px solid ".concat(e.palette.divider),backgroundClip:"padding-box"},gutters:{paddingLeft:16,paddingRight:16},button:{transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:e.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},secondaryAction:{paddingRight:48},selected:{}}}),{name:"MuiListItem"})(h),d=o.forwardRef((function(e,t){var A,r=e.classes,s=e.className,g=e.component,c=void 0===g?"li":g,u=e.disableGutters,l=void 0!==u&&u,I=e.ListItemClasses,C=e.role,h=void 0===C?"menuitem":C,d=e.selected,B=e.tabIndex,p=Object(n.a)(e,["classes","className","component","disableGutters","ListItemClasses","role","selected","tabIndex"]);return e.disabled||(A=void 0!==B?B:-1),o.createElement(f,Object(i.a)({button:!0,role:h,tabIndex:A,component:c,selected:d,disableGutters:l,classes:Object(i.a)({dense:r.dense},I),className:Object(a.a)(r.root,s,d&&r.selected,!l&&r.gutters),ref:t},p))}));t.a=Object(s.a)((function(e){return{root:Object(i.a)({},e.typography.body1,Object(r.a)({minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",width:"auto",overflow:"hidden",whiteSpace:"nowrap"},e.breakpoints.up("sm"),{minHeight:"auto"})),gutters:{},selected:{},dense:Object(i.a)({},e.typography.body2,{minHeight:"auto"})}}),{name:"MuiMenuItem"})(d)},function(e,t,A){"use strict";var n=A(137),r=A(101),i=A(21),o=A(14),a=A(0),s=(A(13),A(19)),g=A(28),c=A(114),u=A(60),l=A(200),I=A(69),C=A(66),h=A(51),f=A(40),d=A(160);var B=Object(g.a)((function(e){return{thumb:{"&$open":{"& $offset":{transform:"scale(1) translateY(-10px)"}}},open:{},offset:Object(o.a)({zIndex:1},e.typography.body2,{fontSize:e.typography.pxToRem(12),lineHeight:1.2,transition:e.transitions.create(["transform"],{duration:e.transitions.duration.shortest}),top:-34,transformOrigin:"bottom center",transform:"scale(0)",position:"absolute"}),circle:{display:"flex",alignItems:"center",justifyContent:"center",width:32,height:32,borderRadius:"50% 50% 50% 0",backgroundColor:"currentColor",transform:"rotate(-45deg)"},label:{color:e.palette.primary.contrastText,transform:"rotate(45deg)"}}}),{name:"PrivateValueLabel"})((function(e){var t=e.children,A=e.classes,n=e.className,r=e.open,i=e.value,o=e.valueLabelDisplay;return"off"===o?t:a.cloneElement(t,{className:Object(s.a)(t.props.className,(r||"on"===o)&&A.open,A.thumb)},a.createElement("span",{className:Object(s.a)(A.offset,n)},a.createElement("span",{className:A.circle},a.createElement("span",{className:A.label},i))))}));function p(e,t){return e-t}function E(e,t,A){return Math.min(Math.max(t,e),A)}function Q(e,t){return e.reduce((function(e,A,n){var r=Math.abs(t-A);return null===e||r<e.distance||r===e.distance?{distance:r,index:n}:e}),null).index}function y(e,t){if(void 0!==t.current&&e.changedTouches){for(var A=0;A<e.changedTouches.length;A+=1){var n=e.changedTouches[A];if(n.identifier===t.current)return{x:n.clientX,y:n.clientY}}return!1}return{x:e.clientX,y:e.clientY}}function v(e,t,A){return 100*(e-t)/(A-t)}function m(e,t,A){var n=Math.round((e-A)/t)*t+A;return Number(n.toFixed(function(e){if(Math.abs(e)<1){var t=e.toExponential().split("e-"),A=t[0].split(".")[1];return(A?A.length:0)+parseInt(t[1],10)}var n=e.toString().split(".")[1];return n?n.length:0}(t)))}function b(e){var t=e.values,A=e.source,n=e.newValue,r=e.index;if(t[r]===n)return A;var i=t.slice();return i[r]=n,i}function w(e){var t=e.sliderRef,A=e.activeIndex,n=e.setActive;t.current.contains(document.activeElement)&&Number(document.activeElement.getAttribute("data-index"))===A||t.current.querySelector('[role="slider"][data-index="'.concat(A,'"]')).focus(),n&&n(A)}var S={horizontal:{offset:function(e){return{left:"".concat(e,"%")}},leap:function(e){return{width:"".concat(e,"%")}}},"horizontal-reverse":{offset:function(e){return{right:"".concat(e,"%")}},leap:function(e){return{width:"".concat(e,"%")}}},vertical:{offset:function(e){return{bottom:"".concat(e,"%")}},leap:function(e){return{height:"".concat(e,"%")}}}},F=function(e){return e},R=a.forwardRef((function(e,t){var A=e["aria-label"],g=e["aria-labelledby"],u=e["aria-valuetext"],R=e.classes,D=e.className,G=e.color,k=void 0===G?"primary":G,x=e.component,N=void 0===x?"span":x,U=e.defaultValue,_=e.disabled,M=void 0!==_&&_,O=e.getAriaLabel,L=e.getAriaValueText,T=e.marks,Z=void 0!==T&&T,H=e.max,Y=void 0===H?100:H,J=e.min,j=void 0===J?0:J,P=e.name,V=e.onChange,K=e.onChangeCommitted,W=e.onMouseDown,X=e.orientation,q=void 0===X?"horizontal":X,z=e.scale,$=void 0===z?F:z,ee=e.step,te=void 0===ee?1:ee,Ae=e.ThumbComponent,ne=void 0===Ae?"span":Ae,re=e.track,ie=void 0===re?"normal":re,oe=e.value,ae=e.ValueLabelComponent,se=void 0===ae?B:ae,ge=e.valueLabelDisplay,ce=void 0===ge?"off":ge,ue=e.valueLabelFormat,le=void 0===ue?F:ue,Ie=Object(i.a)(e,["aria-label","aria-labelledby","aria-valuetext","classes","className","color","component","defaultValue","disabled","getAriaLabel","getAriaValueText","marks","max","min","name","onChange","onChangeCommitted","onMouseDown","orientation","scale","step","ThumbComponent","track","value","ValueLabelComponent","valueLabelDisplay","valueLabelFormat"]),Ce=Object(c.a)(),he=a.useRef(),fe=a.useState(-1),de=fe[0],Be=fe[1],pe=a.useState(-1),Ee=pe[0],Qe=pe[1],ye=Object(d.a)({controlled:oe,default:U,name:"Slider"}),ve=Object(r.a)(ye,2),me=ve[0],be=ve[1],we=Array.isArray(me),Se=we?me.slice().sort(p):[me];Se=Se.map((function(e){return E(e,j,Y)}));var Fe=!0===Z&&null!==te?Object(n.a)(Array(Math.floor((Y-j)/te)+1)).map((function(e,t){return{value:j+te*t}})):Z||[],Re=Object(l.a)(),De=Re.isFocusVisible,Ge=Re.onBlurVisible,ke=Re.ref,xe=a.useState(-1),Ne=xe[0],Ue=xe[1],_e=a.useRef(),Me=Object(h.a)(ke,_e),Oe=Object(h.a)(t,Me),Le=Object(C.a)((function(e){var t=Number(e.currentTarget.getAttribute("data-index"));De(e)&&Ue(t),Qe(t)})),Te=Object(C.a)((function(){-1!==Ne&&(Ue(-1),Ge()),Qe(-1)})),Ze=Object(C.a)((function(e){var t=Number(e.currentTarget.getAttribute("data-index"));Qe(t)})),He=Object(C.a)((function(){Qe(-1)})),Ye="rtl"===Ce.direction,Je=Object(C.a)((function(e){var t,A=Number(e.currentTarget.getAttribute("data-index")),n=Se[A],r=(Y-j)/10,i=Fe.map((function(e){return e.value})),o=i.indexOf(n),a=Ye?"ArrowLeft":"ArrowRight",s=Ye?"ArrowRight":"ArrowLeft";switch(e.key){case"Home":t=j;break;case"End":t=Y;break;case"PageUp":te&&(t=n+r);break;case"PageDown":te&&(t=n-r);break;case a:case"ArrowUp":t=te?n+te:i[o+1]||i[i.length-1];break;case s:case"ArrowDown":t=te?n-te:i[o-1]||i[0];break;default:return}if(e.preventDefault(),te&&(t=m(t,te,j)),t=E(t,j,Y),we){var g=t;t=b({values:Se,source:me,newValue:t,index:A}).sort(p),w({sliderRef:_e,activeIndex:t.indexOf(g)})}be(t),Ue(A),V&&V(e,t),K&&K(e,t)})),je=a.useRef(),Pe=q;Ye&&"vertical"!==q&&(Pe+="-reverse");var Ve=function(e){var t,A,n=e.finger,r=e.move,i=void 0!==r&&r,o=e.values,a=e.source,s=_e.current.getBoundingClientRect(),g=s.width,c=s.height,u=s.bottom,l=s.left;if(t=0===Pe.indexOf("vertical")?(u-n.y)/c:(n.x-l)/g,-1!==Pe.indexOf("-reverse")&&(t=1-t),A=function(e,t,A){return(A-t)*e+t}(t,j,Y),te)A=m(A,te,j);else{var I=Fe.map((function(e){return e.value}));A=I[Q(I,A)]}A=E(A,j,Y);var C=0;if(we){var h=A;C=(A=b({values:o,source:a,newValue:A,index:C=i?je.current:Q(o,A)}).sort(p)).indexOf(h),je.current=C}return{newValue:A,activeIndex:C}},Ke=Object(C.a)((function(e){var t=y(e,he);if(t){var A=Ve({finger:t,move:!0,values:Se,source:me}),n=A.newValue,r=A.activeIndex;w({sliderRef:_e,activeIndex:r,setActive:Be}),be(n),V&&V(e,n)}})),We=Object(C.a)((function(e){var t=y(e,he);if(t){var A=Ve({finger:t,values:Se,source:me}).newValue;Be(-1),"touchend"===e.type&&Qe(-1),K&&K(e,A),he.current=void 0;var n=Object(I.a)(_e.current);n.removeEventListener("mousemove",Ke),n.removeEventListener("mouseup",We),n.removeEventListener("touchmove",Ke),n.removeEventListener("touchend",We)}})),Xe=Object(C.a)((function(e){e.preventDefault();var t=e.changedTouches[0];null!=t&&(he.current=t.identifier);var A=y(e,he),n=Ve({finger:A,values:Se,source:me}),r=n.newValue,i=n.activeIndex;w({sliderRef:_e,activeIndex:i,setActive:Be}),be(r),V&&V(e,r);var o=Object(I.a)(_e.current);o.addEventListener("touchmove",Ke),o.addEventListener("touchend",We)}));a.useEffect((function(){var e=_e.current;e.addEventListener("touchstart",Xe);var t=Object(I.a)(e);return function(){e.removeEventListener("touchstart",Xe),t.removeEventListener("mousemove",Ke),t.removeEventListener("mouseup",We),t.removeEventListener("touchmove",Ke),t.removeEventListener("touchend",We)}}),[We,Ke,Xe]);var qe=Object(C.a)((function(e){W&&W(e),e.preventDefault();var t=y(e,he),A=Ve({finger:t,values:Se,source:me}),n=A.newValue,r=A.activeIndex;w({sliderRef:_e,activeIndex:r,setActive:Be}),be(n),V&&V(e,n);var i=Object(I.a)(_e.current);i.addEventListener("mousemove",Ke),i.addEventListener("mouseup",We)})),ze=v(we?Se[0]:j,j,Y),$e=v(Se[Se.length-1],j,Y)-ze,et=Object(o.a)({},S[Pe].offset(ze),S[Pe].leap($e));return a.createElement(N,Object(o.a)({ref:Oe,className:Object(s.a)(R.root,R["color".concat(Object(f.a)(k))],D,M&&R.disabled,Fe.length>0&&Fe.some((function(e){return e.label}))&&R.marked,!1===ie&&R.trackFalse,"vertical"===q&&R.vertical,"inverted"===ie&&R.trackInverted),onMouseDown:qe},Ie),a.createElement("span",{className:R.rail}),a.createElement("span",{className:R.track,style:et}),a.createElement("input",{value:Se.join(","),name:P,type:"hidden"}),Fe.map((function(e,t){var A,n=v(e.value,j,Y),r=S[Pe].offset(n);return A=!1===ie?-1!==Se.indexOf(e.value):"normal"===ie&&(we?e.value>=Se[0]&&e.value<=Se[Se.length-1]:e.value<=Se[0])||"inverted"===ie&&(we?e.value<=Se[0]||e.value>=Se[Se.length-1]:e.value>=Se[0]),a.createElement(a.Fragment,{key:e.value},a.createElement("span",{style:r,"data-index":t,className:Object(s.a)(R.mark,A&&R.markActive)}),null!=e.label?a.createElement("span",{"aria-hidden":!0,"data-index":t,style:r,className:Object(s.a)(R.markLabel,A&&R.markLabelActive)},e.label):null)})),Se.map((function(e,t){var n=v(e,j,Y),r=S[Pe].offset(n);return a.createElement(se,{key:t,valueLabelFormat:le,valueLabelDisplay:ce,className:R.valueLabel,value:"function"===typeof le?le($(e),t):le,index:t,open:Ee===t||de===t||"on"===ce,disabled:M},a.createElement(ne,{className:Object(s.a)(R.thumb,R["thumbColor".concat(Object(f.a)(k))],de===t&&R.active,M&&R.disabled,Ne===t&&R.focusVisible),tabIndex:M?null:0,role:"slider",style:r,"data-index":t,"aria-label":O?O(t):A,"aria-labelledby":g,"aria-orientation":q,"aria-valuemax":$(Y),"aria-valuemin":$(j),"aria-valuenow":$(e),"aria-valuetext":L?L($(e),t):u,onKeyDown:Je,onFocus:Le,onBlur:Te,onMouseOver:Ze,onMouseLeave:He}))})))}));t.a=Object(g.a)((function(e){return{root:{height:2,width:"100%",boxSizing:"content-box",padding:"13px 0",display:"inline-block",position:"relative",cursor:"pointer",touchAction:"none",color:e.palette.primary.main,WebkitTapHighlightColor:"transparent","&$disabled":{pointerEvents:"none",cursor:"default",color:e.palette.grey[400]},"&$vertical":{width:2,height:"100%",padding:"0 13px"},"@media (pointer: coarse)":{padding:"20px 0","&$vertical":{padding:"0 20px"}},"@media print":{colorAdjust:"exact"}},colorPrimary:{},colorSecondary:{color:e.palette.secondary.main},marked:{marginBottom:20,"&$vertical":{marginBottom:"auto",marginRight:20}},vertical:{},disabled:{},rail:{display:"block",position:"absolute",width:"100%",height:2,borderRadius:1,backgroundColor:"currentColor",opacity:.38,"$vertical &":{height:"100%",width:2}},track:{display:"block",position:"absolute",height:2,borderRadius:1,backgroundColor:"currentColor","$vertical &":{width:2}},trackFalse:{"& $track":{display:"none"}},trackInverted:{"& $track":{backgroundColor:"light"===e.palette.type?Object(u.d)(e.palette.primary.main,.62):Object(u.b)(e.palette.primary.main,.5)},"& $rail":{opacity:1}},thumb:{position:"absolute",width:12,height:12,marginLeft:-6,marginTop:-5,boxSizing:"border-box",borderRadius:"50%",outline:0,backgroundColor:"currentColor",display:"flex",alignItems:"center",justifyContent:"center",transition:e.transitions.create(["box-shadow"],{duration:e.transitions.duration.shortest}),"&::after":{position:"absolute",content:'""',borderRadius:"50%",left:-15,top:-15,right:-15,bottom:-15},"&$focusVisible,&:hover":{boxShadow:"0px 0px 0px 8px ".concat(Object(u.a)(e.palette.primary.main,.16)),"@media (hover: none)":{boxShadow:"none"}},"&$active":{boxShadow:"0px 0px 0px 14px ".concat(Object(u.a)(e.palette.primary.main,.16))},"&$disabled":{width:8,height:8,marginLeft:-4,marginTop:-3,"&:hover":{boxShadow:"none"}},"$vertical &":{marginLeft:-5,marginBottom:-6},"$vertical &$disabled":{marginLeft:-3,marginBottom:-4}},thumbColorPrimary:{},thumbColorSecondary:{"&$focusVisible,&:hover":{boxShadow:"0px 0px 0px 8px ".concat(Object(u.a)(e.palette.secondary.main,.16))},"&$active":{boxShadow:"0px 0px 0px 14px ".concat(Object(u.a)(e.palette.secondary.main,.16))}},active:{},focusVisible:{},valueLabel:{left:"calc(-50% - 4px)"},mark:{position:"absolute",width:2,height:2,borderRadius:1,backgroundColor:"currentColor"},markActive:{backgroundColor:e.palette.background.paper,opacity:.8},markLabel:Object(o.a)({},e.typography.body2,{color:e.palette.text.secondary,position:"absolute",top:26,transform:"translateX(-50%)",whiteSpace:"nowrap","$vertical &":{top:"auto",left:26,transform:"translateY(50%)"},"@media (pointer: coarse)":{top:40,"$vertical &":{left:31}}}),markLabelActive:{color:e.palette.text.primary}}}),{name:"MuiSlider"})(R)},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(195),A(13),A(39)),a=A(69),s=A(19),g=A(28),c=A(289),u=i.forwardRef((function(e,t){var A=e.children,o=e.classes,a=e.className,g=e.component,u=void 0===g?"ul":g,l=e.dense,I=void 0!==l&&l,C=e.disablePadding,h=void 0!==C&&C,f=e.subheader,d=Object(r.a)(e,["children","classes","className","component","dense","disablePadding","subheader"]),B=i.useMemo((function(){return{dense:I}}),[I]);return i.createElement(c.a.Provider,{value:B},i.createElement(u,Object(n.a)({className:Object(s.a)(o.root,a,I&&o.dense,!h&&o.padding,f&&o.subheader),ref:t},d),f,A))})),l=Object(g.a)({root:{listStyle:"none",margin:0,padding:0,position:"relative"},padding:{paddingTop:8,paddingBottom:8},dense:{},subheader:{paddingTop:0}},{name:"MuiList"})(u),I=A(414),C=A(51);function h(e,t,A){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:A?null:e.firstChild}function f(e,t,A){return e===t?A?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:A?null:e.lastChild}function d(e,t){if(void 0===t)return!0;var A=e.innerText;return void 0===A&&(A=e.textContent),0!==(A=A.trim().toLowerCase()).length&&(t.repeating?A[0]===t.keys[0]:0===A.indexOf(t.keys.join("")))}function B(e,t,A,n,r,i){for(var o=!1,a=r(e,t,!!t&&A);a;){if(a===e.firstChild){if(o)return;o=!0}var s=!n&&(a.disabled||"true"===a.getAttribute("aria-disabled"));if(a.hasAttribute("tabindex")&&d(a,i)&&!s)return void a.focus();a=r(e,a,A)}}var p="undefined"===typeof window?i.useEffect:i.useLayoutEffect,E=i.forwardRef((function(e,t){var A=e.actions,s=e.autoFocus,g=void 0!==s&&s,c=e.autoFocusItem,u=void 0!==c&&c,E=e.children,Q=e.className,y=e.disabledItemsFocusable,v=void 0!==y&&y,m=e.disableListWrap,b=void 0!==m&&m,w=e.onKeyDown,S=e.variant,F=void 0===S?"selectedMenu":S,R=Object(r.a)(e,["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"]),D=i.useRef(null),G=i.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});p((function(){g&&D.current.focus()}),[g]),i.useImperativeHandle(A,(function(){return{adjustStyleForScrollbar:function(e,t){var A=!D.current.style.width;if(e.clientHeight<D.current.clientHeight&&A){var n="".concat(Object(I.a)(!0),"px");D.current.style["rtl"===t.direction?"paddingLeft":"paddingRight"]=n,D.current.style.width="calc(100% + ".concat(n,")")}return D.current}}}),[]);var k=i.useCallback((function(e){D.current=o.findDOMNode(e)}),[]),x=Object(C.a)(k,t),N=-1;i.Children.forEach(E,(function(e,t){i.isValidElement(e)&&(e.props.disabled||("selectedMenu"===F&&e.props.selected||-1===N)&&(N=t))}));var U=i.Children.map(E,(function(e,t){if(t===N){var A={};return u&&(A.autoFocus=!0),void 0===e.props.tabIndex&&"selectedMenu"===F&&(A.tabIndex=0),i.cloneElement(e,A)}return e}));return i.createElement(l,Object(n.a)({role:"menu",ref:x,className:Q,onKeyDown:function(e){var t=D.current,A=e.key,n=Object(a.a)(t).activeElement;if("ArrowDown"===A)e.preventDefault(),B(t,n,b,v,h);else if("ArrowUp"===A)e.preventDefault(),B(t,n,b,v,f);else if("Home"===A)e.preventDefault(),B(t,null,b,v,h);else if("End"===A)e.preventDefault(),B(t,null,b,v,f);else if(1===A.length){var r=G.current,i=A.toLowerCase(),o=performance.now();r.keys.length>0&&(o-r.lastTime>500?(r.keys=[],r.repeating=!0,r.previousKeyMatched=!0):r.repeating&&i!==r.keys[0]&&(r.repeating=!1)),r.lastTime=o,r.keys.push(i);var s=n&&!r.repeating&&d(n,r);r.previousKeyMatched&&(s||B(t,n,!1,v,h,r))?e.preventDefault():r.previousKeyMatched=!1}w&&w(e)},tabIndex:g?0:-1},R),U)}));t.a=E},function(e,t,A){"use strict";var n=A(14),r=A(21),i=A(0),o=(A(13),A(19)),a=A(166),s=A(167),g=A(28),c=A(40),u=i.forwardRef((function(e,t){var A=e.children,g=e.classes,u=e.className,l=(e.color,e.component),I=void 0===l?"label":l,C=(e.disabled,e.error,e.filled,e.focused,e.required,Object(r.a)(e,["children","classes","className","color","component","disabled","error","filled","focused","required"])),h=Object(s.a)(),f=Object(a.a)({props:e,muiFormControl:h,states:["color","required","focused","disabled","error","filled"]});return i.createElement(I,Object(n.a)({className:Object(o.a)(g.root,g["color".concat(Object(c.a)(f.color||"primary"))],u,f.disabled&&g.disabled,f.error&&g.error,f.filled&&g.filled,f.focused&&g.focused,f.required&&g.required),ref:t},C),A,f.required&&i.createElement("span",{"aria-hidden":!0,className:Object(o.a)(g.asterisk,f.error&&g.error)},"\u2009","*"))})),l=Object(g.a)((function(e){return{root:Object(n.a)({color:e.palette.text.secondary},e.typography.body1,{lineHeight:1,padding:0,"&$focused":{color:e.palette.primary.main},"&$disabled":{color:e.palette.text.disabled},"&$error":{color:e.palette.error.main}}),colorSecondary:{"&$focused":{color:e.palette.secondary.main}},focused:{},disabled:{},error:{},filled:{},required:{},asterisk:{"&$error":{color:e.palette.error.main}}}}),{name:"MuiFormLabel"})(u),I=i.forwardRef((function(e,t){var A=e.classes,g=e.className,c=e.disableAnimation,u=void 0!==c&&c,I=(e.margin,e.shrink),C=(e.variant,Object(r.a)(e,["classes","className","disableAnimation","margin","shrink","variant"])),h=Object(s.a)(),f=I;"undefined"===typeof f&&h&&(f=h.filled||h.focused||h.adornedStart);var d=Object(a.a)({props:e,muiFormControl:h,states:["margin","variant"]});return i.createElement(l,Object(n.a)({"data-shrink":f,className:Object(o.a)(A.root,g,h&&A.formControl,!u&&A.animated,f&&A.shrink,"dense"===d.margin&&A.marginDense,{filled:A.filled,outlined:A.outlined}[d.variant]),classes:{focused:A.focused,disabled:A.disabled,error:A.error,required:A.required,asterisk:A.asterisk},ref:t},C))}));t.a=Object(g.a)((function(e){return{root:{display:"block",transformOrigin:"top left"},focused:{},disabled:{},error:{},required:{},asterisk:{},formControl:{position:"absolute",left:0,top:0,transform:"translate(0, 24px) scale(1)"},marginDense:{transform:"translate(0, 21px) scale(1)"},shrink:{transform:"translate(0, 1.5px) scale(0.75)",transformOrigin:"top left"},animated:{transition:e.transitions.create(["color","transform"],{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut})},filled:{zIndex:1,pointerEvents:"none",transform:"translate(12px, 20px) scale(1)","&$marginDense":{transform:"translate(12px, 17px) scale(1)"},"&$shrink":{transform:"translate(12px, 10px) scale(0.75)","&$marginDense":{transform:"translate(12px, 7px) scale(0.75)"}}},outlined:{zIndex:1,pointerEvents:"none",transform:"translate(14px, 20px) scale(1)","&$marginDense":{transform:"translate(14px, 12px) scale(1)"},"&$shrink":{transform:"translate(14px, -6px) scale(0.75)"}}}}),{name:"MuiInputLabel"})(I)}]]); //# sourceMappingURL=2.eb2fd6ea.chunk.js.map