three-globe
Version:
Globe data visualization as a ThreeJS reusable 3D object
2 lines • 434 kB
JavaScript
// Version 2.24.5 three-globe - https://github.com/vasturiano/three-globe
!function(A,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("three")):"function"==typeof define&&define.amd?define(["three"],t):(A="undefined"!=typeof globalThis?globalThis:A||self).ThreeGlobe=t(A.THREE)}(this,(function(A){"use strict";function t(A,t){var e=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(A,t).enumerable}))),e.push.apply(e,n)}return e}function e(A){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?t(Object(n),!0).forEach((function(t){o(A,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach((function(t){Object.defineProperty(A,t,Object.getOwnPropertyDescriptor(n,t))}))}return A}function n(A,t){if(!(A instanceof t))throw new TypeError("Cannot call a class as a function")}function r(A,t){for(var e=0;e<t.length;e++){var n=t[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(A,n.key,n)}}function i(A,t,e){return t&&r(A.prototype,t),e&&r(A,e),Object.defineProperty(A,"prototype",{writable:!1}),A}function o(A,t,e){return t in A?Object.defineProperty(A,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):A[t]=e,A}function a(A,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(t&&t.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),Object.defineProperty(A,"prototype",{writable:!1}),t&&u(A,t)}function l(A){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(A){return A.__proto__||Object.getPrototypeOf(A)},l(A)}function u(A,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(A,t){return A.__proto__=t,A},u(A,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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}function f(A,t,e){return f=s()?Reflect.construct.bind():function(A,t,e){var n=[null];n.push.apply(n,t);var r=new(Function.bind.apply(A,n));return e&&u(r,e.prototype),r},f.apply(null,arguments)}function c(A,t){if(null==A)return{};var e,n,r=function(A,t){if(null==A)return{};var e,n,r={},i=Object.keys(A);for(n=0;n<i.length;n++)e=i[n],t.indexOf(e)>=0||(r[e]=A[e]);return r}(A,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(A);for(n=0;n<i.length;n++)e=i[n],t.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(A,e)&&(r[e]=A[e])}return r}function h(A){if(void 0===A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A}function d(A,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(A)}function m(A){var t=s();return function(){var e,n=l(A);if(t){var r=l(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return d(this,e)}}function p(A,t){return function(A){if(Array.isArray(A))return A}(A)||function(A,t){var e=null==A?null:"undefined"!=typeof Symbol&&A[Symbol.iterator]||A["@@iterator"];if(null==e)return;var n,r,i=[],o=!0,a=!1;try{for(e=e.call(A);!(o=(n=e.next()).done)&&(i.push(n.value),!t||i.length!==t);o=!0);}catch(A){a=!0,r=A}finally{try{o||null==e.return||e.return()}finally{if(a)throw r}}return i}(A,t)||v(A,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 g(A){return function(A){if(Array.isArray(A))return y(A)}(A)||function(A){if("undefined"!=typeof Symbol&&null!=A[Symbol.iterator]||null!=A["@@iterator"])return Array.from(A)}(A)||v(A)||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 v(A,t){if(A){if("string"==typeof A)return y(A,t);var e=Object.prototype.toString.call(A).slice(8,-1);return"Object"===e&&A.constructor&&(e=A.constructor.name),"Map"===e||"Set"===e?Array.from(A):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?y(A,t):void 0}}function y(A,t){(null==t||t>A.length)&&(t=A.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=A[e];return n}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function b(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}function q(A,t,e){var n,r,i,o,a;function l(){var u=Date.now()-o;u<t&&u>=0?n=setTimeout(l,t-u):(n=null,e||(a=A.apply(i,r),i=r=null))}null==t&&(t=100);var u=function(){i=this,r=arguments,o=Date.now();var u=e&&!n;return n||(n=setTimeout(l,t)),u&&(a=A.apply(i,r),i=r=null),a};return u.clear=function(){n&&(clearTimeout(n),n=null)},u.flush=function(){n&&(a=A.apply(i,r),i=r=null,clearTimeout(n),n=null)},u}q.debounce=q;var x=q;function w(A,t){for(var e=0;e<t.length;e++){var n=t[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(A,n.key,n)}}function _(A,t,e){return t&&w(A.prototype,t),e&&w(A,e),Object.defineProperty(A,"prototype",{writable:!1}),A}function M(A,t){return function(A){if(Array.isArray(A))return A}(A)||function(A,t){var e=null==A?null:"undefined"!=typeof Symbol&&A[Symbol.iterator]||A["@@iterator"];if(null==e)return;var n,r,i=[],o=!0,a=!1;try{for(e=e.call(A);!(o=(n=e.next()).done)&&(i.push(n.value),!t||i.length!==t);o=!0);}catch(A){a=!0,r=A}finally{try{o||null==e.return||e.return()}finally{if(a)throw r}}return i}(A,t)||function(A,t){if(!A)return;if("string"==typeof A)return B(A,t);var e=Object.prototype.toString.call(A).slice(8,-1);"Object"===e&&A.constructor&&(e=A.constructor.name);if("Map"===e||"Set"===e)return Array.from(A);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return B(A,t)}(A,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(A,t){(null==t||t>A.length)&&(t=A.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=A[e];return n}var E=_((function A(t,e){var n=e.default,r=void 0===n?null:n,i=e.triggerUpdate,o=void 0===i||i,a=e.onChange,l=void 0===a?function(A,t){}:a;!function(A,t){if(!(A instanceof t))throw new TypeError("Cannot call a class as a function")}(this,A),this.name=t,this.defaultVal=r,this.triggerUpdate=o,this.onChange=l}));function S(A){var t=A.stateInit,e=void 0===t?function(){return{}}:t,n=A.props,r=void 0===n?{}:n,i=A.methods,o=void 0===i?{}:i,a=A.aliases,l=void 0===a?{}:a,u=A.init,s=void 0===u?function(){}:u,f=A.update,c=void 0===f?function(){}:f,h=Object.keys(r).map((function(A){return new E(A,r[A])}));return function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},e instanceof Function?e(A):e,{initialised:!1}),n={};function r(t){return i(t,A),a(),r}var i=function(A,e){s.call(r,A,t,e),t.initialised=!0},a=x((function(){t.initialised&&(c.call(r,t,n),n={})}),1);return h.forEach((function(A){r[A.name]=function(A){var e=A.name,i=A.triggerUpdate,o=void 0!==i&&i,l=A.onChange,u=void 0===l?function(A,t){}:l,s=A.defaultVal,f=void 0===s?null:s;return function(A){var i=t[e];if(!arguments.length)return i;var l=void 0===A?f:A;return t[e]=l,u.call(r,l,t,i),!n.hasOwnProperty(e)&&(n[e]=i),o&&a(),r}}(A)})),Object.keys(o).forEach((function(A){r[A]=function(){for(var e,n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return(e=o[A]).call.apply(e,[r,t].concat(i))}})),Object.entries(l).forEach((function(A){var t=M(A,2),e=t[0],n=t[1];return r[e]=r[n]})),r.resetProps=function(){return h.forEach((function(A){r[A.name](A.defaultVal)})),r},r.resetProps(),t._rerender=a,r}}var T,k={Linear:{None:function(A){return A}},Quadratic:{In:function(A){return A*A},Out:function(A){return A*(2-A)},InOut:function(A){return(A*=2)<1?.5*A*A:-.5*(--A*(A-2)-1)}},Cubic:{In:function(A){return A*A*A},Out:function(A){return--A*A*A+1},InOut:function(A){return(A*=2)<1?.5*A*A*A:.5*((A-=2)*A*A+2)}},Quartic:{In:function(A){return A*A*A*A},Out:function(A){return 1- --A*A*A*A},InOut:function(A){return(A*=2)<1?.5*A*A*A*A:-.5*((A-=2)*A*A*A-2)}},Quintic:{In:function(A){return A*A*A*A*A},Out:function(A){return--A*A*A*A*A+1},InOut:function(A){return(A*=2)<1?.5*A*A*A*A*A:.5*((A-=2)*A*A*A*A+2)}},Sinusoidal:{In:function(A){return 1-Math.cos(A*Math.PI/2)},Out:function(A){return Math.sin(A*Math.PI/2)},InOut:function(A){return.5*(1-Math.cos(Math.PI*A))}},Exponential:{In:function(A){return 0===A?0:Math.pow(1024,A-1)},Out:function(A){return 1===A?1:1-Math.pow(2,-10*A)},InOut:function(A){return 0===A?0:1===A?1:(A*=2)<1?.5*Math.pow(1024,A-1):.5*(2-Math.pow(2,-10*(A-1)))}},Circular:{In:function(A){return 1-Math.sqrt(1-A*A)},Out:function(A){return Math.sqrt(1- --A*A)},InOut:function(A){return(A*=2)<1?-.5*(Math.sqrt(1-A*A)-1):.5*(Math.sqrt(1-(A-=2)*A)+1)}},Elastic:{In:function(A){return 0===A?0:1===A?1:-Math.pow(2,10*(A-1))*Math.sin(5*(A-1.1)*Math.PI)},Out:function(A){return 0===A?0:1===A?1:Math.pow(2,-10*A)*Math.sin(5*(A-.1)*Math.PI)+1},InOut:function(A){return 0===A?0:1===A?1:(A*=2)<1?-.5*Math.pow(2,10*(A-1))*Math.sin(5*(A-1.1)*Math.PI):.5*Math.pow(2,-10*(A-1))*Math.sin(5*(A-1.1)*Math.PI)+1}},Back:{In:function(A){var t=1.70158;return A*A*((t+1)*A-t)},Out:function(A){var t=1.70158;return--A*A*((t+1)*A+t)+1},InOut:function(A){var t=2.5949095;return(A*=2)<1?A*A*((t+1)*A-t)*.5:.5*((A-=2)*A*((t+1)*A+t)+2)}},Bounce:{In:function(A){return 1-k.Bounce.Out(1-A)},Out:function(A){return A<1/2.75?7.5625*A*A:A<2/2.75?7.5625*(A-=1.5/2.75)*A+.75:A<2.5/2.75?7.5625*(A-=2.25/2.75)*A+.9375:7.5625*(A-=2.625/2.75)*A+.984375},InOut:function(A){return A<.5?.5*k.Bounce.In(2*A):.5*k.Bounce.Out(2*A-1)+.5}}},D="undefined"==typeof self&&"undefined"!=typeof process&&process.hrtime?function(){var A=process.hrtime();return 1e3*A[0]+A[1]/1e6}:"undefined"!=typeof self&&void 0!==self.performance&&void 0!==self.performance.now?self.performance.now.bind(self.performance):void 0!==Date.now?Date.now:function(){return(new Date).getTime()},C=function(){function A(){this._tweens={},this._tweensAddedDuringUpdate={}}return A.prototype.getAll=function(){var A=this;return Object.keys(this._tweens).map((function(t){return A._tweens[t]}))},A.prototype.removeAll=function(){this._tweens={}},A.prototype.add=function(A){this._tweens[A.getId()]=A,this._tweensAddedDuringUpdate[A.getId()]=A},A.prototype.remove=function(A){delete this._tweens[A.getId()],delete this._tweensAddedDuringUpdate[A.getId()]},A.prototype.update=function(A,t){void 0===A&&(A=D()),void 0===t&&(t=!1);var e=Object.keys(this._tweens);if(0===e.length)return!1;for(;e.length>0;){this._tweensAddedDuringUpdate={};for(var n=0;n<e.length;n++){var r=this._tweens[e[n]],i=!t;r&&!1===r.update(A,i)&&!t&&delete this._tweens[e[n]]}e=Object.keys(this._tweensAddedDuringUpdate)}return!0},A}(),O={Linear:function(A,t){var e=A.length-1,n=e*t,r=Math.floor(n),i=O.Utils.Linear;return t<0?i(A[0],A[1],n):t>1?i(A[e],A[e-1],e-n):i(A[r],A[r+1>e?e:r+1],n-r)},Bezier:function(A,t){for(var e=0,n=A.length-1,r=Math.pow,i=O.Utils.Bernstein,o=0;o<=n;o++)e+=r(1-t,n-o)*r(t,o)*A[o]*i(n,o);return e},CatmullRom:function(A,t){var e=A.length-1,n=e*t,r=Math.floor(n),i=O.Utils.CatmullRom;return A[0]===A[e]?(t<0&&(r=Math.floor(n=e*(1+t))),i(A[(r-1+e)%e],A[r],A[(r+1)%e],A[(r+2)%e],n-r)):t<0?A[0]-(i(A[0],A[0],A[1],A[1],-n)-A[0]):t>1?A[e]-(i(A[e],A[e],A[e-1],A[e-1],n-e)-A[e]):i(A[r?r-1:0],A[r],A[e<r+1?e:r+1],A[e<r+2?e:r+2],n-r)},Utils:{Linear:function(A,t,e){return(t-A)*e+A},Bernstein:function(A,t){var e=O.Utils.Factorial;return e(A)/e(t)/e(A-t)},Factorial:(T=[1],function(A){var t=1;if(T[A])return T[A];for(var e=A;e>1;e--)t*=e;return T[A]=t,t}),CatmullRom:function(A,t,e,n,r){var i=.5*(e-A),o=.5*(n-t),a=r*r;return(2*t-2*e+i+o)*(r*a)+(-3*t+3*e-2*i-o)*a+i*r+t}}},I=function(){function A(){}return A.nextId=function(){return A._nextId++},A._nextId=0,A}(),P=new C,Q=function(){function A(A,t){void 0===t&&(t=P),this._object=A,this._group=t,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=k.Linear.None,this._interpolationFunction=O.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=I.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return A.prototype.getId=function(){return this._id},A.prototype.isPlaying=function(){return this._isPlaying},A.prototype.isPaused=function(){return this._isPaused},A.prototype.to=function(A,t){return this._valuesEnd=Object.create(A),void 0!==t&&(this._duration=t),this},A.prototype.duration=function(A){return this._duration=A,this},A.prototype.start=function(A){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed)for(var t in this._reversed=!1,this._valuesStartRepeat)this._swapEndStartRepeatValues(t),this._valuesStart[t]=this._valuesStartRepeat[t];return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=void 0!==A?"string"==typeof A?D()+parseFloat(A):A:D(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},A.prototype._setupProperties=function(A,t,e,n){for(var r in e){var i=A[r],o=Array.isArray(i),a=o?"array":typeof i,l=!o&&Array.isArray(e[r]);if("undefined"!==a&&"function"!==a){if(l){var u=e[r];if(0===u.length)continue;u=u.map(this._handleRelativeValue.bind(this,i)),e[r]=[i].concat(u)}if("object"!==a&&!o||!i||l)void 0===t[r]&&(t[r]=i),o||(t[r]*=1),n[r]=l?e[r].slice().reverse():t[r]||0;else{for(var s in t[r]=o?[]:{},i)t[r][s]=i[s];n[r]=o?[]:{},this._setupProperties(i,t[r],e[r],n[r])}}}},A.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},A.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},A.prototype.pause=function(A){return void 0===A&&(A=D()),this._isPaused||!this._isPlaying||(this._isPaused=!0,this._pauseStart=A,this._group&&this._group.remove(this)),this},A.prototype.resume=function(A){return void 0===A&&(A=D()),this._isPaused&&this._isPlaying?(this._isPaused=!1,this._startTime+=A-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this):this},A.prototype.stopChainedTweens=function(){for(var A=0,t=this._chainedTweens.length;A<t;A++)this._chainedTweens[A].stop();return this},A.prototype.group=function(A){return this._group=A,this},A.prototype.delay=function(A){return this._delayTime=A,this},A.prototype.repeat=function(A){return this._initialRepeat=A,this._repeat=A,this},A.prototype.repeatDelay=function(A){return this._repeatDelayTime=A,this},A.prototype.yoyo=function(A){return this._yoyo=A,this},A.prototype.easing=function(A){return this._easingFunction=A,this},A.prototype.interpolation=function(A){return this._interpolationFunction=A,this},A.prototype.chain=function(){for(var A=[],t=0;t<arguments.length;t++)A[t]=arguments[t];return this._chainedTweens=A,this},A.prototype.onStart=function(A){return this._onStartCallback=A,this},A.prototype.onUpdate=function(A){return this._onUpdateCallback=A,this},A.prototype.onRepeat=function(A){return this._onRepeatCallback=A,this},A.prototype.onComplete=function(A){return this._onCompleteCallback=A,this},A.prototype.onStop=function(A){return this._onStopCallback=A,this},A.prototype.update=function(A,t){if(void 0===A&&(A=D()),void 0===t&&(t=!0),this._isPaused)return!0;var e,n,r=this._startTime+this._duration;if(!this._goToEnd&&!this._isPlaying){if(A>r)return!1;t&&this.start(A)}if(this._goToEnd=!1,A<this._startTime)return!0;!1===this._onStartCallbackFired&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),n=(A-this._startTime)/this._duration,n=0===this._duration||n>1?1:n;var i=this._easingFunction(n);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,i),this._onUpdateCallback&&this._onUpdateCallback(this._object,n),1===n){if(this._repeat>0){for(e in isFinite(this._repeat)&&this._repeat--,this._valuesStartRepeat)this._yoyo||"string"!=typeof this._valuesEnd[e]||(this._valuesStartRepeat[e]=this._valuesStartRepeat[e]+parseFloat(this._valuesEnd[e])),this._yoyo&&this._swapEndStartRepeatValues(e),this._valuesStart[e]=this._valuesStartRepeat[e];return this._yoyo&&(this._reversed=!this._reversed),void 0!==this._repeatDelayTime?this._startTime=A+this._repeatDelayTime:this._startTime=A+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var o=0,a=this._chainedTweens.length;o<a;o++)this._chainedTweens[o].start(this._startTime+this._duration);return this._isPlaying=!1,!1}return!0},A.prototype._updateProperties=function(A,t,e,n){for(var r in e)if(void 0!==t[r]){var i=t[r]||0,o=e[r],a=Array.isArray(A[r]),l=Array.isArray(o);!a&&l?A[r]=this._interpolationFunction(o,n):"object"==typeof o&&o?this._updateProperties(A[r],i,o,n):"number"==typeof(o=this._handleRelativeValue(i,o))&&(A[r]=i+(o-i)*n)}},A.prototype._handleRelativeValue=function(A,t){return"string"!=typeof t?t:"+"===t.charAt(0)||"-"===t.charAt(0)?A+parseFloat(t):parseFloat(t)},A.prototype._swapEndStartRepeatValues=function(A){var t=this._valuesStartRepeat[A],e=this._valuesEnd[A];this._valuesStartRepeat[A]="string"==typeof e?this._valuesStartRepeat[A]+parseFloat(e):this._valuesEnd[A],this._valuesEnd[A]=t},A}(),U=I.nextId,R=P,j=R.getAll.bind(R),F=R.removeAll.bind(R),G=R.add.bind(R),L=R.remove.bind(R),H=R.update.bind(R),z={Easing:k,Group:C,Interpolation:O,now:D,Sequence:I,nextId:U,Tween:Q,VERSION:"18.6.4",getAll:j,removeAll:F,add:G,remove:L,update:H},N=function A(t){t instanceof Array?t.forEach(A):(t.map&&t.map.dispose(),t.dispose())},V=function A(t){t.geometry&&t.geometry.dispose(),t.material&&N(t.material),t.texture&&t.texture.dispose(),t.children&&t.children.forEach(A)},Y=function(A){if(A&&A.children)for(;A.children.length;){var t=A.children[0];A.remove(t),V(t)}};function W(A,t){var e=new t;return{linkProp:function(t){return{default:e[t](),onChange:function(e,n){n[A][t](e)},triggerUpdate:!1}},linkMethod:function(t){return function(e){for(var n=e[A],r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];var a=n[t].apply(n,i);return a===n?this:a}}}}var Z=100;function J(){return Z}function X(A,t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=(90-A)*Math.PI/180,r=(90-t)*Math.PI/180,i=Z*(1+e);return{x:i*Math.sin(n)*Math.cos(r),y:i*Math.cos(n),z:i*Math.sin(n)*Math.sin(r)}}function K(A){var t=A.x,e=A.y,n=A.z,r=Math.sqrt(t*t+e*e+n*n),i=Math.acos(e/r),o=Math.atan2(n,t);return{lat:90-180*i/Math.PI,lng:90-180*o/Math.PI-(o<-Math.PI/2?360:0),altitude:r/Z-1}}var $={exports:{}};function AA(A,t,e){e=e||2;var n,r,i,o,a,l,u,s=t&&t.length,f=s?t[0]*e:A.length,c=tA(A,0,f,e,!0),h=[];if(!c||c.next===c.prev)return h;if(s&&(c=function(A,t,e,n){var r,i,o,a=[];for(r=0,i=t.length;r<i;r++)(o=tA(A,t[r]*n,r<i-1?t[r+1]*n:A.length,n,!1))===o.next&&(o.steiner=!0),a.push(cA(o));for(a.sort(lA),r=0;r<a.length;r++)e=eA(e=uA(a[r],e),e.next);return e}(A,t,c,e)),A.length>80*e){n=i=A[0],r=o=A[1];for(var d=e;d<f;d+=e)(a=A[d])<n&&(n=a),(l=A[d+1])<r&&(r=l),a>i&&(i=a),l>o&&(o=l);u=0!==(u=Math.max(i-n,o-r))?1/u:0}return nA(c,h,e,n,r,u),h}function tA(A,t,e,n,r){var i,o;if(r===MA(A,t,e,n)>0)for(i=t;i<e;i+=n)o=xA(i,A[i],A[i+1],o);else for(i=e-n;i>=t;i-=n)o=xA(i,A[i],A[i+1],o);return o&&pA(o,o.next)&&(wA(o),o=o.next),o}function eA(A,t){if(!A)return A;t||(t=A);var e,n=A;do{if(e=!1,n.steiner||!pA(n,n.next)&&0!==mA(n.prev,n,n.next))n=n.next;else{if(wA(n),(n=t=n.prev)===n.next)break;e=!0}}while(e||n!==t);return t}function nA(A,t,e,n,r,i,o){if(A){!o&&i&&function(A,t,e,n){var r=A;do{null===r.z&&(r.z=fA(r.x,r.y,t,e,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==A);r.prevZ.nextZ=null,r.prevZ=null,function(A){var t,e,n,r,i,o,a,l,u=1;do{for(e=A,A=null,i=null,o=0;e;){for(o++,n=e,a=0,t=0;t<u&&(a++,n=n.nextZ);t++);for(l=u;a>0||l>0&&n;)0!==a&&(0===l||!n||e.z<=n.z)?(r=e,e=e.nextZ,a--):(r=n,n=n.nextZ,l--),i?i.nextZ=r:A=r,r.prevZ=i,i=r;e=n}i.nextZ=null,u*=2}while(o>1)}(r)}(A,n,r,i);for(var a,l,u=A;A.prev!==A.next;)if(a=A.prev,l=A.next,i?iA(A,n,r,i):rA(A))t.push(a.i/e),t.push(A.i/e),t.push(l.i/e),wA(A),A=l.next,u=l.next;else if((A=l)===u){o?1===o?nA(A=oA(eA(A),t,e),t,e,n,r,i,2):2===o&&aA(A,t,e,n,r,i):nA(eA(A),t,e,n,r,i,1);break}}}function rA(A){var t=A.prev,e=A,n=A.next;if(mA(t,e,n)>=0)return!1;for(var r=A.next.next;r!==A.prev;){if(hA(t.x,t.y,e.x,e.y,n.x,n.y,r.x,r.y)&&mA(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function iA(A,t,e,n){var r=A.prev,i=A,o=A.next;if(mA(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,l=r.y<i.y?r.y<o.y?r.y:o.y:i.y<o.y?i.y:o.y,u=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,f=fA(a,l,t,e,n),c=fA(u,s,t,e,n),h=A.prevZ,d=A.nextZ;h&&h.z>=f&&d&&d.z<=c;){if(h!==A.prev&&h!==A.next&&hA(r.x,r.y,i.x,i.y,o.x,o.y,h.x,h.y)&&mA(h.prev,h,h.next)>=0)return!1;if(h=h.prevZ,d!==A.prev&&d!==A.next&&hA(r.x,r.y,i.x,i.y,o.x,o.y,d.x,d.y)&&mA(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;h&&h.z>=f;){if(h!==A.prev&&h!==A.next&&hA(r.x,r.y,i.x,i.y,o.x,o.y,h.x,h.y)&&mA(h.prev,h,h.next)>=0)return!1;h=h.prevZ}for(;d&&d.z<=c;){if(d!==A.prev&&d!==A.next&&hA(r.x,r.y,i.x,i.y,o.x,o.y,d.x,d.y)&&mA(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function oA(A,t,e){var n=A;do{var r=n.prev,i=n.next.next;!pA(r,i)&&gA(r,n,n.next,i)&&bA(r,i)&&bA(i,r)&&(t.push(r.i/e),t.push(n.i/e),t.push(i.i/e),wA(n),wA(n.next),n=A=i),n=n.next}while(n!==A);return eA(n)}function aA(A,t,e,n,r,i){var o=A;do{for(var a=o.next.next;a!==o.prev;){if(o.i!==a.i&&dA(o,a)){var l=qA(o,a);return o=eA(o,o.next),l=eA(l,l.next),nA(o,t,e,n,r,i),void nA(l,t,e,n,r,i)}a=a.next}o=o.next}while(o!==A)}function lA(A,t){return A.x-t.x}function uA(A,t){var e=function(A,t){var e,n=t,r=A.x,i=A.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}e=n.x<n.next.x?n:n.next}}n=n.next}while(n!==t);if(!e)return null;if(r===o)return e;var l,u=e,s=e.x,f=e.y,c=1/0;n=e;do{r>=n.x&&n.x>=s&&r!==n.x&&hA(i<f?r:o,i,s,f,i<f?o:r,i,n.x,n.y)&&(l=Math.abs(i-n.y)/(r-n.x),bA(n,A)&&(l<c||l===c&&(n.x>e.x||n.x===e.x&&sA(e,n)))&&(e=n,c=l)),n=n.next}while(n!==u);return e}(A,t);if(!e)return t;var n=qA(e,A),r=eA(e,e.next);return eA(n,n.next),t===e?r:t}function sA(A,t){return mA(A.prev,A,t.prev)<0&&mA(t.next,A,A.next)<0}function fA(A,t,e,n,r){return(A=1431655765&((A=858993459&((A=252645135&((A=16711935&((A=32767*(A-e)*r)|A<<8))|A<<4))|A<<2))|A<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*r)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function cA(A){var t=A,e=A;do{(t.x<e.x||t.x===e.x&&t.y<e.y)&&(e=t),t=t.next}while(t!==A);return e}function hA(A,t,e,n,r,i,o,a){return(r-o)*(t-a)-(A-o)*(i-a)>=0&&(A-o)*(n-a)-(e-o)*(t-a)>=0&&(e-o)*(i-a)-(r-o)*(n-a)>=0}function dA(A,t){return A.next.i!==t.i&&A.prev.i!==t.i&&!function(A,t){var e=A;do{if(e.i!==A.i&&e.next.i!==A.i&&e.i!==t.i&&e.next.i!==t.i&&gA(e,e.next,A,t))return!0;e=e.next}while(e!==A);return!1}(A,t)&&(bA(A,t)&&bA(t,A)&&function(A,t){var e=A,n=!1,r=(A.x+t.x)/2,i=(A.y+t.y)/2;do{e.y>i!=e.next.y>i&&e.next.y!==e.y&&r<(e.next.x-e.x)*(i-e.y)/(e.next.y-e.y)+e.x&&(n=!n),e=e.next}while(e!==A);return n}(A,t)&&(mA(A.prev,A,t.prev)||mA(A,t.prev,t))||pA(A,t)&&mA(A.prev,A,A.next)>0&&mA(t.prev,t,t.next)>0)}function mA(A,t,e){return(t.y-A.y)*(e.x-t.x)-(t.x-A.x)*(e.y-t.y)}function pA(A,t){return A.x===t.x&&A.y===t.y}function gA(A,t,e,n){var r=yA(mA(A,t,e)),i=yA(mA(A,t,n)),o=yA(mA(e,n,A)),a=yA(mA(e,n,t));return r!==i&&o!==a||(!(0!==r||!vA(A,e,t))||(!(0!==i||!vA(A,n,t))||(!(0!==o||!vA(e,A,n))||!(0!==a||!vA(e,t,n)))))}function vA(A,t,e){return t.x<=Math.max(A.x,e.x)&&t.x>=Math.min(A.x,e.x)&&t.y<=Math.max(A.y,e.y)&&t.y>=Math.min(A.y,e.y)}function yA(A){return A>0?1:A<0?-1:0}function bA(A,t){return mA(A.prev,A,A.next)<0?mA(A,t,A.next)>=0&&mA(A,A.prev,t)>=0:mA(A,t,A.prev)<0||mA(A,A.next,t)<0}function qA(A,t){var e=new _A(A.i,A.x,A.y),n=new _A(t.i,t.x,t.y),r=A.next,i=t.prev;return A.next=t,t.prev=A,e.next=r,r.prev=e,n.next=e,e.prev=n,i.next=n,n.prev=i,n}function xA(A,t,e,n){var r=new _A(A,t,e);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function wA(A){A.next.prev=A.prev,A.prev.next=A.next,A.prevZ&&(A.prevZ.nextZ=A.nextZ),A.nextZ&&(A.nextZ.prevZ=A.prevZ)}function _A(A,t,e){this.i=A,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function MA(A,t,e,n){for(var r=0,i=t,o=e-n;i<e;i+=n)r+=(A[o]-A[i])*(A[i+1]+A[o+1]),o=i;return r}function BA(A,t){return null==A||null==t?NaN:A<t?-1:A>t?1:A>=t?0:NaN}function EA(A,t){return null==A||null==t?NaN:t<A?-1:t>A?1:t>=A?0:NaN}function SA(A){let t,e,n;function r(A,n,r=0,i=A.length){if(r<i){if(0!==t(n,n))return i;do{const t=r+i>>>1;e(A[t],n)<0?r=t+1:i=t}while(r<i)}return r}return 2!==A.length?(t=BA,e=(t,e)=>BA(A(t),e),n=(t,e)=>A(t)-e):(t=A===BA||A===EA?A:TA,e=A,n=A),{left:r,center:function(A,t,e,i){const o=r(A,t,e,i-1);return o>e&&n(A[o-1],t)>-n(A[o],t)?o-1:o},right:function(A,n,r,i){if(r<i){if(0!==t(n,n))return i;do{const t=r+i>>>1;e(A[t],n)<=0?r=t+1:i=t}while(r<i)}return r}}}function TA(){return 0}$.exports=AA,$.exports.default=AA,AA.deviation=function(A,t,e,n){var r=t&&t.length,i=r?t[0]*e:A.length,o=Math.abs(MA(A,0,i,e));if(r)for(var a=0,l=t.length;a<l;a++){var u=t[a]*e,s=a<l-1?t[a+1]*e:A.length;o-=Math.abs(MA(A,u,s,e))}var f=0;for(a=0;a<n.length;a+=3){var c=n[a]*e,h=n[a+1]*e,d=n[a+2]*e;f+=Math.abs((A[c]-A[d])*(A[h+1]-A[c+1])-(A[c]-A[h])*(A[d+1]-A[c+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},AA.flatten=function(A){for(var t=A[0][0].length,e={vertices:[],holes:[],dimensions:t},n=0,r=0;r<A.length;r++){for(var i=0;i<A[r].length;i++)for(var o=0;o<t;o++)e.vertices.push(A[r][i][o]);r>0&&(n+=A[r-1].length,e.holes.push(n))}return e};const kA=SA(BA).right;function DA(A,t){let e,n;if(void 0===t)for(const t of A)null!=t&&(void 0===e?t>=t&&(e=n=t):(e>t&&(e=t),n<t&&(n=t)));else{let r=-1;for(let i of A)null!=(i=t(i,++r,A))&&(void 0===e?i>=i&&(e=n=i):(e>i&&(e=i),n<i&&(n=i)))}return[e,n]}SA((function(A){return null===A?NaN:+A})).center;class CA{constructor(){this._partials=new Float64Array(32),this._n=0}add(A){const t=this._partials;let e=0;for(let n=0;n<this._n&&n<32;n++){const r=t[n],i=A+r,o=Math.abs(A)<Math.abs(r)?A-(i-r):r-(i-A);o&&(t[e++]=o),A=i}return t[e]=A,this._n=e+1,this}valueOf(){const A=this._partials;let t,e,n,r=this._n,i=0;if(r>0){for(i=A[--r];r>0&&(t=i,e=A[--r],i=t+e,n=e-(i-t),!n););r>0&&(n<0&&A[r-1]<0||n>0&&A[r-1]>0)&&(e=2*n,t=i+e,e==t-i&&(i=t))}return i}}var OA=Math.sqrt(50),IA=Math.sqrt(10),PA=Math.sqrt(2);function QA(A,t,e){var n=(t-A)/Math.max(0,e),r=Math.floor(Math.log(n)/Math.LN10),i=n/Math.pow(10,r);return r>=0?(i>=OA?10:i>=IA?5:i>=PA?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(i>=OA?10:i>=IA?5:i>=PA?2:1)}function UA(A,t){let e=0,n=0;if(void 0===t)for(let t of A)null!=t&&(t=+t)>=t&&(++e,n+=t);else{let r=-1;for(let i of A)null!=(i=t(i,++r,A))&&(i=+i)>=i&&(++e,n+=i)}if(e)return n/e}function RA(A){return Array.from(function*(A){for(const t of A)yield*t}(A))}function jA(A,t,e){A=+A,t=+t,e=(r=arguments.length)<2?(t=A,A=0,1):r<3?1:+e;for(var n=-1,r=0|Math.max(0,Math.ceil((t-A)/e)),i=new Array(r);++n<r;)i[n]=A+n*e;return i}var FA=1e-6,GA=1e-12,LA=Math.PI,HA=LA/2,zA=LA/4,NA=2*LA,VA=180/LA,YA=LA/180,WA=Math.abs,ZA=Math.atan,JA=Math.atan2,XA=Math.cos,KA=Math.ceil,$A=Math.hypot,At=Math.sin,tt=Math.sign||function(A){return A>0?1:A<0?-1:0},et=Math.sqrt;function nt(A){return A>1?HA:A<-1?-HA:Math.asin(A)}function rt(A){return(A=At(A/2))*A}function it(){}function ot(A,t){A&<.hasOwnProperty(A.type)&<[A.type](A,t)}var at={Feature:function(A,t){ot(A.geometry,t)},FeatureCollection:function(A,t){for(var e=A.features,n=-1,r=e.length;++n<r;)ot(e[n].geometry,t)}},lt={Sphere:function(A,t){t.sphere()},Point:function(A,t){A=A.coordinates,t.point(A[0],A[1],A[2])},MultiPoint:function(A,t){for(var e=A.coordinates,n=-1,r=e.length;++n<r;)A=e[n],t.point(A[0],A[1],A[2])},LineString:function(A,t){ut(A.coordinates,t,0)},MultiLineString:function(A,t){for(var e=A.coordinates,n=-1,r=e.length;++n<r;)ut(e[n],t,0)},Polygon:function(A,t){st(A.coordinates,t)},MultiPolygon:function(A,t){for(var e=A.coordinates,n=-1,r=e.length;++n<r;)st(e[n],t)},GeometryCollection:function(A,t){for(var e=A.geometries,n=-1,r=e.length;++n<r;)ot(e[n],t)}};function ut(A,t,e){var n,r=-1,i=A.length-e;for(t.lineStart();++r<i;)n=A[r],t.point(n[0],n[1],n[2]);t.lineEnd()}function st(A,t){var e=-1,n=A.length;for(t.polygonStart();++e<n;)ut(A[e],t,1);t.polygonEnd()}function ft(A,t){A&&at.hasOwnProperty(A.type)?at[A.type](A,t):ot(A,t)}var ct,ht,dt,mt,pt,gt,vt,yt,bt,qt,xt,wt,_t,Mt,Bt,Et,St=new CA,Tt=new CA,kt={point:it,lineStart:it,lineEnd:it,polygonStart:function(){St=new CA,kt.lineStart=Dt,kt.lineEnd=Ct},polygonEnd:function(){var A=+St;Tt.add(A<0?NA+A:A),this.lineStart=this.lineEnd=this.point=it},sphere:function(){Tt.add(NA)}};function Dt(){kt.point=Ot}function Ct(){It(ct,ht)}function Ot(A,t){kt.point=It,ct=A,ht=t,dt=A*=YA,mt=XA(t=(t*=YA)/2+zA),pt=At(t)}function It(A,t){var e=(A*=YA)-dt,n=e>=0?1:-1,r=n*e,i=XA(t=(t*=YA)/2+zA),o=At(t),a=pt*o,l=mt*i+a*XA(r),u=a*n*At(r);St.add(JA(u,l)),dt=A,mt=i,pt=o}function Pt(A){return[JA(A[1],A[0]),nt(A[2])]}function Qt(A){var t=A[0],e=A[1],n=XA(e);return[n*XA(t),n*At(t),At(e)]}function Ut(A,t){return A[0]*t[0]+A[1]*t[1]+A[2]*t[2]}function Rt(A,t){return[A[1]*t[2]-A[2]*t[1],A[2]*t[0]-A[0]*t[2],A[0]*t[1]-A[1]*t[0]]}function jt(A,t){A[0]+=t[0],A[1]+=t[1],A[2]+=t[2]}function Ft(A,t){return[A[0]*t,A[1]*t,A[2]*t]}function Gt(A){var t=et(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]);A[0]/=t,A[1]/=t,A[2]/=t}var Lt,Ht,zt,Nt,Vt,Yt,Wt,Zt,Jt,Xt,Kt,$t,Ae,te,ee,ne,re={point:ie,lineStart:ae,lineEnd:le,polygonStart:function(){re.point=ue,re.lineStart=se,re.lineEnd=fe,Mt=new CA,kt.polygonStart()},polygonEnd:function(){kt.polygonEnd(),re.point=ie,re.lineStart=ae,re.lineEnd=le,St<0?(gt=-(yt=180),vt=-(bt=90)):Mt>FA?bt=90:Mt<-1e-6&&(vt=-90),Et[0]=gt,Et[1]=yt},sphere:function(){gt=-(yt=180),vt=-(bt=90)}};function ie(A,t){Bt.push(Et=[gt=A,yt=A]),t<vt&&(vt=t),t>bt&&(bt=t)}function oe(A,t){var e=Qt([A*YA,t*YA]);if(_t){var n=Rt(_t,e),r=Rt([n[1],-n[0],0],n);Gt(r),r=Pt(r);var i,o=A-qt,a=o>0?1:-1,l=r[0]*VA*a,u=WA(o)>180;u^(a*qt<l&&l<a*A)?(i=r[1]*VA)>bt&&(bt=i):u^(a*qt<(l=(l+360)%360-180)&&l<a*A)?(i=-r[1]*VA)<vt&&(vt=i):(t<vt&&(vt=t),t>bt&&(bt=t)),u?A<qt?ce(gt,A)>ce(gt,yt)&&(yt=A):ce(A,yt)>ce(gt,yt)&&(gt=A):yt>=gt?(A<gt&&(gt=A),A>yt&&(yt=A)):A>qt?ce(gt,A)>ce(gt,yt)&&(yt=A):ce(A,yt)>ce(gt,yt)&&(gt=A)}else Bt.push(Et=[gt=A,yt=A]);t<vt&&(vt=t),t>bt&&(bt=t),_t=e,qt=A}function ae(){re.point=oe}function le(){Et[0]=gt,Et[1]=yt,re.point=ie,_t=null}function ue(A,t){if(_t){var e=A-qt;Mt.add(WA(e)>180?e+(e>0?360:-360):e)}else xt=A,wt=t;kt.point(A,t),oe(A,t)}function se(){kt.lineStart()}function fe(){ue(xt,wt),kt.lineEnd(),WA(Mt)>FA&&(gt=-(yt=180)),Et[0]=gt,Et[1]=yt,_t=null}function ce(A,t){return(t-=A)<0?t+360:t}function he(A,t){return A[0]-t[0]}function de(A,t){return A[0]<=A[1]?A[0]<=t&&t<=A[1]:t<A[0]||A[1]<t}function me(A){var t,e,n,r,i,o,a;if(bt=yt=-(gt=vt=1/0),Bt=[],ft(A,re),e=Bt.length){for(Bt.sort(he),t=1,i=[n=Bt[0]];t<e;++t)de(n,(r=Bt[t])[0])||de(n,r[1])?(ce(n[0],r[1])>ce(n[0],n[1])&&(n[1]=r[1]),ce(r[0],n[1])>ce(n[0],n[1])&&(n[0]=r[0])):i.push(n=r);for(o=-1/0,t=0,n=i[e=i.length-1];t<=e;n=r,++t)r=i[t],(a=ce(n[1],r[0]))>o&&(o=a,gt=r[0],yt=n[1])}return Bt=Et=null,gt===1/0||vt===1/0?[[NaN,NaN],[NaN,NaN]]:[[gt,vt],[yt,bt]]}var pe={sphere:it,point:ge,lineStart:ye,lineEnd:xe,polygonStart:function(){pe.lineStart=we,pe.lineEnd=_e},polygonEnd:function(){pe.lineStart=ye,pe.lineEnd=xe}};function ge(A,t){A*=YA;var e=XA(t*=YA);ve(e*XA(A),e*At(A),At(t))}function ve(A,t,e){++Lt,zt+=(A-zt)/Lt,Nt+=(t-Nt)/Lt,Vt+=(e-Vt)/Lt}function ye(){pe.point=be}function be(A,t){A*=YA;var e=XA(t*=YA);te=e*XA(A),ee=e*At(A),ne=At(t),pe.point=qe,ve(te,ee,ne)}function qe(A,t){A*=YA;var e=XA(t*=YA),n=e*XA(A),r=e*At(A),i=At(t),o=JA(et((o=ee*i-ne*r)*o+(o=ne*n-te*i)*o+(o=te*r-ee*n)*o),te*n+ee*r+ne*i);Ht+=o,Yt+=o*(te+(te=n)),Wt+=o*(ee+(ee=r)),Zt+=o*(ne+(ne=i)),ve(te,ee,ne)}function xe(){pe.point=ge}function we(){pe.point=Me}function _e(){Be($t,Ae),pe.point=ge}function Me(A,t){$t=A,Ae=t,A*=YA,t*=YA,pe.point=Be;var e=XA(t);te=e*XA(A),ee=e*At(A),ne=At(t),ve(te,ee,ne)}function Be(A,t){A*=YA;var e=XA(t*=YA),n=e*XA(A),r=e*At(A),i=At(t),o=ee*i-ne*r,a=ne*n-te*i,l=te*r-ee*n,u=$A(o,a,l),s=nt(u),f=u&&-s/u;Jt.add(f*o),Xt.add(f*a),Kt.add(f*l),Ht+=s,Yt+=s*(te+(te=n)),Wt+=s*(ee+(ee=r)),Zt+=s*(ne+(ne=i)),ve(te,ee,ne)}function Ee(A){Lt=Ht=zt=Nt=Vt=Yt=Wt=Zt=0,Jt=new CA,Xt=new CA,Kt=new CA,ft(A,pe);var t=+Jt,e=+Xt,n=+Kt,r=$A(t,e,n);return r<GA&&(t=Yt,e=Wt,n=Zt,Ht<FA&&(t=zt,e=Nt,n=Vt),(r=$A(t,e,n))<GA)?[NaN,NaN]:[JA(e,t)*VA,nt(n/r)*VA]}function Se(A,t){function e(e,n){return e=A(e,n),t(e[0],e[1])}return A.invert&&t.invert&&(e.invert=function(e,n){return(e=t.invert(e,n))&&A.invert(e[0],e[1])}),e}function Te(A,t){return[WA(A)>LA?A+Math.round(-A/NA)*NA:A,t]}function ke(A,t,e){return(A%=NA)?t||e?Se(Ce(A),Oe(t,e)):Ce(A):t||e?Oe(t,e):Te}function De(A){return function(t,e){return[(t+=A)>LA?t-NA:t<-LA?t+NA:t,e]}}function Ce(A){var t=De(A);return t.invert=De(-A),t}function Oe(A,t){var e=XA(A),n=At(A),r=XA(t),i=At(t);function o(A,t){var o=XA(t),a=XA(A)*o,l=At(A)*o,u=At(t),s=u*e+a*n;return[JA(l*r-s*i,a*e-u*n),nt(s*r+l*i)]}return o.invert=function(A,t){var o=XA(t),a=XA(A)*o,l=At(A)*o,u=At(t),s=u*r-l*i;return[JA(l*r+u*i,a*e+s*n),nt(s*e-a*n)]},o}function Ie(A,t){(t=Qt(t))[0]-=A,Gt(t);var e,n=(e=-t[1])>1?0:e<-1?LA:Math.acos(e);return((-t[2]<0?-n:n)+NA-FA)%NA}function Pe(){var A,t=[];return{point:function(t,e,n){A.push([t,e,n])},lineStart:function(){t.push(A=[])},lineEnd:it,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var e=t;return t=[],A=null,e}}}function Qe(A,t){return WA(A[0]-t[0])<FA&&WA(A[1]-t[1])<FA}function Ue(A,t,e,n){this.x=A,this.z=t,this.o=e,this.e=n,this.v=!1,this.n=this.p=null}function Re(A,t,e,n,r){var i,o,a=[],l=[];if(A.forEach((function(A){if(!((t=A.length-1)<=0)){var t,e,n=A[0],o=A[t];if(Qe(n,o)){if(!n[2]&&!o[2]){for(r.lineStart(),i=0;i<t;++i)r.point((n=A[i])[0],n[1]);return void r.lineEnd()}o[0]+=2e-6}a.push(e=new Ue(n,A,null,!0)),l.push(e.o=new Ue(n,null,e,!1)),a.push(e=new Ue(o,A,null,!1)),l.push(e.o=new Ue(o,null,e,!0))}})),a.length){for(l.sort(t),je(a),je(l),i=0,o=l.length;i<o;++i)l[i].e=e=!e;for(var u,s,f=a[0];;){for(var c=f,h=!0;c.v;)if((c=c.n)===f)return;u=c.z,r.lineStart();do{if(c.v=c.o.v=!0,c.e){if(h)for(i=0,o=u.length;i<o;++i)r.point((s=u[i])[0],s[1]);else n(c.x,c.n.x,1,r);c=c.n}else{if(h)for(u=c.p.z,i=u.length-1;i>=0;--i)r.point((s=u[i])[0],s[1]);else n(c.x,c.p.x,-1,r);c=c.p}u=(c=c.o).z,h=!h}while(!c.v);r.lineEnd()}}}function je(A){if(t=A.length){for(var t,e,n=0,r=A[0];++n<t;)r.n=e=A[n],e.p=r,r=e;r.n=e=A[0],e.p=r}}function Fe(A){return WA(A[0])<=LA?A[0]:tt(A[0])*((WA(A[0])+LA)%NA-LA)}function Ge(A,t){var e=Fe(t),n=t[1],r=At(n),i=[At(e),-XA(e),0],o=0,a=0,l=new CA;1===r?n=HA+FA:-1===r&&(n=-HA-FA);for(var u=0,s=A.length;u<s;++u)if(c=(f=A[u]).length)for(var f,c,h=f[c-1],d=Fe(h),m=h[1]/2+zA,p=At(m),g=XA(m),v=0;v<c;++v,d=b,p=x,g=w,h=y){var y=f[v],b=Fe(y),q=y[1]/2+zA,x=At(q),w=XA(q),_=b-d,M=_>=0?1:-1,B=M*_,E=B>LA,S=p*x;if(l.add(JA(S*M*At(B),g*w+S*XA(B))),o+=E?_+M*NA:_,E^d>=e^b>=e){var T=Rt(Qt(h),Qt(y));Gt(T);var k=Rt(i,T);Gt(k);var D=(E^_>=0?-1:1)*nt(k[2]);(n>D||n===D&&(T[0]||T[1]))&&(a+=E^_>=0?1:-1)}}return(o<-1e-6||o<FA&&l<-1e-12)^1&a}function Le(A,t,e,n){return function(r){var i,o,a,l=t(r),u=Pe(),s=t(u),f=!1,c={point:h,lineStart:m,lineEnd:p,polygonStart:function(){c.point=g,c.lineStart=v,c.lineEnd=y,o=[],i=[]},polygonEnd:function(){c.point=h,c.lineStart=m,c.lineEnd=p,o=RA(o);var A=Ge(i,n);o.length?(f||(r.polygonStart(),f=!0),Re(o,ze,A,e,r)):A&&(f||(r.polygonStart(),f=!0),r.lineStart(),e(null,null,1,r),r.lineEnd()),f&&(r.polygonEnd(),f=!1),o=i=null},sphere:function(){r.polygonStart(),r.lineStart(),e(null,null,1,r),r.lineEnd(),r.polygonEnd()}};function h(t,e){A(t,e)&&r.point(t,e)}function d(A,t){l.point(A,t)}function m(){c.point=d,l.lineStart()}function p(){c.point=h,l.lineEnd()}function g(A,t){a.push([A,t]),s.point(A,t)}function v(){s.lineStart(),a=[]}function y(){g(a[0][0],a[0][1]),s.lineEnd();var A,t,e,n,l=s.clean(),c=u.result(),h=c.length;if(a.pop(),i.push(a),a=null,h)if(1&l){if((t=(e=c[0]).length-1)>0){for(f||(r.polygonStart(),f=!0),r.lineStart(),A=0;A<t;++A)r.point((n=e[A])[0],n[1]);r.lineEnd()}}else h>1&&2&l&&c.push(c.pop().concat(c.shift())),o.push(c.filter(He))}return c}}function He(A){return A.length>1}function ze(A,t){return((A=A.x)[0]<0?A[1]-HA-FA:HA-A[1])-((t=t.x)[0]<0?t[1]-HA-FA:HA-t[1])}Te.invert=Te;var Ne=Le((function(){return!0}),(function(A){var t,e=NaN,n=NaN,r=NaN;return{lineStart:function(){A.lineStart(),t=1},point:function(i,o){var a=i>0?LA:-LA,l=WA(i-e);WA(l-LA)<FA?(A.point(e,n=(n+o)/2>0?HA:-HA),A.point(r,n),A.lineEnd(),A.lineStart(),A.point(a,n),A.point(i,n),t=0):r!==a&&l>=LA&&(WA(e-r)<FA&&(e-=r*FA),WA(i-a)<FA&&(i-=a*FA),n=function(A,t,e,n){var r,i,o=At(A-e);return WA(o)>FA?ZA((At(t)*(i=XA(n))*At(e)-At(n)*(r=XA(t))*At(A))/(r*i*o)):(t+n)/2}(e,n,i,o),A.point(r,n),A.lineEnd(),A.lineStart(),A.point(a,n),t=0),A.point(e=i,n=o),r=a},lineEnd:function(){A.lineEnd(),e=n=NaN},clean:function(){return 2-t}}}),(function(A,t,e,n){var r;if(null==A)r=e*HA,n.point(-LA,r),n.point(0,r),n.point(LA,r),n.point(LA,0),n.point(LA,-r),n.point(0,-r),n.point(-LA,-r),n.point(-LA,0),n.point(-LA,r);else if(WA(A[0]-t[0])>FA){var i=A[0]<t[0]?LA:-LA;r=e*i/2,n.point(-i,r),n.point(0,r),n.point(i,r)}else n.point(t[0],t[1])}),[-LA,-HA]);function Ve(A){var t=XA(A),e=6*YA,n=t>0,r=WA(t)>FA;function i(A,e){return XA(A)*XA(e)>t}function o(A,e,n){var r=[1,0,0],i=Rt(Qt(A),Qt(e)),o=Ut(i,i),a=i[0],l=o-a*a;if(!l)return!n&&A;var u=t*o/l,s=-t*a/l,f=Rt(r,i),c=Ft(r,u);jt(c,Ft(i,s));var h=f,d=Ut(c,h),m=Ut(h,h),p=d*d-m*(Ut(c,c)-1);if(!(p<0)){var g=et(p),v=Ft(h,(-d-g)/m);if(jt(v,c),v=Pt(v),!n)return v;var y,b=A[0],q=e[0],x=A[1],w=e[1];q<b&&(y=b,b=q,q=y);var _=q-b,M=WA(_-LA)<FA;if(!M&&w<x&&(y=x,x=w,w=y),M||_<FA?M?x+w>0^v[1]<(WA(v[0]-b)<FA?x:w):x<=v[1]&&v[1]<=w:_>LA^(b<=v[0]&&v[0]<=q)){var B=Ft(h,(-d+g)/m);return jt(B,c),[v,Pt(B)]}}}function a(t,e){var r=n?A:LA-A,i=0;return t<-r?i|=1:t>r&&(i|=2),e<-r?i|=4:e>r&&(i|=8),i}return Le(i,(function(A){var t,e,l,u,s;return{lineStart:function(){u=l=!1,s=1},point:function(f,c){var h,d=[f,c],m=i(f,c),p=n?m?0:a(f,c):m?a(f+(f<0?LA:-LA),c):0;if(!t&&(u=l=m)&&A.lineStart(),m!==l&&(!(h=o(t,d))||Qe(t,h)||Qe(d,h))&&(d[2]=1),m!==l)s=0,m?(A.lineStart(),h=o(d,t),A.point(h[0],h[1])):(h=o(t,d),A.point(h[0],h[1],2),A.lineEnd()),t=h;else if(r&&t&&n^m){var g;p&e||!(g=o(d,t,!0))||(s=0,n?(A.lineStart(),A.point(g[0][0],g[0][1]),A.point(g[1][0],g[1][1]),A.lineEnd()):(A.point(g[1][0],g[1][1]),A.lineEnd(),A.lineStart(),A.point(g[0][0],g[0][1],3)))}!m||t&&Qe(t,d)||A.point(d[0],d[1]),t=d,l=m,e=p},lineEnd:function(){l&&A.lineEnd(),t=null},clean:function(){return s|(u&&l)<<1}}}),(function(t,n,r,i){!function(A,t,e,n,r,i){if(e){var o=XA(t),a=At(t),l=n*e;null==r?(r=t+n*NA,i=t-l/2):(r=Ie(o,r),i=Ie(o,i),(n>0?r<i:r>i)&&(r+=n*NA));for(var u,s=r;n>0?s>i:s<i;s-=l)u=Pt([o,-a*XA(s),-a*At(s)]),A.point(u[0],u[1])}}(i,A,e,r,t,n)}),n?[0,-A]:[-LA,A-LA])}var Ye,We,Ze,Je,Xe=1e9,Ke=-Xe;function $e(A,t,e,n){function r(r,i){return A<=r&&r<=e&&t<=i&&i<=n}function i(r,i,a,u){var s=0,f=0;if(null==r||(s=o(r,a))!==(f=o(i,a))||l(r,i)<0^a>0)do{u.point(0===s||3===s?A:e,s>1?n:t)}while((s=(s+a+4)%4)!==f);else u.point(i[0],i[1])}function o(n,r){return WA(n[0]-A)<FA?r>0?0:3:WA(n[0]-e)<FA?r>0?2:1:WA(n[1]-t)<FA?r>0?1:0:r>0?3:2}function a(A,t){return l(A.x,t.x)}function l(A,t){var e=o(A,1),n=o(t,1);return e!==n?e-n:0===e?t[1]-A[1]:1===e?A[0]-t[0]:2===e?A[1]-t[1]:t[0]-A[0]}return function(o){var l,u,s,f,c,h,d,m,p,g,v,y=o,b=Pe(),q={point:x,lineStart:function(){q.point=w,u&&u.push(s=[]);g=!0,p=!1,d=m=NaN},lineEnd:function(){l&&(w(f,c),h&&p&&b.rejoin(),l.push(b.result()));q.point=x,p&&y.lineEnd()},polygonStart:function(){y=b,l=[],u=[],v=!0},polygonEnd:function(){var t=function(){for(var t=0,e=0,r=u.length;e<r;++e)for(var i,o,a=u[e],l=1,s=a.length,f=a[0],c=f[0],h=f[1];l<s;++l)i=c,o=h,c=(f=a[l])[0],h=f[1],o<=n?h>n&&(c-i)*(n-o)>(h-o)*(A-i)&&++t:h<=n&&(c-i)*(n-o)<(h-o)*(A-i)&&--t;return t}(),e=v&&t,r=(l=RA(l)).length;(e||r)&&(o.polygonStart(),e&&(o.lineStart(),i(null,null,1,o),o.lineEnd()),r&&Re(l,a,t,i,o),o.polygonEnd());y=o,l=u=s=null}};function x(A,t){r(A,t)&&y.point(A,t)}function w(i,o){var a=r(i,o);if(u&&s.push([i,o]),g)f=i,c=o,h=a,g=!1,a&&(y.lineStart(),y.point(i,o));else if(a&&p)y.point(i,o);else{var l=[d=Math.max(Ke,Math.min(Xe,d)),m=Math.max(Ke,Math.min(Xe,m))],b=[i=Math.max(Ke,Math.min(Xe,i)),o=Math.max(Ke,Math.min(Xe,o))];!function(A,t,e,n,r,i){var o,a=A[0],l=A[1],u=0,s=1,f=t[0]-a,c=t[1]-l;if(o=e-a,f||!(o>0)){if(o/=f,f<0){if(o<u)return;o<s&&(s=o)}else if(f>0){if(o>s)return;o>u&&(u=o)}if(o=r-a,f||!(o<0)){if(o/=f,f<0){if(o>s)return;o>u&&(u=o)}else if(f>0){if(o<u)return;o<s&&(s=o)}if(o=n-l,c||!(o>0)){if(o/=c,c<0){if(o<u)return;o<s&&(s=o)}else if(c>0){if(o>s)return;o>u&&(u=o)}if(o=i-l,c||!(o<0)){if(o/=c,c<0){if(o>s)return;o>u&&(u=o)}else if(c>0){if(o<u)return;o<s&&(s=o)}return u>0&&(A[0]=a+u*f,A[1]=l+u*c),s<1&&(t[0]=a+s*f,t[1]=l+s*c),!0}}}}}(l,b,A,t,e,n)?a&&(y.lineStart(),y.point(i,o),v=!1):(p||(y.lineStart(),y.point(l[0],l[1])),y.point(b[0],b[1]),a||y.lineEnd(),v=!1)}d=i,m=o,p=a}return q}}var An={sphere:it,point:it,lineStart:function(){An.point=en,An.lineEnd=tn},lineEnd:it,polygonStart:it,polygonEnd:it};function tn(){An.point=An.lineEnd=it}function en(A,t){We=A*=YA,Ze=At(t*=YA),Je=XA(t),An.point=nn}function nn(A,t){A*=YA;var e=At(t*=YA),n=XA(t),r=WA(A-We),i=XA(r),o=n*At(r),a=Je*e-Ze*n*i,l=Ze*e+Je*n*i;Ye.add(JA(et(o*o+a*a),l)),We=A,Ze=e,Je=n}var rn=[null,null],on={type:"LineString",coordinates:rn};function an(A,t){return rn[0]=A,rn[1]=t,function(A){return Ye=new CA,ft(A,An),+Ye}(on)}var ln={Feature:function(A,t){return sn(A.geometry,t)},FeatureCollection:function(A,t){for(var e=A.features,n=-1,r=e.length;++n<r;)if(sn(e[n].geometry,t))return!0;return!1}},un={Sphere:function(){return!0},Point:function(A,t){return fn(A.coordinates,t)},MultiPoint:function(A,t){for(var e=A.coordinates,n=-1,r=e.length;++n<r;)if(fn(e[n],t))return!0;return!1},LineString:function(A,t){return cn(A.coordinates,t)},MultiLineString:function(A,t){for(var e=A.coordinates,n=-1,r=e.length;++n<r;)if(cn(e[n],t))return!0;return!1},Polygon:function(A,t){return hn(A.coordinates,t)},MultiPolygon:function(A,t){for(var e=A.coordinates,n=-1,r=e.length;++n<r;)if(hn(e[n],t))return!0;return!1},GeometryCollection:function(A,t){for(var e=A.geometries,n=-1,r=e.length;++n<r;)if(sn(e[n],t))return!0;return!1}};function sn(A,t){return!(!A||!un.hasOwnProperty(A.type))&&un[A.type](A,t)}function fn(A,t){return 0===an(A,t)}function cn(A,t){for(var e,n,r,i=0,o=A.length;i<o;i++){if(0===(n=an(A[i],t)))return!0;if(i>0&&(r=an(A[i],A[i-1]))>0&&e<=r&&n<=r&&(e+n-r)*(1-Math.pow((e-n)/r,2))<GA*r)return!0;e=n}return!1}function hn(A,t){return!!Ge(A.map(dn),mn(t))}function dn(A){return(A=A.map(mn)).pop(),A}function mn(A){return[A[0]*YA,A[1]*YA]}function pn(A,t){return(A&&ln.hasOwnProperty(A.type)?ln[A.type]:sn)(A,t)}function gn(A,t,e){var n=jA(A,t-FA,e).concat(t);return function(A){return n.map((function(t){return[A,t]}))}}function vn(A,t,e){var n=jA(A,t-FA,e).concat(t);return function(A){return n.map((function(t){return[t,A]}))}}function yn(){return function(){var A,t,e,n,r,i,o,a,l,u,s,f,c=10,h=c,d=90,m=360,p=2.5;function g(){return{type:"MultiLineString",coordinates:v()}}function v(){return jA(KA(n/d)*d,e,d).map(s).concat(jA(KA(a/m)*m,o,m).map(f)).concat(jA(KA(t/c)*c,A,c).filter((function(A){return WA(A%d)>FA})).map(l)).concat(jA(KA(i/h)*h,r,h).filter((function(A){return WA(A%m)>FA})).map(u))}return g.lines=function(){return v().map((function(A){return{type:"LineString",coordinates:A}}))},g.outline=function(){return{type:"Polygon",coordinates:[s(n).concat(f(o).slice(1),s(e).reverse().slice(1),f(a).reverse().slice(1))]}},g.extent=function(A){return arguments.length?g.extentMajor(A).extentMinor(A):g.extentMinor()},g.extentMajor=function(A){return arguments.length?(n=+A[0][0],e=+A[1][0],a=+A[0][1],o=+A[1][1],n>e&&(A=n,n=e,e=A),a>o&&(A=a,a=o,o=A),g.precision(p)):[[n,a],[e,o]]},g.extentMinor=function(e){return arguments.length?(t=+e[0][0],A=+e[1][0],i=+e[0][1],r=+e[1][1],t>A&&(e=t,t=A,A=e),i>r&&(e=i,i=r,r=e),g.precision(p)):[[t,i],[A,r]]},g.step=function(A){return arguments.length?g.stepMajor(A).stepMinor(A):g.stepMinor()},g.stepMajor=function(A){return arguments.length?(d=+A[0],m=+A[1],g):[d,m]},g.stepMinor=function(A){return arguments.length?(c=+A[0],h=+A[1],g):[c,h]},g.precision=function(c){return arguments.length?(p=+c,l=gn(i,r,90),u=vn(t,A,p),s=gn(a,o,90),f=vn(n,e,p),g):p},g.extentMajor([[-180,-89.999999],[180,89.999999]]).extentMinor([[-180,-80.000001],[180,80.000001]])}()()}function bn(A,t){var e=A[0]*YA,n=A[1]*YA,r=t[0]*YA,i=t[1]*YA,o=XA(n),a=At(n),l=XA(i),u=At(i),s=o*XA(e),f=o*At(e),c=l*XA(r),h=l*At(r),d=2*nt(et(rt(i-n)+o*l*rt(r-e))),m=At(d),p=d?function(A){var t=At(A*=d)/m,e=At(d-A)/m,n=e*s+t*c,r=e*f+t*h,i=e*a+t*u;return[JA(r,n)*VA,JA(i,et(n*n+r*r))*VA]}:function(){return[e*VA,n*VA]};return p.distance=d,p}var qn=A=>A;new CA,new CA;var xn=1/0,wn=xn,_n=-xn,Mn=_n,Bn={point:function(A,t){A<xn&&(xn=A);A>_n&&(_n=A);t<wn&&(wn=t);t>Mn&&(Mn=t)},lineStart:it,lineEnd:it,polygonStart:it,polygonEnd:it,result:function(){var A=[[xn,wn],[_n,Mn]];return _n=Mn=-(wn=xn=1/0),A}};function En(A){return function(t){var e=new Sn;for(var n in A)e[n]=A[n];return e.stream=t,e}}function Sn(){}function Tn(A,t,e){var n=A.clipExtent&&A.clipExtent();return A.scale(150).translate([0,0]),null!=n&&A.clipExtent(null),ft(e,A.stream(Bn)),t(Bn.result()),null!=n&&A.clipExtent(n),A}function kn(A,t,e){return Tn(A,(function(e){var n=t[1][0]-t[0][0],r=t[1][1]-t[0][1],i=Math.min(n/(e[1][0]-e[0][0]),r/(e[1][1]-e[0][1])),o=+t[0][0]+(n-i*(e[1][0]+e[0][0]))/2,a=+t[0][1]+(r-i*(e[1][1]+e[0][1]))/2;A.scale(150*i).translate([o,a])}),e)}new CA,Sn.prototype={constructor:Sn,point:function(A,t){this.stream.point(A,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 Dn=XA(30*YA);function Cn(A,t){return+t?function(A,t){function e(n,r,i,o,a,l,u,s,f,c,h,d,m,p){var g=u-n,v=s-r,y=g*g+v*v;if(y>4*t&&m--){var b=o+c,q=a+h,x=l+d,w=et(b*b+q*q+x*x),_=nt(x/=w),M=WA(WA(x)-1)<FA||WA(i-f)<FA?(i+f)/2:JA(q,b),B=A(M,_),E=B[0],S=B[1],T=E-n,k=S-r,D=v*T-g*k;(D*D/y>t||WA((g*T+v*k)/y-.5)>.3||o*c+a*h+l*d<Dn)&&(e(n,r,i,o,a,l,E,S,M,b/=w,q/=w,x,m,p),p.point(E,S),e(E,S,M,b,q,x,u,s,f,c,h,d,m,p))}}return function(t){var n,r,i,o,a,l,u,s,f,c,h,d,m={point:p,lineStart:g,lineEnd:y,polygonStart:function(){t.polygonStart(),m.lineStart=b},polygonEnd:function(){t.polygonEnd(),m.lineStart=g}};function p(e,n){e=A(e,n),t.point(e[0],e[1])}function g(){s=NaN,m.point=v,t.lineStart()}function v(n,r){var i=Qt([n,r]),o=A(n,r);e(s,f,u,c,h,d,s=o[0],f=o[1],u=n,c=i[0],h=i[1],d=i[2],16,t),t.point(s,f)}function y(){m.point=p,t.lineEnd()}function b(){g(),m.point=q,m.lineEnd=x}function q(A,t){v(n=A,t),r=s,i=f,o=c,a=h,l=d,m.point=v}function x(){e(s,f,u,c,h,d,r,i,n,o,a,l,16,t),m.lineEnd=y,y()}return m}}(A,t):function(A){return En({point:function(t,e){t=A(t,e),this.stream.point(t[0],t[1])}})}(A)}var On=En({point:function(A,t){this.stream.point(A*YA,t*YA)}});function In(A,t,e,n,r,i){if(!i)return function(A,t,e,n,r){function i(i,o){return[t+A*(i*=n),e-A*(o*=r)]}return i.invert=function(i,o){return[(i-t)/A*n,(e-o)/A*r]},i}(A,t,e,n,r);var o=XA(i),a=At(i),l=o*A,u=a*A,s=o/A,f=a/A,c=(a*e-o*t)/A,h=(a*t+o*e)/A;function d(A,i){return[l*(A*=n)-u*(i*=r)+t,e-u*A-l*i]}return d.invert=function(A,t){return[n*(s*A-f*t+c),r*(h-f*A-s*t)]},d}function Pn(A){return function(A){var t,e,n,r,i,o,a,l,u,s,f=150,c=480,h=250,d=0,m=0,p=0,g=0,v=0,y=0,b=1,q=1,x=null,w=Ne,_=null,M=qn,B=.5;function E(A){return l(A[0]*YA,A[1]*YA)}function S(A){return(A=l.invert(A[0],A[1]))&&[A[0]*VA,A[1]*VA]}function T(){var A=In(f,0,0,b,q,y).apply(null,t(d,m)),n=In(f,c-A[0],h-A[1],b,q,y);return e=ke(p,g,v),a=Se(t,n),l=Se(e,a),o=Cn(a,B),k()}function k(){return u=s=null,E}return E.stream=function(A){return u&&s===A?u:u=On(function(A){return En({point:function(t,e){var n=A(t,e);return this.stream.point(n[0],n[1])}})}(e)(w(o(M(s=A)))))},E.preclip=function(A){return arguments.length?(w=A,x=void 0,k()):w},E.postclip=function(A){return arguments.length?(M=A,_=n=r=i=null,k()):M},E.clipAngle=function(A){return arguments.length?(w=+A?Ve(x=A*YA):(x=null,Ne),k()):x*VA},E.clipExtent=function(A){return arguments.length?(M=null==A?(_=n=r=i=null,qn):$e(_=+A[0][0],n=+A[0][1],r=+A[1][0],i=+A[1][1]),k()):null==_?null:[[_,n],[r,i]]},E.scale=function(A){return arguments.length?(f=+A,T()):f},E.translate=function(A){return arguments.length?(c=+A[0],h=+A[1],T()):[c,h]},E.center=function(A){return arguments.length?(d=A[0]%360*YA,m=A[1]%360*YA,T()):[d*VA,m*VA]},E.rotate=function(A){return arguments.length?(p=A[0]%360*YA,g=A[1]%360*YA,v=A.length>2?A[2]%360*YA:0,T()):[p*VA,g*VA,v*VA]},E.angle=function(A){return arguments.length?(y=A%360*YA,T()):y*VA},E.reflectX=function(A){return arguments.length?(b=A?-1